* 「30日でできる! OS自作入門」のページ -(by [[K]], 2006.01.30) *** なによこれ?OSASKとどう関係あるの? -これは[[K]]が2005年の約1年をかけて書いた、OSを作るための書籍の紹介ページです。 -[[K]]はこの本をOSASK計画のサブプロジェクトと位置付けています。 --でもよく考えてみるとOsaskWikiよりはOS-Wiki向きかもしれなかったですね。ごめんなさい。 -OSASKとのつながりですが、[[K]]がOSASKを作るようになってからというもの、年に何通も「私もOSを作りたいです、どうしたらいいですか、教えてください」というメールが来ます。 また「OSASKを改造したいのだけれども、プログラムが複雑でよく分からない」というメールもあります。 -それで http://osask.jp/boyaki09.html みたいなページを書いたり、 http://community.osdev.info/?FirstStep で「minifsos」や「heboos」を作ってみましたが、不十分だと感じていました。 -この延長線上にあるのがこの「30日でできる! OS自作入門」なのです。 -また僕はOSASKの理想で妥協したくないので、たとえばOSASKではアプリからの解像度指定を原則として禁止していますし、もしタスクセーブが実現した場合はタスクセーブをアプリから阻止できない仕様にするでしょう。こういう僕の頑固さが気に入らない人がいると思います。でも本当は僕は自分の頑固さを押し付けたくはないのです。そんなのかわいそうです。僕にわがままをいえる資格があるとすれば、他の人だって自分のOSを作れば自分のOSに対して自分の理想を追求できるはずです。 -しかしその一方で、今のところ「OSを開発できる」というのはある種のスキルとされるくらいに、OSが作れることは一部の人に独占された能力になっています。これはとても不公平です。正当な競争が望めません。正当な競争があればOS界はもっと発展すると思います。それはつまりOSASKの発展にもつながると思います。 -OSASK本体やアプリを作ったり改造したりするときに、OS開発に関する知識が少しあると、よりよい設計や実装ができると思います。 -この本の読者から将来のOSASK開発の後継者が育ってくれるかもしれません。 -この本ではいくつかのアルゴリズムを試験的に導入しました。うまくいったものをOSASKへフィードバックする予定です(たとえばウィンドウ重ね合わせ処理とか)。 -以上の想いをこめてこの本を執筆したので、これをOSASK計画のサブプロジェクトの一つであると認めてください。 --しかもそうするとOSASK計画は1年間停滞したのではなく、tekのときのようにサブプロジェクトをやっていたということになります?! *** どんなOSができるの? -OSASKコミュニティではおなじみの tolset のみでOSを作る本です。既存OSのソースをベースに改造するのではなく、IPLからフルスクラッチで作ります。30日間で作ります。使用言語はアセンブラ(nask)とC言語(GO)です。言語比率は、基本的にC言語で書けるところはすべてC言語で書き、アセンブラは最低限度になっています。 -30日目には、OSASKのようなマルチウィンドウの画面に、bballやinvaderなどが動くところまでいきます(移植しました)。マルチタスクです。コンソールも複数あります。日本語表示対応です。 -OSASKとはちがってまともな(?)ウィンドウシステムを持っていて、ウィンドウが重なったときに下のウィンドウも更新されます。 -もちろんOSASKよりも機能的には劣っているところもたくさんあります。それは30日という制約がある以上、仕方ないところです。 -フルC仕様といってもいいくらいのOSのくせに、しかもOSASKとちがってOSを圧縮しているわけでもないのに、なぜかOS本体は40KB程度です。小さくするつもりは特になかったので自分でもびっくりです。OSASKの立場は???(笑)。ちなみにアプリもOSASKほどではないですが十分に小さいですよ。 -このOSはOSASKみたいに僕の理想を実現させるOSではなくて、教材用OSとして理解しやすくすることに徹したので、僕が作るOSの割にはあくのない「ふつう」なOSになっています(笑)。OSASKでは許しがたいようなことも平気でやっています。だから''OSASK入門ではありません''。お間違えのないように。アプリもOSASKとは互換性がありません。 -名前は「はりぼてOS」です。このページの名前はこれに由来しています。 -「はりぼてOS」のマスコットもカオちゃんです。というかOSASK計画のサブプロジェクトなんだから、マスコットが同じなのは当然ともいえます。 *** 誰に向けて書いたの? -OSを作りたいと思っているけど、Cもアセンブラも全然分からない、どんな言語を勉強したらいいんだろう、くらいの人が、楽しんで理解できる内容にしました。こんなところからスタートしても、30日後には上記のようなOSができちゃうんですよ!これに必要なスキルももちろん習得できます。ほんとうですよ。 --(お世辞かもしれないけど)校正のためのテスト読者はみんな絶賛してくれているので、たぶん本当に楽しんで理解できるのだと信じています。 -過去にC言語をちょっと勉強して、20行くらいのプログラムならなんとなく作れるけど、構造体とかポインタが分からなくて投げ出した、なんていう人は、この本ではちょっとエリートです(笑)。 -OSを作りたいと思わなくても、OSの仕組みを知りたいと思うのなら、参考になるかもしれません。 -中学生でも読めるくらいの語彙と漢字で書いてあります。だって中学生や高校生でOS作りたい人って多い気がするし、OSASKをここまで盛り上げてくれたのはこの世代のおかげだし、そもそも僕がはじめてOSを作りたいと思ったのは中学のときだったので、中学生も読者に取り込めるように努力したわけです。その一方で、もちろん大人でも楽しめるようにがんばりました。 -この本が1冊だけで完結するようにしました。他の本を参照しなければいけない個所はありません。tolsetも各段階のソースもCD-ROM内にあるので、Windowsだけあれば他にソフトを購入する必要はありません。Linux用のtolsetを使えばLinuxでも開発できるはずです(確認&準備中)。 *** 本に関するその他の情報 //-B5変形判・722ページ(正確なページ数はまだ未定:ここから単純計算すると1日分が23ページくらい?) -B5変形判・722ページ(ここから単純計算すると1日分が23ページくらい?) --プログラムリストや図説や画面写真などが多数あるので、もろに23ページ分の文章を読まされるわけではないですよ。 -CD-ROM付き //-価格未定(せっかく中学生でも読めるような内容にしたから、中学生でも気軽に買えるような値段にできるようにお願い中・・・でもどうなるかまだ未定) -予価:3,990円(税込) -ISBN4-8399-1984-4 -2月末刊行予定 -http://book.mycom.co.jp/book/4-8399-1984-4/4-8399-1984-4.shtml - 表紙写真: 帯つき表紙: ~ &ref(harib_cover.jpg); &ref(harib_cover2.jpg); ~ -帯文章(目を凝らしすぎて目を悪くしないように) --この本ではほとんど知識を要求しません。どんなプログラム言語でもいいですので、簡単なプログラムなら書いたことがあるよ、くらいのセンスがあれば、それで十分です。また、OSなんて作りたいと思わない・思ったこともない、という人でも、OSを作る過程を通して、OSの仕組みが見えてきます。だからそういうことに関心がある人も、ぜひちょっと読んでみてください。 *** 使用上の注意(?) -この本が売れると印税が[[K]]に入るので、その分だけOSASK開発に専念しやすくなるのは事実ですが、しかし[[K]]にお金を儲けさせるために(読む気もないのに)この本を買うなどということはしないでくださいね。そんなことするくらいなら直接寄付してください(笑)。そのほうが効率いいですよ(笑)。 -ということで、内容をよく検討して読みたい人だけが買ってくれたらうれしいです。って当たり前ですね。 -コレクターが収集目的で買うというのは(そんな人いるのかな)・・・まあそれもありかな(笑)。 -ご購入の際には、このページの情報だけではなく、実際の読者からの感想なども検討の材料にしてください。まあそんなこと言っていると最初は誰も買えないので、多少は人柱も必要ですが。 -出版社も赤字を出すわけには行かないので、もしかしたら[[K]]の期待するほどには安くならないかもしれません(しょうがない)。その場合は立ち読みで・・・というのはページ数からいって厳しすぎるので、図書館に入れてもらって借りるなんていうのはどうでしょうか? -この本を読んで(立ち読みでも可)、本当に他人におすすめできる、おすすめしたいと思ったら、アフィリエイトとかで紹介していいです(って僕が許可するとかしないとかの問題じゃないけど)。それで買った人も、あなたも、そして[[K]]もハッピーになれます。 *** rumors -前評判: http://diary.okotama.org/?date=20060130#p05 -前評判: http://d.hatena.ne.jp/Akkiesoft/20060131#p2 -前評判: http://thebbl.hideyosi.com/ -前評判: http://blogs.dion.ne.jp/thaga/archives/2771513.html -前評判: http://d.hatena.ne.jp/habuakihiro/20060202#1138890775 -前評判: http://d.hatena.ne.jp/kuwalab/20060202#1138887928 -前評判: http://ameblo.jp/hp120/entry-10008697843.html -前評判: http://d.hatena.ne.jp/tnks/20060203 -前評判: http://d.hatena.ne.jp/kcha/20060202/1138896614 -前評判: http://arigayas.exblog.jp/4108335/ -前評判: http://b.hatena.ne.jp/entry/http://book.mycom.co.jp/book/4-8399-1984-4/4-8399-1984-4.shtml -前評判: http://www.area51.gr.jp/~rin/diary/?date=20060203#p04 -前評判: http://b.hatena.ne.jp/entry/http://www.cbook24.com/bm_detail.asp?sku=4839919844 -前評判: http://b.hatena.ne.jp/entry/http://wiki.osask.jp/?HariboteOS -前評判: http://diary.okotama.org/?date=20060206#p06 --HariboteOSを改造して公開するなら是非すてきな名前を付けてくださいと、p.11に書いてあります。だから.mjtさんの予想は当たっています。しかし名前を付けることが、改良へのモチベーションになるというところまでは考えが及びませんでした。参考になります。 -前評判: http://nikq.nothing.sh/pkn/ms.cgi?t=sketch&blogid=&ShowDiary_file=/nocategory/1139145808 -前評判: http://d.hatena.ne.jp/c0zydoll/20060206#p1 -前評判?: http://news.2-3-0.org/comment/comment_200602_73.php -前評判: http://d.hatena.ne.jp/yuuru/20060206/p1 -(他にも見つけたらこめんと欄で教えてください。--[[K]]) *** こめんと欄 -表紙きたぁぁ!! -- [[あっきぃ]] &new{2006-01-30 (月) 07:31:10}; -日本語だけで出すのはもったいない内容ですね -- ''wroko'' &new{2006-01-30 (月) 09:05:47}; -実際の内容が確認できないうちから、なんという高評価!気が早すぎですよ(笑)。でもありがとうございます。>wrokoさん -- [[K]] &new{2006-01-30 (月) 11:56:24}; -おぉ。ついに完成ですね。超楽しみです。 -- ''ひげぽん'' &new{2006-01-30 (月) 15:03:39}; -発売したら是非買いたいです。 -- ''tak'' &new{2006-01-30 (月) 23:06:50}; -ひげぽんさん、takさん、ありがとうございます。でも、すでにMonaOSを作られたひげんぽんさんには、ものたりないかも・・・。 -- [[K]] &new{2006-01-31 (火) 01:33:24}; -このような本待ってました!!。受験が終わったら買ってOSについて勉強したいとおもいます。 -- ''ベアー'' &new{2006-01-31 (火) 16:32:58}; -MYCOMのwebpageです。http://book.mycom.co.jp/book/4-8399-1984-4/4-8399-1984-4.shtml -- [[名無しさん]] &new{2006-01-31 (火) 17:22:45}; -目次です。つhttp://book.mycom.co.jp/MYCOM/html/book/4-8399-1984-4/index/4-8399-1984-4.html -- [[名無しさん]] &new{2006-01-31 (火) 17:23:42}; -名無しさんありがとうございます。しかし内容紹介がOSASKの作成行程を説明することになっていて、完全に間違っていますね。さっそく担当の人に知らせることにします。 -- [[K]] &new{2006-01-31 (火) 17:36:59}; -ちなみに目次はあっています。 -- [[K]] &new{2006-01-31 (火) 17:39:16}; -うわー、なんで「ハードウェア>自作パソコン」に分類されているんだあ~。ソフトウェアの本なのに・・・。「自作」のキーワードのせいなのかなあ。まあいいけど。 -- [[K]] &new{2006-01-31 (火) 18:47:49}; -2chで話題になっていますが、僕も全体の1割くらいがPDFなどで読めてもいいと思います。それはこの本のノリについていけるかどうかの参考になるでしょう。何しろ安くない買い物ですからね。今やっている校正やCD-ROM作成が終わったら、担当の人に相談してみるつもりです。 -- [[K]] &new{2006-01-31 (火) 19:35:18}; -おお、仕事が早い!(僕とは違って)。もうページの内容紹介が直っている!こんなことなら修正される前の内容紹介を記念にとっておけばよかったー(笑)。 -- [[K]] &new{2006-01-31 (火) 19:43:34}; -すごいねぇ。。。予約可能かよ!w -- ''ソーラン'' &new{2006-02-01 (水) 11:14:59}; -うおぅ!ほんとだ。予約ができるようになっている・・・。 -- [[K]] &new{2006-02-01 (水) 20:15:42}; -2ちゃんねるに重要な疑問がかかれていたのでお答えします。719さんの「メモリ管理とファイルシステムの分量が少ないのが気になりますな。」です。非常に説明が難しいのですが、ええと、この「はりぼてOS」はまともなOSではありません。この本でまともなOSが作れるようになるなんて思ったらいけません。いいですか、初心者が生まれて初めてたのしんで作るようなOSなのです。・・・そしてここまで言っておいてなんですが、「はりぼてOS」は考えようによっては十分にまともなOSです。・・・ああ分かりにくいなあ。 -- [[K]] &new{2006-02-03 (金) 00:39:57}; -つまりですね、「はりぼてOS」にWindowsやLinuxやBSDやOSASKのようなレベルのメモリ管理やファイルシステムを期待しているのなら、それは失望を誘うだけなので買わないほうがいいです。そういう(いわゆる)「OSが分かっている人」が買うような本ではないのです(違う意味でそういう人が原点に帰るために読むべきだという気も少ししますが、でもよほど柔軟な心をもっていない限り、そういう人は楽しめないでしょう)。そうじゃなくて、メモリを管理するって一体どういうことなんだ、なんでそんなことをOSがやらなきゃいけないんだ、いったいどうすれば管理なんかできるんだ、みたいな人が深い感動を味わえるような、そんな本なのです。より高度なメモリ管理がどうあるべきかなんていう話は、この本を読み終わってさらに先へ進みたいと思ったときにするべきであって、この本が狙っている初心者中の初心者にとっては、退屈で面白くないものだろうと思うのです(そんなことで紙面を使うのならもっと面白いアプリの一つでも移植してくれ、ときっと思うでしょう)。それは名著「CPUの創りかた」でパイプラインとか投機実行の話がないのはケシカランとかいうのと同じだろうと思います。しかもそういうメモリ管理がどうあるべきかみたいな話でよければ、僕以外にも書ける人がたくさんいるでしょう。というか、その人たちのほうが僕よりうまく書くでしょう。 -- [[K]] &new{2006-02-03 (金) 00:50:37}; -まあなんにせよ、立ち読みが一番です。内容に少しでも不安を感じるのなら、とにかくしばらく様子を見るべきです。 -- [[K]] &new{2006-02-03 (金) 00:53:18}; -この書き込みで不安を感じる人がいるかもしれないので書いておきますが、もちろん「はりぼてOS」はメモリ管理機能を持っていますし、ファイルアクセスもできます。 -- [[K]] &new{2006-02-03 (金) 00:55:12}; -目次みました。すごい充実した内容ですね。OSCでも売りますか?できればKたんのサインつきで(笑) -- ''bayside'' &new{2006-02-03 (金) 15:15:34}; -OSCでの販売は実現したいです。出版社の人に相談する予定です。サインは・・・えー僕のサインなんかあったら値が下がりますよ。なんだこの汚いラクガキは!って(笑)。 -- [[K]] &new{2006-02-03 (金) 16:19:45}; -発売日、価格が決まったんですね。おもしろそうです。 -- ''uchan'' &new{2006-02-04 (土) 13:21:17}; -このページのアクセス数が増えてきました。どこかからリンクしてもらえたのかな?よかった、よかった。 -- [[K]] &new{2006-02-06 (月) 14:49:25}; -発売前から言うのもなんだけど、内容紹介の「趣味と実用と学習」ってのはどうなのかな。趣味はいい。学習もまあ(例によって)ちょっと偏っている気がしないでもないけど、これはこれでいい。実用は・・・まあ本気では実用にはならないけど、これが実用といえなくもないかな、という表現が本文中にあるから、まあいいかー。・・・というかこれは僕が作るすべてのものにいえるのですが、当初の予想以上にみんなから期待されると、だんだん自信がなくなって不安になってくるのです。期待しすぎに注意! -- ''K'' &new{2006-02-06 (月) 15:04:54}; -http://www.cbook24.com/ の注目のトップに出たー!うれしー。 -- ''K'' &new{2006-02-06 (月) 16:11:30}; -http://pcweb.mycom.co.jp/ の新刊情報欄にもついに出たー。 -- ''K'' &new{2006-02-06 (月) 22:33:13}; -Googleで "OS自作入門" を検索すると、このページは引っかからない・・・そんなあ。gooでは5位に入っています。 -- ''K'' &new{2006-02-06 (月) 22:38:56}; -OSCに向けて HariboteOS CanBadge! とか? -- ''ron'' &new{2006-02-07 (火) 03:49:39}; -当ページを右記のサイトに投稿しました。自動ニュース作成F(http://news.2-3-0.org/)私の手違いでコメント欄が荒れていますが(汗)気にしないで下さい。 -- ''mk'' &new{2006-02-07 (火) 04:01:42}; -mkさんご連絡ありがとうございました。 -- [[K]] &new{2006-02-07 (火) 12:22:23}; -缶バッジは3月のOSCで出すのは早すぎる気がするので、もうちょっと先で・・・。やっぱり僕としては内容がいいか悪いかを出版されて世間のみなさんに客観的に判断してもらってから、(自信を持って)おすすめしたいです。缶バッチはその先にあるものかなーと。それにOS自作入門もOSASK計画の一部なので、OSASK缶バッチをそのまま使ってもいいかなとも思っています。 -- ''K'' &new{2006-02-07 (火) 12:33:47}; -http://www.7andy.jp/books/computer/os/ では現在19位。関心を持ってくれたみなさん、ありがとうございます。・・・あれ?リロードしたら1位になってた。どういうこと??? -- ''K'' &new{2006-02-07 (火) 13:11:56}; -なんか発売前からこんなに人気があると、発売後に失望されそうで怖くなってきました・・・。みなさん、くれぐれも、値段と内容をよく確かめてから買うかどうかを決めてくださいね。出版後1ヶ月くらいで感想が出てくると思うので、それ以降に判断するのがおすすめですよ。 -- ''K'' &new{2006-02-07 (火) 13:21:53}; -http://www.7andy.jp/books/rank/computer?ctgy=computer コンピュータ関連全体で9位!ありえない!! -- ''K'' &new{2006-02-07 (火) 13:29:33}; -このページがやっとGoogleの "OS自作入門" で見つかるようになった。検索順位は3位。よかった、よかった。 -- ''K'' &new{2006-02-07 (火) 17:08:47}; -[[7andy>http://www.7andy.jp/books/rank/computer?ctgy=computer]]、8位に浮上。・・・うそだぁーー!いったい誰がそんなにあせって買っているの?!僕は本当にその人たちの期待にこたえられるの? -- [[K]] &new{2006-02-08 (水) 12:55:31}; -まだ発売してないのにすごいですねぇ。 -- ''uchan'' &new{2006-02-08 (水) 18:51:48}; -校正が終わったー!ねるぞねるぞねるぞねるぞー。 -- ''K'' &new{2006-02-09 (木) 02:13:55}; -test -- ''hideyosi'' &new{2006-02-09 (木) 15:18:51}; #comment
(This host) = http://osask.net