「OS自作入門」
■ このスレッドは過去ログ倉庫に格納されています
・著者:川合秀実
・定価:3,990円(税込)
・B5変型判 722ページ
・ISBN4-8399-1984-4
・発売日:2006年02月28日
■内容紹介
プログラミングの基礎からはじめて、
30日後にはウィンドウシステムを有する32bitマルチタスクOSを
フルスクラッチで作り上げるという入門書。
ビギナーでも無理なく作成できるよう
PCの仕組み・アセンブラ・Cの解説から始まり、
試行錯誤を繰り返しながらアルゴリズムを学びつつ、
たのしく自由な雰囲気でOSをゼロから構築していくという、
他に類を見ない手法による、趣味と実用と学習を兼ね備えた
OS作成の入門書です。
安い本体買ってきて試してみようかな
エミュでもいいけど、実機で動いたほうが感動するし この本3つに裂いて読んでるところです。
軽くなってイイ!! >>145
古本屋に売り飛ばしたりしないんなら、この手の本はそうするのが正解かもしれんわな。
でも、図書館で借りた本でそーゆーことすんなよ。 裂き方にもよるな
文字とそれ以外に分けて裂いたり
拍子ビリビリとかにしても軽くならないし つまり、付属CDにpdf版もインストールしとけ、ってことですか? >>65
ICE使うとハード壊れない?
いま、SlingShotっての使って作業してんだけど、
ハード壊れたら怖いなーと思ってる。。
気にすることないのかな?
破壊を防ぐには実行前のレビューをして責任を分散
することでしょうか?w
つか、レビューもろくにしてくれないチームなんだよな・・。
壊れるのは、
・単なるミス
例->入力ポートに出力して過負荷になって壊れる
・他の要因
例-> LEDのダイナミック点灯のように、止めてしまうと定格を越えてしまう場合に
他の奴が割り込み禁止期間をそれ以上かけてしまった
とかであって、単なるミスはICEでステップ実行でもすれば防ぎやすいのかもしれないが
ICEを使ったら防げるというようなものじゃない。
逆にダイナミック点灯の停止のような問題があるとICE入れてもブレークポイント仕掛けられないしね ブログ読んだ。
名前もメールもhariboteosだけど、
hariboteosって名前がでてくんの三日目からじゃない? >>150
まて、そもそも >>65 はやり方に従わなかったか教えなかったのが悪いんであって
ICE使う使わないは関係無いんじゃ… この本つまんねぇww
図書館でパラ見してみたけど、「こうやってください」、「こういうものです」、「ここはこうやります」的なことしか書いてないじゃんw
「自作入門」じゃなくて、「こうやってください」じゃねぇかw 最近そういう本多いね
マニュアルやヘルプ見れば分かる内容を
なんでわざわざ劣化コピーしてまで出版するのか
売れるからなんだろうけど買う方にしてみたら騙された気分 >>157
さすがにマニュアルとヘルプから「OS自作入門」の内容を自前で書ける
人間はいないだろ。理科年表があれば自動車くらい作れるはずという位に
かけ離れている。 >>159
理科年表があっても自動車作れないの? お前、馬鹿? むしろ理科年表見ただけで自動車作れる人間を見てみたいな。
もちろん、自動車に関する知識がある人は無しで。 >>161
俺は、むしろ理科年表だけを材料に自動車を作れる人間を見てみたい。 俺も>>160が言うような奴を見てみたいw
もちろん>>160は作れるんだよな? OS自作入門を市立図書館で借りてきた。
30日以内に20日目(395ページ)までの目標を達成して
どっかのアプロダにそこまでのモノをあげてやんよ
べつにそれをDLしろって言ってるわけじゃないんだからな >>165
図書館に置いてあるのかうらやましい
正直あの本にあるやつをただコンパイルするだけでできるからなそんなん
本で紹介してるもの以外に何か機能つけるくらいしないと評価してもらえんよ 最後までセグメント一辺倒でいくのかー。
ページングに関しては紙面を割けませんかそうですか。
世の中にはx86しかCPUは存(ry そのむかし、ページ単位で管理するのは無駄が多いとかなんとか
言ってた気がする。
その影響でしょうな。
最近読みはじめたのだけど、使ってもいいメモリの位置とか結構適当なんだね。
FDに書き込まれるプログラムの位置もバイナリ直接みて判断してるけどこんな適当でいいの?
図書館によるでしょ
運営市区町村によって貸し出し期間は案外違う >>168
>そのむかし、ページ単位で管理するのは無駄が多いとかなんとか
昔のメモリの少ないマシンを想定しているということだろうか。
さすがにOSASKはページングなんでしょ?
著者の態度として、技術的な事は、たぶん初心者のためと思ってかなりミニマリズム
に徹している感がある反面、変なおしゃべりみたいなのがやたらあると言う...
まあ好きずきだけどな。 >>175
え、そうなんだ。
OSASKの解説をwebでちら見すると... 確かに、メモリ保護の観点では
セグメントはいいのかもしれない。
ただ、いまどきのOSには大抵ある仮想記憶の各種最適化方法はページングなくして
は使えないような... セグメントなりのやり方があるのかな? 夏休みだから、久しぶりに読んでみようかな。
去年の秋に、自室が狭いんで、ベランダにビニール袋に包んで放置したままだったから。
時々無性に読みたくなる時もあったけど、面倒臭さには勝てなかった。 立ち読みしてて、もれなく付いてきますとか書いてある所まで読んだ。
読んでて嫌気がする文が所々にあった。 >>178
ML見てたら、「規格は重要だと思わない。守る必要はない。」とか言ってるか
ら、独自技術症候群の方なんじゃないの。
gasはx86アセンブラとしては使い難い。
せめてnasmを使いたいところだし、
アセンブラぐらい自作でもたいしたことはない。 メモリの上限調べるの、あんなやり方でいいのだろうか?
実装範囲を越えたらリピートイメージが読み出されたり
バスエラー起きたりしないのかPCAT互換アーキテクチャは…
Kは仕様とか規格なんてどうでもいいって言ってるやつだから仕方ないよ。
その言葉を見て、OSASKから手を引いたし。 >>183
PC/ATはメモリのない所は拡張バスの方を見にいくので、
イメージが見えたりはしない。
68kみたいなバスエラーなんてものはx86には存在しない。
まああのやり方だとメモリじゃないものをメモリと誤認識する
事があるので、エラいことになるかもしれないわけですが。
たぶん4G積んでるPCではかなりの確率でそうなるんでないかと。
OS作ろうと思って調べているけど、ATってBIOSだのリアルモードだの「過去」を引きずって汚いシステムなんだね・・・。
いっそ、まったく新しい現代的アークテクチャの64ビットマシン作りたくなってきた。
>>187
ブート部分は、どのOSも似たようなもんだから、そう言うところは
パクレばいいんじゃない。 OS作るならブートローダーだけは作っちゃいけねぇ・・・ ブート部分は既存のをぱくって、その先を作るとかいう本があればいいのに。 >>187
過去が全く無い64bitつうとAlpha位しか思いつかんが…
とりあえずx86を捨てれば幸せになれそうな気がする。
>>192
AlphaマシンがBIOSでx86をエミュっててx86用のVGA BIOSを使って初期化したりしてたの知ってる? SFにToroOSっていうのがあって、FPCで書かれてるんだけど、
えらいソースは短くて読みやすいので、それで勉強してます。
いいとこまで出来ているような気がするのですが、
しかし、もったいないことに、放置されてます。
これ、仮想マシン上でブートできるけど、実マシンで
ブートできないのは、ナゼですか?
あと、ネットワークでブートするようなOSにしたいんですが、
なにを勉強すれば良いですか? >>194
> これ、仮想マシン上でブートできるけど、実マシンで
> ブートできないのは、ナゼですか?
ソースを改造してint 10hとか埋め込みまくって自分で調べなさい。
そうやって自分の手を動かすのが勉強というものだ。
> あと、ネットワークでブートするようなOSにしたいんですが、
> なにを勉強すれば良いですか?
通信はNICのBIOSがやってくれるから
ブートするだけなら自分で通信コードを書く必要はない。
PXEサーバとBOOTPサーバを立ててIPLを送り込みなさい。 >>193
AlphaならケチくさいこといわんでTGAを使うべきでないかと。 >>188
>ブート部分は、どのOSも似たようなもんだから、そう言うところは
>パクレばいいんじゃない。
一般的にはハードやブートの情報を取ってこないといけないし、
OSのカーネルのバイナリフォーマットも違ったりするし、
ある程度ブートローダには手を入れないといけないよね。
あ、それを「パクる」というのかw >>198
たぶん、あなたが想像するようなOSは作れないだろうけど
組み込みに使えそうなシンプルな物を作った人はいるかもしれない。 >>199
そういう方面に要求されるような事にはまったく触れていないので、
多分いない。
正直、この本はOS開発に少し興味がある人がその好奇心を満たすだけの本だと思う OSが作れるとか言うのはともかく(おい)、
こういう、ハードに近い部分のコードを一行一行いい意味でチマチマ説明していく
タイプの本は、かえって新鮮だなと思った。
ちなみに、一見詳細に説明してあるように見えて、よく読むと新しい概念を説明なしに
どんどん登場させているので、本当に知らない人が読みやすいのかという疑問はある。
でも、読む側もよくわからないことはとりあえず放置して進むことも大事なのかな。
プログラミングを長年やってると「定義は、それが参照されるまでに行わねばならない」
とか思っちゃうけどw この手の本で真面目にそれをやると、前半部分が超重くなりそうだし。 OS作るのに必要なファイル類はどんなのでしょうか? ソースファイルとヘッダファイルとメイクファイルぐらいじゃね。 >>208
そう思っていた時期が俺にもありました。
ヘッダを更新した時に、依存してる奴のコンパイルを忘れて
謎の現象に悩むことになるんですな。
で、原因に気がついたときにものすごい疲労感に襲われると。
常に全ソースリビルドすればいいとか言わんように。
モトローラSレコードかインテルHEXでいいんじゃね? >>208
根性があればソースファイルもいらんだろ。
バイナリエディタで機械語直打ちとか。
ほとんど神の領域だと思うが。(w >>209
メモリモデル(死語)を混在させてしまっていたことに気づかなかった私はどうなるのでしょうか? さらに発展させると根性があれば、それこそOSすら要らないな しかし、いつのまにかOSを作っていた、というのはありそう。 3日目ぐらいでずっと放置してたんだけど
久しぶりに4日目から読み始めたらCが出てきてスルスル読めるようになった。 この本の前半戦、16bit modeで動くのに何でCでかけるの?
cc1.exeで32bitコードを16bitコードに変換してる? ソース見たことないけど.code16gccとか使ってるんでないの? この本を買わずに、どこかのサイトで親切にOSの作り方を
教えているサイトありませんか。 >>224
ここは「OS自作入門」という本のサイトなので、貴方の質問はスレ違いです。
他の該当スレで質問なさって下さい。 分かりました。一応、ググってみたんですけど、無かったので、
このOS自作入門を買う事にしました。
C言語で画面に文字を表示するぐらいしか、知識を持っていませんが、
こんな僕でも作れますかね? すごいな。OS自作かあ〜。
ハード面の知識がないので><
そういうのはホントにすごいと思う。
OSを自作するってことは、
周辺機器のデバイスドライバも自作するってことでしょ?
>>228
本当に作りたいという想いがあれば もう、想いがないんだよな〜・・・。
コンピューターへの。
プログラミングは情熱でするものですよね。 このOS自作入門はどれぐらいのレベルのOSを作ることができるの?
1)ハードディスクではなくフロッピーからのブート
2)32bitモードへの移行とメモリ・割り込み管理
3)BIOSを使わないでディスプレイへお絵かき(ドライバレベルではない)
4)マウス割り込みを使ってディスプレイへマウスのお絵かき(ドライバレベルではない)
ドライバは作ってない
ウィンドウシステムはない
ttp://www.petatv.com/tvpopup/video.asp?video=agri_long&Player=wm&speed=_med
良いとこ
・普段使わないようなRing0の命令に触れる事が出来る
・プロテクトモードに関する知識が得られる
・マウスやVRAMの操作に関する知識が得られる
悪いとこ
・Windows用のツールを使っているため別OSではそのまま試せない
・16ビットBIOSによるディスクアクセスしか扱っておらず、
32ビットモードになってからディスクアクセスする方法について全く分からない 別の本だけど、こっちも「OS自作入門」
12ステップで作る組込みOS自作入門
ttp://www.amazon.co.jp/dp/4877832394/ どっこいどっこいだけど
こっちの方が技術的な感じがする
著者がチョンなので文章もチョンなところがある
作りながら学ぶOSカーネル 〜保護モードプログラミングの基本と実践
http://www.amazon.co.jp/dp/4798022543/ ■ このスレッドは過去ログ倉庫に格納されています