OS本
現在、H8マイコンでの開発に某所で関わっていまして、来年こそはOSを作ろうと思っています。そんな野望にむけて本を一冊買いました。ピアソンの『OSの基礎と応用』という本。コードばっかりではなく、読み物風なので、意外とすらすら気軽に読めてしまっています(頭に入ってるのかは不明)。
表紙は有名な『哲学者の食事』問題。5人の哲学者が全体で5本のフォークを使ってスパゲッティを効率よく食べるにはどうしたらよいか(哲学者は飯を食ったり食っていなかったりもしていて、1人の哲学者がスパゲッティを食べるのにはフォークが2本必要)を考える問題です。
この問題にもあらわれているとおり、OSを作るということは不可解なことをやっているわけではなく、単に誰にどんなリソース(メモリとか計算能力とか)を割り当てれば、みんなで仲良く目的が達成できるかということを考えて実装することなわけで、けっして怪しげなことをしているわけではありません。いってみればコンピュータの社会学をやっているわけで、『OSをつくる??はぁ??気が狂っているんじゃない??』とか『めんどくせー、うぜー』なんて思ってはいけません(戒め)。
それで、OSをつくる計画ですが、人工衛星に載るようなOSを自分で設計してみたいと思っています。人工衛星が飛んでいる宇宙という環境は、SEU(Single Event Upset:放射線の影響でメモリのビット反転がおこる)など半導体にはとてつもなくシビアな環境なので、そのような環境にあってもシステム全体としては停止しないような分散型OSがつくれたらいいなと思っています。
実験のデモンストレーションだけはもう考えました。そのOSが乗ったCPUを複数個、並列動作させ、そのうち一個をハンマーでぶっ潰す、でもシステムは止まらないーーー(髭剃りの『切れていないーーー』風に)。インパクトありすぎ。
コメント
ありがとうございます!!自分も気が付いたら別の事をしていそうですが、なんとかやりとげたいですね(まだはじまってもいないけど)。
この後は、3部作の残り『MINIXオペレーティングシステム』『分散オペレーティングシステム』を読んでみようかと考えています。
具体的なアーキテクチャが決まっているといろいろと楽ですよね。自分は前述の本を読むときに、MC68000系での実装をイメージしながら読んでました。この仕組みは、こんな風にコーディングすればいいかなーとか。他の技術書もそうですけど、漠然とした理解よりも具体的にどういうイメージになるかが見当が付く理解の方が断然力になりますし。
Posted by: mya : December 29, 2003 11:26 AMコメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。
自分も学生時代にOS本を読んでました。TanenbaumのMINIX本、UNIXカーネルの設計(SysV本)、4.3BSD本辺りです。件の哲学者の話はMINIX本で読みました。同じくOS作りたいなぁと思ったものですが、気づいたら全然関係ない研究やってましたね(苦笑)。頑張ってください。
Posted by: mya : December 28, 2003 10:47 PM