1read 100read
2012年4月OS276: OSを基礎から学ぶには? (165) TOP カテ一覧 スレ一覧 2ch元 削除依頼
スタートレックTNGの世界ではVUI(voice) (174)
EOTAについて話そう (166)
マルチカーネルOS開発中... (202)
■★▲DOSはまだ現役! Drive.C: (177)
スタートレックTNGの世界ではVUI(voice) (174)
■■●DOSでネットワーク●■■ (423)

OSを基礎から学ぶには?


1 :01/10/26 〜 最終レス :11/12/26
来春、情報処理技術者試験を受けるのですが、我が身を振りかえ見れば
いろんなOSを使ってはいるものの、OSの基本動作についてはマトモに
学んだことがありません。主記憶管理なりタスクスケジューリングなり
ページングのアルゴリズムなりを、一から学んでみようと思いました。
そこで
(1)どんな書籍を読めばよいか
(2)OSは何を使って検証すればよいか(やはりオープンソースのもの
   でしょうか
(3)専門学校へ逝った方がいいのか
(4)どこかのベンダに小間使いで修行に逝ったほうがいいのか
などなど、御意見きかせてください。

2 :
Linux板にカーネル勉強スレがあるよ.
まあITRONとかでも悪くないけど,ソース公開してない実装系
多いし.

3 :
てst

4 :
まっとうな基礎情報工学の本には必ず書いてあると思うけど。

5 :
とりあえず タネンバウムの書いたOS解説書を狙おうかとも
思っているのですが、どうもアメリカ人の書いたものは
表現が大味で辟易することがあるからなぁ。。。。日本人の
書いた優良書籍があればいいんだけど

6 :
我輩はJUG(蛇具)の主催者Q3だ馬鹿やろう。
今回はファン募集のために書き込んだこの運子が。
まずはこの掲示板に書き込め大量に。このゲスどもが。
くせぇんだよ。  
ttp://kweb.ne.jp/~bbs/mk01/mk01.cgi?jug2
ごめんなさい。(笑

7 :
我輩はJUG(蛇具)の主催者Q3だ馬鹿やろう。
今回はファン募集のために書き込んだこの運子が。
まずはこの掲示板に書き込め大量に。このゲスどもが
くせぇんだよ。  
ttp://kweb.ne.jp/~bbs/mk01/mk01.cgi?jug2

8 :
我輩はJUG(蛇具)の主催者Q3だ馬鹿やろう。
今回はファン募集のために書き込んだこの運子が。
まずはこの掲示板に書き込め大量に。このゲスどもが。
くせぇんだよ。  
ttp://kweb.ne.jp/~bbs/mk01/mk01.cgi?jug2

9 :
我輩はJUG(蛇具)の主催者Q3だ馬鹿やろう。
今回はファン募集のために書き込んだこの運子が。
まずはこの掲示板に書き込め大量に。このゲスどもが
くせぇんだよ。  
ttp://kweb.ne.jp/~bbs/mk01/mk01.cgi?jug2





うっ

10 :
DHIOS+DHIOS+DHIOS







あfさfさfさfさfさfさfskl・

11 :
どんな書籍を読めばよいか→MSDN
OSは何を使って検証すればよいか→Windows2000
専門学校へ逝った方がいいのか→どちらでも
どこかのベンダに小間使いで修行に逝ったほうがいいのか→行かないよりはいい

12 :
>>11
それじゃあ、OSの内部のアルゴリズムはわからないよ。
Win32 APIの使い方はわかるかもしれないけど。

13 :
>>1
OSのいろいろなアルゴリズムを知りたいのなら、最初はTanenbaumの本を読むのがいいのでは?
本によっては、Tanenbaumは分散OSのアルゴリズムまで書いてるね。
LinuxとかBSDなんかの実際のソースを読むのは、それからでも良いと思う。
アルゴリズムがわかってて、ソース読むほうが何してるかつかみやすいと思う。
あと、それぞれの機能については論文を読むってのかな。
ソースは、Linux, FreeBSD, NetBSD, Machなんかをながめてみるのが良いと思う。
学生のころは、他にも以下の本を読んでました。訳本も出てるはず。
Design of the Unix Operating System,
Marice J. Bach
The Design and Implementation of the 4.4BSD Operating System,
Marshall Kirk McKusick
Modern Operating Systems,
Andrew S. Tanenbaum

14 :

OPERATING SYSTEM CONCEPTS, Sixth Edition
Silberschats, Galvin, Gagne
も、いいと思う。
けっこう読みやすい。
Sixth Edition は、ついこないだ出たばかりなので、
Linux, FreeBSD, Solaris, Windows2000 などの、
比較的最近の OS が使っているアルゴリズムについても言及されている。
Stanford Univ. の Computer Science の
学部生向けの OS の授業でも使われている。
以前の Edition では Unix の項だったところが FreeBSD もカバーして
The FreeBSD System と名前を変えて、
Appendix として Online で読めるようになっている。
http://www.bell-labs.com/topic/books/os6-book/index.html

15 :
2ちゃん諸賢各位のご教示に心より感謝申し上げます。
とりあえず、明日大手書店に行って探して参ります。

16 :
本当にOSや、実装されているアルゴリズムを勉強したいなら、数学の勉強を忘れるなよ。
数学抜きで美しいカーネルは語れないぞ。

17 :
情報処理試験の勉強でしょ?
だったら、参考書って読めば問題なし。
あと、コンピュータの動作を知りたいならキャッスルの本でも
買えばよし。

18 :
「酸」と関係ないのになぜ「酸素」?
http://nara.cool.ne.jp/mituto

19 :
>>16
承知しました。頑張ってみます。
>>17
>情報処理試験の勉強でしょ?
>だったら、参考書って読めば問題なし。
はい。確かにそのとおりですし、参考書や問題集も買って読んでます
でも、断片的な知識だけだと、午後問の論文も書けないし、底の浅さ
がバレてしまうと思うのですね。そこでOSとネットワークについては
きちんと勉強してみようと思ったわけです。
今まで、色々なOSをインストールして、ただ飾ってあるだけの人生か
ら一歩前へ出てみようと思うのですね。

20 :
少し勉強して実力がついたらIBMの
Enterprise Systems Architecture/390
Principles of Operation
の1から6章と10章あたりをじっくり読んでOSの機能と
プロセッサの構造に思いをめぐらせておくと良いと思うよ。
後、同じIBMのPowerのSystems Journalに載った
論文もまとめて一冊の本で出ていたと思うから、こちらも
読んでみよう。どちらもIBMから買えるはず。
後は90年代設計のもう一つの雄としてAlphaのアーキテクチャ
マニュアルかな?
IA64はちょっと資料が膨大過ぎて初心者には向いていない。
OSをサポートするハードウェアの構造も合わせて理解して
おくってのがOSをもっと突っ込んで知る良い方法だと思う。
RISCの多くはコンパイラのことしか考えていないから
ESA/390をきちんと理解しておくことはOSを勉強するのに
大事だと思うよ。10章の命令が何でこんな仕様になっているのかというのを
OSからの使い方とともに考えてみようね。

21 :
>>1
なんだかすがすがしいな。 がんばってね。

22 :
Tanenbaum師のModern Operating System は2nd Edithonが今年でたよね。
400ページくらい書き換えたらしい。訳本はまだ間に合わないか。

23 :
Tanenbaumセンセの本もよいし、Lion 本とか、OS のサイズの大きく無いもの
選んだ方がよいよ

24 :
Lionsの本は指導者なしで独力で読むのはちと厳しいと思うよ。
古くからこの分野に関連した人間ならK&RのCの言語仕様や
PDP11のことも分かるけど、今の新しい人間にいきなりってのはどうかな?
かという、俺はゼミの資料につかったけど、相当解説を丁寧に
しないと理解してもらえなかった。

25 :
TOPPERSは?

26 :
タネンバウムのModern Operating System ただいま読んでいます。
スケジューリングのアルゴリズムに関するあたりを読んでいますが
決してサクっと理解できたわけではありませんが、OSの内部に少し
づつ足を踏み入れていく感じで、かなり熱中して読んでいます。
翻訳も悪くないので、読みやすいです。

27 :
引き続きタネンバウム読んでます。スケジューリングのアルゴリズム、読解に
非常な気合いがいりますが、少しづつ目が開けていくような気がしてます。
それはひとまずおいといて、やっぱり情報処理技術者試験合格めざすには
どこかで実務経験積みたいッス。俺はシステム開発の企画はやったこと
あるけど、基幹システムの管理というのは未経験なんです。
謝礼を差し上げますので、どこかでシステム管理者研修生受入をやって
くれる企業ないでしょうか?

28 :
>>16
数学とOSの設計が関係するってどの部分に何が関係するの?

29 :
真性超初心者、非コンピュータ専攻の人でも上にあるような
書籍を読んで大丈夫でしょうか?私も結構興味があるもので。

30 :
>29
好きこそものの上手なれ。
ただ、いきなり高価な本を買っても理解出来ない。
古本屋で、情報処理試験の参考書漁りから始めるのが吉。

31 :
>29
タネンバウムから読んだ方が良いと思う。
情報処理の参考書なんかは網羅的過ぎて役に立たない。
古本屋でタネンバウムのMINIXの本があれば買ってきな。
あれにはPCのハードのことまで詳しく出ているよ。

32 :
表紙に恐竜の絵が書いてある「Operating System Concepts」ってのが
いいですよ。

33 :
ためしに作るのが一番

34 :
じゃ、このスレでOS作ろうぜ。
それがダメなら部分的に仮想コードのっけて、解説してこーぜ。

35 :
おもろいなぁ。
とりあえず起動して2chが読めるようになったら完成(笑)。

36 :
ここの1が数年後のLinusになってくれると面白いモナー
「みなさんこんにちは。いつかの厨房です。
こんなもの作ってみましたがどうでしょう」

そして伝説へ

37 :
1です。
>>36
>ここの1が数年後のLinusになってくれると面白いモナー
数年後のLinusは夢のまた夢ですが、カーネルソースを普通に
読めるようになればいいなと思っています。
デモ Cが読めないと話にならないし、併せてCの知識も身に
付けなきゃいかんなぁと思っております。
それにつけても、わたしをシステム管理見習いにしてくれる
会社ないもんでしょうか。(汗)

38 :
>>37
見習いを募集してるのはしてるが、お前は何ができるんだ?

39 :
江村なんとか氏が書いた
『オペレーティングシステムへの構造的アプローチ』
が絶対的なルだった時代がありましたね。
読んだ方も多いのではないでしょうか?

40 :
START:
   JMP START
まともな2ちゃんOSは生まれないのか(汗

41 :
もう学生生活も終わっちゃうし、頑張って原書で読んでみます。
特に情報処理試験とか受けるわけでもないですが、純粋に興味があるので
頑張って理解に努めたいと思います。
それにしてもこの板の皆さん、ご親切なご指導ありがとうございます。
ここに書き込んでいなくてもそう思っている人は多いはず。

42 :
>>38
SEのパシリから、便所掃除まで雑用なんでもやります。

43 :
ティンコちゃぶれ

44 :
OSの内部ではインターネット時間を使って欲しい。
こんな批判もされているけど、OS内部に限定すれば使えるし便利なような。
http://wam.ascii.co.jp/regular/bill_g/letter/mail/mail101-110/mail101.html

45 :
TODがある。

46 :
>>44
UTC と GMT と TAI の違いを説明できる
ようになってからまた来な。

47 :
現在、職場の昼休みにはTCP/IP関連の書籍、夜はタネンバウム師
の本を読むという生活です。いかに自分がコンピュータとネットワーク
について無知だったか思い知らされつつ、結構楽しんでます。
これらの本、情報処理技術者試験の出題項目に出される内容も多いので
3ケ月かけて読破目標。。。試験のほうは、まぁ3年計画で(汗

48 :
興味深いプロジェクト
http://os.inf.tu-dresden.de/vfiasco/

49 :
>>48
よくわからないんですけど。。ふぃあすこ?

50 :
>>1
OSを基礎から学ぶには、まずCPUの基本的な構造を知らないと、わかりにくい部分が
でてくる、例えばカーネルモード、ユーザーモードがどのようにCPUの機能を使って
実現されているとか、またタスクスイッチの部分は、アセンブラで書かれているので
その部分は、アセンブラの解析が必要になるとかで、そういう部分まで知るように
なってくれば来るほど、CPUの基本構造がどういう風になっているのかを知って
おかないと苦しくなると思います。
 代表的なCPUとしては、Intel8086あたりから勉強すればいいと思います。最初の
OSアルゴリズムを勉強している場合はそんなにCPUの知識は必要ないですが、
OSのソースコードを見るようになるあたりから、アセンブラの知識が重要になってきます
頑張って下さい。

51 :
8086だと仮想アドレスが扱えないから現代的なOSを
理解するにはちょっとね。Lionsの本のPDP11の
方がまだましじゃないか?

52 :
>>51
大体、ソースの公開されているOSは、I8086系の命令を使ったものがほとんどで、
PDP11なんて博物館行かないと見れないよ。本探すのも大変だしね
そんなものを、勉強するのじゃ本を探すだけで結構骨折ると思うが・・・
51さんそう思いませんか?

53 :
386じゃなんでだめなのか?

54 :
>>53
腕に覚えのある人は 386でもいいんじゃないですか
でも、初心者で386は、かなりつらいと思います

55 :
>>52
だから、Lionsの本にPDP/11ならかなり詳しく書いてあるし
ソースコードも実際に実務で使われたOSのものがコンパクトに
まとまっているからそれでいいんじゃないのって思うんだけど?

56 :
>>55
ああ、あの本ね
いいね

57 :
CPUアーキテクチャに関する本で、オススメはありますか?
やっぱりLIONS本でしょうか。できたら比較的入門書
的なのがあると、入りやすいのですが

58 :
アスキーの80486の本眺めてると何となく理解できた気分になれる。

59 :
>57
OSじゃなくてCPUなの?
LionsはCPUのアーキテクチャの本じゃないよ。あれは
UNIXを説明するためにPDP/11を説明しているだけ。
タネンバウムがMINIXを説明するためにIBM PCを説明
しているのとおんなじ。
アーキテクチャについての入門書なら
パターソン・ヘネシーの「コンピュータアーキテクチャの設計と構造」
(うろ覚えだから違ったらごめん)が良いと思うよ。日経BPから
翻訳が出ていたはず。

60 :
おおそうだそうだ
MINIX のことが書いてある本が、OSを勉強しようという初心者にはいいよ。
同時に、386CPUの勉強をしながら
ビギナーの卒業として、OSのソースコードを書いてある Lionsの本を読めば
いいと思う。
つぎにLinuxのソースコードを読めば、実際のOSがわかってくる
次に自分でいろいろとソースコードをいじくって試してみればいい

61 :
プロセッサの機能ぐらいは知らなきゃダメだよ。OS勉強するなら。
というか、OSにとって必要な機能をどれだけ今後のプロセッサが装備してくれるんでしょ?

62 :
プロセッサの機能と、OSの機能はオーバーラップしているものがあるからね。
今度Intelが作る新しいプロセッサは、タスクスイッチをCPU側で行うものらしいし
VLIWのCPUに至っては、命令実行のパイプスケジューリングを、コンパイラに
任せているしね。
まあ、今のとこは、とりあえず初心者は、>>60に書いてあるとおりにすれば
いいよ

63 :
>60
まじめな話、LinuxとBSDのソースの大きな違いはどこなのだろうか?

64 :
gccはいつになったらまともにia64をサポートするのやら

65 :
Linuxは、2.4.0から大幅に機能を強化しています
  ○ カーネルが、安定度をましたマルチスレッド
  ○ ジャーナルファイルシステムを採用
FreeBSD4.4
  ○ 開発グループが、いなくなったのでこれからどうなるかが、わからないです
  ○ 昔のままの枯れた(安定動作)状態のBSD UNIXが継承されているので
      安定動作するが、そんなに新しい革新的な機能は、盛り込まれてない
とこんな感じだと思います  

66 :
>>65
新機能より安定志向の人が多いですからね、BSD。
IPv6だけは力はいってますけどね。

67 :
>>65
開発グループがいなくなった?
なに言ってんだか。
相変わらずL犬X使いはデマを流布するのが得意だな。

68 :
Time Sharing System のIBMからでた60年代の論文てどうやったら手に入りますか?

69 :
>>65
FreeBSDには新しい機能が少ないなんてことはない。
まあ、だからLinuxに比べて安定してるってのも、
必ずしも言えなくなってるかもね。
比較的開発が遅いように思われているNetBSDにしたって、
LFSとか新しい起動システムが作られたりしてる。
USBに関してはFreeBSDよりも進んでる。
開発者云々ってのは、BSDIからWind River Systemに移ったメンバーが
リストラされたことを言ってるんだろうが、
開発者はほかにもたくさんいるし、暇ができて逆に開発が進むってこともあるだろう。
>67のデマを流布するってのは言いがかりにしても、
もうちょっと調べたほうがいいぞ。
>>63
LinuxとBSDの違いは、
Linuxはカーネルだけで、OSとして機能するには
ほかのGNUのソフト等が必要で、
それらのソースはカーネルのソースとこみで管理されている訳ではない。
BSDはカーネル単体じゃなく、OSとして開発されていて、
ソースも当然、カーネルとシェルやコマンド等で、まとめて管理されてる。
あ、それとも*BSDカーネルとLinuxカーネルの違いを聞いてたのかな?

70 :
Linus' Commenttary on UNIX
を改めて今日買ってきて読んでみたら、なかなか解かりやすくていいですね

71 :
Lionsではなくて?

72 :
>>1
整数論から学びなさい。

73 :
はじめて読む486 はいいホンダね。
カーネルのソースをいくら読んだところで
ターゲットの仕様を理解しないことには
意味がないことが分かったよ。

74 :
age

75 :
>73
いい本だけど、わかりやすいのは、MMUのとこだけ 笑

76 :
1:PDP-11のようなマシンの例えばWindows上あるいはLinux上の
  エミュレータ‐があれば、物理的な実機がなくても動作させる
  ことは問題があるまい。なにせ1MIPS程度のマシンだったのだから、
  いまの100MIPSクラスのPCでエミュレートできないはずはないのだ。
2:OSの作成の実際を学ぶ本として何がもっとも適切かは、よくしらない
  のだが、こういった本があるといいと前から思っていることを述べよう。
  それは、アセンブラやCのソースをもちろん乗せるのだが、段階的に
  OSとして必要な機能を徐々に付け加えていって段々と複雑な機能を
  実現していくという形の教科書である。例えば第1章では
  キーボードの割り込みによる入力と、画面への一文字単位での
  出力を実現するというプログラムにする。もちろんまだマルチ
  タスクとか記憶管理などはない。第二章では、非常に簡単な
  ブートローダーを導入する、。。。
  。。。。。となっていって、だんだんとメモリ管理方式の
  さまざまとか、ファイルシステムとか、シェルとか、
  シングルユーザーシングルタスクとか、シングルユーザー
  マルチタスクとか、マルチユーザーマルチタスク、とかにしたり、
  仮想記憶の導入をしたり、プロテクションメカニズムを導入したり、
  通信機能を取り込む、、、などと章を追うに従って、段々と
  本物らしい機能が付け加わっていくというやり方で説明する。
  それぞれの段階でのソースコードと、実際にPC上で動作させる
  ときのそれぞれの段階でのイメージを配置したFDあるいはCD
  がついているというのがよい。演習問題では、各段階での
  機能を一部変更してみるとしてどうすればよいかなどという
  ような問題がよいかも。

77 :
>>76
そういう本ってありそうなもんなのにね。
なんで誰もださないんだろ?

78 :
>77 OS concepts
近いと思うが

79 :
age

80 :
76>>
だれかつくってないのかな?
(1)開発はVCで
(2)バイナリはFDにコピー
(3)ブートからの解説(LINUXは難しすぎるので最小限FDだけ使いるように)
(4)簡単なコマンドDOSのDIRとかCOPYとか
(5)マルチタスクができる
シンプルでいいから(GUIはいらない)つくってよ!


81 :
>>80
自分で作れ。

82 :
マルチタスクでGUIなしってどんなん?

83 :
linux
ls 6みたいなやつ

84 :
ls &だ

85 :
>>82
コンソールの裏で複数のプロセスが同時進行っていう感じでしょうか。
X-WindowなしでUNIX系OSを一度使ってみればわかると思います。
「マルチタスクOS=窓がいっぱい開いているOS」っていう固定観念が
解消すると思いますよ。

86 :
&を作ればバックランドで実行されるてやつ

87 :
http://www.inkando.com/cgi-rankingplus/rankin.cgi?id=0511030508

88 :
うんうん

89 :
alt+F1とかF2とかってみんなあんまりつかわないんだね

90 :
勉強になるなぁ

91 :
>>89
いや、俺は使う。

92 :
タネンバウム氏の著書『オペレーティングシステム 設計と理論および
MINIXによる実装』を読み始めたのですが、一章目からつまづくことが
多くて困っています。特にシステムコールやOSの構造に関する概要を理
解するのに非常に手間取ります。
僕は、パスカルを一通り勉強してC言語の基礎的な本を一冊勉強した程度
のレベルなのですが、この本はレベルが高すぎるのでしょうか。
ご助言をいただけたらと思います。

93 :
>>92
非常に手間取っていいんだよ。
苦労しないと。

94 :
>>92
って言うかさ、君くらいの知識であの本をさくさく読めて一発で
内容がわかる奴が居たらオレはそいつを神って呼んでやるよ。
当然オレもダメだったが。
まぁとにかくその心意気や善し。がんばれ。

95 :
>>93
>>94
あたたかいお言葉、ありがとうございます。
やはり苦労しないと勉強にならないですよね。
くじけず頑張ってみます。
なお、知らない用語を検索してみたら計算機関係の
単語だということがわかりました。OSを完全に理解
するには、計算機自体の勉強が必要のようですね。

96 :
放送大学でやってた。ずっと前・・

97 :
age

98 :
age

99 :
!sage

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
どこまでがOSで、どこからがアプリか? (186)
OS板の名無しさんを決めるスレ (132)
東京大学に Mac 大量導入 (745)
ゲイツがPowerPCで動くウインドウズを開発してる噂 (127)
インストール回数制限 (176)
変な環境でwww見てるヤツ集まれ!! (273)
--log9.info------------------
【avex】a-motion'06 オーディション【USEN】 (272)
●クリスマスといえばこの曲、だろ● (607)
RUSH BALL2004総合スレ (963)
オマイラのCD棚の左から6番目のCD教えて!! (147)
ロキ厨房だけどもっと音楽の事知りたい。 (123)
☆♪カバー曲スレ☆♪ (236)
正体がバレた最強の荒らし熊井戸(偽名は田中) 4 (998)
くだらねぇ質問はハニカミが全部こたえますっ! (145)
BEATLESコピーバンド!3 (506)
統合【ポールソロ】デジタル・リマスターVol.3 (590)
ビートルズ★再び毎日1曲ずつ議論するスレpart57 (293)
ポール来日公演2012 (605)
【忘備録】おきゃんぴーの中野 (591)
自治スレッド−1 (168)
西新宿ライトハウス 池ちゃんの微笑は1万ドル (371)
〜THE BEACH BOYS vol. 34〜 (131)
--log55.com------------------
不運、不幸、失敗、叱責を引き寄せる体質の人
もうすぐ首都圏に大地震がくるよ
不登校児俺、今日も学校に行けない
幸せになれる気がしない
暗い おとなしい 元気がない 声が小さい
フリーターだけどもう働きたくない。
◆男に生まれた時点で負け組◆だよなぁ
高校中退の生き様その2