Top[最新版][一覧]
------------------------------------------------------------

帰ってきた暗室ノート

Version 1.0.1

―― 2008年2月分 ――

------------------------------------------------------------
Prev 2008/2 Next
Sun Mon Tue Wed Thu Fri Sat
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29

2008.02.03 (Sun)

BSDカーネルの設計と実装

読み始めるために環境を準備。当面はVMWare上で動いているUbuntuにSourceを展開する。持ち歩き可能な*BSD環境も早いところ復活させたい。


2008.02.04 (Mon)

UNIX Magazine 2006年4月号

DVD版を購入したので紙媒体を捨てようと思っていたのだが,隙間時間にちょっと読むには紙の方が便利,ということで読みたい記事のある号については捨てるのを保留。まずは「仮想ストレージとしてのファイルシステム」という記事を読み始めることにした。理由は捨てるのを保留した号の一番上に積んであった号(2006年4月号)に載っていた記事だからという理由しかない。

まずはProject DOUBTについてのところまで読んだ(40%程度) 。Attribute Handler層とStorage Layout層についての記述は一般的な話なのかUNIX系のOSの話なのか(i-nodeという言葉が出てくるため)がはっきりしないところが個人的に引っかかったがFileの管理についての説明は解りやすかった。

BSDカーネルの設計と実装

1章は歴史が中心なので流し読み。2章も一般的な内容なので流し読み。演習問題は先送り。


2008.02.05 (Tue)

UNIX Magazine 2006年4月号

食事の前後に読み進める。「仮想ストレージとしてのファイルシステム[2]」読了。Journaling File Systemについて全く知らないので一部の説明が理解できないまま。この辺りを調べることが今回のTODO。この記事ではLinuxのFile Systemを試験してみた結果,同期書き込み処理,Diskが突然見えなくなった場合の対処に難ありと結論付けていた。2年前の記事なので現在ではもっと良くなっているとは思うが...。ちなみにFreeBSDはもっと脱力しそうな結果らしい。一度Project DOUBTのWebを見てみたくなった。次は2006年3月号。


2008.02.06 (Wed)

UNIX Magazine 2006年3月号

「仮想ストレージとしてのファイルシステム[1]」を読み始める。ざっと見たところ「仮想ストレージとしてのファイルシステム[2]」を読む上での前提知識はここで解説されていたので一安心。2割程度読んだところできょうはおしまい。File Systemの要件について一通り述べられていた。

以後この記事を読んでいる間はこれを意識して読むことにする。


2008.02.11 (Mon)

global

FreeBSD 5.2-ReleaseのSourceをglobalでHTMLにしたものをこの日記から参照できるようにしようかと思ったのだが,生成されるHTMLがあまりに大きいので断念。

環境構築

使っていないThinkPAD A22eを掘り出してNetBSDをinstall。VMWareでいいのではないかという考えもあるが,自分の環境ではI/Oが遅いのが気になるのでThinkPAD A22eに最後の御奉公をしてもらうことにした次第。


2008.02.17 (Sun)

BSDカーネルの設計と実装

3章を読み直し。Thread以外について文章で表現されている事はほぼ既知の内容(と思っている)。自分のためのmemoをちょっと残しておく。

プロセス構造体

src/sys/sys/proc.h

ユーザ構造体

src/sys/sys/user.h

syscall(), trap()

/src/sys/i386/i386/trap.c

errno, EINTR

src/sys/sys/errno.h

hardclock(),statclock()

src/sys/kern/kern_clock.c

softclock()

src/sys/kern/kern_timeout.c

queue

src/sys/sys/queue.h

イメージアクティベータの呼び出し

src/sys/kern/kern_exec.c

sbrk

src/sys/vm/vm_mmap.c

ps_strings構造体

src/sys/sys/exec.h

mmap

src/sys/vm/vm_mmap.c

execve

src/sys/kern/kern_exec.c

gettimeofday, settimeofday

src/sys/kern/kern_time.c

adjtime

src/sys/kern/kern_ntptime.c

SIGPROF, SIGVTALRM

src/sys/sys/signal.h

profclock()

src/sys/kern/kern_clock.c

UNIX Magazine 2006年3月号

「仮想ストレージとしてのファイルシステム[1]」読了。2006年4月号以降は季刊化されたと記憶しているのでこの記事も全部読み終った事になる。Copy on WriteとJournalingによるFileの管理についてざっと説明されているでの「仮想ストレージとしてのファイルシステム[2]」で疑問が残った点は解消。やっぱり順番に読んでいかないとダメかな...。

特集記事「Linuxのプロセス」もついでに読んでみた。ちょうど「BSDカーネルの設計と実装」でもprocess管理の箇所を読んでいたので興味を引かれたため。ただしLinuxのprocess管理の設計目標を理解していないので自分の中でFreeBSDとの比較が出来ているとは言い難い。


2008.02.19 (Tue)

IEEE SPECTRUM

以前から興味のあった"DEC bets on Alpha"という記事をIEEE SPECTRUMのBack Numberから探してみる。しかし見つからない。Alphaの開発の過程やarchitectureを記した記事らしいのだが何が違っているのだろう...とか思っていたら, 参考文献一覧にこれを載せている文書を発見。そしてVol.29 No.7 July '92に掲載されているらしいことが判った。早速Vol.29の目次を見てみると,そのものずばりの題名の記事はない。あるのは"How DEC developed Alpha"という記事。題名を間違えるとはどんな間違いがあったのだろうか...。

日経の雑誌には和訳も掲載されていたらしいがいまさらそれは手に入らないだろうということで英文をそのまま読むことにする。記事は全部で6頁(図を含む)。現在の進捗は16%。


2008.02.20 (Wed)

IEEE SPECTRUM

最初にAlphaの概要,開発の経緯(Alphaの祖先?のPrism Projectが中止されたことでDave Cutlerが辞めちゃいましたとかも出てくる), VAXとの互換性をどう維持するかについての検討について描かれている。CISC命令をRISC命令に変換して実行するという考えはこの当時からあったものらしい(IA32が最初だと思い込んでいた)。2頁目の図はAlphaの集積回路の写真とBlock図。手元のcopyではいまいち画質が良くないのが残念。そしてarchitecture設計へと話が続いていく。現在の進捗は50%。

GQM

訳あってGoal-Question-Metrics(GQM)について調べていたらFreeBSDとApacheの開発について分析した記事を見つけたので後で読むことにする。


2008.02.21 (Thu)

IEEE SPECTRUM

進捗率66%。Alphaの設計寿命の検討(正直設計寿命の検討をどのようにするかというのは明確に理解していなかったのでこれはある意味発見だった), architectureの特徴についての記述。しかしAlphaの設計寿命が尽きる前にDECの寿命が尽きたというのは何とも皮肉ではある。

NetBSD/VAX

ここ数日読んでいたIEEE SPECTRUMの記事の影響でNetBSD/VAXを動かしてみたくなった(Alphaは持っている)。とりあえずmemo。

NetBSD SIMH HOW-TO


2008.02.22 (Fri)

IEEE SPECTRUM

進捗率83%。Chip設計についての話に突入。当初から1 Chipでの実装を目標としていたことや開発期間をどのように決めたか, I/Oの速度を稼ぐためにどのような技術を使ったかについて記述されている。いまさらながらEV+(数字)という名称がExtended VAXとCMOSの世代に由来しているのは初めて知った。

OpenVMS

ちょっと気になったのがHobbyist向けのOpenVMS。今でも手にはいるのか,VAX Emulatorで動くのかなど調べてみることにする。

OpenVMS Hobbyist Program


2008.02.23 (Sat)

NetBSD/VAX

Windows上でNetBSD/VAXを動かしてみた...がこれがすべての間違いの元だった。お手軽に済まそうと思ったらやっぱりNetBSDなりLinuxなりPC-UNIXを使う方が良い。その理由は端末上の表示。cursesを使ったものは全滅。つまりはviすら使えないということで不便なことこの上ない。

まずはsimhを入手してVAX Emulatorの設定を済ませる。NetBSD/VAXのISO image(versionは4.0)を入手したらそれでboot。ここでNetBSDが起動するがinstallerの表示が崩れてしまう。悩んだ挙げ句disklabelを書いてnewfsしてtar ballを展開。要はひと昔前にやっていたinstallそのもの。しかしboot loaderをinstallしようとしたところで挫折してしまう。いつのまにやらdisklabel -Bが使えなくなっている。installbootに完全移行したということは理解したが,installbootの使い方を調べて再tryするのは諦めてNetBSD/VAXのversionを2.1まで落すことにした(弱。そこから先はいつもの道,という感じではあるがなにせviが使えない。sedやらcatやらでrc.confの編集,fstabの作成などをしてようやくMulti User Modeで起動する。

それなりに楽しくはあったが有意義だったかといわれると微妙ではある。

IEEE SPECTRUM

進捗率100%。読了。開発が非常に厳しい日程の中で進められ,EV-3の開発が完了したころにはEV-4の開発が佳境に入っていたとか。そしてProject Management上の努力についても言及されている。そして最後は「古き良き時代は終った」といった感じで締めくくられている。全体を通して当時のDECの持っていた危機感やAlphaの開発のSpeed感がとても良く伝わってくる記事だと思いました。技術開発のNon-Fictionが好きなので今後もこのような記事があれば積極的に読んでいきたいと思います。


2008.02.24 (Sun)

NetBSD/hpcmips

MobileGear R530を譲っていただいたので早速環境を整える。

来週の課題

Open Source Software Development: A Case Study of FreeBSD

Lisp Machine?

Movitz。floppy imageを入手してVMWareで動かしてみたらいきなりLisp処理系が起動して新鮮な驚きが。Lisp Machineもこんな感じだったのだろうか。


2008.02.28 (Thu)

Open Source Software Development: A Case Study of FreeBSD

この論文はOpen Source Softwareの開発がどのような性質を持っているものかを検証しているもの。ApacheとMozillaの開発について扱った論文が既にあり,同様の調査をFreeBSDについて行なったということらしい。FreeBSDを取り上げた理由としては比較的整った開発体制を持っていることや, 長期に渡って成功を収めていること,Bug ReoprtやMailing List Archiveによって検証をしやすいからということが挙げられている。検証されるのはseven hypothesesと呼ばれている事柄であるが,写す気力が足りないので次回に先送り。

NetBSD/hpcmips

段々と環境が整ってきた。画面が狭いのでemacs引きこもり環境。


------------------------------------------------------------

以上、13日分です。
[最新版] [一覧] [戻る]

------------------------------------------------------------

このページはTomsoft Diary System 1.4.2を用いて生成されています。

Takehiro Suzuki