投稿日
2012/3/9 金曜日
テキストの43ページ
xv6は、マルチプロセッサ上で実行され、コンピュータは複数のCPUで独立してコードを実行する。
それらの複数のCPUは、ひとつの物理アドレス上で動き、データ構造を共有する。
xv6は、複数のCPUがお互いに干渉しあわないようにする為の協調機構を提供しなければならない。
ユニプロセッサ上でも、xv6は、割り込みハンドラが非割り込みコードからの干渉を避けれるようにするためにいくつかの仕組みを使わなければならない。
xv6は、その両方の場合のために、同じ低層のコンセプトを用いる。
それはロック(lock)である。
ロックは、排他的な機能を提供し、一度に一つのCPUだけがロックを保持出来る事を確実にする。
個別のロックを保持している間、データ構造にアクセスだけする場合、xv6は、一度に一つのCPUだけがそのデータ構造にアクセスすることを確実にすることが出来る。
この場合、我々は、「そのロックはそのデータ構造を保護している」と言う。
この章では、なぜxv6がロックを必要とするか、どうやってxv6はロックを実装してるのか、そしてどうやってロックを使うのかについて説明する。
新たな章です。
ロックについてですね。
ユーザ空間のプログラミングでも、マルチスレッドとかマルチプロセスとかになるとロックが必要になってきますので、ある程度馴染みはあるかなと思います。
ただここではカーネル空間における話になるので、もっと難しいのかもしれません。
最近のコメント
名前
しゅごい
Jane Doe
FYI Avoid Annoying Unexpe…
Jane Doe
ご存じとは思いますが、whileには、”~の間”と…
peta_okechan
針金みたいなパーツを引っ張ると外れます。 他の方の…
虎徹ファン交換
虎徹の標準ファンを外す際に、どのようにして外されま…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…
花粉症対策2019 – 日曜研究室
[…] 花粉症対策についてはこれまで次の記事を書いてきました。https://…