「30日でできる!OS自作入門」
■ このスレッドは過去ログ倉庫に格納されています
プログラミングの基礎からはじめて、
30日後にはウィンドウシステムを有する32bitマルチタスクOSを
フルスクラッチで作り上げるという入門書。
ビギナーでも無理なく作成できるようPCの仕組み・アセンブラ・Cの解説から始まり、
試行錯誤を繰り返しながらアルゴリズムを学びつつ、
たのしく自由な雰囲気でOSをゼロから構築していくという、
他に類を見ない手法による、
趣味と実用と学習を兼ね備えたOS作成の入門書です。 >>624
まず、続編という発想(というかなんというか)がダメ。
いくら30日本が売れていようとも、続編がそれ以上売れることは無いわけで
30日本発売当初も、安く仕上げることとか、
最後まで見てもらえるようにと、あんな人を殺せそうな厚さの本にしたし。
(複数冊に分けずにね)
それにKも、4月からは先生業を始めるし、
やっと30日本のサポートのほとぼりも冷めて開発自体もなんか楽しそうなことだし
多分、続編は書籍にならないで、KかKの周辺の人が
・まとめて印刷用PDFでも置く とか
・(まさかのカオちゃんのエロ同人と共に) 同人誌として発行する
とかぐらいじゃないだろうか・・・
(「続編を出すなら同人誌として」ってのは、同じくそこそこ売れたフィギュア製作の本の著者の人が言ってたんだよなぁ) >>622
> >>621
> まさかここまでは来ないだろうw
>>620 と1分以内で、NWSスレにトリ付けてレスを書いてる。ほぼ確定。
やめなさいよそういうことは>L 柳の下の2匹目のどじょうは、本人が狙ったら「2番煎じ」と叩かれるだけ。
古くなった内容を刷新して、内容を増強して、という「第2版」なんてのは、
そんなにすぐに出せるようなもんじゃない(すぐ出せたら一冊めが手抜きってこと)。
例外は、1冊目が内容を削りに削った本だった場合ぐらい。
まして30日本は、次に読む本として想定されてるのが、Unixのカーネルの本とか
リアルタイムOSの入門本(CQ出版の「オペレーティング・システムの基礎」とか)
のような学術的だったり高度な本で、そのレベルの本はKには書けないw >まして30日本は、次に読む本として想定されてるのが、Unixのカーネルの本とか
>リアルタイムOSの入門本(CQ出版の「オペレーティング・システムの基礎」とか)
>のような学術的だったり高度な本で、そのレベルの本はKには書けないw
そっちに行く必要はないんじゃない?たった二ヶ月目で出来る?
改訂しろっていう訳でもなくて、宿題にしておいた分とかが出来ない人の為の模範解答、いわば補習本だな。
そもそも誰も全然、30日で棚上げにした問題とか発展課題とかをやってないんだよ、著者自身も含めてさ。 実際のところKはもっとレベルの高いことができるんだろうけど
読者のことを考えてレベルの低い本にしてるわけかな?
能ある鷹は爪を隠すってやつ? >>629
そんな余力があるならもう少し応用が効くようになってると思うわけだが。
世の中には、「OS自作キット」なんてものは
ないのかなぁ。 革細工のキットなんてのはカットまでされていて縫うだけってのもあるが
それならもう、組み込みと大して変わらん気がする >>632
OSKit
止まってるような気もするが…
Windows from Scrach マダー?? 筆者がひきこもってしまったので話題がないのです。
というか、30日で完結してしまってその後の応用課題的な物がないので
読み終わった後、どう手を動かせばいいのかわからんという。
内容的にはCでOS自体を作る事を主眼にしてるからなあ。
漏れの欲しい情報は無かったが、os作ってみたくなる感じには成るな。
料理で言うとレシピみたいなもので、原理とかなぜ?ってのは全然解決出来ないが、記述されてる手順に剃って進めれば、一応OSらしきものが作れる様には成ってるって意味では、よく一冊にまとめたとは思う。
でも実際独自os作ろうとすると、仕組みとか理解出来てないと無理なので、圧倒的に情報足りないし、そのへんのフォローも無いからなあ。
即席過ぎて、実機でヲレOSを動かすようなリアルな戦場に投入したら、一瞬で機銃掃射受けて即死って気分w
次、描く気力有るなら、PCアーキテクチャでの独自osの組み込みかたのほうを深く掘り下げて欲しいな。本格的な組み込み目的にも使える様に、非PCの場合の組み込み方法も最初だけでも説明出来てると完璧。
linuxあたりのブートローダを自力で解析したほうが速いのだろうけど。
気になった点:
今更、fddって。
hdd起動からスタートしたほうが現実的。int 0x13のdisk bios使える部分で十分だが。
なぜブートストラップをbios読み込み後に、独自os読み込みが必要なのかさらりと流されて説明されてなかった様な。
biosの起動処理では1セクタの512byteしか読まないとか、独自os読み込んだり、osに制御移す前にいろいろ準備しておくのはブートストラップの仕事とか説明が必要だと思う。OS作るほうが主眼にしても、自分で土台が作れないと、osも読み込めない。
独自ツール付属させて使わせるのは、敷居下げてos作りやすいけど、途中丸ごとすっ飛ばしてる訳で応用が利かないから、ちゃんとnasmでのやりかたも取り係だけでも説明するべきだったと思う。あるいはハンドアセンブルだけで進めちゃうとかw
なんか、自分が欲しい情報を描いて自費出版したくなってきたw
os自作本の出版入門本なのかもなw
チョンのほうの自作本は酷いな。
最初にヲレリナックスもできるけど敢えてウィンドウズで描いてるから勘違いするな的文言がいきなりアレだし。
わざわざセグメントの説明している重要な所の説明がいきなり間違ってるしw
ちゃんと確認すらせずに出版するのがチョンクオリティなんだろうなw 独自ツールって、ソース位付いてないの?
あるなら見ればどんな処理やってるかわかると思うんだけど。 見れるくらいなら本読まなくてもos作れると思うが。
osのソースぐらいインターネットなら無料で拾える。 なにその鶏と卵。
メンドι)から親子丼にして出してくれよ。 っていうか、アセンブラなんてハローワールドのサンプルさえあればあとは切り貼りで使えるじゃないか。
一体乗り換えで何を悩むんだ? Hello World に一致する日本語のページ 約 585,000 件 (0.38 秒)
らしいが、サンプルなんて無いよw 585000件全部調べてから言ってる?
まあ普通の人間は適当に絞り込むだろうけどね。
たとえば
Hello World NASM サンプル
とかさ Hello World NASM サンプル に一致する日本語のページ 約 3,260 件 (0.41 秒)
db "hello world!",0
これかw とりあえずプログラミングに関して今現在においては救いようのないバカが居ると言うことはわかった >>649
ググった
Hello World エロゲ の検索結果 約 22,700 件 (0.69 秒) Hello World 童貞 に一致する日本語のページ 約 19,300 件 (0.25 秒)
Hello World 処女廚 に一致する日本語のページ 約 2,320 件 (0.23 秒)
Hello World キムヨナ に一致する日本語のページ 約 3,760 件 (0.30 秒) 俺も買った・・
コピーして貼りつけするみたいな感じで
ハウツーでは無かった
懐かしいな そのまま写せば確かに動くけど、オリジナルosを自作する為の仕組みの理解には役に立たなかったな。
自作pc見たいなノリの自作os本という意味ではよく出来てるのだろうけど。 人の作ったものをちょっとずつ改造するとか、
まずは大部分を人の作ったものから持ってくるとか、
はじめて何か作るときの基本だと思うが。 あんなんと比較しちゃTanenbaumせんせいに失礼だと思うわけで OS入門と思うから不満なんじゃないの?
マイコン自作入門だと思えば、BASIC程度のOSが載せられれば御の字ではないだろうか? 最後にさらっとでいいから実例の比較解説があれば良かったのかもね。
例えばOSASKやその他OSでもまだ未実装だったり問題が残る部分の
具体的な要求仕様を書いておけば、本家本元に先駆けて課題クリア
みたいな目標ができて面白くなってたかも?
種本のMINIXがもし実用OSだったらlinuxは生まれなかったと思うんだけど、
ハリボテからそういうOSが出なかった理由はどの辺なんだろうか? そういうってどういう?
linuxはよくも悪くもUnixの遺産を引き継ぐというタイミングに恵まれただけでしょ。
そして一応それができる器(Unixもどき)だった。
ハリボテにそういう要素は全く無いわけだし。 MINIXのような教材OSからLINUXのような実用OSができたっていうね。
まあ普及したのはタイミングだったんだろうけど、それでlinuxの何かが変わるわけじゃないし。 そうだねLinaxはMinixのパクリだから誰でも作れるね >>669
あの本はこうすればハリボテが出来るという話しか書いてないから
応用課題へ進むための取っ掛かりがない
>>673
それこそ、30日でできる応用編とかもあってもいいような気がするけど、
重版出たというのが本当なら、続編みたいな話ってなかったのかな? >>676
そういうのは各自でやれという方針だったような気がするでよ
>>677
「入門」ってタイトルなんだから実践とか応用本があるのがセオリーじゃない?
まあ>>673の内容こそがむしろ実践本じゃないかって気がしなくはないけど。 挫折者向けにして、「あなたでもできる!OS自作(再)入門」
とかどうだろうか? この本の内容からさらに応用ってなったらもうほとんど
ソフトウェアのお話じゃん。
ルールなんか無いんだ。自由に作れよ。 USB!USB!
…まあDVDでもいいけど今更だろうし。 本気でOS作りたい奴は自分で勉強する。これ大前提。
それでもいざ実際に作ろうと実践的な事となると色々詰まるところが出てくる。
むしろそういう時のための本でしょこれ。
本当の初心者ならどう筋道つけて勉強していけばいいかもわからない
OS入門は最低限どういう物が必要か書いてあるからそこから自分で勉強するとっかかりになる。
右も左もわからない状態だとそこから進むのは難しいが
不明な点がクリアになっていれば勉強もはかどるというもの。
そもそも一冊の本を読んだだけで全く新しい設計の自作OSが一から完璧に出来上がるなんてのは無理。
それはこのOS入門に限った話なんかでは無くてモダンオペレーティングだろうが何だろうが同じ話。
あくまで実装例というレシピを見せる事で何が必要なのか自分で考えられるようにするための本でしょ。
この本の画期的なところは、理論の説明は最低限必要なものにとどめているけれど
とりあえずこういう動く実装例があるから参考にしてくれ。と提示している事と
初心者でも扱えるツールの整備と使い方の解説までやっているところ。
gccとかgasとかだけ手にしてOSを作るための使い方がわからず(OSアプリしか作れず)途方に暮れた人は
実際にOSを作ってみようと思ったような人なら山ほど居るのではないか?
実際にOSを作ろうと思ってみた事のある人ならわかるだろうが、そういう途方にくれそうなところが
ことごとく整備されてる(実際のOSの設計はあくまで自分でやるもの。自作OSなんだから当然。それ以外の部分。)
というのがいかにありがたく、またその領域に踏み込んだ本が今まで無かったか痛感するはず。
逆に言えば、OSの仕組みを理解したい「だけ」ならこの本は向かない。あくまで「自作の実践」を解説した本だから。 自分で勉強できる人が読むような本には見えないけどなぁ >そういう途方にくれそうなところがことごとく整備されてる
ことごとくは言い過ぎなんじゃない?
たとえば、設計はとりあえず既存OSのまま、つまりクローンとか別CPUへの移植を考える場合だと、
この本読んだだけじゃ見てくれの模倣程度しかできないんじゃない?
誰かちゃんと作り込めた人居るのかな?
中身はまさにはりぼてそのものなら、BASICでつくったなんちゃってOSの方が全然凄いわけで。 >>685
だから自分で勉強できるようにとっかかりを得る本ってこと。 >>686
とりあえずでも一通り全部お膳立てを揃えたっていう入門書自体が今までに無かったからね。 一通りというか最低限でレガシーなので、VM用イメージ自作入門って感じ? OS側のソースコードは最低限だけど
開発環境のお膳立てという意味では一応一通りちゃんとそろってるよ。
アセンブラとCで作る限りにおいてはもっと本格的な物だって同じツールで作れる。
(そりゃどんなマシンでも開発できるとかそういう万能性は無いけどね) >>690
「はじめて読む486」ってタイトルであれば、むしろ本物より評価できそうだね。
逆に言えば、独自ツール故にそのサンプル解説から抜けきらなかったということだろうか? えー、だって本物は初心者がみたって途方にくれるだけだと思うんだけどなぁ。 プログラムのプの字も知らないような奴を対象にした本じゃないし。
何らかのCPUのアセンブリ言語が扱える人間が対象と前書きに明記されてる。 >>694
だからこそ、ど素人に曲がりなりにも特権命令使わせてるのが評価できるってことさ。 はじめて読む486は、はじめて読む8086を読んだ事が前提となってるっぽいからなあ
帯なり表紙なりにその事をちゃんと買いとけよ!とは言いたくなるが。
でも8086と486を上下巻のつもりで買い揃えさえすれば入門者にも無問題だとは思う。
486のサンプルコードをCでなくアセンブラでかけよ!とは言いたいが。 ていうか『はじめて読む486』は、他の『はじめて読む(型番)』と全く違う内容なのに、
まぎらわしいのが問題。 >>696
>486のサンプルコードをCでなくアセンブラでかけよ!
いや、C でかけるところは C で記述し、どうしても難しいところは、アセンブラで書く、という王道をいっているとおもうのですが。 それは「普通のアプリケーションプログラム」の時の話でしょ。
CPUの内部を直接いじるのに、それには向かない言語で説明されても困る。 OSの場合も同じ。
本当にCPUの内部を直接いじる必要がある所がどこかわからないのは三流。 一流の人間が入門書なんか読むかよ!
まだ一流になれないから入門書を読む訳で。
入門者に分かりやすく書かんでどうする。 だから、『はじめて読む486』は、コンピュータの入門書でも、486を教材として、
マイクロプロセッサに入門する本でもなくて、リアルモードでの機械語プログラミングや
C言語や、OSの基本をマスターしてる人に向けた、486のプロテクトモードを
解説する本なんだって。
だから、ただ一つ欠点があるとすれば >>697 にある通り。 >>703
リアルモードに熟達していない人には読めない、という意味で「入門書ではない。」
いや、「プロテクトモードの入門書」であることは否定しませんが。
あと蛇足ですがアラインメントを para にしないと動かなかった経験があります。 >>703 もしかして他の「はじめて読む」を知らんのか? タイトルからしてこれ以上分かりやすいのは無いくらい
入門書だーーー!!!って書いてあるのに
どうやったら入門書では無いという解釈が出てくるのやら
もしかしてCPU知識以外OS作りのスキルを全部備えた人しか
決してこの本を手に取る事が無い、なんて思ってる?
一言言わせてもらうと「そんな訳ないだろ。」 >>707
「はじめて読む486」のことだったら、あー、>>704。
いや実際俺も昔々i8086のコードが何とか読める程度の知識しかない状態で
はじめて読む486を読みふけってたんだが
どう見ても入門書でしょ。 >>709
そうですねえ。どういう点が入門書だ、と感じましたか? どういう点がも何も
i80486の(実質i80386の)新機能について当時の自分程度のスキルの人間にも分かりやすく噛み砕いて解説されてた点
としか言いようがない
サンプルコードがCなのはともかくとして
機能の概念説明みたいなのは間違いなく初心者向けの良く噛み砕かれた説明なのだが… 日本語の問題でしょ?
はじめて読む○○だから、読者のはじめて読むCPUが486の場合に対応できなければ看板倒れ。
はじめて「の」○○だったら、x86はおろか386まで既知の場合だけが対象でもおk。 そもそも「はじめて読む486」ってのは
それを読んだ人がみんなこぞってOSを作り始めるっていう趣旨の本って訳じゃないでしょ。
単に新CPU(出版当時)の新機能を理解したいだけって人だって大勢居たわけで。
さらに言うと、386や486が出てきた当時はまだDOSが全盛期で
386の機能をフルに使ったOSなんか全く普及していなかった。
むしろMS-DOSにおけるEMM386みたいな「386/486の機能を部分的につまみ食いする」
使い方の方が 圧 倒 的 に 主流だった。
仮想86機構「だけ」使いたいとかページング「だけ」使いたいとか
そういう人が大勢居た時代にあの本は発行されている。
決して「本格OSを今から作る!人のみを対象にした本」では無かった。 DOSが全盛期だったから、保護機能以外のことはたいていわかってる、という
人が主な対象の本だったよね、という話だと思うのだけど。 >>713
出版当時(1994年) の状況を思い起こすと、プロテクトモードの解説を意図した内容に食らいつく層は、
>本格OSを今から作る!人
にかなり近似していると考えざるを得ない。
ちなみに Windows3.1 は 1993年、Windows95 は 1995年もおわり近くだったか。
当時はいろんな意味で熱かった‥‥‥。
何の根拠も示さずに「考えざるを得ない」とか言われても >>716
昔話だ。根拠を求めるなんて野暮というもの。
それともまだ生まれてなかったのか? 当時は仮想86使って市販ゲームのCG抜いたり
一部ハードをエミュレーションしたり
そういう野望を持ってた人の方が多かったと思うがね
そんなに早くから386の機能を活かしたOSをフルスクラッチで作る運動があったら
自作OS界隈がこんなに細々としたものである訳が無いだろうに
そもそも自作OSが一定の盛り上がりを見せる様になったきっかけは
世の中がWindows一色になった事に危機感や反感を持った人が多く現れた事だって理解してる?
386登場から世の中がWindows一色に染まるまで何年かかったと思ってる?
DOS全盛時代はまだTownsOSとかHuman68Kとかがそれなりに身近にあったし
DOS環境自体PC-98/Towns/PC-ATと複数存在したので
Wintelマシン(PC-98/Townsも含むか)上でWindows以外のOSを作らないとパソコン環境が画一化されるという
切羽詰まった危機感なんてまだ(あまり)無かったんだよ? 思えばFreeBSD/LinuxにはじまるPC-Unix環境が盛んになったのも
そういう種類のWindowsへの危機感や反感と決して無縁では無かったように思う
もちろんパソコンがUnix系OSを実用するに足る性能を備えてきたという要素もあるが >>720
FreeBSD が最初に日本でひろまったのは、1.1.5.1 のときだ。その頃は Windows 3.1 がメインであった。
wintel 体制が固まった、とはいえなかったが、windows3.1 はそれなりに市場に受け入れられていた気もする。
私も Programing Windows を買ったようで、手元に残っている。 いわゆるWindowsブームはWindows 3.1の頃からだったな。
Windows 95は更に爆発的に売れたが、Windows 3.1が世間に知られていたからこそという感じだった。 >>715
情報ハイウェイとか叫ばれて、BSDが完全フリー化して、
UNIX陣営も東西統一で終わりが始まった頃だったのか。
今考えると国内(アマチュア)のブームってちょうど10年遅れてたんだな。 ■ このスレッドは過去ログ倉庫に格納されています