2009-08-01から1ヶ月間の記事一覧

Springの名前サービス

これまたtwitterで久々に目にしたOS。90年代初期、SUNはSpringと呼ばれる、マイクロカーネルベースのオブジェクト指向分散OSを研究していた*1。プロジェクト開始時の時代背景としては、UNIXをオブジェクト指向的に再実装しようというプロジェクトがご破算に…

xv6

twitterでなぜだかUNIX V6ネタが盛り上がっていたのだが、たまたまググっていて見つけたのが、xv6。KMC Staff Blogでも取り上げられているので後追い(「UNIX v6 を x86 マルチプロセッサシステムに移植した xv6」)。xv6(x86 version 6)は、MITのOperatin…

忍び寄る機能主義

TuxRaderというLinuxのニュースサイトに面白い記事が載っていた。「Creeping Unix featurism」。「忍び寄る機能主義」とでも訳すのか。有名なUNIX哲学の一つとして、Doug Mcllroyは「一つのことをうまくやるプログラムを書け」と言っている。しかし、現在のL…

a.outのマジックナンバー

a.out*1のヘッダの先頭にはマジックナンバーが埋め込まれていて、これによっていわゆるOMAGICとかNMAGIC、ZMAGICとかに分類される(詳細はWikipediaのここ)。OMAGICはヘッダのすぐ後にテキストとデータセグメントが続き、それら両方は書込み可能なメモリに…

Hello, world!

先日、UNIX V1が動いたという話を書いたが、現実逃避でHello, world!書いてみた。もちろんPDP-11アセンブリでである。r0にstdoutのファイル記述子を入れてwriteシステムコールを呼び出す。文字列のアドレスと文字数は、sys命令の後に列挙する。$は即値で、14…

第一回カーネル/VM探検隊

関係者のみなさん、お疲れさま。楽しい時間を過ごせました。私もPlan9の紹介というか、ぬるい話をしてきた。一応、発表スライド「今日からはじめるPlan 9 from Bell Labs」をアップロードしたので興味のある方はどうぞ。本当はもっとデモの時間を取りたかっ…

カーネルを読んでみる

UNIXカーネルがC言語に書き換えられたのは3rd editionであり1973年のことなので、このバージョンのソースコードはPDP-11のフルアセンブリである。しかし、4221行とコンパクトだし、コメントも満載なので、アセンブリに対するアレルギーがなければ、pre K&R C…