トップページ

概要

Linux2.6.11のカーネルソースを読んで、OSの仕組み、プログラムの書き方を学ぶ。
CPUはi386。

疑問

  • thread_infoのstackはカーネルスタック?プロセススタック?それぞれのプロセスが持ってるからプロセススタックじゃないかと思うんだけど、カーネルスタックって書いてあるのしか見たこと無い。カーネルスタックは共通では?
→よく見たら、stackはthread_unionにあった。でもtask_structthread_infoしか持ってなかった。プロセススタックはmm_structにstart_stackという変数があるからそれだと思う。


主な項目

keventd
kapm
kswapd kswapd()
kflushd
kupdate
ksofirqd ksoftirqd()





重要なデータ構造

init_task
task_struct
thread_info
mm_struct
file_operations
list_head 循環双方向リスト
hlist_head 非循環双方向リスト。主にハッシュテーブルで使用する。
inode

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

inode構造体

ファイルとiノードは一意に対応する。

用語


APIC


DMA

Direct Memory Access

dirty buffer

対応するディスクブロックと内容が異なるような全てのバッファ。そのままOSが終了するなどするとデータが紛失してしまうため、ディスクに書き込まなければならない。

GDT


LDT


IDT

Interrupt Descriptor Table。

nf_

the number of fields

nr_

the number of records

NUMA

Non-Uniformed Memory Architecture。

SMP

対称型マルチプロセッシング(Symmetric Multiprocessing)。特定のCPUに非対称的に割り付けられた処理に依存する事無く、全てのCPUに対して対称的、均一的に処理が割り付けられた複数プロセッサによる並列処理方式のことを言う。1つのCPUが複数の均一コアを持つ場合やインテルのハイパースレッディング・テクノロジーなどもSMPに含まれる。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2015年04月28日 14:47