読んだところ
- Introduction
- The Kernel Layers
- The Kernel Services
書かれていること
- この本の2章以降を理解するために必要なこと。
- それは「 の中心部 (Kernel) の階層構造 (layers)」。
要約
- の中心部は階層構造になっている。
- 各層は自分より下の層なら、好きな順番で、直接呼び出すことができる。
- 呼出しから戻るとき以外、上の層に制御が上がることはない。
- 例えば、 Program (OPI) から直接 Operating System Dependencies (S) を呼出して、次に Compilation Layer (KK) を呼出すことができる。しかし、Compilation Layer (KK) から Program (OPI) を呼出すことはできない。
- ただし例外がある。例えば、のリーフ・ブロックの分割やエクステント管理のようなケースで、transaction layer と data layer の間で的な呼出しが発生する。
name | short name |
---|---|
Call | OCI |
User Program | UPI |
Net8 | |
Program | OPI |
Compilation Layer | KK |
Execution Layer | KX |
Distributed Execution Layer | |
Network Program | NPI |
Security Layer | KZ |
Query Layer | KQ |
Recursive Program | RPI |
Layer | KA |
Data Layer | KD |
Transaction Layer | KT |
Layer | KC |
Services Layer | KS |
Lock Management Layer | |
Generic Layer | KG |
Operating System Dependencies | S |
妄想
ところで、この layer ってあくまでなど物理的なものをグルーピングする論理的な概念だと思う。
の実行ファイルを見てもこんな名前のはないし。この論理は物理とどう対応するのか? 手元の Oracle10gR2(Solaris10) で $ORACLE_HOME 下をちょっと調べてみたら、それっぽい名前のファイルがあった。 の時にこいつらが、リンクされて実行ファイルや共有になるんだなたぶん。
$ cd /export/home/oracle/product/10.2.0/db_1/rdbms/lib$ ls *k[a-zA-Z0-9]* genksms.o kecwr.o kkpoban.o kprnts.o kpundf.o ksnktd.o kxmnsd.o kzvndv.o libskgxpg.a s0kuzr.o skrmpt.o sskfoded.o kciwcx.o kfod.o kkxntp.o kprwts.o ksms.o ksnnni.o kxmwsd.o libknlopt.a libskgxpr.a s0kvpf.o skrnpt.o sskrmed.o kcsm.o kgupc.o kkxwtp.o kpucb.o ksnkcs.o ksnnt2.o kzlilbac.o libskgxns.a libskgxpu.a skfedpt.o skrspt.o sskrned.o kecnr.o kgutc.o kopc.o kpudfo.o ksnkkpo.o ktd.o kzlnlbac.o libskgxpd.a s0kudbv.o skfodpt.o sskfeded.o sskrsed.o