タグ

linuxとあとで読むに関するjun009のブックマーク (2)

  • LINUXシステムプログラミング - bkブログ

    LINUXシステムプログラミング 発売後すぐに入手したものの長らく積読状態が続いていた『LINUXシステムプログラミング』をようやく読みました。 書はその名の通り、Linux のシステムプログラミングについての解説書です。システムプログラミングの定義は明確ではありませんが、システムコールを用いて OS に近いレイヤーで行うプログラミングのことと考えて差し支えないと思います。 UNIX一般のシステムプログラミングについては『詳解UNIXプログラミング』という決定版がありますが、書は Linux 固有の話題や POSIX の比較的新しい API が載っているところが異なります。 たとえば、前者になく書にだけ載っている話題としては以下のようなものがあります。知らなかった話も多くて勉強になりました。 posix_fadvise で I/Oのアクセスパターンのヒントを与える epoll でI/

  • 第5回 カーネル・メモリー管理

    前回は,プロセスが利用するメモリーをLinuxがどのように管理するかを説明しました。Linuxでは,ページングという仕組みに基づいた仮想記憶機構を利用して,プロセスごとに実際のメモリー空間とは別の仮想メモリー空間を準備します。この仮想メモリー空間は,プロセス・スケジューラによって実行が切り替わるたびに切り替えられます。このような仕組みを採ることで,複数のプロセスで競合を起こさず,できるだけ効率的にメモリーを使えます。 ところで,メモリーを利用するのはプロセスだけではありません。カーネル自身もメモリーを使いますが,その利用方法はプロセスの場合とは異なっています。また,物理メモリー・アドレスと仮想メモリー・アドレスの変換を行うのはプロセッサ(MMU)の仕事ですが,実際にその変換表(ページ・テーブル)を用意するのはカーネルの役割です。空き物理ページのうちどのページを割り当てるのか判断するのもカー

    第5回 カーネル・メモリー管理
  • 1