ひげぽん<><>02/11/12 19:20<> 独自にOSを作っているまたは、作ろうとしている人たちのための <br> スレッドになればと思います。 <br>  <br> 前々スレッド <br> OSをつくろうpart2 <br> http://pc3.2ch.net/test/read.cgi/tech/1024411711/ <br>  <br> 前スレッド <br> OSをつくろうpart3 <br> http://pc3.2ch.net/test/read.cgi/tech/1027080631/ <br>  <>OSをつくろうpart4
デフォルトの名無しさん<>sage<>02/11/12 19:24<> 調子どう？ <br> がんばってねん。 <br>  <>
ひげぽん<><>02/11/12 19:25<> ■勝手にリンク <br> OSASK <br> http://www.imasy.or.jp/~kawai/osask/ <br> NWSOS <br> http://homepage2.nifty.com/nowsmart/nwsos.htm <br> ???? <br> http://sourceforge.jp/projects/higepos/ <br>  <>
FreeDOS教徒<>osage<>02/11/12 19:43<> 新スレおめ〜♪ <>
ひげぽん<><>02/11/12 20:15<> <a href="../test/read.cgi/tech/1037096449/4" target="_blank">&gt;&gt;4</a> <br> ありがとうございます。 <br> ブートコード問題が一段落したのでほっと一息です。 <br> ついでにA20問題も一応対処しました。 <>
うえぽん<><>02/11/13 01:17<> ＞ひげぽん <br> 忙しいとは思いますが、がんばってください。 <br> 僕も大学の後半からプログラミング初めて、 <br> 趣味でi486(386)エミュレーションなど体験し <br> 遊びました。（なかなか安定しませんが） <br> 結局マクロアセンブラなどはあまり解りませんが、 <br> 楽しく板を読ませて頂いております。 <br> 忙しいけど、またエミュはじめたいなあ。 <>
デフォルトの名無しさん<><>02/11/13 02:39<> 2げっと <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/13 11:10<> 　firstboot.asm の readsector ですが、bx=0以外のときには対応して <br> ないと思うのですが、それより問題になると思うのが、 <br>  <br> laddr = (es * 16 + bx) <br>  <br> から始まるバッファが、64KB の境界をまたぐとき、PC/AT 機の BIOS <br> が対応していない（機種がある）ことです。 <br>  <br> &gt;Because of the architecture of the DMA channel, an error will <br> &gt;occur if the buffer in memory for the sectors overlaps a 64K page <br> &gt;boundary. A 64K page boundary is a memory location which is one of <br> &gt;the following (10000h, 20000h, 30000h, etc.). Ensure that no part <br> &gt;of your buffer falls on such a boundary. If it does, create a new <br> &gt;buffer or start the buffer just after the boundary. <br>  <br> とあります。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/13 11:16<> 　お節介なようですが、もう一つ気になる所があります。 <br>  <br> 　以前にも書きましたが、cf = 1 で返ってきた時の処理です。PC/AT の <br> DISK BIOS は、失敗した時に自分でリトライするのですが、単に繰り返すだ <br> けでは駄目で、ah = 0 で、"RESET" する必要があることです。 <br> たしか、ハード的に現在のシリンダの絶対位置を取得することができないが、 <br> シリンダ０へだけは正確にシークできるそうで、"RESET"はそうする <br> そうです（相対的には、盲目的にではあっても正確に動かせるそうです。）。 <br>  <br> 以下を参考までに。 <br>  <br> &gt;If an error is encountered reading a sector, use Service 0 to <br> &gt;reset the drive and retry the operation. It is recommended that at <br> &gt;least 3 retries be attempted before an error is signalled, since <br> &gt;the error may have resulted from the diskette motor not being up <br> &gt;to speed. <>
FreeDOS教徒<>osage<>02/11/13 12:59<> &gt;&gt;LightCone氏 <br> そこら辺は私が提供したのですが、明らかに手抜きしてました。 <br>  <br> DMA境界をまたぐ時これじゃ問題ですよね。 <br> 早いうちに修正します。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/13 13:29<> <a href="../test/read.cgi/tech/1037096449/10" target="_blank">&gt;&gt;10</a> <br>  <br> FreeDOS教徒 様。 <br>  <br> 少なくとも、今のところ、 <br>  <br> &gt;mov ax, 0x0100          ; 512 byte from 0040:0000 is BIOS work area <br> &gt;mov es, ax              ; ... but usually it wasn't use only 256 byte <br> &gt;xor bx, bx <br> &gt;mov ax, 0x0001          ; read kernel from next sector <br> &gt;mov di, 0x0040          ; 64 sectors <br> &gt;call readsector <br>  <br> となっていて、512 BYTE * 64 SEC = 8000h バイトに対して、 <br> ES:BX=100:0 ---&gt; 線形アドレス=1000h <br>  <br> ということで、1000h〜9000h のバッファなので、#8の方は現状は問題ない <br> んですね。 <>
FreeDOS教徒<>osage<>02/11/13 18:06<> <a href="../test/read.cgi/tech/1037096449/11" target="_blank">&gt;&gt;11</a> <br> まだ32KB程度ですが、すぐ64KBを超えると思います。 <br> 640KBに近付いたらまた別の対策が必要でしょうね。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/13 21:46<> <a href="../test/read.cgi/tech/1037096449/12" target="_blank">&gt;&gt;12</a> <br> 　多分、基本的なファイルシステムを含めて、カーネルの基本部分は、 <br> 640 KB のイメージに収まるでしょうから、それを超える部分は、 <br> カーネル起動後の正式なファイルシステムを利用できるのではないで <br> しょうか。 <br>  <br> 　NWSOS では、まず、BIOS がブートセクタを読み込み、 <br> そのブートセクタが、2KB程のローダーを読み込んで、 <br> さらに、そのローダーが、FAT 情報を見ながら、通常のファイル形式の <br> カーネルイメージ(Ver 0.030現在で110KB程度)をロードする仕掛けを <br> 採っています。 <br>  <br> 　JIS フォントを 216KB ロードする必要があるのですが、それは、 <br> カーネルの持つ正式なファイルシステムを用いてロードしています。 <br> フォントが読み込まれるまでは、まだ、表示系統がある意味では不完全 <br> な状態ではあるのですが、もし、このときにエラーが起きて表示するときは、 <br> JIS FONT相当の部分は、いわゆる「豆腐」を表示すれば暴走は防げます <br> ので。 <>
ひげぽん<><>02/11/13 23:22<> <a href="../test/read.cgi/tech/1037096449/6" target="_blank">&gt;&gt;6</a> うえぽんさん  <br> ありがとうございます、私もなかなかアセンブラが得意でなく  <br> 苦労しています(→勉強しろって感じですが･･･)  <br> この機会にまた始められたらどうでしょうか。 <>
ひげぽん<><>02/11/13 23:27<> LightConeさん、FreeDOS教徒さん <br>  <br> ひげぽんが考慮漏れしているところをいろいろとご指摘 <br> していただきありがとうございます。 <br>  <br> とりあえずLightConeさんのおっしゃっている <br>  <br> &gt;　多分、基本的なファイルシステムを含めて、カーネルの基本部分は、  <br> &gt;640 KB のイメージに収まるでしょうから、それを超える部分は、  <br> &gt;カーネル起動後の正式なファイルシステムを利用できるのではないで  <br> &gt;しょうか。  <br>  <br> ということを踏まえて、ファイルシステム部構築に取り組もうかと思っています。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/14 08:35<> <a href="../test/read.cgi/tech/1037096449/14" target="_blank">&gt;&gt;14</a> <br> 　私は、アセンブラは擬似命令などは結構慣れていても、アセンブラで <br> 書くと良く間違いをするタイプの人です。大き目の関数などだと、 <br> C言語で書いたときより、開発やデバッグに何倍も時間がかかります。 <br>  <br> 特に最初から書いていくときはまだしも、後から修正したい場合なども、 <br> アセンブラの場合は、関数全体のソースコードをかなり理解してから <br> でないと大抵正しく修正できないのでめちゃくちゃ大変です。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/14 08:40<> <a href="../test/read.cgi/tech/1037096449/16" target="_blank">&gt;&gt;16</a> <br> 例えばの話、FILE_MAX みたいなマクロがあったとしても、GREP置換で、 <br> g_maxFile みたいな変数に置き換えて、再コンパイルするだけで修正 <br> 完了となる所が、アセンブラだと、一々ソースを眺めて <br>  <br>      xxx   [ebx],FILE_MAX <br>  <br> みたいな部分なら、 <br>      mov   eax,g_maxFile <br>      xxx   [ebx],eax <br> 見たいに修正するわけですが、もし、eax が使われているなら、 <br> ecx や edx が使えるかどうか探してどれも駄目なら、push eax, pop eax <br> で囲って、というような判断を手作業でやっていくしかないですから、 <br> めちゃくは大変です。 <>
ひげぽん<><>02/11/14 23:35<> &gt;　私は、アセンブラは擬似命令などは結構慣れていても、アセンブラで <br> &gt;書くと良く間違いをするタイプの人です。大き目の関数などだと、 <br> &gt;C言語で書いたときより、開発やデバッグに何倍も時間がかかります。 <br>  <br> これは分かります。 <br> そんなに大きいものは書いたことがありませんが <br> いくら賢く書いたつもりもでもやはりメンテナンス性は <br> なかなか上がらないです。 <br>  <br> &gt;push eax, pop eaxで囲って <br> これは良く見かけますね・・・ <br>  <br> 賢い人の書いた良いソースに触れる機会があって、さらにバリバリ自分でも <br> 書くようにすれば多少は進歩するとは思うのですが <br> どちらもやっていません･･･ <>
デフォルトの名無しさん<>sage<>02/11/15 05:17<> ファイルシステムをカーネルには組み込まないのが一番だと思われます。 <br> スレッド管理、プロセス管理、メモリ管理などのみをカーネルに組み込み <br> ファイルシステムは、特殊１プロセスに過ぎない存在にすることをお奨めします。 <br>  <br> ちなみにlinuxのカーネルは圧縮しても512kbを越えて大変なことになった時期が <br> あるそうです <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/15 08:04<> <a href="../test/read.cgi/tech/1037096449/519" target="_blank">&gt;&gt;519</a> <br> マイクロカーネルですね。 <br>  <br> NWSOSでは、今のところカーネル内に持っていますが、DLL形式にして <br> 分離すれば効率を落とさずに済むのでしょうか。 <br>  <br> そういえば、マイクロカーネル方式だと、瞬間瞬間では、1プロセスのみが、 <br> ファイルシステムのコードを走行するのでしょうか。もしそうだとすると <br> 並列製が落ちる可能性はありませんか。 <br>  <br> モニリシックカーネルだと、複数プロセスが同時にカーネルコードを <br> 走行できるので、タスク間の並列性が上がったりするのではないかと <br> 思うのですが。 <>
うえぽん<><>02/11/15 14:31<> <a href="../test/read.cgi/tech/1037096449/14" target="_blank">&gt;&gt;14</a> ひげぽんさん <br> <a href="../test/read.cgi/tech/1037096449/6" target="_blank">&gt;&gt;6</a> では敬称略などしてしまい、申し訳ありませんでした。 <br> x86エミュレーションの保護モード部の実装のために、マニュアルでは <br> 解りにくい動作を実機で調べたりするのですが（i486搭載pc9821使用） <br> タスクやページングを使おうとすると DDEB.EXEなどではもうお手上げです。 <br> エミュレーションの方はもう少し動作原理を理解すれば、 <br> 安定性が上がりそうな気もしますが・・・実モード部も遅くて不安定だし（泣） <br>  <br> <a href="../test/read.cgi/tech/1037096449/16" target="_blank">&gt;&gt;16</a> LightCone ◆sSJBc30S5w さん <br> なるほど。 <br> かなりの経験者の方でも、Ｃのように気軽に組んでいくのではなくて、 <br> 根気が必要なわけですね。たしかにマクロアセンブラでも、レジスタ資源 <br> が限られているわけだから、そういった苦労がつきものですね。 <br>  <br> 擬似命令も結構わからない部分が多いですが、少しづつ勉強しながら <br> レスを読ませていただきます。 <>
デフォルトの名無しさん<>sage<>02/11/15 14:32<> ﾗｲﾄｺｰｿﾀﾝのﾏﾝｺ見たい。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/11/15 17:05<> &gt;そういえば、マイクロカーネル方式だと、瞬間瞬間では、1プロセスのみが、 <br> &gt;ファイルシステムのコードを走行するのでしょうか。もしそうだとすると <br> &gt;並列製が落ちる可能性はありませんか。 <br>  <br> subsystemサーバープロセスのスレッド数を、プロセッサ数×n (※)などで <br> 決め打ちしておき、message-queueで処理するとか。(nまで再入可能) <br>  <br> ※ threadが極めて軽量な実装ならば、ユーザー側スレッドのトータル数でもいいかも。 <>
ひげぽん<><>02/11/15 20:02<> <a href="../test/read.cgi/tech/1037096449/19" target="_blank">&gt;&gt;19</a>さん曰く <br> &gt;ファイルシステムをカーネルには組み込まないのが一番だと思われます。 <br> &gt;スレッド管理、プロセス管理、メモリ管理などのみをカーネルに組み込み <br> &gt;ファイルシステムは、特殊１プロセスに過ぎない存在にすることをお奨めします。 <br>  <br> LightConeさん曰く <br> &gt;マイクロカーネルですね <br> 以下略ですすいません。 <br>  <br> higeposは一応マイクロカーネルを目指しています。 <br> また、ファイルシステムが容易に差し替え可能である手段として <br> ファイルシステムをカーネルに組み込まないというのはありだと思っています。 <br>  <br> そのばあいは、やはりプロセス管理からはじめないといけないですよね。 <br> minixのファイルシステムとカーネルの関係がいまいちつかみきれていないので <br> 勉強中です。 <>
ひげぽん<><>02/11/15 20:05<> <a href="../test/read.cgi/tech/1037096449/21" target="_blank">&gt;&gt;21</a>うえぽんさん <br> <a href="../test/read.cgi/tech/1037096449/14" target="_blank">&gt;&gt;14</a> ひげぽんさん <br> <a href="../test/read.cgi/tech/1037096449/6" target="_blank">&gt;&gt;6</a> では敬称略などしてしまい、申し訳ありませんでした。 <br> 全然気にしてないです、というかひげぽんで良いですよ。 <br>  <br> &gt;x86エミュレーションの保護モード部の実装のために、マニュアルでは <br> &gt;解りにくい動作を実機で調べたりするのですが（i486搭載pc9821使用） <br> この辺の姿勢には全く頭が下がります。見習わなくては･･･ <br>  <>
ひげぽん<><>02/11/15 22:34<> プロセス管理のほうを <br> ファイルシステムよりも先に実装したほうがよさそうな気がしてきました。 <br> ここは考えどころですね。 <br> マイクロカーネルの勉強もしないといけない。 <>
デフォルトの名無しさん<><>02/11/16 00:38<> ひげぽん、この辺よんでみなよ。 <br> http://www.qnx.co.jp/products/manuals/index.html <br> おもしろいよ。 <br>  <br> ところで、たんねんばうむの本はどのくらい進んだ？ <>
デフォルトの名無しさん<>osage<>02/11/16 00:58<> <a href="../test/read.cgi/tech/1037096449/27" target="_blank">&gt;&gt;27</a> <br> こんなおもしれーマニュアルが、、、知らんかった。 <br> 情報ｻﾝｸｽﾎﾟ <>
ひげぽん<><>02/11/16 12:59<> <a href="../test/read.cgi/tech/1037096449/27" target="_blank">&gt;&gt;27</a> <br> 有用なリンク紹介ありがとうございます。 <br>  <br> &gt;ところで、たんねんばうむの本はどのくらい進んだ？ <br> 一応ソース以外は、斜め読みしたのですが <br> 結局辞書代わりになっていますね。 <br> あの辺にこんなことが書いてあったはず、みたいな感じで <br> 何回も読み返しています。 <br>  <>
22<><>02/11/16 13:47<> おい、乱子交濡(ﾗｲﾄｺｰﾝ)。 <br> てめえさっさとやらせろやおけ！ <>
ひげぽん<>sage<>02/11/16 16:12<> 動作テストは、主にbochsで行っています。 <br> そして大きな変更があったときや、CVS commitする前に <br> 実機で動作確認を行っています。 <br>  <br> 他のOS製作者の方々は、どういう手段を用いているのでしょうか。 <br> bochsではいずれ限界が来るのかな･･･ <br> vm wareも以前評価版を入れていましたが、本格的に使うとなると <br> 買わなきゃいけないんでしょうね。 <br> OS開発者はタダ！！みたいなライセンスではないだろうな･･･ <>
デフォルトの名無しさん<><>02/11/16 16:52<> そのうちどうしても実機が必要になると思われる。 <>
デフォルトの名無しさん<><>02/11/16 17:11<> VS.NETのMSDNデラックスっていうのを買って登録したら <br> OSやらサーバーやらオフィスやらいろいろ送られてきたから、 <br> 何人かで分けて使ってるけど、これって違法じゃないよね？ <br> マイクロソフトから何か言われた人いる？ <>
デフォルトの名無しさん<>sage<>02/11/16 17:20<> http://pc3.2ch.net/test/read.cgi/tech/1037433921/のコピペですな <>
デフォルトの名無しさん<><>02/11/16 17:32<> <a href="../test/read.cgi/tech/1037096449/34" target="_blank">&gt;&gt;34</a> <br> オマエうざいよ。 <>
デフォルトの名無しさん<>sage<>02/11/17 04:57<> <a href="../test/read.cgi/tech/1037096449/30" target="_blank">&gt;&gt;30</a> <br> マムコ見たかったんじゃないの？ <>
ひげぽん<><>02/11/17 14:10<> OS名を Mona に正式改名いたしました。 <br>  <br> sourceforge.jpのPJも移動しました。 <br> http://sourceforge.jp/projects/mona/ <br>  <br> 今後ともよろしくお願いいたしますm(__)m <>
ひげぽん<><>02/11/17 18:02<> 当面の目標は、タスク(プロセス)管理です。 <br> 2つのタスクの実行の切り替えの実験から始まると思います。 <br> 一から勉強します。 <>
デフォルトの名無しさん<>sage<>02/11/17 20:15<> <a href="../test/read.cgi/tech/1037096449/37" target="_blank">&gt;&gt;37</a> <br> で、Monaの由来どうするの？ <br>  <br> Micro Kernel <br> Operating System <br> with <br> Network Suit <br> Architecture <br>  <br> とかにするの？ <>
ひげぽん<><>02/11/17 20:59<> こんばんは <br>  <br> &gt;Micro Kernel <br> &gt;Operating System <br> &gt;with <br> &gt;Network Suit <br> &gt;Architecture <br>  <br> なかなか良いですね <br> がんばって早く、Network Suitにしないと（笑） <br>  <>
デフォルトの名無しさん<><>02/11/17 22:19<> MONA <br> OS is <br> Not <br> Abone <br>  <br> MONA OSは落ちません。 <>
デフォルトの名無しさん<>sage<>02/11/17 22:24<> <a href="../test/read.cgi/tech/1037096449/41" target="_blank">&gt;&gt;41</a> <br> ﾜﾗﾀ <>
</b> ◆Db/E231N/A <b><>sage<>02/11/17 22:30<> MONA <br> OS <br> does <br> Never <br> Abone <br> は、どうよ? <>
デフォルトの名無しさん<>sage<>02/11/17 22:43<> <a href="../test/read.cgi/tech/1037096449/43" target="_blank">&gt;&gt;43</a> <br> 決まり。 <br>  <br> まぁ、落ちるんだろうけどな。 <>
デフォルトの名無しさん<>sage<>02/11/17 23:04<> 2ch生まれだから『MONA』それでいかんの？ <>
ひげぽん<><>02/11/17 23:24<> <a href="../test/read.cgi/tech/1037096449/41" target="_blank">&gt;&gt;41</a> <br> <a href="../test/read.cgi/tech/1037096449/43" target="_blank">&gt;&gt;43</a> <br> いいですねぇ。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/44" target="_blank">&gt;&gt;44</a> <br> &gt;まぁ、落ちるんだろうけどな。 <br> なるべく落ちないようにがんばりまふ。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/45" target="_blank">&gt;&gt;45</a> <br> &gt;2ch生まれだから『MONA』それでいかんの？ <br> という意見もありますね。 <>
デフォルトの名無しさん<>sage<>02/11/17 23:48<> MONA・・・モナｰ・・・マナー・・・マナマナ・・・ｶﾞｸｶﾞｸ(((ﾟдﾟ;)))ﾌﾞﾙﾌﾞﾙ <>
デフォルトの名無しさん<>sage<>02/11/18 00:10<> MinOr kNown Application <>
デフォルトの名無しさん<>sage<>02/11/18 00:31<> MONA・・・モナｰ・・・マナー・・・マナカナ・・・ｶﾞｸｶﾞｸ(((ﾟдﾟ;)))ﾌﾞﾙﾌﾞﾙ  <>
デフォルトの名無しさん<>sage<>02/11/18 04:13<> <a href="../test/read.cgi/tech/1037096449/43" target="_blank">&gt;&gt;43</a> <br> doesは不要かと。 <br>  <br> Mona is a Operating system Never Abone <br>  <br> とか。 <br> というかaboneなどという英単語は無いし。 <br> Abortならわからんではない。 <br>  <br>  <br> MOna is Not A giko <br> MOna is Not Asso <br>  <br> とか。 <br>  <br> MOna is Not an Application <br> Mona is an Operationg system, Not an Application <br>  <br> あれ？これｶﾞｲｼｭﾂかな？ <>
デフォルトの名無しさん<><>02/11/18 08:20<> ＞というかaboneなどという英単語は無いし。 <br>  <br> いや、あってたまるか。と。 <>
ひげぽん<><>02/11/18 23:07<> <a href="../test/read.cgi/tech/1037096449/50" target="_blank">&gt;&gt;50</a> <br> <a href="../test/read.cgi/tech/1037096449/51" target="_blank">&gt;&gt;51</a> <br> 笑いました。 <br> ところでvmwareって高いですね。ちょっと手が出ない（笑） <br>  <br> LightConeさん <br> nwsosのソースって公開されているんでしょうか。 <br> ちょっと見てみたいなあと最近思います。 <br> すんません独り言です、気にしないでください・・・ <>
デフォルトの名無しさん<>sage<>02/11/18 23:31<> <a href="../test/read.cgi/tech/1037096449/52" target="_blank">&gt;&gt;52</a> <br> nwsosは商用を目指しているので、ソース公開はあり得ないんじゃないかな？ <br> 個人的には、商用クローズ開発と、オープン開発、お互いにどういう経路で <br> 発展していくか？に興味あるので、nwsosとmonaに激しく注目している。 <br>  <br> 今のところ、さすがにnwsosとは比較にならない工事段階だけど、 <br> 比較対照としてはおもしろいと思ってます。 <br>  <>
デフォルトの名無しさん<>sage<>02/11/18 23:35<> 簡単にソース見ちゃ詰まらないと思いますよ。 <br> 現在の段階では、識者からアドバイスを受けて成長するのが一番。 <br> このスレの存在意義に、ひげぽんさんの成長も含まれていると思う漏れ。 <>
ひげぽん<><>02/11/18 23:42<> <a href="../test/read.cgi/tech/1037096449/52" target="_blank">&gt;&gt;52</a> <br> &gt;nwsosは商用を目指しているので、ソース公開はあり得ないんじゃないかな？ <br> &gt;個人的には、商用クローズ開発と、オープン開発、お互いにどういう経路で <br> &gt;発展していくか？に興味あるので、nwsosとmonaに激しく注目している。 <br> そうですよね。 <br> 商用であるということ＆今までクローズでやってきた事から <br> オープンにするメリットは少ないかもしれませんね。 <br>  <br> &gt;簡単にソース見ちゃ詰まらないと思いますよ。 <br> &gt;現在の段階では、識者からアドバイスを受けて成長するのが一番。 <br> &gt;このスレの存在意義に、ひげぽんさんの成長も含まれていると思う漏れ。 <br> そうなんですよね。 <br> 簡単にソースを見ちゃあいけない・・・分かっています。 <br> ただ、煮詰まったときに 賢い人の書いたソースを見ると <br> 目から鱗ですごく自分の成長になるんですよね。 <br> もう少し煮詰まるまでがんばってみます。 <br>  <br>  <br>  <>
デフォルトの名無しさん<><>02/11/19 01:32<> Mysterious Occult Night Affair <br>  <br> 神秘的で超自然的な夜の出来事 <>
デフォルトの名無しさん<><>02/11/19 01:35<> つーか、意図的にｘはずしたってことはPOSIX互換にしたくないってことなの？？？ <br>  <br> なんのために？？？ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/19 07:32<> &gt;&gt;そういえば、マイクロカーネル方式だと、瞬間瞬間では、1プロセスのみが、 <br> &gt;&gt;ファイルシステムのコードを走行するのでしょうか。もしそうだとすると <br> &gt;&gt;並列製が落ちる可能性はありませんか。 <br> &gt;subsystemサーバープロセスのスレッド数を、プロセッサ数×n (※)などで <br> &gt;決め打ちしておき、message-queueで処理するとか。(nまで再入可能) <br> &gt;※ threadが極めて軽量な実装ならば、ユーザー側スレッドのトータル数でもいいかも。 <br>  <br> ご返答有難うございます。 <br>  <br> これは、例えば、ファイルシステムのプロセスが、内部的に固定的に、 <br> 5個のスレッドを持っているような状況を想像すればいいのでしょうか。 <br>  <br> 　こういう仕組みでも一応「１プロセス」と言えなくもないわけですね。 <br> これだと、確かに並列性は落ちないかもしれませんね。 <br>  <br>  <br> 　マイクロカーネルは、それぞれのサブシステムがシングルスレッドしか <br> 持ってないのだとに思っていたので、もっと並列性が落ちるのかと思って <br> ました。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/19 07:35<> <a href="../test/read.cgi/tech/1037096449/52" target="_blank">&gt;&gt;52</a> <br> 残念ながら、今のところ公開はされてません。 <br>  <br> ところで、公開されていると、逆に詰まらなくなったりしませんか？ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/19 07:50<> <a href="../test/read.cgi/tech/1037096449/19" target="_blank">&gt;&gt;19</a>, <a href="../test/read.cgi/tech/1037096449/23" target="_blank">&gt;&gt;23</a> <br>  <br> なんだか、NWSOSも、マイクロカーネルを採用したくなってきました。 <br>  <br>  <br> 　ファイルシステムのプロセスが、メモリ空間的に分離されている別 <br> プロセスのバッファを扱う仕組みを１分くらい考えてみたのですが、 <br> どのようなものが考えられるでしょうか。 <br>  <br> 　ちょっと思いついたのは、個々の一般ユーザープロセス内に、DLL の形で <br> 「ファイルシステム-サポートライブラリ」みたいなものをロードして、 <br> ファイルシステム本体のプロセスと通信するようなものです。 <br> 　サポートライブラリ自体は、それぞれのユーザープロセスの全メモリが <br> 可視なので、共通メモリなどを介して（コピーして）ファイルシステム本体 <br> と通信をする、という方法です。 <br> （ちょっと難しくなりそうですが、ページングを駆使すれば、コピーせずに <br> 済ますこともできるかもしれませんが。） <br>  <br>  <br> 　仮想メモリ(固定ディスクとのSWAP)などとの連携も難しそうですが。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/19 07:55<> <a href="../test/read.cgi/tech/1037096449/55" target="_blank">&gt;&gt;55</a> <br>  <br> &gt;煮詰まったときに 賢い人の書いたソースを見ると <br> &gt;目から鱗ですごく自分の成長になるんですよね。 <br>  <br> 　私のコードにも恥かしながら汚い場所がいっぱい有り、それが公開に <br> 踏み切れない理由の一つでも有ります。 <br>  <br> 　他人のソースを見ると目から鱗、というのは、確かにありますね。 <>
デフォルトの名無しさん<>sage<>02/11/19 08:51<> 、、、 <br> このスレでもやってるな <br> 58と60、59と61は一つのレスにまとめられるだろうに。 <br> 行き当たりばったりでレスせずに、もっと思慮を入れろよ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/19 10:53<> <a href="../test/read.cgi/tech/1037096449/62" target="_blank">&gt;&gt;62</a> <br> 「まとめた方が良い」ということが絶対的に正しいのですか。 <>
デフォルトの名無しさん<>sage<>02/11/19 11:29<> 少なくともﾚｽ数の節約にはなるだろ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/19 11:36<> <a href="../test/read.cgi/tech/1037096449/64" target="_blank">&gt;&gt;64</a> <br> 逆に、スレを分けた方が分かりやすいと思う人がいたとしたら？ <>
デフォルトの名無しさん<>sage<>02/11/19 11:43<> それは文章の書き方次第。工夫すれば読みやすい文章はいくらでも書ける。 <>
デフォルトの名無しさん<>sage<>02/11/19 11:52<> <a href="../test/read.cgi/tech/1037096449/65" target="_blank">&gt;&gt;65</a> <br> とりあえず、文章書いたあと30分位置いてみる。 <br> これくらいの流れなら、多少寝かせても亀になることはなかろう。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/19 11:56<> <a href="../test/read.cgi/tech/1037096449/67" target="_blank">&gt;&gt;67</a> <br> 文章が汚い、読みにくい、まとまりが無い、ということは認めます。 <br> そういうことなら納得です。ついつい、殴り書きみたいな感じで書いて、 <br> 一度も読み返さない癖がありますので、、、（読み返すと何故かイライラ <br> するんです。）。 <>
デフォルトの名無しさん<>sage<>02/11/19 11:56<> 今くだらん論争でレス数を無駄に消化してるという自覚はないの？お前ら。 <>
デフォルトの名無しさん<>osage<>02/11/19 20:02<> 少々レスが多いほうが、見てて楽しいのですが。 <br> 技術的なｳﾝﾁｸばかりじゃ飽きますし、頭も痛くなります。 <>
デフォルトの名無しさん<>sage<>02/11/19 21:57<> レスが多いのは結構な事だが、 <br> 同一人物の連続投稿はウザいだけ <>
ひげぽん<><>02/11/19 23:19<> プロセス管理について勉強しつつ <br> あーでもないこーでもないと考えるのが楽しいですね。 <br> 二つのプロセスの切り替え実験をやろうと思うのですが <br> 設計の段階でいろいろと欲張りすぎて・・・破綻 <br> の無限ループに陥ったりします。 <>
デフォルトの名無しさん<>sage<>02/11/19 23:30<> 自作自演大好きなひげぽんがウザいだけ <br> 定期ageするひげぽんがウザいだけ <>
デフォルトの名無しさん<>sage<>02/11/20 00:09<> 荒れてきたね（￣ー￣）ﾆﾔﾘｯ <>
デフォルトの名無しさん<>sage<>02/11/20 00:23<> &gt;（ちょっと難しくなりそうですが、ページングを駆使すれば、コピーせずに <br> &gt;済ますこともできるかもしれませんが。） <br> 既存のOSには見られない傾向ではあるんですが、ここは思い切って <br> アプリケーションが読み込みエリアを指定することができないファイルAPI作ってみては <br> いかがでしょ？通常、freadなどはポインタも指定しますが、これを指定させない。 <br> で、かわりに、FileOpen時にメモリハンドラを貰う。 <br> アプリはこのメモリハンドラ経由でアクセス。 <br> OSがメモリプールを責任もって確保。 <br>  <br> posixにあるようなfreadとかって前時代的な仕様だと思うんですよ。 <br> アプリ屋のミスで不法なメモリでも平気でガツガツ書き込んでしまうし。 <br> 保護例外で止まってくれればまだありがたいんですがね。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/22 10:03<> <a href="../test/read.cgi/tech/1037096449/75" target="_blank">&gt;&gt;75</a> <br> &gt;アプリケーションが読み込みエリアを指定することができないファイルAPI作ってみては <br> &gt;いかがでしょ？通常、freadなどはポインタも指定しますが、これを指定させない。 <br> &gt;で、かわりに、FileOpen時にメモリハンドラを貰う。 <br> &gt;アプリはこのメモリハンドラ経由でアクセス。 <br> &gt;OSがメモリプールを責任もって確保。 <br>  <br> 　一度聞いてみたいアイデアなような気がしますので、 <br> ここでおっしゃる「メモリハンドラ」というものの詳細や、この方式での <br> 具体的なファイルアクセスの手順を聞ければ幸いです。 <br>  <br>  <br> &gt;posixにあるようなfreadとかって前時代的な仕様だと思うんですよ。 <br> &gt;アプリ屋のミスで不法なメモリでも平気でガツガツ書き込んでしまうし。 <br> &gt;保護例外で止まってくれればまだありがたいんですがね。 <br>  <br>  <br> アプリ側が不法なバッファアドレスを指定した場合、fread() API 内部で、 <br> スーパーバイザ権限で「身代わりアクセス」してしまうことを指摘されて <br> いるのですね。 <br>  <br> ご存知かもしれませんが、これを防ぐ手は一応存在していて、API の処理冒頭 <br> で、メモリが合法かどうかをソフト的にチェックするルーチンをかませば、 <br> 跳ね返せます。CPUの保護機能だけでは無理で、通常のCPU命令を用いて <br> ページテーブルやセグメントの属性やフラグ類をチェックしなければならない <br> ので、確かに煩わしいのですが。 <>
ひげぽん<><>02/11/23 23:31<> 暫定版PJホームページを公開しました。 <br> たいしたコンテンツはありませんが、最新版ブートイメージが <br> ダウンロードできます。 <br> http://mona.sourceforge.jp/ <br>  <br> タスク切り替えを試みているのですが <br> 実際の切り替え部分(セグメント間ジャンプ)て、 <br> インラインアセンブラでも可能でしょうか？ <br> いろいろとやっているのですが、もし不可能なことを <br> 試みているのであれば、方向転換が必要です。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/24 00:52<> <a href="../test/read.cgi/tech/1037096449/77" target="_blank">&gt;&gt;77</a> <br>  <br> &gt;タスク切り替えを試みているのですが <br> &gt;実際の切り替え部分(セグメント間ジャンプ)て、 <br> &gt;インラインアセンブラでも可能でしょうか？ <br>  <br> 　単体のアセンブラでさえ、通常はOS作成を前提にしていない場合が多い <br> ため、far jmp、その中でも特殊セグメントへの jmp 命令は記述が無理か、 <br> または、出来たとしても特殊なOBJファイルを掃いてしまう場合があるため、 <br> 一番安心なのは、db 命令で直接埋め込む方法かもしれません。 <br>  <br>  <br> 　あと、IA32の場合、タスク切り替え用の jmp 命令は、通常の命令の <br> 組み合わせで書けてしまいます。フラグ類の設定を通常命令の組み合わせ <br> でやってしまうだけです。実はそちらの方が楽だったりします。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/24 01:03<> <a href="../test/read.cgi/tech/1037096449/78" target="_blank">&gt;&gt;78</a> <br> 　IA32には、「タスク間jmp/call」「レベル遷移jmp/call」など色々 <br> 用意されていますが、なんのことはない、メモリ中のデータ構造のフラグ <br> 変更と、レジスタセットの値の変更を超えるものではないんですね。 <br>  <br> 　ページディレクトリの物理アドレスを保持するcr3、ローカルセグメント <br> のテーブルを設定する ldtr、Protect/V8086 モードを区別するeflags、 <br> TSSセグメントセレクタtr などの設定を変えることや、全レジスタの <br> 保存・復帰以外とには、特にやることは無かったと思います。 <br>  <br> 　（tr から全ての情報がたどれますが、ltr 命令だけでは、確かcr3や、 <br> ldtr は変更されなかったような気がします。） <>
ひげぽん<><>02/11/24 18:46<> LightConeさん <br>  <br> &gt;　単体のアセンブラでさえ、通常はOS作成を前提にしていない場合が多い <br> &gt;ため、far jmp、その中でも特殊セグメントへの jmp 命令は記述が無理か、 <br> &gt;または、出来たとしても特殊なOBJファイルを掃いてしまう場合があるため、 <br> &gt;一番安心なのは、db 命令で直接埋め込む方法かもしれません。 <br>  <br> 目から鱗です。db命令で埋め込むとは気づきませんでした･･･ <br> 最悪の場合この手があるのですね。ありがとうございます!!! <br>  <br> &gt;　あと、IA32の場合、タスク切り替え用の jmp 命令は、通常の命令の <br> &gt;組み合わせで書けてしまいます。フラグ類の設定を通常命令の組み合わせ <br> &gt;でやってしまうだけです。実はそちらの方が楽だったりします。 <br>  <br> これは一応認識していたのですが、 <br> たしかに、おっしゃる通りかもしれません。 <>
ひげぽん<>sage<>02/11/24 18:48<> <a href="../test/read.cgi/tech/1037096449/78" target="_blank">&gt;&gt;78</a>, 79 <br> おかげでProcessManagerの設計指針が見えてきました。 <br> ありがとうございます。 <>
ひげぽん<>sage<>02/11/25 00:55<> monaでは <br> secondboot.asmにてgdt関連の設定を行っています。 <br>         dw gdt_end - gdt0 - 1   ; gdt limit <br>         dd gdt0 + 0x100 * 16    ; start adderess <br> プロテクトモード移行後 <br> インラインアセンブラで <br>     asm volatile("sgdt %0\n" <br>                  : /* no output */ <br>                  : "m" (gdtr) <br>                 ); <br>     _sys_printf("gdtr.limit = %d\n", gdtr.limit); <br>     _sys_printf("gdtr.base  = %d\n", gdtr.base); <br> とやってみると <br> gdtr.limit = 31                                                                  <br> gdtr.base  = 0     <br> と表示されます。 <br> limitは意図どおりの値なのですが <br> baseの値が0というのが違和感があります。 <br> 何か大きな勘違いをしてそうで・・・ <>
</b> ◆sVYyxB.646 <b><>sage<>02/11/25 09:31<> trの参照先のTSSが32bitならcr3があるよ。 <br> ldtrは使ってないんで覚えてないがあるはず。。。 <br>  <>
デフォルトの名無しさん<>sage<>02/11/25 20:28<> ぶー何処いった？ <>
デフォルトの名無しさん<>sage<>02/11/25 23:04<> &gt;75 じゃないから、違っているかもしれないけど... <br>  <br> <a href="../test/read.cgi/tech/1037096449/76" target="_blank">&gt;&gt;76</a> <br> &gt; 　一度聞いてみたいアイデアなような気がしますので、 <br> &gt;  ここでおっしゃる「メモリハンドラ」というものの詳細や、この方式での <br> &gt;  具体的なファイルアクセスの手順を聞ければ幸いです。 <br>  <br> メモリハンドラは、単なるポインタでいいと思う。C で書けば... <br>  <br> File F = fopen("test.txt", "r"); <br> char *p = fread(F, 100); <br>  <br> とかすれば、OS が 100バイトの領域を確保して、そこにデータを読み込んでから、そのアドレスを返してくれるという感じかと...。 <br> C だと、free(p) とかしないとダメだけど、Java とかならそれも必要ないだろうし。これで、fread() が間違ったアドレスにデータを書き込んでしまうことは防げるでしょ ? <br>  <br> &gt;  アプリ側が不法なバッファアドレスを指定した場合、fread() API 内部で、 <br> &gt;  スーパーバイザ権限で「身代わりアクセス」してしまうことを指摘されて <br> &gt;  いるのですね。 <br>  <br> 今時、そんなタコな OS は無いでしょう。当然... <br>  <br> &gt;  ご存知かもしれませんが、これを防ぐ手は一応存在していて、API の処理冒頭 <br> &gt;  で、メモリが合法かどうかをソフト的にチェックするルーチンをかませば、 <br> &gt;  跳ね返せます。 <br>  <br> ぐらいはやってはず。そうではなく、fread() に間違ったアドレス指定して、自分で使う領域を壊したりするのを防ぎたいんだと思う。最近のコンピュータウィルスで使われるバッファーオーバーランとかを避けたいだけじゃないでしょうか。 <br>  <br> &gt; CPUの保護機能だけでは無理で、通常のCPU命令を用いてページテーブルや <br> &gt; セグメントの属性やフラグ類をチェックしなければならないので、確かに <br> &gt; 煩わしいのですが。 <br>  <br> プロセサによっては、保護機能を使えるのもありますよ。(68K の moves とかね。) <>
ひげぽん<><>02/11/25 23:59<> <a href="../test/read.cgi/tech/1037096449/82" target="_blank">&gt;&gt;82</a> <br> 新たにTSSを追加をする場合 <br> dt分のスペースをお尻に確保しなければならないことに気がつきました。 <br> secondboot.asmで仮に設定しておいて <br> C++に移行してからもう一度設定しなおしたほうがいいのでしょうか。 <br> うーん勉強が足りません。 <>
</b> ◆sVYyxB.646 <b><>sage<>02/11/26 11:24<> バッファを固定にしてユーザーモードからバッファを転送すれば何も考えなくても保護機能が動きます。(*ﾟーﾟ) <br> 少し無駄ですが、、、 <>
ひげぽん<>sage<>02/11/26 21:05<> 今日本屋で久しぶりに詳解Linuxカーネル <br> を立ち読みしてみました。 <br> 初めて読んだときはさっぱり分からなかったですが <br> 難易度的にちょうど良く、自分の知りたいことが <br> たくさん書いてあるので欲しい。。。でも高い。 <br> http://www.amazon.co.jp/exec/obidos/tg/detail/-/books/4873110483/reviews/ref%3Ded%5Fer%5Fdp%5F1%5F1/249-3833329-4800325 <br>  <br> どこかの古本屋に売ってないかな･･･ <br> 図書館でも良いな。 <>
デフォルトの名無しさん<>sage<>02/11/27 07:32<> <a href="../test/read.cgi/tech/1037096449/88" target="_blank">&gt;&gt;88</a> <br> あれってソースがただ印刷されて、コメントが日本語訳されてるだけじゃなかった？ <br> 役に立つような解説はなかったような。 <br> カーネルをダウンロードして読むってのじゃだめなのかな？ <>
89<>sage<>02/11/27 07:35<> <a href="../test/read.cgi/tech/1037096449/89" target="_blank">&gt;&gt;89</a> <br> こっちと勘違いしてた。上のは見たことない。 <br> http://www.amazon.co.jp/exec/obidos/ASIN/4797820063/qid=1038350048/sr=1-6/ref=sr_1_2_6/250-3155597-6663410 <>
デフォルトの名無しさん<>sage<>02/11/27 07:46<> ＢＳＤだけどこれがお勧め <br> http://www.ascii.co.jp/books/detail/4-7561/4-7561-3313-4.html <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/27 10:47<> <a href="../test/read.cgi/tech/1037096449/88" target="_blank">&gt;&gt;88</a> <br> 詳細Linuxカーネル 5800円：高いですが参考になりそうなので一ヶ月ほど前に購入。 <br> Linux2.4 インターナル 3200円:内容は上記より少なめですが、短いので読みやすいかも。 <br>  <br> OS そのものとは関係有りませんが、SHELL プログラミングでお勧めなのが、 <br>  <br> SOFT BANK「入門UNIXシェルプログラミング」Bruce Blinn著 山下 哲典 訳 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/27 11:19<> <a href="../test/read.cgi/tech/1037096449/87" target="_blank">&gt;&gt;87</a> <br> 　（恐らく）転送時間が1レベル増えるであろうことを気にしないなら単純でよさそうな方法 <br> ですね。 <br>  <br> 　セクタの内容をキャッシュするセクタバッファの他に、ファイルごとに <br> キャッシュするファイルバッファというものがあるそうですが、後者を <br> うまく使えばバッファの転送時間もかなり減らせるかもしれませんが。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/27 11:50<> <a href="../test/read.cgi/tech/1037096449/85" target="_blank">&gt;&gt;85</a> <br>  <br> &gt;そうではなく、fread() に間違ったアドレス指定して、自分で使う領域を <br> &gt;壊したりするのを防ぎたいんだと思う。最近のコンピュータウィルスで使わ <br> &gt;れるバッファーオーバーランとかを避けたいだけじゃないでしょうか。 <br>  <br> fread()の場合は取得サイズをアプリ側が指定するので特に問題は <br> ないと思うのですが、OS側から可変長のデータを取得する時には <br> その問題を感じます。 <br>  <br> 　例えば、何らかの文字列データ(例では他のタスクの名称)をOSから <br> 取得したい時、APIによっては次のような形式を用いますが、ちょっと問題 <br> を感じます。 <br>  <br> &lt;&lt;続く&gt;&gt; <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/27 11:51<> &lt;#94の続き&gt; <br>  <br> //int GetTaskName(HTASK hTask, char *pFilename);  <br>  <br> void PutTaskName(HTASK hTask)  <br> {  <br> int size = GetTaskName(hTask, NULL);  <br> if (size == 0) {  <br> put_err("hTask is wrong?");  <br> }  <br> char *pName = malloc(size + 1);  <br> if (ptr == NULL) {  <br> put_err("Memory shortage!!");  <br> }  <br> else {  <br> GetTaskName(hTask, pName);  <br> printf("The name of task(%08X) is %s\n", hTask, pName);  <br> free(pName);  <br> }  <br> } <br>  <br> 一言メモ: <br> 　GetTaskName(hTask,pName)は、pName にNULLを指定すると、  <br> 受け取るタスク名の長さを返す。通常、二度呼び出して、pNameのバッファ  <br> をアプリ側が確保する。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/27 11:51<> &lt;#95の続き&gt; <br>  <br> 　ここで問題となるのは、hTaskの名前が二度のGetTaskName()呼び出しの  <br> 間に変化する可能性です。起動後のタスクではタスク名が絶対変化しないよう  <br> なシステムだと問題なくても、SetTaskName()のようなAPIが用意されている  <br> 場合に問題が起きます。  <br> 　もし、今の例の様に、GetTaskName()を二度呼ぶような仕様だと、  <br> 何らかのロック処理が必要になるはずですが、現実のよく知られたOSでは  <br> 私の知る限りそれが出来ないケースがあります。  <br>  <br>  <br> このような場合には、  <br>  <br> const char *GetTaskName2(void);  <br>  <br> のようなAPIの方が簡単では有ると思います。ただし、これにも短所が  <br> あります。空システムメモリ空間が圧迫される可能性があることです。 <>
ひげぽん<><>02/11/27 23:11<> <a href="../test/read.cgi/tech/1037096449/90" target="_blank">&gt;&gt;90</a> <br> &gt;こっちと勘違いしてた。上のは見たことない。 <br> おお、こんなのもあるんですね。 <br> 指定されたURLのレビューを見ると詳解の後に <br> 読むことを薦めていますね。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/92" target="_blank">&gt;&gt;92</a> LightConeさん <br> &gt;詳細Linuxカーネル 5800円：高いですが参考になりそうなので一ヶ月ほど前に購入。 <br> えっと、だいぶ背中を押されました（笑） <br> たぶん買います、いやきっと買うでしょう。 <br>  <br> &gt;OS そのものとは関係有りませんが、SHELL プログラミングでお勧めなのが、 <br> &gt;SOFT BANK「入門UNIXシェルプログラミング」Bruce Blinn著 山下 哲典 訳 <br> これ会社の同僚が持っていた気がします。仕事でcshを使うので <br> ちょっと見せてもらってみます。 <br>  <br>  <br>  <br>  <br>  <>
ひげぽん<>sage<>02/11/28 00:10<> <a href="../test/read.cgi/tech/1037096449/91" target="_blank">&gt;&gt;91</a> <br> &gt;ＢＳＤだけどこれがお勧め  <br> &gt;http://www.ascii.co.jp/books/detail/4-7561/4-7561-3313-4.html  <br> これ安いですねぇ。 <br> 内容の難易度的にはどうなんでしょうか。 <br> 今度本屋で探してみます。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/28 02:13<> <a href="../test/read.cgi/tech/1037096449/97" target="_blank">&gt;&gt;97</a> <br> 　OS作りでは、実はコマンドラインSHELLがかなり重要なのではないかと <br> 思えてきた今日この頃です。 <br>  <br> 　UNIX好きの人でも、CYGWIN環境があれば満足してしまう人も多いようで、 <br> 一番大きな理由が、UNIX互換のシェルが使えるからだそうです。 <br>  <br> 　UNIXは、カーネルも優れた側面を持っていると思いますが、 <br> シェル、特にシェルスクリプトの機能（その一行切り出しとしての <br> コマンドライン解釈部）が強力なことも見逃せないと思います。 <br>  <br>  <br> 　それにしても UNIX のシェルはいいですね。 <>
デフォルトの名無しさん<>sage<>02/11/28 02:16<> 割込み、すいません。 <br>  <br> C言語でモニタとコルーチンを実装（ライブラリを作成）したいのですが、 <br> WEBで探してもなかなか合った文献がみつかりません。 <br>  <br> どなたか、実装方法教えてくれませんか？ <br> WEBや書籍でもいいのでお願いします。 <br>  <br>  <br> ＊Modula-2からCへの移植を行うため、モニタとコルーチン機能がCで必要になりまし <br> た。 <br>  <>
デフォルトの名無しさん<>sage<>02/11/28 16:09<> <a href="../test/read.cgi/tech/1037096449/98" target="_blank">&gt;&gt;98</a> <br> 中級ぐらいと思う。 <br> メインはデバドラとブートコード。 <br> 「詳解Ｌｉｎｕｘカーネル」はあまりLinux板では評判よくなかった。 <br> 自分ももってるけどLinuxOSの概念の説明で <br> 具体的なコードが書かれてないからすきじゃない <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/28 18:33<> <a href="../test/read.cgi/tech/1037096449/101" target="_blank">&gt;&gt;101</a> <br> 良いことを聞きました。 <br> 「詳細Linuxカーネル」は訳本のせいもあるのか文章量が多めで、途中から <br> 斜め読みするには辛いものを感じていたのですが、よく考えるとこの本は、 <br> プログラミング言語で書かれた部分は、構造体定義のみで、他は <br> ほぼ全て自然言語で書かれています。プログラミング言語も適度に有った <br> 方が分かりやすいのかもしれませんね。今度ご紹介の本を見てみたいです。 <>
デフォルトの名無しさん<><>02/11/28 19:47<> Linuxのソースを参考にしながら開発するとmonaはGPLになると思われるがよいか？ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/28 21:31<> <a href="../test/read.cgi/tech/1037096449/103" target="_blank">&gt;&gt;103</a> <br> ソースをコピーしない限りは、恐らく大丈夫かと。 <br> 特許が採られてない限り、技術の内容を真似ること自体は自由では？ <br>  <br> そうでないと、知らず知らずにGPLのソースを偶然目に触れてしまって、 <br> いつのまにか真似てしまった場合などにおかしなことになるかと。 <>
デフォルトの名無しさん<>sage<>02/11/28 21:31<> <a href="../test/read.cgi/tech/1037096449/103" target="_blank">&gt;&gt;103</a> <br> monaはGPLだったと思うけど。 <br>  <>
デフォルトの名無しさん<>sage<>02/11/28 21:37<> <a href="../test/read.cgi/tech/1037096449/104" target="_blank">&gt;&gt;104</a> <br> &gt; ソースをコピーしない限りは、恐らく大丈夫かと。 <br> これはGNUプロジェクトでは"駄目orグレー"だと認識されています。そのため <br> GNU Coding Standardには"他の実装(Implementation)"を見ないことを推奨し <br> ていて、見てしまった場合は別の実装を考えるように推奨しています。 <br> 日本の法律ではコピーしなければ大丈夫だったと思うけど、海外から訴えられ <br> たらたまらんですな。 <br>  <>
ひげぽん<>sage<>02/11/28 21:39<> &gt;中級ぐらいと思う。 <br> &gt;メインはデバドラとブートコード。 <br> ありがとうございます。 <br> なるほど、詳解Linuxカーネルはほとんどソースがないということであれば <br> 立ち読み程度にしておこうかな・・・ <br>  <br> ご存知かもしれませんがこんなのを見つけました。 <br> http://lkh.linux.or.jp/24kernel/source/html4/boot.html <>
ひげぽん<>sage<>02/11/28 21:44<> <a href="../test/read.cgi/tech/1037096449/103" target="_blank">&gt;&gt;103</a> <br> <a href="../test/read.cgi/tech/1037096449/104" target="_blank">&gt;&gt;104</a> <br> <a href="../test/read.cgi/tech/1037096449/105" target="_blank">&gt;&gt;105</a> <br> &gt;Linuxのソースを参考にしながら開発するとmonaはGPLになると思われるがよいか？ <br> 一応monaはGPLなので問題ないかと。 <br>  <br> LightConeさんの仰るとおり <br> &gt;ソースをコピーしない限りは、恐らく大丈夫かと。 <br>  <br> という認識で私もやっています。とおもったら・・・ <br>  <br> &gt;これはGNUプロジェクトでは"駄目orグレー"だと認識されています。そのため <br> &gt;GNU Coding Standardには"他の実装(Implementation)"を見ないことを推奨し <br> そうなんですか･･･ <br> いろいろなフリーのOSのソースを見て勉強してしまっているんですが･･･ <br>  <br> いちおう参考にすることはあっても、コピーはしないようにしています。 <br> 自分のためになりませんし･･･ <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/28 21:49<> <a href="../test/read.cgi/tech/1037096449/106" target="_blank">&gt;&gt;106</a> <br> &gt;&gt; ソースをコピーしない限りは、恐らく大丈夫かと。 <br> &gt;これはGNUプロジェクトでは"駄目orグレー"だと認識されています。そのため <br> &gt;GNU Coding Standardには"他の実装(Implementation)"を見ないことを推奨し <br> &gt;ていて、見てしまった場合は別の実装を考えるように推奨しています。 <br>  <br> こわばら こわばら。 <br>  <br> 「見てない」って言い張るだけで回避可能とかではない？ <>
FreeDOS教徒<>osage<>02/11/28 21:51<> GNU GPLにそこらへんの基準は載ってないのね。 <br>  <br> ‥‥ていうか、コピペまがいの行為はしないから、大丈夫でしょ？ <br> 実装が似通う例なんて腐るほどあるし。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/28 21:56<> <a href="../test/read.cgi/tech/1037096449/110" target="_blank">&gt;&gt;110</a> <br> &gt;‥‥ていうか、コピペまがいの行為はしないから、大丈夫でしょ？ <br> してないつもりです。 <br>  <br> &gt;実装が似通う例なんて腐るほどあるし。 <br> そうですよね、、、。 <br>  <br> 　もし、GPLのソースを見て勉強しただけで、自分のプログラムのライセンスまで <br> 制約されると言うのならば、かなり無理が有りませんか。 <>
デフォルトの名無しさん<><>02/11/28 21:57<> こわばらage <>
デフォルトの名無しさん<>sage<>02/11/28 22:05<> <a href="../test/read.cgi/tech/1037096449/110" target="_blank">&gt;&gt;110</a> <br> &gt; GNU GPLにそこらへんの基準は載ってないのね。 <br> いや、GNUの場合はUNIXの著作権を侵害しないように気を付けろってことだし、 <br> "よりCoolな実装"を目指せば、同じにはならないでしょ。 <br> 似たものになっても、より優れていれば大丈夫。 <br> 当然、悪くても可 &gt; オレモナー <>
デフォルトの名無しさん<><>02/11/28 22:07<> <a href="../test/read.cgi/tech/1037096449/111" target="_blank">&gt;&gt;111</a> <br> そう言ってるともとれるのがGPLです。 <>
デフォルトの名無しさん<>sage<>02/11/28 22:12<> 一応参考までに <br> ttp://www.sra.co.jp/wingnut/standards/standards-ja_2.html <>
デフォルトの名無しさん<>sage<>02/11/29 00:43<> <a href="../test/read.cgi/tech/1037096449/96" target="_blank">&gt;&gt;96</a> <br> &gt; ここで問題となるのは、hTaskの名前が二度のGetTaskName()呼び出しの <br> &gt; 間に変化する可能性です。 <br>  <br> 普通、ユーザーが確保した領域に書き込む API は、サイズを渡すように <br> なっていて、気の聞いた API/OS なら、入りきらない時は必要なサイズを <br> 返すようになってたりすると思うけど ? (例えば、Win32 の <br> GetWindowsDirectory() とか。) <br>  <br> 悪いけど、もう少し他の OS の勉強した方がいいと思うよ。 <br>  <br> &gt;  何らかのロック処理が必要になるはずですが、 <br>  <br> そんなことしたら、わざとロックかけて SetTaskName() しようとしている <br> タスクの実行を邪魔することができちゃうよ。(バッファを別に持つとかし <br> て、回避できるだろうけど、複雑になるしね。) <br>  <br> &gt; ただし、これにも短所があります。空システムメモリ空間が圧迫される <br> &gt; 可能性があることです。 <br>  <br> どう言うこと ? <>
デフォルトの名無しさん<>sage<>02/11/29 01:14<> おそらく詳解Linuxカーネル。でも部分的にしかないみたい <br> http://aglaia.c.u-tokyo.ac.jp/~yamamoto/UNIX/kernel/ <br> http://www.graco.c.u-tokyo.ac.jp/~kamina/jugyo/kernel/chap4_half/ <>
デフォルトの名無しさん<>sage<>02/11/29 01:20<> <a href="../test/read.cgi/tech/1037096449/116" target="_blank">&gt;&gt;116</a> <br> きっとタスク名をシステムメモリ空間に確保したバッファに書き込んでユーザープロセスに返すのでしょう。 <br> どうやって読み出すのかは知りませんが。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/29 09:17<> <a href="../test/read.cgi/tech/1037096449/116" target="_blank">&gt;&gt;116</a> <br> &gt;普通、ユーザーが確保した領域に書き込む API は、サイズを渡すように <br> &gt;なっていて、気の聞いた API/OS なら、入りきらない時は必要なサイズを <br> &gt;返すようになってたりすると思うけど ? (例えば、Win32 の <br> &gt;GetWindowsDirectory() とか。) <br>  <br> 　そういうAPI仕様は知ってはいましたが、#94-#96では言及できてません <br> でした。すみません。 <br>  <br> UINT GetWindowsDirectory( <br>   LPTSTR lpBuffer,  // Windows ディレクトリが格納されるバッファ <br>   UINT uSize        // ディレクトリバッファのサイズ <br> ); <br>  <br>  <br>  <br> その方法では結局、実際に文字列を取得する際のサイズが前回取得した <br> 文字列のサイズ以下になるまで繰り返しが必要になり、単に文字列を <br> 取得したいたびにそのようなループを書く必要があることになる <br> わけですよね。 <br>  <br> 結局#96での結論と同じく、 <br>  <br> const char *GetTaskName2(HTASK hTask); <br>  <br> というような API 仕様だと便利だと思うんです。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/29 09:19<> <a href="../test/read.cgi/tech/1037096449/118" target="_blank">&gt;&gt;118</a>  <br> &gt;きっとタスク名をシステムメモリ空間に確保したバッファに書き込んで  <br> &gt;ユーザープロセスに返すのでしょう。  <br> その通りです。 ただし、API呼び出し時に書き込むのではなく、元々存在 <br> している場合の方が多いかもしれませんが。 <br>  <br> &gt;どうやって読み出すのかは知りませんが。  <br> 共通空間でも、ユーザーが読めるようにすることは可能です（書けるように <br> することも可能ですが）。  <br> メモリ空間がタスク固有空間か共通空間かと、アクセス禁止属性は独立  <br> して扱えますので。  <br>  <br> 一応、NWSOS でも、  <br> const char *GetTaskFilename( HTASK hTask );  <br> というAPIにしてみています。 <br>  <br> http://homepage2.nifty.com/nowsmart/nwsosapi.htm#NWSOS API <br>  <>
デフォルトの名無しさん<>sage<>02/11/29 09:28<> GC完備すれば「バッファサイズ」なんて死語になるのに。。。 <>
デフォルトの名無しさん<><>02/11/29 10:57<> 『GC』て何？ <>
デフォルトの名無しさん<>sage<>02/11/29 11:00<> <a href="../test/read.cgi/tech/1037096449/122" target="_blank">&gt;&gt;122</a> <br> …。･･･。･･･。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/29 12:11<> <a href="../test/read.cgi/tech/1037096449/122" target="_blank">&gt;&gt;122</a> <br> 文脈から、ガーベッジ・コレクションの略だと思います。 <>
デフォルトの名無しさん<>sage<>02/11/29 13:59<> <a href="../test/read.cgi/tech/1037096449/124" target="_blank">&gt;&gt;124</a> <br> ありがとう。 <>
デフォルトの名無しさん<>sage<>02/11/29 18:41<> 理解が間違っているかもしれませんが、 <br> LightConeさんはカーネル内部にTASKのデータを持たせておいて、 <br> 外部からはHTASKで操作し、 <br> <a href="../test/read.cgi/tech/1037096449/116" target="_blank">&gt;&gt;116</a>さんはTASKのデータをTASKに持たせておいて、 <br> カーネルではTASKのIDとかで識別できる程度にしておいて、 <br> カーネルからのメッセージでTASKが動作するといったイメージでしょうか？ <br> # 必要なデータはTASK側で確保するってこと。 <br> そうだとすると、マイクロカーネルを目指すmonaとしては後者の方が <br> 有利だと思うのですが、何か間違ってます？ <>
ひげぽん<><>02/11/29 23:49<> セグメントディスクリプタテーブルについて <br> どなたかアドバイスください。 <br> 長文になることをご了承くださいm(__)m <br>  <br> Monaではsecondboot.asmにて以下の手順で <br> ディスクリプタテーブルの設定を行っています。 <br>  <br> (1)lgdtにてロード(エントリー数は4) <br> (2)プロテクトモードに移行 <br> (3)far　jump　0x08へ <br> (4)レジスタの設定 <br> (5)オフセットアドレス決めうちでCで実装したコードへjump <br>  <br> ここまで前提です。 <br>  <br> 最近タスク管理を実装しようと思い勉強していたのですが <br> 基本的にはタスクひとつにつきTSSが必要っぽいことが分かりました。 <br> エントリー数が足りない・・・ <>
ひげぽん<>sage<>02/11/29 23:50<> そこでアドバイスいただきたいです。 <br>  <br> (A)セグメントのエントリ数はどのくらいが適当か？ <br>  <br> (B)固定or動的にエントリ数を増やせるような仕組み <br> 　　　どちらが一般的でしょうか？ <br> 　　　 <br> 　　　もし固定であればsecondboot.asmにて <br> 　　　エントリー数分メモリを確保しようと思っています。 <br>  <br> (C)動的な場合 <br> 　　　エントリー数が増えた場合、連続領域にメモリを確保し <br> 　　　lgdtをしなおさなければならないと考えていますが <br> 　　　lgdtを複数回行うのはありでしょうか。 <br> 　　　 <br> (D)secondboot.asmにてlgdtを行わず <br> 　　　プロテクトモード移行後に、Cで実装している部分 <br> 　　　monaKernel.cppでlgdtを行うことは可能か？ <br>  <br> 　　　「はじめてよむ486」にはプロテクトモード移行後 <br> 　　　　セグメントレジスタにセレクタ値をロードするまでは <br> 　　　　リアルモードのセグメント配置を引きずるとあるのですが・・・ <br>  <br> 　　　※これが可能であれば、エントリ数を増やすときに <br> 　　　　　secondboot.binのサイズを固定のままでよいかと考えています。 <br>  <br> (C)(D)は実際に自分で、いろいろやってみているのですが <br> 現時点では成功していません。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/29 23:52<> <a href="../test/read.cgi/tech/1037096449/126" target="_blank">&gt;&gt;126</a> <br> &gt;TASKのデータをTASKに持たせておいて、 <br> &gt;カーネルではTASKのIDとかで識別できる程度にしておいて、 <br> &gt;カーネルからのメッセージでTASKが動作するといったイメージでしょうか？ <br>  <br> 「メッセージでTASKが動作する」と言う意味がよく分からないのですが、 <br> TASKならではの情報は、なるべくそのTASK独自のメモリ空間に入れるべ <br> きだということは同感です。 <br>  <br> 　しかし、共通空間に入れたほうが簡便になる場合もあるので、事情に <br> よりけりだと思います。 <br>  <br>  <br> 　他のタスク固有の情報を、「運んでくる」と言うのは結構メンドクさく <br> 感じます。多分、 <br>  <br> 1. ページングで「窓」をあける。 <br> 2. 一旦、ソース側のタスクにいる時に共通空間にコピー、デスト側に来た時に <br> 　 共通空間からコピー <br>  <br> みたいな感じになるのでしょうか。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 00:03<> <a href="../test/read.cgi/tech/1037096449/127" target="_blank">&gt;&gt;127</a> <br> &gt;基本的にはタスクひとつにつきTSSが必要っぽいことが分かりました。 <br> &gt;エントリー数が足りない・・・ <br>  <br> 基本的にはそうで、最新版のNWSOSでは、タスクごとにTSSを用意して <br> いるのですが、同一タスクのスレッド（軽量タスク）では同じTSSを指 <br> しています。 <br>  <br> しかし、Linux 2.4 では、TSSはひとつだそうです。 <br>  <br> ちなみに、タスクゲートは、Linuxでも用いていないそうです（NWSOSでも）。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/11/30 00:10<> 　 ∧＿∧ <br> ＜　｀ー´＞y-~~~ <br> 個人的にはTSSを使うのはあまり好きじゃないな・・・。 <br> コンテキスト保存用のブロックが無駄に大きすぎる。 <br> nest-taskができるのは便利なんだが。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 00:12<> <a href="../test/read.cgi/tech/1037096449/128" target="_blank">&gt;&gt;128</a> <br> 　調べて見たところ、NWSOSでは、lgdt は、初期化時に一回だけ、 <br> 8192 個のリミットで確保していました（TSS領域自体は、動的に <br> 確保しています。）。 <br>  <br> 　多分、lgdtは何度でも行えると思うんですが、その際必要となるのが、 <br> 「連続した”物理”アドレス」ですので、動的に伸張していく際、 <br> 必要なサイズの「連続した物理アドレス」が空いてない場合は、 <br> どこかにページングされているものから集めてくる処理が必要にな <br> ると思います。 <>
ひげぽん<>sage<>02/11/30 00:12<> LightConeさん　こんばんは <br> &gt;基本的にはそうで、最新版のNWSOSでは、タスクごとにTSSを用意して <br> &gt;いるのですが、同一タスクのスレッド（軽量タスク）では同じTSSを指 <br> &gt;しています。 <br>  <br> なるほど、スレッドは、メモリ空間？を共有している特殊なタスクということですね。 <br> ということは、エントリ数は512とか256位必要な気がしますね。 <br>  <br> &gt;しかし、Linux 2.4 では、TSSはひとつだそうです。 <br> どういう方法をとっているのでしょうか。なぞです。 <br> でも結局はTSSに相当するものはどこかに持っていないとおかしいですよね。 <>
ひげぽん<>sage<>02/11/30 00:16<> <a href="../test/read.cgi/tech/1037096449/131" target="_blank">&gt;&gt;131</a> 超先生＠OS板さん　おひさしぶりです。 <br> &gt;個人的にはTSSを使うのはあまり好きじゃないな・・・。 <br> &gt;コンテキスト保存用のブロックが無駄に大きすぎる。 <br> 勉強不足なのですがTSSの使用はmustではないのでしょうか？ <br> segment typeはTSSでなくても、結局は使用するセグメントを <br> ディスクリプタテーブルに登録しなければならない気がするのですが <br> 激しく勘違いしているかもしれません。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 00:17<> <a href="../test/read.cgi/tech/1037096449/131" target="_blank">&gt;&gt;131</a> <br> 超先生、コメント有難うございます。 <br>  <br> Linuxの参考書を見るべきかもしれませんが、 <br> TSSを固定するとなると、I/O 許可ビットマップは利用しないという <br> ことなんでしょうか。in/out 命令は全部例外を起こさせて <br> エミュレートするか、I/O用システムコールを利用？ <>
ひげぽん<>sage<>02/11/30 00:22<> LightConeさん <br> &gt;　調べて見たところ、NWSOSでは、lgdt は、初期化時に一回だけ、 <br> &gt;8192 個のリミットで確保していました（TSS領域自体は、動的に <br> &gt;確保しています。）。 <br>  <br> わざわざ調べていただいて恐縮です。 <br> なるほどNWSOSでは最初に一回多めにとっているのですね。 <br> 結局は、この方法がベストな気がします。 <br>  <br> &gt;多分、lgdtは何度でも行えると思うんですが、その際必要となるのが、 <br> &gt;「連続した”物理”アドレス」ですので、動的に伸張していく際、 <br> &gt;必要なサイズの「連続した物理アドレス」が空いてない場合は、 <br> &gt;どこかにページングされているものから集めてくる処理が必要にな <br> &gt;ると思います。 <br> おっしゃるとおりですね。 <br> 動的拡張は、ちょっと面倒であまりメリットがないかもしれません。 <br> 結局は初期サイズで余分に取っておくでしょうし･･･ <br>  <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 00:29<> 　レベル遷移時に、どうしても、TSSの内側レベルのスタックポインタ <br> (SS0:ESP0, SS1:ESP1, SS2:ESP2) がCPUによって自動参照されて <br> しまうはずなので、TSSの切り替えをしない場合は、そこをタスク <br> スイッチ時に書き換える必要がありますよね。違っていたらNWSOS <br> では無駄なことをしていることになりますが、それをしないと確実に <br> 暴走するので間違いないと思います。 <br>  <br> 　最新版のNWSOSでは、スレッドを切り替える際は、TSSを変更せずに、 <br> そこだけを書き換えてます。 <br>  <br> 　他の項目は、タスクゲートなどを使わないなら書かなくていいん <br> はずですよね。TSSの CR3,LDTR などもどうでもいいんですよね。 <br>  <br> 　TSSの「レジスタセーブ領域」は、自信を持って書き換える必要がないと <br> 言えます。 <br> 　なぜなら、最新版NWSOSでも利用せずに、独自の構造体に入れてますので。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/11/30 00:32<> <a href="../test/read.cgi/tech/1037096449/134" target="_blank">&gt;&gt;134</a> <br> 使わないというか、TSS一つを共有と。 <br>  <br> &gt;TSSを固定するとなると、I/O 許可ビットマップは利用しないという <br> &gt;ことなんでしょうか。in/out 命令は全部例外を起こさせて <br> &gt;エミュレートするか、I/O用システムコールを利用？  <br>  <br> そもそもi386以外ではI/O access mapのようなものはないですからね。 <br> 移植性を考慮すると、subsystemプロセスに限定しても、 <br> 直接ユーザーランドからI/O命令を発行するような実装は綺麗でないです。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 00:32<> <a href="../test/read.cgi/tech/1037096449/134" target="_blank">&gt;&gt;134</a> <br> &gt;勉強不足なのですがTSSの使用はmustではないのでしょうか？ <br>  <br> 恐らくその通りで、Linux でも、TSSは、一つだけは使っています。 <br>  <br> 超先生がおっしゃっているのは、TSSを複数使うかどうかだと思います。 <br> #135 の私の質問も、その意味で書いたつもりです。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 00:34<> <a href="../test/read.cgi/tech/1037096449/138" target="_blank">&gt;&gt;138</a> <br> &gt;そもそもi386以外ではI/O access mapのようなものはないですからね。 <br> なるほど。 <br>  <br> ご返答有難うございます。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 00:38<> やはり、「I/O許可ビットマップ」は使わない、ということなんですね。 <br> 　Linuxが、in/out 命令をユーザーレベルで直接使わずに、関数コール <br> しているのかが今分かった気がします。 <br>  <br> やはり、TSSは、一つだけ固定的に持つのが一番賢そうですね。 <br>  <br> そして、タスクスイッチ時は、「TSSの内側スタックポインタ」だけを <br> 書き換えればいいわけですよね？ <>
ひげぽん<>sage<>02/11/30 00:43<> 一人レベルが低くて申し訳ないのですが <br>  <br> &gt;やはり、TSSは、一つだけ固定的に持つのが一番賢そうですね。 <br> となると、TSSをタスクの数だけ用意するのは <br> 何もメリットがないのでしょうか？ <br>  <br>  <>
ひげぽん<>sage<>02/11/30 00:55<> TSSディスクリプタを一つだけ固定で持つということすよね。 <br>  <br> そうすればセグメント間ジャンプのときに <br> セグメントタイプがTSSであることをCPUが検知してくれて <br> TSSの内容を参照し、セグメントを切り替えてくれる。 <br>  <br> OS側では、タスク切り替えの前にTSSディスクリプタが持つ <br> TSSのアドレスに切り替えたいタスクのTSS構造体のアドレスを設定する。 <br>  <br> うーんなんか間違っている気がします･･･ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 00:55<> <a href="../test/read.cgi/tech/1037096449/142" target="_blank">&gt;&gt;142</a> <br> &gt;となると、TSSをタスクの数だけ用意するのは <br> &gt;何もメリットがないのでしょうか？ <br>  <br> 複数使うメリット: <br>  <br> 1. タスクゲートなどを使ったCPUネイティブなタスクスイッチが行える。 <br> 2. 割り込みなどをタスクゲートで行える。その際「ネスト」できるハズ。 <br> 3. TSSの「内側レベルのスタックポインタ」を頻繁に書き換えないで済む。 <br> 4. I/O 許可ビットマップを（一々コピーすることなく）利用できる。 <br>  <br> 複数使うデメリット: <br> 1. タスク数に制限がついてしまう <br> 2. I/O ビットマップを使うとなるとメモリが無駄。 <br> 3. セグメントレジスタの DWORD align が無駄 <br> 　（だけどアクセス高速化のためには結局必要かも）。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 01:01<> <a href="../test/read.cgi/tech/1037096449/143" target="_blank">&gt;&gt;143</a> <br> &gt;そうすればセグメント間ジャンプのときに <br> &gt;セグメントタイプがTSSであることをCPUが検知してくれて <br> &gt;TSSの内容を参照し、セグメントを切り替えてくれる。 <br>  <br> CPU定義のタスクジャンプや、タスクコールを使わないで済ますんです。 <br>  <br> あと、タスクスイッチを伴うjmpは、「セグメント間ジャンプ」 <br> とは言わない習慣のはずです。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/11/30 11:33<> GDTは連続した物理アドレスではなくリニアアドレスが必要だと思ったんですが。 <br> 物理アドレスを使うのはCR3とページディレクトリ・ページテーブルだけですよね？ <br>  <>
デフォルトの名無しさん<>sage<>02/11/30 11:45<> <a href="../test/read.cgi/tech/1037096449/119" target="_blank">&gt;&gt;119</a> <br> &gt;  その方法では結局、実際に文字列を取得する際のサイズが前回取得した <br> &gt;  文字列のサイズ以下になるまで繰り返しが必要になり、単に文字列を <br> &gt;  取得したいたびにそのようなループを書く必要があることになる <br> &gt;  わけですよね。 <br>  <br> ライブラリというものの存在はご存知 ? <br> 個人的には、OS が勝手に領域を確保するという仕様は好みでない。 <br> 全ての言語が動的メモリーをサポートしているわけじゃないからね。 <br> 文字列領域をユーザーに確保させるか環境が確保するのかは言語/ライブ <br> ラリ作成者が決めればいい話で OS が決めることではないと思う。 <br>  <br> 重要なことは、const char *GetTaskName2(HTASK hTask); と言う API <br> を使って領域を確保しないでタスク名を取得することはできないけど、 <br> GetWindowsDirectory() なら、ライブラリで領域を確保することもでき <br> るし、ユーザーに領域を確保させることもできると言う自由度があると言 <br> うこと。その自由度を捨てて OS でできる限り安全にすると言うのも一つ <br> の方向ではあるけどね。 <>
デフォルトの名無しさん<>sage<>02/11/30 11:50<> <a href="../test/read.cgi/tech/1037096449/126" target="_blank">&gt;&gt;126</a> <br> &gt; <a href="../test/read.cgi/tech/1037096449/116" target="_blank">&gt;&gt;116</a>さんはTASKのデータをTASKに持たせておいて、 <br> &gt; カーネルではTASKのIDとかで識別できる程度にしておいて、 <br>  <br> <a href="../test/read.cgi/tech/1037096449/116" target="_blank">&gt;&gt;116</a> では、タスク名称の置き場所とかには言及してません。 <br> まあ、普通は TCB (Task Control Block) 等のタスク管理領域に置くと <br> 思う。 <br>  <br> &gt; カーネルからのメッセージでTASKが動作するといったイメージ <br> &gt; でしょうか？ <br>  <br> これは、まずいと思う。ps や taskmgr.exe で、ハングアップしたタス <br> ク名称が取得できなくなってしまう。 <>
126<>sage<>02/11/30 11:59<> <a href="../test/read.cgi/tech/1037096449/129" target="_blank">&gt;&gt;129</a> <a href="../test/read.cgi/tech/1037096449/148" target="_blank">&gt;&gt;148</a> <br> 説明ありがとうございます。できるだけ小さいカーネルと、周りのプログラム <br> というのが実現できればいいと思ったのですが、ある程度のメモリサイズは <br> どうしても必要になるのですね。書籍の勉強だけでなく実装の勉強も <br> してみます。ありがとうございました。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 12:14<> <a href="../test/read.cgi/tech/1037096449/146" target="_blank">&gt;&gt;146</a> <br> ホントですね。すみません。 <br> lgdtで指定するのは「連続した線形アドレス」でした。 <br> gdtrやidtrは、「セレクタ」が必要ないんでしたか。最近忘れてます。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/11/30 12:29<> GDTRとIDTRは開始アドレスとリミットで構成される擬似ﾃﾞｽｸﾘﾌﾟﾀという構造体だったと思います。 <br> ｾﾚｸﾀが必要なのはLDTRやTRですね。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 12:38<> <a href="../test/read.cgi/tech/1037096449/151" target="_blank">&gt;&gt;151</a> <br> 　そういえば、そうそう。gdtrとidtrのディスクリプタだけは、 <br> 「擬似」なんですよね。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/11/30 12:43<> TSSを使わないスタック切り替えは工房の頃に力技で試しましたね。 <br> タスク切り替えが頻繁に起きると大変な事になりそう。。。 <br>  <br> めぐではどうしようかな。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 12:52<> <a href="../test/read.cgi/tech/1037096449/153" target="_blank">&gt;&gt;153</a> <br> &gt;TSSを使わないスタック切り替えは工房の頃に力技で試しましたね。 <br> 素晴らしい。 <br>  <br>  <br> &gt;タスク切り替えが頻繁に起きると大変な事になりそう。。。 <br> 　最近のCPUで改良されたかもしれませんが、 <br> 速度パフォーマンス的には、CPUが持つタスク切り替え機能も <br> クロック数はかなりかかるので、気になるほどの差は出ないように思います。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 13:02<> <a href="../test/read.cgi/tech/1037096449/153" target="_blank">&gt;&gt;153</a> <br> 　Linuxでは、バージョンアップ時の改良として、TSSが一本化された <br> こともありますし、超先生の見解通り、TSSを一本化（使わない）方針が <br> よいように思います。 <br>  <br> 　私の個人的見解でもTSSを用いたタスクスイッチはやめたほうが <br> いいと思います。理由はTR用のセレクタ数にGDTの制限が出てしまう <br> ことと、実際問題上、コールゲートを呼び出してタスクスイッチする <br> のは、逆にメンドクサイことになりそうだからです。 <br>  <br> 　経験上、CR3 等だけ変更して、CS:EIP は連続していた方が何かと楽 <br> です（コードの流れは連続して、メモリマップだけを切り替える方が <br> 楽です。）（CPU定義のタスク切り替えだと、EIPなども変えようと <br> してしまうわけで）。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/11/30 13:04<> あの頃はｶｰﾈﾙ(ﾘﾝｸﾞ0)ｽﾀｯｸをﾀｽｸ切り替えの際に毎回ｺﾋﾟｰしなおしてた気が・・・ <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 13:08<> <a href="../test/read.cgi/tech/1037096449/156" target="_blank">&gt;&gt;156</a> <br> &gt;あの頃はｶｰﾈﾙ(ﾘﾝｸﾞ0)ｽﾀｯｸをﾀｽｸ切り替えの際に毎回ｺﾋﾟｰしなおしてた気が・・・ <br> 逆に思いつかない(^_^;) <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/11/30 13:13<> TSS操作とかﾍﾟｰｼﾞ切り替えをしないように考えてたらｽﾀｯｸｺﾋﾟｰという荒業を思いついたのですが、、、 <br>  <br> 若いって素晴らしい(汗 <br>  <>
デフォルトの名無しさん<>sage<>02/11/30 17:51<> 幾つか質問します <br> 1.OSを作っている言語は何ですか？ <br> 2.発表時期は何時？ <br> 3.有料？無料？ <br> 4.CUI系?GUI系？どちらで操作するようにするのですか？ <br> 5.ソースコードは公開するのですか？ <br>  <br> 私も参加してみたいですねぇ… <br>  <>
デフォルトの名無しさん<><>02/11/30 18:01<> 過去ログ読めやぁ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 18:05<> <a href="../test/read.cgi/tech/1037096449/159" target="_blank">&gt;&gt;159</a> <br> 　３種のOSの作者が来ていて、一つのOSを共同制作しているわけではない <br> ことはいいですか？ <br>  <br> 　ひげぽんさんの OS(higepos, Mona?)は、GPLなので参加者は歓迎されると思い <br> ます。 <br>  <br> 　私は NWSOS を作っていて、ソースコードは今のところ非公開。開発言語は <br> C とアセンブラです。GUIのWindowの中でCUIをサポートしています。 <br> 「発表時期(?)」というのは意味がわかりません。今のところ売れそうも <br> ないので無料です。将来はわかりませんが有料でもただ同然になるはず <br> です。 <br>  <br> 　みとこさんは、MEG-OS の作者です。 <>
ひげぽん<>sage<>02/11/30 18:18<> どうもIA32におけるタスク切り替えの本質を理解できずに <br> 苦しんでいます。 <br>  <br> インテルのマニュアルによると <br>  <br> &gt;プロセッサは次の4 つのどれかが起こった場合に他のタスクへ実行を転送する。 <br> &gt;&#8226; 現行プログラム、タスクまたはプロシージャが、GDT 内にあるTSS ディスクリプタに対 <br> &gt;してJMP またはCALL 命令を実行した。 <br> &gt;&#8226; 現行プログラム、タスクまたはプロシージャが、GDT または現行LDT 内にあるタスク・ <br> &gt;ゲート・ディスクリプタに対してJMP またはCALL 命令を実行した。 <br> &gt;&#8226; 割り込み/ 例外ベクタがIDT 内にあるタスク・ゲート・ディスクリプタを指している。 <br> &gt;&#8226; EFLAGS レジスタのNT フラグがセットされているときに現行タスクがIRET を実行した。 <br>  <br> そこで私は、TSSディスクリプタ、TSSを用意し <br> そのTSSディスクリプタに対してjmp(call)すれば <br> タスクが切り替えられそうだと言うことをなんとなく理解しました。 <br>  <br> タスクの切り替えとは大まかに言って <br> コンテキスト <br> コードセグメント <br> データセグメント <br> スタックセグメント <br> 開始アドレス等 <br> を切り替えることだと思っているのですが <>
ひげぽん<>sage<>02/11/30 18:19<> &gt;LightConeさんの仰る <br> &gt;超先生の見解通り、TSSを一本化（使わない）方針が <br> &gt;よいように思います。 <br> &gt; <br> &gt;　私の個人的見解でもTSSを用いたタスクスイッチはやめたほうが <br> &gt;いいと思います。 <br>  <br> 超先生＠OS板 さんの仰る <br> &gt;使わないというか、TSS一つを共有と。 <br>  <br> がよく理解できないのです。 <br>  <br> Intelは、タスク一つにつき、ディスクリプタとTSSを一組 <br> を用意せよと言っているのに対して <br> TSSは一つを共有すればよいと仰っていると思うのですが <br>  <br> その場合具体的にはどういう方法でOSが何をすればよいのかが <br> 分かりません。 <br>  <br> この辺のことはどのような勉強方法で学習されたのでしょうか。 <>
ひげぽん<>sage<>02/11/30 18:24<> <a href="../test/read.cgi/tech/1037096449/159" target="_blank">&gt;&gt;159</a> <br> &gt;幾つか質問します <br>  <br> 以下、私が中心となって開発しているMons(旧名higepos)について <br> 書かせていただきます。 <br>  <br> &gt;1.OSを作っている言語は何ですか？ <br> アセンブラ、C++ <br>  <br> &gt;2.発表時期は何時？ <br> すいません、何の発表ですか。 <br> まだ完成していないのでリリースは当然していないです。 <br>  <br> &gt;3.有料？無料？ <br> 無料です。 <br>  <br> &gt;4.CUI系?GUI系？どちらで操作するようにするのですか？ <br> 現在はCUIです。 <br> 将来はGUIを目指しています。 <br>  <br> &gt;5.ソースコードは公開するのですか <br> sourceforge.jp上で開発していますので公開しています。 <br> http://mona.sourceforge.jp/ <br>  <br> &gt;私も参加してみたいですねぇ… <br> 熱意とやる気のある方であれば大歓迎です。 <br>  <>
ひげぽん<>sage<>02/11/30 18:25<> <a href="../test/read.cgi/tech/1037096449/164" target="_blank">&gt;&gt;164</a> <br> 訂正です。 <br> &gt;以下、私が中心となって開発しているMons(旧名higepos)について <br> →以下、私が中心となって開発しているMona(旧名higepos)について <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 18:27<> <a href="../test/read.cgi/tech/1037096449/163" target="_blank">&gt;&gt;163</a> <br> &gt;この辺のことはどのような勉強方法で学習されたのでしょうか。 <br> 私の場合、 <br>  <br> 工学社「80386 プログラミング」 <br> John H,Crawford + Patrick P Gelsinger 著 <br> 岩谷　宏　訳 <br>  <br> をじっくり読みました。 <br>  <br> 　この本の中には「命令の論理ソース」がC言語風に掲載されていて、 <br> タスクスイッチが内部的にどのように処理されているのかが厳密に <br> 分かるようになっています。文章量が多くて少々難解ですが、 <br> 「論理ソースコード」は参考になります。 <br>  <br>  <br> 　その本を見ると、タスクゲートや、TSSセレクタに対する jmp や call <br> も、mov cr3,reg や、ldtr, ltr などの組み合わせで書けることが分かる <br> ようになっています（一目瞭然とまではいかないまでも。）。 <>
FreeDOS教徒<>osage<>02/11/30 18:29<> &gt;&gt;ひげぽん <br> Typoです(Mons-&gt;Mona) <>
FreeDOS教徒<>osage<>02/11/30 18:32<> うわ。先に訂正されてしまった。ゴメソ。 <br>  <br> 何はどもあれプロジェクトに協力できる人募集中です（； <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 18:33<> <a href="../test/read.cgi/tech/1037096449/162" target="_blank">&gt;&gt;162</a> <br> 　要するに、それは、IA32のCPUが、 <br> タスクとはこうである、タスクスイッチとはこうである、と定めた <br> 内容を書いているだけで、タスクスイッチとは、所詮、ページテーブル <br> の変更と、ローカルセレクタの変更、汎用レジスタの復帰、などに <br> 他ならないんです。 <br>  <br> ページテーブルの変更---&gt;レジスタ CR3 の変更(mov cr3,reg) <br> ローカルセレクタの変更---&gt;ldtr の変更(LLDTR) <br> 汎用レジスタの復帰---&gt;通常mov命令 <br>  <br> でことたります。 <br>  <br>  <br> 　ただし、一点だけ注意することとして、内部レベルへの遷移時には、 <br> TSSの SS0:ESP0 が自動的に参照されてしまうことです。この動作 <br> だけは、変更することが出来ない（はず）です。 <>
ひげぽん<>sage<>02/11/30 18:39<> LightConeさん <br> &gt;工学社「80386 プログラミング」 <br> http://www.amazon.co.jp/exec/obidos/ASIN/487593128X/qid%3D1014798612/sr%3D1-1/ref%3Dsr%5F1%5F0%5F1/250-3723145-5289069 <br> これですね。在庫切れだ。 <br>  <br> &gt;その本を見ると、タスクゲートや、TSSセレクタに対する jmp や call <br> &gt;も、mov cr3,reg や、ldtr, ltr などの組み合わせで書けることが分かる <br> &gt;ようになっています（一目瞭然とまではいかないまでも。）。 <br>  <br> 納得しました。そういうことなんですね。 <br> 昨日はこれを知らなくて????となっていました。 <br> やっぱりできる人は勉強してるんですね。 <br>  <br>  <>
ひげぽん<>sage<>02/11/30 18:42<> <a href="../test/read.cgi/tech/1037096449/167" target="_blank">&gt;&gt;167</a> <br> <a href="../test/read.cgi/tech/1037096449/168" target="_blank">&gt;&gt;168</a> <br> FreeDOS教徒さん <br> ご指摘ありがとうございます。 <br> &gt;&gt;ひげぽん <br> &gt;Typoです(Mons-&gt;Mona) <br> OS名だけ見事にtypo、もうバカかと・・・ <br>  <br> &gt;何はどもあれプロジェクトに協力できる人募集中です（； <br> 大募集ですm(__)m <br>  <br>  <>
ひげぽん<>sage<>02/11/30 18:45<> <a href="../test/read.cgi/tech/1037096449/169" target="_blank">&gt;&gt;169</a> LightConeさん <br> &gt;タスクスイッチとは、所詮、ページテーブル  <br> &gt;の変更と、ローカルセレクタの変更、汎用レジスタの復帰、などに  <br> &gt;他ならないんです。  <br>  <br> これを知らずに、タスク切り替え部をいびつに <br> 実装してしまったら後悔するところでした。 <br> ありがとうございます。 <br>  <br> 工学社「80386 プログラミング」 探してみます。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 18:47<> ちなみに、この本の初版は、昭和63年です。私のは平成4年版です。 <br> 初版は、14年も前なんですね、、、、、、、、。 <>
ひげぽん<>sage<>02/11/30 18:51<> <a href="../test/read.cgi/tech/1037096449/173" target="_blank">&gt;&gt;173</a> <br> &gt;ちなみに、この本の初版は、昭和63年です。私のは平成4年版です。 <br> &gt;初版は、14年も前なんですね、、、、、、、、。 <br>  <br> ここを見ると絶版と書いてあります・・・(T_T) <br> http://www.skyfree.org/jpn/recommend-1.html <br>  <br>  <br>  <>
159<><>02/11/30 18:51<> はい、分かりました。 <br> 凄いです。 <>
159<>sage<>02/11/30 18:57<> あ、発表って正式リリースの事です。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 19:12<> <a href="../test/read.cgi/tech/1037096449/174" target="_blank">&gt;&gt;174</a> <br> 絶版本を探すには、古本屋に行くといいのではないでしょうか。 <br>  <br> 個人的には、中古でも、探していた本が見つかった時は、新しい <br> 本よりも嬉しく感じます。 <>
FreeDOS教徒<>osage<>02/11/30 19:16<> 何はどもあれ -&gt; 何はともあれ <br>  <>
ひげぽん<>sage<>02/11/30 19:30<> &gt;絶版本を探すには、古本屋に行くといいのではないでしょうか。 <br> &gt;個人的には、中古でも、探していた本が見つかった時は、新しい <br> &gt;本よりも嬉しく感じます。 <br> 近くの図書館と、オンライン古本屋では見つかりませんでした。 <br> ますます欲しいーーーー <br>  <br> <a href="../test/read.cgi/tech/1037096449/178" target="_blank">&gt;&gt;178</a> <br> typo伝染りましたね。 <br>  <br>  <>
。。。<>sage<>02/11/30 20:26<> 前々スレから読み始めてやっと追いつきました。 <br> このスレをたどっていくと、誰でもOSを作れそうですね。 <>
デフォルトの名無しさん<>sage<>02/11/30 21:29<> じゃあ俺も <br> 「NanihaDomoare MONS」っていうOS作るよ！ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/11/30 22:11<> <a href="../test/read.cgi/tech/1037096449/180" target="_blank">&gt;&gt;180</a> <br> &gt;このスレをたどっていくと、誰でもOSを作れそうですね。 <br>  <br> 　正直言って、誰でもとは言わないまでも、Cとアセンブラプログラムが <br> できる方なら基本的なOSは時間さえあればできると思います。 <br> 　大事なのは、CPUアーキテクチャの正しい情報を得ることと、 <br> もう一つがデバッグに耐えられる忍耐力があることではない <br> かと思いますが、どちらも「やる気」の問題が大きいように思います。 <br> スケジューリングやファイルキャッシュの優秀さなどを追求するのは <br> 実験的と勘でやっていけばいいでしょうし、時間が取れなければ先人の <br> 結果を、Linuxの解説本やOSの基礎論の本で見ることで済ませられますし。 <br>  <br> 　私も含めて不注意な人にはちょっぴりデバッグ回数が増えてしまうのが <br> 大変な所ですが（笑）。 <>
デフォルトの名無しさん<><>02/11/30 23:06<> <a href="../test/read.cgi/tech/1037096449/180" target="_blank">&gt;&gt;180</a> <br> 俺もそう思う。 <br> 「ＯＳ作るのって難しそう」と思ってる人にそう思わせる、 <br> このスレは文化的価値がある思う。 <br>  <>
。。。<>sage<>02/12/01 00:06<> 実際、Lたん、ひげぽんってどうなの？ <br> 実力的に <>
デフォルトの名無しさん<>sage<>02/12/01 00:07<> <a href="../test/read.cgi/tech/1037096449/183" target="_blank">&gt;&gt;183</a> <br> 禿同。まあ、誰でも作れるとまでは言わないけど、「OS だって、単なる <br> プログラムだ」と多くの人に思わせた功績はある。 <br>  <br> これからも頑張ってね。&gt; ひげぽん さん <>
デフォルトの名無しさん<>sage<>02/12/01 00:40<> <a href="../test/read.cgi/tech/1037096449/184" target="_blank">&gt;&gt;184</a> <br> Lﾀﾝはあれだけのものを作るので結構すごいんじゃない？ <br> ひげぽは、学習能力が高そうなのでこのまま作り続ければ <br> NWSOSやOSASKレベルにはまちがいなく到達できると思う。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 07:56<> <a href="../test/read.cgi/tech/1037096449/180" target="_blank">&gt;&gt;180</a> <br> #182 だけだと誤解を生みそうなので少し補足します。 <br> 本当にこのスレを読んだ「だけ」だと、ブート部分と簡単なキー入力とその <br> エコー程度のところまでしか行けないと思います。 <br>  <br> 　難しくはないと思いますが、ファイルシステムがどういう仕組みで作られて <br> いるか、マルチタスクがどうやって実現されているか、割り込みとは何か、 <br> グラフィックのLINEやCIRCLEやPAINTどうやって処理されているか、 <br> 排他制御とは何か、デッドロックを防ぐ方法、ページングとは何か、 <br> セグメント、セレクタとは何か、みたいなことの理解が必要になってきます。 <br>  <br> 　今度はそれらをIA32でどうやって実現すればいいかという <br> ことを調べる必要があります。ページングが何かが分かっても、 <br> 次には、IA32においての、ページディレクトリやページテーブルの具体的 <br> な仕組みを知らなければ、本格的なOSを組むことは出来ません。 <br> このスレではそこまでは説明されてません（higepon さんのMonaも、 <br> ページングは、まだなはずなので。）。 <br>  <br>  <br> 　あと、Windowシステムを組むのは、既存のOSのWindowシステムを体験 <br> してからでないと難しいかもしれません。私も(MS)Windowsのプログラムを <br> 練習する前に独自にWindowシステムを作ってみたことがあるのですが、かなり <br> 無理があるような構造になってしまったことがあります。やはり、 <br> 一度は既存のWindowシステムの仕組みを体験することがGUIのOSを作るに <br> は必要だと思います。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 08:06<> <a href="../test/read.cgi/tech/1037096449/186" target="_blank">&gt;&gt;186</a> <br> &gt;ひげぽは、学習能力が高そうなのでこのまま作り続ければ <br>  <br> 　本当にひげぽんさんの成長ぶりには驚かされます。 <br>  <br> 　しかし、ひげぽんさん自身が、「何も知りません」と言うような場面 <br> があったら、心の中で（「また、ご冗談を」）と言いましょう。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 08:54<> 　スレの浪費と言われそうですが、#182 で「やる気」があれば、IA32が <br> 理解できる、とは言ったものの、#166 で紹介した本は、全部で687ページ <br> 有ります。 <br> 　これは、初代の80386の本なので、キャッシュや、その後に追加された <br> 特殊ビットや、MMX/SSE/SSE2 は、IntelのPentium4のPDFファイル3本組み <br> 読まないと分かりません。 <br>  <br> 上巻:378ページ（基本アーキテクチャ） <br> 中巻:878ページ（命令リファレンス） <br> 下巻:634ページ（システム・プログラミング・ガイド） <br>  <br> 　ちなみに、日本では、こういう知識は何故か大学などでは（普通は）教えてくれ <br> ないので、自分で勉強するしかないです。場合によってはOSの専門家でもIA32の <br> ことを知らない人もいますので、「教育機関」に行ってもなかなか学べません。 <br> こういうことを勉強したい人は、自分でこつこつやるしかないので、 <br> 海外のように巷にOS作者が溢れてこない理由はそこだと思います <br> （専門家からの猛反撃を受けそうなので、なかなか言えないことですが、 <br> これで鬱になります、、、）。 <>
デフォルトの名無しさん<>sage<>02/12/01 12:35<> &gt;海外のように巷にOS作者が溢れてこない理由はそこだと思います <br> これなんだけど、OSに限らずソフトウェア業界全体的に、日本の勢力って <br> よわっちぃ-です。もちろん、人口比率以上に弱いという意味。 <br> 教科書もないのは、海外も同じで、結局、やる気あるやつの人口が桁違いに <br> 多いんだと思うね、向こうは。 <br>  <>
名無しさん＠Ｅｍａｃｓ<>sage<>02/12/01 12:57<> 東大の情報系学科３年でやるCPU実習ではCPU設計から始めてOS制作までやるはず。 <>
デフォルトの名無しさん<>sage<>02/12/01 13:16<> <a href="../test/read.cgi/tech/1037096449/191" target="_blank">&gt;&gt;191</a> <br> たしか論理合成までできて、やる気があればマザーボードの設計まで <br> できる環境になっている。うらやますぃー <br>  <>
デフォルトの名無しさん<>sage<>02/12/01 13:29<> 余談だが、OSASKのソースを最近見たが激しくスパゲッティだね。 <br> いずれ破綻すると思う。 <br> NWSOSとmona?は大丈夫？ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 13:31<> <a href="../test/read.cgi/tech/1037096449/191" target="_blank">&gt;&gt;191</a> <br> 自分でCPUを設計して、そのCPUでOSを書くことだけでいいのでしょうか。 <br> IA32の複雑さには定評がありますし。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 13:32<> <a href="../test/read.cgi/tech/1037096449/193" target="_blank">&gt;&gt;193</a> <br> NWSOSは、大丈夫です、と言っておきます（笑）。 <>
デフォルトの名無しさん<>sage<>02/12/01 13:34<> <a href="../test/read.cgi/tech/1037096449/195" target="_blank">&gt;&gt;195</a> <br> OSASKのスパゲッティ状態についてどう思う？ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 13:36<> 　あと、学校でやる場合、実際の売り物のマザーボードとは複雑さがけた違い <br> だったりしませんか。 <br> 　ブリッジが何段階もあって、レガシーハードを引きずっている現状を <br> 勉強してこそ（笑）、真の実力が身につくのではないかと。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 13:39<> <a href="../test/read.cgi/tech/1037096449/196" target="_blank">&gt;&gt;196</a> <br> NWSOSの場合、C言語で書けることもあって、かなり楽なんです。 <br>  <br> OSASKの場合、現状「エセ」だそうですので最後まで見守る必要があるかと。 <>
デフォルトの名無しさん<>sage<>02/12/01 13:40<> <a href="../test/read.cgi/tech/1037096449/191" target="_blank">&gt;&gt;191</a> <br> 数年前の話だけど、OSまではやらなかったよ。 <br> ROMに書き込んで直接実行させてた。 <br> I/Oはシリアルだけだったかな。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 13:42<> <a href="../test/read.cgi/tech/1037096449/190" target="_blank">&gt;&gt;190</a> <br> &gt;教科書もないのは、海外も同じで、 <br>  <br> それはちょっと疑問があります。 <br>  <br> OSの教科書については分かりませんが、3Dグラフィック関係の本は、 <br> 高度でしかも分かりやすい教科書がアメリカには沢山あるようです。 <br>  <br> 日本の教科書は、抽象的過ぎるか、または基礎過ぎるように感じます <br> （抽象的なものはある意味では高度ですが）。 <>
デフォルトの名無しさん<>sage<>02/12/01 13:43<> Lﾀﾝ教科書、書いてくれ <br>  <>
デフォルトの名無しさん<>sage<>02/12/01 13:44<> ＞OSASKのスパゲッティ状態についてどう思う？ <br> いや、別に。おまえのソース解析力が、近代的なプログラミング作法に <br> 慣れすぎたが故に、スパゲッティに見えるだけだ。 <br> ためしに、linuxやgccのソース見てみぃ。latexでもいいし、Bシェルのソース <br> でも構わん。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 13:48<> <a href="../test/read.cgi/tech/1037096449/201" target="_blank">&gt;&gt;201</a> <br> NWSOSをもとに、OSの書き方を実践的に書くとか？ <br> 現状のNWSOSでは、スケジューリングとかが馬鹿すぎるのでちゃんと <br> してからでないと、バッシング受けそうで怖いです。 <>
名無しさん＠Ｅｍａｃｓ<>sage<>02/12/01 13:49<> <a href="../test/read.cgi/tech/1037096449/199" target="_blank">&gt;&gt;199</a> <br> グループによるんじゃない？ <br> 実際に環境をつくってgcc移植してる人のHPを見た記憶があるんだよ <>
デフォルトの名無しさん<>sage<>02/12/01 13:49<> <a href="../test/read.cgi/tech/1037096449/202" target="_blank">&gt;&gt;202</a> <br> &gt;ためしに、linuxやgccのソース見てみぃ。latexでもいいし、Bシェルのソース <br> &gt;でも構わん。 <br>  <br> linux-0.01のソースを見たことがあるが、きれいに構造化されていたよ。 <br> linusやるねぇ。と思った記憶がある。 <br> 他のはみたことない･･･ <br>  <br> じゃあOSASKは、近代的プログラミング作法を用いず <br> どういうスタイルなの？スパゲッティ作法(ｗ <br>  <br> 最近のOSなら近代的プログラミング作法使おうよ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 13:50<> <a href="../test/read.cgi/tech/1037096449/204" target="_blank">&gt;&gt;204</a> <br> 実は、授業ではなく、クラブ活動だったりして。 <>
FreeDOS教徒<>osage<>02/12/01 13:54<> <a href="../test/read.cgi/tech/1037096449/190" target="_blank">&gt;&gt;190</a> <br> 英語は世界に広まってるから、余計に強いよね。 <br> 逆に日本語で書籍出してもいわゆるニッチな市場だから生き残れない。 <br> 日本ではとにかく数が売れないとどうしようもないから。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/193" target="_blank">&gt;&gt;193</a> <br> アレよりは遥かにマシ。間違いねぇ。 <br> 俺はＣ＋＋使えないけどMonaの流れは掴めるし。 <>
名無しさん＠Ｅｍａｃｓ<>sage<>02/12/01 14:00<> <a href="../test/read.cgi/tech/1037096449/206" target="_blank">&gt;&gt;206</a> <br> あーOS作ってなかったですね、CPU向けのgccを作ったということでした。 <br> 記憶があいまいだった... <br> http://www.yl.is.s.u-tokyo.ac.jp/~sumii/tsugcc/tsugcc.html <>
デフォルトの名無しさん<>sage<>02/12/01 14:01<> <a href="../test/read.cgi/tech/1037096449/204" target="_blank">&gt;&gt;204</a> <br> gccの移植（というかアーキテクチャ依存部分の作成？） <br> はおそらくコンパイラ担当者がそうしたかったんだろうねえ。 <br> つか、コンパイラの作成方法も言語の選択もお任せだった。 <br>  <br> 課題としてOSを載せろ、という要求は無かった。 <br> 今はもしかしたら違うのかもしれん。そこは勘弁。 <>
デフォルトの名無しさん<>sage<>02/12/01 14:30<> <a href="../test/read.cgi/tech/1037096449/202" target="_blank">&gt;&gt;202</a> <br> &gt;  ためしに、linuxやgccのソース見てみぃ。latexでもいいし、Bシェルのソース <br> &gt;  でも構わん。 <br>  <br> 悪いけど、LaTeX とちゃんと書いて欲しいし、この文脈で LaTeX は筋違いかと。 <br> LaTeX が何で書かれているか理解してるか ? <>
デフォルトの名無しさん<>sage<>02/12/01 16:20<> 出たよ、名称粘着が <>
デフォルトの名無しさん<>sage<>02/12/01 16:46<> <a href="../test/read.cgi/tech/1037096449/211" target="_blank">&gt;&gt;211</a> <br> &gt; 出たよ、名称粘着が <br>  <br> プッ、そっちにしか突っ込めないのかよ。 <br> お前 LaTeX ってなんだか知らないんじゃねーのか ? <>
ひげぽん<>sage<>02/12/01 16:57<> 亀レスですが <br> LightConeさんの言うとおり <br> &gt;Cとアセンブラプログラムが <br> &gt;できる方なら基本的なOSは時間さえあればできると思います。 <br> &gt;　大事なのは、CPUアーキテクチャの正しい情報を得ることと、 <br> &gt;もう一つがデバッグに耐えられる忍耐力があることではない <br> &gt;かと思いますが、どちらも「やる気」の問題が大きいように思います。 <br>  <br> この辺が大事だとおもいます。 <br> やる気が続くかどうかが鍵かと。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/185" target="_blank">&gt;&gt;185</a> <br> &gt;これからも頑張ってね。&gt; ひげぽん さん <br>  <br> ありがとうございます。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/186" target="_blank">&gt;&gt;186</a> <br> &gt;Lﾀﾝはあれだけのものを作るので結構すごいんじゃない？ <br> 同意 <br> &gt;ひげぽは、学習能力が高そうなのでこのまま作り続ければ <br> &gt;NWSOSやOSASKレベルにはまちがいなく到達できると思う。 <br> それはどうでしょうか（笑） <br> まだだいぶ差がありますので <br>  <br>  <br>  <br>  <>
ひげぽん<>sage<>02/12/01 17:04<> <a href="../test/read.cgi/tech/1037096449/189" target="_blank">&gt;&gt;189</a> LightConeさん <br> &gt;こういうことを勉強したい人は、自分でこつこつやるしかないので、 <br> &gt;海外のように巷にOS作者が溢れてこない理由はそこだと思います <br>  <br> 確かに英語圏にはOS作者があふれていますね。 <br> おかげで参考になりますが・・・ <br> ただ、その分レベルが様々ですね。 <br> <a href="../test/read.cgi/tech/1037096449/193" target="_blank">&gt;&gt;193</a> <br> &gt;余談だが、OSASKのソースを最近見たが激しくスパゲッティだね。 <br> &gt;いずれ破綻すると思う。 <br> &gt;NWSOSとmona?は大丈夫？ <br> Monaは一応きれいに書こうとは試みていますが <br> あとでリファクタリングしようとほっとかれてる部分もあります。 <br>  <br> 一から書き直したいところがちらほら <>
デフォルトの名無しさん<>sage<>02/12/01 17:04<> OSASKはキューにシステムへのメッセージを溜め込むという構造らしいので、 <br> 近代的といえば近代的な気もするのですが？ <br>  <br> OSASKのソースがスパゲッティ状態だとは思いませんが、 <br> ASKA部分の定数直打ちは勘弁して欲しいです。 <br> 内部のシステムコールの番号とかへたれな私にはもはや記憶不可能な状態です。 <>
ひげぽん<>sage<>02/12/01 17:07<> <a href="../test/read.cgi/tech/1037096449/208" target="_blank">&gt;&gt;208</a> <br> &gt;あーOS作ってなかったですね、CPU向けのgccを作ったということでした。 <br> &gt;記憶があいまいだった... <br> &gt;http://www.yl.is.s.u-tokyo.ac.jp/~sumii/tsugcc/tsugcc.html <br>  <br> これ面白いですね。 <br> いやあ勉強になります。 <>
デフォルトの名無しさん<>sage<>02/12/01 17:08<> <a href="../test/read.cgi/tech/1037096449/209" target="_blank">&gt;&gt;209</a> <br> ただ、3年後期のCPU実験とは別に、3年前期にNachosというMIPS <br> のシミュレータ上で動く半完成のOSを実装するという演習は <br> あるけどね。今年のレジュメは <br> http://www.bi.a.u-tokyo.ac.jp/~wataruk/os-ensyu/2002/ <br> かな? Monaの作成にも役立つと思うので見てたら -&gt; ひげぽん <>
ひげぽん<>sage<>02/12/01 17:09<> ずいぶん前に、リクエストのあったdoxygenドキュメントを <br> アップしました。 <br> http://mona.sourceforge.jp/html/index.html <>
デフォルトの名無しさん<>sage<>02/12/01 18:39<> &gt;お前 LaTeX ってなんだか知らないんじゃねーのか ? <br> 知識は増やすだけだけど、心理は減らさないと求めることはできないよ？ <br> そろそろ大人になったらどうだい？つか俺tex系不便だし <br> UNIXMagazineみたいに辛気臭いのばっかできあがるからつかわね。 <>
デフォルトの名無しさん<>sage<>02/12/01 20:09<> <a href="../test/read.cgi/tech/1037096449/219" target="_blank">&gt;&gt;219</a> <br> 知ってるの？知らないの？ <>
デフォルトの名無しさん<>sage<>02/12/01 20:34<> 知らないに1票 <br> 心理？真理じゃなくて？ <br> 俺tex系不便だし？？ <br> ｱﾌｫ <>
デフォルトの名無しさん<>sage<>02/12/01 20:41<> ﾈｪﾈｪﾐﾝﾅ(　´∀｀)・ω・) ﾟДﾟ)・∀・)￣ー￣)´_ゝ`)ﾏﾀｰﾘｼﾖｳﾖ <>
デフォルトの名無しさん<>sage<>02/12/01 20:45<> LaTeXがどのようなものなのか知らないアフォがOSを作るとかほざいてるのか・・・ <br> 世も末だな。きっとこういう輩はPerlが内部的に持ってる中間言語の <br> 形態についても全く知らないんだろうな。ダメすぎ。 <>
デフォルトの名無しさん<>sage<>02/12/01 21:00<> OSから入っている人はアプリにたどり着いた時に、アプリから入った <br> 人より遥かに深い理解ができると思います。 <br>  <br> 道のりが遠いので、今現状の理解度については目をつぶらないとね。 <br> 自慢げに煽っていると、そのうちに立場が逆転するかも知れませんよ。 <br>  <br> というか、LaTeXってそんなに凄いもんなんか（藁 <>
デフォルトの名無しさん<>sage<>02/12/01 21:06<> 　　　　　________________ <br> 　　　　　|ﾏﾀｰﾘｼﾖｳﾖ| <br> 　　　　　￣￣| |￣￣ <br> ⊂ ´⌒つﾟーﾟ)つ <>
デフォルトの名無しさん<>sage 釣られすぎ<>02/12/01 21:32<> LaTeXってなんじゃい？ptexの親戚かなんかか？と思って調べてみた。 <br> 何だ、まんまじゃねえか。 <br> つかさ、どっちもどっちだよ。ソフトを知ってることがそんなに偉いの？ <>
デフォルトの名無しさん<>sage<>02/12/01 22:01<> <a href="../test/read.cgi/tech/1037096449/226" target="_blank">&gt;&gt;226</a> <br> &gt; ソフトを知ってることがそんなに偉いの？ <br>  <br> じゃなくて、知らないでえらそうに書くことが恥ずかしいの。 <br> わかった ? &gt; <a href="../test/read.cgi/tech/1037096449/202" target="_blank">&gt;&gt;202</a> <>
デフォルトの名無しさん<>sage<>02/12/01 22:56<> 　　　　　　　　　　　　　　　　　　　　＼  <br> 　　　　　　　　　　　　　　 　　　　　　　＼  <br> 　　　　　　　　　　　　　　　　　　　　　　　＼  <br> 　　　　　　　　　　　　　　　 　　　　　　　　　＼　　 　　　　　　　　 /|　　　。.  <br> 　　　　　　　　　　　　　　　　　　　　　　　,,-'―＼　　　　　　 ＿,／ノ　　　.　.  <br> 　　　　　　　　＿＿＿,,-―――＝''￣￣　 　 ＿,,-'―＝'''￣＿,／|　　o　　　　*  <br> _,,-―＝'''￣　　　　　 ＿＿＿,,-―――＝''￣ ＿_,-―＝''￣　　 / .　　　.　.  <br> 　　　＿,,-―＝'''￣　　　　　　　 ＿,,-―＝''￣　ヽ　　　　　　　／　　+  <br> ￣￣　　　　　　　 ＿,,-―＝'''￣　　　　　　　　　　＼　　　　／　　. .　.　　.  <br> 　　　　　 ,,-＝''￣　　　　　　　　　　　　　　　　　　　ヽ　　／　　　　.　　。. ★　　☆  <br> 　　　 ,,,-''　　　　　　　　　　　　　　　　　　　　 　 　　 ヽ／　　　　　。.　　　　.  <br> -―''￣　　　　　　　／＼　　　　　＿＿＿,　　／＼　　 |　　　.　☆　　+  <br> . 　　|　　　 　 　 ..::::::::::::... 　 　 　 |　　 　 /　　 　..:::::::...　|　+　.　　　.　.  <br> 　　 |　　　　　 　 　 　 　 　 　 　 | 　 　 /　　　　　　　　|　　　　.　.　　　☆  <br> 　　ヽ　 　 γ´~⌒ヽ.　　　　 　　 |　　 /　　　　　 　 　 /☆　.　*　　+.　　.　また〜りしよっ♪  <br> ――ヽ 　 /　　　　　 ヽ　　　　　 |　 /　　　　　　　　 /⌒ヽ、.　　.　　.　.  <br> 　　　　＼/　　　　　　　|　　 　 　 |_/　　　 　 　 　 ／　　　 ヽ +★  <br> 　 　 　 / 　　　　　　　 |　　　　 　　　　　　　　　／　　　　　ノ　*　　☆  <>
デフォルトの名無しさん<>sage<>02/12/01 23:08<> <a href="../test/read.cgi/tech/1037096449/223" target="_blank">&gt;&gt;223</a> <br> 別に、OS 作るのに LaTeX がどのようなものか知る必要はあるとは思えんし、Perl の中間言語が OS と何か関係あるのか ? <br>  <br> <a href="../test/read.cgi/tech/1037096449/224" target="_blank">&gt;&gt;224</a> <br> そう言う話じゃないよ。 <br> LaTeX について知らないんなら黙ってた方が良いと思うよ。 <br>  <br> 今時は、LaTeX なんか知らなくても別に問題ないし。 <>
ひげぽん<>sage<>02/12/01 23:14<> &nbsp;&nbsp;&nbsp;&nbsp;asm&nbsp;volatile("sgdt&nbsp;%0\n" <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;/*&nbsp;no&nbsp;output&nbsp;*/ <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;"m"&nbsp;(gdtr) <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;); <br> &nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("gdtr.limit&nbsp;=&nbsp;%d\n",&nbsp;gdtr.limit); <br>  <br> &nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("gdtr.base&nbsp;&nbsp;=&nbsp;%d\n",&nbsp;gdtr.base); <br>  <br> baseが0で返ってきます。 <br> 実機でもbochsでも・・・うーんなぜだ･･･ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/01 23:37<> ちなみに、私は、OSを専門的に勉強したことはないです。 <>
ななし<>sage<>02/12/01 23:42<> これスレ面白いね。 <br> 正直、何が討論されているのかさっぱり理解できんが、 <br> なんつーか、プログラミングを初めて覚えたころの <br> ドキドキ感を味わえているような気がしてくる。 <br>  <br> スレ汚しごめんね。あとマターリしる！ <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/01 23:47<> <a href="../test/read.cgi/tech/1037096449/230" target="_blank">&gt;&gt;230</a> <br> 構造体のアラインの問題かも。 <br> だとすれば、dd 0x12345678 <br> のようにするとすぐに分かる。 <>
デフォルトの名無しさん<>sage<>02/12/01 23:59<> 要するに、latexを知らないとOSを作れないといいたいんだな？ <>
ひげぽん<>sage<>02/12/02 00:21<> <a href="../test/read.cgi/tech/1037096449/233" target="_blank">&gt;&gt;233</a> <br> &gt;超先生＠OS板さん <br> ビンゴです!!! <br> ありがとうございます。 <>
ひげぽん<>sage<>02/12/02 01:08<> <a href="../test/read.cgi/tech/1037096449/233" target="_blank">&gt;&gt;233</a> <br> <a href="../test/read.cgi/tech/1037096449/235" target="_blank">&gt;&gt;235</a> <br> #pragma&nbsp;pack(2) <br>  <br> /*!&nbsp;gdtr&nbsp;*/ <br> typedef&nbsp;struct&nbsp;{ <br> &nbsp;&nbsp;&nbsp;&nbsp;word&nbsp;&nbsp;limit; <br> &nbsp;&nbsp;&nbsp;&nbsp;dword&nbsp;base; <br> }&nbsp;GDTR; <br>  <br> #pragma&nbsp;pack() <br> のようにしたところ目的の動作が得られました。 <br> ありがとうございます。 <>
日和見主義<>sage<>02/12/02 06:16<> 現状、MONAに傾こうか、NWSOSに傾こうか、日和見中。 <br> 趣味にしても、時間は限られてるしね。 <br>  <br>  <>
デフォルトの名無しさん<>sage<>02/12/02 09:27<> ひげぽん氏は、GUIもサポートする予定ありますか？ <br>  <>
デフォルトの名無しさん<>sage<>02/12/02 10:32<> GUIをサポートしようとすると、OS作りってとたんに難しくなると思われ。 <br> 海外では確かにOS作ってる人がたくさんいるけど、GUIまでのサポートと <br> なると、かなり限られてくる。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/02 11:00<> <a href="../test/read.cgi/tech/1037096449/237" target="_blank">&gt;&gt;237</a> <br> NWSOSの方に来るとマイレージが入ります、と言ってみるテスト。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/02 11:03<> だれかめぐに傾いてよ･ﾟ･(ﾉД`)･ﾟ･ <>
</b> ◆cIQBj36mnM <b><>sage<>02/12/02 13:18<> <a href="../test/read.cgi/tech/1037096449/240" target="_blank">&gt;&gt;240</a> <br> マイレージためたら何かあるの？ <br>  <br> ちなみに漏れはOSASK派。 <>
デフォルトの名無しさん<>sage<>02/12/02 16:24<> MEG-OSの進展してるの？ <br> 一応サイトいったけど <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/02 16:34<> スローペースですが一応リリースのたびにAPI増えてます。。。 <br>  <br> 現時点ではOSとしての完成度は「ライバルOS」と称されている他のOSより <br> 遥かに遅れてるんですよね。 <br>  <br> 技術的な革新点も特にないし。 <br>  <br> だめぽ。･ﾟ･(ﾉД`)･ﾟ･ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/02 16:51<> <a href="../test/read.cgi/tech/1037096449/242" target="_blank">&gt;&gt;242</a> <br> マイレージが増えれば増えるほど、幸福感が増すでしょう、、、 <br>  <br> きっと。 <>
</b> ◆cIQBj36mnM <b><>sage<>02/12/02 21:50<> <a href="../test/read.cgi/tech/1037096449/245" target="_blank">&gt;&gt;245</a> <br> ふむふむ。 <>
ひげぽん<>sage<>02/12/02 21:55<> <a href="../test/read.cgi/tech/1037096449/237" target="_blank">&gt;&gt;237</a> <br> &gt;現状、MONAに傾こうか、NWSOSに傾こうか、日和見中。 <br> &gt;趣味にしても、時間は限られてるしね。 <br> MONAにおいでくださいまし（笑） <br>  <br> <a href="../test/read.cgi/tech/1037096449/238" target="_blank">&gt;&gt;238</a> <br> &gt;NWSOSの方に来るとマイレージが入ります、と言ってみるテスト。 <br> やられますた。 <br> Monaの方に来ると楽しいですよきっと、多分。おそらく。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/238" target="_blank">&gt;&gt;238</a> <br> &gt;ひげぽん氏は、GUIもサポートする予定ありますか？ <br> あります。と言っておきます。 <br>  <br> &gt;GUIをサポートしようとすると、OS作りってとたんに難しくなると思われ。 <br> &gt;海外では確かにOS作ってる人がたくさんいるけど、GUIまでのサポートと <br> &gt;なると、かなり限られてくる。 <br> そうですね。 <br> その点においてNWSOS、OSASKはすごいですね。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/02 22:05<> スレ違いなのは重々承知の上で質問させてもらいますが、 <br> 国内で独自のJavaVMとかJavaネィティブコンパイラ(バイトコードをネィティブコードに変換) <br> を開発してるとこってあるんでしょうか？ <br>  <>
ひげぽん<>sage<>02/12/02 22:15<> Monaは、ゆっくりと開発を行っているのですが <br> みとこさん、LightConeさんは、どういうペースで開発されてるんでしょうか？ <br> 開発の定義があいまいですが･･･ <br> 私の場合は、平日は本を読んだり、構想を練ったりしてます。 <br> 土日はテストコードを書いたり、ちょっとだけOSのコードを書ければ <br> いいかなって感じです。 <br>  <>
デフォルトの名無しさん<><>02/12/02 22:27<> GUIはアプリケーションで実現してほしいんだけど・・・。 <br>  <br> つーか、Xでいいじゃん。だめ？ <>
ひげぽん<>sage<>02/12/02 22:30<> <a href="../test/read.cgi/tech/1037096449/250" target="_blank">&gt;&gt;250</a> <br> それもありだと思います。 <br> MonaはGUIの機能をアプリケーションに任せるつもりです。 <br> あくまでも予定ですが。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/03 12:24<> <a href="../test/read.cgi/tech/1037096449/249" target="_blank">&gt;&gt;249</a> <br> 他にもいろいろとやってるので開発ペースが安定してません。 <br> なるべくめぐに時間を注いでますが。。。 <br>  <br> でも単純比較なら開発時間はひげぽんさんより長いはず。 <br> ついでに作り始めたのも。。。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/03 12:52<> <a href="../test/read.cgi/tech/1037096449/249" target="_blank">&gt;&gt;249</a> <br> PC/AT機版の元となったOSを開発を始めたのはだいぶ前です。 <br> そのとき数ヶ月開発し、そのまま放置していたのを、2002年に <br> なってから移植し始めました（4月頃かな?）。 <>
デフォルトの名無しさん<>sage<>02/12/03 15:14<> 　　　 　 　 ☆　チン　　〃　∧＿∧ 　　／￣￣￣￣￣￣￣￣￣￣￣￣ <br> 　 　 　 　 　　ヽ　＿＿_＼（＼・∀・）＜ みとこさんは女ですか？ <br> 　　 　 　 　 　 　 ＼＿／⊂　⊂＿)＿　＼＿＿＿＿＿＿＿＿＿＿＿＿ <br> 　　　　　 　 　 ／￣￣￣￣￣￣￣／| <br> 　　　　　　　　l￣￣￣￣￣￣￣￣|　.| <br> 　　　　　　　　|　　 　 　 　 　 　|／ <>
デフォルトの名無しさん<><>02/12/03 18:14<> つーかﾏﾝｺだろ？ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/03 21:06<> <a href="../test/read.cgi/tech/1037096449/244" target="_blank">&gt;&gt;244</a> <br> &gt;技術的な革新点も特にないし。 <br>  <br> 　個人的に、Windowsで「アプリレベルで根本的に出来ない事柄」 <br> 「根本的に不足している事柄」を探してみてますが、めったに見つからない <br> です。 <br> 　裏を返せば、他のOSの出る幕がほとんどないということでは？ <br>  <br> 　「強いてやろうと思えばできるけど、手間がかかること」はあるの <br> で、そこに対案を出して売りにするしかないかもしれません。 <>
デフォルトの名無しさん<><>02/12/03 21:58<> wide系で、&osdev:*.jp なんてのを立ててみた. <br> 一応匿名なので、暇なら誰か来て <>
</b> ◆cIQBj36mnM <b><><>02/12/03 22:02<> <a href="../test/read.cgi/tech/1037096449/257" target="_blank">&gt;&gt;257</a> <br> ? <>
257<>sage<>02/12/03 22:07<> <a href="../test/read.cgi/tech/1037096449/258" target="_blank">&gt;&gt;258</a> <br> irc.tokyo.wide.ad.jp <br> OS作る系匿名チャンネル <>
デフォルトの名無しさん<>sage<>02/12/03 22:19<> <a href="../test/read.cgi/tech/1037096449/256" target="_blank">&gt;&gt;256</a> <br> &gt;  　「強いてやろうと思えばできるけど、手間がかかること」はあるの <br> &gt;  で、そこに対案を出して売りにするしかないかもしれません。 <br>  <br> 反対じゃないの ? <br> もっとシンプルでスマートな OS を作って欲しいと思う。 <br> (でも、売れないんだよなァ...。) <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/03 22:29<> <a href="../test/read.cgi/tech/1037096449/260" target="_blank">&gt;&gt;260</a> <br> 「反対じゃないの」と、 <br> 「もっとシンプルでスマートな OS を作って欲しいと思う。 」 <br> との繋がりが分からない。 <br>  <br> 「反対」だと思う理由を書いてください。 <>
デフォルトの名無しさん<>sage<>02/12/03 23:27<> <a href="../test/read.cgi/tech/1037096449/261" target="_blank">&gt;&gt;261</a> <br> そもそも Windows には... <br>  <br> &gt;「強いてやろうと思えばできるけど、手間がかかること」 <br>  <br> と言うのがあまりない。これほど強力な API/ライブラリ等が揃っている OS はそうそうない。 <br>  <br> だから... <br>  <br> &gt; で、そこに対案を出して売りにするしかないかもしれません。 <br>  <br> なんてことするのは、非常に困難。 <br>  <br> その代わり、全体的に複雑で統制の取れていない設計があちこちにある。 <br> このために、プログラムを作るのに覚えることがたくさんあって大変だし、サブシステム毎に思想がばらばらだから同じようなことをしようとしても苦労が絶えない。 <br>  <br> だから、もっと「シンプルでスマートな OS」を作って、それを売りにした方がいいと思う。 <br> (というか、機能の豊富さ (≒ 開発の物量) で MS と勝負してもしょうがないでしょ ?) <br>  <br> &gt; 「反対」だと思う理由を書いてください。 <br>  <br> なんで、これぐらいわからんのか... ? <br> Windows がシンプルでスマートな OS と思ってるのかなぁ...。 <>
ひげぽん<><>02/12/03 23:32<> <a href="../test/read.cgi/tech/1037096449/252" target="_blank">&gt;&gt;252</a> <br> みとこ さん <br> &gt;&gt;他にもいろいろとやってるので開発ペースが安定してません。 <br> &gt;&gt;なるべくめぐに時間を注いでますが。。。 <br>  <br> なるほどみとこさんは、めぐに時間を注ぎ <br> ひげぽんは、モナーに時間を注ぐのですね（笑） <br> 冗談はさておき、やはりOS作成には時間がかかりますね。 <br> 一応私は5年計画ですが。。。 <br>  <br> &gt;LightCone さん <br> &gt;PC/AT機版の元となったOSを開発を始めたのはだいぶ前です。 <br> &gt;そのとき数ヶ月開発し、そのまま放置していたのを、2002年に <br> &gt;なってから移植し始めました（4月頃かな?）。 <br>  <br> なるほど、NWSOSと比べてMonaは2年分くらいの差があると感じてます。 <br> 全くの私の主観ですが･･･ <br> もっとがんばらなくては･･･ <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/04 00:08<> PROJの最初から考えるともう５年以上たったかもしれない、、、 <br> 今のコードベースは一年くらいかな <>
ひげぽん<>sage<>02/12/04 00:11<> みとこ さん <br> &gt;PROJの最初から考えるともう５年以上たったかもしれない、、、 <br> &gt;今のコードベースは一年くらいかな <br> ひえー、大先輩ですね。 <br> 今後ともよろしくお願いいたします。 <>
257<>sage<>02/12/04 00:26<> いろいろあって#osdev-jに変えました <br> ひげぽんさん、LightConeさんも、お暇なら是非来てください <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/04 00:30<> 　 ∧＿∧ <br>  ＜後ろ頭＞ y-~~~ 面白そうになってきたな。 <br> 私もちょいと昔のを引っ張りだしてこようかな。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/04 00:35<> <a href="../test/read.cgi/tech/1037096449/265" target="_blank">&gt;&gt;265</a> <br> むしろ、長くても大成するとは限らない見本ということで。。。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/04 00:41<> <a href="../test/read.cgi/tech/1037096449/261" target="_blank">&gt;&gt;261</a> <br> 煽るなよ <>
デフォルトの名無しさん<>sage<>02/12/04 01:15<> 煽り騙りは2chの華ってか。 <>
デフォルトの名無しさん<>sage<>02/12/04 03:07<> ちなみに私もPC/ATでのOS作りに今日から参戦することにします。 <br> 普段は組み込み機器でリアルタイムLINUXのカスタマイズを仕事にしてます。 <br> mips系ばかりでx86は初めてですが、NWSOSを追い抜くべく頑張ります。 <br> BIOSがかなり整備されてるっぽいところが、唯一の月明かり･･･ <>
デフォルトの名無しさん<>sage<>02/12/04 05:25<> &gt;　 ∧＿∧ <br> &gt;＜後ろ頭＞ y-~~~ 面白そうになってきたな。 <br> おー。超先生、も参戦ですか？ <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/04 09:48<> <a href="../test/read.cgi/tech/1037096449/262" target="_blank">&gt;&gt;262</a> <br> &gt;その代わり、全体的に複雑で統制の取れていない設計があちこちにある。 <br> &gt;このために、プログラムを作るのに覚えることがたくさんあって大変だし、サブシステム毎に思想がばらばらだから同じようなことをしようとしても苦労が絶えない。 <br>  <br> それは同感。 <br>  <>
デフォルトの名無しさん<><>02/12/04 16:59<> IRC寂しいすぎ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 00:01<> 　マルチスレッドが使えるカーネルと、パイプ,リダイレクト,ヒストリが <br> 使えるシェルを正式公開しました。テキストエディタや gnu-sed も付いてます。 <br>  <br> NWSOS Ver 0.030 : <br>  <br> http://homepage2.nifty.com/nowsmart/nwsos.htm <br>  <br> sed をパイプで起動したスクリーンショットがあります。 <br>  <br> なお、テキストエディタは、SHIFT+ESC で出力を取り込んでエディタが <br> 起動できます。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 02:06<> <a href="../test/read.cgi/tech/1037096449/275" target="_blank">&gt;&gt;275</a> 修正 <br> &gt;なお、テキストエディタは、SHIFT+ESC で出力を取り込んでエディタが <br> &gt;起動できます。 <br> テキストエディタのことではなく、SHELL のことです。 <br> SHELL が、Vz エディタのように、SHIFT+ESCで、コンソール出力を <br> エディタに取り込んで編集モードに入れるようになってます。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 02:20<> ファイルバッファのサイズを動的に変更する方法が知りたいです。 <br>  <br> 他の目的で使うメモリが不足すると、ファイルバッファの内容をディスクに <br> フラッシュして、ファイルバッファのサイズを小さくし、メモリとして <br> 利用できるようにしたいです。 <br>  <br> でも、まだ漠然として上手い方法が今一よくわかりません。 <br> 一応、今のところ思いついた必要条件っぽいものは、 <br>  <br> ・ディスクにフラッシュしようとした際に、ファイルシステム自体が <br> 　新たにメモリを要求してはいけない（？）。 <br>  <br> ・もし、マイクロカーネルでこれを行う場合、メモリを必要とするタスクは、 <br> 　一時的に停止状態にし、その間に <br> 　「ファイルサブシステムのタスク」がディスクにフラッシュする（？）。 <br> 　（ちょっと不思議） <br>  <br> ・仮想記憶(SWAP IN, OUT) と上手く折り合いをつけないといけない。 <br> 　そもそも、SWAP OUTしてはいけない部分も有りそうだし、、、。 <>
デフォルトの名無しさん<>sage<>02/12/05 02:44<> ＞SHELL が、Vz エディタのように、SHIFT+ESCで、コンソール出力を <br> ＞エディタに取り込んで編集モードに入れるようになってます。 <br> おいらの指は、この10年間、Viに慣れきったんで <br> ViがNWSOSに移植されれば、遊びに行くYO。 <br> sedがパイプで使えるってことは、Viが移植される日も近い？ <br>  <>
デフォルトの名無しさん<>sage<>02/12/05 03:29<> NWSOSの最新バージョンみたよ！ <br> 数ヶ月ぶりにFDにインストールして、起動してみたんだけど、開発は順調みたいだね。 <br> テキストエディタ（かなり前からあるようだけど）も、HD上のファイルから <br> S-JISが問題なく読み込めたし、HDアクセス中も、FireDEMOが止まらないし。 <br>  <br> 難いえば、マウスカーソルが異様に遅いことかな？ <br>  <br> 現状、Windows2.0程度といったところ。 <br> もっと頑張れ！ <br>  <>
デフォルトの名無しさん<>sage<>02/12/05 03:44<> sedが動いててびびった。おそらくGPLのソースをほとんどそのままコンパイル <br> したんだろうけど。 <br> というか、unix系ツールはほとんどコンパイルしなおせば動くんでないの？ <br>  <br> これら基盤ツールはGPLで構わんと思うよ。 <br> 実行ファイルとして分離されてるんだし、NWSOSとGPLとは無縁でいられる。 <br>  <br> Lightﾀﾝは、カーネル、Windowマネージャなどは、NWSOSとしてがっちり <br> 開発し、周辺ツールはソース込みでこれら古典的なツールをGPLでがんがん <br> 出してみてはいかが？ <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 09:10<> <a href="../test/read.cgi/tech/1037096449/280" target="_blank">&gt;&gt;280</a> <br> &gt;というか、unix系ツールはほとんどコンパイルしなおせば動くんでないの？ <br> 　理想的にはそうであって欲しいのですが、SEDの場合は、いったん、 <br> Visual C++でコンパイルできるように修正（確認）してから、NWSOS <br> 用にさらに微妙に修正する必要がありました。 <br>   POSIX互換(風)のライブラリを整備していけば、だんだん改善されていく <br> と期待してるのですが。 <br>  <br> &gt;周辺ツールはソース込みでこれら古典的なツールをGPLでがんがん出してみて <br> &gt;はいかが？ <br>  <br> そうしたいです（有志の人に手伝って欲しいです。）。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 09:13<> <a href="../test/read.cgi/tech/1037096449/279" target="_blank">&gt;&gt;279</a> <br> &gt;NWSOSの最新バージョンみたよ！ <br> 有難うございます。 <br>  <br> &gt;難いえば、マウスカーソルが異様に遅いことかな？ <br> これは、単に移動速度が遅い（1カウントあたりの座標の変化が少ない）と <br> いうことですか？　それとも、、、。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 09:17<> <a href="../test/read.cgi/tech/1037096449/278" target="_blank">&gt;&gt;278</a> <br> &gt;おいらの指は、この10年間、Viに慣れきったんで <br> &gt;ViがNWSOSに移植されれば、遊びに行くYO。 <br> &gt;sedがパイプで使えるってことは、Viが移植される日も近い？ <br>  <br> sedよりは大変かもしれませんが、多分、気合を入れれば移植できると思います。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 10:23<> 　DOS/Windows だと、rename *.doc *.txt のようにして拡張子を <br> 変更可能なんですが、UNIX 系だとシェルスクリプトを書くしかないの <br> でしょうか？ <br>  <br>   UNIX では、ワイルドカードはシェルの段階で展開してしまうので、 <br> cmd *.doc *.txt としても、doc と txt が一列に並んでしまうので、 <br> cmd側は区別できませんよね。 <br>  <br>  <br> （DOSだと、copy *.c *.old とかも使えたのですが。） <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 10:28<> cmd *.doc *.txt <br> と書いたときに、 <br>  <br> cmd x1.doc x2.doc x3.doc dlm y1.txt y2.txt y3.txt <br>  <br> のように、間に dlm という「仮想ファイル名」を渡してしまい、 <br> dlm をオープンすると、nul デバイスのように働くようにするとか。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 10:31<> あ、*.txt はそういう風に展開できないか、、、。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 10:49<> 対案:  <br>  <br> 行頭に ! を書くとワイルドカードを展開しないことにする。  <br>  <br> !rename *.doc *.txt  <br>  <br> と書くと、renameコマンドは、  <br>  <br> argv[0]=rename  <br> argv[1]=*.doc  <br> argv[2]=*.txt  <br>  <br> という引数を受け取る。  <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 10:51<> 一般化:  <br> 「ファイル名変換支援ツール」 fncnv.exe を用意して、  <br> x1.doc, x2.doc, x3.doc  <br> と言うファイルがカレントディレクトリにあるとき、  <br>  <br> !fncnv *.doc *.txt とすると、例えば、  <br> x1.doc x1.txt x2.doc x2.txt x3.doc x3.txt <br> という文字列を標準出力に出すようにして、これを個別のコマンドで <br> 利用する手も考えました。 <>
デフォルトの名無しさん<>sage<>02/12/05 12:19<> LightConeタンへ <br>  <br> マウスカーソルがｶｺ(・へ・)ﾖｸﾅｲ! <>
デフォルトの名無しさん<>sage<>02/12/05 13:07<> ""で括るとワイルドカード展開しない。 <br> という仕様が一般的な気がします。 <br>  <br> sh/csh系だけの話なのかもしれませんが。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 14:11<> <a href="../test/read.cgi/tech/1037096449/290" target="_blank">&gt;&gt;290</a> <br> 実は既に現状のNWSOSでもそうなってはいるのですが、 <br> rename "*.doc" "*.txt" <br> と書くのがなんとなく納得行かないことと、どんな記法で書いたとところで、 <br> 最終的に <br> argv[0]=xxx.exe <br> argv[1]=*.doc <br> argv[2]=*.txt <br> となってしまうのなら、各xxx.exeでの判定が必要になるので、 <br> しっくり来ません。 <br>  <br> #288では、fncnv.exe と連携して、 <br> xxx.exe x1.doc x1.txt x2.doc x2.txt x3.doc x3.txt x4.doc x4.txt ... <br> と展開してやることを思いついたのですが。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 14:13<> <a href="../test/read.cgi/tech/1037096449/289" target="_blank">&gt;&gt;289</a> <br> いずれ形状を変更できるようにしますのでお待ちください。 <>
デフォルトの名無しさん<>sage<>02/12/05 18:08<> MONAのスレがNWSOSスレ化している気が… <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/05 18:11<> ただいまからこのスレはめぐたんスレになりますたヽ(｀ー´)ノ <>
デフォルトの名無しさん<>sage<>02/12/05 20:23<> guiよりも先にネットワーク対応した方が使用者増えるよ <br> もう使えるのかな？試してないんでわからないんだけど <>
デフォルトの名無しさん<><>02/12/05 20:23<> めぐたんハァハァ <br> てか、NWSOSスレでやろうよ＞LightConeたんほか <>
デフォルトの名無しさん<>sage<>02/12/05 20:34<> みとこﾀﾝのエロ画像ｷﾎﾞﾝ！( ●∀●) <>
名無しさん<>sage<>02/12/05 21:01<> MONAのスレじゃないと思うけど・・・。 <>
デフォルトの名無しさん<>sage<>02/12/05 21:07<> Σ(●∀● )あんのか!  <br>  <>
デフォルトの名無しさん<>sage<>02/12/05 21:44<> ひげぽんさん、感動しますた！ <br> 漏れはやっとVBとかCができる程度ですが、 <br> (ヘボですが)Webデザインなら多少応援してあげられますけど。。。 <br>  <br> これからも、がむばってください！ <>
ひげぽん<><>02/12/05 21:52<> &gt;ひげぽんさん、感動しますた！ <br> &gt;漏れはやっとVBとかCができる程度ですが、 <br>  <br> ありがとうございます。VBとCができるだけで既に <br> すごいです。VBは良く分からんです。 <br>  <br> &gt;(ヘボですが)Webデザインなら多少応援してあげられますけど。。。 <br>  <br> Monaプロジェクトは、慢性的WEBデザイナー不足なので <br> もしお力を貸していただけるのであれば <br> higepon@users.sourceforge.jpまでメールくださいm(__)m <br>  <>
ひげぽん<>sage<>02/12/05 21:55<> NWSOSは、シェルが進化しましたね。 <br> やはりLightConeさんはすごいですね。 <br>  <br> Monaはタスクスイッチ実験中です。 <br> あまりうまくいっていませんが、少しずつ前に進んでます。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 21:58<> <a href="../test/read.cgi/tech/1037096449/295" target="_blank">&gt;&gt;295</a> <br> 　ネットワークにも対応したいんですが、WEB-BROWSERも、GUIを <br> 最低限整備しないと作れないわけでして(笑)。 <br> 　優先順位はやはりGUI&gt;&gt;&gt;&gt;ネットワークかと。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 22:05<> 　タスクスイッチと、タスクをロードして実行を開始するあたりが、 <br> OS作りでひとつの山場っぽいですよね。 <br> 　割り込み中でメモリ空間やスタックを切り替えるのは、普段絶対に <br> 経験しないことですし。 <br>  <br> 　あと、タスクをロードできると言うことは、 <br> メモリ管理やファイルシステムがその程度の使い方ではバグ <br> フリーになった証拠でもあるわけで。逆にいえば、それらの <br> 支援機能のバックアップがなければタスクをロードできないわけで。 <>
ひげぽん<>sage<>02/12/05 22:10<> ircクライアント入れてみたが、使い方が良く分からない・・・ <br> ってMona開発に精を出せって話ですね。 <>
デフォルトの名無しさん<><>02/12/05 22:16<> <a href="../test/read.cgi/tech/1037096449/305" target="_blank">&gt;&gt;305</a> ひげぽんさん <br> LimeChatがお勧めですよ！ <br> #osdev-j チャンネルに参加してもらえると <br> かなりうれしいです!! <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/05 22:26<> 　ネットワーク技術は全くの素人なんですが、 <br> 「ネットワーク対応」とは一体どういう状態のことなんでしょう。 <br>  <br> 　COMポートやLANカードのドライバを提供することでしょうか。 <br> 　それとも、ソケットみたいなものへの対応？ <br>  <br> 　LANカードを直接制御すれば、OSの支援機能がなくてもなんとか <br> なるんじゃないかと素人考えしてしまうのですが。なんらかの調停が <br> 必要なものなんでしょうか。 <>
デフォルトの名無しさん<>sage<>02/12/05 22:52<> あるOSがネットワーク対応してます、と表明していたら、 <br> TCP/IPスタックとbsd socket互換インターフェースがあり、 <br> 物理層としてethernetが使えることを期待しちゃいます。 <br>  <br> &gt; OSの支援機能がなくてもなんとか <br>  <br> パフォーマンスを考慮しないのであれば問題ないでしょう。 <>
デフォルトの名無しさん<>sage<>02/12/05 23:16<> guiのブラウザなんかずっと後でいい <br> cuiのftpクライアント一つあるだけで相当便利になると思う <>
ひげぽん<>sage<>02/12/05 23:49<> <a href="../test/read.cgi/tech/1037096449/306" target="_blank">&gt;&gt;306</a> <br> おかげさまで、有意義な時間が過ごせました。 <br> また顔出します。m(__)m <>
デフォルトの名無しさん<>sage<>02/12/06 00:19<> &gt;ネットワーク技術は全くの素人なんですが、 <br> &gt;「ネットワーク対応」とは一体どういう状態のことなんでしょう。 <br> そのネットワーク対応ってのは、俺が言ったものではないけど、俺的希望としては <br> LANなどで接続されたNWSOS起動中マシンへ実行ファイルなどを送り込み、 <br> runできるという環境が欲しいかな。要はリモート機として機能することね。 <br>  <br> これでぐっと、NWSOSのアプリ移植は早まると思うな。 <br> 営業妨害するつもりはないが、NWSC-Cは、現状、C++は未対応なんだし、 <br> 当分はVC++だとかgccに頼ることになるでしょ？（NWSOSの実行ファイル作るに <br> しても） <br>  <>
306<>sage<>02/12/06 00:44<> <a href="../test/read.cgi/tech/1037096449/310" target="_blank">&gt;&gt;310</a> いえいえこちらこそ <br> また是非いらしてください。 <br>  <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/06 02:04<> <a href="../test/read.cgi/tech/1037096449/311" target="_blank">&gt;&gt;311</a> <br> 物理層のドライバ書くだけでも大変そうですね。 <br> そもそも、LANカードの共通規格は無いんですよね？ <br>  <br> でも、LANでつながずに、RS-232Cケーブルでシリアル接続 <br> でいいなら、簡単に出来そうです。ネットワークと言うより、単なる <br> シリアル通信ですが（笑）。ポケコンとPCの間でもできるぐらいのもの <br> なので。 <br>  <br> 話はずれますが、"UNIVERSAL-DRIVER 計画"みたいなのがあるそうです <br> よね。しかも、あのMSも積極的っぽいらしく。 <>
デフォルトの名無しさん<>sage<>02/12/06 06:09<> いや、RS-232Cじゃ転送速度に限界あるし。 <br> linuxのLANカードドライバのソースコードでも引っ張ってきて、 <br> NWSOS向けに移植するしかないのでは？ <br>  <br> nwsos上にセルフ環境構築しても人は寄ってこない。 <br> 様々な便利なツールが、linuxだとかwindowsにあって、 <br> 体や指がそれに慣れきってるから。生理学的な問題ってことで。 <br>  <br> てなわけで、nwsosがリモート操作できるという環境ができるならばおいらも賛成。 <br> 一番ご利益があるのはむしろ、L氏では？ <br>  <>
314<>sage<>02/12/06 06:13<> あ、でも慣れるまでの橋渡しってことで&gt;&gt;リモート環境構築 <br>  <br> NWSOSのshellはいい線、いってると思う。 <br> バックログがキー操作一発ででき、しかもそのまんま編集が出来てしまう <br> という環境は、unix系のshellでは見たことない。 <br> shellとeditの融合shell？ <br>  <br> この手の、他にはない優位性が標準として実装されればNWSOSの自立性としての <br> 価値が輝いてくると思う。（あーもちろん、カーネル書ける人からみたら <br> シェルは一アプリケーションに過ぎないことは当然承知の上でな） <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/06 09:31<> <a href="../test/read.cgi/tech/1037096449/315" target="_blank">&gt;&gt;315</a> <br> &gt;shellとeditの融合shell？ <br> Vz Editor からアイデア貰いまくりです。(^_^) <br>  <br>  <br> &gt;この手の、他にはない優位性が標準として実装されればNWSOSの自立性としての <br> &gt;価値が輝いてくると思う。（あーもちろん、カーネル書ける人からみたら <br> &gt;シェルは一アプリケーションに過ぎないことは当然承知の上でな） <br>  <br> 　他の もの でも、「ちょっと優位」なだけで輝いて見える場合って意外に多い <br> ような気もしませんか。 <br>  <br>  <br> 　ウォークマンも、「小さい」ことに意義があるのだし、 <br> 軽自動車だって走行性能は普通自動車に劣るかもしれないのに人気が有るし <br> （どちらも「小さい」という共通点が有るのが不思議）。 <>
デフォルトの名無しさん<>sage<>02/12/06 09:46<> でかけりゃいいってもんじゃないことを肝に銘じておいてくださ〜い♪by ﾍﾟﾘｰ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/06 12:31<> <a href="../test/read.cgi/tech/1037096449/314" target="_blank">&gt;&gt;314</a> <br> そうですね。 <br>  <br> 　ただ、今のカーネルや SHELL でも、まだまだ至らない部分が多いので、 <br> そちらを先に改良したいです。 <br> 　ドライバ仕様の確定とDLLへの対応の優先順位はかなり高いと思います。 <br>  <br> 　あと、コマンドをパイプやリダイレクトを使わずに起動しても、 <br> 今の shell ではコマンドの stdin に直接データを送れません。 <br> 　これ改善するには、カーネル側とshellの両方の修正が必要だと <br> 思ってます（パイプ関係で）。 <>
デフォルトの名無しさん<>sage<>02/12/06 16:20<> &gt;バックログがキー操作一発ででき、しかもそのまんま編集が出来てしまう <br> &gt;という環境は、unix系のshellでは見たことない。 <br>  <br> M-x shell の環境が近いかな？ <br> tab補完はできるの？ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/06 16:28<> <a href="../test/read.cgi/tech/1037096449/319" target="_blank">&gt;&gt;319</a> <br> &gt;M-x shell の環境が近いかな？ <br> 恥ずかしながら、名前も聞いたこと有りいません。 <br>  <br> &gt;tab補完はできるの？ <br> 今のところ出来ません。 <>
デフォルトの名無しさん<>sage<>02/12/06 16:44<> <a href="../test/read.cgi/tech/1037096449/320" target="_blank">&gt;&gt;320</a> <br> &gt;&gt;M-x shell の環境が近いかな？ <br> &gt;恥ずかしながら、名前も聞いたこと有りいません。 <br> emacs ってエディターの中でシェルを使えるモードがあるんです <br>  <br> tab補完はほしいなぁ、ディレクトリが深くなる場合無いときついです <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/06 21:06<> &gt;emacs ってエディターの中でシェルを使えるモードがあるんです <br> そんなモードがあるとは始めて知りました。 <br>  <br> &gt;tab補完はほしいなぁ、ディレクトリが深くなる場合無いときついです <br> 私もそう思ってます、、、。 <br>  <br> でも、実の所、そういう機能はいつでも追加できるので優先順位的には <br> 低く思ってるんです。 <>
デフォルトの名無しさん<><>02/12/06 23:04<> <a href="../test/read.cgi/tech/1037096449/320" target="_blank">&gt;&gt;320</a> <br> emacsはUnix系で広く使われているテキストエディタ兼 <br> 統合環境です。vi系と人気を二分してきました。 <br> emacs系は、Win環境ではMeadowが広く使われています。 <br> Cygwin環境用のemacsもあります。 <br>  <br> emacsは慣れると手放せなくなる良品ですね。 <br> LightConeさんには特にお奨めです。だまされたと思って <br> 試してみてください。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/06 23:09<> <a href="../test/read.cgi/tech/1037096449/323" target="_blank">&gt;&gt;323</a> <br> &gt;emacsはUnix系で広く使われているテキストエディタ兼  <br> &gt;統合環境です。vi系と人気を二分してきました。  <br> 　emacs と vi が人気を二分していたとは知りませんで <br> した。今まで、emacs,nemacs,kemacs(?)が圧倒的に人気が有るのかと。 <br> Muleもemacs系ですか？ <br>  <br> &gt;emacsは慣れると手放せなくなる良品ですね。  <br> それはよく聞いてます。LISPマクロ(?)がいいんでしょうか？ <br>  <br> 最初、カーソルキーが使えなくて面食らったことがありますが。 <>
デフォルトの名無しさん<>sage<>02/12/06 23:49<> <a href="../test/read.cgi/tech/1037096449/324" target="_blank">&gt;&gt;324</a> <br> &gt; それはよく聞いてます。LISPマクロ(?)がいいんでしょうか？ <br> TAGSファイルとか使うと本当に便利ですが、Cのコーディングスタイルが <br> 押しつけられるので、好き嫌いはあると思います。 <br> でも、emacsでアセンブラは二度とやりたくないです。自分でmodeを作る能力が <br> なかったため、字下げがわけ分からん状態になりました。 <br>  <>
ひげぽん<>sage<>02/12/06 23:52<> &gt;Win環境ではMeadowが広く使われています <br>  <br> MonaのコーディングはMeadowを使ってます。 <br> 確かに便利ですね。 <br> MakeもMeadow上から実行しているので <br> Meadowがないとつらいですね。 <>
デフォルトの名無しさん<>sage<>02/12/07 05:25<> とりあえず、NWSOS標準Shellがunixの端末仕様に揃えれば <br> Vi系だとかEmacs系などの移植も進むと思われ <br>  <>
デフォルトの名無しさん<>sage<>02/12/07 09:52<> なんつうかそうなっちゃうとたんなる亜種になりさがっちゃう気がして... <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/07 10:25<> <a href="../test/read.cgi/tech/1037096449/327" target="_blank">&gt;&gt;327</a> <br> &gt;とりあえず、NWSOS標準Shellがunixの端末仕様に揃えれば <br> &gt;Vi系だとかEmacs系などの移植も進むと思われ <br>  <br> 　カーソルを移動したり色を変えたりするエスケープコードみたいなものが <br> 決まってるんでしょうか。 <br> 　昔、REMOTE LOGIN で、自宅のDOSで遠くのemacsが動いてびっくりしま <br> したが。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/328" target="_blank">&gt;&gt;328</a> <br> &gt;なんつうかそうなっちゃうとたんなる亜種になりさがっちゃう気がして... <br> 　基本的な部分を UNIX と似せておくことはプラスになると思います。 <br> 　Windowsでも POSIX(UNIXの標準仕様みたいなもの)に大まかに対応し <br> てますが、Winを UNIX と思う人はいないわけで。 <>
デフォルトの名無しさん<>sage<>02/12/07 10:52<> MacOSXのように個性が出せればですね。 <br>  <br> &gt;カーソルを移動したり色を変えたりするエスケープコードみたいなものが決まってるんでしょうか。 <br> http://vt100.net/ <br> この辺でしょうか？ちゃんと読んではいませんが。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/07 11:09<> <a href="../test/read.cgi/tech/1037096449/330" target="_blank">&gt;&gt;330</a> <br> 　まず基本的なことから知りたいのですが、sh,csh,bashなどは、 <br> 「コンソールの枠」としての「kterm」中で起動し、エスケープ <br> シーケンスの処理は、kterm がやっている、ということなんで <br> しょうか。 <br>  <br>  <br> 　どうやら、kterm のエスケープシーケンスとMS-DOS のそれとは互換性が <br> あるようですが、あってるでしょうか。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/07 11:21<> エスケープシーケンス Google検索: <br>  <br> http://www.google.com/search?hl=ja&inlang=ja&ie=Shift_JIS&q=xterm+ESC+%5B&lr= <>
デフォルトの名無しさん<>sage<>02/12/07 11:23<> <a href="../test/read.cgi/tech/1037096449/329" target="_blank">&gt;&gt;329</a> <br> &gt; カーソルを移動したり色を変えたりするエスケープコードみたいなものが <br> &gt; 決まってるんでしょうか。 <br>  <br> termcap/terminfo <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/07 11:38<> <a href="../test/read.cgi/tech/1037096449/333" target="_blank">&gt;&gt;333</a> <br> 　termcap や terminfo を変えれば、「UNIXの端末使用(xterm,kterm)」と <br> 同じでなくても emacs等が動くかもしれない、ということでしょうか？ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/07 11:39<> 使用---&gt;仕様 <>
デフォルトの名無しさん<>sage<>02/12/07 12:39<> <a href="../test/read.cgi/tech/1037096449/334" target="_blank">&gt;&gt;334</a> <br> プログラム中にエスケープシーケンスをハードコーディングしたりすると特定端末でしか動かなくなるから、Unix ではカーソル制御ライブラリを使うのが定石。 <br> これによって、プログラムはカーソルの論理的な動きを記述すれば良い。 <br> 実際にエスケープシーケンスへの変換は、カーソル制御ライブラリが行う。 <br> 更に、各種の端末に対応するため端末毎に変換規則をデータベース化してある。(termcap/terminfo は、データベースの名前。) <br> だから、カーソル制御機能がある端末に対応した termcap/terminfo が書ければ、どんな変な端末でも emacs とか動くよ。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/07 15:10<> <a href="../test/read.cgi/tech/1037096449/336" target="_blank">&gt;&gt;336</a> <br> &gt;実際にエスケープシーケンスへの変換は、カーソル制御ライブラリが行う。 <br> &gt;更に、各種の端末に対応するため端末毎に変換規則をデータベース化してある。 <br>  <br> 　解説有難うございます。UNIXでのカーソル制御や文字装飾制御は、 <br> 思った以上に柔軟性が高く、 <br>  <br> 1. アプリ---&gt;カーソル制御ライブラリ <br>  <br> 2. カーソル制御ライブラリ---&gt;エスケープシーケンス <br>    (termcap/terminfoでカスタマイズ可能) <br>  <br> 3. エスケープシーケンス---&gt;端末(xterm, kterm) <br>  <br> の3段構えだったんですね。 <br>  <br> 興味深いのは、アプリやカーネルを対応しなくても、各種環境に <br>  <br> 1. カーソル制御ライブラリの置き換え <br> 2. termcap/terminfo の書き換え <br> 3. 端末(kterm/xterm)の書き換え <br>  <br> などで対応できそうな点です。 <>
デフォルトの名無しさん<><>02/12/07 23:32<> 大変なことになってる。 <br> http://pc.2ch.net/test/read.cgi/os/1039075591/l50 <>
デフォルトの名無しさん<>sage<>02/12/07 23:34<> <a href="../test/read.cgi/tech/1037096449/284" target="_blank">&gt;&gt;284</a> <br> 遅レスですまんが・・・ <br> cmd *.doc *.txt　の'*'は自明のとおりshellが展開する。 <br> copy *.doc *.txt　みたいなことは基本的にできない。 <br> できないというより、copy Src dst っていうアトミックな <br> 機能だけをコマンドが提供し、ループはshellが担当する <br> ってのが機能分割の面でメリットあると考えられたからだと <br> 思う。 <br>  <br> もし、copy がファイル名を展開できたとしても、次にmove という <br> コマンドを作るとしたら、同じようにコマンドがファイル名展開 <br> できないと違和感あるし、コマンドの作者が違うと、ルールの <br> 統一をするのも大変だし・・・ <br>  <br> あとshell scriptを書かなくちゃいけないって疑問は半分正解で <br> 半分違うと思う。 <br> shell はスクリプトの入力先が、ファイルでも標準入出力でも <br> 気にしないので、コマンドラインから while を打ち込んでも全然 <br> 問題ないし。 <br>  <br> だから、コマンドラインから直接、 <br> $ for i in *.doc <br> do <br> j=`echo $i | sed 's/doc$/txt/'` <br> cp $i $j <br> done <br> やるしね。 <br>  <br> ここらへんは文化背景になっちゃうから軽くながしておいてね。 <br>   <>
デフォルトの名無しさん<>sage<>02/12/07 23:37<> <a href="../test/read.cgi/tech/1037096449/338" target="_blank">&gt;&gt;338</a> <br> ﾜﾗﾀ。 <>
デフォルトの名無しさん<>sage<>02/12/07 23:51<> 光円錐ﾀﾝ。。 <>
デフォルトの名無しさん<>sage<>02/12/07 23:56<> LightConeマヂギレ！！！ <>
名無しさん<>sage<>02/12/08 11:21<> 俺は、LightCore氏が連続カキコしてても気にならないけどなあ・・。 <br>  <>
名無しさん<><>02/12/08 11:21<> 前スレがあがっていたのでage <>
デフォルトの名無しさん<>sage<>02/12/08 13:01<> 名無しで連続カキコしてるやつもいるからな。コテハンだから目立つだけだよ。 <br> ＃ っていうか俺は全然気にしてないけど。低脳な話してるわけじゃないんだし。 <>
デフォルトの名無しさん<>sage<>02/12/08 14:13<> Emacsがどうとかシェルがどうとかはどうでもイイ話だろ？ <br> LightConeは餓我なのか？あんま度がすぎるとム板に <br> NWSOSの開発スレ作ってやるぞ <>
ひげぽん<>sage<>02/12/08 15:13<> タスクスイッチに実験中(いまだ成功せず)なのですが <br>  <br> Monaでは <br>  <br> secondboot.asmにてGDT上に <br> セグメント 0x08 type=0x9a(特権レベル0,コードセグメント) <br> セグメント 0x10 type=0x92(特権レベル0,データセグメント) <br> セグメント 0x18 type=0x96(特権レベル0,スタックセグメント) <br> とセットしてブートしています。 <br>  <br> ブート後sgdtを実行して <br> GDTの中身を表示してみると <br> セグメント 0x10 type=0x93(特権レベル1,データセグメント) <br> セグメント 0x18 type=0x97(特権レベル1,スタックセグメント) <br>  <br> 特権レベルがデータセグメント・スタックセグメントで変更されています。 <br>  <br> これのせいでタスクスイッチ時にfault0dが発生しているような気が <br> するのですが、どこでこのような状況に陥ったかが <br> つかめていない状況です。 <br>  <br> どなたかアドバイスいただけないでしょうか。 <br> よろしくお願いいたします。 <>
デフォルトの名無しさん<>sage<>02/12/08 15:50<> それはアクセスビットがたっただけではないでしょうか？ <br> 原因は別だと思います。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/08 15:52<> <a href="../test/read.cgi/tech/1037096449/347" target="_blank">&gt;&gt;347</a> <br> NWSOSの初期化コードです。参考にして下さい。 <br> このコードは、16BITコード(USE16)です。 <br>  <br> OPER_PREFIXequdb66h <br>  <br> moveax,cr0 <br> ;AM=0(アラインメントチェックをしない) <br> ;PG=0(ページングをしない) <br> ;CD=NW=0(WriteThrough キャッシュ有効) <br> andeax,01ffbff10h <br> ;ET ビット有効 <br> oreax,1;PE=1,PG=0（ページングは無し） <br> movcr0,eax <br>  <br> ;nosmart <br> ;”１６ビット”のプロテクトモードへ入る。 <br> db0e9h;jmpnear ptr Init1 <br> dw0 <br>  <br> Init1:;本当の３２ビットプロテクトモードへ入る <br> OPER_PREFIX <br> db0eah;jmp far ptr(Direct Inter Segment) <br> dd0 <br> dwGDT_INIT32_CODE <br>  <br>   Mona の場合、0eah が、16BIT版を使ってますが、このコードでは、 <br> 32BIT版を使ってます。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/08 16:12<> <a href="../test/read.cgi/tech/1037096449/348" target="_blank">&gt;&gt;348</a> <br> 確かにそうですね。 <>
ひげぽん<>sage<>02/12/08 16:15<> <a href="../test/read.cgi/tech/1037096449/348" target="_blank">&gt;&gt;348</a> <br> &gt;それはアクセスビットがたっただけではないでしょうか？ <br> &gt;原因は別だと思います <br>  <br> アドバイスありがとうございます。 <br> ということなので現在の状況を書かせていただきます。 <br> もし何か気になる点がありましたら、ご指摘いただけたらと思います。 <br>  <br> 「はじめて読む486」のようにprocess1(),process2()という関数を <br> 作成して実行の切り替えを試みています。 <br>  <br> ■前提条件 <br> 0x08 CS <br> 0x10 DS <br> 0x18 SS <br> 0x20 TSS process1用 <br> 0x28 TSS process2用 <>
ひげぽん<>sage<>02/12/08 16:16<> ■やってみた事 <br>  <br> /* グローバル変数 */ <br> TSS tss[2]; <br> byte stack[512]; <br> { <br>  <br> /* process2用のTSSを用意 */ <br> setTSS(tss + 1, 0x08, 0x10, process2Tester, 0x200, stack, 0x10, 0, 0); <br>  <br> /* GDT 0x20, 0x28にtssのアドレス等をセット */ <br> /* gdt_はgdtr.base                         */ <br> setDT(gdt_ + 4, (dword)tss      , sizeof(TSS), TypeTSS); <br> setDT(gdt_ + 5, (dword)(tss + 1), sizeof(TSS), TypeTSS); <br>  <br> /* 現在のタスクはprocess1ですよ */ <br> ltr(0x20); <br>  <br> /* 開始 */ <br> process1(); <br>  <br> } <>
ひげぽん<>sage<>02/12/08 16:17<> void&nbsp;process1()&nbsp;{ <br>  <br> &nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(true)&nbsp;{ <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("process1"); <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;プロセス2へ切り替え&nbsp;*/ <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asm&nbsp;volatile("jmp&nbsp;$0x28,&nbsp;$0\n"); <br> &nbsp;&nbsp;&nbsp;&nbsp;} <br> &nbsp;&nbsp;&nbsp;&nbsp;return; <br> } <br>  <br> void&nbsp;process2()&nbsp;{ <br>  <br> &nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(true)&nbsp;{ <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("process2"); <br> &nbsp;&nbsp;&nbsp;&nbsp;} <br> &nbsp;&nbsp;&nbsp;&nbsp;return; <br> } <br>  <br> ■ひげぽんの予想する結果 <br> process1process2process2process2process2process2・・・ <br> ■bochs上での実際の結果 <br>  <br> 00000431987i[CPU&nbsp;&nbsp;]&nbsp;task_switch:&nbsp;bad&nbsp;LDT&nbsp;segment <br> 00000431987i[CPU&nbsp;&nbsp;]&nbsp;task&nbsp;switch:&nbsp;posting&nbsp;exception&nbsp;10&nbsp;after&nbsp;commit&nbsp;point <br> 00000431987p[CPU&nbsp;&nbsp;]&nbsp;&gt;&gt;PANIC&lt;&lt;&nbsp;can_push():&nbsp;SS&nbsp;invalidated. <br>  <>
ひげぽん<>sage<>02/12/08 16:29<> ■やってみたこと2 <br>  <br> LDTが必要と言われているっぽいので <br>  <br> GDT ldt[1]; <br> GDT sss[1]; <br>  <br> それぞれのtssに    tss-&gt;ldt = 0x30; <br>  <br> /* GDT に0x30 LDT用追加 */ <br> setDT(gdt_ + 6, (dword)(ldt), sizeof(GDT), TypeLDT); <br> setDT(ldt     , (dword)(sss), sizeof(GDT), TypeLDT); <br> setDT(sss     , (dword)(0), sizeof(GDT), TypeLDT); <br> lldt(0x30); <br>  <br> ■結果 <br> 0000487970e[CPU  ] load_seg_reg ss: LDT: index &gt; limit <br> 0000487996e[CPU  ] prefetch: running in bogus memory <br>  <br> ■やってみたこと3 <br>  <br> GDT ldt[1];→GDT ldt[2]; <br>  <br> ■結果 <br> process1fault0dと表示される。 <br> コンソールには <br>  <br> 002547802e[CPU  ] prefetch: running in bogus memory <br> と表示されます。 <>
ひげぽん<>sage<>02/12/08 16:30<> LightCone さん <br> ありがとうございます。 <br> 一部とはいえ、NWSOSのコードを見たのは初めてです。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/08 16:36<> TSS中のLDT　SegmentSelectorやFS/GSレジスタが正しく埋まってないとか・・・？ <>
ひげぽん<>sage<>02/12/08 16:44<> こんにちは超先生＠OS板さん <br> いつもお世話になっております。m(__)m <br>  <br> &gt;TSS中のLDT　SegmentSelectorやFS/GSレジスタが正しく埋まってないとか・・・？ <br>  <br> LDTセグメントセレクタは 0x30としています。 <br> gs,fsは0に設定しています。 <br>  <br> そもそもLDTってこの場合必須なのでしょうか。 <br> だいぶ煮詰まってきました。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/08 17:33<> こういう部分がOS作りで厄介な所ですよね、、、。 <br> 今後数百回はこういう作業の繰り返しになると思います。 <br> 最終的には誰にも頼れないかもしれませんが。 <>
ひげぽん<>sage<>02/12/08 17:49<> &gt;こういう部分がOS作りで厄介な所ですよね、、、。 <br> &gt;今後数百回はこういう作業の繰り返しになると思います。 <br> &gt;最終的には誰にも頼れないかもしれませんが。 <br>  <br> 本当ですね。非常に厄介です。 <br> また実践的な資料をなかなか見つけられないのがつらいですね。 <br>  <br> ちょっとした間違いで失敗しているのも、全く見当違いのことをしているのも <br> 見た目上、区別がつかないです。(特に独りよがりになっていると・・・) <br>  <br> そこは、LightCone さんや、超先生＠OS板さんのような <br> 先人のアドバイスを頂きながら進めると良いなあと勝手に思ってたりします。 <br> いつか、私もOSを作ろうとしている人たちにアドバイスできるほどになりたいです。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/08 18:24<> 　今のケースは、　 <br> 　setTSS()や、setDT()の中身が正しいか、TSSの構造体が定義通りになって <br> いるか等を丹念に調べることと、きちっとCPUの動作を理解するしかないです。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/09 00:50<> <a href="../test/read.cgi/tech/1037096449/359" target="_blank">&gt;&gt;359</a> <br>  <br> とりあえず、MonaのSourceに一箇所間違いを見つけました。 <br>  <br> void ProcessManager::setTSS(TSS* tss, word cs, word ds, void (*f)(), dword eflags <br>                           , byte* esp, word ss, byte* esp0, word ss0) { <br>  <br>     memset(tss, 0, sizeof(TSS)); <br>     tss-&gt;cs     = cs; <br>     tss-&gt;ds     = ds; <br>     tss-&gt;eip    = (byte)f; <br>     tss-&gt;eflags = eflags; <br>     tss-&gt;esp    = (byte)esp; <br>     tss-&gt;ss     = ss; <br>     tss-&gt;esp0   = (byte)esp0; <br>     tss-&gt;ss0    = ss0; <br>     tss-&gt;ldt    = 0x30; <br>     return; <br> } <br>  <br> 　何箇所か、(byte) でキャストしてますが、(byte *)か、(dword)の <br> 間違いだと思います。 <br>  <br> 　これは明らかに間違った挙動を起こすはずです。 <>
ひげぽん<><>02/12/09 01:10<> LightCone さん <br> 貴重なお時間を割いていただいて大変恐縮です。 <br>  <br> ご指摘の部分を修正したところ、ばっちり二つのタスクが交互に動くようになりました!!!! <br> ひとえにLightCone さんのおかげです。 <br> 厚くお礼を申し上げます。 <br>  <br> 成功した瞬間に、背筋がぞくぞくっと来ました。 <br> どうもありがとうございました。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/09 01:11<> <a href="../test/read.cgi/tech/1037096449/362" target="_blank">&gt;&gt;362</a> <br> 何よりですね。(^_^) <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/09 01:15<> <a href="../test/read.cgi/tech/1037096449/362" target="_blank">&gt;&gt;362</a> <br> 　そういえば、Monaのソースでは既にコンストラクタやデストラクタは <br> 正常に動作するようになってるんでしょうか。 <br> 　OSを書くときに非常に便利そうなんですが。 <>
ひげぽん<><>02/12/09 01:18<> <a href="../test/read.cgi/tech/1037096449/363" target="_blank">&gt;&gt;363</a>,364 <br> どうもありがとうございます。 <br>  <br> &gt;そういえば、Monaのソースでは既にコンストラクタやデストラクタは <br> &gt;正常に動作するようになってるんでしょうか。 <br> &gt;OSを書くときに非常に便利そうなんですが <br>  <br> 正常に動作しています。 <br> ただし継承関係のあるクラスできちんと動くかどうかは <br> 確かめていないです。 <br> きちんとカプセルかできるだけでもかなりのメリットです。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/09 01:23<> 　NWSCも、メンバ関数とコンストラクタ、デストラクタだけに <br> 対応する位でも相当便利になるんでしょうけれども。。。 <br> 　でも、デストラクタを呼び出すタイミングが意外に厄介そう <br> だし。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/09 01:26<> goto文でコンストラクタを迂回した時にエラーを出したりするのが <br> メンドクサそうなのでやってないんですが。 <>
ひげぽん<><>02/12/09 01:28<> &gt;NWSCも、メンバ関数とコンストラクタ、デストラクタだけに <br> &gt;対応する位でも相当便利になるんでしょうけれども。。。 <br> &gt;でも、デストラクタを呼び出すタイミングが意外に厄介そう <br> &gt;だし。 <br> なるほどあまり深く考えていませんでした。 <br> 今のところインスタンスを大量に作ったりしないので <br> 問題になっていないですが・・・ <br> 覚えておきます。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/09 01:32<> <a href="../test/read.cgi/tech/1037096449/368" target="_blank">&gt;&gt;368</a> <br> 　#366では、コンパイラを作る時のボヤキだったんですが、 <br> OSを作る上でも、もしかしたら、デストラクタの呼び出し <br> タイミングとかが問題になる可能性もあるかもしれませんね。 <br>  <br> 　でも、きっと、純粋なCで書くより開発効率は上がると <br> 思います。羨ましい。 <>
デフォルトの名無しさん<>sage<>02/12/09 06:10<> c++の本領が発揮するのはSTLだと思う。 <br> でもOSを記述するなら、list vector などを void* ポインタ限定に <br> してしまえば、cでもSTLもどきは実現できる。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/09 10:32<> <a href="../test/read.cgi/tech/1037096449/370" target="_blank">&gt;&gt;370</a> <br> &gt;c++の本領が発揮するのはSTLだと思う。 <br> &gt;でもOSを記述するなら、list vector などを void* ポインタ限定に <br> &gt;してしまえば、cでもSTLもどきは実現できる。 <br>  <br> リストを自動化できれば便利ですよね。NWSOSでは、おっしゃっているような <br> 方法を用いてます。同じリスト関数群で色んなリストに適用してます。 <>
ひげぽん<>sage<>02/12/09 21:45<> LightConeさんのおかげでマルチタスク実験に成功しました。 <br> 記念にimgファイルを↓におきました。 <br> http://mona.sourceforge.jp/に <br>  <br> 今回の件は、Monaにとって大きな節目だと考えています。 <br> イメージサイズも33kbになりました。 <br> FreeDOS教徒さんのブートコードも順調です！！ <br>  <br> 今までアドバイスいただいた方、手伝って下さった方々に <br> 深く感謝いたします。m(__)m <>
FreeDOS教徒<>osage<>02/12/09 23:05<> &gt;&gt;ひげぽん <br> マルチタスク化おめ〜♪ <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/09 23:07<> 　それにしても、当初アセンブラも余り使われた事のないような状態から <br> よくこんな状態にたどり着きましたね。未だに信じられません。 <>
ひげぽん<>sage<>02/12/09 23:13<> <a href="../test/read.cgi/tech/1037096449/373" target="_blank">&gt;&gt;373</a>　FreeDOS教徒さん <br> ありがとうございます。 <br> これからもよろしくお願いしますね(必須)（笑） <br>  <br> <a href="../test/read.cgi/tech/1037096449/374" target="_blank">&gt;&gt;374</a> LightCone さん <br> &gt;それにしても、当初アセンブラも余り使われた事のないような状態から <br> &gt;よくこんな状態にたどり着きましたね。未だに信じられません。 <br>  <br> 私も信じられないです（爆） <br> LightConeさんにはお世話になりっぱなしです。 <>
デフォルトの名無しさん<>sage<>02/12/10 00:12<> 　　　　　*　*　*  <br> 　　　　*　　 　　*  <br> 　　　*　 ∧＿∧ 　*  <br> 　　　* （´∀｀)　　*  <br> 　　　*　　　　　　 *  <br> 　　　　*　　　　 *  <br> 　　　　　*　*　*  <br> 　　　　　　 |  <br> 　　　　　　 |  <br> Mona マルチタスク化 おめでとー <>
ひげぽん<>sage<>02/12/10 00:16<> <a href="../test/read.cgi/tech/1037096449/376" target="_blank">&gt;&gt;376</a> <br> ありがとうございます。 <br> 感動しますた。 <>
デフォルトの名無しさん<>sage<>02/12/10 00:27<> <a href="../test/read.cgi/tech/1037096449/377" target="_blank">&gt;&gt;377</a> <br> 耳のずれ方にか？ｗ <>
デフォルトの名無しさん<><>02/12/10 02:06<> 全然話題にならないけど <br> Hurdと"MAC OS X "のコアMachはこのスレの住人的にはどうなのよ？ <br> マイクロカーネルってMachかWindowsNT系以外思いつかんが <br>  <br> いちおリンク <br> http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html <br> http://www.zdnet.co.jp/news/0104/09/e_torvalds.html <br>  <>
FreeDOS教徒<>osage<>02/12/10 08:15<> &gt;&gt;ひげぽん <br> これからもできる限りお手伝いさせて頂きますｗ； <br>  <br> <a href="../test/read.cgi/tech/1037096449/379" target="_blank">&gt;&gt;379</a> <br> 当方マイクロカーネル方面に疎いため、 <br> その方式のどこがいいのか分かりません。 <br>  <br> モジュールに分割したら、何かいいことがあるのでしょうか。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/10 10:50<> 　マイクロカーネルの本質は、サブシステムを独立「プロセス」で動かすと言う <br> 発想であって、論理的なモジュール分けを行うこと自体はモノリシックカーネル <br> でも行われます。単にカーネルの外にAPIの実装を出すのとも違うので、DLL <br> でAPIを実行するだけでは、マイクロカーネルとはいえません。 <br>  <br> 　利点ばかりであれば、大手を上げて賛同したい所ですが、本来の <br> 目的とは裏腹に、下手すると設計がむしろ複雑になる危険性や、 <br> 速度パフォーマンスの低下の問題などもあり、反対意見が出てもおか <br> しくないと思います。 <br>  <br> （システムコール発行から結果が出るまでの速度（ターンアラウンド時間） <br> 　において不利な一方、割り込み禁止区間の粒度を「確実に」小さくできる <br> 　利点があったりして悩みどころ。） <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/10 11:16<> 　はっきり個人的意見を言っちゃうと、どの分野でも「新しい概念」が現れた <br> ときに、「知りたい」と思う人が沢山出てきて、本当にその概念が「良いもの」 <br> かどうかは別としてその新しい概念の研究が盛んに行われる傾向があるので、 <br> 研究が盛んであっても、その都度ちゃんと判断して見極めることが大事だと <br> 思っています。その見極めがどっちに転ぶかは人それぞれということで。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/10 11:30<> 　あと個人的な疑問なんですが、日本で独自なOSを研究以外で作ってるのって、 <br> 組み込み向けのiTRONと、超漢字(bTRON?)だけなんですか。 <br>  <br> 　日立やNECのスーパーコンピュータのOSとかはどうなってるんでしょう。 <br>  <br> 　日本では「研究」は盛んですが、実際に作っている人が少ないと <br> 思うのは気のせいですか？　あと、OSの研究とは、OSの歴史分類や概念の <br> 取りまとめのことなんですか?　「実際の作り方」の研究はしない? <>
FreeDOS教徒<>osage<>02/12/10 11:56<> &gt;&gt;LightConeさん <br> よく分かる説明をありがとうございます。 <br> 実装を軽くするにはモノリシックカーネル内でモジュール化 <br> するほうが楽そうですね。参考になりました。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/10 12:50<> 　現状、「マイクロカーネル」そのものをテーマに研究が行われること <br> さえあるのは、独立プロセスとしてサブシステムをどうやって記述すれば <br> いいかが自明でないからかもしれません。 <br>  <br> 　仮想記憶とファイルシステムとの結びつき、メモリシステムと仮想記憶の <br> 結びつき、サブシステム用のプロセスのローディングとファイルサブシステム <br> との結びつきなど、自明とは言いがたい問題が沢山あるため、研究してみな <br> いとマイクロカーネル自体の利点や問題点さえ正確に把握する事が <br> できないのかもしれません。 <br>  <br>  <br> 　告白すると、わたしもよく知りません。 <>
デフォルトの名無しさん<>sage<>02/12/10 12:55<> Hurdの開発者がマイクロカーネルはそれほど遅くなかったとか言ってたな <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/10 13:05<> <a href="../test/read.cgi/tech/1037096449/386" target="_blank">&gt;&gt;386</a> <br> 実は、マイクロカーネルの最大の問題点は設計が難しいことかもしれません。 <>
デフォルトの名無しさん<><>02/12/10 21:31<> <a href="../test/read.cgi/tech/1037096449/383" target="_blank">&gt;&gt;383</a> <br> &gt;　あと個人的な疑問なんですが、日本で独自なOSを研究以外で作ってるのって、 <br> &gt;組み込み向けのiTRONと、超漢字(bTRON?)だけなんですか。 <br>  <br> TRON系を除いて、私の知る範囲で入手可能である非研究OSは <br> 以下のが挙げられます。きっと他にもあるでしょう。 <br>  <br> XTAL <br> ttp://www.xtal.org/xt2.html <br>  <br> Human-OS <br>  <br> NOWSMART-OS <br> ttp://homepage2.nifty.com/nowsmart/nwsos.htm <br>  <br> H8/OS <br> ttp://www.linet.gr.jp/~mituiwa/h8/ <br>  <br> GR-DOS <br> ttp://www.nekok.jp/green/k2/gr_dos/gr_dos.htm <br> &gt;　日本では「研究」は盛んですが、実際に作っている人が少ないと <br> &gt;思うのは気のせいですか？ <br>  <br> 気のせいです。 <>
FreeDOS教徒<>osage<>02/12/10 23:00<> <a href="../test/read.cgi/tech/1037096449/388" target="_blank">&gt;&gt;388</a> <br> GR-DOSはもう一昔前に開発を終了しているはずですが？ <br> あと、確かにこれ以外にも人知れずOSを開発してる人はいます。 <br>  <br> 世界と比べても、そう少ない割合だとは思いません。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/10 23:33<> 32BIT, MultiTask に限定したりすると？ <br> あと、x86、GUI付きに限定したりすると？ <>
デフォルトの名無しさん<><>02/12/10 23:36<> Machマイクロカーネルはオーバーヘッドがどうとか言っても <br> Mac OS Xは動いてるしHurdもいちを実用段階には入ってるんだよね？ <br> Machっていうのは単体で動くものなの？ <br>  <>
デフォルトの名無しさん<>sage<>02/12/10 23:39<> &gt;&gt;あと、x86、GUI付きに限定したりすると？  <br> なんでx86限定なんだｗ <br> たしかにゴミのように今後もあふれるであろう32bit-x86CPUの再利用っていうのは <br> 大事なテーマになると思うが。 <>
デフォルトの名無しさん<>sage<>02/12/10 23:39<> マルチタスク化おめでとうございます。 <br> GUI実装目指して頑張ってください <>
デフォルトの名無しさん<>sage<>02/12/11 00:01<> 空想マニアのたわごとでゴメンだが、将来的にマイクロカーネルが洗練すれば、 <br> それぞれのサーバプロセスを複数のマシンに分散できたり・・・ <br> カーネルを2台以上のマシンで走らせたり、カーネルマシンが落ちたとしても <br> ホットスタンバイしてるカーネルマシンにスイッチできたりとか・・・ <br>  <br> ドラえもんレベルの空想でごめん。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/11 00:02<> 20年ぐらい前からそう言われてますた。 <>
デフォルトの名無しさん<>sage<>02/12/11 00:22<> &gt;あと、x86、GUI付きに限定したりすると？ <br> Windowsがあるし、linuxがあるし、BSDもBeOSもあるし。 <br> 特にGUIの性能はWindowsがずば抜けてるし、わざわざ用意する必要がない。 <br> 日本の場合、FEPの開発もせねばOSとして使い物にならないことが <br> 多いゆえ、OS開発の敷居は高い。それこそ、「超漢字」などという名前のOSが <br> あるくらい。 <br>  <br> 一方、米国人だとか欧州人はとても裕福。 <br> 週休４日なんてあたりまえで、いわゆる自分の時間を多く確保しても <br> メシに困らないほどの経済力がある。だから、余暇でOSやツール群に <br> 夢中になる人の割合が多い。 <br>  <br> この差だ。 <br>  <br> 日立、富士通、NECなどの大手は30年も昔からスパコン用のOSを作ってる。 <br> IBM機OSのエミュがあまりにも互換性が高すぎるゆえ、スパイ罪として逮捕された <br> 事件もあるほど。 <br>  <br> うぬぼれるな、青木。もっと見識を「豊か」にしろ。 <br>  <>
ひげぽん<><>02/12/11 00:22<> <a href="../test/read.cgi/tech/1037096449/393" target="_blank">&gt;&gt;393</a> <br> ありがとうございます。 <br>  <br> 思うところがあって、Linkers&Loadersという本を買いました。 <br> 初心者向けっぽいですけど、勉強になりますね。 <br> あと、Monaはマイクロカーネルで行く予定です。(あくまでも予定ですが・・・) <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/11 00:26<> <a href="../test/read.cgi/tech/1037096449/396" target="_blank">&gt;&gt;396</a> <br> 日本製を聞きたかったんですが。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/11 00:29<> FEPとかは、JUST SYSTEM等に任せればいいかと。 <br>  <br> 出来ないのは単純に技術力がないからだと思ってたんですが。 <>
ひげぽん<>sage<>02/12/11 00:39<> gccインラインアセンブラの話なんですが <br> asm volatile("ljmp $0x20, $0\n"); <br> はOKなのに <br> word selector = 0x20; <br> asm volatile("ljmp %0, $0": /* no output */:"g"(selector)); <br> は <br> Error: suffix or operands invalid for `ljmp' <br> と怒られます。 <br> この辺詳しい方いらっしゃいましたら教えていただけないでしょうか。 <br> アセンブラ板のほうがいいのかもしれないですが・・・ <>
デフォルトの名無しさん<>sage<>02/12/11 00:45<> &gt;一方、米国人だとか欧州人はとても裕福。  <br> 日本は世界第二の経済大国ですが。 <br>  <br> &gt;日立、富士通、NECなどの大手は30年も昔からスパコン用のOSを作ってる。  <br> それは、マルチタスクや、GUIを持ってましたか。 <br>  <br>  <>
デフォルトの名無しさん<>sage<>02/12/11 01:08<> <a href="../test/read.cgi/tech/1037096449/396" target="_blank">&gt;&gt;396</a> <br> 足引っ張るな！ <>
デフォルトの名無しさん<>sage<>02/12/11 01:13<> <a href="../test/read.cgi/tech/1037096449/400" target="_blank">&gt;&gt;400</a> <br> gcc -Sしてみるとわかりますが <br>  ljmp _selector , $0 <br> というふうにインライン展開されています。 <br> asmには定数を渡す必要があるので <br> #define FOO_CS 0x20 <br> などとしてやる必要があります。 <br>  <br>              <>
ひげぽん<>sage<>02/12/11 01:25<> <a href="../test/read.cgi/tech/1037096449/403" target="_blank">&gt;&gt;403</a> <br> ありがとうございます。 <br> ということは、ljmp先は動的に指定できないということでしょうか。 <br> 拡張インラインアセンブラの入力パラメータは使えない？？？ <br> でも、ljmpのオペランドは即値だけでなくメモリ、レジスタもOKだと <br> 思っているのですが・・・ <br>  <br> 何か大きな勘違いをやらかしてそうです。→私 <>
デフォルトの名無しさん<>sage<>02/12/11 01:34<> &gt;404 <br> セレクタだけメモリというわけにはいかないので <br> struct { <br>  dword ofs; <br>  word sel; <br> } far_ptr; <br> こんな感じで6byteのポインタを渡す必要があります。 <br>  <br> あとあまりお奨めできない方法として <br>  push word selector <br>  push dword 0 <br>  retf <br> (NASM風記述。gasニーモニックは忘れました。) <>
ひげぽん<>sage<>02/12/11 01:50<> &gt;struct { <br> &gt;dword ofs; <br> &gt;word sel; <br> &gt;} far_ptr; <br> &gt;こんな感じで6byteのポインタを渡す必要があります <br>  <br> ありがとうございます。 <br> 出来ました!!!! <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/11 10:41<> ITRONの仕様書: <br>  <br> http://www.ertl.jp/ITRON/SPEC/mitron4-j.html <br>  <br> スケジューリングなどが参考になります。 <br> OSの勉強に使えそう。 <>
FreeDOS教徒<>osage<>02/12/11 11:18<> &gt;&gt;LightConeさん <br> 32ビットでマルチタスクのOSといえば、OSASK、NWSOS、EOTA、MEG-OS、Mona <br> ぐらいしか思いつきません。 <br> x86系、GUI付きOSはそれにMonaを除いてもう１つあります。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/11 12:18<> あと、 <br> 　SCE(SONY COMPUTER ENTERTAINMENT), 東芝, 米IBM が、2005年をめどに <br> 新OS を開発中（SONY の AIBOは、Aperios という独自OSが載ってるらしい。） <br>  <br> 　大手電機メーカー各社のWorkstationには、UNIXの移植版が <br> 載っている模様。 <br>  <br> 　スパコンは、UNIXの他、独自OSが載っているのもあるらしい。 <br>  <br> 　でも多分、ハードメーカーが載せてるUNIXは、海外ソフトメーカーに委託 <br> したか、FreeBSD等を載せているんだと思う。 <br>  <br>  BTRONは、超漢字,EOTA など。 <>
デフォルトの名無しさん<>sage<>02/12/11 12:20<> JUST-SYSTEM が昔作ってた、JUST-Windowというのが国産GUI-OS。 <br> ところが資金力尽きて、ついにWindows帝国に敗北。 <br>  <br> 正確には、土地バブルに載って購入した土地資産が1/10以下になって撃沈。 <br> 実力はあったのに本業をおろそかにして、 <br> 駄目だと言われ続けてたWindowsの拡張工事に余念のなかったマイクロソフトに <br> 頭を下げたのが '93だから、あれからはや１０年。 <br>  <br> 元、ジャスト社員より <br>  <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/11 12:29<> 　 ∧＿∧  <br>  ＜　｀ー´＞-~~~ <br> PC-98用のMS-DOSについてきたDOS-SHELLは手動タスク切り替えもできたよな・・・。 <br>  <br> ところで、高級言語とassembleの比率は今のところどのくらいなんでしょう。 &gt;&gt; NWSOS他 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/11 12:47<> <a href="../test/read.cgi/tech/1037096449/411" target="_blank">&gt;&gt;411</a> <br> とりあえず、ソースのバイト数: <br>  <br> アセンブラ コード部:754KB <br> アセンブラ データ部:30.4KB <br> アセンブラ ヘッダ部:63.4KB <br> C言語      コード部:362KB <br> C言語      ヘッダ部:39.8KB <br>  <br> です。 <br>  <br> 今のところ、アセンブラ部が大きすぎると思うのですが、内訳は <br> 初期化:34KB <br> カーネル:193KB <br> ファイル:99KB <br> 割り込み:58KB <br> メモリ管理:66KB <br> DISK-DRIVER:37KB <br> 内臓PROMPT:43KB <br> 旧EMS MANAGER:32KB <br> 旧DPMI MANAGER:53KB <br>  <br> このうち最後の3つは、今後削除する可能性があります。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/11 13:17<> <a href="../test/read.cgi/tech/1037096449/411" target="_blank">&gt;&gt;411</a> <br> DOSSHELLはタスク切り替えというよりタスクスワップの気が <br>  <br> めぐたんは現在ﾌﾙｱｾﾝﾌﾞﾘです。 <br> ついでに、最新ビルドでもまだマルチタスクをサポートしてません(つД｀) <br>  <>
ひげぽん<>sage<>02/12/11 14:15<> <a href="../test/read.cgi/tech/1037096449/411" target="_blank">&gt;&gt;411</a> <br> Monaは <br> アセンブラコード：10KB(ブートからプロテクトモード移行まで) <br> C++コード：70KB <br> C++ヘッダ：10KB <br> ただしC++部には、ごく一部インラインアセンブラが含まれています。 <br> またdoxygenコメントに対応するため、コメント量が多くなっていますので <br> C++部は実際は半分のサイズくらいだと思います。 <br>  <br> NWSOSとの規模の差が歴然ですね・・・ <>
ひげぽん<>sage<>02/12/11 22:20<> タイマー割り込みハンドラ内でタスクスイッチをしようとして <br> 気づきました。 <br> タスクスイッチの前にEOIは発行しなければいけないと思うのですが <br> iretは？疑問がいっぱい出てきました。 <br> この辺のことに詳しい資料とかないでしょうか。 <br> そろそろ「はじめて読む486」だけでは限界がきたかもしれません・・・ <br> もし良い資料等ありましたら教えてくださいm(__)m <>
FreeDOS教徒<>osage<>02/12/11 22:33<> &gt;&gt;ひげぽん <br> インテルのマニュアルさえあればいいと思う。 <br> iret自体は通常のretfにpopfを追加したものだった気がする。 <br>  <br> 必要なところを探す能力があれば、それなりに役に立つよ。 <>
ひげぽん<>sage<>02/12/11 22:52<> &gt;&gt;インテルのマニュアルさえあればいいと思う。 <br> &gt;&gt;iret自体は通常のretfにpopfを追加したものだった気がする。 <br> &gt;&gt; <br> &gt;&gt;必要なところを探す能力があれば、それなりに役に立つよ。 <br> ありがとうございます。 <br> 全くおっしゃるとおりですね。 <br> ちょっと調べてみますです。 <>
デフォルトの名無しさん<>sage<>02/12/11 23:10<> <a href="../test/read.cgi/tech/1037096449/416" target="_blank">&gt;&gt;416</a> <br> プロテクトモードのiretは結構違います <br> インテルの命令セットリファレンスに詳しい動作が書いてあります <>
FreeDOS教徒<>osage<>02/12/11 23:42<> <a href="../test/read.cgi/tech/1037096449/318" target="_blank">&gt;&gt;318</a> <br> いま手元に確認できる環境がないのですけど、 <br> リアルモードとは勝手が違うのですね。 <br>  <br> 鋭い指摘ありがとうございます。 <>
デフォルトの名無しさん<>sage<>02/12/12 00:10<> 前スレで既出ですが一応 <br> http://www.intel.co.jp/jp/developer/download/index.htm <br> インテルの日本語マニュアルPDF版 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/12 11:12<>  　∧＿∧ <br>  ＜　｀ー´＞-~~~ TSSはあまり使ったことがないが・・・・。 <br>  <br> IDT上に割り込みハンドラ用のタスクゲートを置くとかできたっけかな。。。 <br> 割り込みハンドラをタスクに見立ててTSSを作っておき、 <br> iretの代わりに実行するTSSへ向かってjmpするとか。 <br>  <br> for(;;) <br> { <br> 　/* 割り込み時はここへ飛んで来る */ <br> 　.... <br> 　.... <br> 　jmp tss_next_task; /* 次のタスクへ */ <br> } <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/12 11:12<>  　∧＿∧ <br>  ＜　｀ー´＞-~~~ TSSはあまり使ったことがないが・・・・。 <br>  <br> IDT上に割り込みハンドラ用のタスクゲートを置くとかできたっけかな。。。 <br> 割り込みハンドラをタスクに見立ててTSSを作っておき、 <br> iretの代わりに実行するTSSへ向かってjmpするとか。 <br>  <br> for(;;) <br> { <br> 　/* 割り込み時はここへ飛んで来る */ <br> 　.... <br> 　.... <br> 　jmp tss_next_task; /* 次のタスクへ */ <br> } <>
デフォルトの名無しさん<>sage<>02/12/12 11:13<> ｽﾏｿ。なぜか多重書き込みに・・・ABoneのバグか。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/12 11:44<> タスクゲートはIDTにも置けます。 <br> 割り込みでタスク切り替えするとCR0のNTフラグ？がたって <br> iret命令でこのフラグチェックするれす。 <br>  <>
デフォルトの名無しさん </b>◆mXrBwDDzyw <b><>sage<>02/12/12 20:16<> 記念パピコ <>
デフォルトの名無しさん<>sage<>02/12/13 01:27<> monaに期待 <>
ひげぽん<>sage<>02/12/13 01:30<> <a href="../test/read.cgi/tech/1037096449/421" target="_blank">&gt;&gt;421</a> 超先生＠OS板さん  <br> <a href="../test/read.cgi/tech/1037096449/424" target="_blank">&gt;&gt;424</a> みとこさん <br>  <br> いろいろとアドバイスありがとうございます。 <br> 週末に試してみます。 <br>  <br> やっぱり平日はなかなか作業できないっす。 <br> そのかわり年末年始にガツンとがんばります。 <>
デフォルトの名無しさん<>sage<>02/12/13 02:17<> わーい、今日はじめてbochsいれてhigepos.bin動かしてみました。 <br> 過去ログどおりにやったら動いた。 <br> ちょっと感動。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/13 13:54<> &gt;424 <br> 　∧＿∧ <br> ＜　｀ー´＞-~~~ <br> ということは割り込み用tssのtask chainに次のタスクを入れてiretすれば楽勝ですな。 <br> 元のtssはbusy flagを手動で消さないとダメか・・・。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/13 13:54<> &gt;424 <br> 　∧＿∧ <br> ＜　｀ー´＞-~~~ <br> ということは割り込み用tssのtask chainに次のタスクを入れてiretすれば楽勝ですな。 <br> 元のtssはbusy flagを手動で消さないとダメか・・・。 <>
デフォルトの名無しさん<>sage<>02/12/13 13:55<> また多重に・・・ｽﾏﾝｶｯﾀ。ABone作者を小一時間問い詰めておきます。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/13 15:24<> どうでもいいけどTSSのビジー消しは面倒ですね。 <br> 昔、RMに落ちた後PM戻るPG書いたとき一般保護例外発生して困って <br> よく調べたらビジーTSSが原因だった、、、（＞＜ <>
ひげぽん<><>02/12/14 00:15<> 今の３倍くらい勉強しなければだめだ。 <br> と最近思います。 <>
デフォルトの名無しさん<>sage<>02/12/14 02:36<> ひげぽんもLﾀﾝも頑張れ <>
デフォルトの名無しさん<>sage<>02/12/14 06:19<> この静けさ。どうやら、LさんもHさんもコーディングにいそしんでるご様子。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/14 15:11<> ライトコーンﾀﾝってどっかで見たことあるなと思ったらこれか！Σ(ﾟДﾟ ) <br>  <br> http://homepage2.nifty.com/nowsmart/index.htm <>
デフォルトの名無しさん<>sage<>02/12/14 15:30<> 販売中か！カッコイイ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/14 23:16<> <a href="../test/read.cgi/tech/1037096449/437" target="_blank">&gt;&gt;437</a> <br> 販売中なのは、Windows用の統合開発環境です。 <br> OSは無料で自由にダウンロードして使えるようになっています。 <>
デフォルトの名無しさん<>sage<>02/12/15 10:41<> Light氏のHP見てると、とても個人の作品群とは思えないラインナップだな。 <br> リンカ、ライブラリアン、アセンブラ、ANSI-Cコンパイラ、NWSOSですか･･･ <br>  <br> どうも、漏れはケンカ売る相手、間違えたっぽい。 <br> もう、このスレに来ません。ごめんなさい。 <br>  <>
朝鮮製＠OS板<>sage<>02/12/15 11:32<> 　∧＿∧ <br> ＜　｀ー´.＞-~~~ <br>  <br> へへへ、俺って顔つきも朝鮮人だろ？ <br> 発音も「超先生」と同じ、兄弟さ。 <br> テポドンのOSを作ったのは、何を隠そう、このワシじゃ。 <br>  <br> ＯＳに関して、右に出るものはいない。 <br> さぁ、質問してきなさい。ＨもＬも。 <br> ひゃひゃひゃ。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/15 13:08<> x86の特権レベル1と2って使ったことがないな <br> 効果的な利用法ってあるのだろうか <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/15 14:00<> 　∧＿∧ <br> ＜　｀ー´＞-~~~ PL1,2は使いものにならない、がファイナルアンサー。 <br> ページレベル保護はU/Sの２段階しかないのでほとんど無意味ですな。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/15 14:53<> <a href="../test/read.cgi/tech/1037096449/442" target="_blank">&gt;&gt;442</a> <br> 私も同感です。 <br>  <br> 　システムコールに一旦入ってしまえば、コール元の各種属性はいくらでも <br> 知ることができるので、わざわざCPU定義のレベル1,2で判別する意味がない <br> ので、もし、レベル1,2に利用価値があるなら、CPU命令を実行中の自動保護、 <br> 例えば、「ページレベル保護」などに変化が付けられるなどに限定されるはず <br> なんですが、IA32の場合そこに実質的な変化が付けられないので意味がない、 <br> という説明ができると思います。 <br>  <br> 結論的には、超先生のおっしゃる事の通りだと思います。 <>
441<>sage<>02/12/15 18:32<> やはり、使えませんか。 <br>  <br> JITコンパイラ実装時にリミットの異なるセレクタを用意して、 <br> JITコンパイラ自体を保護できないか、などと考えてみたのですが。 <>
朝鮮製＠OS板<>sage<>02/12/15 20:00<> ∧＿∧ <br> ＜　｀ー´.＞-~~~ <br> ふむふむ、既に弟の超先生が、 <br> レベル1,2の蛇足っぷりを示してしまったようだな。 <br>  <br>  <>
ひげぽん<>sage<>02/12/15 21:15<> タスクスイッチ勉強中(若干逃避(ﾉ´∀｀*)) <br> http://www.research.att.com/sw/tools/graphviz/ <br>  <br> こんなツール入れたらdoxygenで生成されるドキュメントに <br> カッコイイ図が！！！ <br> こんなの↓ <br> http://mona.sourceforge.jp/html/classX86MemoryManager__coll__graph.png <>
デフォルトの名無しさん<>sage<>02/12/15 21:45<> <a href="../test/read.cgi/tech/1037096449/446" target="_blank">&gt;&gt;446</a> <br> うぉ。ｶｺｲｲ これとかｶｺｲｲ <br> http://mona.sourceforge.jp/html/monaTypes_8h.html <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/15 23:21<> <a href="../test/read.cgi/tech/1037096449/444" target="_blank">&gt;&gt;444</a> <br> 　セレクタの要求レベルを使った保護なら、レベル1,2が有効に使える可能性 <br> は有ると思います。 <>
デフォルトの名無しさん<>@sage<>02/12/16 17:59<> ちょいっとメモリ管理について質問します。 <br>  <br> Ｘ３８６でメモリ管理する場合って、 <br> 例えば、連結リストで物理アドレスにダイレクトマッピングして <br> 管理しているとする時でも、eip, espって結局オフセット値ですよね？ <br>  <br> だから、コンテキストスイッチするには <br> 最低限度、cs:eip ss:esp cr3とかは退避しないと駄目なんですか？ <br>  <br> ハードウェアのメモリ管理機構とＯＳでのメモリ管理との繋がりが <br> よくわからないです。書ボーン。 <br>  <br> だれか〜目から鱗落させてクダサイ＞＜ <br>  <br>  <>
デフォルトの名無しさん<><>02/12/17 00:31<> そういえばアメリカの中学生グループがWindowsみたいなGUIを持ったOS作ってたよね。 <br> あれはどうなったのかな？ <>
デフォルトの名無しさん<><>02/12/17 00:40<> セグメントと論理の違いをべんきょうしる。 <br> ３８６アーキテクチャはちょっとむずいかも。 <>
デフォルトの名無しさん<><>02/12/17 00:44<> S370は単純でおすすめ <>
デフォルトの名無しさん<>sage<>02/12/17 00:48<> 286はなんで動作レベルが5段階にもなってたんだろう？ <br> あれにはページングがなかったからセグメントのレベルだけで <br> 保護してたわけだけど、意味あったのかな？ <br> もしかして386が4段階の動作レベルを持つのってその名残？ <br>  <br> ウンチク的な役に立たない話ですんまそん。 <>
デフォルトの名無しさん<><>02/12/17 01:38<> 453&gt;&gt; 286+α=386だからあなたの予想は的中なのだ <br> セグメント＋リミット＋ページング＋コールゲート <br> なのだ <>
朝鮮製＠OS板<>sage<>02/12/17 06:16<> 　∧＿∧ <br> ＜　｀ー´＞-~~~  <br> &gt;JITコンパイラ実装時にリミットの異なるセレクタを用意して、 <br> &gt;JITコンパイラ自体を保護できないか、などと考えてみたのですが。 <br> ほうほう、君はひょっとして首藤ｸﾝかね？ <br>  <>
デフォルトの名無しさん<>sage<>02/12/17 23:40<> 保守 <>
朝鮮製＠OS板<>sage<>02/12/18 07:18<> 　∧＿∧ <br> ＜　｀ー´＞-~~~ <br> 図星かね？ <>
デフォルトの名無しさん<>sage<>02/12/18 14:21<> 須藤先輩…(；´Д｀)ﾊｧﾊｧ <>
デフォルトの名無しさん<>@sage<>02/12/18 15:51<> part3ダット落ち。。。 <br> 読みたかったのに。 <br> だれか保存してたら下さい。 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/18 15:59<> http://meg-os.org/2ch/1027080631.dat <>
デフォルトの名無しさん<>sage<>02/12/18 18:26<> &gt;460 <br>  <br> ありがとうございます！ <br>  <br> ですが。。。なぜか家に帰ってから見たらDAT落ちしてない。。 <br> 外で見たときは落ちてたのに。 <br> なぜだぁぁぁ・・・ <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/18 18:30<> ●もちですか？(；´Д｀) <>
ひげぽん<><>02/12/18 21:31<> 最近、いろいろと勉強中で見た目上あまり進んでないのですが <br> 年末年始にドーンと更新しようかと思います。(あくまで予定ですが) <br>  <br> タイマ割り込みでタスクスイッチできずです・・・ <>
デフォルトの名無しさん<>sage<>02/12/18 22:46<> <a href="../test/read.cgi/tech/1037096449/463" target="_blank">&gt;&gt;463</a> <br> ひげぽんﾀﾝ、がんばれり。 <br> なまあたたかく応援sage <>
ひげぽん<>sage<>02/12/18 23:46<> <a href="../test/read.cgi/tech/1037096449/464" target="_blank">&gt;&gt;464</a> <br> なまあたたかい応援ありがとうござます（笑） <br>  <br> ところでこのスレを見ている人たちは <br> 他にはどんなスレッドを見ているのでしょうか。 <br> やっぱりNWSOSやOSASKのスレッドですかね。 <>
デフォルトの名無しさん<>sage<>02/12/19 00:20<> <a href="../test/read.cgi/tech/1037096449/465" target="_blank">&gt;&gt;465</a> <br> ココしか見てない。他は自分にとってあまり有益でないから。。。と言うか『ひどいインターネット』だから <br> OSをつくろうはpart2から見てるけどすっごく勉強になってる。 <>
デフォルトの名無しさん<>sage<>02/12/19 01:28<> コス萌え <br> http://www.cosmoe.com/ <br>  <>
デフォルトの名無しさん<>sage<>02/12/19 10:06<> <a href="../test/read.cgi/tech/1037096449/465" target="_blank">&gt;&gt;465</a> <br> 個人的にボードコンピュータを使用することがあるので、 <br> monaを自分が制御したいもののタスクスイッチとして使えたら <br> いいなと思ってここ見てます。まだ夢の話ですが。 <>
デフォルトの名無しさん<><>02/12/19 20:46<> <a href="../test/read.cgi/tech/1037096449/465" target="_blank">&gt;&gt;465</a> <br> 漏れの場合は、OSASK系ｽﾚがメイン。 <br> ひげぽんのｽﾚを見て和製OSを知ったり。 <>
みつみ里美  </b>◆CBIOIS./eo <b><>sage<>02/12/19 20:55<> 割り込み関数を書くときは、スタックフレームを <br> 明示的に扱わないとハマるよ（｀□´）くわ〜っ <br>  <br> さて原稿〜(;´д｀)へろへろ <>
デフォルトの名無しさん<>sage<>02/12/19 20:57<> ﾐﾂﾐﾀﾝﾊｧﾊｧ <>
デフォルトの名無しさん<>sage<>02/12/19 22:00<> あの･･･ <br> 馬鹿なOS作って、実験かねて実機で動かして <br> マシンがぶっ壊れた（ﾟ∀ﾟ）なんてことはありうるのでしょうか？ <br> あったら体験談おね <>
デフォルトの名無しさん<>sage<>02/12/19 23:12<> <a href="../test/read.cgi/tech/1037096449/465" target="_blank">&gt;&gt;465</a> <br> 俺もここしか見ない。 <br> OSASK は Web 見て、愕然としたから、もう見ない。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/472" target="_blank">&gt;&gt;472</a> <br> ディスクの中身を飛ばすことはあるが、ハードウェア的に壊れることはまずない。 <br>  <br> (もちろん、その PC が、ロボットや溶鉱炉の制御してるとか言うんなら話は別だぞ。 <br> あと、頑張れば BIOS 書き換えぐらいは可能性があるけど、意識的にやらないと <br> なかなか難しい。) <br>  <br> そう言う意味で、開発機と実験機は分けたほうがいいと思う。 <br> (一緒だと、リブートの嵐だからね。) <br> 今時なら、中古の Pen133MHz 機程度なら \5,000 ぐらいで売られてるから、そう言うのを <br> 使えばいいと思うよ。 <>
デフォルトの名無しさん<>sage<>02/12/19 23:57<> <a href="../test/read.cgi/tech/1037096449/472" target="_blank">&gt;&gt;472</a> <br> PCじゃないけど…ドライバいじってる時、なぜかNICが壊れた事あり。 <br> 原因はいまだに不明。 <br> 試作ハードだったから、ハード的な問題だったのかもしれない。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/20 01:49<> 　概ねファイルシステムが出来たと思って遊んでいたら、ハードディスクが <br> 論理的に破壊された経験をもつものです（汗）。 <br> 　原因は、PC-98x1のBIOS呼び出し時の、CFフラグの1,0が逆になって <br> いただけ。 <br>  <br> 　それからというもの、ハードディスク書き込み恐怖症になり、 <br> さらに厳重にするため、開発機と実験機を分けるようになりました。 <br>  <br> 　一種のトラウマですが、良い経験だったかもしれませんね(^_^;;) <>
げすきー<>sage<>02/12/20 06:12<> ハナゲを抜いたときの痛さと、 <br> ＯＳ開発時にＨＤを吹っ飛ばす痛さと、 <br>  <br> どっちが痛いですか？ <br>  <>
みつみ里美＠しゅら場もーど  </b>◆CBIOIS./eo <b><>sage<>02/12/20 06:27<> 新刊落としたときの痛さに勝るものはないよ〜！≡≡(つдT)ひぃいい〜！！ <br>  <br> <a href="../test/read.cgi/tech/1037096449/472" target="_blank">&gt;&gt;472</a> <br> 初代IBM PC/ATでPICのバッファリングモード使うと焼けるよ。 <br> SP/ENがGND直結で危険（｀□´;） <br> 最近の統合chipsetではそんなこと絶対に起きないけどね（｀ー´）ふふり <>
デフォルトの名無しさん<>sage<>02/12/20 08:18<> <a href="../test/read.cgi/tech/1037096449/465" target="_blank">&gt;&gt;465</a> <br> ひげぽん、がんばれ〜こっちはﾏﾀｰﾘしてるからｲｲ!! <br> 私は技術がないんでとても協力なんてできませんが <br> 使う側としてmonaをしっかり見ていきたいと思います。 <br>  <br> NWSOSは見てます、ちょいと揉めてるみたいですけど。 <br> OSASKは見ていません。 <br>  <br> でもでも、個人的にはﾒｸﾞOSが好きかなぁ（ﾎﾞｿ <br> ｷｬﾗとかじゃなくてなんか、AIぽいのが好きなんです。HALとか・・・(ｵﾀ <br>  <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/20 11:49<> #osdev-j ・・・(ﾎﾞｿ <>
デフォルトの名無しさん<>sage<>02/12/20 14:13<> 正直な所2ch製のOSなんて誰も使いたくないなぁ。 <br> ひげぽんはMegaBBSとかいちごBBSでﾏﾀｰﾘやったほうがよかったんじゃないかと思う <>
デフォルトの名無しさん<><>02/12/20 14:24<> 2ch製といっても、作ってるのはひげぽんだからな <br> 別にいいと思うけど。 <br>  <br>  <>
デフォルトの名無しさん<>sage<>02/12/20 14:43<> <a href="../test/read.cgi/tech/1037096449/480" target="_blank">&gt;&gt;480</a> <br> おまい、2chブラウザとかも使うなよ。 <>
デフォルトの名無しさん<>sage<>02/12/20 18:53<> でたよ、詭弁の特徴が。 <>
デフォルトの名無しさん<>sage<>02/12/20 22:29<> なぜ誰も使いたくないと断言できるのか。不思議だ。そういうもんか。 <>
デフォルトの名無しさん<>sage<>02/12/21 01:05<> monaはオープンソースですが、何か？ｗ <>
ひげぽん<>sage<>02/12/21 01:18<> Mona環境でSTLを使えるように環境構築してくれる人募集です。 <br>  <br> といってみるテスト <br> すべて使えるようにならなくていいっす <br> コレクションが使えるだけで十分です。 <br>  <br> string.hで定義されている関数が必要になりそうです。 <br>  <br> よろしくおねがいいたします。 <>
デフォルトの名無しさん<>sage<>02/12/21 03:31<> ところで、 <br> bochs-winで起動させるディスクイメージは <br> どうやって作ってるの？ <br> WINDOWSで。ddとかだとバグったし・・ <>
ひげぽん<>sage<>02/12/21 13:11<> <a href="../test/read.cgi/tech/1037096449/487" target="_blank">&gt;&gt;487</a> <br> http://uranus.it.swin.edu.au/~jn/linux/rawwrite.htm <br> rawwrite.exeで作成しています。 <br>  <br> この辺のことは、どこかにきちんと記述をしたほうがよさそうですね。 <br> ご指摘ありがとうございます。 <>
ひげぽん<>sage<>02/12/21 15:53<> <a href="../test/read.cgi/tech/1037096449/479" target="_blank">&gt;&gt;479</a> <br> &gt;#osdev-j ・・・(ﾎﾞｿ <br> osdev-jはレベルが高いですよね・・・ <br> 勉強不足を痛感させられる空間ですね。 <br>  <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/21 15:53<> じゃひげぽんたんもっと来るれす <>
</b> ◆TntnZ0uG.g <b><>sage<>02/12/21 16:09<> <a href="../test/read.cgi/tech/1037096449/489" target="_blank">&gt;&gt;489</a> 超先生来てるよ <>
henoheno＠OS板 </b>◆mXrBwDDzyw <b><>sage<>02/12/21 18:01<> <a href="../test/read.cgi/tech/1037096449/486" target="_blank">&gt;&gt;486</a> <br> STLの話題を出されたので。 <br>  <br> STLの移植に関してですが、STLportはいかがでしょう。 <br> http://pc.2ch.net/test/read.cgi/os/1039075591/337 <br>  <br> STLport は SGI STL を移植する方向に持って行ったものから <br> スタートしたものです。 <br>  <br>  <>
ひげぽん<>sage<>02/12/21 18:05<> <a href="../test/read.cgi/tech/1037096449/491" target="_blank">&gt;&gt;491</a> <br> 相変わらずレベル高し。 <br>  <br> タイマー割り込みによりタスク切り替えを実現すべく <br> インテルのマニュアルを読んでいました。 <br>  <br> (1)EFLAGSレジスタのNTフラグをセットする。 <br> (2)現行タスクのバックリンクを次のタスクにする。 <br> (3)(現行TSSビジーを解除?) <br> (4)iret <br>  <br> (1)(3)のやり方が分かりません。 <br> そもそもそんなもんは不可能だ！等アドバイスいただけないでしょうか。 <>
ひげぽん<>sage<>02/12/21 18:10<> <a href="../test/read.cgi/tech/1037096449/492" target="_blank">&gt;&gt;492</a> <br> ありがとうございます。 <br> &gt;STLの移植に関してですが、STLportはいかがでしょう <br> ほう、こんなものがあるんですね。 <br>  <br> STLは一部でも良いので使えるようになるとうれしいですね。 <br> 誰か詳しい人いないかな。 <>
超先生＠コーディネーター  </b>◆leaf/RYZgY <b><>sage<>02/12/21 18:26<> 　 ∧＿∧  <br> ＜　｀ー´＞-~~~ <br> &gt;(3)(現行TSSビジーを解除?) <br>  <br> NT=1でiretすれば自動的にbusy解除されるはずです。 <br>  <br> &gt;(1)EFLAGSレジスタのNTフラグをセットする。 <br>  <br> popfd命令でEFLAGSを変更できるはず。 <>
ひげぽん<><>02/12/21 18:39<> 超先生＠コーディネーター さんありがとうございます <br>  <br> pushfd,popfdを <br> 組み合わせれば何とかいけそうな気がしてきました。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/21 22:32<> <a href="../test/read.cgi/tech/1037096449/495" target="_blank">&gt;&gt;495</a> <br> ガンダムseedでつか？ <>
ひげぽん<>sage<>02/12/21 23:21<> NTフラグをセットしてiretしてみました。 <br> bochs君に IRET: TR not valid <br> と怒られました。 <br> 現在調査中です。 <br>  <>
げすきー<>sage<>02/12/22 05:35<> ハナゲを抜いたときの痛さと、 <br> LﾀﾝのＧＰＬ叩きの痛さと <br>  <br> どっちが痛いですか？ <br>  <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/22 06:40<> 　 ∧＿∧  <br> ＜　｀ー´＞-~~~ そういえば。 <br> 切り替え先TSSのbusyフラグを立てておかないと、無効TSSで落ちるかも。。。。 <br>  <br> ctrl_xfer_pro.cppのBX_CPU_C::iret_protectedを参照。 <>
デフォルトの名無しさん<>sage<>02/12/22 07:31<> &gt;&gt;どっちが痛いですか？ <br> 痛さの単位。１ハナゲ。 <br>  <br> どっかの学者が4/1に言ってたっけ。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/22 07:32<> ね、ひょっとしてC++で書かれたカーネルって世界的に見ても、 <br> MONAが先駆？ <br>  <>
ぁゃしぃ肉球苦楽撫<>sage<>02/12/22 07:45<> あのぺーじ、復活させて〜。 <>
デフォルトの名無しさん<>sage<>02/12/22 11:47<> <a href="../test/read.cgi/tech/1037096449/502" target="_blank">&gt;&gt;502</a> <br> NT系はC++じゃない？ <>
ひげぽん<><>02/12/22 15:09<> bochs2.0がリリースされた模様。 <>
ひげぽん<>sage<>02/12/22 15:50<> 超先生＠OS板さん <br> ご指摘の通り、切り替え先をTSSBusyにしたらOKでした。 <br> いつもいつもありがとうございますm(__)m <br>  <br> ということでタイマ割り込みによりタスクスイッチする実験に <br> 成功いたしました。 <br>  <br> アドバイスいただいた方々ありがとうございました。 <br>  <br> ところでbochs2.0ですが <br> 文字色が違いますね。 <br> ピンク（実機&bochs1.41) <br> 紫(bochs2.0) <br>  <br> なぜ？ <>
デフォルトの名無しさん<>sage<>02/12/22 16:02<> <a href="../test/read.cgi/tech/1037096449/504" target="_blank">&gt;&gt;504</a> <br> C++かもしれないが、多分殆どCに近い書き方なんじゃ <br> ないかなあ。C++で書くと一口に言っても、その内容は <br> ピンきりだからねえ。 <>
デフォルトの名無しさん<>sage<>02/12/22 16:13<> <a href="../test/read.cgi/tech/1037096449/507" target="_blank">&gt;&gt;507</a> <br> そういう意味ではMonaは稀有。 <>
デフォルトの名無しさん<>sage<>02/12/22 17:18<> EPOCなんかはテンプレートも使っててばりばりにC++で <br> 書かれてる。。 <>
デフォルトの名無しさん<>sage<>02/12/22 19:59<> ところでそろそろ関連リンクをまとめない？ <br> 俺はやらんが。 <>
デフォルトの名無しさん<>sage<>02/12/22 20:51<> <a href="../test/read.cgi/tech/1037096449/507" target="_blank">&gt;&gt;507</a> <br> なぜそう思う？ <>
デフォルトの名無しさん<>sage<>02/12/22 21:12<> <a href="../test/read.cgi/tech/1037096449/510" target="_blank">&gt;&gt;510</a> <br> やってたりします。お楽しみに。 <>
デフォルトの名無しさん<><>02/12/22 21:28<> <a href="../test/read.cgi/tech/1037096449/512" target="_blank">&gt;&gt;512</a> <br> 期待age <>
ひげぽん<>sage<>02/12/22 23:45<> 皆さんのおかげで <br> タスク管理のテストにだいぶ成功してきました。 <br>  <br> そこで本格的にタスク管理の設計に入る前に <br> どうも自分がきちんと理解できていないメモリについて <br> 勉強をしようと思っています。 <br>  <br> メモリについては、はじめて読む486以外では <br> あまり勉強できていません。 <br>  <br> 特に、以下のキーワードの理解があいまいで <br> 非常に心許ない状態です。 <br> OSを作るうえで非常に重要だと思うので <br> 参考になる書籍・WEB資料を教えていただけないでしょうか。 <br>  <br> ■キーワード <br> ・スタック <br> ・CS,DS,ES <br> ・フラットモデル <br> ・セグメント <br> ・ページング <br> ・タスクゲート <br> ・GDT <br> ・ローダー <br>  <br> よろしくお願いいたします。 <br>  <>
FreeDOS教徒<>osage<>02/12/23 00:12<> &gt;&gt;ひげぽん <br> ‥‥ドンマイやね。 <br>  <br> 【フラットモデル】 <br> あるアプリケーション内でコード、データ、スタックが同一のレジスタですべて <br> アクセスできること。 <br> 要するにセグメントレジスタ不要な環境のこと、らしいですよ。 <>
デフォルトの名無しさん<><>02/12/23 00:34<> スタック分からないとは．．．本人ですか？&gt;&gt;ひげぽん <br>  <br> オペレーティングシステム <br> ttp://www.csg.is.titech.ac.jp/~chiba/lecture/#os <br> とか、どっかの大学の講義資料を見るのがいいと思う。 <br>  <>
ひげぽん<>sage<>02/12/23 00:50<> <a href="../test/read.cgi/tech/1037096449/515" target="_blank">&gt;&gt;515</a> <br> どうもです。 <br> そこまでは分かるのですが <br> どういうメリットがあって、他にどういうモデルがあるかとか <br> タスクスイッチが絡んだ場合どうなるかとかが知りたいです。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/516" target="_blank">&gt;&gt;516</a> <br> 本人ですよ（笑） <br> 資料ご提示ありがとうございます。 <br>  <br> どうも表面的なことは分かるのですが <br> 上記のキーワードは <br> ちょっと突っ込まれると自信がなくなるやつらです。 <br> 人に教えるほどは分かってない状態です。（これで伝わりますでしょうか。) <br>  <br> こいつらの理解が浅いため、Linker&Loadersとか <br> 読むと？？？状態に陥ります。 <br> 基礎体力が足りません。 <br>  <br>  <>
ひげぽん<>sage<>02/12/23 00:54<> 恥は今のうちにかいておきます。 <br>  <>
FreeDOS教徒<>osage<>02/12/23 10:10<> &gt;&gt;ひげぽん <br> 私はWindowsプログラミングをしたことないのでアレなんですが。 <br> 「アーキテクチャ徹底解説 Microsoft Windows2000」 <br> なんかが良かった記憶が。 <>
ひげぽん<>sage<>02/12/23 11:15<> <a href="../test/read.cgi/tech/1037096449/519" target="_blank">&gt;&gt;519</a> <br> &gt;「アーキテクチャ徹底解説 Microsoft Windows2000」 <br>  <br> ありがとうございます。 <br> 本屋で立ち読みしてみます。 <br> 今日はいろいろと勉強の日にしようかと思います。 <>
デフォルトの名無しさん<>sage<>02/12/23 11:24<> &gt;&gt;ひげぽん <br> スタックについて <br> ttp://tt.sakura.ne.jp/~suzu/asm/8.html <>
ひげぽん<>sage<>02/12/23 11:53<> <a href="../test/read.cgi/tech/1037096449/521" target="_blank">&gt;&gt;521</a> <br> ありがとうございます。 <br>  <br> フラットモデルについて <br> CS=DS=SS=ESとすることのようですが、疑問点があります。 <br> どなたかアドバイスをいただけないでしょうか。 <br>  <br> プロテクトモードではGDTにより、セグメントを定義できます。 <br> フラットモデルの場合、各レジスタの指すセグメントがまったく同一 <br> （つまりベースもリミットも同じ)という理解で良いんでしょうか。 <br>  <br> GDTにはセグメントタイプを指定するところがあるので4つエントリを作成して <br> それらのエントリはベース・リミットも同一ということでしょうか。 <br>  <br> もし仮に上記のようだと仮定した場合、物理メモリ上におかれるコードと <br> スタックは位置的にどのような関係にあるのでしょうか。 <>
ひげぽん<>sage<>02/12/23 12:06<> 連続書き込みご容赦ください。 <br>  <br> スタックオーバーフローという言葉を耳にしますが <br> スタック領域が足らず、コードやデータを破壊してしまう <br> ことだと認識しています。 <br>  <br> スタックが上方、下方どちらに伸張するかを別にしても <br> CS=DS=SS=ESの場合、スタックとコードの区分けは誰が管理 <br> しているのでしょうか。 <br> OS、CPU、各アプリケーション？ <br>  <br> またタスク切り替え時には、スタックの切り替えが必須ですが <br> タスクAのスタックとタスクBのスタック <br> 区別・管理するはOSという認識であっていますでしょうか。 <br>  <br> この辺のことはおそらく基礎の基礎だと思うのですが <br> 理解できていません、どなたかアドバイスをいただけないでしょうか。 <>
デフォルトの名無しさん<>sage<>02/12/23 12:18<> <a href="../test/read.cgi/tech/1037096449/523" target="_blank">&gt;&gt;523</a> <br> OSが実現したいと思っているメモリ保護モデルを、 <br> CPUはサポートするだけであって、強制するわけじゃあない、 <br> というのはOKですかいな？ <br>  <br> なんかCPUに流されてるように見える... <>
ひげぽん<>sage<>02/12/23 12:30<> <a href="../test/read.cgi/tech/1037096449/524" target="_blank">&gt;&gt;524</a>さん <br> &gt;OSが実現したいと思っているメモリ保護モデルを、 <br> &gt;CPUはサポートするだけであって、強制するわけじゃあない、 <br> &gt;というのはOKですかいな？ <br>  <br> OKです。 <br>  <br> ・どんなメモリ保護モデルがあるのか？ <br> ・そのモデルを実現するにはどのような手段があるか？ <br> ・ターゲットCPUはどのようなメモリ保護機構を備えているか？ <br>  <br> 等、次元が違う事柄を混ぜて考えて混乱しているのだと思うのですが <br> 勉強すると<a href="../test/read.cgi/tech/1037096449/522" target="_blank">&gt;&gt;522</a><a href="../test/read.cgi/tech/1037096449/523" target="_blank">&gt;&gt;523</a>のような疑問がでてきてしまいます。 <>
デフォルトの名無しさん<>sage<>02/12/23 13:17<> CSとDSとSSのリミットやベースを変えると高級言語の多くの処理系で問題が出てきます <br> (コード領域の定数やスタック上のデータをデータ領域のデータと同様に扱うため) <br>  <br> ページング機構で各プロセスのメモリ空間自体を分離するのが一般的だと思います <br> このモデルの利点は(一部の安価なCPUを除きますが)移植性が比較的高いことです <br> セグメント機構はx86に強依存するので積極的には使われていません <br> (例外はTOWNS-OSやOSASK、286を意識したWindows3.1のようなOS) <br>  <br> コード領域は読み込み専用ページにして保護 <br> スタックの前後に読み書き不可ページを用意してオーバーフロー、アンダーフローを検知 <br> オーバーフローを検知したら実ページを割り当てスタック伸長 <br> タスクスイッチのスタック切り替えはページテーブル(のアドレスCR3)とESPを切り替える <>
ひげぽん<>sage<>02/12/23 14:09<> <a href="../test/read.cgi/tech/1037096449/526" target="_blank">&gt;&gt;526</a>さん <br> アドバイスありがとうございます。 <br>  <br> &gt;CSとDSとSSのリミットやベースを変えると高級言語の多くの処理系で問題が出てきます <br> &gt;(コード領域の定数やスタック上のデータをデータ領域のデータと同様に扱うため) <br>  <br> なるほど了解いたしました。 <br>  <br> &gt;ページング機構で各プロセスのメモリ空間自体を分離するのが一般的だと思います <br> はじめて読む486にもページングの解説がありましたので読みなおしてみます。 <br>  <br> &gt;コード領域は読み込み専用ページにして保護 <br> &gt;スタックの前後に読み書き不可ページを用意してオーバーフロー、アンダーフローを検知 <br> &gt;オーバーフローを検知したら実ページを割り当てスタック伸長 <br> &gt;タスクスイッチのスタック切り替えはページテーブル(のアドレスCR3)とESPを切り替える <br>  <br> なるほどなるほどページングを利用するとこんなことが出来るのですね。 <br>  <br> 現在Monaではページングを利用していないのですが <br> ページングを利用しないときには、タスクスイッチ時の <br> スタックポインタはOS側が切り替えるという認識であっていますでしょうか。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/23 14:50<> 便乗で申し訳ないが <br> タスク切り替え時のEBPとかはどうなってるのか知りたい。 <>
ひげぽん<>sage<>02/12/23 15:17<> Monaで <br> CS,DS,SSすべて、BASE=0,LIMIT=0xFFFFFFFFとしてみました。 <br>  <br> bochs君に <br> [CPU  ] can_push(): expand-down: esp-N &lt; limit <br> と怒られてしまいました。 <>
デフォルトの名無しさん<>sage<>02/12/23 16:05<> &gt;５２９ <br> &gt;bochs君に <br> [CPU ] can_push(): expand-down: esp-N &lt; limit <br> と怒られてしまいました。 <br>  <br> espがssのlimit下回ると#GPが発生するみたいですね。（えくすぱんどだうんでは。） <br>  <br> えくすぱんだうんはどこか理解しにくいですね。（へんな気分になる（爆）） <>
ひげぽん<>sage<>02/12/23 16:08<> <a href="../test/read.cgi/tech/1037096449/530" target="_blank">&gt;&gt;530</a> <br> どうもありがとうございます。 <br> ということは、ssのリミットは大きくしてしまうと <br> それだけでエラーになってしまうということでしょうか。 <>
デフォルトの名無しさん<>sage<>02/12/23 16:12<> INTEL依存のOS作っている人なら分かると思いますが、 <br> OSといってもソフトウェアなわけで、結局のところハード依存 <br> になってしまうんですよね。 <br> だから、数学的な理論以外ではソフトでは限界なんです。 <br> だから、OS作成にツーな方は、そのうちCPU設計の方に興味が <br> 行きやすいですね。 <br>  <br> 現にﾘｰナス氏はlinux作成者ですが、半導体メーカに勤めていることが <br> その理由だと考えられます。 <>
デフォルトの名無しさん<>sage<>02/12/23 16:17<> &gt;531 <br>  <br> esp &gt; ssのlimit であればエラーは起きない筈。 <br> だから、limit = 0xffffffff <br> ってありえないんですかね？ <br> 実はよくしらないっす（汗） <>
デフォルトの名無しさん<>sage<>02/12/23 18:19<> ☆CPUをつくろうpart1☆ <br>  <br> だれかつくってｗ <>
デフォルトの名無しさん<>sage<>02/12/23 18:28<> <a href="../test/read.cgi/tech/1037096449/529" target="_blank">&gt;&gt;529</a> <br> expand-down <br> 0&lt;-アクセス不可-&gt;limit&lt;-アクセス可能-&gt;0xffffffff <br>  <br> eapand-up <br> 0&lt;-アクセス可能-&gt;limit&lt;-アクセス不可-&gt;0xffffffff <>
ひげぽん<>sage<>02/12/23 21:03<> <a href="../test/read.cgi/tech/1037096449/535" target="_blank">&gt;&gt;535</a> <br> &gt;expand-down <br> &gt;0&lt;-アクセス不可-&gt;limit&lt;-アクセス可能-&gt;0xffffffff <br> &gt;eapand-up <br> &gt;0&lt;-アクセス可能-&gt;limit&lt;-アクセス不可-&gt;0xffffffff <br>  <br> ありがとうございます。 <br> expand-upにすれば良いということですね。 <br> ...と調べてみたのですが分からなかったので <br> intelのマニュアルを精読中です。 <br>  <>
デフォルトの名無しさん<><>02/12/23 21:33<> http://mona.sourceforge.jp/index.html <br> 文字化けしてます。 <br>  <br> 環境は IE 6.0 + SP1. <>
デフォルトの名無しさん<>sage<>02/12/23 21:38<> 同じく文字化け <br> Opera 6.05 <br> SJISとＣＳＳの関係か？ <>
ひげぽん<>sage<>02/12/23 21:40<> すいません。私のアップロードミスです。 <br> 直りましたか？ <br>  <br> ちなみにこのページは (・∀・)yossy◆FlasH.X1/s さん作です。(感謝) <>
537<><>02/12/23 21:45<> IE6.0 + SP1 <br> 直った！ <br>  <br> ひげぽんがんがれ <>
ひげぽん<>sage<>02/12/23 21:54<> METAタグで <br> text/html; charset=Shift_JIS <br> を指定して <br> ファイルの文字コードをSHIFT-JISにしているのに <br> 文字化けが起きていたようなので、 <br> 緊急避難的にEUCに変換後アップロードしました。 <br>  <br> するとIEは文字コード自動認識でEUCと判断してくれて <br> OKという状態のようです。 <br>  <br> でもこんどはNN4.78で文字化け(泣) <>
(・∀・)yossy </b>◆FlasH.X1/s <b><>sage<>02/12/23 22:01<> 皆さん、始めまして <br> 秘密裏にMonaWebDesignerになっていた(・∀・)yossy◆FlasH.X1/sです <br> これからちょくちょく2chにも顔だそうかと思います。 <br>  <br> 今、MPDN(MonaProjectDeveloperNetwork)という、開発者向け情報のページを作成中です。 <br> お楽しみに。 <br> ちなみに、&gt;512は私です。 <>
デフォルトの名無しさん<>sage<>02/12/23 22:04<> <a href="../test/read.cgi/tech/1037096449/541" target="_blank">&gt;&gt;541</a> <br> sourceforge.jpは、EUC-JP以外ダメっす。 <br> charset=euc-jp指定しましょう。 <br>  <>
ひげぽん<>sage<>02/12/23 22:15<> <a href="../test/read.cgi/tech/1037096449/543" target="_blank">&gt;&gt;543</a> <br> アドバイスありがとうございます。 <br> IE6 & NN4.78で確認できますた。 <br>  <br> (・∀・)yossy さん本当にありがとうございます。 <>
デフォルトの名無しさん<>sage<>02/12/23 22:45<> 直ったぞ。 <br> Opera 6.05  <>
ひげぽん<>sage<>02/12/23 22:47<> <a href="../test/read.cgi/tech/1037096449/545" target="_blank">&gt;&gt;545</a> <br> ご確認ありがとうございます。 <br>  <br> ついでにカウンタも動くようになりました。 <>
ぁゃしぃ肉球苦楽撫<>sage<>02/12/23 23:14<> あした去勢に逝ってきます <>
デフォルトの名無しさん<>sage<>02/12/23 23:28<> <a href="../test/read.cgi/tech/1037096449/542" target="_blank">&gt;&gt;542</a> <br> (・∀・)ｲｲﾈ!! <>
デフォルトの名無しさん<>sage<>02/12/23 23:59<> 現在：　　NWSOS &gt; MEG &gt; MONA <br> 半年後：　MONA &gt; NWSOS &gt; MEG <>
ひげぽん<>sage<>02/12/24 00:34<> <a href="../test/read.cgi/tech/1037096449/549" target="_blank">&gt;&gt;549</a> <br> &gt;現在：　　NWSOS &gt; MEG &gt; MONA <br> &gt;半年後：　MONA &gt; NWSOS &gt; MEG <br>  <br> いやそんなことないです(断言) <br> 現実的に考えて、無理です。 <br>  <br> 現在の私の主観では、ひげぽんが現在レベル2だとすると <br> LightConeさん、みとこさんはレベル50以上です。 <br> 経験・知識・今までの実績すべてにおいてぜんぜんかないません。 <br>  <br> まあお二人を追い抜くことを目標にするのはありかもしれませんが（笑） <br>  <br>  <>
ひげぽん<>sage<>02/12/24 00:37<> さて次の目標は「ページングを実現すること」 <br> にします。 <br>  <br> 幸い「はじめて読む486」に詳しい解説があるようなので <br> やってみます。 <br>  <br> でもメモリに関しては、まだ？なところがたくさんあります。 <br>  <>
デフォルトの名無しさん<><>02/12/24 01:06<> <a href="../test/read.cgi/tech/1037096449/534" target="_blank">&gt;&gt;534</a> <br> 焼くのが目標なのか、エミュレータを作るのが目標なのか・・・・ <>
デフォルトの名無しさん<>sage<>02/12/24 01:09<> <a href="../test/read.cgi/tech/1037096449/550" target="_blank">&gt;&gt;550</a> <br> 御安心下さい。 <br> 自作自演レベルは既に50以上ですよ。 <>
デフォルトの名無しさん<>sage<>02/12/24 01:43<> &gt;&gt;半年後：　MONA &gt; NWSOS &gt; MEG <br>  <br> まともなGUIを配備している唯一のOSはNWSOSだし、 <br> MONAはまだそういう段階ではないので、未知数。 <br> というか比較不能。 <br>  <br> カーネルレベルでは、確かにMONAがNWSOSを追い抜く可能性は高いけど <br> GUIは別。実際、リーナス氏ですら、GUIに関してはとんだ素人だしね。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/24 01:56<> <a href="../test/read.cgi/tech/1037096449/553" target="_blank">&gt;&gt;553</a> <br> そういうのﾔﾒﾚ <br> ﾓﾁﾍﾞｰｼｮﾝｦ下げてどうする。 <>
みとこ </b>◆AEqcy/sQU6 <b><><>02/12/24 02:39<> 見た目にだまされちゃだめ。 <br> 現時点のカーネルの完成度は NWSOS &gt; MONA &gt; MEG ですよvv <>
みとこ </b>◆AEqcy/sQU6 <b><>sage<>02/12/24 02:43<> 慣れないブラウザ使ったんであげちまったっす。 <br> 吊ってきまつ。。。 <>
デフォルトの名無しさん<>sage<>02/12/24 04:12<> &gt;まともなGUIを配備している唯一のOSはNWSOSだし、 <br> NWSOSの各窓には、Windowsのようなデバイスコンテキストみたいなものがあるの？ <br> 点を打ったりラインを打ったりするのも、デバイスコンテキスト経由かな？ <br>  <br> というか、NWSOSのGUI-APIのドキュメントってどこ？ <br> ぷりーず！ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 08:52<> <a href="../test/read.cgi/tech/1037096449/558" target="_blank">&gt;&gt;558</a> <br> &gt;NWSOSの各窓には、Windowsのようなデバイスコンテキストみたいなものがあるの？ <br> あります。 <br>  <br> &gt;点を打ったりラインを打ったりするのも、デバイスコンテキスト経由かな？ <br> そうです。 <br>  <br> しかし、Windowsだと、hDC を、全てのGDI関数の第一引数に渡しますが、 <br> NWSOSだと、「カレントDC」をスレッド単位に持っていて、暗黙のうちに <br> カレントDCに対して描画されます。 <br>  <br> &gt;というか、NWSOSのGUI-APIのドキュメントってどこ？ <br> http://homepage2.nifty.com/nowsmart/nwsosapi.htm#NWSOS API <br> の「グラフィック API」のところに一覧があります。 <br>  <br> カレントDCを設定するAPIは、今のところ三種類用意されてます。 <br>  <br> BOOL gfSetWholeDC( HWND hWnd ); カレントウィンドウを設定（全体描画）  <br> BOOL gfSetClientDC( HWND hWnd ); カレントウィンドウを設定（クライアント領域）  <br> BOOL gfSetClipDC( HWND hWnd, int clipX, int clipY, int clipSx, int clipSy ); カレントウィンドウを設定（任意領域）  <br>  <>
デフォルトの名無しさん<>sage<>02/12/24 09:04<> 仮想デバイスコンテキストなんかも、作れるの？ <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 09:16<> <a href="../test/read.cgi/tech/1037096449/560" target="_blank">&gt;&gt;560</a> <br> &gt;仮想デバイスコンテキストなんかも、作れるの？ <br> 今のところ作れません。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 09:18<> <a href="../test/read.cgi/tech/1037096449/560" target="_blank">&gt;&gt;560</a> <br> 　ただ、描画している様子を見せたくないと言う事が目的なら、 <br> 仮想VRAMを利用できます。 <br>  <br> また、独自のグラフィックライブラリを作りたい場合は、 <br>  <br> &gt;void gfPutImage( int tx, int ty, int sizeX, int sizeY, BYTE *pImage, EIMAGE_TYPE typeImage ); 指定イメージの描画 <br> &gt;自動形式変換機能搭載  <br>  <br> こういうものを利用すると出来ます。 <>
デフォルトの名無しさん<>sage<>02/12/24 09:27<> ＞　ただ、描画している様子を見せたくないと言う事が目的なら、 <br> ＞仮想VRAMを利用できます。 <br> ん、あ、例えば、CADなんか作ってると、Windowに収まらない領域なんかへも <br> きちんと描画しとかないと、毎回描画しなおしなわけで。 <br>  <br> 裏側に、大きな仮想画用紙を用意しておき、必要な領域だけWindowに転送 <br> するっていうのが欲しかっただけなんだけどね <br>  <br> Windowsってそのへん、明らかに設計ミスってるでしょ？ <br>  <>
デフォルトの名無しさん<>sage<>02/12/24 09:32<> NWSOSのカーネルAPIってどのような手順で呼び出されるのでしょ？ <br> ｘ８６のユーザーモードからカーネルモードへの変換タイミングってどこ？ <br> みたいな感じで。MONAはどうなんだろ？ソースみるか･･･ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 09:34<> <a href="../test/read.cgi/tech/1037096449/563" target="_blank">&gt;&gt;563</a> <br> &gt;裏側に、大きな仮想画用紙を用意しておき、必要な領域だけWindowに転送 <br> &gt;するっていうのが欲しかっただけなんだけどね <br>  <br> 今のところそういう設計にはなってませんが、検討してみます。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 09:37<> <a href="../test/read.cgi/tech/1037096449/564" target="_blank">&gt;&gt;564</a> <br> &gt;NWSOSのカーネルAPIってどのような手順で呼び出されるのでしょ？ <br> &gt;ｘ８６のユーザーモードからカーネルモードへの変換タイミングってどこ？ <br>  <br> 現状で言えば、NWSOSのAPIは、int 22hをライブラリでラッピングしたもの <br> です。 <br>  <br> int 22h で、ユーザーモード ---&gt; カーネルモード への切り替えを行って <br> います。 <br>  <br> ただし、この仕様は変更される可能性があるので、必ずライブラリ関数を <br> 呼び出してください。 <>
デフォルトの名無しさん<>sage<>02/12/24 09:44<> <a href="../test/read.cgi/tech/1037096449/563" target="_blank">&gt;&gt;563</a> <br> &gt;Windowsってそのへん、明らかに設計ミスってるでしょ？ <br> メモリに確保したビットマップのDCを取得して描画・転送できます <br> そのへんもOSにまかせたいという話ならわかりますが <br> 設計ミスとまではいえないのではないでしょうか？ <>
デフォルトの名無しさん<>sage<>02/12/24 09:55<> &gt;メモリに確保したビットマップのDCを取得して描画・転送できます <br> &gt;そのへんもOSにまかせたいという話ならわかりますが <br> &gt;設計ミスとまではいえないのではないでしょうか？ <br> ん？いや、完璧な設計ミスだよ。 <br> 画面外の描画もOS内部で引き受けてれば、窓サイズが変化しただとか <br> 他の窓が上にかぶさったときだとか、わざわざアプリにDrawメッセージを <br> 送ることなくOS内部で処理できたんだからね。 <br> スクロールバーで動かしたときも、わざわざアプリに問い合わせる必要も <br> なかったしね。 <br>  <br> そのへん、X-Windowなんかはよく出来てるよ。 <br>  <>
568<>sage<>02/12/24 10:04<> 一度、窓でCADなどを設計すれば分かると思うけど、 <br> Drawメッセージが来たからといってクライアントDCにがしがし描画すると <br> とても使い物にならない。 <br> そこで、MSが薦めるように、アプリ側で巨大な互換DCを作成し、通常はそこに <br> 描画し、Drawメッセージが来たときは、必要な矩形のみをクライアントDCに <br> BLTしてください･･･と。 <br>  <br> けど、これって、OSメーカの設計ミスを <br> アプリ屋に尻拭いさせてるに過ぎないんだよね。 <br>  <br> 互換DCへの描画って、グラフィックアクセラレータの恩恵を受けないし、 <br> 重いし･･･ <br>  <br> Xみたいに描画コマンドをOS内部のワークにキューイングされる仕組みだったら <br> 必要なコマンドをクリップに応じてチョイスし、それをレンダリングするという <br> ことが可能だった。 <br>  <br> OSメーカの設計ミスによる怠慢は、後々ひびく。 <br>  <>
初心者<>sage<>02/12/24 10:13<> ひげぽんさん <br> 私もOSを作ろうとかねてから考えていたものです。 <br> 僕CとPascalしか今のところできませんが、「はじめて読む486」を買 <br> いがんばって追いつこうと思いますので、どうか協力させてくださいm(_ _)m <br> 「はじめて読む486」早く買いたいのですが、なにぶん「8086マクロアセンブラ入門」という本を買ったばかりなので、お金がなくて買えません <br> がんばってください... <>
デフォルトの名無しさん<>sage<>02/12/24 10:17<> 568-569の話を真に受けるとメモリ食いすぎになりそうでイイ！ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 10:17<> <a href="../test/read.cgi/tech/1037096449/569" target="_blank">&gt;&gt;569</a> <br> ちょっと話の内容がずれますが、 <br>  <br> &gt;Xみたいに描画コマンドをOS内部のワークにキューイングされる仕組みだったら <br>  <br> 描画コマンドをいったんバッファに入れておいて、バッファが一杯になった <br> り、gfFlush()(仮)を呼び出したときに描画する、と言う仕様はNWSOSでも <br> 将来やりたいと思っています。 <br>  <br>  <br> Windowsの話になりますが、 <br>  <br> &gt;互換DCへの描画って、グラフィックアクセラレータの恩恵を受けないし、 <br>  <br> 私もそんな感じがしたことがあります。 <br>  <br> WindowsでCADをやるには、GDIを使わずに OpenGL を使った方がいいと思い <br> ます。DirectX と競争できる程度に速いようですので。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 10:24<> <a href="../test/read.cgi/tech/1037096449/568" target="_blank">&gt;&gt;568</a> <br> &gt;画面外の描画もOS内部で引き受けてれば、窓サイズが変化しただとか <br> &gt;他の窓が上にかぶさったときだとか、わざわざアプリにDrawメッセージを <br> &gt;送ることなくOS内部で処理できたんだからね。 <br>  <br> サイズ変更に関してはそれだけではすまないんじゃないでしょうか。 <br>  <br> なぜなら、多くのアプリケーションでは、Window-Sizeが変更されたとき、 <br> 論理的な描画内容も変更するからです。 <br>  <br> 例えば、エディタでは、「折り返し」の文字数が変化します。 <>
568<>sage<>02/12/24 10:29<> &gt;Windowsの話になりますが、 <br> &gt;&gt;互換DCへの描画って、グラフィックアクセラレータの恩恵を受けないし、 <br> &gt;私もそんな感じがしたことがあります。 <br> 同感してくれて、どうもありがとう。 <br>  <br> &gt;WindowsでCADをやるには、GDIを使わずに OpenGL を使った方がいいと思い <br> &gt;ます。DirectX と競争できる程度に速いようですので。 <br> んー、DirectXのことは全く知らないけど、OpenGLを使ったからといって <br> アプリ側が即解決できる問題でもないんだよね。 <br> gl系の描画関数をOS側が全て保持し、OS側がクリップし、ハードレンダかけないと。 <br> OSが気軽にアプリにDrawメッセージ送りつけられても、アプリ側がクリッピングするのって <br> 大変だし、そもそもそんな共通処理をアプリに押し付けるってどうよ？みたいな。 <br>  <br> 例えば、2chみたいな縦にながーいHTMLをブラウザに表示するにしても、 <br> どうする？CADだったら、ある程度巨大なDCを用意するだけで済んだけど、 <br> 2chみたいに長いと（もっと長い例あるけど）、描画コマンドを蓄えて、描画前に <br> クリップを見積もって・・・・って処理、アプリがせねばならない。IEもやってるように。 <br>  <br> このあたりNWSOSがまともにサポートすれば、アドバンテージになるのでは？ <>
568<>sage<>02/12/24 10:33<> ＞568-569の話を真に受けるとメモリ食いすぎになりそうでイイ！ <br> 実際には描画単位はもっと細切れにできるんで、RECT配列を作り <br> クライアント領域との衝突判定をし、必要なぶんだけ描画するのが <br> 望ましいのだけど、例えば、サイズの異なるフォントが混在する文書を <br> 表示するとき、結局、最後まで描画するはめになるのよ。 <br>  <br> このあたりは実務を積めば、そうそう、と納得してくれると思うがね。 <br>  <>
ひげぽん<>sage<>02/12/24 10:33<> <a href="../test/read.cgi/tech/1037096449/570" target="_blank">&gt;&gt;570</a> <br> こんにちははじめまして。 <br> もしご協力いたけるのであれば <br> http://mona.sourceforge.jp/ <br> のプロジェクトメンバー募集をごらん頂いて <br> ひげぽん宛にご連絡ください。 <br>  <br> &gt;私もOSを作ろうとかねてから考えていたものです。 <br> 考えを実行に移しましょう！！ <br>  <>
デフォルトの名無しさん<>sage<>02/12/24 10:37<> もしかしてScrollDCを知らないとか... <>
デフォルトの名無しさん<>sage<>02/12/24 10:40<> <a href="../test/read.cgi/tech/1037096449/577" target="_blank">&gt;&gt;577</a> <br> 黙ってろ！ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 10:40<> <a href="../test/read.cgi/tech/1037096449/574" target="_blank">&gt;&gt;574</a> <br> &gt;gl系の描画関数をOS側が全て保持し、OS側がクリップし、ハードレンダかけないと。 <br> &gt;OSが気軽にアプリにDrawメッセージ送りつけられても、アプリ側がクリッピングするのって <br>  <br> OpenGL は、描画コマンドを「記憶」させておいて、「再生」できますよね。 <>
568<>sage<>02/12/24 10:44<> &gt;&gt;もしかしてScrollDCを知らないとか... <br> スクロールされたあとは、結局、その領域に対して描画せねばならない。 <br> あのAPIはなにも解決してくれない。 <br> 結局、アプリ側の描画指定群をOS側で保持してくれないかぎり <br> どうにも解決できない問題。（もしくはその解決はアプリの責任） <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 10:46<> #568さん、IRCの、 <br>  <br> #osdev-j <br>  <br> で、話しませんか。 <br>  <br> ご存知かもしれませんが、IRCは、リアルタイムチャットのプロトコルで、 <br> 私は、LimeChat というアプリで利用してます。 <>
568<>sage<>02/12/24 10:47<> ＞OpenGL は、描画コマンドを「記憶」させておいて、「再生」できますよね。 <br> っていうのをアプリに押し付けるのは止めて欲しいというお話。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 10:49<> <a href="../test/read.cgi/tech/1037096449/582" target="_blank">&gt;&gt;582</a> <br> オブジェクトの「カリング」自体も、OSにやってくれ、ということですか？ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 10:52<> 　Windowサイズ変更時などに、描画コマンドの記憶・再生するのをOSが勝手に <br> やって欲しいと言う事ですか？ <>
568<>sage<>02/12/24 10:52<> ＞オブジェクトの「カリング」自体も、OSにやってくれ、ということですか？ <br> OpenGL対応のカードならハードウェアで図形ポリゴンのカリングをしてくれるので <br> OSでやらずしてどこでする？みたいなのり。 <br>  <br>  <>
568<>sage<>02/12/24 10:55<> ＞　Windowサイズ変更時などに、描画コマンドの記憶・再生するのをOSが勝手に <br> ＞やって欲しいと言う事ですか？ <br> そういうこと。サイズ変更時に発生するテキストの折り返しがやりたければ、 <br> アプリ側が描画コマンドを再構築すればよいだけの話で、そうでなければ <br> OSが保持している描画コマンドに従ってレンダリングするのみ。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 10:56<> <a href="../test/read.cgi/tech/1037096449/585" target="_blank">&gt;&gt;585</a> <br> HTMLやワープロデータの描画などで時間がかかるのは、描画自体ではなく、 <br> データの解析と計算にありますよね。 <br>  <br> 「カリング」で高速化できる一番大きな理由は、解析と計算を省けるから <br> ですよね。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/24 10:58<> <a href="../test/read.cgi/tech/1037096449/586" target="_blank">&gt;&gt;586</a> <br> なるほど。 <br>  <br> そういう所までなら、OSで自動化できますね。 <br>  <br> #587の様な意味での解析や計算行為の「カリング」はOSには無理ですが。 <>
デフォルトの名無しさん<>sage<>02/12/24 14:53<> 最初から完璧なOSなんか期待してないよ。 <br> ボロくてもいいから出せばいい <br> それをみんなで良くしていけばいいじゃないか <>
デフォルトの名無しさん<>sage<>02/12/24 15:50<> Lたん　＝　にしだ　わた○　　　と...。 <>
589<>sage<>02/12/24 16:13<> あ、当然俺はこんなの手伝わないけど（ｗ <>
デフォルトの名無しさん<>sage<>02/12/24 17:18<> <a href="../test/read.cgi/tech/1037096449/589" target="_blank">&gt;&gt;589</a> <br> 実はそうはいかなかったり。 <br> 設計の段階でボロくやってしまうと後で重大な欠陥が見つかって <br> その修正に物凄い時間がかかる。 <br> まあﾏﾀｰﾘしませう <>
デフォルトの名無しさん<>sage<>02/12/24 17:20<> Linuxなんて酷かったから、修正するのにあんなにかかったもんな。 <br> もっとマトモに設計していればそうでもなかったと思うけど、 <br> マトモに設計してたら誰も寄り付かなかっただろうな。 <>
初心者<>sage<>02/12/24 17:26<> MonaOSの開発に参加させてもらったのは <br> みんなのレベルに追いつけるかなぁ〜（汗 <br> とりえあえず「はじめて読む486」買いに行こうと思ったら <br> どこにもない（泣 <br> 仕方がないから注文しました... <br>  <br> 今年中には無理そうなので、それまでにみんながどんどん進んでいって <br> 置いてきぼりにされそう... <br>  <br> とりあえず全身全霊を込めてがんばります <br>  <br> 「8086マクロアセンブラ入門」今手元にこの本があるのですが <br> この本はどうなんでしょう？何方かお持ちでないでしょうか？ <br> 個人的にはこの本すごくわかりにくいような気がするのですが... <br>  <>
ひげぽん<>sage<>02/12/24 18:12<> <a href="../test/read.cgi/tech/1037096449/594" target="_blank">&gt;&gt;594</a>　初心者さん <br>  <br> &gt;とりえあえず「はじめて読む486」買いに行こうと思ったら <br> &gt;どこにもない（泣 <br> &gt;仕方がないから注文しました... <br>  <br> 確かになかなか町の本屋さんでは見かけませんねぇ。 <br> この本が一番元を取っているかもしれません。 <br>  <br> &gt;今年中には無理そうなので、それまでにみんながどんどん進んでいって <br> &gt;置いてきぼりにされそう... <br>  <br> いえいえそんなあせることないですよ。 <br> 年明けまでにそんなには進まないと思います。 <br>  <br> &gt;とりあえず全身全霊を込めてがんばります <br> 一緒にがんばりましょう。 <br>  <br> &gt;「8086マクロアセンブラ入門」今手元にこの本があるのですが <br> &gt;この本はどうなんでしょう？何方かお持ちでないでしょうか？ <br> &gt;個人的にはこの本すごくわかりにくいような気がするのですが... <br>  <br> 読んだことなですねぇ。 <br> アセンブラ勉強しなきゃ・・・ <br>  <br>  <br>  <>
初心者<>sage<>02/12/24 18:32<> とりあえず <br> キーの入力をストロークするプログラムを作ったｗ（一文字だけだけど） <br> 動いたときすごい感動しました！！ <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/24 19:18<> 第二のひげぽんｷﾀｰ？ <>
ひげぽん<>sage<>02/12/24 19:39<> C++で変な現象が起きていて困っています。 <br>  <br> キーボード入力を受け付けるKeyBoardManagerクラスは <br> シングルトンパターン(インスタンスの唯一性を保証する)で <br> 実装されています。 <br>  <br> 具体的には、インスタンスを必要とするときは <br> KeyBoardManager& km = KeyBoardManager::instance(); <br> とinstance()メソッドを介します。 <br>  <br> instance()メソッドはこんな感じです。 <br> static KeyBoardManager& instance() { <br> &nbsp;&nbsp;&nbsp;&nbsp;static KeyBoardManager theInstance; <br> &nbsp;&nbsp;&nbsp;&nbsp;return theInstance; <br> } <br>  <>
ひげぽん<>sage<>02/12/24 19:39<>  <br> OSを起動してはじめてinstance()メソッドを <br> 呼ぶとint atexit( void (*func)(void))が呼ばれて <br> いるようなのです。そのとき引数としてfuncには <br> ~KeyBoardManager()が渡っています。 <br> これって通常の動作なのでしょうか。 <br> 何かエラーが起きているのでしょうか。 <br>  <br> ※ちなみにX86MemoryManagerも同様の実装ですが <br> このような現象は起きていません。 <br> また以前はこの現象は起きていませんでした。 <br>  <br>  <br> デバッグしてみると <br> &nbsp;&nbsp;&nbsp;&nbsp;static KeyBoardManager theInstance; <br> のところでatexit()が呼ばれてるようです。 <br>  <br> instace() { <br> &nbsp;&nbsp;引数なしコンストラクタKeyBoardManager()が終了直後に <br> &nbsp;&nbsp;atexit(~KeyBoardMangerへのポインタ)が呼ばれる <br> } <br>  <br> どなたかアドバイスいただけないでしょうか。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/24 21:12<> 　 ∧＿∧  <br> ＜後ろ頭＞-~~~ それは当然の動作のような。 <br> staticなオブジェクトならプログラム終了時にデストラクタがよばれるよう、 <br> atexitで予めデストラクタ関数が呼ばれるように登録しておく。 <br>  <br> 逆言えば、atexitを呼ばないX86MemoryManagerが怪しい。 <br> #デストラクタが空っぽなら自動的に省略されるという可能性あり。 <>
ひげぽん<>sage<>02/12/24 21:49<> 超先生ありがとうございます。 <br>  <br> &gt;　 ∧＿∧ <br> &gt;＜後ろ頭＞-~~~ それは当然の動作のような <br>  <br> そうなんですね。失礼いたしました。 <br> ということは、OS終了時に後片付けをする場合はatexitを活用するのですね。 <br>  <br> ちょっとWEBで調べたところ、通常atexitは登録された関数を <br> 登録と逆順で呼んでくれるそうです。 <br>  <br> ただし、Mona内のお話の場合、atexitを実装する責任があるのは <br> ひげぽんにあるんですかね。 <br>  <br> きちんと実装してもメリットがあるかどうかが非常に疑問ですが。 <>
ひげぽん<>sage<>02/12/24 22:11<> C++もいいかげんきちんと勉強しなきゃいけないですね。 <br> OSを作り始めたころにはじめたも同然なので・・・ <br> アセンブラよりは得意かもしれませんが、精進いたします。 <>
デフォルトの名無しさん<>sage<>02/12/24 22:19<> BIOS関連の質問ですが、 <br>  <br> プロテクトモード以降前に <br>  <br> mov al, 0xD1; classical AT type  <br> out 0x64, al; write output(0xD1), keyboad control port(0x64) <br> mov al, 0xDF; enable A20 line(0xDF) <br> out 0x60, al; keyboard read/write port(0x60) <br>  <br> in al, 0x92; PS/2 type <br> or al, 0x02 <br> out 0x92, al <br>  <br> でA20を有効化しているのですが、そのせいあってか、IDT初期化後sti <br> するとかならず、キー割込みが入ってしまいます。 <br> A20有効化の後に、in al, 0x60　でフラッシュしても、割り込まれます。 <br>  <br> また、int 0x13で読み込んだ後にFDモータをとめるには <br> どうすればいいんでしょうか？ <>
デフォルトの名無しさん<>sage<>02/12/24 22:45<> <a href="../test/read.cgi/tech/1037096449/604" target="_blank">&gt;&gt;604</a> <br> PICで、割り込みマスクしとけばいいんでは？ <br> モータはFDCにコマンドを送って止めるんではなかったかと。 <br> 手元に資料が無いので、詳しい事は自力であたってくれ。 <br>  <>
604<>sage<>02/12/24 22:45<> s/604/603/ <br> すまそ。 <br>  <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/25 14:53<> 自分で割り込み許可しといて「割り込みが来ます。なんとかしる！」というのはどうかと。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/25 14:56<> 　 ∧＿∧ <br> ＜後ろ頭＞-~~~ KBCのfifoバッファをクリアしないとダメやね。 <>
ひげぽん<>sage<>02/12/25 15:12<> 最近A20関連でそんな事をやったようなやらないような。 <>
デフォルトの名無しさん<><>02/12/26 02:06<> MonaのDoxygenドキュメントはどこ？ <>
デフォルトの名無しさん<>sage<>02/12/26 06:14<> 質問だけど、超先生がいつも住んでいるOSはなんですか？ <br>  <>
デフォルトの名無しさん<>sage<>02/12/26 07:34<> 青村OSかと… <>
ひげぽん<>sage<>02/12/26 13:10<> <a href="../test/read.cgi/tech/1037096449/609" target="_blank">&gt;&gt;609</a> <br> すいません、現在はWebでは公開していません。 <br> もうまもなくMPDNで公開する予定です。 <br> しばらくお待ちください。 <br>  <br> ソースをダウンロードして、Makeすれば <br> 一応ドキュメントが生成されます。(doxygen必須ですが・・・) <br>  <>
デフォルトの名無しさん<>sage<>02/12/26 22:50<> age <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/27 13:55<> ＞ひげぽんたん <br>  <br> VirtualPCでは一応起動したけど、タスク切り替えだめぽ。。。 <br> http://meg-os.org/2ch/mona.jpg <br>  <>
ひげぽん<>sage<>02/12/27 14:05<> みとこさん <br> &gt;VirtualPCでは一応起動したけど、タスク切り替えだめぽ。。。 <br> ご確認ありがとうございます。 <br> タスク切り替えの所で止まってしまうのでしょうか。 <br> もう一つの顔が表示されてない・・・ <br>  <br> 動作確認できているのは、bochs1.41,bochs2.0,我が家の実機2台 <br>  <br> タスク切り替えで何か間違いをやらかしてそうですね。 <br> LDTあたりで。 <br>  <>
ひげぽん<>sage<>02/12/27 14:13<> みとこさん <br> VirtualPC持っているんですね。 <br> うらやますぃ。 <br> vmware,virtual PC高いですよ。 <br> OS開発者ライセンスないかな。。 <br> mona.sourceforge.jpにバナー貼るから（笑） <>
大空寺あゆ<>sage<>02/12/27 15:18<> 　　　　＿ _ <br> 　l|ﾞi 《l| 　ヽl|　　　　　　　 ／￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣ <br> 　 ﾉノﾉノﾉ ）) 〉 　 　 　 　 |　Un_death_too(); /* 挨拶 */ <br> 　(（ (ﾘ ﾟヮﾟﾉlヽ　　 　 　 ＜.　TSSにLDTは必須ではないわさ。 <a href="../test/read.cgi/tech/1037096449/615" target="_blank">&gt;&gt;615</a> <br> 　 ))⊂)l水!つ ）　　　　　　|　iret()マクロのiret命令はiretdだと思うんだわさ! <br> 　 （　/ 人 〉　(　　　　　　　＼＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ <br> 　　　 し'ﾉ <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/27 15:23<> そもそもタスク切り替えしてないんじゃないかと <>
涼宮茜<>sage<>02/12/27 15:35<> 　　　　＿,.'⌒) <br> 　　　, ´f二ｺヽ <br> 　 　 ! l !ﾉ ﾘ i l　「そもそも割り込みゲートを使っておきながら <br> 　　ノiﾊl.ﾟ ｰﾟﾉﾘ　TSSのbacklinkでタスク実行するは設計上のバグですね。 <br> 　　　 ⊂)允つ　割り込みハンドラ自体をTSSにしないと」 <>
みとこ  </b>◆AEqcy/sQU6 <b><>sage<>02/12/27 15:36<> TSSってIDTにおけたっけ？ <br> IDTはゲートしか置けない気が <>
ひげぽん<>sage<>02/12/27 16:40<> 大空寺あゆ さん <br> こんにちは <br> &gt;TSSにLDTは必須ではないわさ <br> そのはずなのですが、bochs君がLDTを要求するようなので <br> ダミーのLDTを作成した次第であります。 <br> こいつが悪さをしたのかなあ？ <br>  <br> &gt;iret()マクロのiret命令はiretdだと思うんだわさ <br> iretではまずいのでしょうか。iretdでmakeしたらasに怒られました。 <br>  <br>  <br>  <br>  <br>  <br>  <>
涼宮茜  </b>◆Age/NEMxEc <b><>sage<>02/12/27 16:44<> 　　　　＿,.'⌒)　<a href="../test/read.cgi/tech/1037096449/620" target="_blank">&gt;&gt;620</a> <br> 　　　, ´f二ｺヽ　「もちろんIDTにはタスクゲートを置きますよ。 <br> 　 　 ! l !ﾉ ﾘ i l　現在の実装だと、一方のタスクが再び実行された時、 <br> 　　ノiﾊl.ﾟ ｰﾟﾉﾘ　ハンドラ内から走り始めてしまいます。 <br> 　　　 ⊂)允つ　それだと多重割り込みを受け付ける場合に不味いです」 <>
ひげぽん<>sage<>02/12/27 16:49<> <a href="../test/read.cgi/tech/1037096449/618" target="_blank">&gt;&gt;618</a> みとこさん <br> &gt;そもそもタスク切り替えしてないんじゃないかと <br> eflagsレジスタのNTフラグを立てる <br> 切り替え先のTSSの属性をBUSYにする。 <br> backlinkの設定 <br> iret <br>  <br> とタスク切り替えをしているつもりなのですが <br> 間違っているでしょうか。 <br>  <br> &gt;涼宮茜 さん <br>  <br> &gt;割り込みハンドラ自体をTSSにしないと <br>  <br> 最初の動機として、タイマ割り込みでタスクスイッチしたいというのが <br> ありました。 <br> 今採用している方法しか分からないというのが現状です(ToT) <br> 上記の方法をもう少し詳しく教えていただけないでしょうか。m(__)m <br>  <>
デフォルトの名無しさん<>sage<>02/12/27 16:57<> gasでは <br> iret(32bit) iretw(16bit) iretl(32bit) <br>  <br> masmでは <br> iret(16bit) iretd(32bit) <>
涼宮茜  </b>◆Age/NEMxEc <b><>sage<>02/12/27 17:13<> 　　　　＿,.'⌒) <br> 　　　, ´f二ｺヽ <br> 　 　 ! l !ﾉ ﾘ i l　「そういえば、割り込みハンドラ内でpusha/popaをしていないようですが、 <br> 　　ノiﾊl.ﾟ ｰﾟﾉﾘ　これでは汎用レジスタが破壊されてしまうと思います」 <br> 　　　 ⊂)允つ　 <br>  <br> void *****_handler() <br> { <br> 　pusha(); <br>  <br> 　popa(); <br> 　iret(); <br> } <>
デフォルトの名無しさん<>sage<>02/12/27 19:24<> &gt;625 <br> 割込みではCPUが <br> push eflags <br> push cs <br> push eip <br>  <br> するみたいですが <br> 汎用レジスタは保障されないのかぁ <>
ひげぽん<><>02/12/27 23:29<> 涼宮茜さん <br>  <br> &gt;pusha/popaをしていないようですが、 <br> &gt;これでは汎用レジスタが破壊されてしまうと思います <br>  <br> アドバイスありがとうございます。 <br> 早速取り入れさせていただきます。 <>
デフォルトの名無しさん<>sage<>02/12/28 03:55<> ＞するみたいですが <br> ＞汎用レジスタは保障されないのかぁ <br> 保障されないよ。ハンドラがaxレジスタしか使わない場合などは push ax -&gt; pop ax <br> で済んでしまうケースもあるってことで、大抵のCPUは汎用レジスタはセーブしない。 <br> $sp相当のCPUすらセーブしないこともしばしば。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/28 16:05<> 馬鹿な質問ですが、おゆるしを。。。 <br>  <br> TSSを設定するときで、tss-&gt;eipに関数のアドレスを入れたいのですが、 <br> (void *)funcとして、入れるとその場でfunc関数が実行してしますいます。 <br> （当たり前のことですが。。。） <br> そもそもfunc関数の開始アドレスってどうすれば分かるのでしょうか？ <>
デフォルトの名無しさん<>sage<>02/12/28 16:58<> <a href="../test/read.cgi/tech/1037096449/610" target="_blank">&gt;&gt;610</a> <a href="../test/read.cgi/tech/1037096449/611" target="_blank">&gt;&gt;611</a> <br>  <br> RROSじゃないの? <br>  <>
デフォルトの名無しさん<>sage<>02/12/28 23:44<> set_tss(tss_t* tss, void (*fn)(void), void* esp); <br>  <br> set_tss(tss, (void*)func, stack); <br>  <br> × (void*)func() <br> ○ (void*)func  <>
デフォルトの名無しさん<>sage<>02/12/29 01:49<> 基本的においらはオープン派が好き。 <br> だから、NWSOSっていうかMONAびいき。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/29 16:39<> いや、L氏に加担するわけじゃないけど、 <br> ソースを公開してしまうと、役に立つかもしれないが、 <br> 逆に「そんなものか」と思ってしまい、つまらなくなる。 <br> 手品だって種明かしちゃつまらんだろ。 <>
633<>sage<>02/12/29 16:41<> でも、オープンのいいところは、 <br> バグ報告があるってことで、ものの質的にはよくなるけどね。 <>
633<>sage<>02/12/29 23:59<> linuxのソースのかなりの部分を占める（？ <br> 関数自体を定義するんではなくて、 <br>  <br> #define switch_to(prev,next,last) do {\ <br> asm volatile("pushl %%esi\n\t"\ <br> "pushl %%edi\n\t"\ <br> "pushl %%ebp\n\t"\ <br> ....................... <br>  <br> についてどう思う？ <br> 折れ的には、かなりイケテルように見えるんだが・・・。 <br> 普通化か？ <br>  <>
デフォルトの名無しさん<>sage<>02/12/29 23:59<> ｼｸｼﾞｯﾀ... <>
デフォルトの名無しさん<>sage<>02/12/30 00:00<> shikujitta... <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/30 00:32<> <a href="../test/read.cgi/tech/1037096449/635" target="_blank">&gt;&gt;635</a> <br> 　∧＿∧ <br> ＜ ｀ー´＞-~~~ あまりにも普通という罠。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/30 00:37<> <a href="../test/read.cgi/tech/1037096449/635" target="_blank">&gt;&gt;635</a> <br> 全くの偶然ですが、NWSOSでも、タスクスイッチはマクロでやってます。 <br> ただし、NWSOSの場合は、NWSSのMACRO,ENDM文でやってますが。 <>
デフォルトの名無しさん<>sage<>02/12/30 03:48<> 年明け早々、両者の出方が気になる。 <br> ひげぽんも正月休利用してガンガン開発を進めるみたいだし、 <br> NWSOSもバージョンアップが予想されるし。 <br>  <br> NWSOSはスクリーンショットを見る限り、そろそろファイルエクスプローラ <br> くらいなら出てきそうな感じだな。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/30 12:10<> <a href="../test/read.cgi/tech/1037096449/640" target="_blank">&gt;&gt;640</a> <br> &gt;NWSOSはスクリーンショットを見る限り、そろそろファイルエクスプローラ <br> &gt;くらいなら出てきそうな感じだな。 <br>  <br> ファイルマネージャは、時期としては後になります。 <br> それは設計上の理由からです。 <>
ひげぽん<>sage<>02/12/30 12:34<> <a href="../test/read.cgi/tech/1037096449/640" target="_blank">&gt;&gt;640</a> <br> &gt;ひげぽんも正月休利用してガンガン開発を進めるみたいだし <br> 勉強ばかりで思うように進んでません。。。 <br> しかも風邪ひいてるし <br> さて徹夜するか・・・(ё_ё) <>
デフォルトの名無しさん<>sage<>02/12/30 19:19<> まぁ、ここは相対的には過疎板なんだけど <br> ＭＯＮＡ−ＯＳって完成度さえ高めればそれなりに普及しそうな予感。 <br> やっぱＦＤブート中におなじみのＡＡが出せるのは、ユーザーの引き込みって <br> 点でキャッチーだと思う。ＰＣ−ＷＥＥＫだとかＡＳＣＩＩ−ＮＥＷＳなんかで <br> ちょっと取り上げられれば、その存在は一躍ヒーローになる予感 <br>  <br> もちろん、ＯＳとしての基本的な機能、性能は備えた上で <>
ひげぽん<>sage<>02/12/30 19:57<> &gt;点でキャッチーだと思う。ＰＣ−ＷＥＥＫだとかＡＳＣＩＩ−ＮＥＷＳなんかで <br> &gt;ちょっと取り上げられれば、その存在は一躍ヒーローになる予感 <br>  <br> そんなことはないと思います。 <br> キャッチーといえばMEG-OSですよ。 <br> まいりますた。 <br> MEG-OS <br> http://meg-os.org/ <br>  <br> &gt;もちろん、ＯＳとしての基本的な機能、性能は備えた上で <br>  <br> がんばります。m(__)m <>
デフォルトの名無しさん<>sage<>02/12/30 23:30<> ドライバ書かせてくれ。 <br>  <>
ひげぽん<>sage<>02/12/30 23:40<> <a href="../test/read.cgi/tech/1037096449/645" target="_blank">&gt;&gt;645</a> <br> ひげぽん宛のメッセージと勝手に解釈してお返事します。 <br>  <br> &gt;ドライバ書かせてくれ。 <br> 是非書いて頂きたいので、もしご協力いただける場合は <br> http://mona.sourceforge.jp/をごらん頂き、ひげぽんまで <br> ご連絡ください。m(__)m <br>  <br>  <br>  <>
デフォルトの名無しさん<>sage<>02/12/31 01:37<> &gt;ＭＯＮＡ−ＯＳって完成度さえ高めればそれなりに普及しそうな予感。 <br> 「OSの完成度を高める事」って結構難しいと思う。 <br> ある意味、ずっと完成度高めることができるなら、LinuxやWindowsまで <br> 行くことになってしまうけど、そこまでいけるのは極稀。 <br> それができる人材も稀有。 <>
デフォルトの名無しさん<>sage<>02/12/31 02:08<> &gt;ある意味、ずっと完成度高めることができるなら、LinuxやWindowsまで <br> &gt;行くことになってしまうけど、そこまでいけるのは極稀。 <br> けど、現実的にNWSOS、MONA、MEG-OSなど、32BitOSが続々と <br> リリースされてきてるのも現実。特にNWSOSは、VC++が使えるし、 <br> APIエミュ次第では、GUIも含めたWindowsクローンの可能性もある。 <br>  <br> 一番の大敵は、「どうせWinには追い越せない」などといった弱音だと思われ。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/31 05:33<> MEG-OSも確かにある意味キャッチーだな。 <br> 個人的にはひーちゃうけど、「萌え」なフィーリングはなんとなく分かる。 <br>  <>
デフォルトの名無しさん<>sage<>02/12/31 09:57<> <a href="../test/read.cgi/tech/1037096449/648" target="_blank">&gt;&gt;648</a> <br> &gt;けど、現実的にNWSOS、MONA、MEG-OSなど、32BitOSが続々と <br> &gt;リリースされてきてるのも現実。特にNWSOSは、VC++が使えるし、 <br> &gt;APIエミュ次第では、GUIも含めたWindowsクローンの可能性もある。 <br>  <br> NWSOSの作者の腕のよさ、才能は考慮されてますか？ <br>  <br> NWSOSの出来が良いからと言って、他の新規参入OSがそこまで至る <br> と短絡的に考えるのはおかしい。 <br>  <br> 誰かが上手く作ったからと言って、別の誰かもうまく行くと考えるのは <br> 悪い平等主義です。上手く行くのは、限られているんです。 <>
デフォルトの名無しさん<>sage<>02/12/31 10:05<> <a href="../test/read.cgi/tech/1037096449/648" target="_blank">&gt;&gt;648</a> <br> &gt;一番の大敵は、「どうせWinには追い越せない」などといった弱音だと思われ。 <br> それは、NWSOSの作者が、「マイナス思考」である事を意味してる。 <br> マイナス思考は弱音ではない。 <br> マイナス思考であるからこそ、NWSOSの今の姿がある。 <br> 最近の日本人は、馬鹿でも間抜けでもプラス思考になってしまって、自分の <br> 力を過信する弊害が出てきている。 <br> マイナス思考のメリットもあることをお忘れなく。 <>
651<>sage<>02/12/31 10:07<> あるいは、謙遜であるかもしれない。 <>
デフォルトの名無しさん<>sage<>02/12/31 12:09<> ＞NWSOSの出来が良いからと言って、他の新規参入OSがそこまで至る <br> ＞と短絡的に考えるのはおかしい。 <br> けど、MONAの進化速度だとかも考慮に入れると、 <br> OS開発の才能を持ってるのがＬだけだと決め付けるのも短絡的だろ？ <br>  <>
デフォルトの名無しさん<>sage<>02/12/31 12:15<> <a href="../test/read.cgi/tech/1037096449/653" target="_blank">&gt;&gt;653</a> <br> &gt;けど、MONAの進化速度だとかも考慮に入れると、 <br> 習い事を考えてみ。 <br> 入門から標準レベルに行くのは誰でも早い。 <br> そっから後に行けるかどうかが分かれる。 <br> あと、NWSOSの作者の「進化速度」と比較して無いじゃん。 <br> もっと早いよキット。 <>
デフォルトの名無しさん<>sage<>02/12/31 12:21<> <a href="../test/read.cgi/tech/1037096449/653" target="_blank">&gt;&gt;653</a> <br> Monaの状態を1とすると、NWSOSは、1000位のところに有るんだよ。 <br> 悪いけど、ひげぽんの最初のレベルがあまりにも低すぎたため、 <br> 成長速度が速いかのように思えるだけ。 <br> でも、NWSOSとは全然違うよ。 <>
デフォルトの名無しさん<>sage<>02/12/31 12:58<> OSASKのK氏は、TOWNS用のPC-9801VXエミュレータを作った経験をもつ。 <br> ttp://www.imasy.or.jp/~kawai/download.html <br> で、ソースもダウンロードしてみると、そこそこの腕が有ることが <br> 分かると思うが、NWSOS &gt;&gt;&gt;&gt;&gt;&gt; OSASK である現状が何を意味するかを <br> よく考えねばならない。 <br> 果たして、Mona陣営は、V98レベルのものを作れるだろうか、ム板のみんな <br> もよく検討あれ。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:05<> NWSOSとMONAの決定的な違いは、OSそのものにも当然あるが、 <br> 作者のソフトウェアにおいての基礎体力じゃないかと思う。 <br> （ここでの基礎体力はハード知識、機械語、リンカ、ローダなど。） <br> L氏は自分で言語処理系を作成できるほどの凄まじい基礎体力を <br> 持っている。だから、そこそこなOSも作成できる。 <br> 別に基礎体力をつけてからでないとOSを作成できないわけじゃないけど。 <br> たびたび詰まることになる。L氏が初登場時に言ったように、ひげぽんは <br> OSを作りながらも、もっと基礎体力をつけるべき。そうすれば、 <br> L氏を1000として、ひげポンは5,600位には到達できると思う。 <br> まあ、少なくとも、２年くらいはかかるけどね。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:07<> &gt;L氏を1000として、ひげポンは5,600位には到達できると思う。 <br> 出来ないに一票。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:09<> あのなあ、ひげぽんの年齢で基礎知識を学び始めるのはもう手遅れなんだよ。 <br> 20も超えれば、できる奴は頭角を表すんだよ。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:09<> いいすぎたか。。。 <br> ３００くらいでどうか。。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:14<> 余り関係ないかもしれないかもだけど。 <br> 情報系大学の教授たちがよく言うことだけど、 <br> 集積回路や電磁波などの、ハード的なことは後々勉強ということでは <br> 間に合わない（手遅れ）が、、ソフトウェアは文系でも十分間に合う」 <br>  <br> ってのはｳｿだったんですか。。。 <br> 実際問題、自分も「ほんとに間に合うのか。。」 <br> と思ってはいたのですが。。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:14<> ひげぽんは、確かに最初のスタートレベルが低かった（OSの分野では） <br> そのため成長速度が速く見えたのは事実だな。 <br>  <br> 逆に言えばほとんどゼロからOSの知識を蓄えたという事実と <br> OSの知識不足を補う、何かがあったからここまで来たのでは？ <br>  <br> ひげぽんは仕事をしながらここまで来たという <br> 事実も忘れてはならないと思う。 <br>  <br> 500位まではあと、半年もすれば行くだろう。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:15<> &gt;NWSOSとMONAの決定的な違いは、OSそのものにも当然あるが、 <br> &gt;作者のソフトウェアにおいての基礎体力じゃないかと思う。 <br> &gt;（ここでの基礎体力はハード知識、機械語、リンカ、ローダなど。） <br> &gt;L氏は自分で言語処理系を作成できるほどの凄まじい基礎体力を <br> &gt;持っている。だから、そこそこなOSも作成できる。 <br> Ｌ氏の専門は、ソフトじゃないのはご存知？ <br> 予備知識であれだけの体力があると言う驚愕の事実。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:19<> <a href="../test/read.cgi/tech/1037096449/661" target="_blank">&gt;&gt;661</a> <br> &gt;集積回路や電磁波などの、ハード的なことは後々勉強ということでは <br> &gt;間に合わない（手遅れ）が、、ソフトウェアは文系でも十分間に合う」 <br> &gt;ってのはｳｿだったんですか。。。 <br> ソフトは表面的に組めるようのは簡単。 <br> でも難しい処理を組んだり、効率の良いロジックを考え出したりするのは、 <br> 素質もある。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:20<> ＞６６３ <br>  <br> L氏の専門って何？ <br> 聞いたところによると、ゲーム業界？ <>
デフォルトの名無しさん<>sage<>02/12/31 13:21<> <a href="../test/read.cgi/tech/1037096449/665" target="_blank">&gt;&gt;665</a> <br> 電磁気学とからしい。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:23<> <a href="../test/read.cgi/tech/1037096449/662" target="_blank">&gt;&gt;662</a> <br> &gt;500位まではあと、半年もすれば行くだろう。 <br> 行かないな。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:25<> 知識だけの差と考えるのも納得できないな。 <br> プログラムの腕の差って、単純な知識の差だと思うか？ <>
デフォルトの名無しさん<>sage<>02/12/31 13:27<> しかし。。俺らって無駄にスレ浪費してるな。。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:29<> 「プログラムには作者の魂、情熱が埋め込まれている」 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>02/12/31 13:33<> 　∧＿∧ <br> ＜ ｀ー´＞-~~~ ひげぽんて何歳だっけか。 <br> シナリオライターでもプログラムは書ける。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:35<> 冷静な意見を１つ。 <br> http://pc.2ch.net/test/read.cgi/os/1031404041/l50 <br> 同じ時間帯にOSASK板でOSASK批判めいた書き込み多数。 <br>  <br> かたやこちらではMONA批判めいた書き込み多数。 <br>  <br> 一方、NWSOS板はまったく静か。 <br> 年末の昼間ということを考えれば、これは偶然ではなく。 <br> Lﾀﾝまたは、その陣営が書き込んでいるのではと思われてもしょうがない(ｗ <>
デフォルトの名無しさん<>sage<>02/12/31 13:37<> <a href="../test/read.cgi/tech/1037096449/671" target="_blank">&gt;&gt;671</a> <br> &gt;シナリオライターでもプログラムは書ける。 <br> 「簡単な部分」に絞ればそうです。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:40<> 確か24歳くらいとスレのどこかに書いてあった。 <br> dat落ちしたからわからんが。 <br> L氏、K氏は20代後半の後半。 <>
デフォルトの名無しさん<>sage<>02/12/31 13:42<> <a href="../test/read.cgi/tech/1037096449/672" target="_blank">&gt;&gt;672</a> <br> (ｗ <br> Lﾀﾝ　ﾊｱﾊｱ <>
デフォルトの名無しさん<>sage<>02/12/31 13:43<> ちょっとまて。 <br> L氏がすごいと言うが、井の中の蛙って落ちってことない？ <br> 世界は広い <>
デフォルトの名無しさん<>sage<>02/12/31 13:47<> <a href="../test/read.cgi/tech/1037096449/674" target="_blank">&gt;&gt;674</a> <br> え？そうなの。 <br> 基礎体力の差は年齢差という落ちか。 <br> Lﾀﾝﾊｱﾊｱ <>
デフォルトの名無しさん<>sage<>02/12/31 13:50<> まあ、L氏がすごいというのは認めるしかない。 <br> 相撲で言えば、前頭筆頭ぐらいかな（爆 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/31 13:59<> 　誰が書いてるのか知りませんが、「予想」してもしょうがないと思いますよ。 <br> 待てば分かる事です。結果でしかわからないと思うなあ。 <>
デフォルトの名無しさん<>sage<>02/12/31 14:06<> L氏の自己評価 <br> Kﾀﾝ、Hﾀﾝの評価を聞いてみたい。 <br> 主観でいいよ。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/31 14:07<> <a href="../test/read.cgi/tech/1037096449/671" target="_blank">&gt;&gt;671</a> <br> &gt;シナリオライターでもプログラムは書ける。 <br> うーん。 <br> 実際には、プログラマの腕の差はあると思いますね。 <br> 企業内でも、書き手が交代した際に、 <br> 「急にやる気がでて、スイッチがオンになりましたね」 <br> といわれた経験もありますしね。 <br>  <br> 米国の調査でも、開発効率に数千倍の差がある結果が出たと聞いてます。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/31 14:08<> <a href="../test/read.cgi/tech/1037096449/680" target="_blank">&gt;&gt;680</a> <br> ネットでは書けないです、すみません。 <>
デフォルトの名無しさん<>sage<>02/12/31 14:11<> <a href="../test/read.cgi/tech/1037096449/682" target="_blank">&gt;&gt;682</a> <br> なぜ？ <br> 書いてしまってよいと思うが。 <br> ぼろくそに書いても褒めてもいい。 <br> それはL氏の意見であって、事実とは異なる場合もあるのだから。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/31 14:19<> <a href="../test/read.cgi/tech/1037096449/683" target="_blank">&gt;&gt;683</a> <br> トラブル起こすような事を勧めないで下さい。お願いします。（￣へ￣; <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/31 14:25<> スレ汚しですみませんが、一般に知識と暗記は違う意味で使われているの <br> ですか？ <br> 自分の中では、知識＝暗記とほぼ同義だと思ってしまっているんですが。 <br> プログラミングには、暗記は、要らないですよね。 <>
デフォルトの名無しさん<>sage<>02/12/31 14:36<> ところでニックLIGHTCONEの由来はなんですか？ <br>  <br> 苦し紛れに解釈すると、 <br> まず、[light=軽い--&gt;ケイ--&gt;啓] <br> そんで、[Cone=円錐-----------------&gt;介（とんがりっぽい（汗））] <br>  <br> ずばり、Lﾀﾝの本名は「啓介」(-_-)y--~~~ﾄﾞｳﾀﾞ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/31 14:41<> 　特殊相対性理論の初歩の初歩で一番最初に出てくる４次元ミンコフスキー空間 <br> の中の、時間軸を中心線と、中心線と母船との角度が45度の円錐の事です。 <br> 　現在の時空を原点にすると、現在の時空から出た光は常にこの円錐上を通過 <br> することから、「光の通る円錐」と言う意味で、light-cone と名付け <br> られています。そこから取りました。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>02/12/31 14:43<> 訂正：ｽﾏｿ <br> 時間軸を中心線とする、中心線と母線との角度が45度の円錐の事です。 <>
デフォルトの名無しさん<>sage<>02/12/31 14:51<> わざわざ、詳しい説明どうもです。 <br> やっぱ、ニックのつけ方といい、Lﾀﾝすげーわ。 <>
デフォルトの名無しさん<>sage<>02/12/31 15:08<> このスレはOS開発者を比べっこするのが目的じゃないでしょ。 <br>  <br> サンデープログラマっぽい趣味のプログラマがOSなんてスゴソー <br> なものを作る過程をﾏﾀｰﾘと見守って、一緒に一喜一憂するスレ <br> だと思うんだが。 <>
　<>sage<>02/12/31 20:41<> <a href="../test/read.cgi/tech/1037096449/690" target="_blank">&gt;&gt;690</a> <br> (・∀・)ｲｲ!!事言った！ <>
デフォルトの名無しさん<>sage<>02/12/31 23:43<> ひげぽんたん。 <br> 来年もがんばってください。 <br>  <br> C/C++ライブラリはSourceForgeにC99対応とかってのが <br> あった気がしますぞ。 <>
ひげぽん<>sage<>02/12/31 23:58<> ありがとうござます。 <br> くじけない限りがんばります。 <br>  <br> C99調べてみます。m(__)m <>
デフォルトの名無しさん<>age<>03/01/01 01:31<> あけおめ。 <br> ひげぽんがんがれ。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/01 01:34<> <a href="../test/read.cgi/tech/1037096449/687" target="_blank">&gt;&gt;687</a> <br> (´Д⊂ヽ <br> 何言ってるかわかんないよ〜 <>
デフォルトの名無しさん<>sage<>03/01/01 01:49<> <a href="../test/read.cgi/tech/1037096449/695" target="_blank">&gt;&gt;695</a> <br> ブルーバックスでも見るとよろし <>
デフォルトの名無しさん<>sage<>03/01/01 02:16<> <a href="../test/read.cgi/tech/1037096449/695" target="_blank">&gt;&gt;695</a> <br> ランダウ・リフシッツの訳本でも（略 <br>  <br> ほげぽんあけましておめでとう。 <br> 今年もがんがってくだちい。 <>
デフォルトの名無しさん<>sage<>03/01/01 02:54<> め、めぐが！！ <br> http://meg-os.org/ <>
デフォルトの名無しさん<>sage<>03/01/01 11:28<> まじで開発終了かよ！ <>
デフォルトの名無しさん<>sage<>03/01/01 17:05<> &gt;699 <br> ネタだろ？ <br> いかにも彼が好きそうな下らんネタだな <>
デフォルトの名無しさん<>sage<>03/01/01 18:47<> ちょうど動作報告しようと思ってたトコなのになー。 <>
デフォルトの名無しさん<>sage<>03/01/01 18:50<> ということでMEG-OS Liteの開発は終了しました。みとこは名無しに戻ります。 <br> 裏でヒソーリ開発させてください。←ここ見た？ <br> MEG-OS.ORG is now for sale. <br>  <>
デフォルトの名無しさん<>sage<>03/01/01 19:43<> <a href="../test/read.cgi/tech/1037096449/702" target="_blank">&gt;&gt;702</a> <br> みんな見たんじゃない？ <br> 古典的なやり方だし。 <>
デフォルトの名無しさん<>sage<>03/01/01 19:56<> いや〜、上手に騙されたｗ <br>  <br> でも、色々考えた。 <br> やっぱり、プロジェクトとして公開してると <br> プレッシャーがかかってくる。 <br> ｺｿｰﾘ開発が一番なのだと･･･｡ <>
デフォルトの名無しさん<>sage<>03/01/01 21:03<> ほげぽん。 <br> プレッシャーに負けるな。 <>
デフォルトの名無しさん<>sage<>03/01/02 03:24<> ↑「ほげぽん」ﾜﾗﾀ <>
デフォルトの名無しさん<>sage<>03/01/02 09:17<> けど、MEG-OSも開発を本格化するってことで、 <br> いよいよ２００３は国産OSが火花を争う三国志元年となるわけですな。 <br> （#ま、現状、NWSOSがぶっちぎりなのは置いといて） <br>  <br> '60、OS開発ってのは終わりがないものだと学者が言ってた。 <br> 実際、40年たったいま、やっぱ終わってない。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/02 09:47<> &gt;三国志元年 <br> 3つのOSはなに？ <br> MEG、NWSOS、??? <>
デフォルトの名無しさん<>sage<>03/01/02 10:22<> ??? = MONA だろ、きっと。 <br> gccで開発できて、sourceforgeでcvs公開されてるんで <br> 開発者はがんがん増えると思われ。 <br>  <br> おいらも来年は仕事が少なくなるんで、ﾓﾅに参加する予定。 <br>  <br> 魅力は発展途上。 <>
デフォルトの名無しさん<>sage<>03/01/02 11:43<> eota,osaskはどうして忘れられてるんだ? <br>  <br> ttp://www.st.rim.or.jp/~osada/translation/developers/BNL_articles/Issue79-insights-j.html <br> 陰ながら応援しております。 <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/02 13:32<> CGIタイムボム仕掛けて正月休みに入ってる間になんかいろいろ言われてるみたいだけどFDC,RTCのデバドラの骨組みは完成したっす。 <br> 基本的なデバドラはだいたい揃ったんでそろそろいい加減カーネルに手入れます。ヽ(｀ー´)ノ <br> ちなみにこっからFTPはつなげないんでサイトは放置(;´ω｀) <>
デフォルトの名無しさん<>sage<>03/01/02 14:20<> っていうかＬはなんでもっと20年近くはやく生まれなかった？ <br> Windowsって'81に開発がスタート。最初に発売したのが'85 <br> 窓の重ねができるようになったのが、'87 <br>  <br> まぁなんだかんだ、NWSOSってWindows年表でいうと、'90前後だと思われ。 <br>  <br> Win3.0が'90だしな。 <br>  <br>  <>
デフォルトの名無しさん<>sage<>03/01/02 14:23<> <a href="../test/read.cgi/tech/1037096449/712" target="_blank">&gt;&gt;712</a> <br> L氏は確かに凄いがWindows3相当の物を作れるかは疑問 <br> あっちは莫大な予算と大勢のプログラマでやってるんだからね。 <br> それにL氏自身Winの代わりを作ろうとは思ってなさそうだ <>
デフォルトの名無しさん<>sage<>03/01/02 15:15<> ＞あっちは莫大な予算と大勢のプログラマでやってるんだからね。 <br> まー俺もそう思ってたが、じゃ、Windows3.0にはあって現状のNWSOSに <br> ないものって何がある？と考えたとき、意外とないよ。 <br> 具体的に列挙してみ？数えるほどしかない。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/02 15:54<> Office? <>
名無したん </b>◆AEqcy/sQU6 <b><>osage<>03/01/02 18:32<> なんかFDCアクセス数回すると急に応答しなくなってタイムアウトばかり出るんですがどうすればいいんでしょうか？ <>
デフォルトの名無しさん<>sage<>03/01/02 18:46<> ＞Office? <br> 結局、アプリだけがない状況 <br>  <>
デフォルトの名無しさん<>sage<>03/01/02 18:49<> <a href="../test/read.cgi/tech/1037096449/717" target="_blank">&gt;&gt;717</a> <br> GDI(プリンタ含む)みたいな仕組みはあるの？ <br> あとOLEもないとOfficeは厳しいな。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/02 22:23<> <a href="../test/read.cgi/tech/1037096449/718" target="_blank">&gt;&gt;718</a> <br> &gt;GDI(プリンタ含む)みたいな仕組みはあるの？ <br> まだないです。 <br> NWSOSは、本当に運用しようと、まだまだ不足している部分が多いの <br> が現状ですが、今後徐々に補充していきたいと思っています。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/02 22:24<> 誤字修正: <br> 「本当に運用しようと、」---&gt;「本当に運用しようとすると、」 <br> ｽﾏｿ <>
デフォルトの名無しさん<>sage<>03/01/02 23:20<> ある程度使えるようにと、機能の追加に勤しむより、斬新的なカーネル開発に <br> 力を入れたほうがいいと思う。WINDOWSのような万能OSが蔓延している中、 <br> カーネル部分で勝負したほうが、まだ利用価値はあると。。 <br> 万能的なものを全てサポートしようとすると中途半端に <br> なってしまう可能性大だかも。 <>
デフォルトの名無しさん<>sage<>03/01/02 23:31<> BeOSという前例があるからねぇ〜 <>
デフォルトの名無しさん<>sage<>03/01/03 08:17<> NWSOSでOffice製品群を揃えるビジョンとかはないの？&gt;&gt;Lﾀﾝ <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/03 08:23<> <a href="../test/read.cgi/tech/1037096449/723" target="_blank">&gt;&gt;723</a> <br> &gt;NWSOSでOffice製品群を揃えるビジョンとかはないの？&gt;&gt;Lﾀﾝ <br> 最近、ワードやエクセルとデータが交換できるようなオープンソースの <br> Officeもありますので、移植する手も考えています。 <>
デフォルトの名無しさん<>sage<>03/01/03 10:08<> &gt;最近、ワードやエクセルとデータが交換できるようなオープンソースの <br> &gt;Officeもありますので、移植する手も考えています。 <br> いや、あれはお勧めしない。多分、OpenOfficeのことでしょ？ <br> 使ってみれば分かるけど、MS-Officeに比較してとんでもない起動時間が <br> かかる。ExcelやWordのようにサクサク動かない。 <br> コミュニティも、改善すると前々から唱えてるけど、一向に改善される気配ないし、 <br> 根が深いっぽい。 <br>  <br> OpenOfficeはlinuxでもWindowsでも動くけど、どっちもトロい。 <br> 一度、ご自分の目でお確かめを。 <br>  <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>03/01/03 10:21<> &gt;最近、ワードやエクセルとデータが交換できるようなオープンソースの <br> &gt;Officeもありますので、移植する手も考えています。 <br> 　 ∧＿∧ <br> ＜　｀ー´＞-~~~ <br> 早期にJava VMを実装してThinkFree Officeを動かしたりする手もあり。 <>
デフォルトの名無しさん<>sage<>03/01/03 20:14<> まわりくどいことせずに <br> Wineを完全に動かせればいいんじゃ、、 <>
デフォルトの名無しさん<>sage<>03/01/03 22:29<> ところで、NWSOSでもやっぱり、タスクの生成・管理法に親子関係を <br> 使っているのですか？fork(), exec()みたいなもの。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>03/01/03 22:34<> 　 ∧＿∧ <br> ＜後ろ頭＞-~~~ CoWは効率上げるの難しいんだよな・・・。 <>
デフォルトの名無しさん<>sage<>03/01/03 22:45<> fork(), exec()を使わない、効率的なタスク管理方法ないですかね、、、。 <br> 実際問題、効率的とかはあまり関係なく親子関係ってのが伝統的なUNIX <br> っぽくって嫌なだけですけどね。。。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/03 22:45<> <a href="../test/read.cgi/tech/1037096449/728" target="_blank">&gt;&gt;728</a> <br> &gt;NWSOSでもやっぱり、タスクの生成・管理法に親子関係を使っているのですか？ <br>  <br> 今のところタスクの親子関係はありませんが、各種保護の管理に利用出来そう <br> なので多方面からメリットとデメリットを考察中です。 <br>  <br>  <br> また、今のところ、NWSOSには、fork()はなく、 <br> いきなり新タスクを生成する仕組みを採用しています（ExecTask(), <br> SpawnTask()参照)。 <br>  <br> 最近、UNIXのソースなどを見るうちに、fork()のメリットが分かってきま <br> したので（サブスレッドのメリットと、メモリ保護のメリットを足したよう <br> なものとして利用出来る場合があります）、近いうちにNWSOSでも実装する <br> 予定です。同時に追加予定の、exec()相当APIと、既存のExecTask()APIで、 <br> API名が紛らわしくなるのが気がかりでは有りますが、今のExecTask()は <br> 捨ててもいいかなと思っています（SpawnTask()APIが上位互換なので）。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/03 22:54<> <a href="../test/read.cgi/tech/1037096449/730" target="_blank">&gt;&gt;730</a> <br> &gt;実際問題、効率的とかはあまり関係なく親子関係ってのが伝統的なUNIX <br> &gt;っぽくって嫌なだけですけどね。。。 <br>  <br> 例えば、「伝統的なUNIXの嫌な部分」とは、waitpid()が、 <br> 自分から見て子の関係にあるタスクだけしかできないことや、「wait」しない <br> とゾンビが残る、みたいなことでしょうか。間違っていたらすみませ <br> ん（UNIX初心者なので）。 <br>  <br>  <br> ちなみに、NWSOSでは全く親族関係の無いタスクでも、タスクハンドルだけ <br> はロックできるので、タスクが不意に死んだとしても安全にステータスを読む事 <br> ができるような仕組みにしてみました。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/03 22:59<> <a href="../test/read.cgi/tech/1037096449/726" target="_blank">&gt;&gt;726</a> <br> なるほど、ThinkFree Office は、JavaVMがあれば動くんですか（基本的な <br> 事を知らないので申し訳ないんですが）。 <br>  <br> であれば、有志の方に JavaVM を実装（移植?）して欲しい <br> ところなんですが、、、。(^_^;) <br>  <br> それはそれとして、他にも各種フリーの(?)Officeがあるようですが、 <br> その辺はどうなんでしょう。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/03 23:03<> <a href="../test/read.cgi/tech/1037096449/725" target="_blank">&gt;&gt;725</a> <br> なるほど、機会があるときに調べておきます。 <br> 貴重なご意見を有難うございました。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/03 23:07<> <a href="../test/read.cgi/tech/1037096449/729" target="_blank">&gt;&gt;729</a> <br> &gt;CoWは効率上げるの難しいんだよな・・・。 <br>  <br> 恐らく、fork()する際の、CopyOnWriteの事だと思うんですが、 <br> NWSOSにfork()を最初に実装する際には、ひとまず効率追求は後回しにする <br> として、簡単に単純コピーしようと思っています（内部的な改良で上げられる <br> 種類の効率は、徐々に高めたいと思っていますので）。 <>
デフォルトの名無しさん<>sage<>03/01/03 23:16<> &gt;732 <br> 親子関係でのステート管理方法もそうだけど、 <br> fork(), exec()時のオーバーヘッドが大きいからかな。 <br> COWで少しは軽減されてるみたいだけど。 <br> こればっかりはどうしようもないか。 <br> でも、確かに各種保護機能だけはすぐれていると思います。 <>
デフォルトの名無しさん<>sage<>03/01/04 07:10<> &gt;恐らく、fork()する際の、CopyOnWriteの事だと思うんですが、 <br> ここでいうcopyって、.bssセクションなどのコピーっていう意味かな？ <br>  <>
デフォルトの名無しさん<>sage<>03/01/04 08:42<> NWSOSへの希望 <br>  <br> キーボードのオートリピート速度を高速にしてほしー <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/04 08:52<> <a href="../test/read.cgi/tech/1037096449/737" target="_blank">&gt;&gt;737</a> <br> &gt;ここでいうcopyって、.bssセクションなどのコピーっていう意味かな？ <br>  <br> えーと、ご存知かもしれませんが、 <br> CopyOnWriteとは、fork()した時点では、ページテーブルや <br> ページディレクトリのコピーをするだけにしておいて、物理ページや <br> スワップ領域を確保せず、アプリがデータ領域などに相当するページに <br> 書き込もうとするとページ例外を発生させて、例外ハンドラ内で <br> 物理ページをマッピングして、実際にコピーを行うような方法のこと <br> を言います。 <br>  <br> .bssセクションの場合は、fork()した時点の親プロセスにおいて、既に書き込み <br> があれば、.dataセクションと同様の扱いになり、書き込みが無ければ、 <br> 実際にアクセスされた時点で0-Fillされたページを割り当てる、という手が使 <br> えると思います。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/04 08:55<> <a href="../test/read.cgi/tech/1037096449/738" target="_blank">&gt;&gt;738</a> <br> &gt;キーボードのオートリピート速度を高速にしてほしー <br>  <br> 最速に設定しているつもりなんですが、設定できてませんか？ <br> （なんらかの原因でキーボードの種類によっては正しく設定できてないの <br> かもしれません） <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/04 09:04<> <a href="../test/read.cgi/tech/1037096449/736" target="_blank">&gt;&gt;736</a> <br> 　fork()ならではの技法が存在するので、UNIXアプリを移植するためには、 <br> 効率は度外視したとしても、一応はfork()を用意しておいた方がいいと思って <br> るんです。 <br>  <br> NWS-SHELLでは、内部コマンドをサブスレッドで実装していますが、 <br> BASHでは、fork()を使って自分のクローンプロセスを作成して、別プロセス <br> でやってます。後者の方法は、内部コマンドの起動効率は悪いのですが、 <br> 内部コマンドを外部コマンドと全く同じ扱いにできるメリットがあります。 <>
デフォルトの名無しさん<>sage<>03/01/04 14:04<> <a href="../test/read.cgi/tech/1037096449/686" target="_blank">&gt;&gt;686</a> <br> 豊 <br>  <br> <a href="../test/read.cgi/tech/1037096449/700" target="_blank">&gt;&gt;700</a> <br> 女じゃなかったの？ <>
デフォルトの名無しさん<>sage<>03/01/04 15:04<> &gt;fork()ならではの技法が存在するので、UNIXアプリを移植するためには、 <br> &gt;効率は度外視したとしても、 <br> linuxの do_fork() に kprintf() 仕込んで、カーネルコンパイルしなおし <br> KDE起動してみたとこ、意外にもforkが呼び出される回数って少なかった。 <br>  <br> で、再度、kprintf()外すときにlinuxカーネルをフルビルドしたんだけど <br> gcc内部では一度もforkを呼び出してなかった。 <br>  <br> 頻度考えると、Lﾀﾝのfork()効率後回しは正解かも。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/04 15:22<> サーバープロセスじゃないとforkはあまりしないような・・・ <>
デフォルトの名無しさん<>sage<>03/01/04 15:34<> でも、BASHとかのシェルだと、コマンド実行するたびに、 <br>  <br> if ((pid=fork()) &gt; 0) <br>     exit(0); <br> if (pid == 0) <br>    exec("comand"); <br>  <br> みたいなことするんでしょ？ <br> fork()しっかり使ってるような。。 <>
デフォルトの名無しさん<>sage<>03/01/04 15:37<> 間違った。 <br>  <br> if (pid == 0) <br> exec("comand"); <br>  <br> if ((pid=fork()) &gt; 0) <br> while (wait(&status) != pid) <br>    /* LOOP */ ; <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/04 17:55<> 　bashの特徴的なfork()の使い方は、内部コマンドを実行する際に、fork() <br> だけを使っている事です（exec()は呼ばれません。）。 <br> 　ちなみに、現代的にはサブスレッドでやるような処理なんですが、 <br> 伝統的なUNIXには、スレッドがサポートされていませんでした。 <>
デフォルトの名無しさん<>sage<>03/01/04 18:44<> &gt;&gt;L様 <br> tcshはWindowsにも対応しているので <br> bashだけでなくtcshの方もご覧になるのはいかがでしょうか？ <br> http://www.tcsh.org/ <br>  <br> win32\fork.cを見ると、CreateProcess()を使ってfork()が <br> 実装されていたりと色々と面白いですよ。 <br>  <br> Mac OS XとかMicrosoft Interixとかでも <br> bashではなくてtcshが標準的です。 <>
ひげぽん<>sage<>03/01/04 19:00<> 最近OSの勉強ばかりで、あまり進んだように見えないMonaですが <br> 少しずつ前進しております。 <br>  <br> Linuxってすごいですねと、しみじみと思います。 <br> 遅延書き込みとか、仮想ファイルシステムとか、ドライバインターフェースとか <br> でもこれって、あとから追加されたものですよね・・・ <br> そう願いたいです。 <br>  <br> 話題になっているforkですがMonaでは、どうしようかと <br> ちょうど悩んでいるところでした。(細かいところはまだ不勉強ですが) <br> プロセスに親子関係を持たせる方向で行こうかな。 <>
ひげぽん<>sage<>03/01/04 19:04<> 公式サイト ttp://mona.sourceforge.jp/ <br> 1000Hitを記念して <br>  (・∀・)yossy◆FlasH.X1/sさんの作品を公開いたします。 <br> ttp://mona.sourceforge.jp/Pack.gif <br>  <br> 私のモチベーションはこれで上がりました。 <br>  <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/04 19:06<> ｶｺ(・∀・)ｲｲ <br>  <br> いいなぁ(；´Д｀) <>
デフォルトの名無しさん<>sage<>03/01/04 19:19<> <a href="../test/read.cgi/tech/1037096449/750" target="_blank">&gt;&gt;750</a> <br> おめでと。ところでSourceForgeはプロジェクトの削除を認めないから <br> http://higepos.sourceforge.jp/ <br> が放置されてるのは分かるんですけど、 <br> せめてMonaへのリンクくらい置いておいていただけませんか？ <>
デフォルトの名無しさん<>sage<>03/01/04 19:47<> <a href="../test/read.cgi/tech/1037096449/749" target="_blank">&gt;&gt;749</a> <br> &gt; あとから追加されたものですよね・・・ <br>  <br> Linuxのエエところは、その追加や変更に必要な膨大な作業を、 <br> 厭わずに全世界のgeeksのパワーでもってやりとげたことだわね。 <br>  <br> 今はもう各企業のオープンソース対策チームの人たちがやってる <br> から、感慨深くはないけど。 <>
ひげぽん<>sage<>03/01/04 19:53<> <a href="../test/read.cgi/tech/1037096449/752" target="_blank">&gt;&gt;752</a> <br> &gt;せめてMonaへのリンクくらい置いておいていただけませんか <br> ご指摘ありがとうございます。 <br> 半ば忘れていました。申し訳ありません。 <br> 対応いたしました。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/04 20:03<> <a href="../test/read.cgi/tech/1037096449/749" target="_blank">&gt;&gt;749</a> <br> http://kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.bz2 <br> 有名な最初にリリースされたカーネル <br> ものすごく小さいから読みやすいし、参考になるかも <>
デフォルトの名無しさん<>sage<>03/01/04 20:26<> <a href="../test/read.cgi/tech/1037096449/754" target="_blank">&gt;&gt;754</a> <br> 素早い対応ありがとうございます。 <br> ただTypoが……。 &lt; Soryy <br>  <br> あと、せっかく置いてあったhigepos.binが隠れて <br> ちょっと寂しいかな……。 <br>  <br> 要望ばかりですみませんが、 <br> 時間があるときにでもMonaのコンパイルに挑戦してみますんで。 <>
デフォルトの名無しさん<>sage<>03/01/04 20:35<> &gt;750 <br> (・∀・)yossy◆FlasH.X1/sさん、すごひ。 <br> 本格的なパッケージですね。 <br>  <>
henoheno@OS板 </b>◆mXrBwDDzyw <b><>sage<>03/01/04 20:59<> 古いLinuxのソースを見るだけならば、ここからどうぞと言うテスト。 <br> ttp://minix-up.sourceforge.jp/cgi-bin/l.cgi/l/li/linux/?only_with_tag=LINUX_0_01 <>
デフォルトの名無しさん<>sage<>03/01/04 21:17<> Monaの公式サイト、ダウンロードの <br> "Mon実行方法"って"Mona実行方法"の間違いだよね？ <br> 開発に関係なくて申し訳ないが、直したほうがいいかと。 <>
ひげぽん<>sage<>03/01/04 21:24<> <a href="../test/read.cgi/tech/1037096449/755" target="_blank">&gt;&gt;755</a> <br> 有用なリンクありがとうございます。助かります。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/756" target="_blank">&gt;&gt;756</a> <br> &gt;ただTypoが……。 &lt; Soryy <br> &gt;あと、せっかく置いてあったhigepos.binが隠れて <br> 失礼しました。 <br> あと英文ミスも直しました・・・ <br>  <br> &gt;間があるときにでもMonaのコンパイルに挑戦してみますんで <br> ぜひチャレンジしください。 <br> インストール方法に反映させていただきます。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/758" target="_blank">&gt;&gt;758</a> <br> これは便利ですね。henohenoさん、ありがとうございます。 <>
(・∀・)yossy </b>◆FlasH.X1/s <b><>sage<>03/01/04 21:32<> <a href="../test/read.cgi/tech/1037096449/751" target="_blank">&gt;&gt;751</a> <br> <a href="../test/read.cgi/tech/1037096449/757" target="_blank">&gt;&gt;757</a> <br> ありがとうございます（　´∀｀） <br> 近いうちにアレが使われる日が来る事を願いましょう <br>  <br> <a href="../test/read.cgi/tech/1037096449/759" target="_blank">&gt;&gt;759</a> <br> スイマセン、直しますた <>
デフォルトの名無しさん<>sage<>03/01/04 21:37<> <a href="../test/read.cgi/tech/1037096449/760" target="_blank">&gt;&gt;760</a> <br> あのー、度々で申し訳ないんですけど、 <br> 別の間違い方なんですが。。。&lt; Soryr <br> Sorryです!! <>
ひげぽん<>sage<>03/01/04 21:44<> <a href="../test/read.cgi/tech/1037096449/762" target="_blank">&gt;&gt;762</a> <br> 直しました。今日はどうにかしているようです。 <br> もう、馬鹿かとアホかと・・・ <br> すいませんでした。m(__)m <>
デフォルトの名無しさん<>sage<>03/01/04 22:03<> <a href="../test/read.cgi/tech/1037096449/763" target="_blank">&gt;&gt;763</a> <br> お疲れ様でした。 <br>  <br> ところでちょっと個人的な要望なんですが、 <br> MonaはいきなりGUIにいかずに、 <br> コマンドラインとしても使えるようにしてほしいです。 <br> NWSOSとかOSASKはいきなりGUIにいくのでちょっと……。 <br>  <br> コマンドラインを隠すにしても <br> Win3.1みたいにAutoexec.batで起動させる方法もありますし。 <>
ひげぽん<>sage<>03/01/04 22:26<> <a href="../test/read.cgi/tech/1037096449/764" target="_blank">&gt;&gt;764</a> <br> &gt;MonaはいきなりGUIにいかずに、 <br> &gt;コマンドラインとしても使えるようにしてほしいです。 <br>  <br> ご要望ありがとうございます。 <br> 当分はCUIオンリーだと思います。 <br> GUI導入時には、上記要望を取り入れられるよう <br> 検討します。 <br>  <br> GUIをどれだけカーネルから分離するかも <br> 考えなければいけないですね。 <br>  <br> タスク管理 <br> メモリ管理（ページング） <br> VGA対応 <br> フロッピードライバ <br> ファイルシステム <br> プロセスロード(実行形式の決定) <br> ・・・道のりは長い。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/04 22:31<> <a href="../test/read.cgi/tech/1037096449/765" target="_blank">&gt;&gt;765</a> <br> ありがとうございます。 <br> お礼にみとこさんから問題報告の上がっていた <br> VirtualPC(もちろん正規ライセンス品)を寄贈させていただきます。 <br> 詳しくはメールで。 <>
ひげぽん<>sage<>03/01/04 22:49<> <a href="../test/read.cgi/tech/1037096449/766" target="_blank">&gt;&gt;766</a>さん。 <br> &gt;お礼にみとこさんから問題報告の上がっていた <br> &gt;VirtualPC(もちろん正規ライセンス品)を寄贈させていただきます。 <br> &gt;詳しくはメールで <br> えーと、これは本当なのでしょうか。 <br> かなりびっくりしています。osdevjでお話したことある人でしょうか。 <br> とりあえずメール待ってます。 <>
ひげぽん<><>03/01/05 00:47<> VirtualPCを寄贈してくださった。 <br> 匿名希望の方に深く感謝いたします。 <br>  <br> Monaをより発展させていくことでしか <br> ご厚意にこたえることは出来ないのが申し訳ないですが <br> 活用させていただきます。 <>
デフォルトの名無しさん<>sage<>03/01/05 12:33<> bochsのことですが、bochsout.txtに書かれる内容を常時、 <br> 裏コンソールに表示させることはできるのでしょうか？ <br> もし、設定等あったらお願いします。 <>
デフォルトの名無しさん<>sage<>03/01/05 13:28<> ひげぽんがんばれ！ <>
デフォルトの名無しさん<>sage<>03/01/05 13:45<> 誹謗中傷掲示板のOSね… <>
デフォルトの名無しさん<>sage<>03/01/05 14:45<> <a href="../test/read.cgi/tech/1037096449/771" target="_blank">&gt;&gt;771</a> <br> ??? <>
デフォルトの名無しさん<>sage<>03/01/05 14:45<> <a href="../test/read.cgi/tech/1037096449/772" target="_blank">&gt;&gt;772</a> <br> 2ch発のOSと言いたいのだろう <>
ひげぽん<>sage<>03/01/05 14:50<> <a href="../test/read.cgi/tech/1037096449/769" target="_blank">&gt;&gt;769</a> <br> .bochsrcのLOG設定のところをご覧ください。 <br> #log: /dev/null <br> #log: bochsout.txt <br>  <br> <a href="../test/read.cgi/tech/1037096449/770" target="_blank">&gt;&gt;770</a> <br> ありがとうございます。 <>
デフォルトの名無しさん<>sage<>03/01/05 15:18<> &gt;774 <br> 何度もすいません。 <br> Cygwin上でbochsを動かしているので、/dev/ttyなどは使えません･･･。 <br> 出力ターミナルはどこに設定すればいいのでしょうか？ <>
ひげぽん<>sage<>03/01/05 15:22<> <a href="../test/read.cgi/tech/1037096449/775" target="_blank">&gt;&gt;775</a> <br> Windows上でしたか動かしたことがないので、はずしているかもしれませんが <br> # Give the path of the log file you'd like Bochs debug and misc. verbage <br> # to be written to.  If you really don't want it, make it /dev/null. :^( <br> と書いてあるので <br> log: /dev/null <br> ではないでしょうか。 <>
sage<><>03/01/05 19:09<> linuxの初期ソース読むなら↓参照にするのもいいかも。 <br> 結構大雑把なんだけれども。 <br> http://www.nurs.or.jp/~ogochan/linux/TTECH.html <br>  <br> boot部分もこれ見ながら改良できるかもしれぬし。 <br> 例えば603で話題に出てたモータの止め方なんか。 <>
ひげぽん<>sage<>03/01/05 19:19<> <a href="../test/read.cgi/tech/1037096449/777" target="_blank">&gt;&gt;777</a> <br> おもしろですね。 <br> ご紹介ありがとうございます。 <>
henoheno@OS板 </b>◆mXrBwDDzyw <b><>sage<>03/01/05 22:16<> <a href="../test/read.cgi/tech/1037096449/777" target="_blank">&gt;&gt;777</a> <br> 記事に合わせて参考URLを並べると以下の通りです（　´∀｀） <br> (URLもちょっと直しました) <br>  <br> Linux 0.01 <br> ttp://minix-up.sourceforge.jp/cgi-bin/l.cgi/l/li/linux/?hideattic=0&only_with_tag=LINUX_0_01 <br>  <br> Linux 0.01 のファイル一覧 (88ファイル) <br> ttp://minix-up.sourceforge.jp/cgi-bin/l.cgi/l/li/_analysis/CVSUPLOG.txt?rev=1.1 <br>  <br> (参考) MINIX 1.5 の src/fs/inode.h <br> ttp://minix-up.sourceforge.jp/cgi-bin/l.cgi/l/mi/MINIXtest/src/fs/inode.h?rev=1.1&content-type=text/x-cvsweb-markup <br>  <br> May the Source be with you. <br>  <>
デフォルトの名無しさん<>sage<>03/01/05 22:20<> winでgccでオブジェクトファイルを出力するとデフォルトでpe-i386に <br> なってしまう。しかもldでもpe-i386で実行可能プログラムが出力。。。 <br> ELFを扱いたいんですが、gccでELF形式のオブジェクトを出力して、 <br> ldでELF形式としてリンクして、ELF形式の実行可能プログラムを出力 <br> させるためにはどうすればいいんですか？（コマンド等） <>
デフォルトの名無しさん<>sage<>03/01/05 22:43<> gcc を --target=i386--elf で make しなおす。 <>
デフォルトの名無しさん<>sage<>03/01/05 22:51<> &gt;781 <br> どうもありがとうございます。 <br> cygwin使ってるんですが、、、 <br> 外部用にgccインストするほうがよさげですね。 <>
デフォルトの名無しさん<>sage<>03/01/06 00:42<> 気づいたのですが、WINXP + CYGWIN の環境でELF形式の <br> プログラムを開発する場合、クロスコンパイル環境の <br> 構築が必要なので何かとめんどくさいですね。 <br> gccの他に、ld, gdbとか色々。。。 <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/06 08:42<> A4に印刷して組み立ててみた。。。 <br>  <br> ttp://meg-os.org/2ch/mona.jpg <br>  <>
(・∀・)yossy </b>◆FlasH.X1/s <b><>sage<>03/01/06 09:34<> <a href="../test/read.cgi/tech/1037096449/784" target="_blank">&gt;&gt;784</a> <br> おぉ！いい感じｗ <br> 実寸でやると、多分WinXPの箱とおなじ大きさになるはず <br>  <>
デフォルトの名無しさん<>sage<>03/01/06 09:52<> MPDNの資料室にある <br>  <br> &gt; [Web] OSASKウェブサイト <br> &gt; http://www.imasy.org/~kawai/osask/index.html <br> &gt; OSASK河合さんのページ <br> 川合の間違いですね <br>  <br> はめて読む486の正誤表 <br> http://www.ascii.co.jp/books/support/apc/4-7561-0213-1.html <br> も入れとくとイイと思う <>
デフォルトの名無しさん<>sage<>03/01/06 12:07<> gcc（pe-i386）からgcc（elf32-i386）に変えたところ、 <br> iretのところでこけてしまいます。↓ <br>  &gt;&gt;PANIC&lt;&lt; iret: return CS selector null <br>  <br> gcc(elf32-i386)でコンパイル、iret付近のdisassemble. <br>   82:61                   popa    <br> 5d:61                   popa    <br>   5e:89 ec                mov    %ebp,%esp <br>   60:5d                   pop    %ebp <br>   61:cf                   iret    <br>   62:c9                   leave   <br>   63:c3                   ret <br>  <br> gcc(pe-i386)でコンパイル、iret付近のdisassemble. <br> 4b:61                   popa    <br>   4c:89 ec                mov    %ebp,%esp <br>   4e:5d                   pop    %ebp <br>   4f:cf                   iret    <br>   50:89 ec                mov    %ebp,%esp <br>   52:5d                   pop    %ebp <br>   53:c3                   ret     <br>   54:25 78 20 00 90       and    $0x90002078,%eax <br>   59:8d b4 26 00 00 00 00 lea    0x0(%esi,1),%esi <br>  <br> 気づくことがあればお願いします。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>03/01/06 13:21<> &gt;82:61 popa  <br> &gt;5d:61 popa  <br> 　 ∧＿∧  <br> ＜後ろ頭＞-~~~ popaが2つも入ってるけど・・・。 <>
787<>sage<>03/01/06 14:29<> すいません（汗） <br> 82:61 popa <br> ↑はペーストミスです。 <br>  <br>  <br> &gt;&gt;PANIC&lt;&lt; iret: return CS selector null <br> から復帰させたCSが不正ということなので、 <br> iretの後の、leave（スタックフレーム破棄）が問題なのかと <br> 思ったのですが・・・。 <br> 最終出力はバイナリー形式なのですが、 <br> 入力オブジェクト形式（gccの出力）を変えると <br> 色々代わってくるんですかね。。。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>03/01/06 14:40<> 　 ∧＿∧ <br> ＜後ろ頭＞-~~~ 推測では、形式を変えるとcdecl/stdcallが変わるとか・・・。 <br> 関数のprologueをdisassembleすると分かるはず。 <>
デフォルトの名無しさん<>sage<>03/01/06 16:21<> このままなんとなく続けていくとモノリシックになる罠。 <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/06 16:23<> 大丈夫。 <br>  <br>  <br>  <br>  <br> NTのマイクロカーネルの方が遥かに大きい。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/06 20:39<> <a href="../test/read.cgi/tech/1037096449/789" target="_blank">&gt;&gt;789</a> <br> gcc -S でアセンブリ言語出力吐き出させてディスアセンブル結果と <br> 比較すれば関数のプロローグが変わっているか否かはわかるんじゃない？ <br>  <>
デフォルトの名無しさん<>sage<>03/01/06 20:44<> <a href="../test/read.cgi/tech/1037096449/787" target="_blank">&gt;&gt;787</a> <br> &gt;mov    %ebp,%esp <br> &gt;pop    %ebp <br> を <br> leave <br> にすれば動きそうな気がしますが… <br> 関数の途中でiretするのはよろしくないんではないかと。 <br> __attribute__((interrupt))使えませんか？ <br>  <>
デフォルトの名無しさん<>sage<>03/01/06 21:00<> <a href="../test/read.cgi/tech/1037096449/794" target="_blank">&gt;&gt;794</a> <br> &gt;関数の途中でiretするのはよろしくないんではないかと。  <br>  <br> それだ。 <br> 関数の入り口と出口でpush,popのバランスが取れているところに <br> iret 突っ込んじゃったら、関数の入り口でpushされた%espとかを <br> iretがリターンアドレスと勘違いしちゃうんだろな。 <br>  <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>03/01/06 23:10<> <a href="../test/read.cgi/tech/1037096449/794" target="_blank">&gt;&gt;794</a> <br> 　 ∧＿∧  <br> ＜後ろ頭＞-~~~ leaveはmov %ebp,%esp pop %ebpと等価だと思うけど。。。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/795" target="_blank">&gt;&gt;795</a> <br> ちゃんとStackframeを潰しているもよう。 <>
787<>sage<>03/01/06 23:34<> iretの部分では原因はつかめなかったのですが、 <br>  <br> gcc {色々オプション（ライブラリ非依存のための）} -c xxx.c <br> gcc {色々オプション} -c yyy.c <br> gcc {色々オプション} -c zzz.c <br>  <br> ld -s（シンボル全削除） --oformat binary xxx.o yyy.o zzz.o <br>  <br> でバイナリ形式を出力した場合、関数のプロローグなどは別として、 <br> 入力が何形式であれ、結局バイナリ形式出力なので同じものができると <br> いうわけではないのでしょうか？ <br>  <br>  <br>  <>
787<>sage<>03/01/06 23:54<> 解決しました！ <br>  <br> 全く馬鹿馬鹿しい原因でした。。。 <br> -O2最適化オプションが原因でした。 <br> pe-i386では適切に最適化していたようですが、 <br> elf32-i386では余計なことしてたのかなぁ。 <>
デフォルトの名無しさん<>sage<>03/01/07 01:10<> <a href="../test/read.cgi/tech/1037096449/798" target="_blank">&gt;&gt;798</a> <br> 最適化のバグが原因で最適化した場合だけ動かないって事たまにはあるけど．．． <br> 大抵は自分で仕込んだバグだったな。 <br>  <br> 最適かやめて安心してると後で泣きを見るかもしんないよ。 <>
ひげぽん<>sage<>03/01/07 01:38<> <a href="../test/read.cgi/tech/1037096449/784" target="_blank">&gt;&gt;784</a> <br> 箱いいですねぇ。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/786" target="_blank">&gt;&gt;786</a> <br> &gt;&gt; OSASK河合さんのページ <br> &gt;&gt;川合の間違いですね <br>  <br> すいません、これはひげぽんのミスです。 <br> 大変失礼しました。 <br> 修正させていただきます。 <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/07 13:07<> 対抗してみるテスト <br> ttp://meg-os.org/2ch/lite.jpg <>
デフォルトの名無しさん<>sage<>03/01/07 19:30<> <a href="../test/read.cgi/tech/1037096449/801" target="_blank">&gt;&gt;801</a> <br> ﾜﾗﾀ｡ <>
デフォルトの名無しさん<>sage<>03/01/07 21:31<> しかもMEG-OSの方がしわがなくてきれい <>
ひげぽん<>sage<>03/01/07 21:56<> <a href="../test/read.cgi/tech/1037096449/801" target="_blank">&gt;&gt;801</a> <br> 会社で見て笑いました。( <br>  <br> 雑誌UNIX　USER　2月号のBochs2.0特集記事の中の片隅で <br> Monaプロジェクトがちょこっと紹介されました。ヽ(´ー｀)ノ <br> これで少しは知名度アップ？？ <br> もちろん雑誌は買いました（笑） <>
ひげぽん<>sage<>03/01/07 22:25<> mona.img(41KB)からunixコマンドで <br> mona.img(1.44MB)を作りたいのですが <br> どなたか良い方法を教えていただけないでしょうか。 <br> ddコマンドでしょうか？ <br>  <br> 現状はrawrite.exeでwriteしたあと、readして <br> イメージファイル(1.44MB)を作成しています。 <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/07 22:27<> <a href="../test/read.cgi/tech/1037096449/803" target="_blank">&gt;&gt;803</a> <br> monaは色が濃いのでふやけた予感。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/07 22:27<> <a href="../test/read.cgi/tech/1037096449/804" target="_blank">&gt;&gt;804</a> <br> そういうのには見本誌はないの？ <>
デフォルトの名無しさん<>sage<>03/01/07 22:32<> <a href="../test/read.cgi/tech/1037096449/805" target="_blank">&gt;&gt;805</a> <br> dd でサイズを指定して、後ろを埋めちゃえばいいんじゃないかな。 <>
デフォルトの名無しさん<>sage<>03/01/07 22:34<> <a href="../test/read.cgi/tech/1037096449/805" target="_blank">&gt;&gt;805</a> <br> cat mona.img /dev/zero|dd of=mona_fd.img bs=1k count=1440 <br> かなあ？ <br>  <>
ひげぽん<>sage<>03/01/07 22:35<> <a href="../test/read.cgi/tech/1037096449/804" target="_blank">&gt;&gt;804</a> <br> Bochsの記事を執筆された方のご厚意での紹介なので <br> そんなのはないです。紹介されただけで感激です。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/808" target="_blank">&gt;&gt;808</a> <br> ddでサイズを指定をする場合ってosでしたっけ <br> やり方が悪いのかうまくいきません。 <>
ひげぽん<>sage<>03/01/07 22:45<> <a href="../test/read.cgi/tech/1037096449/809" target="_blank">&gt;&gt;809</a> <br> &gt;cat mona.img /dev/zero|dd of=mona_fd.img bs=1k count=1440 <br>  <br> 出来ました。ありがとうございますm(__)m <>
Tino </b>◆sMrLqQHxo6 <b><>sage<>03/01/08 00:05<> カーネルがSTLを使ってリライトされそうな予感（ｗ <>
ひげぽん<>sage<>03/01/08 00:30<> <a href="../test/read.cgi/tech/1037096449/812" target="_blank">&gt;&gt;812</a> <br> の予感による通り（笑） <br> Tinoさん提供のパッチと手ほどき書により <br> Monaの実装にSTLが使えるようになりました。！！！！ <br> Tinoさんありがとうございます。m(__)m <br>  <br> これに伴い開発環境の移行をいたしました。 <br> gcc2.95@cygwin→gcc3.2@cygwin <br>  <br> STLの導入で夢が広がりました。 <br> こんなコードが動きます↓ <>
ひげぽん<>sage<>03/01/08 00:30<> &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;string <br> &nbsp;&nbsp;&nbsp;&nbsp;std::string&nbsp;str&nbsp;=&nbsp;"---"; <br> &nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;+=&nbsp;"string"; <br> &nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;+=&nbsp;"@mona&nbsp;"; <br> &nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;+=&nbsp;"is&nbsp;OK"; <br> &nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;+=&nbsp;"---"; <br> &nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("string:&nbsp;%s\n",&nbsp;str.data()); <br> &nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("string:&nbsp;str.substr(3,&nbsp;11):&nbsp;%s\n",&nbsp;str.substr(3,&nbsp;11).data()); <br>  <br> &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;list <br> &nbsp;&nbsp;&nbsp;&nbsp;std::list&lt;char*&gt;&nbsp;li; <br> &nbsp;&nbsp;&nbsp;&nbsp;li.push_back("micoro&nbsp;kernel&nbsp;"); <br> &nbsp;&nbsp;&nbsp;&nbsp;li.push_back("operating&nbsp;system&nbsp;with&nbsp;"); <br> &nbsp;&nbsp;&nbsp;&nbsp;li.push_back("network&nbsp;suit&nbsp;architecture&nbsp;"); <br> &nbsp;&nbsp;&nbsp;&nbsp;li.push_back("\n"); <br> &nbsp;&nbsp;&nbsp;&nbsp;std::list&lt;char*&gt;::iterator&nbsp;it; <br> &nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("list&nbsp;&nbsp;:&nbsp;iterate-&gt;"); <br> &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(it&nbsp;=&nbsp;li.begin();&nbsp;it&nbsp;!=&nbsp;li.end();&nbsp;it++)&nbsp;{ <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("%s",&nbsp;*it); <br> &nbsp;&nbsp;&nbsp;&nbsp;} <>
ひげぽん<>sage<>03/01/08 00:31<> &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;vector <br> &nbsp;&nbsp;&nbsp;&nbsp;std::vector&lt;char*&gt;&nbsp;ve; <br> &nbsp;&nbsp;&nbsp;&nbsp;ve.push_back("1"); <br> &nbsp;&nbsp;&nbsp;&nbsp;ve.push_back("2"); <br> &nbsp;&nbsp;&nbsp;&nbsp;ve.push_back("3"); <br> &nbsp;&nbsp;&nbsp;&nbsp;ve.push_back("4"); <br> &nbsp;&nbsp;&nbsp;&nbsp;std::vector&lt;char*&gt;::iterator&nbsp;it2; <br> &nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("vector&nbsp;:&nbsp;iterate-&gt;"); <br> &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(it2&nbsp;=&nbsp;ve.begin();&nbsp;it2&nbsp;!=&nbsp;ve.end();&nbsp;it2++)&nbsp;{ <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("%s&nbsp;",&nbsp;*it2); <br> &nbsp;&nbsp;&nbsp;&nbsp;} <br>  <br> &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;argorithm <br> &nbsp;&nbsp;&nbsp;&nbsp;std::reverse(ve.begin(),&nbsp;ve.end()); <br> &nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("\nargorithm&nbsp;:&nbsp;reverse-&gt;"); <br> &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(it2&nbsp;=&nbsp;ve.begin();&nbsp;it2&nbsp;!=&nbsp;ve.end();&nbsp;it2++)&nbsp;{ <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("%s&nbsp;",&nbsp;*it2); <br> &nbsp;&nbsp;&nbsp;&nbsp;} <br>  <br> &nbsp;&nbsp;&nbsp;&nbsp;std::fill(ve.begin(),&nbsp;ve.end(),&nbsp;(char*)"7"); <br> &nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("\nargorithm&nbsp;:&nbsp;fill&nbsp;with&nbsp;\"7\"-&gt;"); <br> &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(it2&nbsp;=&nbsp;ve.begin();&nbsp;it2&nbsp;!=&nbsp;ve.end();&nbsp;it2++)&nbsp;{ <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_sys_printf("%s&nbsp;",&nbsp;*it2); <br> &nbsp;&nbsp;&nbsp;&nbsp;} <>
デフォルトの名無しさん<>sage<>03/01/08 05:13<> 数日たったころにバグが出そうなコードですな。。。 <>
デフォルトの名無しさん<>sage<>03/01/08 12:02<> C＋＋でカーネル書くこと自体が良いのか悪いのかではなく、 <br> 色々、未知な領域なので、Cで書くよりは新しいことがいっぱい <br> で面白そうだ。 <br>  <br> ところで、lightconeさんのnwsosカーネルの実行形式はなんなんだろ？ <br> elf or pe ?　もしくは　coff... <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/08 12:17<> &gt;&gt;ところで、lightconeさんのnwsosカーネルの実行形式はなんなんだろ？ <br> &gt;&gt;elf or pe ?　もしくは　coff... <br>  <br> 　カーネルのソースは、COFF形式またはOMF形式のOBJファイルを作成して <br> から、自作リンカ(NWSL)で、独自形式(NWSOSのネイティブアプリケーションの <br> 実行形式と同じ）にリンクしています。 <br> 　OBJの段階では、COFFでもOMFでもリンクできたと思います。 <>
817<>sage<>03/01/08 12:25<> &gt;818 <br>  <br> そうでしたか。 <br> というより、独自リンカで作成しているので、COFFかOMFでしたね。 <br> 今さっき、NWSLの仕様を見て気づきました。ｽﾏｿ。 <>
デフォルトの名無しさん<>sage<>03/01/08 14:29<> いや〜、part2〜part4、もうすぐpart5。 <br> 色々なものが出来上がりましたね。 <br> これはすごいことだと思います。 <br> さっそく、UNIX　USER　2月号見てきますｗ <>
デフォルトの名無しさん<>sage<>03/01/08 14:56<> 記事うｐｷﾎﾞﾝﾇ <>
デフォルトの名無しさん<>sage<>03/01/08 19:45<> <a href="../test/read.cgi/tech/1037096449/821" target="_blank">&gt;&gt;821</a> <br> 禿同！ <>
デフォルトの名無しさん<>sage<>03/01/08 19:46<> 誰もC++で書かれたBeOSのことを語らないね、、なんで？ <br> http://www.zdnet.co.jp/macwire/0001/19/c_igeek2.html <br>  <br> FBC問題、、 <>
デフォルトの名無しさん<>sage<>03/01/08 20:10<> FBC(fragile base calss) <br>  <br> [邦訳] 脆い基本クラス <br>  <br> ・オブジェクト(すなわち構造体やクラス)のサイズ  <br> ・(publicやprotectedである)「可視の」データまでのオフセット  <br> ・vtableの存在とサイズ  <br> ・vtable中の仮想関数へのオフセット <br>   <br> あなたのアプリがコンパイルされ、リンクされる時、それ[ダイナミック <br> ロード・ライブラリ]はこれらすべての情報を記録します。 これらのうち <br> の何かがライブラリ中で変更された場合、コンパイルされたアプリはもは <br> や動かないという問題。 <br>  <br> 以上参考までに･･･ <br>  <>
デフォルトの名無しさん<>sage<>03/01/08 20:18<> <a href="../test/read.cgi/tech/1037096449/823" target="_blank">&gt;&gt;823</a> <br> 思いっきり既出 <a href="../test/read.cgi/tech/1037096449/710" target="_blank">&gt;&gt;710</a> <br>  <>
デフォルトの名無しさん<>sage<>03/01/08 20:21<> 今Monaがやってる部分はカーネルの中だから <br> ユーザーアプリのリンクとまったく関係ないので、 <br> FBC問題の影響はありません。 <br>  <br> とりあえずマイクロカーネルなんだから、 <br> カーネル内部とは関係なくその上にOSサーバが来て、 <br> その上にユーザーランドが来るので、 <br> そういうことが関係してくるのはユーザーランド以降ですね。 <>
IP記録実験<>IP記録実験<>03/01/08 21:52<> IP記録実験 <br> http://qb.2ch.net/test/read.cgi/accuse/1042013605/ <br>  <br> 1 名前：ひろゆき ◆3SHRUNYAXA ＠どうやら管理人 ★ 投稿日：03/01/08 17:13 ID:??? <br> そんなわけで、qbサーバでIPの記録実験をはじめましたー。 <br>  <br> 27 名前：心得をよく読みましょう 投稿日：03/01/08 17:20 ID:yL/kYdMc <br> SETTING.TXT管轄でないということは全鯖導入を視野に、か？ <br>  <br> 38 名前：ひろゆき ◆3SHRUNYAXA 投稿日：03/01/08 17:22 ID:rLfxQ17l <br> <a href="../test/read.cgi/tech/1037096449/27" target="_blank">&gt;&gt;27</a> <br> 鋭いです。 <br>  <br> 73 名前：ひろゆき ◆3SHRUNYAXA 投稿日：03/01/08 17:27 ID:rLfxQ17l <br> ＞ところで、IPが抜かれて何か今までと変わることってあるのでしょうか？ <br> ・今までより、サーバが重くなる。 <br> ・裁判所や警察からの照会があった場合にはIPを提出することがある。                                          <>
ひげぽん<>sage<>03/01/08 22:02<> <a href="../test/read.cgi/tech/1037096449/816" target="_blank">&gt;&gt;816</a> <br> &gt;数日たったころにバグが出そうなコードですな。。。 <br> うう。勉強が足らないようです。STLの本買おうかな。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/817" target="_blank">&gt;&gt;817</a> <br> &gt;色々、未知な領域なので、Cで書くよりは新しいことがいっぱい <br> &gt;で面白そうだ <br> そうですね。面白いです。 <br> STL使えるなんてわくわくです。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/820" target="_blank">&gt;&gt;820</a> <br> &gt;さっそく、UNIX　USER　2月号見てきますｗ <br> 見て、気に入ったら買ってください（笑） <br>  <br> <a href="../test/read.cgi/tech/1037096449/821" target="_blank">&gt;&gt;821</a> <br> &gt;記事うｐｷﾎﾞﾝﾇ <br> さすがにそれは、まずいと思うのでむりっす。m(__)m <br>  <br>  <>
デフォルトの名無しさん<>sage<>03/01/08 22:24<> &gt; &gt;数日たったころにバグが出そうなコードですな。。。  <br> &gt; うう。勉強が足らないようです。STLの本買おうかな。 <br> そういう意味じゃないと思う。 <>
デフォルトの名無しさん<>sage<>03/01/08 22:28<> STLは標準っていうくらいだから使えても当たり前で面白みないっす。 <br> 逆に言うと使えないと話しにならんってことだが。 <br>  <br> とりあえず次はboostでlambdaですな。 <br> こんなのが当たり前のように使われてるカーネル……わくわく <br> http://www.kmonos.net/alang/boost/classes/lambda.html <>
デフォルトの名無しさん<>sage<>03/01/08 22:36<> boostならlambdaの前にshared_ptrだろ <br> これ使ってJavaみたいにdeleteのないコードにしなきゃ <br> 単なる悪趣味と言っても過言ではないｿﾞ <>
ひげぽん<>sage<>03/01/08 22:38<> &gt;&gt; うう。勉強が足らないようです。STLの本買おうかな。 <br> &gt;そういう意味じゃないと思う。 <br>  <br> どういう意味でしょうか。 <br> OS作成には使わないほうが良いというアドバイスでしょうか。 <>
デフォルトの名無しさん<>sage<>03/01/08 22:56<> <a href="../test/read.cgi/tech/1037096449/832" target="_blank">&gt;&gt;832</a> <br> STLの書き方を問題にしてるんじゃなくて、 <br> STLを使うこと自体を問題にしてるんだろう <br>  <br> それを受けて <a href="../test/read.cgi/tech/1037096449/817" target="_blank">&gt;&gt;817</a> 氏が <br> &gt; C＋＋でカーネル書くこと自体が良いのか悪いのかではなく、  <br> &gt; 色々、未知な領域なので、Cで書くよりは新しいことがいっぱい  <br> &gt; で面白そうだ。 <br> って応援してくださってるんっしょ <>
ひげぽん<>sage<>03/01/08 23:02<> <a href="../test/read.cgi/tech/1037096449/833" target="_blank">&gt;&gt;833</a> <br> 納得しました。ありがとうございます。 <>
デフォルトの名無しさん<>sage<>03/01/08 23:05<> とりあえずSTLじゃインパクトがなかったみたいなので <br> 次はboostをおながいします <>
デフォルトの名無しさん<>sage<>03/01/08 23:17<> オナニーでOS作りましたってだけじゃ注目されない <br> 一流のエンターテイメントを目指すのだ <>
デフォルトの名無しさん<>sage<>03/01/08 23:27<> カーネルの実装にSTL使えることは <br> 結構すごいと思うけど <>
デフォルトの名無しさん<>sage<>03/01/08 23:28<> いろんな事いうヤシ居るけど、全部真に受けてたらろくなもん出来ないぞ。 <br> エンターテイメントは大事だけど、最低どっか一つ輝く部分があればいい。 <br>  <br> 欲張りすぎると、どっかのＫがつくＯＳみたいになる <>
デフォルトの名無しさん<>sage<>03/01/09 01:39<> <a href="../test/read.cgi/tech/1037096449/352" target="_blank">&gt;&gt;352</a> <br> 友人から借りた？おいおい。MXで落とせば？ <>
デフォルトの名無しさん<>sage<>03/01/09 02:27<> <a href="../test/read.cgi/tech/1037096449/593" target="_blank">&gt;&gt;593</a> <br> 昔からとってたよ。 <>
IP記録実験<>IP記録実験<>03/01/09 02:48<> IP記録実験 <br> http://qb.2ch.net/test/read.cgi/accuse/1042013605/ <br>  <br> 1 名前：ひろゆき ◆3SHRUNYAXA ＠どうやら管理人 ★ 投稿日：03/01/08 17:13 ID:??? <br> そんなわけで、qbサーバでIPの記録実験をはじめましたー。 <br>  <br> 27 名前：心得をよく読みましょう 投稿日：03/01/08 17:20 ID:yL/kYdMc <br> SETTING.TXT管轄でないということは全鯖導入を視野に、か？ <br>  <br> 38 名前：ひろゆき ◆3SHRUNYAXA 投稿日：03/01/08 17:22 ID:rLfxQ17l <br> <a href="../test/read.cgi/tech/1037096449/27" target="_blank">&gt;&gt;27</a> <br> 鋭いです。 <br>  <br> 73 名前：ひろゆき ◆3SHRUNYAXA 投稿日：03/01/08 17:27 ID:rLfxQ17l <br> ＞ところで、IPが抜かれて何か今までと変わることってあるのでしょうか？ <br> ・今までより、サーバが重くなる。 <br> ・裁判所や警察からの照会があった場合にはIPを提出することがある。         <>
デフォルトの名無しさん<>sage<>03/01/09 03:11<> &gt;256 <br> 意味ない。 <>
デフォルトの名無しさん<>sage<>03/01/09 03:22<> 1000!!! <>
デフォルトの名無しさん<>sage<>03/01/09 11:59<> なんで500も前にレスするですか？ <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/09 15:20<> 荒れてきてますﾈ・・・ <>
デフォルトの名無しさん<>sage<>03/01/09 18:26<> ======2==C==H====================================================== <br>  <br> 　　　　　　　　　２ちゃんねるのお勧めな話題と <br> 　　　　　ネットでの面白い出来事を配送したいと思ってます。。。 <br>  <br> ===============================読者数： 138720人　発行日：2003/1/9 <br>  <br> 年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。 <br>  <br> そんなわけで、年末に予告したIP記録ですが実験を開始しています。 <br>  <br> 「２ちゃんねる20030107」 <br> こんな感じで各掲示板の最下部に日付が入ってるんですが、 <br> 20030107以降になってるところはログ記録実験中ですー。 <br>  <br> んじゃ！ <br>  <br> ────────────────────────Age2ch─ <br> ■この書き込みは、Age2chを使って配信されています。 <br> ──────────────────────────── <br> Keep your thread alive ! <br> http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 <br> ────────────────────────────                                   <>
デフォルトの名無しさん<>age<>03/01/09 21:13<> ひげぽんガンバレ！ <br> 応援してます！ <>
デフォルトの名無しさん<>sage<>03/01/09 23:01<> qb <br> 削除整理、削除要請、削除議論、批判要望 <br>  <br> live2 <br> ニュース速報 <br>  <br> tmp <br> ニュース極東、バカニュース、ちくり裏事情、違反の潰し方、薬・違法 <br> 少年犯罪、政治思想、ゴーマニズム、ペット苦手、download <br> ロビー、なんでもあり、厨房、最悪、学歴、人権問題 <>
デフォルトの名無しさん<>sage<>03/01/09 23:44<> バカが数人紛れ込んできてるな。 <br> ほかでやれよ。 <>
デフォルトの名無しさん<>sage<>03/01/09 23:52<> <a href="../test/read.cgi/tech/1037096449/849" target="_blank">&gt;&gt;849</a> <br> 相手にするな。 <br> 飽きて出て行くのを待つしかないよ。 <>
デフォルトの名無しさん<>sage<>03/01/10 00:55<> ５６７が良い事言った　　　　　　　　　　 <>
デフォルトの名無しさん<>sage<>03/01/10 09:56<> <a href="../test/read.cgi/tech/1037096449/64" target="_blank">&gt;&gt;64</a> <br> んじゃ、内容証明でも認識しえたってことになりません？ <>
デフォルトの名無しさん<>sage<>03/01/10 10:14<> 某○○は相手が事実を認識しえたと判った段階でレス汁ｗ <>
デフォルトの名無しさん<>sage<>03/01/10 10:48<> 博之が２ちゃんねる閉鎖を決めました。 <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/10 10:50<> 時々動作がおかしくなります。添削キボン(´・ω・｀) <br> ttp://meg-os.org/2ch/fdc.asm <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/10 10:57<> ひょっとして、掲示板の動作が異常？ <>
デフォルトの名無しさん<>sage<>03/01/10 11:57<> てすと？ <>
デフォルトの名無しさん<>sage<>03/01/10 12:21<> <a href="../test/read.cgi/tech/1037096449/856" target="_blank">&gt;&gt;856</a> <br> ここの板は <br> &gt; ２ちゃんねる20021219 <br> ですから、 <br> IP収集テストと関係ないはずなんですが、 <br> 何なんでしょうね。 <br> http://www.zdnet.co.jp/news/0301/09/njbt_07.html <>
デフォルトの名無しさん<>sage<>03/01/10 12:28<> <a href="../test/read.cgi/tech/1037096449/858" target="_blank">&gt;&gt;858</a> <br> コピペの内容にIP収集テストの話題が入ってるけど、 <br> IP収集テストによる動作不良かもと思わせる意図があるんだろ。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/855" target="_blank">&gt;&gt;855</a> <br> そういえば、前にこのスレのリンクから meg-os.org 逝った時に <br> 「不適切なリファラーです」とか何とかいわれたけど、 <br> meg-os.org って２ちゃんとなか悪いんじゃないの？ <br> 何でそんなとこにファイルおけるの？ <br>  <br>  <br>  <>
デフォルトの名無しさん<>sage<>03/01/10 12:50<> <a href="../test/read.cgi/tech/1037096449/1" target="_blank">&gt;&gt;1</a>　もぅいいじゃないか。 <br> 開き直れよ！　俺は変態だ！！って。 <br> 変態の何処が悪いんだよ。 <br> 男はな、みんな大なり小なり変態なんだよ。 <br> そのことを女の大半が知らないだけなんだよ。 <br>  <br> 結論として言えることは、女の無知が悪いってことだよ。　 <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/10 12:54<> <a href="../test/read.cgi/tech/1037096449/859" target="_blank">&gt;&gt;859</a> <br> ﾘﾌｧﾗﾁｪｯｸに関しては厳しくなったり緩くなっているのでなんとも言えませぬ。 <br> IPとおおよそのｱｸｾｽ日時を晒してくればｴﾗｰﾛｸﾞから原因を推定できますが。 <br>  <br> 2chと仲悪かったらこんなところにｺﾃﾊｿで書き込みませんyo(藁 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/10 13:01<> 　他のスレにも、昔の発言に対しての、元発言と全く関連性が無いようなレスが <br> IP実験開始あたりから頻出しているようです。 <br> 　ばれないようにテストしてるのか、それとも、バグかなんかでしょうか？ <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/10 13:03<> <a href="../test/read.cgi/tech/1037096449/862" target="_blank">&gt;&gt;862</a> <br> 荒らしは放置しましょう。 <>
デフォルトの名無しさん<>sage<>03/01/10 13:58<> &gt;863 <br> 実際のとこどうなの？　荒らしなの？　（スレ違いｽﾏｿ） <>
デフォルトの名無しさん<>sage<>03/01/10 14:08<> <a href="../test/read.cgi/tech/1037096449/861" target="_blank">&gt;&gt;861</a> <br> ダイアルアップだし、時期も忘れてしまったのだけど、 <br> そういえば、かちゅーしゃからリンクたどっから、リファラが憑いてなかったのかな。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/864" target="_blank">&gt;&gt;864</a> <br> １００％荒氏でしょ。 <br> でもこのスレに張り付いてるわけでは無さそう。 <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/10 14:11<> <a href="../test/read.cgi/tech/1037096449/865" target="_blank">&gt;&gt;865</a> <br> ﾘﾌｧﾗがない場合はﾘﾌｧﾗ関係のｴﾗｰは出ないはず。。。 <br>  <br> ﾘﾌｧﾗｴﾗｰが出る主な原因は怪しいﾘﾌｧﾗが漏れてる時なんで。 <br>  <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>03/01/10 14:13<> 　 ∧＿∧ <br> ＜後ろ頭＞-~~~ どれどれ書き込みテスト。 <>
デフォルトの名無しさん<>sage<>03/01/10 16:40<> さぁ拳銃をてに入れて管理人を殺害しよう <>
デフォルトの名無しさん<>sage<>03/01/10 20:42<> <a href="../test/read.cgi/tech/1037096449/858" target="_blank">&gt;&gt;858</a> <br> すでにIP収集版に入れ替わってますね。。 <br> ＞２ちゃんねる20030107a <br>  <br> ところでmonaをCVSでダウンロードすると <br> 既にSTL対応版に入れ替わっていました。 <br> イメージファイルも1.44MBで出力するように修正されています。 <br> さすがひげぽんさん、素早いですね。 <br> (･∀･)ｲｲ!! <br>  <br> <a href="../test/read.cgi/tech/1037096449/836" target="_blank">&gt;&gt;836</a> <br> 追いかけているだけで十分楽しめていますよ。 <br> 次は何が来るのでしょう？(^д^) <>
ひげぽん<>sage<>03/01/10 21:44<> &gt;ところでmonaをCVSでダウンロードすると <br> &gt;既にSTL対応版に入れ替わっていました。 <br> &gt;イメージファイルも1.44MBで出力するように修正されています <br> &gt;さすがひげぽんさん、素早いですね。 <br>  <br> ありがとうございます。でもあまり自分のやった仕事ではないのでもっとがんばります。 <br> ついでに、Makefileも大幅に変更・改善しました。 <>
デフォルトの名無しさん<>sage<>03/01/10 23:01<> ただ内部告発的なｶｷｺも減ってしまう気もするんだが・・・ <>
デフォルトの名無しさん<>sage<>03/01/10 23:07<> http://qb.2ch.net/test/read.cgi/accuse/1042131034/ <br>  <br> 312 名前：ひろゆき ◆3SHRUNYAXA 投稿日：03/01/10 19:59 ID:jWxHxvti <br> 全部にいれてみた。 <br>  <br>  <>
デフォルトの名無しさん<>sage<>03/01/10 23:21<> 静かですねえ。 <>
デフォルトの名無しさん<>sage<>03/01/10 23:28<> <a href="../test/read.cgi/tech/1037096449/830-831" target="_blank">&gt;&gt;830-831</a> <br> Monaでboostを試してみたけど <br> 例外とかRTTIとかちゃんと扱えないと無理っぽい <br> なるべく贅肉を殺ぎ落としたほうが良いカーネル内部で <br> そこまでするのはやりすぎと思う <br>  <br> それ以前にboostはでか過ぎるし <br> 必要なものだけ切り出すにしても無駄が多いしで <br> STLで止めといたほうがバランス的にいい <br>  <br> ひげぽんたんもboostには興味はあったんだったら <br> 無視しないでコメントした方が盛り上がると思うよ <br> http://pc.2ch.net/test/read.cgi/os/1039075591/272 <br>  <br> 以上、boostの件は決着 &gt;boost厨 <>
デフォルトの名無しさん<>sage<>03/01/10 23:38<> http://pc3.2ch.net/test/read.cgi/tech/1039513920/ <br> ここの106辺りに興味深いことが書かれてるな <>
ひげぽん<>sage<>03/01/11 00:05<> <a href="../test/read.cgi/tech/1037096449/874" target="_blank">&gt;&gt;874</a> <br> &gt;Monaでboostを試してみたけど <br> &gt;例外とかRTTIとかちゃんと扱えないと無理っぽい <br>  <br> 調査ありがとうございます。 <br> ここにもできる人がすばらしいです。 <br>  <br> 例外がないのはきついと思っておりましたが <br> やはり無理でしたか。 <br>  <br> &gt;必要なものだけ切り出すにしても無駄が多いしで <br> &gt;TLで止めといたほうがバランス的にいい <br>  <br> 調査結果から判断するとやはり、このご意見に賛成です。 <br>  <br> &gt;ひげぽんたんもboostには興味はあったんだったら <br> &gt;視しないでコメントした方が盛り上がると思うよ <br>  <br> 大変失礼いたしました。 <br> いまは、STLが使用できるようになったので満足しています。 <br> 実際にSTLがカーネル実装にどの程度使えるかいろいろ実験しようと <br> 思っています。task構造体の格納にコレクションを使うとか・・・ <>
デフォルトの名無しさん<>sage<>03/01/11 00:24<> 真っ先に帰るのが普通の客なんでないかな??冷やかしの人に裁判沙汰のリスクは <br> おえないでしょ。 <br> 本職はIP位ではへこたれずに留まるだろうけど、暫らくは半端な厨房が通常板へ <br> なだれ込んで無差別に悪さ(差別コピペ)をする、っつー事になりそう･･･ <br>  <br>  <>
デフォルトの名無しさん<>sage<>03/01/11 00:34<> 新しいテーマをだして書き込み募集したいんですけどどうしたらいいの？ <br>  <>
デフォルトの名無しさん<><>03/01/11 01:44<> パート2から見て、漏れも勉強したかったんだが、未だにはじめてよむ486が <br> 手に入らず想像ｵﾅｰﾆばっかしてる。 <br> アマゾンでも在庫切れだってさ。。。 <>
デフォルトの名無しさん<>sage<>03/01/11 02:08<> <a href="../test/read.cgi/tech/1037096449/879" target="_blank">&gt;&gt;879</a> <br> 漏れはインテルのマニュアルで充分間に合ってる。 <br> 印刷するのがめんどいがな。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/11 02:12<> <a href="../test/read.cgi/tech/1037096449/879" target="_blank">&gt;&gt;879</a> <br> オンライン書店はamazonだけじゃない。 <br> ttp://www.alles.or.jp/~teru1/washo.html <br> あとは自分で。 <>
デフォルトの名無しさん<>sage<>03/01/11 03:39<> IP記録実験 Part3 <br> http://qb.2ch.net/test/read.cgi/accuse/1042131034/ <br>  <br> のレスをコピペしているようです。 <br> ム板がちょっとした危機 <>
デフォルトの名無しさん<>sage<>03/01/11 09:21<> ポリタンはギリギリのところで勝負してるっぽいとこが好きだ <>
デフォルトの名無しさん<>sage<>03/01/11 09:21<> まだ聞きたい事あったんだけどな <>
デフォルトの名無しさん<>sage<>03/01/11 09:57<> ======2==C==H====================================================== <br>  <br> 　　　　　　　　　２ちゃんねるのお勧めな話題と <br> 　　　　　ネットでの面白い出来事を配送したいと思ってます。。。 <br>  <br> ===============================読者数： 139038人　発行日：2003/1/10 <br>  <br> なにやら、連日メルマガだしてるひろゆきです。 <br>  <br> そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、 <br> 全部のサーバに入れてみました。 <br>  <br> 重くなって落ちたりしてもご愛嬌ってことで。。。 <br>  <br> んじゃ！ <br>  <br> ────────────────────────Age2ch─ <br> ■この書き込みは、Age2chを使って配信されています。 <br> ──────────────────────────── <br> Keep your thread alive ! <br> http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 <br> ────────────────────────────                      <>
デフォルトの名無しさん<>sage<>03/01/11 10:50<> 352 名前：ひろゆき ◆3SHRUNYAXA [] 投稿日：03/01/08 18:01 ID:rLfxQ17l <br> 　　　悲しいときー。悲しいときー。 <br> 　　　正月に友人からエロゲーを借りて喜んで帰ってきたら、 <br> 　　　パソコンが壊れてたー。 <br>  <br> 　　　昨日ヨドバシカメラで部品買ってきて直しました。 <>
デフォルトの名無しさん<>sage<>03/01/11 11:20<> 誰かipを保存しない匿名掲示板を作って　 <br> 　　　 <br> 削除依頼があったら意地をはらずに <br> ほいほい消しちゃっていいからさ <>
デフォルトの名無しさん<>sage<>03/01/11 12:22<> テツandトモは仕込んでません <>
デフォルトの名無しさん<>sage<>03/01/11 12:47<> <a href="../test/read.cgi/tech/1037096449/884" target="_blank">&gt;&gt;884</a> <br> 荒氏は無視して普通にレスすればいいじゃん。 <>
デフォルトの名無しさん<>sage<>03/01/11 12:55<> 合流したみたいなので本題をどうぞ <>
デフォルトの名無しさん<>sage<>03/01/11 12:58<> <a href="../test/read.cgi/tech/1037096449/829" target="_blank">&gt;&gt;829</a> <br> &gt; &gt; &gt;数日たったころにバグが出そうなコードですな。。。 <br> &gt; &gt; うう。勉強が足らないようです。STLの本買おうかな。 <br> &gt; そういう意味じゃないと思う。  <br> そういう意味だと思う。 <br>  <br> &gt; std::list&lt;char*&gt; li; <br> &gt; li.push_back("micoro kernel "); <br> char*で扱うのは最悪。 <br> 1. std::list&lt;const char*&gt;または <br> 2. std::list&lt;std::string&gt;とするべき。 <br>  <br> 元のだと簡単にバッファオーバーランできる。 <br> 格納された文字列を操作するんなら <br> 2にしといた方が無難。 <br> せっかくstd::stringが使えるんだから <br> char*は可能な限り避けるべき。 <br> そうしないと数日経った頃にバグが出るかも。 <br>  <br> &gt; STLの本買おうかな。 <br> Cの知識だからSTLの本には書いてないと思う。 <>
ひげぽん<>sage<>03/01/11 13:12<> OSに関する話題のほうが少ないなあ。 <br> がんばります。 <br>  <br> インテル推奨のタスクスイッチ方法(TSSに対してjmp,call)を使わないで <br> タスクスイッチする方法を調べています。 <br>  <br> 調べていたところ <br> ttp://204.215.248.28/board.jsp?message=1783 <br> ttp://www.tldp.org/HOWTO/KernelAnalysis-HOWTO-6.html <br> ttp://osdev.neopages.net/tutorials/soft_ts.php <br>  <br> などが見つかりましたが、もうあと一歩です。 <br> 手順としては <br> ・レジスタセーブ(push？タスク構造体に？) <br> ・現スタック保存 <br> ・レジスタ復帰(pop?タスク構造体から？) <br> ・スタック切り替え(TSS経由) <br> と、概要はつかめたのですが。 <br>  <br> 上記と割り込みハンドラ中の切り替え(スタックがカーネルスタック？） <br> や、eflags,eipなどのタスク初期化時の扱い等、細かい部分が <br> まだ良く分かりません。 <br> どなたか良い資料等ありましたら教えてください。 <br> ソースもあると大変助かります。 <br>  <>
ひげぽん<><>03/01/11 13:40<> <a href="../test/read.cgi/tech/1037096449/891" target="_blank">&gt;&gt;891</a> <br>  <br> ご指摘ありがとうございます。 <br>  <br> &gt;&gt; std::list&lt;char*&gt; li; <br> &gt;&gt; li.push_back("micoro kernel "); <br> &gt;char*で扱うのは最悪。 <br> &gt;1. std::list&lt;const char*&gt;または <br> &gt;2. std::list&lt;std::string&gt;とするべき。 <br>  <br> 了解しました。const char*にはすべきだなあと <br> なんとなく気づいていたのですが放置していました。 <br> おっしゃる通り、stringがよさそうなのでstringにいたします。 <>
デフォルトの名無しさん<>sage<>03/01/11 15:35<> これはいい！ <>
デフォルトの名無しさん<>sage<>03/01/11 15:42<> IP記録実験 <br> http://qb.2ch.net/test/read.cgi/accuse/1042013605/ <br>  <br> 1 名前：ひろゆき ◆3SHRUNYAXA ＠どうやら管理人 ★ 投稿日：03/01/08 17:13 ID:??? <br> そんなわけで、qbサーバでIPの記録実験をはじめましたー。 <>
デフォルトの名無しさん<>sage<>03/01/11 16:39<> &gt;892 <br>  <br> linux詳細カーネルの「プロセスの切り替え」 <br> みたけど、結構複雑です。 <br> FPU, 内部レベルステート、IOビットマップやらデバック情報など･･･。 <br> OSとして例外処理、ページング、タスク管理機構ができあがるまでは、 <br> TSSへJUMP切り替えのほうが無難では？プロセス生成時のステートの扱いの問題もあるし。 <br> 色々出来上がった後で、修正すればいいし。 <br>  <br> 割り込み処理コードはTSSを持たないらしいので（割り込み時のプロセスに <br> 代わっての処理だから。カーネルレベルの話なら、スタック切り替えもない）。 <br>  <br>  <>
デフォルトの名無しさん<>sage<>03/01/11 17:45<> 後々の移植性とか考えると <br> ＴＳＳなんか使わないでページングだけで解決した方が無難だと思う。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/11 18:06<> <a href="../test/read.cgi/tech/1037096449/892" target="_blank">&gt;&gt;892</a> <br> 「良い資料」などないよ。 <br> そこは「考える部分」であって、調べたり、知識を吸収したりする部分 <br> ではない。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/11 18:14<> 　「タスクスイッチする方法」を調べるのではなく、「タスクスイッチ」とは <br> 「なんなのか」を突き詰めて考える事をお勧めします。 <br>  <br> 　「タスクスイッチ」をして、結果的に得たい動作は何なのかが分かれば、 <br> 必要な処理が自ずから分かってくると思います。 <br>  <br> 答えは、CPU内部の状態変数（それが何なのかは勉強の事）を切り替えるだけ <br> です。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>03/01/11 19:28<> <a href="../test/read.cgi/tech/1037096449/892" target="_blank">&gt;&gt;892</a> <br> 　 ∧＿∧ <br> ＜後ろ頭＞-~~~ ちょっとだけヒント出しておこう。 <br>  <br> 　/* task-&gt;stackは切り替え先タスクのスタック */ <br> 　*(task-&gt;stack-?) = ?; /* 汎用レジスタ値(popa用) */ <br> 　... <br> 　ebp = task-&gt;stack - ?; <br> 　mov esp,ebp <br> 　popa <br> 　iret; <br> } <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/11 20:17<> <a href="../test/read.cgi/tech/1037096449/892" target="_blank">&gt;&gt;892</a> <br> 頑張って考えてみてください。 <>
ひげぽん<>sage<>03/01/11 21:15<> <a href="../test/read.cgi/tech/1037096449/896" target="_blank">&gt;&gt;896</a> <br> アドバイスありがとうございます。 <br>  <br> &gt;TSSへJUMP切り替えのほうが無難では？プロセス生成時のステートの扱いの問題もあるし。 <br> &gt;色々出来上がった後で、修正すればいいし。 <br>  <br> なるほど。 <br>  <br> 現状の問題点・動機としては <br> ・タイマー割り込みによるスケジューリングでタスクスイッチをしたい。 <br> →backlinkの設定、NTフラグ設定、iretで実現しているが、一部タスクスイッチしない実機がある <br> →これは、果たして正しいタスクスイッチなのか？ありなのか？ <br> →IDTにタスクゲートをおくという手もあるがスケジューリングしたい場合は <br> タスクスイッチが結局問題になる <br>  <br> ・上記の問題点により、だったらタスクスイッチの中身の詳細を自分で把握できた方が <br> 良いかなと考えています。 <br>  <br> ・最初はTSSへのjmp、callで実装しておき、あとから修正する場合 <br> 二度手間になってしまうかもというのもあります。 <>
ひげぽん<>sage<>03/01/11 21:16<> <a href="../test/read.cgi/tech/1037096449/897" target="_blank">&gt;&gt;897</a> <br> &gt;&gt;後々の移植性とか考えると <br> &gt;&gt;ＴＳＳなんか使わないでページングだけで解決した方が無難だと思う。 <br>  <br> 私もそう思います。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/898" target="_blank">&gt;&gt;898</a> <br> &gt;「良い資料」などないよ。 <br> &gt;そこは「考える部分」であって、調べたり、知識を吸収したりする部分 <br> &gt;ではない。 <br>  <br> おっしゃる事は良く分かります。 <br> ただ、私の知識・経験不足のため、考えるための材料が不足している。 <br> と強く感じています。 <br> そのための材料集めも含めて、 <br> 皆さまのご意見・アドバイスを頂けたらと思います。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/899" target="_blank">&gt;&gt;899</a> LightConeさん <br> &gt;　「タスクスイッチする方法」を調べるのではなく、「タスクスイッチ」とは <br> &gt;「なんなのか」を突き詰めて考える事をお勧めします。 <br>  <br> 以前にも同様のアドバイスを頂きましたね。 <br> ありがとうございます。m(__)m <br>  <br> 今現在、実現したいのは、TSSjmpで実現できるタスクスイッチと <br> ほぼ同様のタスクスイッチです。 <>
ひげぽん<>sage<>03/01/11 21:17<> &gt;　「タスクスイッチ」をして、結果的に得たい動作は何なのかが分かれば、 <br> &gt;必要な処理が自ずから分かってくると思います。 <br> &gt;答えは、CPU内部の状態変数（それが何なのかは勉強の事）を切り替えるだけ <br> &gt;です。 <br>  <br> そうですね。概要だけは理解できていると思います。 <br> あとは具体的な詳細部分の方法が理解できたらと思います。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/900" target="_blank">&gt;&gt;900</a> <br> 超先生＠OS板さん <br> &gt;　 ∧＿∧ <br> &gt;＜後ろ頭＞-~~~ ちょっとだけヒント出しておこう。 <br>  <br> ヒントありがとうございます。 <br> 考えさせていただきます。 <>
デフォルトの名無しさん<>sage<>03/01/11 21:40<> TASK_SWITCHの話題中、申し訳ないが、、、 <br> INTEL　CPUで考慮しなければならない（整列しなくてもよいが、整列すると効率的なのも含めて） <br> アライメントについて教えてください。 <br>  <br> linuxなどのソースを見ると、 <br> gdtr, idtrのメモリ配置は align 2で奇数ワード整列しています。 <br> tr, ldtrのほうは align 4でダブルワード整列しています。 <br> ここで謎なのが、GDTのディスクリプタ配列がなぜか align 3... <br> 他にも整列したほうがよいデータ構造があれば教えて欲しいです。 <br>  <>
ひげぽん<>sage<>03/01/11 21:42<> <a href="../test/read.cgi/tech/1037096449/905" target="_blank">&gt;&gt;905</a> <br> ページテーブルは4Kの倍数にあわせるとか <br> どこかで読んだような気がします。 <>
デフォルトの名無しさん<>sage<>03/01/11 22:24<> <a href="../test/read.cgi/tech/1037096449/905" target="_blank">&gt;&gt;905</a> <br> gas(as)のalignのパラメータの解釈はシステムによって異なる <br> その場合align 3はアドレスの下位三ビットが0になるアドレスに整列するという意味 <br> つまりmasmなどのalign 8と等価 <>
デフォルトの名無しさん<>sage<>03/01/11 23:52<> 905です。 <br> &gt;&gt;ひげぽんさん, 907さん <br> ありがとうございます。 <br>  <br> align 3(gas) = align 8(masm) <br> ですか！驚きました。 <br>  <br> ということになると、 <br> idtr, gdtrでのalign 2(gas) <br> ってのは下位2bitが0ってことで、align 4(masm)と等価？ <br> 奇数ワード整列（addr mod 4 = 2)に反する？？ <br>  <br> じゃなければ、そこのところはalign 2(gas) = align 2(masm)なのかな。 <br>  <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/11 23:54<> <a href="../test/read.cgi/tech/1037096449/904" target="_blank">&gt;&gt;904</a> <br> &gt;あとは具体的な詳細部分の方法が理解できたらと思います。 <br>  <br> やろうとしてることは非常に単純です。 <br> 旧・新のタスクのレジスタセットを、それぞれ、A1, A2とすると、 <br>  <br> 「A1 をどこかに保存し、A2 をどこからか復帰させる」・・・(1) <br>  <br> だけです。 <br>  <br> 保存場所は、考えなければ成りませんし、それが決まっても、たった一行 <br> で書けてしまう(1)ですが、実装はそこそこ複雑になります。 <br>  <br>  <br> この辺は、知識よりも、思考力が大きいので、アセンブラプログラムに慣れる <br> ことが一番早道かもしれません。 <br>  <br> なお、これ以上のアドバイスは、ほとんどソースをコピーするようなものに <br> 成ってしまいますので、ひげぽんさんのためにならないと思います。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/12 00:06<> 　現代的な保護OSでのタスクスイッチは、タスクのメモリ空間をがらっと変えて <br> しまいます。 <br> 　ですが、カーネルのコードは、「変化する部分」に存在させるわけにも <br> いかないので、共通空間に配置する必要があります。 <br>  <br> 　このため、メモリ空間の管理がほぼ完全に成るまではタスクスイッチは <br> 出来ないと考えた方がいいと思います。 <br>  <br> 　まず、タスク切り替え無しで十分な程度に組みあがることを目標に <br> したほうがいいんじゃないでしょうか。まだ早すぎると思います。 <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>03/01/12 00:24<> 　 ∧＿∧ <br> ＜後ろ頭＞-~~~ i386アーキテクチャについて詳しく載ってる模様。 <br>  <br> Interface 1991年7月号 <br> ttp://www.cqpub.co.jp/interface/contents/1991/199107.htm <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/12 00:45<> 　えーと、参考にならないかもしれませんが、NWSOSでは、タスク切り替えを <br> 実装した時には、シングルタスクOSとしてかなり完成していました。 <br> 　今のMonaの様な初期の段階でいきなりタスク切り替えから入っても、開発が <br> 破綻する可能性が高いと思います。理由は上手く説明できませんが、タスク <br> 切り替えは、他の部位との関連性が強すぎるためです。ご参考までに。 <>
デフォルトの名無しさん<>sage<>03/01/12 01:05<> 私は逆に早めにマルチプロセス/スレッドを意識したコードを書いた方が安全だと思います <br> シングルスレッドで進めすぎると予測しないデッドロックなどで苦労するかもしれません <br>  <br> タスクスイッチの実験が終わったら一時的に外してもいいわけで <br> 今の時点では好きに進めて問題ないでしょう <br>  <br> <a href="../test/read.cgi/tech/1037096449/912" target="_blank">&gt;&gt;912</a> <br> &gt;開発が破綻する可能性が高いと思います。 <br> この手のフレーズが好きなんですね <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/12 01:18<> <a href="../test/read.cgi/tech/1037096449/913" target="_blank">&gt;&gt;913</a> <br> &gt;シングルスレッドで進めすぎると予測しないデッドロックなどで苦労するかもしれません] <br>  <br> それは有り得ますね。 <br>  <br> ただし、最初からマルチスレッドで行くと言う事は、それだけ重荷を <br> 背負った状態で開発を進めなくてはならないことでもあり、デバッグ作業 <br> などが大変に成るかもしれませんが。 <br>  <br>  <br> なお、後からマルチタスク対応にする開発方針でも、セマフォやロックを <br> 追加するだけで、基本的な対応はできると思います。 <br> ファイルシステムの高次元なロックのようなものは別途必要になりますが。 <>
デフォルトの名無しさん<><>03/01/12 01:20<> 仕事じゃないんだから、余暇を有効に活用するためにも <br> デスマーチを歓迎すべしだな。 <>
デフォルトの名無しさん<>sage<>03/01/12 02:09<> <a href="../test/read.cgi/tech/1037096449/914" target="_blank">&gt;&gt;914</a> <br> 重荷になるってのもあるけど、シングルスレッドで開発を進めながらマルチスレッド化を <br> 目指すには、あらかじめマルチスレッドの落とし穴を知ってなきゃならんからな．．． <br>  <br> 一回実験的なＯＳを作ってみてマルチスレッド周りでだめになったら作り直すか、 <br> ＯＳの教科書をよく読んで勉強してからつくるか．．． <br>  <br> まぁ、一回失敗してみるのも勉強になるからいいんでない？ <>
FreeDOS教徒<>osage<>03/01/12 02:09<> 超先生！十年前の雑誌出されても泣くしかありません！ <br> ヽ(｀д´)ノｳﾜﾜｧﾝ!! <>
デフォルトの名無しさん<>sage<>03/01/12 02:18<> っていうか、ひろゆきの意図に反してＩＰログが流出したらどうすんの？ <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/12 02:19<> <a href="../test/read.cgi/tech/1037096449/916" target="_blank">&gt;&gt;916</a> <br> &gt;一回実験的なＯＳを作ってみてマルチスレッド周りでだめになったら作り直すか、 <br> &gt;ＯＳの教科書をよく読んで勉強してからつくるか．．． <br>  <br> もう一つ、「頭の中で全て予想してから作る」、と言う方法があります。 <br>  <br> この方法だと、教科書を読む必要も無く（書いてない場合も多いので）、 <br> 試す事も要りません。 <>
デフォルトの名無しさん<>sage<>03/01/12 02:22<> いととよう <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/12 02:42<> <a href="../test/read.cgi/tech/1037096449/916" target="_blank">&gt;&gt;916</a> <br> &gt;あらかじめマルチスレッドの落とし穴を知ってなきゃならんからな．．． <br>  <br> マルチタスクやマルチスレッドの環境では、安全性は、純粋な数学的に <br> 「証明」が必要で、実験的な方法で安全性を100%確認することは無理だ <br> と思うので、どの開発順序をとったとしても、最初から理論的にマルチ <br> スレッドの落とし穴については十分知っておく必要があると思いますね。 <br>  <br> ちなみにデッドロックについては、確実に回避できる方法も良く知られて <br> います。 <>
デフォルトの名無しさん<>sage<>03/01/12 02:44<> <a href="../test/read.cgi/tech/1037096449/919" target="_blank">&gt;&gt;919</a> <br>  <br> &gt;もう一つ、「頭の中で全て予想してから作る」、と言う方法があります。 <br>  <br> 無理。っていうか、結局試行錯誤になる罠。 <br> マルチスレッドで生じるさまざまな問題については先人たちも試行錯誤を重ねまくって現在に至ってるからな。 <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/12 02:48<> <a href="../test/read.cgi/tech/1037096449/922" target="_blank">&gt;&gt;922</a> <br> &gt;無理。っていうか、結局試行錯誤になる罠。 <br> &gt;マルチスレッドで生じるさまざまな問題については先人たちも試行錯誤を重ねまくって現在に至ってるからな。 <br>  <br> 「全て予想する」と言うのは、何もプログラムの細部まで予想すると言う意味 <br> ではなく、最小値と最大値をはっきりさせて、その範囲内で絶対なんらかの <br> 解決策が存在する証明を探すような手順を私は取ってます。 <br>  <br> 具体的な解決策の詳細は、その時点ではわかりませんが、解決策の有無までは <br> 必ず証明を行っています。 <>
デフォルトの名無しさん<>sage<>03/01/12 03:07<> <a href="../test/read.cgi/tech/1037096449/923" target="_blank">&gt;&gt;923</a> <br> 証明を探す為には問題がある事を知ってなきゃならないけど、 <br> 排他制御の必要性とか、デッドロックの問題とか、 <br> 実際に問題が起きてみないと問題自体の存在に気が付かないっしょ。 <br>  <br> 結局は試行錯誤しながら、問題を見つけて、それを解きながら作るか、 <br> 先人たちの研究の成果を教科書で勉強するかしかないんでない？ <br>  <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/12 03:13<> <a href="../test/read.cgi/tech/1037096449/924" target="_blank">&gt;&gt;924</a> <br> &gt;排他制御の必要性とか、デッドロックの問題とか、 <br> &gt;実際に問題が起きてみないと問題自体の存在に気が付かないっしょ。 <br>  <br> 「排他制御の必要性」や「デッドロックする可能性」は、私の場合は、 <br> 何の本も読んでもいませんが、あたりまえのように気付きました。 <br>  <br> 「デッドロックを回避する一般的な方法」については、本で知りました。 <br>  <br>  <br> 思考実験の力が物凄くあれば、「実験」をする必要が無いのでは <br> ないでしょうか。でも、私もそこまではないので実験しなきゃならない <br> 凡人ですが。 <>
LightCone </b>◆sSJBc30S5w <b><>sage<>03/01/12 03:19<> <a href="../test/read.cgi/tech/1037096449/924" target="_blank">&gt;&gt;924</a> <br> &gt;先人たちの研究の成果を教科書で勉強するかしかないんでない？ <br>  <br> 個人的には、研究成果も他人のソースもほとんど見てません、、、。 <>
デフォルトの名無しさん<>sage<>03/01/12 03:33<> <a href="../test/read.cgi/tech/1037096449/925" target="_blank">&gt;&gt;925</a> <br>  <br> &gt;「排他制御の必要性」や「デッドロックする可能性」は、私の場合は、  <br> &gt;何の本も読んでもいませんが、あたりまえのように気付きました。  <br> すごいな．．． <br>  <br> 漏れなんて、ＤＯＳのＴＳＲ組んでたときから、排他制御してなくて暴走したり、 <br> フラグ立てて排他制御したつもりで、テストとセットがアトミックじゃなくて、やっぱり暴走したり、 <br> 失敗しまくってたけどな．．． <br>  <>
デフォルトの名無しさん<>sage<>03/01/12 04:22<> LightConeさんへ <br> 自分がどうだったか自慢するスレじゃありませんよ <br> どうやって攻めていくかなんて他人が決める事じゃないと思う。 <br> まぁ先人のアドバイスは大事だと思うが。。。 <>
デフォルトの名無しさん<>sage<>03/01/12 05:20<> <a href="../test/read.cgi/tech/1037096449/917" target="_blank">&gt;&gt;917</a> <br> お金払えばコピーとってもらえるって <br> ttp://www.cqpub.co.jp/hanbai/bnzaiko.htm#copy <br> にかいてあるよ。 <br>  <br> １ページ１００円＋手数料だけどﾅｰ <br>  <>
デフォルトの名無しさん<>sage<>03/01/12 09:55<> コピペ職人さん帰省しないの？ <>
FreeDOS教徒<>osage<>03/01/12 10:08<> <a href="../test/read.cgi/tech/1037096449/929" target="_blank">&gt;&gt;929</a> <br> 全財産\400しかないオイラに一体どうしろとｗ <>
ひげぽん<>sage<>03/01/12 12:19<> <a href="../test/read.cgi/tech/1037096449/909" target="_blank">&gt;&gt;909</a> LightConeさん <br>  <br> &gt;「A1 をどこかに保存し、A2 をどこからか復帰させる」・・・(1) <br>  <br> はい、イメージはつかめているつもりです。 <br>  <br> &gt;この辺は、知識よりも、思考力が大きいので、アセンブラプログラムに慣れる <br> &gt;ことが一番早道かもしれません。 <br> &gt;なお、これ以上のアドバイスは、ほとんどソースをコピーするようなものに <br> &gt;成ってしまいますので、ひげぽんさんのためにならないと思います。 <br>  <br> ご配慮いただき、ありがとうございます。 <br> この先は自分で考えるべきですね。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/912" target="_blank">&gt;&gt;912</a> <br> <a href="../test/read.cgi/tech/1037096449/913" target="_blank">&gt;&gt;913</a> <br> なるほど、それぞれのご意見はご参考にさせていただきます。 <br>  <br> 私としては今後のMonaの方針として <br>  <br> ページングを絡ませたタスクスイッチを実現する。 <br> FDCドライバーを完成後、ファイルシステム導入。 <br> プロセスのロード実現へ。 <br> という道筋で考えているため、現段階でマルチプロセス、マルチスレッドを <br> 視野に入れて開発していこうと考えています <>
デフォルトの名無しさん<>sage<>03/01/12 13:05<> スレッド管理は、 <br> 「カーネルレベルスレッド」より、「ユーザレベルスレッド」 <br> のほうが個人的には好き。高速だし。ユーザの好きなようにできる。 <br> でも、優先度逆転などの問題が起こりうるようなので、超保護モード <br> でしたいなら不向き。 <>
デフォルトの名無しさん<>sage<>03/01/12 13:08<> あ、あくまでも意見ですけど、 <br> カーネル空間とユーザ空間をリンクさせて、APIを関数呼び出しに <br> したら面白そう。RTOSみたいに。 <br> 安定するか、しないかはユーザの責任になるけど、 <br> うまく使えば、WINDOWSやLINUXより高速。 <>
デフォルトの名無しさん<>sage<>03/01/12 13:19<> C++のオブジェクト指向を駆使して信頼性を確保。 <br> そして、カーネルはスレッド型OSとして記述。 <br>  <br> いいとこ取りだ（ﾟ∀ﾟ） <>
デフォルトの名無しさん<>sage<>03/01/12 13:47<> <a href="../test/read.cgi/tech/1037096449/910" target="_blank">&gt;&gt;910</a> <br> &gt; まず、タスク切り替え無しで十分な程度に組みあがることを目標に  <br> &gt; したほうがいいんじゃないでしょうか。まだ早すぎると思います。  <br> L様に同意 <br>  <br> <a href="../test/read.cgi/tech/1037096449/932" target="_blank">&gt;&gt;932</a> <br> &gt; 現段階でマルチプロセス、マルチスレッドを <br> &gt; 視野に入れて開発していこうと考えています <br> そこまで言うんなら止めないけど、 <br> マルチプロセス、マルチスレッドを視野に入れるんだったら、 <br> SMPのことも頭の片隅に入れとかないと片手落ちだ <br>  <br> P4-3GHz以降ハイパースレッディングが標準装備になることからも <br> 今後SMPがごく普通のマシンにも広がる動きがあるからね <br> 常に最新を追いかけろって言ってんじゃなくて、 <br> 「開発時には最新」でも「完成時には陳腐」になってるってこと <br> 新しい技術を甘く見ないほうが良い <>
デフォルトの名無しさん<><>03/01/12 14:09<> 完成は5年後くらいか？ <>
FreeDOS教徒<>osage<>03/01/12 14:19<> <a href="../test/read.cgi/tech/1037096449/936" target="_blank">&gt;&gt;936</a> <br> SMPとか使う人いるの？俺はそっちのほうが不思議。 <br> なんでCPU１コで十分なのに２コも使うの？ <>
デフォルトの名無しさん<>sage<>03/01/12 14:27<> <a href="../test/read.cgi/tech/1037096449/938" target="_blank">&gt;&gt;938</a> <br> ハイパースレッディングの由来を知らないみたいだね <br> P4はパイプラインが深すぎて常に余剰が出来るから最適化した結果 <br> 見かけ上SMPと同じものになったんだよ <br> 2年もすればP4-3GHzなんて陳腐なマシンになるから <br> 重い処理をするソフトではSMP対応が進むと思う <br> PowerMacなんてクロック数を誤魔化すためにもう全部SMPだし <br> # BeOSは時代に先んじ過ぎてたんだな〜と痛感 <>
デフォルトの名無しさん<>sage<>03/01/12 14:33<> <a href="../test/read.cgi/tech/1037096449/937" target="_blank">&gt;&gt;937</a> <br> その頃にはIA-32は今の286みたいな立場に追い込まれて <br> メインストリームはIA-64やx86-64に移行しちゃってる予感 <br>  <br> まだDOSが主流で386が早い8086としてしか使われていなかった頃、 <br> Linuxがいち早くプロテクトモードを取り入れたことが <br> 現在の繁栄の遠因にもなってることを考えてみ <br>  <br> 5年後に完成するんだったら <br> 初めからIA-64やx86-64を視野に入れとかないと <br> 今のNEC98用OSみたいに破棄されたマシンの再利用にしか <br> 使われなくなっちゃうよ（≒誰も使わない） <>
デフォルトの名無しさん<>sage<>03/01/12 14:45<> IA-64やx86-64についてはこのコラムが面白い <br> http://pcweb.mycom.co.jp/column/sopinion.html <br>  <br> 最新号はずばりOSの役割について論じられている <br> http://pcweb.mycom.co.jp/news/2003/01/09/04.html <>
超先生＠OS板  </b>◆leaf/RYZgY <b><>sage<>03/01/12 14:46<> 　 ∧＿∧ <br> ＜　｀ー´＞-~~~ 面白そうなソフトをﾊｹｰﾝ。ソース付。 <br> こういうトリッキーなソフトはしびれるね。 <br>  <br> Fritzのマルチタスクモニタ  <br> MS-DOS用16ビット版のマルチタスクスケジューラ  <br> ttp://www.vector.co.jp/soft/dos/util/se191042.html <>
デフォルトの名無しさん<>sage<>03/01/12 15:20<> 64bitうんぬんの後に16bitというのはﾜﾗﾀ <br> なら漏れは8bit（ｗ <br>  <br> 簡単な対話部分を作るのはそんなに難しいことじゃないよ。 <br> 昔のSharpの8bit機みたいなクリーンコンピュータでも <br> ROMからマシン語モニタくらいは立ち上がって、 <br> そこからプログラムをロードして実行できたからね。 <br> DOS以上にプロセス管理も糞もないが <br> そのくらい原始的なことなら悩むまでもなくすぐ出来るでしょ。 <br>  <br> そうやって不満があったらちょこちょこ直してけば <br> DOSレベル、Minixレベルとどんどん進歩していける。 <br> 近視眼的だがフルタイムじゃないんだし現実的な方法だと思うけどね。 <>
デフォルトの名無しさん<>sage<>03/01/12 15:27<> <a href="../test/read.cgi/tech/1037096449/892" target="_blank">&gt;&gt;892</a> <br> 日本語ですごく分かりやすいサイトを見つけますた。 <br> http://a414s1.it.nanzan-u.ac.jp/seminar/OS/3rd/index.html <>
FreeDOS教徒<>osage<>03/01/12 15:39<> <a href="../test/read.cgi/tech/1037096449/939" target="_blank">&gt;&gt;939</a> <br> 説明さんくすです。今さっきちょろっと見て来ましたが、私のトリ頭では <br> ハイパースレッディングに対応するには何をすればいいのか分かりません（汗 <br> 普及する見込みがあるとしたら、参考にする必要はありそうですね。 <br>  <br> <a href="../test/read.cgi/tech/1037096449/941" target="_blank">&gt;&gt;941</a> <br> レガシーデバイスしか調べてないので、こういう記事は刺激になります。 <>
ひげぽん<>sage<>03/01/12 16:18<> そろそろ新スレを立てたほうがよいでしょうか。 <br> それとも誰かが立ててくれたりして（笑） <>
(・∀・)yossy </b>◆FlasH.X1/s <b><>sage<>03/01/12 17:45<> <a href="../test/read.cgi/tech/1037096449/946" target="_blank">&gt;&gt;946</a> <br> そろそろテンプレ作りません？ <>
ひげぽん<>sage<>03/01/12 17:52<> おっとご意見ありがとうございます。 <br> どんな感じが良いですかね。 <>
デフォルトの名無しさん<><>03/01/12 18:05<> &gt;ページングを絡ませたタスクスイッチを実現する。 <br>  <br> いきなりこれは結構しんどそう。 <br> まずはWinやUNIXのプロセス内で動くマルチスレッドライブラリ <br> でも書いてマルチタスクの感触を掴むのが良いと思います。 <>
デフォルトの名無しさん<>sage<>03/01/12 19:03<> 新スレはMonaBBSでいいんでない？ <>
デフォルトの名無しさん<>sage<>03/01/12 19:29<> <a href="../test/read.cgi/tech/1037096449/950" target="_blank">&gt;&gt;950</a> <br> 2chの方が人が集まりやすくていいと思う。 <br> 荒氏がちょっとうざいけど。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/12 20:33<> 俺も知りたいから <br>  <>
デフォルトの名無しさん<>sage<>03/01/12 20:37<> どーして、そーなる！ <>
950<>sage<>03/01/12 20:42<> ふむふむ。 <>
デフォルトの名無しさん<>sage<>03/01/12 20:46<> ３つのしもべみたいなもんか。 <>
挫折・・・誰かテンプレ作って・・・<>sage<>03/01/12 20:56<> 現在、MonaOSというOSを開発しています。 <br> ttp://mona.sourceforge.jp/ <br>  <br> 独自にOSを作っているまたは、作ろうとしている人たちのための <br> スレッドになればと思います。 <br>  <br> 前スレ <br> OSをつくろうpart4 <br> http://pc3.2ch.net/test/read.cgi/tech/1037096449/ <br> OSをつくろうpart3 <br> http://pc3.2ch.net/test/read.cgi/tech/1027080631/ <br> OSをつくろうpart2 <br> http://pc3.2ch.net/test/read.cgi/tech/1024411711/ <br>  <br>  <br> リンク <br>  <br> 専用BBS <br> ttp://monaos.hp.infoseek.co.jp/cgi-bin/2ch/ <br> 最新イメージファイル <br> ttp://mona.sourceforge.jp/Download.html <br> 開発者向け情報 MPDN <br> ttp://mona.sourceforge.jp/MPDN/index.html <br> Monaプロジェクトメンバー <br> ttp://mona.sourceforge.jp/PJM.html <br>  <br> プロジェクトメンバーに加わりたい方 <br> higepon@users.sourceforge.jp へメールを送信！ <>
これでいいんでない？<>osage<>03/01/12 21:07<> 独自にOSを作っているまたは、作ろうとしている人たちのための <br> スレッドになればと思います。 <br>  <br> プロジェクトページ <br> ttp://mona.sourceforge.jp/ <br>  <br> OSをつくろうpart4 <br> http://pc3.2ch.net/test/read.cgi/tech/1037096449/ <br> OSをつくろうpart3 <br> http://pc3.2ch.net/tech/kako/1027/10270/1027080631.html <br> OSをつくろうpart2 <br> http://pc3.2ch.net/tech/kako/1024/10244/1024411711.html <br>  <br> プロジェクトメンバーになりたい方は、 <br> higepon@users.sourceforge.jp までメールをどうぞ。 <br>  <br> 最新のイメージファイルは以下のURLから落とせます。 <br> ttp://mona.sourceforge.jp/Download.html <>
ひげぽん<>sage<>03/01/12 21:29<> <a href="../test/read.cgi/tech/1037096449/956" target="_blank">&gt;&gt;956</a> <br> <a href="../test/read.cgi/tech/1037096449/957" target="_blank">&gt;&gt;957</a> <br> ありがとうございます。 <br> 今から新スレ作成します。 <>
ひげぽん<>sage<>03/01/12 21:32<> スレッド作成できなかった。 <br> 誰かかわりに立てていただけませんでしょうか。 <br> かぶるとまずいので、作っていただける人は <br> ここに書き込み後、スレッドを立てるようにお願いいたします。 <br> ----------------------------------------------------------------- <br> 独自にOSを作っているまたは、作ろうとしている人たちのための <br> スレッドになればと思います。 <br>  <br> Monaプロジェクトページ <br> ttp://mona.sourceforge.jp/ <br>  <br> OSをつくろうpart4 <br> http://pc3.2ch.net/test/read.cgi/tech/1037096449/ <br> OSをつくろうpart3 <br> http://pc3.2ch.net/tech/kako/1027/10270/1027080631.html <br> OSをつくろうpart2 <br> http://pc3.2ch.net/tech/kako/1024/10244/1024411711.html <br>  <br> プロジェクトメンバーになりたい方は、 <br> higepon@users.sourceforge.jp までメールをどうぞ。 <br>  <br> 最新のイメージファイルは以下のURLから落とせます。 <br> ttp://mona.sourceforge.jp/Download.html <br>  <br> ソースファイルの閲覧はここからできます。 <br> ttp://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/mona/mona_v1.0/ <>
(・∀・)yossy </b>◆FlasH.X1/s <b><>sage<>03/01/12 21:41<> スレッドタイトルはOSを作ろうpart5でつか？ <br>  <br> 漏れが立ててきます <>
ひげぽん<>sage<>03/01/12 21:42<> よろぴくです。 <>
(・∀・)yossy </b>◆FlasH.X1/s <b><>sage<>03/01/12 21:45<> 立ちますた <>
(・∀・)yossy </b>◆FlasH.X1/s <b><>sage<>03/01/12 21:48<> ひげぽんさん2Get（ｗ <br>  <br> こちらのスレッドを消費しきってから移動をお願いします&gt;&gt;ALL <>
ひげぽん<>sage<>03/01/12 21:49<> &gt;&gt;yossyさん <br> ありがとうございます。 <br>  <br> &gt;&gt;こちらのスレッドを消費しきってから移動をお願いします&gt;&gt;ALL <br> 了解です。2ゲットごめんなさい。 <br>  <br>  <>
デフォルトの名無しさん<>sage<>03/01/12 22:23<> いまもってMinix本は最強の教材だと思う今日この頃。 <br> Bochsの上でいじって勉強しようかな。。。 <>
デフォルトの名無しさん<>sage<>03/01/12 23:13<> <a href="../test/read.cgi/tech/1037096449/962" target="_blank">&gt;&gt;962</a> <br> リンクｷﾎﾞﾝﾇ <br>  <>
デフォルトの名無しさん<>sage<>03/01/12 23:25<> 次スレ <br> ttp://pc3.2ch.net/test/read.cgi/tech/1042375466/ <>
デフォルトの名無しさん<>sage<>03/01/12 23:29<> サンクス <br>  <>
デフォルトの名無しさん<>osage<>03/01/12 23:34<> おつで〜す♪ <>
デフォルトの名無しさん<>sage<>03/01/13 01:13<> http://pc3.2ch.net/test/read.cgi/tech/1042375466/ <>
梅<>sage<>03/01/13 13:29<> 971 <>
名無したん </b>◆AEqcy/sQU6 <b><>sage<>03/01/13 14:38<> 以前ここでｳﾌﾟしたDATファイルをブックマークチェッカにかけてる香具師は誰ですか？(｀皿´) <br>  <>
デフォルトの名無しさん<>sage<>03/01/13 15:49<> 新スレは漢字なんだね <>
デフォルトの名無しさん<>sage<>03/01/13 16:02<> <a href="../test/read.cgi/tech/1037096449/973" target="_blank">&gt;&gt;973</a> <br> そういえばそうだね。まぁ、リンクも貼ってあるし別にいいんでない。わかるっしょ。 <br>  <>
デフォルトの名無しさん<>sage<>03/01/13 16:55<> ｳﾒｪ(ﾟдﾟ) <>
デフォルトの名無しさん<>sage<>03/01/13 16:59<> 1000101111　OSを作ろう5　おまいら <>
山崎渉<>（＾＾）sage<>03/01/13 18:32<> （＾＾）          <>
デフォルトの名無しさん<>sage<>03/01/13 22:22<> 　4nd <br> フォンドボー？ <>
FreeDOS教徒<>osage<>03/01/13 22:32<> <a href="../test/read.cgi/tech/1037096449/976" target="_blank">&gt;&gt;976</a> <br> ２進数ですか？ <br>  <>
デフォルトの名無しさん<>sage<>03/01/13 23:24<> &gt;979 <br> どうみても、２０億進数だろ。 <>
デフォルトの名無しさん<>sage<>03/01/14 00:00<> 1111010101! <>
デフォルトの名無しさん<>sage<>03/01/14 01:34<> 埋め                                                                             <>
