「30日でできる!OS自作入門」
■ このスレッドは過去ログ倉庫に格納されています
プログラミングの基礎からはじめて、
30日後にはウィンドウシステムを有する32bitマルチタスクOSを
フルスクラッチで作り上げるという入門書。
ビギナーでも無理なく作成できるようPCの仕組み・アセンブラ・Cの解説から始まり、
試行錯誤を繰り返しながらアルゴリズムを学びつつ、
たのしく自由な雰囲気でOSをゼロから構築していくという、
他に類を見ない手法による、
趣味と実用と学習を兼ね備えたOS作成の入門書です。 >>715
情報ハイウェイとか叫ばれて、BSDが完全フリー化して、
UNIX陣営も東西統一で終わりが始まった頃だったのか。
今考えると国内(アマチュア)のブームってちょうど10年遅れてたんだな。 なんかDOSみたいなデバイスドライバ拡張用の規格ってないの? どんなOSでもデバドラフレームワークはあるわけだけど?
ただDOSと違って、普通のプログラムは保護モードで動くのに対して、
デバドラは特権モードで動くという違いがあるので、その差を意識して
プログラミングをしなきゃならない。 規格をサポートしているどのOSでも使えるドライバはできないか?って事でしょ。 MS-DOS にそんなオープンな規格があったっけ? MS-DOS用のドライバが使えないと、そもそもDOSとして認めてもらえないんじゃないか? DOS用ドライバっていわゆるMS-DOSのデファクトスタンダードって奴でしょ。
他のDOS系OSはそれに倣ってるということで。
OSの歴史的にはDR-DOSの方が本家だったりするけど、そこはそれ。 >>732
本家つーてもパクられたのをパクリ返しただけだからなあ
中日電工さんの連載見てると、CP/Mの移植だけで30回以上費やしてるよな。
マイコン黎明期にMZ互換機を本当に作って売っちゃったプロでさえああなんだから
(まあ結果見たらすぐ理由思い出して実際には大した時間は掛かってないんだろうけど)
30日でもうネタ切れというのはなんか不思議だな。 そりゃ「一から新しいOSを新規に」「最低限必要な技能を学ぶ為だけに」「実用性や問題点の考慮をせずに」作るのと
「既にある物に合わせて」「実用になるための全ての機能を」作るのじゃ
それ自体かなり状況が異なる話だからね
細かい問題点・改良すべき点を全部挙げ出したらそれこそ幾らでもきりなく出てくるだろうけど
それは「OS自作入門」のテーマに合致したもので無ければ面白い話題でも無い
だからそれらは本の内容をマスターした上で別途個々人で学んで欲しいという事で入門本には書かなかったのでは。 その「個々人で学ぶ」ための取っ掛かりが全く書いてない罠
>それは「OS自作入門」のテーマに合致したもので無ければ面白い話題でも無い
結局この考えに縛られてしまう事こそが、作られたOSがまさにハリボテで完成品化してしまって
どれもあまり発展しない原因になってないかなあ?
でも、PCでの自作とは何かと考えれば、そう切り捨てたものでもないと思うんだよな。
まだまだ使える!OS自作入門 みたいな。 とりあえずファイルシステムを何とかするってのは
あの本読み終えたらまず誰でも考えそうなテーマだと思うけど?
ディスクドライブのデバイスドライバ周りを(その仕組み自体の設計も含めて)整備して
ファイルシステムから利用できるようにし、実用的なファイルシステムにするという目標がね。 そもそもOSを作りたいなんて人は、その多くが
「こんなOSを作りたい」っていうイメージが(漠然としたものでも)何かしらあるんだろうから
最低限必要な技能を楽しく学ぼうという趣旨の本でそこまでやる必要は無いのかもしれない。
本当にOS作りたくて本読んだような人ならきっと何かしら自分のOSに盛り込みたい事を既に持ってるでしょ。 ログハウスを作る本としては、一夜城の工期を動かせない以上、大幅な設備強化は難しいとは思う。
でも、ビューアフター的な添削であれば、別に30日にこだわらなくて別工事でいい訳だし、
あくまで読者の目的OSでなくその実現への取っ掛かりのヒントにすぎないので、
そういうのも(大工の)入門書や手引きの類といえるんじゃないだろうか?
コンセプト別に紹介して、主にここがいいけどちょっと惜しいなと思うような部分について、
自分ならこうするみたいな検討解説が実用パッチ付きでふんだんに盛り込まれれば
買う人結構居ないかな? アセンブラが全然わからん
2月までには完成させたい 「はじめて読む8086」と「はじめて読む486」は必読書。
まず8086の方から読むべし。 Kの説明が下手すぎるだろ
検索しまくってなんとかようやく理解できるけど、もう少しわかりやすくしてほしいぜ だから漬物石の代わりくらいにしかならんと
最初から言っとるでないかい 逆に考えると不親切な説明だから調べまくらざるを得んので知識はつく 説明下手って言うけどさあ
あれ以上うまく説明してる本ってあったっけ? 「はじめて読む486」の、文章で足りないところはコードを示すことできっちり説明できているところを買います。 >>749
そりゃどんな良書でも読みこなす努力をしないあんたにとっちゃそうだろうな。
でも皆にとってそうじゃないんだ、押し付けんな。 自分で作った気になれるだけの本なんだよな 惜しい
実用に向けていろいろ拡張していく上で嵌りそうな注意点とかまとめてくれればいいのにな
まあこのハリボテを実用で使わない事が一番か
まだopendosやfreedosのほうがしっかりしてるしなあ
試験管の中で家が造れたよ
でも人が住むサイズを作るにはまだまだ課題が山積で厳しいよ
って感じ 16bitのDOSと
32bitのOSの解説本を比べても仕方あんめぇ。 32ビットってプログラムしづらいんだなー
まぁ中身の勉強にはなった 誰も使ってなくてx86_64で廃止されたような機能までべたべたに依存してるせいじゃないか?
(セグメント機構、タスク機能とか)
しかもオレオレツールチェインまで持ち出してるからさらに使いづらい
本自体見たことなくて派生OSのソースを見ただけの印象だけど ちゃんとmmu付いてるんだしプロテクトモードで動かせばいいのにね
組み込み本のほうがブートローダとか作って面白い オレ今10日目で行き詰まってるけど、ググ先生に聞いたり自分なりの解釈で閃いたり、わりと楽しみながらゆーっくり進めてるよ
プログラム初心者だから自分で組んだり出来ないけど、C言語読むための勉強って割り切って読んでるからそれなりに楽しい これでc言語は病めといたほうが
アセンブラでcpuやデバイスを直接制御すべき
あとアプリケーションレベルとosレベルをごっちゃにしない様にな
ぶっちゃけ普通のプログラマならjavaアプリの本で十分だったりするよ 説明が下手すぎていらいらする
特に10日目の重ねあわせのところ
図で洗わせてくれてるけど的外れな図で余計わからんくなる 画面まわりはゲーム開発系の方がわかりやすいと思う
やっとることは同じだ そうなんですか…
自分で図を書いたりしてなんとか理解しようとしてるんですけど、難しすぎて…
画面周りでオススメの書籍とかありますか? 駄目だ…10日目の高速化(2)が全くわからん…
bx0〜by1までの値がマイナス値になる状況が全然わかんねーよ! ゲームはdirectx周りのクセを掴むのがなあ
直接ハード叩く所は、保護機能のないぽんこつosと同じなんだけど
逆に言うと保護機能付いてるosでもgpu乗っ取りぐらいは楽勝で出来たりするんだけどねw >>754
そこまででも手取り足取り教えてくれる本自体が、この本以前には無かったからな。
紙面には限りがあるんだから一冊の本に全てを望むのは酷というものだろう。
という事で、その辺りの事を書いた続きの本をあんたが書けば、大層喜ばれると思うよ。 手取り足取りで飛びついてみたけど、欲しいものはこれじゃないんだなって寂しいものを感じた読者は多いと思うよ
dosぐらいを組み込むのが手軽だなunixはめんどい そんな貴方に技術評論社「はじめてのOSコードリーディング」。
UNIX V6のソース解説本。
UNIX V6なんでちゃんとUnix系で、基本的な機能も大体は揃ってるし、それでもコード規模も一万行程度とお手頃。
難点は、古いコードなんでC言語の書式が古い(K&Rよりさらに前)という事だが
一応その点についての説明もされている。 pdpが無いと楽しめないレベルなんじゃ
最近achiのハードディスクからの起動に嵌っている
bios経由の割り込み19のアクセスでも良いけど抜き差しまでは面倒見てくれん
つーかユニックスなんて何年前だよ
骨董すぎるわ エミュでも当時の何倍もの速度で走るぞw
当時のメインメモリは今のCPUキャッシュ、
当時のディスクが今のメモリぐらいの容量だしなw xp互換osを180日ぐらいで作る
なんてのはどうよ
結局この本と同じで
仕組みだけ解説して実際動く最低限のコードはネットで公開してるから拾って来い
みたいにはなりそうだけど
180日ってのは30日なんかじゃ無理だし、無料体験版が180日ぐらいの最長だったかなと
結局中身説明してないんじゃ、180日も30日も代わらんとは思うけど Windowsのサブセット作るってプロジェクトで一番成功してるのはwineだろうからそこから何か流用できれば少しは可能性が
……ないか >>774
PDPエミュレータの入手と、エミュでUNIX V6を動かす方法
それらの情報へアクセスするための参照先もちゃんと本で紹介されてるが。
>何年前だよ骨董すぎる
でも実際現代的Unix系OSも基本は何も変わらないし。
OSの骨格は変わらないのにコンパクトに纏まってるからこそ読む対象として汎用性があるわけで。
「今ふーカッチョイイ」だけでOSを選択しても何も意味が無い。
あんたがUnix系OSそのものが(もっと言えば、Linuxが)時代遅れだと強固に主張するのでも無ければ「古い」は説得力無いよ。 明らかに機能足りてない頃のosに何の価値が
大人の女が買える時代に小学生の頃が小さくて可愛かったとか言われても
ロリコン変態
と馬鹿にされるだけだよ
64ビットの時代に1ビットマイコンで強がり逝ってても笑い話にも成らない気違い扱いだよ 明らかに足りてない?何が?
ネットまわりだけは無いけど、ただ無いだけで他の部分は参考になる。
ネットまわりだけ他の何かを参考にすればいいだけなんだが。
それ以外OSの骨組みとしては一通りは揃ってる。
それともデバイスまわり(USBスタックとかIEEE1394スタックとかそのあたり)の事を言ってるのか?
それは純粋なOSとはまた若干別の分野の話だから
別のものとして別の本をあたればいいだけの話。
あくまでOS自体を学びたい、どういう構造になってるのか知りたい人にはこれ以上の教材は無いと思うが…。
古い古い言うなら、じゃあそれ以上に教材として適切なOSを挙げてみてくれよ。
本のタイトルも「 は じ め て の 」OSコードリーディング、だからな。
すでにOSの構造や実装について精通しまくった人が読むもんじゃなくて
一から学びたい人に適した、現役メジャーOSと同じ使い勝手の(つまり一定の経験者なら誰でも使える)、コンパクトな、
それでいてほぼ一通り機能が揃った、ソースが自由に読めるOSが他にあるんならぜひ教えてくれよ。
この本と同じくらいの密度で同じくらいのページ数に収まる本になる事が前提で、な。
「本格」OSが作りたいなら、この本読んで理解すればあとは自分の好きなように肉付けすればいいだけなんだから。 何もかもが古過ぎて参考になんて成らねえよ
研究者が古典的に弄る程度で実用性は無いし
普段使ってるosに興味もって学習意欲盛ってるのに
そこに古典os
を勧めるのはどうみても需要予測が間違ってる
64ビットのpcを求めてる客にメインフレームは素晴らしいなんて勧めてもイラネだよ 784が物事の本質を理解しないおバカさんだという事だけは俺にも伝わって来た つーかアーキテクチャに過度に依存したプログラム構造のアセンブラプログラムってんならともかく
汎用性高く書かれた普通のCなんだし(文法は古いけど読み替えりゃ良いだけのはなし)
そのまま丸々64bitマシンとやらに移植して使うわけじゃなし
基本構造だけ真似して似たようなOS書く分には変数の型とかを大きめに取ればいいだけでスケールが小さいとか何とか関係無い話だし
何を勘違いしてるんだかこの人(>>784)は…
どっかの何かの本に書いてあったけど、ゲーム業界でも
「俺は誰も見たことのない斬新で画期的なゲームを作るから!」とか言って過去の作品から何も学ばない人ほど
二十年以上も前に見たようなゲームしか作れないって書いてあったな。
業界によらずどこでもそんなもんなんだろうけど。 >>787
それがまた困ったことにx86ベッタリだったりするんだが x86ベッタリって何が?
UNIX V6はそもそもintelマシン向けじゃなかったし
アセンブラで書かれてるのはドライバなど一部だけだし
UNIX V6でない別の何かの話?だとすると何の話? ソースコード読んで無いって落ちか
恥ずかし過ぎるな
バリバリのセグメント実装だよ
pdp-11がそうだからパクったインテルも同じなんだよ
xpのサポート終了までに実用的なos作る本の発売しねえかなあw
7使い始めたから7でも良いやって気分に成って来たけど
xpモードがよく出来すぎて7の中のxpから離れられんw セグメントという名前だったら皆同じと思ってる系でしたかw >>776>>779
はりぼてにwineをポーティングするなら最低何日必要かな?
>>782
よくわからないけど、PIC32だろうと載っちゃうunixは流石かと。
マイクロカーネルの立場無いね。 むしろマイクロカーネルのほうが、モジュール分けするぶんでかくなって当たり前、
モノリシックカーネルのほうが小さくて当然なんだけど? モジュールとしてユーザー空間に外注しておいて何故でかくなるのさ?
天下り特殊法人みたいな中抜きが多かったりするの? ユーザープロセスと言ったって、普通のプロセスと違って実メモリをピン留め
しなきゃならない奴もあるし、「PIC32に載せる」という目的なら、そういう
モジュールもフットプリントとして数えるものだと思うけど。
もしかしてマイクロカーネルなら、メモリマネージャもファイルマネージャも
ページマネージャも追い出せるとか思ってるの?
ページマネージャがディスクに追い出されちゃったら、誰がそれをスワップ
するのw まったくなにも具体的に反論できない自分の頭の悪さをどうにかしたらw でもユーザランドで動くdynamic_pagerをみたときはこのosポンコツだなとは思った
swapfileが大至急必要な時にユーザランドが応答せずにkernel panicするしかなく成るだろうと予想出来た
案の定autorelese()呼ばないとメモリリークしまくる糞osで鯖製品は撤退したけどな もうできてるもの追っかけても二番煎じだわ。windowsシステムだとOSというよりUIに手間かかるし。
原理をマスターしたら、メモリ管理でもスケジューラでも仮想記憶でもほかの何かでも新しいアイデアを考えてみてはいかが 新しいアイデアなんてそうそうないよ
Windowsの真似から始めないと完成できない。 新規のProjectのOSを作る
別系統のDOS 別系統のGUIOS 二番煎じでも別物もが出来上がるはず
同じものが出来上がる奴は発明者に成れない
pxe対応で自己増殖していくosとか作れば革命的だよ 人がいるか分かりませんが、今二日目と半分行った所、まだハッキリ何してるか分かりませんね
1日が案外多くてもう数日消費してるわ…… ★★★少子高齢化を防ぐ為に、多産家族の表彰制度を導★入すべきである★★★
http://jbbs.livedoor.jp/bbs/read.cgi/study/3729/1226114724/73
この掲示板(万有サロン)に優秀な書き込みをして、総額148万円の賞★金をゲット★しよう!(*^^)v
h★ttp://jbbs.l★ivedoor.jp/study/3729/ →リンクが不良なら、検索窓に入れる! ●●●プロ野球のドラフトは、持ち点制による競り落とし方式とすべし●●●
http★://jbbs.livedoor.jp/study/3729/storage/106940869★6.html#39
この★掲示板(万有サロン)に優秀な書き込みを★して、総額148万円の賞金をゲットしよう!(*^^)v
http://jbbs.live★door.jp/study/3729/ →リンクが不良なら、検索窓に入れる! OS開発の為に作られたCを
ソフト(OS下ソフト)作る用言語とか
ほざき始めた前置きの時点で完全に挫折した
類友じゃないけどこれに触発された?系のサイト上げてる奴も酷いのいるね
同じく前置き見てると モロに「Cの影響の悪い方」に行っちゃった人って感じだな・・・
Cなら出来ます キリッ!とか言いそう
真剣にOS開発に興味あるならlinux bsd minix 等を入れてソース読め
ジャップ言語圏はググるな
コレに尽きる 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
IGYLUZW5CD 年末も近いのにこんな廃墟スレにまで良く頑張るなー…… ■ このスレッドは過去ログ倉庫に格納されています