「OS自作入門」
■ このスレッドは過去ログ倉庫に格納されています
・著者:川合秀実
・定価:3,990円(税込)
・B5変型判 722ページ
・ISBN4-8399-1984-4
・発売日:2006年02月28日
■内容紹介
プログラミングの基礎からはじめて、
30日後にはウィンドウシステムを有する32bitマルチタスクOSを
フルスクラッチで作り上げるという入門書。
ビギナーでも無理なく作成できるよう
PCの仕組み・アセンブラ・Cの解説から始まり、
試行錯誤を繰り返しながらアルゴリズムを学びつつ、
たのしく自由な雰囲気でOSをゼロから構築していくという、
他に類を見ない手法による、趣味と実用と学習を兼ね備えた
OS作成の入門書です。
>>27
今は同じ意味で使ってるんだよ
情報処理試験でもアセンブラと書いてある >>34
昔、コンパイルやアセンブルが通ると
「バシシ!」
とか言ってたよなぁ。 >>28
近頃の年寄りは・・・って言われたいですか?
とりあえず書き込みAPIの自力実装して何人がディスク壊すかな?
正しく動かないと、試したとたんに・・・
書き込みくらいで壊れる訳ないと思ってると壊れるんですよね 不思議 自力でディスクにデータ書くんだから不思議じゃないよ。
書く場所間違えたら他のファイルとか、管理領域の真上に書いてしまうかもしれないわけだしね。
当然だけどHDの空いてる領域をきちんと見つけないといけないし、
空いてる領域が小さいと、書き込むデータを分割しないといけない。
分割したら次のデータ開始位置のポインタを書かないといけないし。
これがずれると大変なことになる。
管理領域にもちゃんとファイルの存在を明示してあげないとディスクに書いただけじゃファイルとして
認識されない。
まあ、他のOSとまったく互換性のないファイルシステムを1から作る手はあるけどね。
>>43
そういう意味の壊れるじゃなくて
実際にクラッシュするっていう話ですよ >>45
それは別問題だろ。
正しく動いたってディスククラッシュの可能性はあるし、
Windows普通に使ってても起きることは珍しくない。
FDコントローラを直接叩いてヘッドをぐりぐり押し込んで壊すやつを思い出した
そういう壊れ方だしょ 自分で作ったことがないひとには想像も及ばないことかも知れませんね
昔CRTを破壊したのを思い出した。
「パンッ!!」っていって、ちょっと焦げた匂した…
Windows使ってる奴はユーザの行動は全てOSの管理下にあるから
あまり直接ハード叩いて壊すって言うのがわからないのかもね 直接ハード叩いて壊すって言うと
HardDiskを物理的に叩いて壊す
イメージになるんだろうね
>>50
今のモニタだとそこそこ保護回路入っているから基板焦がすのも昔の話だね。 保護回路が燃えたら保護の意味がないだろwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww >>52
保護回路のヒューズに萌えたんじゃないの? 保護回路が燃えることで本来の回路が燃えるのを未然に防いでいる うむ。
保護回路って保護するための回路だろ。
だから保護するためにヒューズが切れるのは当たり前でしょ。
>>54は完全なる現代っ子だな
全部リレーで動いてると思ってるのか まぁ、今のモニターの保護回路は電源切りに行くけどな。 俺の920はヒューズだな
ハイエンドのモニタは多分ヒューズだと思う
液晶だとハイエンドも糞もないからしらないけど 920とは金持ちかよ。
俺は当時ショーケースに輝く920を目で楽しんで実際使ってたのは962。
962とPCを新調したと思って、920買おうかと思ったけど俺には45万の壁は厚かった・・・
ハイエンドCRTはその性質の都合上、どんな信号が着てもそれを性格に表現しようとするから
ヒューズ使う以外にはどうしようもないと思う。
リレー使ってるやつ見たことあるけど、範囲外の信号来るとカチカチずっとリレーが動きつづけて
点滅してかなり負担かけてた。 負担かけるくらいなら切れてくれた方が交換だけでいいからたすかる。
安いのはちょっとでも範囲外の信号機たらカットしたらいいけど、そういうわけにはいかないからね
今現在は机の都合上S2410WとL797使ってるけど、会社の173V7は仕方がないとしてRDS152Xより画質が
悪いのはどうにかして欲しい。
なんかなつかし話したかったの
ごめん、 今の若者はハードの知識がないって言うのは確か
結構いいコードが書けるやつがいたから自分の下に置いたら
ICE使わないで実機で実験してた
案の定暫く後に「ハードが壊れました」って言ってきたよ
「壊れたんじゃなくてお前が壊したんだよ」って理解させるのに
どれだけ時間が掛かったか。
廃棄のCRTを実験台にしてハードの壊し方を教えてやった.
実機で実験してるのを見たにもかかわらず、そのまま放置した
先輩の方が使えない てか、たった一人のサンプルで今の若者を語っちゃうあたりが・・・ 若者の悪口言う前にいいもの作れよ。
いばってるだけで自分で何もしねーじゃん 最近のハードは高密度化のせいで
寿命が短くて壊れやすくなった気がする
某中国で作ってる品質管理がダメダメなだけ鴨試練が
二週間前に買って、買ったその日に10日分読んで、
気づいたら今日だった。 涙ぐましいスレだな。
昔話を気分良く語る年寄りは哀れとさえ思う。
気が済むまで昔の自慢話でもしてくれ。
年寄りをいくらバカにしても貴方が使えないヤツである事に変わりはない バカにされる年寄りにだけはなりたいくないものだ。
掲示板で虚勢張ってもなぁ
一日目からわけが分からない...orz
DW命令とDD命令の意味が分からない。
DBと何が違うんだ? DW・・・データウェアハウス
DB・・・データベース アセンブラ「命令じゃないの? じゃあめんどいから割付けんのやめよう。暑いし」 日本語で「命令」とかいうからおかしくなっちゃうんだよ まぁ、実際CPUが理解する命令とは違うけどさ
アセンブルするときは、それを見て処理を決めてるんだから命令と言えなくもない・・・ アセンブラやったことないのが丸分かりなコメントだな 6502は賞味期限が切れました。
と思ったら(立ち読みした)トラ技でなんかやってたな。 >>64
液晶使ってるやつに「CRT使ってるやつは貧乏人」といわれた
液晶が1万円のCRTを超えたら買ってやるよ
俺は会社の増築時に溜まった有給使ってたら962が廃棄されてたから
SyncMaster 920T, 172Xってのを使ってるんだけど画質悪すぎる
自宅の962を会社に持っていこうか検討中 >SyncMaster 920T, 172X
これって液晶だと思うけど。
オイラは逆に液晶使ってると、CRT置けるスペースのある家を変えない貧乏人だと言われる
四畳半一間だからまさにそのとおりだけど・・。 orz
実際CRTの方が高かったしね CRTが安いと思ってるのは、最近店頭に並んでるようなのしか知らない人だけかと。 フラットパネルか、せめて円筒形の管面でなきゃいやだ。 俺も液晶は172X使ってる。
17インチでちっちゃいけど、フレームが小さいからx4ディスプレイで仕様
CRTは塗り替えてるから型番がわからない。型落ちの25万くらいのものだったと思う。
172Xを一台4万ちょいで買ったから16万とアームで6万で22万。CRTのが高いな
液晶の利点って、小さくて安い事だと思ってる。
普通の事務処理だと発色とか反応速度はどうでもいいから、液晶で十分事足りるし
>>102
消費電力が圧倒的に少ない
熱出さない
部屋のエアコンのコストも削減 >>103
液晶でそれなりの解像度とある程度視認性を確保しようとすると
>>102みたく4ディスプレイとかにする必要があるから、電気代はかかると思う
そうなるとスペースの問題もCRTと同等になるし価格も同じくらい
17インチでもUXGAとかたまにあるけど、みれたもんじゃない
L797つかってやっと常用できないことはないレベル
板違いスマソ CRTをけなすやつはCRTを常用した事ないやつだけ
液晶をけなすのは金持ちだけ
こんなかんじか? CRTを貶すのは貧乏人だけ
液晶を貶すのは金持ちだけ
こうしとけ マルチタスクいらないんです。
その代わり早く計算したい・・そんなOSがこの本読めばつくれますか?
(マルチタスクにしようが、シングルタスクにしようが、計算速度はそんなに違わないんですかね?最近のcpuは)
最近のCPUということでいえば、既にマルチチップorマルチコアが主流なのでマルチスレッドでないと話にならない。
#純粋な1コアCPU一個で勝負するなら、シングルスレッドの方が速いとは思うが。
それはいいとして、そのOSは事実上GUIもマルチメディアも捨てるということになるぞ。 >>109
速く計算させたいならMS-DOSで動く「応用ソフト」作ってその中でガンガレ。
計算させるだけなら基本ソフト作る必要性もないだろう。
ただし、16ビット演算にする必要性とファイルサイズを64KB以下にする必要性が生じるが。 >それはいいとして、そのOSは事実上GUIもマルチメディアも捨てるということになるぞ。
あほか >>112
シングルタスクでそれらをどう実現するの?
少なくとも>110は完全否定していないようだけど、漏れには無理なように思えるんだ。 あと、初期のマッキントッシュもシングルタスク
古い絵描きソフトにもシングルタスクの名残でMDIじゃなくてウインドウがいっぱいに分かれてるやつあるだろ
ああいうのは全てシングルタスクで動いてた
てかよくマルチタスクとかいう言葉を出しといて、シングルタスクじゃGUIは出来ないとか抜かせるな
お前の技量が全く足りないだけだろ >>116
俺はなにがはずかしいのかわからないんだが?
Windows 1シリーズはどういうものかしらないから、
そこは正しいかは知らないけど なるほど判った。
元々の>>109は計算速度を優先させたいと言うことなのだからその演算タスクでGUIの面倒を見るのは論外なわけだ。
確かにマルチファインダーが出る前のMacは演算中にはGUIも止まってたもんな。
#それはわかったとして、Windows1の頃はタスクスイッチングしてたと思うのだがあれはマルチタスクとは言わないのかな? いや
シングルタスクでGUIは出来ないとか抜かしてるアホに教えるには十分 Windows3.1すら知らない世代か…
あ、あれは似非マルチタスク? 3.1はちゃんとしたマルチタスク。 実装が頭悪すぎただけ。 えっと、たとえば200桁くらいの素数を探すのに利用したいんです。
最新のCPUをつんだPCが計算が速いのは当たり前。
でも、このシングルタスクOSを載せた1、2世代前のPCでも
最新機種と同等の計算速度が出るよ!みたいなOSがあればなぁ・・無ければ作りたいなぁ・・と。
なのでぶっちゃけCRTつながんなくてもいいです。RS−232Cかなにかで親PCに繋げてひたすら
見つけた素数を送り続けるような・・・
バカな考えでしょうか?もしかしてOSわざわざ作らなくてもいけますか? OSを作ってさらにパフォーマンスを上げるのであれば、既存のOSを上回る
CPUドライバなどいろいろな面で、かなりの労力が必要。
本当に単一ならある程度は出来ると思うけど、これくらいもわからないと
ころから始めるのであれば、出来るころには今の最新マシンが10世代くら
い遅れてるかもしれないんで、今最新のマシンを使ってやればいいと思う
シリアルコンソール使うにもそれのドライバが必要。
この本読んでも、蒸気のことには何の役にも立たない 文部省の人見てますか?
これがIT先進国日本の現状ですよ こんな過疎スレをもって、日本の現状などと言われましても・・・ >>124
既存のマルチタスクOSでも不必要なサービスを止めたり、タスクの優先度を変更すれば
それほどシステムに処理能力を持って行かれることはないと思うが。
どうしてもシングルタスクがいい!って言うのならOS作るより MS-DOS + 32bit DOS Extender
辺りを使った方がいいだろう。
少なくとも自作OSよりはマシな開発環境が揃えられるだろうし。 > RS−232Cかなにかで親PCに繋げてひたすら
>見つけた素数を送り続けるような・・・
これで良いなら、計算プログラムにイニシャル部と通信部を付け加えるだけで、
OSなんて高級なもの要らないぞ。
memtest みたいにフロッピー1枚で収まるだろ。 おまえらまじですか…
定計算させるなら、FPGA以上に早いものはないと思うけど…
それ専用の計算装置を作るんだから、PCで専用OS作るのなんて比べ物似ないくらい早い
どれくらい高速かと言うと、作る人ののうみそにもよるけど自分が作ったのは
Zip2.0のパスワード解析で22.4MPass/sでた。
参考までにCPU: Athlon64 x2 4200+ soft:Advanced Archive Password Recovery
のマシンだと、17.8MPass/s。
クロックでいうとたった80MHzでこのスピードが出る。
俺でもこのスピードが出ると言うことは、本気でやるともっと出ると思うよ。
RS-232Cでデータをリンクさせるっていうのも、まさにそれだし。 ClearSpeedなら96並列演算できるが、ボードもSDKも定価は200万だった希ガス。
Xtrillionなら96並列orベクタ演算できるが、SDKは未だなかった希ガス。
FPGAボードもあるけどこれまた安くないし…… 大学の実習でFPGAに触って、興奮してるんでしょ。 みなさんどうも。
低コストで早い演算を・・とおもいここに書き込んだんですけど、
なかなかそう都合のいいものはないんですね。
マルチタスク→割り込み頻発で速度遅い シングルタスク→割り込み少なくて速度はやい
っていうのは、昔の発想だったのかな?
MS-DOS + 32bit DOS Extenderというのも確かにありかと思いますが、
今のマシンで動くMS-DOSというのはあるのでしょうか?(動作保障外だったと思うのですけど、動くことは動くのかな?)
DR-DOSなんてのも昔あったような記憶が。。探してみようかな?
PS3に個人向け開発環境がでたら、それも選択肢かと思うんですけど、PS2の時の二の舞開発環境ならダメですしw
そもそもPS3に個人向け開発環境が出るのかもまだ分かりませんし。
色々どうもありがとうございました。(ぺこり) >>137
>今のマシンで動くMS-DOSというのはあるのでしょうか?
つ FreeDOS
DOSを起動させるだけでいいのなら、WinXPで「MS-DOSの起動ディスクを作成する」に
チェックを入れてFDをフォーマットするだけでおk ■ このスレッドは過去ログ倉庫に格納されています