Commits

Anonymous committed 39f0b14

moved file and added administration note

Comments (0)

Files changed (39)

linux/source/address-transform.rst

-アドレス変換機構
-=====================
-

linux/source/admin/config.rst

+.. -*- coding: utf-8 -*-
+
+==========
+ 設定項目
+==========
+
+名前解決
+========
+
+一般
+----
+
+UNIX系システムではユーザ名、ホスト名など「名前」を解決する必要があり、
+それらを解決する方法は多数あある。その優先順位はNSS (Name Service Switch)
+が決定している。NSSの設定ファイルは ``/etc/nsswitch.conf`` にある。
+
+NSSで検索順を決定する項目を次の表にまとめた。これらは ``man nsswitch.conf`` 
+することで確認することができる。
+
+.. list-table::
+   :widths: 20 80
+   :header-rows: 1
+
+   * - 項目
+     - 意味
+
+   * - ethers
+     - Ethernet番号
+   
+   * - group
+     - ユーザグループ。 ``getgrent(3)`` で使われる。
+
+   * - hosts
+     - ホスト名と番号。 ``gethostbyname3)`` などで使われる。
+
+   * - netgroup
+     - NIS
+
+   * - networks
+     - ネットワーク名と番号。 ``getnetent(3)`` で使われる。
+   
+   * - passwd
+     - ユーザのパスワード。 ``getpwent(3)`` で使われる。
+
+   * - protocols
+     - ネットワークプロトコル。
+
+   * - publickey
+     - secure_RPCで使われる公開鍵と秘密鍵。NFSとNIS+で使われる。
+
+   * - rpc
+     - RPC名と番号。 ``getrpcbyname(3)`` で使われる。
+
+   * - services
+     - ネットワークサービス。 ``getservent(3)`` で使われる。
+
+   * - shadow
+     - シャドウユーザのパスワード。 ``getspnam(3)`` で使われる。
+
+   * - aliases
+     - sendmail(8) で使われるメールのエイリアス。今は無視される。
+
+
+またnsswitch.confの各項目で設定できる項目は下記
+
+- compat : 歴史的な動作
+- db : BerkelayDBを使う。
+- dns : DNSを使う。(hostとipnodes)
+- files : ファイルを参照。
+- hesiod : Hesiodを使う。
+- nis : NIS
+- nisplus : NIS+
+
+以下に/etc/nsswitch.confの例を挙げる。
+
+.. code-block:: none
+
+   # /etc/nsswitch.conf
+   #
+   # Example configuration of GNU Name Service Switch functionality.
+   # If you have the `glibc-doc-reference' and `info' packages installed, try:
+   # `info libc "Name Service Switch"' for information about this file.
+   
+   passwd:         compat
+   group:          compat
+   shadow:         compat
+   
+   hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
+   networks:       files
+   
+   protocols:      db files
+   services:       db files
+   ethers:         db files
+   rpc:            db files
+   
+   netgroup:       nis
+   
+
+
+ホスト名 (hosts)
+----------------
+
+ホスト名の解決は複数の方法を用いて行うことができる。先にも述べたように
+``/etc/nsswitch.conf`` でその検索順を決定する。以下の表はLinuxで
+設定できるnsswitch.confにおける名前解決の種類である。
+
+.. list-table::
+   :widths: 30 70
+   :header-rows: 1
+
+   * - nsswitch.confでの項目
+     - 方法
+
+   * - file
+     - ``/etc/hosts`` での設定
+
+   * - dns
+     - DNSを用いる。
+
+   * - ldap
+     - LDAPを用いる。
+
+   * - nis
+     - NISを用いる。
+
+   * - mdns
+     - mDNS (Multicast DNS)を用いる
+
+以下に各項目においての名前解決の流れを記す。
+
+fileの場合
+~~~~~~~~~~
+
+fileを指定した場合にはまず /etc/hosts.conf を見に行く。
+
+
+DNSの場合
+~~~~~~~~~
+
+
+LDAPの場合
+~~~~~~~~~~
+
+
+ユーザ
+------
+
+PAM
+~~~
+
+
+
+
+
+参照
+----
+
+- `Name Service Switch (Wikipedia) <http://ja.wikipedia.org/wiki/Name_Service_Switch>`_
+- `Hesiod <http://en.wikipedia.org/wiki/Hesiod_(name_service)>`_
+- `Solaris 10でのnsswitch.conf <http://docs.sun.com/app/docs/doc/816-5174/nsswitch.conf-4?l=ja>`_
+- `nsswitch.confでdbを設定する話 <http://blog.ninth-nine.com/diary/20100429.txt>`_
+
+- `hosts.confとnamed.confについて <http://www.sleepingbird.net/Linux/2003/04/hostsconf_namedconf.html>`_

linux/source/collecting-page.rst

-ページの回収処理
-===================
-
-

linux/source/conf.py

 master_doc = 'index'
 
 # General information about the project.
-project = u'Linux-kernel study'
+project = u'Linux study'
 copyright = u'2010, Yoshifumi YAMAGUCHI'
 
 # The version info for the project you're documenting, acts as replacement for
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
 man_pages = [
-    ('index', 'linux-kernelstudy', u'Linux-kernel study Documentation',
+    ('index', 'linux-study', u'Linux study Documentation',
      [u'Yoshifumi YAMAGUCHI'], 1)
 ]

linux/source/delayed-treatment.rst

-遅延処理
-============

linux/source/dynamic-memory-assignment.rst

-動的メモリ割り当て
-======================
-

linux/source/file-operation.rst

-ファイルの操作
-===================
-

linux/source/file-read-write.rst

-ファイルのリード/ライト
-=============================
-

linux/source/how-to-study.rst

-Linuxカーネルの読み方
-=========================
-
-道具を揃える
---------------
-* GNU Emacs
-* GNU GLOBAL (gtags)
-* grin_
-* 書籍
-  * `Linuxカーネル解読室 <http://www.amazon.co.jp/o/ASIN/4797338261/ymotongpoo-22/ref=nosim>`_
-  * `詳解Linuxカーネル <http://www.amazon.co.jp/o/ASIN/487311313X/ymotongpoo-22/ref=nosim>`_
-* 紙とペン
-
-.. _grin: http://pypi.python.org/pypi/grin
-
-方法を決める
----------------
-自分の場合はすぐに挫折しそうなので、長く続けるために「ひらメソッド」を採用することにしました。 
-
-
-ソースを読むコツ
--------------------
-以下の5つを念頭に読む
-
-読む対象を絞る
-^^^^^^^^^^^^^^^
-コードはトップダウンで読んでいっても憶え切れないのでひらメソッドを存分に使うのがそもそものこの文章の目的。隅々まで読んでもしょうがないので、とりあえず書籍に載っているところを追っていくことにする。
-またテーマを決めて読めばそれだけ理解も深まるはず。
-
-* load averageの計測方法を調べる
-* コンテキストスイッチの仕組みを調べる
-* select(2)の実装を調べる
-
-いきなり読まない
-^^^^^^^^^^^^^^^^^^
-いきなり飛び込んでも門前払いを食らうだけなので、ソースツリーの構造の把握などから入り、どれだけの大きさがあるものなのか理解する。
-
-概観を知った上で読む
-^^^^^^^^^^^^^^^^^^^^^^
-書籍で知りたいと思った箇所の概要を先につかんでおく。自分の場合はこの場所が知りたい、という以前にそもそも全然Linuxが分かっていなかったので書籍を端から読んでいった。それでも実務であたった壁などを思い出しながら理解していった。
-
-* メモリ管理
-* プロセススケジューリング
-
-
-重要なデータ構造を把握する
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-やはりLinuxの中に出てくる重要なデータ構造というのがあるのでそれはおさえる。
-
-* struct task_struct
-* struct mm_struct
-* VFS の struct file_operations
-
-テストプログラムのトレースを活用する
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-実際に学んだ箇所に関するサンプルプログラムを走らせて挙動を確認する。

linux/source/index.rst

    You can adapt this file completely to your liking, but it should at least
    contain the root `toctree` directive.
 
-Linux-kernel
+Linux
 =======================
 
 Contents:
 
+Linuxカーネル
+-------------
+
 .. toctree::
    :maxdepth: 2
+   :numbered:
 
-   how-to-study
-   process-scheduling
-   interrupt
-   delayed-treatment
-   timer
-   system-call
-   sync-exclusion
-   process-management
-   signal-treatment
-   address-transform
-   kernel-space-layout
-   memory-management
-   dynamic-memory-assignment
-   process-space-management
-   collecting-page
-   vfs
-   file-operation
-   file-read-write
+   kernel/how-to-study
+   kernel/process-scheduling
+   kernel/interrupt
+   kernel/delayed-treatment
+   kernel/timer
+   kernel/system-call
+   kernel/sync-exclusion
+   kernel/process-management
+   kernel/signal-treatment
+   kernel/address-transform
+   kernel/kernel-space-layout
+   kernel/memory-management
+   kernel/dynamic-memory-assignment
+   kernel/process-space-management
+   kernel/collecting-page
+   kernel/vfs
+   kernel/file-operation
+   kernel/file-read-write
+
+Linux管理
+---------
+
+.. toctree::
+   :maxdepth: 2
+   :numbered:
+
+   admin/config
 
 
 Indices and tables

linux/source/interrupt.rst

-割り込み
-============

linux/source/kernel-space-layout.rst

-カーネル空間のレイアウト
-============================
-

linux/source/kernel/address-transform.rst

+アドレス変換機構
+=====================
+

linux/source/kernel/collecting-page.rst

+ページの回収処理
+===================
+
+

linux/source/kernel/delayed-treatment.rst

+遅延処理
+============

linux/source/kernel/dynamic-memory-assignment.rst

+動的メモリ割り当て
+======================
+

linux/source/kernel/file-operation.rst

+ファイルの操作
+===================
+

linux/source/kernel/file-read-write.rst

+ファイルのリード/ライト
+=============================
+

linux/source/kernel/how-to-study.rst

+Linuxカーネルの読み方
+=========================
+
+道具を揃える
+--------------
+* GNU Emacs
+* GNU GLOBAL (gtags)
+* grin_
+* 書籍
+  * `Linuxカーネル解読室 <http://www.amazon.co.jp/o/ASIN/4797338261/ymotongpoo-22/ref=nosim>`_
+  * `詳解Linuxカーネル <http://www.amazon.co.jp/o/ASIN/487311313X/ymotongpoo-22/ref=nosim>`_
+* 紙とペン
+
+.. _grin: http://pypi.python.org/pypi/grin
+
+方法を決める
+---------------
+自分の場合はすぐに挫折しそうなので、長く続けるために「ひらメソッド」を採用することにしました。 
+
+
+ソースを読むコツ
+-------------------
+以下の5つを念頭に読む
+
+読む対象を絞る
+^^^^^^^^^^^^^^^
+コードはトップダウンで読んでいっても憶え切れないのでひらメソッドを存分に使うのがそもそものこの文章の目的。隅々まで読んでもしょうがないので、とりあえず書籍に載っているところを追っていくことにする。
+またテーマを決めて読めばそれだけ理解も深まるはず。
+
+* load averageの計測方法を調べる
+* コンテキストスイッチの仕組みを調べる
+* select(2)の実装を調べる
+
+いきなり読まない
+^^^^^^^^^^^^^^^^^^
+いきなり飛び込んでも門前払いを食らうだけなので、ソースツリーの構造の把握などから入り、どれだけの大きさがあるものなのか理解する。
+
+概観を知った上で読む
+^^^^^^^^^^^^^^^^^^^^^^
+書籍で知りたいと思った箇所の概要を先につかんでおく。自分の場合はこの場所が知りたい、という以前にそもそも全然Linuxが分かっていなかったので書籍を端から読んでいった。それでも実務であたった壁などを思い出しながら理解していった。
+
+* メモリ管理
+* プロセススケジューリング
+
+
+重要なデータ構造を把握する
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+やはりLinuxの中に出てくる重要なデータ構造というのがあるのでそれはおさえる。
+
+* struct task_struct
+* struct mm_struct
+* VFS の struct file_operations
+
+テストプログラムのトレースを活用する
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+実際に学んだ箇所に関するサンプルプログラムを走らせて挙動を確認する。

linux/source/kernel/interrupt.rst

+割り込み
+============

linux/source/kernel/kernel-space-layout.rst

+カーネル空間のレイアウト
+============================
+

linux/source/kernel/memory-management.rst

+実メモリの管理
+====================
+

linux/source/kernel/process-management.rst

+プロセス管理
+===============
+

linux/source/kernel/process-scheduling.rst

+===========================
+プロセススケジューリング
+===========================
+
+マルチタスク
+==============
+
+プロセス
+  プログラムが動いている状態の事
+
+コンテキスト
+  プロセスが動作するためのプロセス空間、プロセスが動作するときのレジスタ値であり、 `task_struct` 構造体 (`task_t` 型)で管理されている。
+  Linuxカーネルがプロセスを操作するときは、この構造体を操作する。
+
+スレッド
+  スレッド同士が同じプロセス空間を共有していることを除いてはプロセスと同様。
+
+Linuxカーネルでは複数のプロセスを細かく切り替えながら動作させている。ある瞬間に動作させるプロセスはプロセスの重要度で決定する。Linuxカーネル2.6では *O(1)スケジューラ* と呼ばれる新しいスケジューラが用いられている。
+
+
+プロセスの切り替え
+====================
+
+プロセスディスパッチャ
+------------------------
+
+.. あとで書く
+
+context_switch関数
+
+switch_toマクロ
+
+__switch_to関数
+
+プロセススケジューラ
+----------------------
+プロセスディスパッチャはあるプロセスからあるプロセスに実行権を移す。プロセススケジューラはプロセスディスパッチャに渡すべきプロセスの選択をする。
+
+スケジューリングの方針は
+
+#. 対話型プロセスの応答性能向上
+    体感速度向上のために対話型プロセスは特別に優先度をあげるように設定される。
+#. 優先度の指標
+    固定優先度( `nice` 値)と時間経過とともに変動する変動優先度の合計が大きいものを選択する。また対話型プロセスには実行優先度を高めることもしている。(プリエンプション)
+#. 実行保証
+    実行可能状態になったプロセスには実行割り当て時間(タイムスライス)が優先度に応じた長さ与えられて、実行割り当て時間が残っている間は実行権が回ってくる。
+
+
+スケジューリングの契機
+-------------------------
+プロセススケジューラが動作するタイミングは下記
+
+* 実行中プロセスが実行件を手放した場合
+   * 待機状態に遷移したとき
+   * 明示的に他のプロセスに実行件を譲る場合
+      長いカーネル処理を実行するときなど
+* プリエンプション
+   新しいプロセスが実行待ち状態になったときに実行中のプロセスより優先度が高ければプロセススケジューラに再スケジューリング要求が発行される。(`resched_task` 関数)
+* プロセスが実行割り当て時間を使い果たした場合
+   Linuxカーネルがプロセス実行権を取り上げ、プロセススケジューラに再スケジューリング要求を発行する
+
+
+リアルタイムプロセス
+----------------------
+Linuxのプロセススケジューリングは基本的には公平性に重きを置いているが、音楽/動画の録画/再生や機器制御といったリアルタイム性が重視されるリアルタイムプロセス機能がある。
+
+リアルタイムプロセス機能では
+
+* 通常のプロセスよりも高い優先度
+* 優先的スケジューリング
+* 時間経過に伴う優先度(変動優先度)の低減なし
+* 実行割り当て時間無制限
+
+
+マルチプロセッサシステムでのプロセススケジューリング
+-------------------------------------------------------
+対象型マルチプロセス(SMP)での適切なプロセススケジューリング方法は?
+
+* 同じプロセスは同じCPU上で動作するようにする
+   * キャッシュメモリを有効活用する
+      一度プロセスが実行されるとプロセスが利用した実メモリの内容がCPUごとのキャッシュメモリに蓄えられる。実メモリとキャッシュメモリの速度差は大きいため同じCPUを利用する
+   * TLB(Translation Lookable Buffer:アドレス変換バッファ)を有効活用する
+      仮想アドレス→物理アドレスの変換を高速化するキャッシュもやはりCPUごとのキャッシュにマッピングを置くため、再利用するために同じCPUを利用する
+
+* プロセススケジューラはCPUごとに走らせる
+   これにより、異なるプロセススケジューラが同じデータ構造を操作することがなくなり、競合発生を防げる。
+
+
+ハイパースレッディング
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+メモリアクセスなどでCPUで遅延が発生する処理を実行していて遊んでいるのはもったいないので、レジスタセットを2個用意して演算器に別の命令コード列を実行させる。
+
+Pentium 4のころに用いられていたハイパースレッディングとCore以降に採用されたものでは実装が違うが、基本的な思想としてはプロセッサ内部の各実行ユニットの使用率の向上を目指している。
+
+* `ハイパースレッディング・テクノロジー <http://ja.wikipedia.org/wiki/%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%82%B9%E3%83%AC%E3%83%83%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%BB%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E3%83%BC>`_
+* `同時マルチプロセシング (SMT) <http://ja.wikipedia.org/wiki/%E5%90%8C%E6%99%82%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B9%E3%83%AC%E3%83%83%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0>`_
+
+NUMA
+^^^^^^^
+すべてのメイン・メモリが共有されるマルチプロセッサ・システムで、全プロセッサが共有メモリに対して「対等」には見えず、アクセス速度などがプロセッサによって異なるメモリ・アーキテクチャのこと。
+ 
+* `NUMA <http://ja.wikipedia.org/wiki/NUMA>`_
+* `NUMA (@IT) <http://www.atmarkit.co.jp/icd/root/77/44603477.html>`_
+
+
+プロセススケジューラの実装
+=============================
+
+
+事象の待ち合わせ
+==================
+
+待機処理
+----------
+
+
+起床処理
+----------
+
+
+その他の待機/起床処理
+--------------------------
+
+
+子プロセスのスケジューリング
+-------------------------------
+

linux/source/kernel/process-space-management.rst

+プロセス空間の管理
+======================
+

linux/source/kernel/signal-treatment.rst

+シグナル処理
+=================

linux/source/kernel/sync-exclusion.rst

+同期と排他
+=============
+

linux/source/kernel/system-call.rst

+システムコール
+=================

linux/source/kernel/timer.rst

+時計
+=======

linux/source/kernel/vfs.rst

+仮想ファイルシステム(VFS)
+================================
+
+

linux/source/memory-management.rst

-実メモリの管理
-====================
-

linux/source/process-management.rst

-プロセス管理
-===============
-

linux/source/process-scheduling.rst

-===========================
-プロセススケジューリング
-===========================
-
-マルチタスク
-==============
-
-プロセス
-  プログラムが動いている状態の事
-
-コンテキスト
-  プロセスが動作するためのプロセス空間、プロセスが動作するときのレジスタ値であり、 `task_struct` 構造体 (`task_t` 型)で管理されている。
-  Linuxカーネルがプロセスを操作するときは、この構造体を操作する。
-
-スレッド
-  スレッド同士が同じプロセス空間を共有していることを除いてはプロセスと同様。
-
-Linuxカーネルでは複数のプロセスを細かく切り替えながら動作させている。ある瞬間に動作させるプロセスはプロセスの重要度で決定する。Linuxカーネル2.6では *O(1)スケジューラ* と呼ばれる新しいスケジューラが用いられている。
-
-
-プロセスの切り替え
-====================
-
-プロセスディスパッチャ
-------------------------
-
-.. あとで書く
-
-context_switch関数
-
-switch_toマクロ
-
-__switch_to関数
-
-プロセススケジューラ
-----------------------
-プロセスディスパッチャはあるプロセスからあるプロセスに実行権を移す。プロセススケジューラはプロセスディスパッチャに渡すべきプロセスの選択をする。
-
-スケジューリングの方針は
-
-#. 対話型プロセスの応答性能向上
-    体感速度向上のために対話型プロセスは特別に優先度をあげるように設定される。
-#. 優先度の指標
-    固定優先度( `nice` 値)と時間経過とともに変動する変動優先度の合計が大きいものを選択する。また対話型プロセスには実行優先度を高めることもしている。(プリエンプション)
-#. 実行保証
-    実行可能状態になったプロセスには実行割り当て時間(タイムスライス)が優先度に応じた長さ与えられて、実行割り当て時間が残っている間は実行権が回ってくる。
-
-
-スケジューリングの契機
--------------------------
-プロセススケジューラが動作するタイミングは下記
-
-* 実行中プロセスが実行件を手放した場合
-   * 待機状態に遷移したとき
-   * 明示的に他のプロセスに実行件を譲る場合
-      長いカーネル処理を実行するときなど
-* プリエンプション
-   新しいプロセスが実行待ち状態になったときに実行中のプロセスより優先度が高ければプロセススケジューラに再スケジューリング要求が発行される。(`resched_task` 関数)
-* プロセスが実行割り当て時間を使い果たした場合
-   Linuxカーネルがプロセス実行権を取り上げ、プロセススケジューラに再スケジューリング要求を発行する
-
-
-リアルタイムプロセス
-----------------------
-Linuxのプロセススケジューリングは基本的には公平性に重きを置いているが、音楽/動画の録画/再生や機器制御といったリアルタイム性が重視されるリアルタイムプロセス機能がある。
-
-リアルタイムプロセス機能では
-
-* 通常のプロセスよりも高い優先度
-* 優先的スケジューリング
-* 時間経過に伴う優先度(変動優先度)の低減なし
-* 実行割り当て時間無制限
-
-
-マルチプロセッサシステムでのプロセススケジューリング
--------------------------------------------------------
-対象型マルチプロセス(SMP)での適切なプロセススケジューリング方法は?
-
-* 同じプロセスは同じCPU上で動作するようにする
-   * キャッシュメモリを有効活用する
-      一度プロセスが実行されるとプロセスが利用した実メモリの内容がCPUごとのキャッシュメモリに蓄えられる。実メモリとキャッシュメモリの速度差は大きいため同じCPUを利用する
-   * TLB(Translation Lookable Buffer:アドレス変換バッファ)を有効活用する
-      仮想アドレス→物理アドレスの変換を高速化するキャッシュもやはりCPUごとのキャッシュにマッピングを置くため、再利用するために同じCPUを利用する
-
-* プロセススケジューラはCPUごとに走らせる
-   これにより、異なるプロセススケジューラが同じデータ構造を操作することがなくなり、競合発生を防げる。
-
-
-ハイパースレッディング
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-メモリアクセスなどでCPUで遅延が発生する処理を実行していて遊んでいるのはもったいないので、レジスタセットを2個用意して演算器に別の命令コード列を実行させる。
-
-Pentium 4のころに用いられていたハイパースレッディングとCore以降に採用されたものでは実装が違うが、基本的な思想としてはプロセッサ内部の各実行ユニットの使用率の向上を目指している。
-
-* `ハイパースレッディング・テクノロジー <http://ja.wikipedia.org/wiki/%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%82%B9%E3%83%AC%E3%83%83%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%BB%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E3%83%BC>`_
-* `同時マルチプロセシング (SMT) <http://ja.wikipedia.org/wiki/%E5%90%8C%E6%99%82%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B9%E3%83%AC%E3%83%83%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0>`_
-
-NUMA
-^^^^^^^
-すべてのメイン・メモリが共有されるマルチプロセッサ・システムで、全プロセッサが共有メモリに対して「対等」には見えず、アクセス速度などがプロセッサによって異なるメモリ・アーキテクチャのこと。
- 
-* `NUMA <http://ja.wikipedia.org/wiki/NUMA>`_
-* `NUMA (@IT) <http://www.atmarkit.co.jp/icd/root/77/44603477.html>`_
-
-
-プロセススケジューラの実装
-=============================
-
-
-事象の待ち合わせ
-==================
-
-待機処理
-----------
-
-
-起床処理
-----------
-
-
-その他の待機/起床処理
---------------------------
-
-
-子プロセスのスケジューリング
--------------------------------
-

linux/source/process-space-management.rst

-プロセス空間の管理
-======================
-

linux/source/signal-treatment.rst

-シグナル処理
-=================

linux/source/sync-exclusion.rst

-同期と排他
-=============
-

linux/source/system-call.rst

-システムコール
-=================

linux/source/timer.rst

-時計
-=======

linux/source/vfs.rst

-仮想ファイルシステム(VFS)
-================================
-
-