OSを作りたいわけだが。
■ このスレッドは過去ログ倉庫に格納されています
とりあえず、いきなりそんな野望に燃えてスレ
立てる前に本買った方がいいと思うが? ttp://www.tuat.ac.jp/~yoshiza/ylabo/results/graduate/undergrd/1996/contents/suzuki/index.html >>1
> まず、起動するにはどうするか?
スイッチ入れろ。 4、50年前は人間がOSをやっていたそうだよ。昔人間OSやっていた
日本人のおじいさんが教育TVに出演して実演してた。 >>1
「OS作ろう!」ってのは、OSASKとかあるけどね。志はとも
かく、実際にやるとなると、途方もなく大変だろう。
「ゲームが作りたい!」ってヤツは、プログラミング言語をたとえ
習得できたとしても、基本のテーマなり、シナリオなりが貧弱でダメ
ダメというのが多々あるが…。 ブートローダーにアセンブラを使うのはわかった!
しかし、厨房にアセンブラは難しすぎないか? そんな厨房さんたち向けにレゴブロックのように簡単なOSキットも
あるよ。 やっぱり自分の手で一から作るのが良いんだ!
でも、アセンブラでちょっと間違えただけでCPUやメモリが壊れたりするんでしょ?
メモリっていっても100円程度で買えるならいくらでも失敗できるけど
安くて5000円ぐらいなわけでしょ?
そういうこと考えるとかなり怖いです。 >>16
> でも、アセンブラでちょっと間違えただけでCPUやメモリが壊れたりするんでしょ?
感動した!
> でも、アセンブラでちょっと間違えただけでCPUやメモリが壊れたりするんでしょ?
厨房最高 アセンブラでOSを起動させるにはどういった流れで処理をするのか。 >>16
神!ーーーーーーーーキタ!ーーーーーーーーーー ここの1は、まだ勉強が必要で、そのレベルまでいかないけど、そうでない人でも、
OSを作るっていって、ブートローダから始める(そして挫折する)ひとが散見される
のは残念だな。ブートローダは既にいっぱいあるし、PCのブートローダは特に意味
もなく面倒なので、そこは既存のつかって、OSから作り出してほしいんだけど.... 厨房だからアセンブリ使えんって、そんなわきゃないだろ。
ホントにやる気があるなら勉強汁。
チョト昔は厨房だろうがなんだろうがアセンブリ使えたぞ。
そういう本は少なくなったがネットさえあれば何とかなる。
まあ初めて学ぶのがx86ってのはチト何かが違う気もするけど。
>>24
っていうか、いろいろ面倒だからなあ。
Bochs使ってもデバッグ面倒だし、ブートローダから先作るにしても
ある程度作りこまないと単に起動するだけだし。 むしろ厨房ぐらいからアセンブラやり始めないと後で覚える方が大変だと思われ ちょっと質問。
アセンブラって主にメモリを操作するんだよね?
で、そのメモリの中にプログラムを突っ込んだりするんだよね? >28
厨房なら寝ろといいたいところだがともかく、
それは間違えてはいないだろうが、何か間違えてるぞ。
基本的にアセンブラは他のプログラミング言語と変わらん。
CにしろBASICにしろ主にメモリを操作するし、
メモリの中にプログラムを突っ込んだりするとは言える。
体操部教員1名女子高生らの証言によりsaitama県警にタイーホ許せん!
[FLASH]【女子高生】体操部夏季合宿での悲惨な体罰【宙吊り動画】
http://pc4.2ch.net/test/read.cgi/swf/1059571701/
埼玉県某女子高等学校の体操部員ら(7名)が軽井沢夏季合宿にて
壮絶な体罰が行われた事件が発覚
これに関わった顧問の教員にてビデオ撮影された女子高生宙吊り動画が
インターネット上にうpされた。
行き過ぎた指導・体罰ではすまされない問題として教育委員会・PTAら
世間の大きな波紋を呼んでいる
一部始終を納めた16分の動画が現在フラッシュ板にて・・ アセンブリ(アッセンブリ)言語を「アセンブラ(ー)」ってほざくヤツは
Cんでいいよ。ってかCね!
>>28 アセンブリ言語が直接操作の対象とするのは、3つあって、それはメモリー
IOポート(これも一種のメモリー)、CPUのレジスタ。 削除してもいいカキコは最初からするなよ
この秋房がっ >>28
メモリの中にプログラムを突っ込むのは一般には「ローダー」っていうOSの一部
のプログラム。 では「OSというプログラム」をメモリに突っ込むプログラムは、はて?
これは「ブートローダー」とか「IPL」とか言うプログラムで工場であらかじめ
ROMに突っ込んである(こいつらの呼び名はPCの種類によって異なる)
と言うのが素朴な疑問に対する大まかな説明(ホントはもっと複雑)
あとは「ブートプロセス」とかぐぐって調べてみなはれ >>36
ありがとうございます!
かなりの疑問が消え去ったような感じです。 ブーツの後ろについてる、指でつかむ部分のことだろ。それって。
ちっこい部分をつかんで、おっきい靴本体を引っ張る機能をもってる
訳だから、OS本体をメモリに置く機能を持つ起動時に自動的に実行される
ちっこいマシン語列の事をそう呼ぶんだよw。 またまた質問です。
BIOS→FD,CD-ROM,HDDの読み込み→マスターブートレコードの内容の読み込み
→ブートローダーをメモリに転送→ブートローダーを起動
→OSローダーをメモリに転送→OSローダーを起動→OSを起動
がOS起動の手順ということはわかりました。
BIOSは普通市販されているパソコンには入っているから多分問題無し
ブートローダーの前にマスターブートレコーダーの内容ってあるけど
パスしてもOK?
それとブートローダーの活動はOSローダーを
メモリに突っ込んで起動するだけでOK?
名前に1を入れ忘れることが多々ありました。
スマン。 でも>>36でブートローダーは元から入ってるようなこといってるしなぁ
そしたらOSローダーを先に作ればいいのかな?
でまたまた質問。
OSローダーはアセンブリ言語で作るべきなのかそれとも他の言語で作るべきなのか?
OSローダーの名前はどうでも良いのか?
この2点についてお願いします。 >>36で「ブートローダ−とかIPL」ってのはマシン、OSによってイロイロ呼び方がある
と言った。>>42で マスターブートレコードに書かれてる内容(プログラム) としてる
のが>>42でいうブートローダのこと。
だから作るのは「マスターブートレコードに書き込むブートローダ」ということになるが、
アセンブラやシステムプログラム初トライ(>>1の知識量から解る)
でいきなりつくるのは敷居が高すぎるプログラムだと言うのが親切な>>24の主張。
「はじめて読む486」買って読む。他にはLiloとかGRUBとかFreeBSDの起動とかぐぐる
>>13のアドバイスに従う。とかして1ヶ月ぐらいやってみてからもいちどスレ続けられそうなら
続けてみ。
最近初めて読む486読んでわかりやすさに感動したが、
あれってintelのpdfとか読んでないと応用がほとんど利かんことないか?
あとアセンブリと互換機の昔の知識ないとさらにワケワカラン状態になりそうな。 CPUに依存しない言語を作るところから始めないと
ブートローダ一つ組めばどれからでも起動できるやつ >>49
>CPUに依存しない言語を作るところから始めないと
CPUに依存しない言語を作ったところで結局は、コンパイラがCPUに依存する。
どんな言語でも実行するときはみんな機械語になる。
それじゃあ、コンパイラも対応すれば良いわけでしょ? >>52
そう思う。けっこう親切な回答があるにもかかわらず、一向に調べようとしない
>>49
現在主流の言語(ex. C,C++,Java,Perl)は大抵CPUに依存しませんが?
現在主流のPCでCPU非依存のプートローダ作ることはほぼ不可能ですが? Cは明らかに依存するので>>53はド素人ってことでいいですか? >>54
言語の「どの部分が」依存するかが抜けてることに対する、揚げ足鳥?
標準の言語仕様に関してはCPU依存はない。
だが処理系(コンパイラ等)は勿論依存しまくり。 ライブラリも依存部は勿論ある。
(インラインアセンブラとかベンダーユニーク仕様等の重箱の隅は却下)
JavaもVMは各CPU依存。
これで良いか? >>53
ルーク。forthをつかえ。
49が意図したものは、ファーム(PCでのBIOS)を、機種非依存にするのではなく、
ブートローダ(PCでのMBRの中身以降)を、機種非依存にする話しではないのか?
実際問題としてファームはハードのベンダがハードとともに提供するもので、
ユーザが作ることを考える必要はない。多くのシステムでは、情報が開示され
てないことと、ROMなこととで、作成して書き換えるのは困難だ。
てことでopenfirmwareは、既に提案/実装された後者の実例として充分だとおもう。
ならば、全てのベンダに、perlをファームとして採用させることができれば、
ブートローダをperlで書くことも可能だ。
それでもopenfirmwareもperlファームも主流にならないのは、政治力がたらんからさ。 >>57
確かに>>49の「ブートローダ一つ組めばどれからでも起動できるやつ」と
いうのを折れは「ブートローダ-を一種類だけ作れば」と読んだが
「ブートローダ-自体は各機種用を作る、そうすれば後は」とも読めるし
折れの読み違いかもだな。
それをアンタは>>49のブートローダはローダーじゃなく「PCでのMBRの中身以降」と
読んでMBRにforthインタプリタを入れて云々とか深いねぇw
でもopenfirmwareは単なるブートローダじゃないくてBIOSと同じく
周辺機器も含めた文字通りfirmwareじゃなかった?
こうすると、MBRにforthやVTL(なら入る?)を入れてN88-(ROM)BASICみたいな
ものを作るってのなら、意外と入門的OS作りになる?
どうせならブートローダ-はGRUBを使ってスタンド亜ローンBASICインタプリタを
読み込む方法の方が手軽そう。 OS板にこんなスレ立てても批判厨しか寄り付かないから育たないよ(マジレス >>36
>>ブートローダ云々
勘違いしてました。
いろいろ参考にして勉強がんばります。
>>52>>53
教えて君ですみません。 あと>>46さん
サンクスです。
参考にさせていただきます。
まとめると、OSを起動するには「MBRのブートローダ」をアセンブリ言語で作る。
でも、>>49-59の話を聞くと
「アセンブリ言語(のコンパイラかな?)はCPUに依存する」
かも知れないという話。 ttp://ha3.seikyou.ne.jp/home/Joyit/asm/asm1.html#syntax
にアセンブラはIntelのとAT&Tのとあると書いてあるけど
この2つだけなのですか? >>63
いや、アセンブラは色々あるけど、
表記はその二つに大別されると。
ってちゃんと書いてあるじゃねーか。
>>62
> まとめると、OSを起動するには「MBRのブートローダ」をアセンブリ言語で作る。
も少し正確にかけば、MBRに書き込むブートローダかな。
アセンブリ言語で作ったプログラムはアセンブルされて最終的には機械語というか
バイナリコードになる。 このバイナリコードを作る。
> 「アセンブリ言語(のコンパイラかな?)はCPUに依存する」
アセンブリ言語はCPUのバイナリコードとほぼ一対一に対応させた言語
だからアセンブリ言語はまず必ずCPUに依存する。
コンパイラ言語は、例えばCなら
コンパイラに食わせるソースコードは殆んどの部分がCPU非依存だが
ソースをコンパイルした結果はCPU依存。
だからAT互換機用OSを作るのならAT互換機用コンパイラ(大抵IA-32用)を使う
いきなり>>49-59 CPU非依存などと言う高度なことは考えず、AT互換機上で
つくるならIA-32依存、AT互換機アーキテクチャ依存ですすめた方が良いと思う >>63
リンク先にあるのはアセンブリ言語の構文(ニモニック)のハナシ。
AT&T系は、gccというコンパイラ(驚くほど多くのCPUに対応できる)
の都合に合わせて作られているので、やや解りにくいと言われる。
初アセンブラならなおさら、Intel系ニモニックを使うアセンブラ
そのページにあるNASMぐらいが無難。 >>62
> 「アセンブリ言語(のコンパイラかな?)はCPUに依存する」
そのコンパイラみたいなモノをアセンブラと言う。 >>67
歴史の順序をひっくりかえさないでくれ..... > まとめると、OSを起動するには「MBRのブートローダ」をアセンブリ言語で作る。
目的がOSなら、作らないで既存のものを使うのが正しいと思うよ。
>>69
ごめんなさい。 じゃ、あと>>1の面倒よろしくお願いいたします。 >>20
K6(2だったかは忘れタン)ならあるよ。自爆命令
2度と動かなくなる >>1はまず既存のOSを研究してみるべきだと思うが。
MinixとかFreeDOSとか。 >72
何それ?
一部の自作野郎のK7とか、
拡張命令使い続けると焼き鳥になりかねないそうだけど(w 厨は「おおえす」を妄想してればよいが
本気で作りたいならまずモニタを制作汁。
AT互換機にはモニタがないからイイモンできれば浸かってやる。
Linuxだて初めはモニタ+アプリの集合体だった。
>>78
> AT互換機にはモニタがないからイイモンできれば浸かってやる。
って、エラソウに言っておいて実はクレクレ君かよ!
モニタの在るべき具体的姿や機能ぐらい挙げる おそらく>>79は「モニタ」がなんであるかすら知らないと思われ
>>80
ご名答 モニタの正確な定義は知らない
実例、8bit時代 RMSとかなら少しお世話になったことがある。カンタンな構成の
ローダー、TSSコンソール、マシン語レベルデバッガ等を含んだものと理解してる。
↑
しかしこうした構成にまでなるとこのスレの第一目標となりそうなOSと大して変わらん
>>80はよ〜くご存知のようなので、OS前段階のモニタについて詳しく解説してもらおう あ、TSSコンソールじゃねえ、シリアルコンソールのサポートだ まそんなとこでねーの。
つかローダー、コンソール、デバッガ程度でOSを主張されても
かなり寒いが。
そうだのう
とりあえずこれからモニタを作ろうとするヤシは、
「プログラムを実行後、モニタに戻ってこれるか」を課題と下前。
ROMにモニタを持たないPCではちょいと頭使いますぞ
(TPAを用意したり…)
RMSとかTSSとか意味わかってンノカオマエと小一時(ry
>>84
メインフレームのTSSシステムに繋がれたシリアル接続コンソールをTSS端末と言ってたんだよ
そういうののエミュレータを使ってRMSなんかにつないでた。
言っとくが、TSSてのはIntelCPUの機能のことじゃなくTime Shearing System。
RMSはRealtime Monitoring System--どっかが後で商標かなんか取ったかしらんが
沢山種類があった。 Time Sharing Systemね。typoだと思うけど
今のUNIXやWinNT系列もTSSの一種。
世界で初めて?実用TSSを動かしたダートマス大学のGE機に
乗っていた教育用言語がBASICだというのは
知ってても自慢にならんですが
(ゲイツに汚染される前のBASICはPascalよりきれいで強力だ)
RMSつーと時代的にはVMSかTOPSのデータベースが有名かね(モニタではないか) 札幌の小地震(?)怖かったです。
やっと、「はじめて読む486」入手いたしました!
早速読んでみましたが、長いですね〜 札幌の小地震(?)怖かったです。
やっと、「はじめて読む486」入手いたしました!
早速読んでみましたが、長いですね〜 >>89
Intelのデベロッパーズマニュアルをきちんと読んどけ
MBRは0x7c00に読みこまれるから(セグメント0)覚えとけ
んで、開発環境はどうするの? >>1
馬鹿野郎
こっちは震度5弱着たんだよ
アセンブラだけに焦った 最近OS作っちゃうぞ板が多いですね
流行でつか?どうなんでつか? >>95
まぁ、2chができる以前からをたどっても、作りたいと言った人の中では、
OSASK以外動いた形跡は無いわけだが。 >>95
僕は、オリジナルのOSを作りたいと思って立てました。
流行なんでしょうかね? >>95.
流行なのだろうが、この手のスレができたからと何が変わったわけでもない。
今まではスレなどなくても作りたい人は地道に何かをしていた。
この手のにわかOS作成スレができたけど、特に何かが論じられるわけでもなし、
そもそもOSを2ちゃんで作ること自体がちょいと無理な気がしないでもない。
誰かが捨てHNでサイトでも作って作成する場を提供するのならわからないけど、
スレの上だけでOSを作ろうとするのは、かなり大変な気が…。
まぁ、情報のあるURLサイトを載せるだけでもスレとしては良いんだけどね。 >>96
OSASKの成立は2chとかとは関係無いだろー。
2chと関係無くならEOTAとかそれの元になった奴もあるし。 >>99
2chでの提案では形になったものがまったく無い上に、
それ以前からの流れでもOSASKくらいしか無いねと言っているのでは?
OS作る前に日本語を勉強すべきかと。 >>99
EOTAはPOSIXだから、新しいOSと言うわけではないな。 >>97他
とりあえずこのスレ含めこの板には6つほどOS作ろう系のスレがあるわけだが ■ このスレッドは過去ログ倉庫に格納されています