2007-01-01から1年間の記事一覧

Newsqueak on MacOS X

巷ではErlangが流行っているらしいく(「twitterブームの陰で注目を集める“Erlang”」)、Matzさんは「次の言語」として「『関数型』と『並列』。両方を押さえたErlangが本命。歴史も信頼性もあり、知名度上昇中」と書いている。(2007-08-26 追記: 正直なところ…

Newsqueak (1): prog

ちょっとPlan9から横道それて、Newsqueakを調べてみる。複雑な言語じゃないので、15ページぐらいのリファレンスマニュアルに目を通せば、大体感じがつかめてくる。まずは、プログラムの基本構成要素のprogから。progのフォーマットは、 prog(list of formals…

CPUロードアベレージ(補足)

先日書いたCPUロードアベレージの補足で、スケジューラの話を少し。ロードアベレージの計算にnrdyという変数が出てきたけど、これはプロセスをレディキューに追加するとき(enqueueproc関数)にインクリメントされ、削除するとき(dequeueproc関数)にデクリメン…

CPUロードアベレージ

id:naoyaさんが「マルチコア時代のロードアベレージの見方」で書かれているように、Linuxでは/proc/loadavgがカーネルがアプリに情報を提供するインタフェースになっている。例えば、uptimeコマンドはこのファイルからロードアベレージを取得する。では、い…

分散ファイルシステム

前にひらさんが、「分散OSと透過性」とか、「ファイルシステムの面白さに目覚めた」という話を書かれていたので、ファイルシステムから見た分散OSの透過性について何か書けないかなと思いながら、日記自体の更新が止まっていた。ファイルシステムの仕事は簡…

Concurrency/message passing Newsqueak

Newsqueakといっても、広く知られているSmalltalk系のSqueakではなくて、Limboの先祖にあたるCSP(Communicating Sequential Processes)ベースの並行プログラミング言語のこと。Newsqueakはインタプリタだったけど、LimboはJIT技術を使っている。当然、Google…

逆バリ主義で行こう!

Plan9からフォークして,9osというOSを作ろうとしている人がいるらしい.MicrowareのOS-9じゃないよ.まだ中身はないみたいだし,何をやりたいのかよくわからないけど.

Google SoC採択結果

「Google Summer of Code」でPlan9/Infernoプロジェクトも名乗り出ているよと書いたが、「Google SoC 2007の採択結果発表 - 15%の狭き門をくぐり抜けた学生たち」経由で結果を知った。Plan9のページを覗いてみたけど、採択されたのは、次のプロジェクトなの…

Inferno on MacOS X

ひらさんの日記(知性とは強固であり凶暴)経由で読んだが,あろはさんがInfernoについて熱く語っている.最近はInferno/Limboネタが続いているので,要チェックだな. なぜ Inferno/limbo は重要なのか (Why Inferno : Compact Multi-Platform Distributed OS…

Plan9のセキュリティアーキテクチャ(その1)

前回はPlan9にはrootはないけど,ホストオーナ(hostowner)ってのがあると書いた.ホストオーナはその名の通り,そのホスト,正確にはローカルマシンの所有者という意味で,誰がホストオーナかは/dev/hostownerをcatすればわかる.ターミナルを使っている場合…

MacOS Xでもdrawterm

唐突だけど,drawtermはMacOS Xにも対応している.CocoaではなくてCarbonアプリ.コンパイルは至って簡単. $ CONF=osx makePlan9では3ボタンマウスがデフォルトだけど,右ボタンはコマンドキーと,中央ボタンはオプションキーとの同時クリックに割り当てら…

Plan9のセキュリティアーキテクチャ(その0)

ここ数年,仮想化技術と並んでホットな話題がセキュリティ技術だ.SELinuxに代表されるセキュアOSみたいな硬そうなものから,OLPCのBitfrostのような子供たちが使うセキュリティアーキテクチャはどうあるべきかという提案など,単純な技術的な枠組だけではな…

Plan9とGNU/Hurd

id:kohtaniさんが,組込みリアルタイムOSを開発されている立場から,GNU/Hurdについて書かれている.GNU/Hurdは名前こそ知っていたが,なんとなく近寄り難い感じがして,ちゃんと調べたことがなかった.GNU/HurdはマイクロカーネルOSで,OSのサービスはユー…

ルートディレクトリのinode番号

AsiaBSDCon 2007のレポート記事「McKusick氏、FreeBSDを語る」に次のような小話が出てくる. cd /; ls -ialのようにしてinode番号をチェックするとわかるが、番号は1番からではなく2番からはじまっている。これは0が未使用に使われ、1はバッドブロックを表現…

Inferno on OLPC

スパコン,HPC関係の国際会議SC2006の写真がアップされている.ANLブースのOLPCで動くInfornoとか,ARMボードのクラスタが注目か. SC 2006 IN TAMPA

リアルモード用アセンブラ

以前,ブート部分がどうなっているのか気になったので,ソースコードを眺めてみたら,アセンブリが全部プリプロセッサのマクロで書かれていて驚いた.というのも,Plan9のアセンブラ(8a)はリアルモード,16ビットのコードを吐けないからだ./sys/src/boot/pc…

Plan9デモビデオ

Plan9に興味を持ってインストールしてみても,何ができるかよくわからない.特にrioやacmeの操作方法は文章を読むだけではわからない.と感じている人は多いのではないだろうか.「プログラミングするときもマウスを使うと便利!マウスを使わないなんて前近…

OSC2007/Spring

TIP9UGのブースでは,Windows用のQEMUイメージとAcme SACを同梱したCD-ROMを配っていた.前者にはスタンドアローンターミナル版と,認証/ファイル/CPUサーバとディスクレスターミナルの組という2種類のイメージが提供されている.おそらく同じものは山梨さん…

Google Summer of Code

今年のGoogle Summer of CodeにはPlan9プロジェクトからお題提供があるようだ.若いうちからWindowsやLinuxに凝り固まらず,いろんなシステムに触れることはいいことだと思うよ. GSoC07 ML 個人的にはkenccをLinuxにポーティングするか,kenccの拡張機能をg…

バグの歴史

以前,OSと失敗学というエントリを書いた.そのとっかかりとしてソフトウェア一般について考えてみたい.ソフトウェアの失敗というと,まず思いつくのがバグ.F-22搭載コンピューターにバグというニュースは記憶に新しいが,HotWiredの記事が「史上最悪のソ…

コーディング規約

なぜPlan9の変数名や関数名に"_"を使わないのか,その方がわかりやすいのにという投稿があった.結局は,それがPlan9のスタイルだからという話になる.その根拠とまではいかなくても,参考になるのが,Rob Pike氏が書いた「Notes on Programming in C」だ.…

rcでtelnet

UNIXの漢はzshを使うらしいが,Plan9の漢はrcを使う(というか老若男女,選択肢がないが).zshは究極のシェルとか言われるだけあって,高機能だが,rcもある意味負けてはいない.例えば,/sources/contrib/fgb/rc/telnetはrcで書かれたtelnetクライアントだ.…

Pegasus 2.4

WebサーバPegasusの最新版が公開された.PegasusはPlan9の名前空間を活かしたセキュアなWebサーバで,2.4の目玉はWebDAVのサポートだ.Windows XPやMacOS Xのクライアントとの動作確認もなされている.UNIXなどのWebサーバでCGIを動かす場合,CGIを実行する…

QEMUとXen3の比較

Ron Minnich氏によると,PPCカーネル(BlueGene/L用!?)のビルドにかかる時間は,QEMUがXenの約15倍もかかるそうな.KQEMUを使うと,比は4倍ぐらいに縮まったとか. qemu: 4 minutes59.86u 53.93s 233.60r mkxen 3 4.90u 5.06s 15.89r mk カーネルのビルドは…

GNU/Hurd,L4.Sec,Coyotos

Xen上でPlan9を動かすと,ホストOSのドライバが流用できるからいいよね,とかいう話から,GNU/Hurdの話へ.GNU/Hurdは,歴史ある(?)マイクロカーネルOSで,元々Mach(GNU Mach)ベースで作られていたが,L4ベースのHurd/L4というバージョンもある.ただし,Hu…

OSは中間管理職

ひらさんが「逆ピラミッドの底」で,友人に受けたアドバイスを書いている. ”ひらくん、違うよ。リーダーというのはピラミッドの頂点にいるんじゃなくて、逆ピラミッドの底にいるんだよ” なるほど.ピラミッドの頂点と逆ピラミッドの底.2種類のリーダ像があ…

LP49

昨日,TIP9UGの勉強会があった.お題はLP49で,開発者の佐藤さんが発表された.IWP9に関するエントリでも書いたけど,LP49では,L4マイクロカーネル上のOSパーソナリティ(サーバ)として,Plan9が実行される.つまり,Plan9がユーザ空間で動く.この際,Plan9…

Limboプログラミング

Infernoで使われているLimboって,どんなプログラミング言語だろう.Infernoはセットトップブックなど,ネットワークでつながれた情報家電をターゲットにしているので,その手の割と非力な計算機による分散システム上で使われることを想定している.そこで,…

Inferno on Plan9

Infernoの話が出たので,Plan9上でInfernoをインストールするときのメモ.Plan9はQEMU/Linux上で動かしている(インストール方法はこちら).Infernoは,Plan9の兄弟のようなOSだけど,これまた一風変わったOSである.ネイティブマシン上で動くだけでなく,UNI…

研究OSから実用OSへの技術転用

ひらさん曰く,研究OSの位置付けとは, 研究OSのモノを実用OSに適用させ評価することが研究OSを調べる目的なのかな、 と書かれている.では,具体的に何から調べるか? 最新のOS研究もよかろうが,ふと昔話を思い出した.仲間内の雑談中に出た「OS研究が実用…