今日はJavaライブラリの中でも非常に基本的でよく使われるメソッド、System.currentTimeMillis()を見ていきましょう。 このメソッドはミリ秒単位の精度で現在時刻を知らせます。このことから、このメソッ […]

はじめに cpumasksは、Linuxカーネルが提供する特別な方法で、システム内のCPUに関する情報を格納します。cpumasks操作に関して、APIを含む関連のソースコードとヘッダファイルは以下のとおりです。 inc […]

(注:2017/04/10、いただいたフィードバックを元に翻訳を修正いたしました。) はじめに 私はLinuxが大好きです。コンピュータとのやりとりが楽しくなるし学ぶことも多くなります。OSとハードウェアの基盤となる基本 […]

しばらく前に私は、「C言語でシェルを書く方法」というタイトルで、皆さんが日常的に使っているツールの内部動作を理解するのに役立つチュートリアルを書きました。単純なシェルであっても、数例を挙げるだけでもread、fork、e […]

もしラップトップのディスプレイが壊れたら、文句を言いつつもお金を出して修理してもらうのが普通でしょう。修理用のパーツが届くまでの間は、外付けディスプレイでしのぐのでしょう。面倒ではあるけれど、それで作業が止まってしまうわ […]

要約 この記事では、LinuxカーネルにてLinuxプログラムがどのように関数を呼び出すのかについて紹介していきます。 システムコールを行う様々な方法、システムコールを行うための独自のアセンブリの作成方法(例あり)、シス […]

テキストベースのファイル形式と、それぞれを(主にLinux上で)操作するためのコマンドラインツールのリストを掲載しています。 目次 DSV XML,HTML JSON YAML,TOML INI 設定ファイル おまけ:単 […]

私はpingが大好きです!簡単に使えて、ネットワークが稼働しているかを直接明らかにできます。「Pingはセキュリティの欠陥ではない!(むしろ友達である)」、「Traceroute上級」の記事をご参照ください。少なくとも、 […]

curlとWgetの主な違いについて著者(Daniel Stenberg)の私見を述べています。自分の子どもとも言えるcurlをひいきしていますが、Wgetにも携わっているので、思い入れがないわけではありません。 この記 […]

カーネルの展開 カーネルの起動処理(Kernel booting process)シリーズの第5弾です。前回は、64ビットモードへの移行を見てきましたが、今回はその続きを説明していきたいと思います。カーネル展開の前準備と […]

64ビットモードへの移行 Kernel booting processもパート4になりました。4回目の今回は、プロテクトモードでの最初の一歩についてご紹介します。CPUがサポートするロングモード、SSE(ストリーミングS […]

ビデオモード初期化とプロテクトモードへの移行 カーネル起動処理シリーズのパート3です。前回のパートでは、set_videoルーチンをmain.c.から呼び出す直前までを扱いました。今回は、次の内容を見ていきます。 カーネ […]