4.4BSDの設計と実装
洋書はハードカバーだったような。
コンピュータの本なんて、ペーパーバッグでいいとおもうんだけど。 ペーパーバッグ ワロタ
(もしネタじゃなかったならゴメソ。なんかツボに入ったの) 皆さんこんばんは。イチです。今日も歌舞伎町で泣いています。
第1章から皆さんとともに読んでいこうと思います。
第1章は歴史と目標です。
歴史はUNIXの1/4半世紀を読めばだいたいわかるでしょう。
目標は多くのハードウェアのサポートとメモリシステムの改良とPOSIXサポートらしいです。
以上。斜め読みした結果です。 BSDの目標に移植性のよさってのがあったんですね。
初めて知りました。そこらへんからFreeBSDを虐待する
ような行動が生まれるわけですね。 皆さんこんばんは。イチです。
今日から数日かけて第2章を読んでいこうと思います。
第2章は設計の概要について述べられています。
まず、カーネルについてです。
その時代の研究用OSのカーネルはホントに小さかったようです。
いわゆるマイクロカーネルってやつでしょうか。
それに対して4.4BSD(伝統的なUNIX)では機能が追加されるにつれて大きくなっているようです。
なんか「LINUXは時代遅れだ!」を思い出してしまいました。
>>26
マイクロソフトとちっぽけなソフトとが違うみたいなもんですか? 皆さんこんにちは。イチです。
>>26さん
私はてっきりマイクロカーネルだと思っていました。
で、4.4BSDには直接関係なさそうですがマイクロカーネルについて調べてみました。
wikipediaによると
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB
オペレーティングシステム(OS)の機能を分割し、 カーネル空間で動作する部分を必要最小限にするオペレーティングシステムの実装方法およびそのカーネル
とあります。
うーん、小さいこととマイクロカーネルは違いますね。
マイクロカーネルといえばMachを思い出します。
追伸:今夜の読書はお休みいたします。
皆さんこんばんは。イチです。
第2章を翻訳したものがWEBにありました。
http://www.jp.freebsd.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/design-44bsd/
です。
当然のことながら日本語訳の本と一緒ではありませんが、言っている内容は同じのようです。
2.2カーネルの構成にある表を見ると、4.4BSDの機種非依存部の合計が80%になることがわかります。
いやー結構な割合ですね。
仮想メモリ機構は依存・非依存どちらにも関係してくるんですね。
私はメモリ管理部分に興味がありますので、その部分を読み進めていきたいですね。
UVMなどの仮想メモリも勉強していこうと思います。
まったく関係ないんですけど、4.4の表紙では何でデーモン君はスニーカーを履いていないんでしょうか?
知っている方がいらっしゃいましたら教えてください。
>>30
昔Darwinのソースを読んだときにそれは気が付いていた。
システムコールはプロセス間通信ではなくてサブルーチンコールに
書き換えられていた。
Mach3.0ベースなんだけどマイクロカーネルではなかったMach2.5
と同様な形に先祖返りしているようだね。直系ではないのかもしれ
ないけれどやっぱりNEXTSTEPの子孫なんだろうね
>>31
むずかしぃ。(汗
ファイルサイズと、モジュール部分の割合は関係ないって分かってるんだけれど、それ以上が。。。
いろんなWikiよんできます。
昔は今よりもシステムコールのコストが高かったのかな。
それとも、新しい仮想メモリ機構が実現する共有メモリの
アイディアにみんな酔いしれていたんでしょうか。
WindowsNT3.51はどういう実装だったんでしょうかね。 >>20
亀レスひたすらゴメソ
MINIX1.5本の翻訳もアスキーだったが、それはもうめちゃめちゃな日本語だった。
MINIX256倍本でもその質の悪さに触れた箇所があった・・・
MINIX2.0は(アスキーじゃないが)比較的まともな翻訳だったかと・・・ >>34
> MINIX2.0は(アスキーじゃないが)比較的まともな翻訳だったかと・・・
そーか?
訳者が内容を理解していないとわかる、言語明瞭かも知れんが意味不明瞭な翻訳だと思う。
>>23
砂川センセはUNIXの1/4世紀の和訳をボロクソにけなしてたけど
4.4BSD本の和訳の自信のほどは如何ほどなんでしょね。 >>36
砂川チェンチェイも「監訳」なんて肩書き恥ずかしくないのかな。
原書出版から翻訳出版までのかかりすぎの時間、その割りに妙な日本語が目立つ
文章、細かいことながら誰にでも判るほど明らかな事実の誤り、訳注の少なさ、
参考文献リストに当該文献の邦訳を挙げてない不親切さ・・・
何れも基礎知識の足りない学生に翻訳をさせ、御自身は名前だけ出すというあり
がちなパターンになってしまったと見た。余談ながらこのような翻訳の役割分担
を別宮貞徳氏は「キセル」と呼び厳しく批判している。
この本を必要とするような人種は原書も読みこなせる程度の英語力が元々ある
だろうから、わざわざこの翻訳に頼らなくてもいいと予想する。もっといえば、
翻訳版を熟読するよりは原書を読む努力をしたほうが、あとあと役に立つ知識を
得る事が多くあると断言しよう。
ま、漏れは原書の出版早々に入手して前書き+αで挫折したクチだから偉そうな
こと言えんけど。原書の価値と翻訳の質の低さを考えれば久々大物の「買っては
いけない」本の登場だと思う。 翻訳大作戦成功ですね。役所を買わせてついでに原書まで買わせる。
最初から原書を読まないのがいけないんですが。 まあまあ。>>37みたいなモグリ以外はわかってるって。
> この本を必要とするような人種は原書も読みこなせる程度の英語力が元々ある
> だろうから
なこたーない。
# っていう話を昔、某スレでも延々してた気がするなあ。
> ま、漏れは原書の出版早々に入手して前書き+αで挫折したクチだから
ひょっとして、某スレにいたヤシも、実はこういう英語ダメな奴が
妄想で書いていたのか?
洋書の書店は平気でドル300円だったりするからだろう。
紀伊國屋ドットコムは会員ならドル112円だから
そっちで買ったほうがいいと思う。 Amazon.comのマーケットプレイスで購入したら結局は同じぐらいか・・・ 洋書の書店は買い取りだからな。どうしても高くなる。 ASCII は今エッジだから、
昔のアスキーだと思ってはだめ。 つか、今さら翻訳出しても誰も読まないんじゃないの?
みんなUnderstanding the Linux Kernelの翻訳読んで満足してそう。 >>51
さらしてクラはい。
>>52
関係ない人ほど買っていそうな。一種のお守りみたい。 >>53
FreeBSD-users-jp でだからログあさって >>53
まさに私はお守り、記念として買いました。だっていまさら4.4を勉強する
のは無意味でしょ。もっと早く出してればねー。 >>55
だったら原書のほうがなおさら御利益ありそうな (-人-)ナムナム この本今さら読むぐらいなら、Solarsiの本の方がいいと思う。 ソラージまんせー。
ソラージ >>> [超えられない壁] >>> *BSD > Linux
勝ち組はみんあソラージ。 ソラージ
ttp://216.239.59.104/search?q=cache:PjvFsieKjscJ:cn.sun.com/bignews/nc03q2/techinnovate/+Solarsi&hl=ja&ie=UTF-8
なんだかソラージってライーヨつーかロシアのOS?
やっぱ惑星ソラリスが起源なの? 正誤情報が更新されてますね
誤 〜半尿アドレスが〜
正 〜汎用アドレスが〜
ワラタよ 正誤情報
http://www.ascii.co.jp/books/support/
すげー数だな152個って。
しかも152個目って何も書いてないし。
正誤表にも間違いがあるのかよ?
のっけから人名間違いかよ…。しかも Thompson も間違っているし。
改めて見ると、本当にエディトリアルなミスが多いな。
>66
>> 正誤情報-39
きれいになってるw
ここ見てるな
それはそうとこんなに誤植が多いなら返品っていうか交換してほしい
原書と >>68
原著を買った漏れは勝ち組でつか。
読めないけどな……。 P532
誤 大久野
正 多くの
というのがバカバカしくて気に入ってる。 ああ、正誤表あったのか。誤りともいえないようなものも含まれてるけどね。
邦訳つけたのは漏れのレス見たから?まさかね。 原書の英語もなんかちゃんとした英語になってないところがあるような気がするのは
おいらの修行が足りないせいなんでしょうか。 > You is a big fool man.
> Hahahaha. 安全モード/無防備モード というほうが
セキュア/非セキュア という語よりも
セキュリティ意識は高まりそうですね 「無防備ではありません」とかいう言訳が流行りそうでヤダ。
「4.4BSDの設計と実装」とりあえず、買いますた。
あとLion's Comentary on UNIXもGETしますた。
他にお勧め本あるでつか?
386BSDカーネルソースコードの秘密は取り寄せ不可といわれますた。
>>78
本じゃないけど、
お前らBSD Magazine買いましたか? No.2 (現在dat行き)
http://pc.2ch.net/test/read.cgi/unix/1029640009/
から引用。
SA(Scheduler Activations)の論文
ttp://web.mit.edu/nathanw/www/usenix/freenix-sa/freenix-sa.html
SMPngの総本山
ttp://www.freebsd.org/smp/index.html
Architecture HandbookのSMPngの章
ttp://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/smp.html
manual pageのsection 9
(とりあえず↓ここら辺りかな?)
ttp://www.freebsd.org/cgi/man.cgi?query=mutex
ttp://www.freebsd.org/cgi/man.cgi?query=ithread
ULE schedulerについて
ttp://www.vda.lt/files/0.779592001059401925.pdf >>78
UNIXカーネル内部解析
中身は全然 UNIX の話じゃないけど。
これももう絶版なんだっけ? 「初めて読む486」
っていうかプロセッサの知識ないとカーネルなんて永遠に理解不可能
なのは分ってるよね? >>84
だからって486よむことないだろ。あんな複雑怪奇なものを。
ヘネパタかパタヘネのほうがいいよ。 >>85
なんでそこでパタヘネなんだか。。。カーネルの理解に必要な
プロセッサの知識とはずれてるだろ。
ところで、複雑怪奇って386のこと?386ってそんなに変なの?
おれはこれしか知らないから分らない。 >>87
リアルアドレスモードとプロテクトモードがあったり、
セグメントがあったり、
セグメントリミットの指定にバイトグラニュラとページグラニュラがあったり、
特権レベルが 4 段階あったり、
命令セットにオペランドサイズプリフィックスなんてのがあったり、
浮動小数点演算がスタックアーキテクチャだったり、
浮動小数点の形式に 80bit のテンポラリリアルってのがあったり、
‥‥‥とまあ、
それよりも後にまったく新しく作られた CPU と比べてかなりユニークであることは確かですね。
CISC と言われるわりには、命令セットそのものは複雑ではないですけど。
僕は大好きですよ、x86。
可変長命令のおかげでコードがコンパクトでキャッシュヒット率も高いし。
それに、なんだかんだ言っても速いし。 >>78
BSD Magazine の vol.4 と 13 と 16 >>89
x86が速いのはデザイン的なところとは全然関係ない競争原理の結果だろ。
どっちみちkernel読むのにプロセッサの知識は必要だとはいえ
特定のプロセッサにかたよった知識は全然必要ないんだから
そこで486の本を薦めるのは間違ってるわな。
プロセッサの本は思いつかないが、
オペレーティングシステムの概念(ISBN 上巻:4563013331,下巻:456301334X)
は結構よかったような気がする。 ↓これも面白かった。
ttp://www.cqpub.co.jp/interface/contents/2003/200311.htm ま、常識として 86 はおさえとけや。
「ま、常識として 86 はおさえとけや」って
言えるようになるから。 >>92 で思い出したが、Oh!X 1999年夏号からの連載も結構良かった。 >>93
変態命令セットをいかに高速に実行するか、っつーアーキテクチャ的なところは
いろいろ面白いかもしれないけど、OS基礎の教材としてはいまいちじゃないかなあ。
4.4BSD本ではhp300が例で挙げられてる箇所多いからm68kも知ってた方がいいのかしら。 >90
バックナンバーのDVDにはいっていたPDFファイルでもってます。
ちょろっと読んだけど面白そうですね。 持ってる記事すら今まで読んでなかったのにそれ以上新しい本買ってどうする。 >>97
初心者の本の馬鹿買いを止めてどうする。
出版事業ってものをまるで分ってないですね。 http://www.netside.co.jp/~mochid/comp/simh/simh-43q.html
どうよ
ブートローダーいれるの失敗したウワワァン
ところで、4.4BSD-Alphaが無償DL可能だが、エミュに入らんのかね。
4.3,2.11で別に困ってないけど。
x86の勉強を勧めないとか言ってるやつはアホ.
普及してるアーキテクチャの勉強して何がわるいんだか.
手元にx86以外の麻疹があるやつなんて珍しいだろ. まあ、手元にあるマシンを勉強するのが楽しいですな。
x86の勉強はしてもいいんだが、単に原理を勉強したいだけで
実際にゴリゴリプログラムするつもりがないなら、他のCPUの
方が向いてる気がするのも確かだろう。
x86は無駄に複雑だからなあ。 >>105
>>29が書いてるように手元にないCPUの解説でも考え方を知るだけなら80%は困らんよ。 うちの大学は architectureの授業のネタが PC9801だったよ。
10年以上前だけど。。。。
とにかく動く実物(エミュレータとかじゃなくて)が
目の前にあるのは利点だったけど、
いまの doze環境だと symdebとかなくて気軽にさわれなさそう
だしな。。。
ところで、トリビア
4.1BSDは本当は
-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/
-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/
-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/
-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/
-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/
-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/
-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/
-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/-\|/
5BSDにするはずだった。(SysVと間違いやすいから。 間違えやすいからではなくて、「おらお前ら俺等のしすごと
まぎらわしいんじゃぼけぇ。」ってAT&Tにつっこまれたから
じゃなかったっけ。 >>113
BSDマガジソの記事ではそうなってるね。 6にすればよかったわけね
ま、なんにしても、最初はメジャーバージョンがガシガシ上がって、
だんだんマイナーバージョンしか上がらなくなる法則 Solarisなんかだとその逆法則が効いているわけだが
OSは末期になるとメジャーバージョンがガシガシ上がる法則
eg. RedHat
http://park2.wakwak.com/~benki/img-box/img20040305170055.jpg
http://park2.wakwak.com/~benki/img-box/img20040305170241.jpg