OSをつくろうpart4
■ このスレッドは過去ログ倉庫に格納されています
0001ひげぽん
NGNGスレッドになればと思います。
前々スレッド
OSをつくろうpart2
http://pc3.2ch.net/test/read.cgi/tech/1024411711/
前スレッド
OSをつくろうpart3
http://pc3.2ch.net/test/read.cgi/tech/1027080631/
0175159
NGNG凄いです。
0176159
NGNG0177LightCone ◆sSJBc30S5w
NGNG絶版本を探すには、古本屋に行くといいのではないでしょうか。
個人的には、中古でも、探していた本が見つかった時は、新しい
本よりも嬉しく感じます。
0178FreeDOS教徒
NGNG0179ひげぽん
NGNG>個人的には、中古でも、探していた本が見つかった時は、新しい
>本よりも嬉しく感じます。
近くの図書館と、オンライン古本屋では見つかりませんでした。
ますます欲しいーーーー
>>178
typo伝染りましたね。
0180。。。
NGNGこのスレをたどっていくと、誰でもOSを作れそうですね。
0181デフォルトの名無しさん
NGNG「NanihaDomoare MONS」っていうOS作るよ!
0182LightCone ◆sSJBc30S5w
NGNG>このスレをたどっていくと、誰でもOSを作れそうですね。
正直言って、誰でもとは言わないまでも、Cとアセンブラプログラムが
できる方なら基本的なOSは時間さえあればできると思います。
大事なのは、CPUアーキテクチャの正しい情報を得ることと、
もう一つがデバッグに耐えられる忍耐力があることではない
かと思いますが、どちらも「やる気」の問題が大きいように思います。
スケジューリングやファイルキャッシュの優秀さなどを追求するのは
実験的と勘でやっていけばいいでしょうし、時間が取れなければ先人の
結果を、Linuxの解説本やOSの基礎論の本で見ることで済ませられますし。
私も含めて不注意な人にはちょっぴりデバッグ回数が増えてしまうのが
大変な所ですが(笑)。
0183デフォルトの名無しさん
NGNG俺もそう思う。
「OS作るのって難しそう」と思ってる人にそう思わせる、
このスレは文化的価値がある思う。
0184。。。
NGNG実力的に
0185デフォルトの名無しさん
NGNG禿同。まあ、誰でも作れるとまでは言わないけど、「OS だって、単なる
プログラムだ」と多くの人に思わせた功績はある。
これからも頑張ってね。> ひげぽん さん
0186デフォルトの名無しさん
NGNGLタンはあれだけのものを作るので結構すごいんじゃない?
ひげぽは、学習能力が高そうなのでこのまま作り続ければ
NWSOSやOSASKレベルにはまちがいなく到達できると思う。
0187LightCone ◆sSJBc30S5w
NGNG#182 だけだと誤解を生みそうなので少し補足します。
本当にこのスレを読んだ「だけ」だと、ブート部分と簡単なキー入力とその
エコー程度のところまでしか行けないと思います。
難しくはないと思いますが、ファイルシステムがどういう仕組みで作られて
いるか、マルチタスクがどうやって実現されているか、割り込みとは何か、
グラフィックのLINEやCIRCLEやPAINTどうやって処理されているか、
排他制御とは何か、デッドロックを防ぐ方法、ページングとは何か、
セグメント、セレクタとは何か、みたいなことの理解が必要になってきます。
今度はそれらをIA32でどうやって実現すればいいかという
ことを調べる必要があります。ページングが何かが分かっても、
次には、IA32においての、ページディレクトリやページテーブルの具体的
な仕組みを知らなければ、本格的なOSを組むことは出来ません。
このスレではそこまでは説明されてません(higepon さんのMonaも、
ページングは、まだなはずなので。)。
あと、Windowシステムを組むのは、既存のOSのWindowシステムを体験
してからでないと難しいかもしれません。私も(MS)Windowsのプログラムを
練習する前に独自にWindowシステムを作ってみたことがあるのですが、かなり
無理があるような構造になってしまったことがあります。やはり、
一度は既存のWindowシステムの仕組みを体験することがGUIのOSを作るに
は必要だと思います。
0188LightCone ◆sSJBc30S5w
NGNG>ひげぽは、学習能力が高そうなのでこのまま作り続ければ
本当にひげぽんさんの成長ぶりには驚かされます。
しかし、ひげぽんさん自身が、「何も知りません」と言うような場面
があったら、心の中で(「また、ご冗談を」)と言いましょう。
0189LightCone ◆sSJBc30S5w
NGNG理解できる、とは言ったものの、#166 で紹介した本は、全部で687ページ
有ります。
これは、初代の80386の本なので、キャッシュや、その後に追加された
特殊ビットや、MMX/SSE/SSE2 は、IntelのPentium4のPDFファイル3本組み
読まないと分かりません。
上巻:378ページ(基本アーキテクチャ)
中巻:878ページ(命令リファレンス)
下巻:634ページ(システム・プログラミング・ガイド)
ちなみに、日本では、こういう知識は何故か大学などでは(普通は)教えてくれ
ないので、自分で勉強するしかないです。場合によってはOSの専門家でもIA32の
ことを知らない人もいますので、「教育機関」に行ってもなかなか学べません。
こういうことを勉強したい人は、自分でこつこつやるしかないので、
海外のように巷にOS作者が溢れてこない理由はそこだと思います
(専門家からの猛反撃を受けそうなので、なかなか言えないことですが、
これで鬱になります、、、)。
0190デフォルトの名無しさん
NGNGこれなんだけど、OSに限らずソフトウェア業界全体的に、日本の勢力って
よわっちぃ-です。もちろん、人口比率以上に弱いという意味。
教科書もないのは、海外も同じで、結局、やる気あるやつの人口が桁違いに
多いんだと思うね、向こうは。
0191名無しさん@Emacs
NGNG0192デフォルトの名無しさん
NGNGたしか論理合成までできて、やる気があればマザーボードの設計まで
できる環境になっている。うらやますぃー
0193デフォルトの名無しさん
NGNGいずれ破綻すると思う。
NWSOSとmona?は大丈夫?
0196デフォルトの名無しさん
NGNGOSASKのスパゲッティ状態についてどう思う?
0197LightCone ◆sSJBc30S5w
NGNGだったりしませんか。
ブリッジが何段階もあって、レガシーハードを引きずっている現状を
勉強してこそ(笑)、真の実力が身につくのではないかと。
0198LightCone ◆sSJBc30S5w
NGNGNWSOSの場合、C言語で書けることもあって、かなり楽なんです。
OSASKの場合、現状「エセ」だそうですので最後まで見守る必要があるかと。
0199デフォルトの名無しさん
NGNG数年前の話だけど、OSまではやらなかったよ。
ROMに書き込んで直接実行させてた。
I/Oはシリアルだけだったかな。
0200LightCone ◆sSJBc30S5w
NGNG>教科書もないのは、海外も同じで、
それはちょっと疑問があります。
OSの教科書については分かりませんが、3Dグラフィック関係の本は、
高度でしかも分かりやすい教科書がアメリカには沢山あるようです。
日本の教科書は、抽象的過ぎるか、または基礎過ぎるように感じます
(抽象的なものはある意味では高度ですが)。
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGいや、別に。おまえのソース解析力が、近代的なプログラミング作法に
慣れすぎたが故に、スパゲッティに見えるだけだ。
ためしに、linuxやgccのソース見てみぃ。latexでもいいし、Bシェルのソース
でも構わん。
0203LightCone ◆sSJBc30S5w
NGNGNWSOSをもとに、OSの書き方を実践的に書くとか?
現状のNWSOSでは、スケジューリングとかが馬鹿すぎるのでちゃんと
してからでないと、バッシング受けそうで怖いです。
0204名無しさん@Emacs
NGNGグループによるんじゃない?
実際に環境をつくってgcc移植してる人のHPを見た記憶があるんだよ
0205デフォルトの名無しさん
NGNG>ためしに、linuxやgccのソース見てみぃ。latexでもいいし、Bシェルのソース
>でも構わん。
linux-0.01のソースを見たことがあるが、きれいに構造化されていたよ。
linusやるねぇ。と思った記憶がある。
他のはみたことない・・・
じゃあOSASKは、近代的プログラミング作法を用いず
どういうスタイルなの?スパゲッティ作法(w
最近のOSなら近代的プログラミング作法使おうよ
0207FreeDOS教徒
NGNG英語は世界に広まってるから、余計に強いよね。
逆に日本語で書籍出してもいわゆるニッチな市場だから生き残れない。
日本ではとにかく数が売れないとどうしようもないから。
>>193
アレよりは遥かにマシ。間違いねぇ。
俺はC++使えないけどMonaの流れは掴めるし。
0208名無しさん@Emacs
NGNGあーOS作ってなかったですね、CPU向けのgccを作ったということでした。
記憶があいまいだった...
http://www.yl.is.s.u-tokyo.ac.jp/~sumii/tsugcc/tsugcc.html
0209デフォルトの名無しさん
NGNGgccの移植(というかアーキテクチャ依存部分の作成?)
はおそらくコンパイラ担当者がそうしたかったんだろうねえ。
つか、コンパイラの作成方法も言語の選択もお任せだった。
課題としてOSを載せろ、という要求は無かった。
今はもしかしたら違うのかもしれん。そこは勘弁。
0210デフォルトの名無しさん
NGNG> ためしに、linuxやgccのソース見てみぃ。latexでもいいし、Bシェルのソース
> でも構わん。
悪いけど、LaTeX とちゃんと書いて欲しいし、この文脈で LaTeX は筋違いかと。
LaTeX が何で書かれているか理解してるか ?
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG> 出たよ、名称粘着が
プッ、そっちにしか突っ込めないのかよ。
お前 LaTeX ってなんだか知らないんじゃねーのか ?
0213ひげぽん
NGNGLightConeさんの言うとおり
>Cとアセンブラプログラムが
>できる方なら基本的なOSは時間さえあればできると思います。
> 大事なのは、CPUアーキテクチャの正しい情報を得ることと、
>もう一つがデバッグに耐えられる忍耐力があることではない
>かと思いますが、どちらも「やる気」の問題が大きいように思います。
この辺が大事だとおもいます。
やる気が続くかどうかが鍵かと。
>>185
>これからも頑張ってね。> ひげぽん さん
ありがとうございます。
>>186
>Lタンはあれだけのものを作るので結構すごいんじゃない?
同意
>ひげぽは、学習能力が高そうなのでこのまま作り続ければ
>NWSOSやOSASKレベルにはまちがいなく到達できると思う。
それはどうでしょうか(笑)
まだだいぶ差がありますので
0214ひげぽん
NGNG>こういうことを勉強したい人は、自分でこつこつやるしかないので、
>海外のように巷にOS作者が溢れてこない理由はそこだと思います
確かに英語圏にはOS作者があふれていますね。
おかげで参考になりますが・・・
ただ、その分レベルが様々ですね。
>>193
>余談だが、OSASKのソースを最近見たが激しくスパゲッティだね。
>いずれ破綻すると思う。
>NWSOSとmona?は大丈夫?
Monaは一応きれいに書こうとは試みていますが
あとでリファクタリングしようとほっとかれてる部分もあります。
一から書き直したいところがちらほら
0215デフォルトの名無しさん
NGNG近代的といえば近代的な気もするのですが?
OSASKのソースがスパゲッティ状態だとは思いませんが、
ASKA部分の定数直打ちは勘弁して欲しいです。
内部のシステムコールの番号とかへたれな私にはもはや記憶不可能な状態です。
0216ひげぽん
NGNG>あーOS作ってなかったですね、CPU向けのgccを作ったということでした。
>記憶があいまいだった...
>http://www.yl.is.s.u-tokyo.ac.jp/~sumii/tsugcc/tsugcc.html
これ面白いですね。
いやあ勉強になります。
0217デフォルトの名無しさん
NGNGただ、3年後期のCPU実験とは別に、3年前期にNachosというMIPS
のシミュレータ上で動く半完成のOSを実装するという演習は
あるけどね。今年のレジュメは
http://www.bi.a.u-tokyo.ac.jp/~wataruk/os-ensyu/2002/
かな? Monaの作成にも役立つと思うので見てたら -> ひげぽん
0218ひげぽん
NGNGアップしました。
http://mona.sourceforge.jp/html/index.html
0219デフォルトの名無しさん
NGNG知識は増やすだけだけど、心理は減らさないと求めることはできないよ?
そろそろ大人になったらどうだい?つか俺tex系不便だし
UNIXMagazineみたいに辛気臭いのばっかできあがるからつかわね。
0220デフォルトの名無しさん
NGNG知ってるの?知らないの?
0221デフォルトの名無しさん
NGNG心理?真理じゃなくて?
俺tex系不便だし??
アフォ
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG世も末だな。きっとこういう輩はPerlが内部的に持ってる中間言語の
形態についても全く知らないんだろうな。ダメすぎ。
0224デフォルトの名無しさん
NGNG人より遥かに深い理解ができると思います。
道のりが遠いので、今現状の理解度については目をつぶらないとね。
自慢げに煽っていると、そのうちに立場が逆転するかも知れませんよ。
というか、LaTeXってそんなに凄いもんなんか(藁
0225デフォルトの名無しさん
NGNG|マターリシヨウヨ|
 ̄ ̄| | ̄ ̄
⊂ ´⌒つ゚ー゚)つ
0226デフォルトの名無しさん
NGNG何だ、まんまじゃねえか。
つかさ、どっちもどっちだよ。ソフトを知ってることがそんなに偉いの?
0227デフォルトの名無しさん
NGNG> ソフトを知ってることがそんなに偉いの?
じゃなくて、知らないでえらそうに書くことが恥ずかしいの。
わかった ? > >>202
0228デフォルトの名無しさん
NGNG\
\
\ /| 。.
,,-'―\ _,/ノ . .
___,,-―――='' ̄ ̄ _,,-'―=''' ̄_,/| o *
_,,-―=''' ̄ ___,,-―――='' ̄ __,-―='' ̄ / . . .
_,,-―=''' ̄ _,,-―='' ̄ ヽ / +
 ̄ ̄ _,,-―=''' ̄ \ / . . . .
,,-='' ̄ ヽ / . 。. ★ ☆
,,,-'' ヽ/ 。. .
-―'' ̄ /\ ___, /\ | . ☆ +
. | ..::::::::::::... | / ..:::::::... | + . . .
| | / | . . ☆
ヽ γ´~⌒ヽ. | / /☆ . * +. . また〜りしよっ♪
――ヽ / ヽ | / /⌒ヽ、. . . .
\/ | |_/ / ヽ +★
/ | / ノ * ☆
0229デフォルトの名無しさん
NGNG別に、OS 作るのに LaTeX がどのようなものか知る必要はあるとは思えんし、Perl の中間言語が OS と何か関係あるのか ?
>>224
そう言う話じゃないよ。
LaTeX について知らないんなら黙ってた方が良いと思うよ。
今時は、LaTeX なんか知らなくても別に問題ないし。
0230ひげぽん
NGNG: /* no output */
: "m" (gdtr)
);
_sys_printf("gdtr.limit = %d\n", gdtr.limit);
_sys_printf("gdtr.base = %d\n", gdtr.base);
baseが0で返ってきます。
実機でもbochsでも・・・うーんなぜだ・・・
0231LightCone ◆sSJBc30S5w
NGNG0232ななし
NGNG正直、何が討論されているのかさっぱり理解できんが、
なんつーか、プログラミングを初めて覚えたころの
ドキドキ感を味わえているような気がしてくる。
スレ汚しごめんね。あとマターリしる!
0234デフォルトの名無しさん
NGNG0236ひげぽん
NGNG>>235
#pragma pack(2)
/*! gdtr */
typedef struct {
word limit;
dword base;
} GDTR;
#pragma pack()
のようにしたところ目的の動作が得られました。
ありがとうございます。
0237日和見主義
NGNG趣味にしても、時間は限られてるしね。
0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG海外では確かにOS作ってる人がたくさんいるけど、GUIまでのサポートと
なると、かなり限られてくる。
0241みとこ ◆AEqcy/sQU6
NGNGマイレージためたら何かあるの?
ちなみに漏れはOSASK派。
0243デフォルトの名無しさん
NGNG一応サイトいったけど
0244みとこ ◆AEqcy/sQU6
NGNG現時点ではOSとしての完成度は「ライバルOS」と称されている他のOSより
遥かに遅れてるんですよね。
技術的な革新点も特にないし。
だめぽ。・゚・(ノД`)・゚・
ふむふむ。
0247ひげぽん
NGNG>現状、MONAに傾こうか、NWSOSに傾こうか、日和見中。
>趣味にしても、時間は限られてるしね。
MONAにおいでくださいまし(笑)
>>238
>NWSOSの方に来るとマイレージが入ります、と言ってみるテスト。
やられますた。
Monaの方に来ると楽しいですよきっと、多分。おそらく。
>>238
>ひげぽん氏は、GUIもサポートする予定ありますか?
あります。と言っておきます。
>GUIをサポートしようとすると、OS作りってとたんに難しくなると思われ。
>海外では確かにOS作ってる人がたくさんいるけど、GUIまでのサポートと
>なると、かなり限られてくる。
そうですね。
その点においてNWSOS、OSASKはすごいですね。
0248デフォルトの名無しさん
NGNG国内で独自のJavaVMとかJavaネィティブコンパイラ(バイトコードをネィティブコードに変換)
を開発してるとこってあるんでしょうか?
0249ひげぽん
NGNGみとこさん、LightConeさんは、どういうペースで開発されてるんでしょうか?
開発の定義があいまいですが・・・
私の場合は、平日は本を読んだり、構想を練ったりしてます。
土日はテストコードを書いたり、ちょっとだけOSのコードを書ければ
いいかなって感じです。
0250デフォルトの名無しさん
NGNGつーか、Xでいいじゃん。だめ?
0252みとこ ◆AEqcy/sQU6
NGNG他にもいろいろとやってるので開発ペースが安定してません。
なるべくめぐに時間を注いでますが。。。
でも単純比較なら開発時間はひげぽんさんより長いはず。
ついでに作り始めたのも。。。
0253LightCone ◆sSJBc30S5w
NGNGPC/AT機版の元となったOSを開発を始めたのはだいぶ前です。
そのとき数ヶ月開発し、そのまま放置していたのを、2002年に
なってから移植し始めました(4月頃かな?)。
0254デフォルトの名無しさん
NGNGヽ ___\(\・∀・)< みとこさんは女ですか?
\_/⊂ ⊂_)_ \____________
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
l ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| .|
| |/
0255デフォルトの名無しさん
NGNG0256LightCone ◆sSJBc30S5w
NGNG>技術的な革新点も特にないし。
個人的に、Windowsで「アプリレベルで根本的に出来ない事柄」
「根本的に不足している事柄」を探してみてますが、めったに見つからない
です。
裏を返せば、他のOSの出る幕がほとんどないということでは?
「強いてやろうと思えばできるけど、手間がかかること」はあるの
で、そこに対案を出して売りにするしかないかもしれません。
0257デフォルトの名無しさん
NGNG一応匿名なので、暇なら誰か来て
0258 ◆cIQBj36mnM
NGNG?
0260デフォルトの名無しさん
NGNG> 「強いてやろうと思えばできるけど、手間がかかること」はあるの
> で、そこに対案を出して売りにするしかないかもしれません。
反対じゃないの ?
もっとシンプルでスマートな OS を作って欲しいと思う。
(でも、売れないんだよなァ...。)
0261LightCone ◆sSJBc30S5w
NGNG「反対じゃないの」と、
「もっとシンプルでスマートな OS を作って欲しいと思う。 」
との繋がりが分からない。
「反対」だと思う理由を書いてください。
0262デフォルトの名無しさん
NGNGそもそも Windows には...
>「強いてやろうと思えばできるけど、手間がかかること」
と言うのがあまりない。これほど強力な API/ライブラリ等が揃っている OS はそうそうない。
だから...
> で、そこに対案を出して売りにするしかないかもしれません。
なんてことするのは、非常に困難。
その代わり、全体的に複雑で統制の取れていない設計があちこちにある。
このために、プログラムを作るのに覚えることがたくさんあって大変だし、サブシステム毎に思想がばらばらだから同じようなことをしようとしても苦労が絶えない。
だから、もっと「シンプルでスマートな OS」を作って、それを売りにした方がいいと思う。
(というか、機能の豊富さ (≒ 開発の物量) で MS と勝負してもしょうがないでしょ ?)
> 「反対」だと思う理由を書いてください。
なんで、これぐらいわからんのか... ?
Windows がシンプルでスマートな OS と思ってるのかなぁ...。
0263ひげぽん
NGNGみとこ さん
>>他にもいろいろとやってるので開発ペースが安定してません。
>>なるべくめぐに時間を注いでますが。。。
なるほどみとこさんは、めぐに時間を注ぎ
ひげぽんは、モナーに時間を注ぐのですね(笑)
冗談はさておき、やはりOS作成には時間がかかりますね。
一応私は5年計画ですが。。。
>LightCone さん
>PC/AT機版の元となったOSを開発を始めたのはだいぶ前です。
>そのとき数ヶ月開発し、そのまま放置していたのを、2002年に
>なってから移植し始めました(4月頃かな?)。
なるほど、NWSOSと比べてMonaは2年分くらいの差があると感じてます。
全くの私の主観ですが・・・
もっとがんばらなくては・・・
0264みとこ ◆AEqcy/sQU6
NGNG今のコードベースは一年くらいかな
0265ひげぽん
NGNG>PROJの最初から考えるともう5年以上たったかもしれない、、、
>今のコードベースは一年くらいかな
ひえー、大先輩ですね。
今後ともよろしくお願いいたします。
0266257
NGNGひげぽんさん、LightConeさんも、お暇なら是非来てください
0267超先生@OS板 ◆leaf/RYZgY
NGNG<後ろ頭> y-~~~ 面白そうになってきたな。
私もちょいと昔のを引っ張りだしてこようかな。
0269デフォルトの名無しさん
NGNG煽るなよ
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG普段は組み込み機器でリアルタイムLINUXのカスタマイズを仕事にしてます。
mips系ばかりでx86は初めてですが、NWSOSを追い抜くべく頑張ります。
BIOSがかなり整備されてるっぽいところが、唯一の月明かり・・・
0272デフォルトの名無しさん
NGNG><後ろ頭> y-~~~ 面白そうになってきたな。
おー。超先生、も参戦ですか?
0273LightCone ◆sSJBc30S5w
NGNG>その代わり、全体的に複雑で統制の取れていない設計があちこちにある。
>このために、プログラムを作るのに覚えることがたくさんあって大変だし、サブシステム毎に思想がばらばらだから同じようなことをしようとしても苦労が絶えない。
それは同感。
0274デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています