トップページ⇒tech
982コメント407KB

OSをつくろうpart4

■ このスレッドは過去ログ倉庫に格納されています
0001ひげぽんNGNG
独自にOSを作っているまたは、作ろうとしている人たちのための
スレッドになればと思います。

前々スレッド
OSをつくろうpart2
http://pc3.2ch.net/test/read.cgi/tech/1024411711/

前スレッド
OSをつくろうpart3
http://pc3.2ch.net/test/read.cgi/tech/1027080631/
0666デフォルトの名無しさんNGNG
>>665
電磁気学とからしい。
0667デフォルトの名無しさんNGNG
>>662
>500位まではあと、半年もすれば行くだろう。
行かないな。
0668デフォルトの名無しさんNGNG
知識だけの差と考えるのも納得できないな。
プログラムの腕の差って、単純な知識の差だと思うか?
0669デフォルトの名無しさんNGNG
しかし。。俺らって無駄にスレ浪費してるな。。
0670デフォルトの名無しさんNGNG
「プログラムには作者の魂、情熱が埋め込まれている」
0671超先生@OS板 ◆leaf/RYZgY NGNG
 ∧_∧
< `ー´>-~~~ ひげぽんて何歳だっけか。
シナリオライターでもプログラムは書ける。
0672デフォルトの名無しさんNGNG
冷静な意見を1つ。
http://pc.2ch.net/test/read.cgi/os/1031404041/l50
同じ時間帯にOSASK板でOSASK批判めいた書き込み多数。

かたやこちらではMONA批判めいた書き込み多数。

一方、NWSOS板はまったく静か。
年末の昼間ということを考えれば、これは偶然ではなく。
Lタンまたは、その陣営が書き込んでいるのではと思われてもしょうがない(w
0673デフォルトの名無しさんNGNG
>>671
>シナリオライターでもプログラムは書ける。
「簡単な部分」に絞ればそうです。
0674デフォルトの名無しさんNGNG
確か24歳くらいとスレのどこかに書いてあった。
dat落ちしたからわからんが。
L氏、K氏は20代後半の後半。
0675デフォルトの名無しさんNGNG
>>672
(w
Lタン ハアハア
0676デフォルトの名無しさんNGNG
ちょっとまて。
L氏がすごいと言うが、井の中の蛙って落ちってことない?
世界は広い
0677デフォルトの名無しさんNGNG
>>674
え?そうなの。
基礎体力の差は年齢差という落ちか。
Lタンハアハア
0678デフォルトの名無しさんNGNG
まあ、L氏がすごいというのは認めるしかない。
相撲で言えば、前頭筆頭ぐらいかな(爆
0679LightCone ◆sSJBc30S5w NGNG
 誰が書いてるのか知りませんが、「予想」してもしょうがないと思いますよ。
待てば分かる事です。結果でしかわからないと思うなあ。
0680デフォルトの名無しさんNGNG
L氏の自己評価
Kタン、Hタンの評価を聞いてみたい。
主観でいいよ。
0681LightCone ◆sSJBc30S5w NGNG
>>671
>シナリオライターでもプログラムは書ける。
うーん。
実際には、プログラマの腕の差はあると思いますね。
企業内でも、書き手が交代した際に、
「急にやる気がでて、スイッチがオンになりましたね」
といわれた経験もありますしね。

米国の調査でも、開発効率に数千倍の差がある結果が出たと聞いてます。
0682LightCone ◆sSJBc30S5w NGNG
>>680
ネットでは書けないです、すみません。
0683デフォルトの名無しさんNGNG
>>682
なぜ?
書いてしまってよいと思うが。
ぼろくそに書いても褒めてもいい。
それはL氏の意見であって、事実とは異なる場合もあるのだから。
0684LightCone ◆sSJBc30S5w NGNG
>>683
トラブル起こすような事を勧めないで下さい。お願いします。( ̄へ ̄;
0685LightCone ◆sSJBc30S5w NGNG
スレ汚しですみませんが、一般に知識と暗記は違う意味で使われているの
ですか?
自分の中では、知識=暗記とほぼ同義だと思ってしまっているんですが。
プログラミングには、暗記は、要らないですよね。
0686デフォルトの名無しさんNGNG
ところでニックLIGHTCONEの由来はなんですか?

苦し紛れに解釈すると、
まず、[light=軽い-->ケイ-->啓]
そんで、[Cone=円錐----------------->介(とんがりっぽい(汗))]

ずばり、Lタンの本名は「啓介」(-_-)y--~~~ドウダ
0687LightCone ◆sSJBc30S5w NGNG
 特殊相対性理論の初歩の初歩で一番最初に出てくる4次元ミンコフスキー空間
の中の、時間軸を中心線と、中心線と母船との角度が45度の円錐の事です。
 現在の時空を原点にすると、現在の時空から出た光は常にこの円錐上を通過
することから、「光の通る円錐」と言う意味で、light-cone と名付け
られています。そこから取りました。
0688LightCone ◆sSJBc30S5w NGNG
訂正:スマソ
時間軸を中心線とする、中心線と母線との角度が45度の円錐の事です。
0689デフォルトの名無しさんNGNG
わざわざ、詳しい説明どうもです。
やっぱ、ニックのつけ方といい、Lタンすげーわ。
0690デフォルトの名無しさんNGNG
このスレはOS開発者を比べっこするのが目的じゃないでしょ。

サンデープログラマっぽい趣味のプログラマがOSなんてスゴソー
なものを作る過程をマターリと見守って、一緒に一喜一憂するスレ
だと思うんだが。
0691 NGNG
>>690
(・∀・)イイ!!事言った!
0692デフォルトの名無しさんNGNG
ひげぽんたん。
来年もがんばってください。

C/C++ライブラリはSourceForgeにC99対応とかってのが
あった気がしますぞ。
0693ひげぽんNGNG
ありがとうござます。
くじけない限りがんばります。

C99調べてみます。m(__)m
0694デフォルトの名無しさんNGNG
あけおめ。
ひげぽんがんがれ。
0695デフォルトの名無しさんNGNG
>>687
(´Д⊂ヽ
何言ってるかわかんないよ〜
0696デフォルトの名無しさんNGNG
>>695
ブルーバックスでも見るとよろし
0697デフォルトの名無しさんNGNG
>>695
ランダウ・リフシッツの訳本でも(略

ほげぽんあけましておめでとう。
今年もがんがってくだちい。
0698デフォルトの名無しさんNGNG
め、めぐが!!
http://meg-os.org/
0699デフォルトの名無しさんNGNG
まじで開発終了かよ!
0700デフォルトの名無しさんNGNG
>699
ネタだろ?
いかにも彼が好きそうな下らんネタだな
0701デフォルトの名無しさんNGNG
ちょうど動作報告しようと思ってたトコなのになー。
0702デフォルトの名無しさんNGNG
ということでMEG-OS Liteの開発は終了しました。みとこは名無しに戻ります。
裏でヒソーリ開発させてください。←ここ見た?
MEG-OS.ORG is now for sale.
0703デフォルトの名無しさんNGNG
>>702
みんな見たんじゃない?
古典的なやり方だし。
0704デフォルトの名無しさんNGNG
いや〜、上手に騙されたw

でも、色々考えた。
やっぱり、プロジェクトとして公開してると
プレッシャーがかかってくる。
コソーリ開発が一番なのだと・・・。
0705デフォルトの名無しさんNGNG
ほげぽん。
プレッシャーに負けるな。
0706デフォルトの名無しさんNGNG
↑「ほげぽん」ワラタ
0707デフォルトの名無しさんNGNG
けど、MEG-OSも開発を本格化するってことで、
いよいよ2003は国産OSが火花を争う三国志元年となるわけですな。
(#ま、現状、NWSOSがぶっちぎりなのは置いといて)

'60、OS開発ってのは終わりがないものだと学者が言ってた。
実際、40年たったいま、やっぱ終わってない。
0708デフォルトの名無しさんNGNG
>三国志元年
3つのOSはなに?
MEG、NWSOS、???
0709デフォルトの名無しさんNGNG
??? = MONA だろ、きっと。
gccで開発できて、sourceforgeでcvs公開されてるんで
開発者はがんがん増えると思われ。

おいらも来年は仕事が少なくなるんで、モナに参加する予定。

魅力は発展途上。
0710デフォルトの名無しさんNGNG
eota,osaskはどうして忘れられてるんだ?

ttp://www.st.rim.or.jp/~osada/translation/developers/BNL_articles/Issue79-insights-j.html
陰ながら応援しております。
0711名無したん ◆AEqcy/sQU6 NGNG
CGIタイムボム仕掛けて正月休みに入ってる間になんかいろいろ言われてるみたいだけどFDC,RTCのデバドラの骨組みは完成したっす。
基本的なデバドラはだいたい揃ったんでそろそろいい加減カーネルに手入れます。ヽ(`ー´)ノ
ちなみにこっからFTPはつなげないんでサイトは放置(;´ω`)
0712デフォルトの名無しさんNGNG
っていうかLはなんでもっと20年近くはやく生まれなかった?
Windowsって'81に開発がスタート。最初に発売したのが'85
窓の重ねができるようになったのが、'87

まぁなんだかんだ、NWSOSってWindows年表でいうと、'90前後だと思われ。

Win3.0が'90だしな。

0713デフォルトの名無しさんNGNG
>>712
L氏は確かに凄いがWindows3相当の物を作れるかは疑問
あっちは莫大な予算と大勢のプログラマでやってるんだからね。
それにL氏自身Winの代わりを作ろうとは思ってなさそうだ
0714デフォルトの名無しさんNGNG
>あっちは莫大な予算と大勢のプログラマでやってるんだからね。
まー俺もそう思ってたが、じゃ、Windows3.0にはあって現状のNWSOSに
ないものって何がある?と考えたとき、意外とないよ。
具体的に列挙してみ?数えるほどしかない。
0715デフォルトの名無しさんNGNG
Office?
0716名無したん ◆AEqcy/sQU6 NGNG
なんかFDCアクセス数回すると急に応答しなくなってタイムアウトばかり出るんですがどうすればいいんでしょうか?
0717デフォルトの名無しさんNGNG
>Office?
結局、アプリだけがない状況
0718デフォルトの名無しさんNGNG
>>717
GDI(プリンタ含む)みたいな仕組みはあるの?
あとOLEもないとOfficeは厳しいな。
0719LightCone ◆sSJBc30S5w NGNG
>>718
>GDI(プリンタ含む)みたいな仕組みはあるの?
まだないです。
NWSOSは、本当に運用しようと、まだまだ不足している部分が多いの
が現状ですが、今後徐々に補充していきたいと思っています。
0720LightCone ◆sSJBc30S5w NGNG
誤字修正:
「本当に運用しようと、」--->「本当に運用しようとすると、」
スマソ
0721デフォルトの名無しさんNGNG
ある程度使えるようにと、機能の追加に勤しむより、斬新的なカーネル開発に
力を入れたほうがいいと思う。WINDOWSのような万能OSが蔓延している中、
カーネル部分で勝負したほうが、まだ利用価値はあると。。
万能的なものを全てサポートしようとすると中途半端に
なってしまう可能性大だかも。
0722デフォルトの名無しさんNGNG
BeOSという前例があるからねぇ〜
0723デフォルトの名無しさんNGNG
NWSOSでOffice製品群を揃えるビジョンとかはないの?>>Lタン
0724LightCone ◆sSJBc30S5w NGNG
>>723
>NWSOSでOffice製品群を揃えるビジョンとかはないの?>>Lタン
最近、ワードやエクセルとデータが交換できるようなオープンソースの
Officeもありますので、移植する手も考えています。
0725デフォルトの名無しさんNGNG
>最近、ワードやエクセルとデータが交換できるようなオープンソースの
>Officeもありますので、移植する手も考えています。
いや、あれはお勧めしない。多分、OpenOfficeのことでしょ?
使ってみれば分かるけど、MS-Officeに比較してとんでもない起動時間が
かかる。ExcelやWordのようにサクサク動かない。
コミュニティも、改善すると前々から唱えてるけど、一向に改善される気配ないし、
根が深いっぽい。

OpenOfficeはlinuxでもWindowsでも動くけど、どっちもトロい。
一度、ご自分の目でお確かめを。
0726超先生@OS板 ◆leaf/RYZgY NGNG
>最近、ワードやエクセルとデータが交換できるようなオープンソースの
>Officeもありますので、移植する手も考えています。
  ∧_∧
< `ー´>-~~~
早期にJava VMを実装してThinkFree Officeを動かしたりする手もあり。
0727デフォルトの名無しさんNGNG
まわりくどいことせずに
Wineを完全に動かせればいいんじゃ、、
0728デフォルトの名無しさんNGNG
ところで、NWSOSでもやっぱり、タスクの生成・管理法に親子関係を
使っているのですか?fork(), exec()みたいなもの。
0729超先生@OS板 ◆leaf/RYZgY NGNG
  ∧_∧
<後ろ頭>-~~~ CoWは効率上げるの難しいんだよな・・・。
0730デフォルトの名無しさんNGNG
fork(), exec()を使わない、効率的なタスク管理方法ないですかね、、、。
実際問題、効率的とかはあまり関係なく親子関係ってのが伝統的なUNIX
っぽくって嫌なだけですけどね。。。
0731LightCone ◆sSJBc30S5w NGNG
>>728
>NWSOSでもやっぱり、タスクの生成・管理法に親子関係を使っているのですか?

今のところタスクの親子関係はありませんが、各種保護の管理に利用出来そう
なので多方面からメリットとデメリットを考察中です。


また、今のところ、NWSOSには、fork()はなく、
いきなり新タスクを生成する仕組みを採用しています(ExecTask(),
SpawnTask()参照)。

最近、UNIXのソースなどを見るうちに、fork()のメリットが分かってきま
したので(サブスレッドのメリットと、メモリ保護のメリットを足したよう
なものとして利用出来る場合があります)、近いうちにNWSOSでも実装する
予定です。同時に追加予定の、exec()相当APIと、既存のExecTask()APIで、
API名が紛らわしくなるのが気がかりでは有りますが、今のExecTask()は
捨ててもいいかなと思っています(SpawnTask()APIが上位互換なので)。
0732LightCone ◆sSJBc30S5w NGNG
>>730
>実際問題、効率的とかはあまり関係なく親子関係ってのが伝統的なUNIX
>っぽくって嫌なだけですけどね。。。

例えば、「伝統的なUNIXの嫌な部分」とは、waitpid()が、
自分から見て子の関係にあるタスクだけしかできないことや、「wait」しない
とゾンビが残る、みたいなことでしょうか。間違っていたらすみませ
ん(UNIX初心者なので)。


ちなみに、NWSOSでは全く親族関係の無いタスクでも、タスクハンドルだけ
はロックできるので、タスクが不意に死んだとしても安全にステータスを読む事
ができるような仕組みにしてみました。
0733LightCone ◆sSJBc30S5w NGNG
>>726
なるほど、ThinkFree Office は、JavaVMがあれば動くんですか(基本的な
事を知らないので申し訳ないんですが)。

であれば、有志の方に JavaVM を実装(移植?)して欲しい
ところなんですが、、、。(^_^;)

それはそれとして、他にも各種フリーの(?)Officeがあるようですが、
その辺はどうなんでしょう。
0734LightCone ◆sSJBc30S5w NGNG
>>725
なるほど、機会があるときに調べておきます。
貴重なご意見を有難うございました。
0735LightCone ◆sSJBc30S5w NGNG
>>729
>CoWは効率上げるの難しいんだよな・・・。

恐らく、fork()する際の、CopyOnWriteの事だと思うんですが、
NWSOSにfork()を最初に実装する際には、ひとまず効率追求は後回しにする
として、簡単に単純コピーしようと思っています(内部的な改良で上げられる
種類の効率は、徐々に高めたいと思っていますので)。
0736デフォルトの名無しさんNGNG
>732
親子関係でのステート管理方法もそうだけど、
fork(), exec()時のオーバーヘッドが大きいからかな。
COWで少しは軽減されてるみたいだけど。
こればっかりはどうしようもないか。
でも、確かに各種保護機能だけはすぐれていると思います。
0737デフォルトの名無しさんNGNG
>恐らく、fork()する際の、CopyOnWriteの事だと思うんですが、
ここでいうcopyって、.bssセクションなどのコピーっていう意味かな?
0738デフォルトの名無しさんNGNG
NWSOSへの希望

キーボードのオートリピート速度を高速にしてほしー
0739LightCone ◆sSJBc30S5w NGNG
>>737
>ここでいうcopyって、.bssセクションなどのコピーっていう意味かな?

えーと、ご存知かもしれませんが、
CopyOnWriteとは、fork()した時点では、ページテーブルや
ページディレクトリのコピーをするだけにしておいて、物理ページや
スワップ領域を確保せず、アプリがデータ領域などに相当するページに
書き込もうとするとページ例外を発生させて、例外ハンドラ内で
物理ページをマッピングして、実際にコピーを行うような方法のこと
を言います。

.bssセクションの場合は、fork()した時点の親プロセスにおいて、既に書き込み
があれば、.dataセクションと同様の扱いになり、書き込みが無ければ、
実際にアクセスされた時点で0-Fillされたページを割り当てる、という手が使
えると思います。
0740LightCone ◆sSJBc30S5w NGNG
>>738
>キーボードのオートリピート速度を高速にしてほしー

最速に設定しているつもりなんですが、設定できてませんか?
(なんらかの原因でキーボードの種類によっては正しく設定できてないの
かもしれません)
0741LightCone ◆sSJBc30S5w NGNG
>>736
 fork()ならではの技法が存在するので、UNIXアプリを移植するためには、
効率は度外視したとしても、一応はfork()を用意しておいた方がいいと思って
るんです。

NWS-SHELLでは、内部コマンドをサブスレッドで実装していますが、
BASHでは、fork()を使って自分のクローンプロセスを作成して、別プロセス
でやってます。後者の方法は、内部コマンドの起動効率は悪いのですが、
内部コマンドを外部コマンドと全く同じ扱いにできるメリットがあります。
0742デフォルトの名無しさんNGNG
>>686
豊

>>700
女じゃなかったの?
0743デフォルトの名無しさんNGNG
>fork()ならではの技法が存在するので、UNIXアプリを移植するためには、
>効率は度外視したとしても、
linuxの do_fork() に kprintf() 仕込んで、カーネルコンパイルしなおし
KDE起動してみたとこ、意外にもforkが呼び出される回数って少なかった。

で、再度、kprintf()外すときにlinuxカーネルをフルビルドしたんだけど
gcc内部では一度もforkを呼び出してなかった。

頻度考えると、Lタンのfork()効率後回しは正解かも。
0744デフォルトの名無しさんNGNG
サーバープロセスじゃないとforkはあまりしないような・・・
0745デフォルトの名無しさんNGNG
でも、BASHとかのシェルだと、コマンド実行するたびに、

if ((pid=fork()) > 0)
exit(0);
if (pid == 0)
exec("comand");

みたいなことするんでしょ?
fork()しっかり使ってるような。。
0746デフォルトの名無しさんNGNG
間違った。

if (pid == 0)
exec("comand");

if ((pid=fork()) > 0)
while (wait(&status) != pid)
/* LOOP */ ;
0747LightCone ◆sSJBc30S5w NGNG
 bashの特徴的なfork()の使い方は、内部コマンドを実行する際に、fork()
だけを使っている事です(exec()は呼ばれません。)。
 ちなみに、現代的にはサブスレッドでやるような処理なんですが、
伝統的なUNIXには、スレッドがサポートされていませんでした。
0748デフォルトの名無しさんNGNG
>>L様
tcshはWindowsにも対応しているので
bashだけでなくtcshの方もご覧になるのはいかがでしょうか?
http://www.tcsh.org/

win32\fork.cを見ると、CreateProcess()を使ってfork()が
実装されていたりと色々と面白いですよ。

Mac OS XとかMicrosoft Interixとかでも
bashではなくてtcshが標準的です。
0749ひげぽんNGNG
最近OSの勉強ばかりで、あまり進んだように見えないMonaですが
少しずつ前進しております。

Linuxってすごいですねと、しみじみと思います。
遅延書き込みとか、仮想ファイルシステムとか、ドライバインターフェースとか
でもこれって、あとから追加されたものですよね・・・
そう願いたいです。

話題になっているforkですがMonaでは、どうしようかと
ちょうど悩んでいるところでした。(細かいところはまだ不勉強ですが)
プロセスに親子関係を持たせる方向で行こうかな。
0750ひげぽんNGNG
公式サイト ttp://mona.sourceforge.jp/
1000Hitを記念して
(・∀・)yossy◆FlasH.X1/sさんの作品を公開いたします。
ttp://mona.sourceforge.jp/Pack.gif

私のモチベーションはこれで上がりました。
0751名無したん ◆AEqcy/sQU6 NGNG
カコ(・∀・)イイ

いいなぁ(;´Д`)
0752デフォルトの名無しさんNGNG
>>750
おめでと。ところでSourceForgeはプロジェクトの削除を認めないから
http://higepos.sourceforge.jp/
が放置されてるのは分かるんですけど、
せめてMonaへのリンクくらい置いておいていただけませんか?
0753デフォルトの名無しさんNGNG
>>749
> あとから追加されたものですよね・・・

Linuxのエエところは、その追加や変更に必要な膨大な作業を、
厭わずに全世界のgeeksのパワーでもってやりとげたことだわね。

今はもう各企業のオープンソース対策チームの人たちがやってる
から、感慨深くはないけど。
0754ひげぽんNGNG
>>752
>せめてMonaへのリンクくらい置いておいていただけませんか
ご指摘ありがとうございます。
半ば忘れていました。申し訳ありません。
対応いたしました。
0755デフォルトの名無しさんNGNG
>>749
http://kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.bz2
有名な最初にリリースされたカーネル
ものすごく小さいから読みやすいし、参考になるかも
0756デフォルトの名無しさんNGNG
>>754
素早い対応ありがとうございます。
ただTypoが……。 < Soryy

あと、せっかく置いてあったhigepos.binが隠れて
ちょっと寂しいかな……。

要望ばかりですみませんが、
時間があるときにでもMonaのコンパイルに挑戦してみますんで。
0757デフォルトの名無しさんNGNG
>750
(・∀・)yossy◆FlasH.X1/sさん、すごひ。
本格的なパッケージですね。
0758henoheno@OS板 ◆mXrBwDDzyw NGNG
古いLinuxのソースを見るだけならば、ここからどうぞと言うテスト。
ttp://minix-up.sourceforge.jp/cgi-bin/l.cgi/l/li/linux/?only_with_tag=LINUX_0_01
0759デフォルトの名無しさんNGNG
Monaの公式サイト、ダウンロードの
"Mon実行方法"って"Mona実行方法"の間違いだよね?
開発に関係なくて申し訳ないが、直したほうがいいかと。
0760ひげぽんNGNG
>>755
有用なリンクありがとうございます。助かります。

>>756
>ただTypoが……。 < Soryy
>あと、せっかく置いてあったhigepos.binが隠れて
失礼しました。
あと英文ミスも直しました・・・

>間があるときにでもMonaのコンパイルに挑戦してみますんで
ぜひチャレンジしください。
インストール方法に反映させていただきます。

>>758
これは便利ですね。henohenoさん、ありがとうございます。
0761(・∀・)yossy ◆FlasH.X1/s NGNG
>>751
>>757
ありがとうございます( ´∀`)
近いうちにアレが使われる日が来る事を願いましょう

>>759
スイマセン、直しますた
0762デフォルトの名無しさんNGNG
>>760
あのー、度々で申し訳ないんですけど、
別の間違い方なんですが。。。< Soryr
Sorryです!!
0763ひげぽんNGNG
>>762
直しました。今日はどうにかしているようです。
もう、馬鹿かとアホかと・・・
すいませんでした。m(__)m
0764デフォルトの名無しさんNGNG
>>763
お疲れ様でした。

ところでちょっと個人的な要望なんですが、
MonaはいきなりGUIにいかずに、
コマンドラインとしても使えるようにしてほしいです。
NWSOSとかOSASKはいきなりGUIにいくのでちょっと……。

コマンドラインを隠すにしても
Win3.1みたいにAutoexec.batで起動させる方法もありますし。
0765ひげぽんNGNG
>>764
>MonaはいきなりGUIにいかずに、
>コマンドラインとしても使えるようにしてほしいです。

ご要望ありがとうございます。
当分はCUIオンリーだと思います。
GUI導入時には、上記要望を取り入れられるよう
検討します。

GUIをどれだけカーネルから分離するかも
考えなければいけないですね。

タスク管理
メモリ管理(ページング)
VGA対応
フロッピードライバ
ファイルシステム
プロセスロード(実行形式の決定)
・・・道のりは長い。
■ このスレッドは過去ログ倉庫に格納されています