2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

OSを作ろうpart12

1 :Be名無しさん:2006/07/17(月) 19:49:44
独自にOSを作っているまたは、作ろうとしている人たちのための
スレッドになればと思います。

■前スレ
OSを作ろうpart12
http://pc8.2ch.net/test/read.cgi/os/1108836476/

2 :Be名無しさん:2006/07/17(月) 19:51:04
■過去スレ■

part2 http://pc3.2ch.net/tech/kako/1024/10244/1024411711.html
part3 http://pc3.2ch.net/tech/kako/1027/10270/1027080631.html
part4 http://pc3.2ch.net/tech/kako/1037/10370/1037096449.html
part5 http://pc2.2ch.net/tech/kako/1042/10423/1042375466.html
part6 http://pc2.2ch.net/tech/kako/1052/10525/1052537020.html
part7 http://pc2.2ch.net/tech/kako/1066/10669/1066968321.html
part8 http://pc3.2ch.net/test/read.cgi/os/1076216434/
part9 http://pc3.2ch.net/test/read.cgi/os/1081561384/
part10 http://pc5.2ch.net/test/read.cgi/os/1083420872/
part11 http://pc5.2ch.net/test/read.cgi/os/1093825736/
part12 http://pc8.2ch.net/test/read.cgi/os/1108836476/

3 :Be名無しさん:2006/07/17(月) 19:58:49
何故にpart12?

4 :Be名無しさん:2006/07/17(月) 20:01:26
part13だろバカ


■関連スレ■
【2chOS】OSを作ろう【マジ】
http://pc8.2ch.net/test/read.cgi/os/1018174274/
※忘れ去られた初代スレ

「30日でできる!OS自作入門」
http://pc8.2ch.net/test/read.cgi/os/1151897893/
※K本の真実:http://pc8.2ch.net/test/read.cgi/os/1151897893/72

仮に新しくOS作るとしたら、、、
http://pc8.2ch.net/test/read.cgi/os/994675006/

OSを作ってみよう
http://pc8.2ch.net/test/read.cgi/os/1046271176/

OSを作りたいわけだが。
http://pc8.2ch.net/test/read.cgi/os/1062870092/

【ヤチャータ】OS作りました【デキチャータ】
http://pc8.2ch.net/test/read.cgi/os/1019463348/

OS作りに向いている言語は何ですが?
http://pc8.2ch.net/test/read.cgi/os/1043751313/

5 :Be名無しさん:2006/07/17(月) 20:38:06
>>4 ヤバすぎw

>part13だろバカ

スレタイ間違えてるのに逆切れしてどうするのよ?
このスレの前途は暗いな。

6 :Be名無しさん:2006/07/17(月) 20:45:36
認定厨がウザイ

7 :Be名無しさん:2006/07/17(月) 20:54:18
認定厨認定厨がウザい

8 :Be名無しさん:2006/07/17(月) 20:58:38
VIPのスレは即死したな

9 :Be名無しさん:2006/07/17(月) 21:01:44
で、結局誰が支配者に即位したの?

10 :Be名無しさん:2006/07/17(月) 21:03:10
>>1が支配者

11 :Be名無しさん:2006/07/17(月) 21:08:51
>>10
お前ウザいよ
お前が支配者になって厨に手取り足取り教えてやればいいだろ

12 :Be名無しさん:2006/07/17(月) 21:10:23
と支配者気取りが言っています^^

13 :Be名無しさん:2006/07/17(月) 21:12:16
>>11 おまえ>>1か?とりあえずスレ建て乙
何が原因か知らんが、カリカリしてるようだな。
もう休んでリフレッシュ汁!

14 :Be名無しさん:2006/07/17(月) 21:18:08
出来ればosをつくるのに有用な資料を下さい。
環境依存などをお願いします。

15 :Be名無しさん:2006/07/17(月) 21:19:01
>>14
そういうネタはすれ違いです

16 :Be名無しさん:2006/07/17(月) 21:23:42
>>14

ttp://slashdot.jp/comments.pl?sid=324903&cid=979964

Re:OSは大きいとは限らない (スコア:4, 参考になる)
.mjt (13150) のコメント: 2006年07月17日 18時17分 (#979964)

中の人なのでdev-j [osdev.info]を宣伝したいけど、
ttp://wiki.osdev.info/
PC上で動くOSを作りたいならOS Wiki [osdev.info]の方が密度高いですね。
ttp://community.osdev.info/

一口にOS作りといっても、それが指す領域はメモリ管理から
UIまで非常に幅広いのでまとめるというよりは方々の知識を総動員するものなので。

今のところは書籍の方が(日本語の情報源としては)良いと思います。
ストーリーで挙がっているようなものとか、Solarisインターナルとか。

17 :Be名無しさん:2006/07/17(月) 21:26:08
前スレから生まれたOS

270氏作hoverdos
ttp://hovweb.hp.infoseek.co.jp/

18 :Be名無しさん:2006/07/17(月) 21:35:49
OSを作る意義とか薀蓄を垂れたい奴向き

今OSを自作する意味は?
ttp://slashdot.jp/askslashdot/article.pl?sid=06/07/17/0652257&threshold=-1

19 :Be名無しさん:2006/07/17(月) 21:49:59
>>16

どうもです。
ちょっと見てみます。

20 :Be名無しさん:2006/07/17(月) 21:51:05
>>17
もう1年か。
何もかもみな懐かしい。

21 :Be名無しさん:2006/07/17(月) 22:06:05
>>16
.mjtが.mitに見えた。

それはともかく .mjtとMInoxxTaroはOS作りを消費に使うだけで、生産性がまるで
なかったのが結論。

22 :Be名無しさん:2006/07/17(月) 22:09:47
>>21
太郎はOS作りで今の地位にのし上がったから本人としてはそれで充分じゃね?

23 :nana:2006/07/17(月) 22:40:05
仮想記憶が現在のOSにいかなる影響を与えたのでしょうか??

24 :Be名無しさん:2006/07/17(月) 22:41:33
>>23
人に聞く前に自分で調べたことと見解を書くのが礼儀

25 :Be名無しさん:2006/07/17(月) 22:42:22
支配者様からの優しい御回答
↓↓↓↓↓↓↓

26 :Be名無しさん:2006/07/17(月) 22:43:42
夏だから

厨を根絶

キャンペーン

27 :Be名無しさん:2006/07/17(月) 22:45:20
だったらスレを建てるなよ
・・・・
まさかゴキブリホイホイ?

28 :nana:2006/07/17(月) 22:45:56
わからないからきいているのです!!

29 :nana:2006/07/17(月) 22:46:48
いいサイトなどがあれば教えてください。

30 :Be名無しさん:2006/07/17(月) 22:47:17
>>28
仮想記憶が何かすら調べられずにわからないなら
説明を聞いてもわからないと思うよ

君だって掛け算九九もできないガキに微積分を教えろって言われたらどうするよ?

31 :Be名無しさん:2006/07/17(月) 22:49:05
香ばしいのが釣れたな

32 :Be名無しさん:2006/07/17(月) 22:51:27
スレと関係ないんだけどさ、俺「釣り」とか「釣り師」っていうのは、

 釣り師 ↓     
.            /| ←竿
     ○  /  |
.    (Vヽ/    |
    <>     |
゙'゙":"''"''':'';;':,':;.:.,.,__|_________
             |
  餌(疑似餌)→.§ >゚++< 〜
                 の組み合わせだと思ってたんだけど、

最近自称釣り師がダイレクトで自分の本音を攻撃されて「釣れた!」とか
言ってるの多いよね。
 これは、どっちかというと、



          ,〜〜〜〜〜〜 、
|\     ( 釣れたよ〜・・・)
|  \    `〜〜〜v〜〜〜´
し   \
゙'゙":"''"''':'';;':,':;.:.,.,  ヽ○ノ
          ~~~~~|~~~~~~~ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                 ト>゚++<
              ノ)

かと思うんだけど、どうよ?

33 :Be名無しさん:2006/07/17(月) 22:52:42
今ちょうどそれをコピペしようと思ってた

34 :nana:2006/07/17(月) 22:56:48
仮想記憶はある程度調べて分かったが、それが現在のOSに与える影響はについては
私の頭では分かりません。
だからお願いをしているのです。

35 :Be名無しさん:2006/07/17(月) 22:59:28
影響なんてねーよ


36 :Be名無しさん:2006/07/17(月) 22:59:34
>>34
仮想記憶について調べたことを書けって言ってんの。
あとなぜ現代のOSに与えた影響を知りたいかも。
それが最低限の礼儀だ。

37 :Be名無しさん:2006/07/17(月) 23:02:12
データ通信速度が低速な「ディスク」にアクセスするから、パフォーマンスが低下するって話だろ。
その程度のことがわからない理由がわからない。

38 :Be名無しさん:2006/07/17(月) 23:05:53
>>36
何さ偉そうに。お前こそ礼儀がなってねーよ。

39 :Be名無しさん:2006/07/17(月) 23:07:24
たぶん大学の一般教養のレポートだと思われ。
文系だと辛いんじゃね?
理系で辛いなら転学科した方がいい。

40 :Be名無しさん:2006/07/17(月) 23:08:03
厨房同士の喧嘩は厨房板でどうぞ。


41 :Be名無しさん:2006/07/17(月) 23:09:02
女の子には優しくしないとダメですよ♥

42 :Be名無しさん:2006/07/17(月) 23:10:13
\/\/\/\/\/\/\/\/\/\/\/\/\/\/


こ こ か ら 超 濃 厚 な ホ モ ス レ に な り ま す。


           ご 期 待 く だ さ い ! !


/\/\/\/\/\/\/\/\/\/\/\/\/\/\

43 :nana:2006/07/17(月) 23:15:33
>>39
はい、まさしくというかだいたいその通りです。
一応関東圏の某国立大学ですが、なにせ文型なもんでこんな授業をとってしまったことにかなり後悔してます。


44 :Be名無しさん:2006/07/17(月) 23:17:04
 ☆チン    マチクタビレタ〜
                 マチクタビレタ〜
☆チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 厨に手取り足取り教えてくれる支配者様まだ〜?
  \_/⊂ ⊂_ )   \___________________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
|  愛媛みかん  |/

45 :Be名無しさん:2006/07/17(月) 23:23:49
.                     Λ_Λ
          ∧_∧ \ (゚∀゚ ;) <ま・・・・
うぜぇんだよ>( ・∀・) ⊂ ⊂_ )    ._______
        ⊂   /| ≡≡≡≡≡≡/        ./|
          |  _/ ≡≡≡≡≡≡| ̄ ̄ ̄ ̄ ̄ ̄| .|
         (__)彡   ≡≡≡≡≡≡|         .|/
              ボコッ

46 :Be名無しさん:2006/07/17(月) 23:27:45
そこで崎本様ですよ

47 :Be名無しさん:2006/07/17(月) 23:37:14
おら機械科だからよくわからんが、仮想記憶がOSに影響与えるのか?
広いメモリ空間が使えるアプリケーションに影響を与えるなら話はわかるが…

48 :Be名無しさん:2006/07/18(火) 04:12:17
質問が明確でないと、正しい答えを求めることができないってか?

「仮想記憶(という概念の発明)がOSの発展に与えた影響について教えて下さい」という質問なら分からなくもないが。

49 :Be名無しさん:2006/07/18(火) 06:49:58
おまいらせっかく女子大生が相談に来てるのに冷たいな

50 :Be名無しさん:2006/07/18(火) 07:03:15
 わからない五大理由

1 読まない

2 調べない

3 試さない

4 理解力が足りない

5 人を利用することしか頭にない

51 :Be名無しさん:2006/07/18(火) 07:19:34
>>50みたいなやつの言動五大理由

1.知らないくせに知ったかぶり

2.質問の意味がわからない

3.でも答えたい

4.スレの支配者気取り

5.相手のレベルを理解できない

52 :鳥取砂丘 ◆7SKBJME/7U :2006/07/18(火) 07:53:52
夏だねぇ

53 :Be名無しさん:2006/07/18(火) 09:41:00
こうしてみると実際、教師って偉いと思う。

54 :Be名無しさん:2006/07/18(火) 13:34:01
こうしてみると実際、教師ってエロいと思う。

55 :タカさん:2006/07/18(火) 13:57:16
初心者の為のOS作りは「30日でできる!OS自作入門」の本を買えば初めてでもOSが出来る

56 :Be名無しさん:2006/07/18(火) 14:07:18
>>55
ここ口先だけの奴らがKを批判しているスレなんで、続きはこっちでやれや。

「30日でできる!OS自作入門」
http://pc8.2ch.net/test/read.cgi/os/1151897893/l50

57 :タカさん:2006/07/18(火) 15:34:55
>>56
ここは批判するスレでわなく「OSを作ろう」のスレ。初心者OSの作りの紹介は、OS作りに何が必要かと問われたから答えたまで。

58 :Be名無しさん:2006/07/18(火) 15:49:48
>>57
スレ違い

59 :Be名無しさん:2006/07/18(火) 15:53:34
>>57
>>1をひゃくまんかいよめ
>>1をひゃくまんかいかきとれ
>>1をいんさつしてひゃくおくまんかいくえ

60 :Be名無しさん:2006/07/18(火) 16:26:53
72 名前:Be名無しさん[sage] 投稿日:2006/07/16(日) 23:21:01
実際は教えてるんじゃなくて、ただソース提示してこれコンパイルしたらできるよって言ってるだけ。


K本がこの程度なのに、勝手にスレを設定されてもねえ。
どうせ>>57=K信者なんだろ?

61 :Be名無しさん:2006/07/18(火) 16:46:59
            , '´  ̄ ̄ ` 、
          i r-ー-┬-‐、i
           | |,,_   _,{|
          N| "゚'` {"゚`lリ     や ら な い か
             ト.i   ,__''_  !
          /i/ l\ ー .イ|、
    ,.、-  ̄/  | l   ̄ / | |` ┬-、
    /  ヽ. /    ト-` 、ノ- |  l  l  ヽ.
  /    ∨     l   |!  |   `> |  i
  /     |`二^>  l.  |  | <__,|  |
_|      |.|-<    \ i / ,イ____!/ \
  .|     {.|  ` - 、 ,.---ァ^! |    | ̄ ̄ ̄

62 :Be名無しさん:2006/07/19(水) 00:14:17
出来ればosをつくるのに有用な資料を下さい。。

63 :Be名無しさん:2006/07/19(水) 00:15:54
アーキテクチャマニュアル

64 :Be名無しさん:2006/07/19(水) 13:51:24
Multiboot Specification

65 :Be名無しさん:2006/07/19(水) 14:13:33
「教えて君」ならまだ見込みがあるが、「してくれ君」はどうしようもないな、やる気あるの?>>62

ひょっとして君 >>14

66 :Be名無しさん:2006/07/19(水) 20:53:16
TCP/IPを実装したい

67 :Be名無しさん:2006/07/19(水) 20:58:23
menuetのソースでも見てみそ

68 :Be名無しさん:2006/07/19(水) 23:05:18
兄貴の嫁とやりたい

69 :Be名無しさん:2006/07/19(水) 23:09:36
次郎君?

70 :Be名無しさん:2006/07/19(水) 23:24:21
陳平だろ


71 :Be名無しさん:2006/07/19(水) 23:28:02
珍平氏は逝きましたが・・・合掌

72 :Be名無しさん:2006/07/19(水) 23:29:03
次郎君は灯台だっけ?

73 :Be名無しさん:2006/07/24(月) 12:57:07
クニタチ大学の人は逝ったの?

74 :Be名無しさん:2006/07/24(月) 20:56:41
今OS作ってんだけど、一番良く使うアプリって何ですか?

75 :Be名無しさん:2006/07/24(月) 21:06:18
裏ビデオと萌えアニメの再生に使うメディアプレーヤ

76 :Be名無しさん:2006/07/24(月) 21:09:27
>>74
シェル

77 :Be名無しさん:2006/07/24(月) 21:16:42
ストリームダウンローダとDRM解除ツール

78 :Be名無しさん:2006/07/25(火) 00:09:51
確かに。もうnyなんて使う必要がなくなった。

79 :Be名無しさん:2006/07/25(火) 00:13:49
>>74
おそらくTrueTypeのレンダラを酷使してる

80 :Be名無しさん:2006/07/25(火) 00:17:19
普段使うのは12ptくらいまでなんでほとんど埋め込みビットマップなわけだが

81 :Be名無しさん:2006/07/25(火) 00:20:21
>>80
ヒント:メイリオ

82 :Be名無しさん:2006/07/25(火) 00:23:24
M$なんてしらね
フツーLinuxだろ

83 :Be名無しさん:2006/07/25(火) 00:30:20
犬板にお帰り下さい

84 :Be名無しさん:2006/07/25(火) 00:32:22
>>81
欠陥レンダラの上欠陥フォントってことで、Macに乗換えなんてことも無きにしも非ず

85 :Be名無しさん:2006/07/25(火) 00:34:02
は?
今日びOS関係の開発者で常用環境が犬じゃない香具師なんていないだろ?

86 :Be名無しさん:2006/07/25(火) 00:36:21
未踏とかの最先端開発者もターゲットの大半がLinuxだね

87 :Be名無しさん:2006/07/25(火) 00:36:49
はいはい。わかったからGNU信者はちょっと黙っててね。

88 :Be名無しさん:2006/07/25(火) 00:37:48
>>84
http://pc8.2ch.net/test/read.cgi/os/992855807/210

89 :Be名無しさん:2006/07/25(火) 00:38:47
レンダラはどっちにしろAdobe製だから

90 :Be名無しさん:2006/07/25(火) 00:39:29
>>87
GNU信者は犬なんてゴミではなくHURDを使っていますが伺か?

91 :Be名無しさん:2006/07/25(火) 00:41:47
HURDはゴミ
というよりGNU自体ゴミ

http://pc8.2ch.net/test/read.cgi/os/1051533991/255

92 :Be名無しさん:2006/07/25(火) 00:42:14
>>90
LinusからHURDはゴミとのお達しです

ttp://www.atmarkit.co.jp/flinux/rensai/watch2006/watch06b.html
>Hurdみたいなおもちゃシステム

93 :Be名無しさん:2006/07/25(火) 00:44:54
>>84
LinusからMacはゴミとのお達しです

http://pc8.2ch.net/test/read.cgi/os/986819827/

94 :Be名無しさん:2006/07/25(火) 00:44:56
というかOS作ってる奴のレベルが大体想像がつく件

どうせK本か自作ディストリの本だろ・・・

95 :Be名無しさん:2006/07/25(火) 00:45:40
>>93
ぶっちゃけAdobeのかかわってない部分はゴミクズだと思うよ。うん。

96 :Be名無しさん:2006/07/25(火) 00:45:59
>>92-93
犬信者は犬と一緒に鯖部屋に篭ってろ

97 :Be名無しさん:2006/07/25(火) 00:47:20
>>96
鯖部屋はネットで外に出られるんだよね

98 :Be名無しさん:2006/07/25(火) 00:49:10
いまどきのデジタル土方は鯖を私用に使って2chなんか見てるのか。。。

99 :Be名無しさん:2006/07/25(火) 00:51:06
>>98
フツーのクライアントからだとプロキシにログ残るからね

100 :Be名無しさん:2006/07/25(火) 00:52:06
100getキタ*・゜゚・*:.。..。.:*・゜(゚∀゚)゚・*:.。. .。.:*・゜゚・*!!!!!

101 :Be名無しさん:2006/07/25(火) 00:52:20
>>1-100
ハッカー気取りしたい年頃まで読んだ

102 :74:2006/07/25(火) 16:59:15
>>75-101ありがとう。

103 :鳥取砂丘 ◆7SKBJME/7U :2006/07/25(火) 23:45:33
|ω・`) ・・・

104 :鳥取砂丘 ◆7SKBJME/7U :2006/07/26(水) 22:38:47
|ミ サッ

105 :Be名無しさん:2006/07/27(木) 07:50:18
はりぼてOS
http://pc8.2ch.net/test/read.cgi/os/1153953788/

106 :Be名無しさん:2006/07/27(木) 11:29:36
はりぼてOS

107 :鳥取砂丘 ◆7SKBJME/7U :2006/07/28(金) 14:00:01
前に誰かが要求してたcom64を正式にリリースしましたよ(´・ω・`)

ttp://meg-os.org/?Documents%2FCOM64

108 :Be名無しさん:2006/07/28(金) 14:04:43
>>107
> 正式にリリースしましたよ

ttp://meg-os.org/?Documents%2FCOM64
> この文書は正式な仕様ではありません。

109 :鳥取砂丘 ◆7SKBJME/7U :2006/07/28(金) 14:21:29
>>108
表現修正したょぅ(´・ω・`)

110 :Be名無しさん:2006/07/28(金) 23:35:03
モツカレー(゚Д゚)ウマー

111 :鳥取砂丘 ◆7SKBJME/7U :2006/07/31(月) 03:06:30
ちょっと質問してもいいかい?(´・ω・`)

112 :Be名無しさん:2006/07/31(月) 22:50:16
  川
   |
(´・ω・`)


   川
(´・ι|σ・`)

113 :Be名無しさん:2006/08/01(火) 03:09:54
遠慮するな、俺とおまいの仲ジャマイカ。

114 :鳥取砂丘:2006/08/01(火) 12:16:54
おれぺこパクり疑惑はパクり元と法的に和解したのでもう追加訴訟はありませんので安心してください

115 :鳥取砂丘:2006/08/01(火) 12:30:36
>>114は偽者です!
訴訟は継続中ですのでご了承くださいm(_ _)m

116 :鳥取砂丘 ◆7SKBJME/7U :2006/08/01(火) 12:39:49
いやいや私が偽者です

117 :鳥取砂丘 ◆7SKBJME/7U :2006/08/01(火) 14:02:41
まいらはメゴスが実機で動いてエミュで動かないをどう思いますか?(´・ω・`)
メゴスに興味ない(たぶんたくんさんいると思います)は除外で

118 :Be名無しさん:2006/08/01(火) 15:42:46
実機を再現していないエミュのことを尋ねても・・・要はそのエミュが糞と言いたいのだな?

「そんなエミュは捨ててしまえ」

いいよこのレスを引用しても、クレームをつけた奴に見せるといい。

119 :鳥取砂丘 ◆7SKBJME/7U :2006/08/01(火) 16:22:34
おらがいいたいのはそういうことじゃないだな(´・ω・`)

120 :ぴゅあ:2006/08/01(火) 16:26:41
私はメゴスとやらに興味湧いてないので全然知らないが・・・

メゴスとやらに限定せずとも動かしたいと思えば私は実機で動かそうと思うし
実機で動けば別にエミュで動かなくても構わんと思う。

それは実機で動かしたいと思えば割り当てる実機を用意すればいいと思うところからだけど
動かせる実機が用意できるのに敢えてエミュで動かそうとは思わないし
割り当てられる実機がない場合として考えると
エミュを使ってまで動かしたいと思えるものかどうかによりますね。

そんなエミュでもウィンドウシステムなしで動くものとかないんだろうか・・・
と思ってみたりですけど。
設定により可能とかいうものがあったりするのかも知れないけど。。。

エミュで動いて実機で動かないだと、余程惹かれたものでもなければ
私は触る気にまでもならんでしょう。

121 :鳥取砂丘 ◆7SKBJME/7U :2006/08/01(火) 16:40:34
本来は自分のWIKIなりなんなりで話題提議するのが筋だろうけど
たぶん意見集まらないと思って慣れない2chに緊張しながらかきこんでみたのでした

122 :鳥取砂丘 ◆7SKBJME/7U :2006/08/02(水) 12:13:01
具体的にはPAEを使うかどうか迷ってるのだが
アーキテクチャ的にはPAE使った方がすっきりするけどPAE非対応のエミュが結構あって
だからといってPAEなし版を作るとメモリマネージャ再設計が必要になって(´・ω・`)ションボリ

123 :Be名無しさん:2006/08/02(水) 14:48:32
>>121
参加してあげたいが何せMonaの方に付きっきりなんで・・・

124 :鳥取砂丘 ◆7SKBJME/7U :2006/08/02(水) 14:56:25
もう人が増えるとは思ってないし別に参加しなくていいですよ
ただ意見が聞きたかっただけですのでー

125 :ぴゅあ:2006/08/02(水) 15:00:17
PAEは頭から外しているので詳しくは解らんけど・・・

> アーキテクチャ的にはPAE使った方がすっきりするけど

と言っているところはよく解らんが

> PAE非対応のエミュが結構あって

は「PAE対応のエミュも存在する」ということも言っている?
1つでも"自分が納得できて"使えるものが存在するのならそれでいいんでないのかな。
それと同じものを使っている人には受け入れられて、他のものを使っている人からは貶され捲くったとしても、それは自分が使っているもの以外は否定とか考える人からの批判だったりすることが大半を占めたりするんだろうから仕方ないことだろうと思うけど。

> だからといってPAEなし版を作るとメモリマネージャ再設計が必要に

それでも万人に受けることを望むなら
"どうしよう…"と悩むことではなくて、"やる!"と決めて気合い入れて臨むことだろうと思うけど・・・

てか PAEに詳しくはないけど
物理メモリアドレス空間が広げられた以外の拡張部分とか絡むのかもだけど、基本はページテーブルだったりするものではないの?
PAEあり/なしでその辺りの差し替えで済まんのかな?とか思ってみたり

モジュール化はその差し替えが最小限で済むように考えられているかとかだろうし、それが困難だとすると、メモリマネージャ再設計の前にメモリマネージャ設計に問題がなかったかとかなってこないのかな?とか思ってみたり。。。

再設計が必要というその設計がどういうものか知らんし、判らんけどね

126 :鳥取砂丘 ◆7SKBJME/7U :2006/08/02(水) 15:08:28
PAEは物理アドレス拡張って名前の通り元々は4GB以上のメモリを扱うための拡張ですけど
そのためにページテーブルの構造が変わるのでメモリマネージャは完全に差し替えないとだめです。

それだけならメモリマネージャを二つ作るだけでいいけれどページング段数の変更などがあって
今のメゴスのメモリマップだとPAEの方が効率がいいように設計されてるのですよ

127 :鳥取砂丘 ◆7SKBJME/7U :2006/08/02(水) 15:16:46
PAEは古くはPenPROの時代に導入されたので今日のほとんどのCPUは機能としては持ってます。
しかしPAEを活用するOSがあまりないのでエミュ側も対応してなかったりするのが現状です。

現在確認できてるのはAMD64・PAE対応してるエミュとホストがPAE(DEP)モードで動いてるVMwareくらいですが
今の開発マシンがWINXPでDEP使えないのでVMwareが使えないのが痛みだったりします
(bochsやqemuが動いてもうれしくない

128 :Be名無しさん:2006/08/02(水) 15:22:50
>>127
昔は実機しかなかったんだぞ!

129 :鳥取砂丘 ◆7SKBJME/7U :2006/08/02(水) 15:28:29
ついでにいうとPAEはAMD64のページテーブルと非常に似てる(正確にはAMD64がPAERに似せてる)ので
64bitモードの切り替えがスムーズにできるかなぁなんて密かに考えてたりしたりしなかったりするわけですが

こんなに悩むくらいならPAEは切り捨てて普通のページングで動くように再設計した方がいいのかなあ(´・ω・`)

130 :鳥取砂丘 ◆7SKBJME/7U :2006/08/02(水) 15:31:59
>>128
今はエミュで動かないと叩かれませんか?

131 :Be名無しさん:2006/08/02(水) 19:23:19
>>123
そんな付きっ切りになるくらいだから相当の成果を上げてるんだよね?

132 :鳥取砂丘 ◆7SKBJME/7U :2006/08/02(水) 21:01:15
成果を上げるだけがすべてじゃないかと

133 :鳥取砂丘 ◆7SKBJME/7U :2006/08/02(水) 21:06:55
PAEの件は多少パフォーマンスが犠牲になるだけでPAEがなくても同じことが実現できる方法が
ひらめいたので解決しました。
お騒がせしました><

134 :Be名無しさん:2006/08/02(水) 21:23:10
>>132
自己弁護ですか?

135 :Be名無しさん:2006/08/02(水) 21:25:25
>>134
そんなことよりボクシング見ろ

136 :Be名無しさん:2006/08/02(水) 21:37:26
>>133
具体的に

137 :Be名無しさん:2006/08/02(水) 21:52:19
>>136
世界タイトルはヤオ

138 :Be名無しさん:2006/08/02(水) 21:55:52
>>137
人生に勝負を掛けずにニートになった負け組乙

139 :Be名無しさん:2006/08/02(水) 21:58:06
そんなことよりこのままシリアとイランが戦争に巻き込まれたらヤバいぞ
ミサイルが飛んで来なくてもガソリンは500円くらいに暴騰するぞ

140 :Be名無しさん:2006/08/02(水) 22:00:08
戦争は究極の勝負

141 :鳥取砂丘 ◆7SKBJME/7U :2006/08/02(水) 22:03:25
流れを読まずに2ゲット!

142 :Be名無しさん:2006/08/02(水) 22:10:09
 ___    _____________
 :|.C組.. |   || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
 :|(゚ー゚*)|   || 鳥取砂丘は無視!!   。 ∧_∧
  ̄ ̄ ̄     ||                 \(゚ー゚*)  分かりましたね。
            ||____________ ⊂⊂ |
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄|
  ∧ ∧     ∧ ∧    ∧ ∧       |____|
  (・,, ∧ ∧  (  ∧ ∧ (  ∧ ∧
〜(_(  ∧ ∧ __(  ∧ ∧__ミ・д・∧ ∧
  〜(_(  ∧ ∧_(  ∧ ∧_(   ∧ ∧
    〜(__(,,・∀・)〜(_(   ,,)〜(_(   ,,) 先生、鳥取砂丘は嫌いです。
      @(___ノ  〜(___ノ   〜(___ノ
                             (-_-)ピュアモウザイヨ・・・
    /   は〜い、先生。   \       (∩∩)

143 :Be名無しさん:2006/08/02(水) 22:11:40
さっきゅんかわいいよさっきゅん

144 :Be名無しさん:2006/08/02(水) 22:16:52
>>133
kwsk

145 :鳥取砂丘 ◆7SKBJME/7U :2006/08/03(木) 00:36:27
 ___    _____________
 :|.C組.. |   || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
 :|(゚ー゚*)|   || 鳥取砂丘は無視!!   。 ∧_∧
  ̄ ̄ ̄     ||                 \(゚ー゚*)  分かりましたね。
            ||____________ ⊂⊂ |
          ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄|
  ∧ ∧     ∧ ∧    ∧ ∧       |____|
  (・,, ∧ ∧  (  ∧ ∧ (  ∧ ∧
〜(_(  ∧ ∧ __(  ∧ ∧__ミ・д・∧ ∧
  〜(_(  ∧ ∧_(  ∧ ∧_(   ∧ ∧
    〜(__(,,・∀・)〜(_(   ,,)〜(_(   ,,) 先生、鳥取砂丘は嫌いです。
      @(___ノ  〜(___ノ   〜(___ノ
                             (-_-)ピュアモウザイヨ・・・
    /   は〜い、先生。   \       (∩∩)

146 :Be名無しさん:2006/08/03(木) 00:43:32
さっきゅんやらないかさっきゅん


147 :Be名無しさん:2006/08/03(木) 03:12:27
みとこのすごい削除依頼を見た。

148 :Be名無しさん:2006/08/03(木) 04:28:58
もう.NETベースのOS作ってやる

149 :Be名無しさん:2006/08/03(木) 14:14:33
>>133
解決したとのことなので今更だけど、PAE使うのでもいいと思うですよ。
確かにPAEだったら実機で動くので。確認したことないけどw

150 :鳥取砂丘 ◆7SKBJME/7U :2006/08/03(木) 15:08:32
他の和製OSがPAE使う兆しないのは何故だろう?

151 :Be名無しさん:2006/08/03(木) 15:16:30
>>150
めんどくさいんじゃね?

152 :鳥取砂丘 ◆7SKBJME/7U :2006/08/03(木) 15:24:49
そんな面倒な処理ないと思うけど(既にページング使ってるなら

153 :Be名無しさん:2006/08/03(木) 15:29:05
>>152
だよね。

今気づいたがPAE使おうとも思ってないんじゃw

154 :Be名無しさん:2006/08/03(木) 21:02:50
>>148
【C】Poneytail(仮称)OSスレッド01【未踏】
http://pc8.2ch.net/test/read.cgi/os/1105442577/l50


155 :Be名無しさん:2006/08/04(金) 03:36:09
>>150
単に例が少ないからでは。
>>154
CooSの人は「バグがバグバグ出てきて」って口走った時からひそかに応援してる。

CooSといえばメゴス+ristia。
もうTALもどきに手出す気はナイのか。

156 :Be名無しさん:2006/08/04(金) 06:00:06
どちらかというとMSILもどき

157 :鳥取砂丘 ◆7SKBJME/7U :2006/08/04(金) 11:45:46
以前からゆってるようにあれの存在は当時のメゴスの重荷のひとつだったので
十分な開発者が集まるまで実現は厳しいでしょう

158 :Be名無しさん:2006/08/04(金) 12:36:19
他スレに誤爆した…。

エミュレーターOS。
物理ハードウェアを均一の仮想化(バーチャル)ハードウェアとして、他のOSに提供する、
BIOS/EFIを拡張したようなOS。このOS用のドライバを内包する。
PC/AT互換機であれば命令コードの変換は必要ないので性能ダウンは軽度にとどまる。そんなOSが欲しい。
HDDも仮想化し、そのデータをただ複製するだけで、このエミュレータ上であればハードウェアを問わず同環境で起動可能。
バックアップソフトウェアも必要なし。複数のOSの同時起動も当然可能。
ParallelsのOS版みたいなもの。もっとハードウェアとの親和性を高めて。

PC自作erには便利だと思うんですよね。
M/Bやグラボなど、構成を変えても、同じ仮想化HDDで使用できる。
エミュレータOS側は再インストールとドライバインストールが必要かもしれないけど、
エミュレータOSにはユーザーデータや日常使うソフトウェアはインストールしないから、
大した手間にはならない。
これって作成可能だと思いますか?問題点があるとすればどういったとこでしょうか。

あと、例えば複数のPCにこのエミュレータOSのみインストールしておき、
安くなったフラッシュメモリ系デバイスに仮想化HDDデータを入れておいて持ち歩けば、
データだけでなく全ての環境がモバイル可能になると思います。

159 :Be名無しさん:2006/08/04(金) 13:08:37
>>158
つVMware ESX Server


160 :159:2006/08/04(金) 13:14:39
ただし個人向けじゃないけどな

Dom0,DomU,HVU Domainの区別は有るけど、Xenも>>158が求めている物に近いんじゃないかな。


161 :160:2006/08/04(金) 13:15:41
HVU --> HVM


162 :さっきゅんへ、メゴスにアシスタントつけて下さい。こんなやつ↓:2006/08/04(金) 20:06:36
| 何について調べますか?
| ┌────────────┐
| | 脱げ               |
| |                    |
| └────────────┘
| [ オプション(O) ]   [ 検索(S) ]
| 
`──────────┐ ┌───
                 | ./
|/
             ___/:::::;;:ヽ_
           ___/::;;;/::;;;::/:::::::::\
          /:::::ヽ::;//;;;;:::::::::::::::::ヽ
         /;;;;;;;;;/^    i:jヽ;;;;;;;;:::::::}
        /;;;;;;;彡    _ノノ ノヽ;;;;;;;;;j
        (;;;;;;;彡' ̄`丶   _,-,ミ;;;;;;ノ
        \;;;;;;(イ0iiiヽ   {0i//ヘ'
          ヽ/ヽヽ゚;;_ノ   i;;ノi|_ノ
           \t| ~‐'  _, ~ )_)
            ○\  ‐=' /
               `' 、イ
           ___,-‐i┘ └j‐-,___
        __i~::::::::::::ヽ ヽ_/ ,‐':::::::::::::~i__
       / |:::::::::::::::::::∨∪∨::::::::::::::::::::| ヽ
       |  j::::::::i::::::::/ノ∧ヾ\::::::i:::::::|  |
       |  |::::::::l::::::::>-人 -<::::::l:::::::|   |
       'l, /::::::::i;:;:::::::::::・:::::・:|:::::::::;;i::::::::| ,l'
        'l,~| ̄i^ヽ;;:::::::,_:・:|:::::;;/ | ̄~| ,l'
        'l,| ⌒~''‐--///へ-‐''~´⌒ |,l'
   / ̄ ̄ ̄`~'''──-'‐-ソ)))-──'''~´ ̄ ̄ ̄ ̄\     
  /                           .  \  
 \二二ニニニニニ二二二二二二二二二二二二二/

163 :鳥取砂丘 ◆7SKBJME/7U :2006/08/04(金) 21:46:40
>>162
メゴスに対する真面目な要望なら本家wikiで話題提議おながいします
ネタにマジレスだったら・・・(;´・ω・`)

<チラシの表>
そういやいよいよcore2解禁すね
今月中に一台欲しい(´・ω・`)
</チラシの俵>

164 :Be名無しさん:2006/08/04(金) 22:39:43
>>162
ものごとを依頼するってのは場所とタイミングが重要なのよ。
あえて硫黄、食う気嫁

165 :鳥取砂丘 ◆7SKBJME/7U :2006/08/05(土) 18:00:01
おまいら空気嫁は何を使ってますか?
おすすめとかおしえてください><

166 :Be名無しさん:2006/08/05(土) 18:02:39
>>165
オリエント工業マジお勧め

167 :Be名無しさん:2006/08/06(日) 20:53:10
3次元はちょっと・・・

168 :崎本:2006/08/07(月) 22:55:54
それじゃねるーノシ

169 :崎本:2006/08/08(火) 11:36:58
おはよう(´・ω・`)

170 :崎本:2006/08/08(火) 17:57:17
メゴスって とっても 人気 ないね

171 :Be名無しさん:2006/08/08(火) 18:57:05
空気嫁をつければ無敵

172 :崎本:2006/08/09(水) 08:28:05
おはようございます(´・ω・`)

今日も一日

ねるー

173 :Be名無しさん:2006/08/09(水) 16:44:21
とろん

174 :Be名無しさん:2006/08/13(日) 09:51:25
ROM数十KB、RAM1、2KBといった組み込み用ワンチップマイコンなどのための
簡単なOS(というよりモニタと言った方が合ってるか)を作ろうかと思ってます。
このリソースだと完全なタスク切り替えはたぶん無理なんで、関数をタスクに見立てて
特徴づけして呼び出すぐらいしかないですよね、たぶん。
なんか参考になるオープンソースのOSありませんかね。

175 :ぴゅあ:2006/08/13(日) 20:59:44
どういうものを作りたいのかよく解らんけど
OSを作りたい?モニタ機能とかのようなライブラリを作りたい?

なんか昨今「OSという言葉」だけが独り歩きしてるような感が強くあったりしてる気がしたりだけれど・・・

176 :ぴゅあ:2006/08/13(日) 21:05:04
あ ウザイ?

177 :Be名無しさん:2006/08/13(日) 21:18:14
>176 気にするな

178 :Be名無しさん:2006/08/13(日) 21:34:42
長文レスを長々と連続カキコすると読みにくいのでウザがられる。
かといって手短にすませると相手が理解してくれない。

さて、どうしたものか?

179 :Be名無しさん:2006/08/13(日) 21:38:23


そうだ、パケット方式だ!
レスの内容を理解しやすいように短く区切って別々のレス番に書き込む。

180 :Be名無しさん:2006/08/13(日) 21:39:14



なんちゃって(笑

181 :178-180:2006/08/13(日) 21:41:01



後で読み返してみると、やっぱりウザかったorz

182 :崎本:2006/08/13(日) 21:46:13
ちゃんとシーケンス番号つけようや

183 :Be名無しさん:2006/08/13(日) 21:52:57
>>182
とりあえず、バーストモードでテスト

184 :Be名無しさん:2006/08/13(日) 22:00:07
>>176
とりあえずよく分からないのに書かないでください。
あと丁寧な言葉遣いを心掛けてください。

185 :Be名無しさん:2006/08/13(日) 23:53:04
いいのいいのー。
ぴゅあタンはこのスレ第2のマスコットキャラクターだからー。

186 :ぴゅあ:2006/08/14(月) 00:59:50
マスコットなんかい(><)

187 :Be名無しさん:2006/08/14(月) 11:02:58
>>174
マルチタスクモニタすか。
仕事→素直に商用ITRON
学生→OSの本読め。コンテキストスイッチあたりは参考になる。
かなあ。

そういえばこのへんはどうやって勉強したか全然覚えてないのう…

188 :174:2006/08/14(月) 14:25:36
あ、なんかまともなレスが。
趣味→うまくいけば仕事に応用てな感じですかね。
主にファームウェアの開発を生業としていて、
いろいろ試行錯誤しているうちに中途半端なイベント駆動
なスタイルになったので、もう少しいじればOSっぽくなるんじゃないか?
なんて思った次第です。
雑誌の独自OS特集みたいな記事を見ては、ターゲットにMByte単位の
RAMを想定していたりして、がっくしです。

189 :ぴゅあ:2006/08/14(月) 14:40:50
>>174

> 組み込み用ワンチップマイコンなどのための

と言っているのでいまいち判らんのよね
ワンチップマイコンを使って…なら、なるほど〜と思えたりもするのだけど
扇風機とかリモコンとかに入っているコントローラにOSの概念とか必要(有用)とされる場面が思い付かんのです。。。

OS,モニタと言っているものをどういう形で作り、どう使いたいのか
(オペレーティングシステムとしてのものか、普通にモニタ機能のようなものなのか…)とかが
いまいち見えんから判らん(そこまで必要なのか?)というところですけど

>このリソースだと完全なタスク切り替えはたぶん無理なんで

目的とかは置いといて、作ることだけで言えば
インターバルタイマ割り込みでレジスタの退避・復元をしてやる仕組みを作ってやるとかすればできると思うけどね

Z80が流行ってた頃にやってた書籍とかまだ手に入ったりするなら
参考にしたり移植したりするのもやり易いんではないかと思ったりするけど手に入るものかどうかは…
68000頃に見たOS-9とかでも、最近のIntelプロセッサのTSSとかでも(プロセッサ内で処理できたり拡張されていたりするけど)
基本的なところは変わってないと思うよ

参考になりそうなソースの所在は判らんですが

マトモではないか・・・

190 :Be名無しさん:2006/08/14(月) 15:41:09
>>188
しょうがないな、、、
1990年代前半に雑誌「インターフェース」にマルチタスクOSの設計手法とソースが掲載されたよ。
タイトルは「マルチタスクマイコンの構造化設計」だったかな、ターゲットはH8/532。
同じ頃、「プロセッサ」という雑誌にITRON仕様OS設計ドキュメントが掲載されてたな。

俺もこれらの記事を参考に手持ちのポケコンのOSを作成したことがあるが、
マルチタスクモニタ・カーネル、ファイルシステム、コンソール/シリアルドライバ、基本ライブラリ
コマンドプロセッサなど全ファイルの合計サイズ(バイナリで)7kB、ワークエリア合計サイズ数百B位だったな。
(実行ファイル格納エリアを除く)

191 :174:2006/08/14(月) 17:40:43
なんか続々とレスが。ネタスレじゃなかったのね。

>>189
> 扇風機とかリモコンとかに入っているコントローラにOSの概念とか必要(有用)とされる場面が思い付かんのです。。。

そういうのよりはもうちょっと高度なもんです。
ACとバッテリーで駆動して、USBにつながってPCとゴニョゴニョしたり、
バッテリーの充電制御もせにゃならんかったり。

> 目的とかは置いといて、作ることだけで言えば
> インターバルタイマ割り込みでレジスタの退避・復元をしてやる仕組みを作ってやるとかすればできると思うけどね

いや、そりゃ作るだけなら作れると思いますよ。でもOSだけで
ほとんどのリソースを食いつぶすわけにはいかんので。

192 :崎本:2006/08/14(月) 17:43:01
ここネタスレだったのか(´・ω・`)

193 :174:2006/08/14(月) 17:44:44
>>190
> 1990年代前半に雑誌「インターフェース」にマルチタスクOSの設計手法とソースが掲載されたよ。

インターフェースは2000年頃からしか持ってないっす…。

> 俺もこれらの記事を参考に手持ちのポケコンのOSを作成したことがあるが、
> マルチタスクモニタ・カーネル、ファイルシステム、コンソール/シリアルドライバ、基本ライブラリ
> コマンドプロセッサなど全ファイルの合計サイズ(バイナリで)7kB、ワークエリア合計サイズ数百B位だったな。
> (実行ファイル格納エリアを除く)

うーむ、これだけのものをこのサイズに押し込めたのはなかなかだと思いますが、
やっぱワークエリアを結構食いますね。

194 :Be名無しさん:2006/08/14(月) 17:50:53
実は数百バイトでもきつい、基本的にスタックはタスクごとに確保するのが仕様なんで…

195 :崎本:2006/08/14(月) 23:24:46
henohenoってこのスレ見てるの?

196 :Be名無しさん:2006/08/14(月) 23:29:50
遅いからもう寝ましょう、あしたもいっぱい飛ばなくちゃ…

197 :Be名無しさん:2006/08/19(土) 15:43:31
自作系のOSでAC'97とかサポートしたらいいのに…。
最近のやつはSoundBlaster互換じゃないからBEEPしか出せなくて困る。

198 :Be名無しさん:2006/08/19(土) 21:01:57
Linuxの例だとAC'97といってもマザーボード毎に違うドライバが必要みたいだぞ?
共通のドライバで解決ってわけにはいかない予感

199 :Be名無しさん:2006/08/19(土) 23:59:19
IPL からカーネルローダ経由でカーネルを読み込むプログラムを作成しているんですが
カーネルローダでプロテクトモードへ移行しています。
(半年ほど放置してましたが…)

割り込みコントローラの初期化はプロテクトモード前と後のどちらで行った方が
良いのか教えて下さい。

現在は、アセンブラの CLI 命令でソフトウエアー割り込みを禁止しをして
プロテクトモードへ移行後に行っています。

自分的には、プロテクトモード移行時に
プロテクトモードでのソフトウア割り込みの設定を終わっているので、
1)リアルモードで CLI 命令でソフトウエアー割り込みを禁止
2)リアルモードでの割り込みコントローラの割り込み禁止
3)プロテクトモードへ移行
4)プロテクトモードでのソフトウア割り込みの設定
5)プロテクトモードで割り込みコントローラの初期化

と、思っています。


200 :崎本:2006/08/20(日) 00:08:27
好きな方でいいと思うよ

どちらかというとプロテクトモードに以降後の方が若干いいかも
(移行直前までの割り込みは全部BIOSに投げる・以降後の割り込みは全部OSが受ける)

201 :ぴゅあ:2006/08/20(日) 00:24:13
>>199
同じくいいと思うよ
いちおついでにNMIもリアルモードの段階で無効化しておいた方がいいかも

大抵はプログラムミスでもしなきゃそうそう問題とはならないだろうと思うけど
作ってる過程では一緒にやっておいた方が楽かも

202 :ぴゅあ:2006/08/20(日) 00:27:46
あれ?NMIも・・・だったかな?
ちょっと忘れた。。。(汗)
ベクタ31までのプロテクトモードで割り当てられている部分をちゃんと設定…だったかな

203 :Be名無しさん:2006/08/20(日) 01:17:42
さすがはマスコット

204 :ぴゅあ:2006/08/20(日) 01:41:16
( ̄ー ̄)v

今見直してみたら、あちしは2→4(IDT設定)→3→5としてたわ
理由は4をやってる間にプロテクトモードでの割り込みが発生してしまうのを避けたいと思った筈…

205 :199:2006/08/20(日) 12:08:16
みなさん有難うございます。

1)リアルモードで CLI 命令でソフトウエアー割り込みを禁止
2)リアルモードで割り込みコントローラの割り込み禁止
3)リアルモードでプロテクトモード用のソフトウア割り込みの設定(LIDT)
4)プロテクトモードへ移行
5)プロテクトモードで割り込みコントローラの初期化

で、行こうと思います。

NMIの禁止は
out 61h, 6 ですよね?

out 21h, 15
out A1h, 15
でも可能と思いますが・・・。

インテルのマニュアルを読んでると
アドバンスド・プログラマブル割り込みコントローラ(APIC) の項目が有るんですが
SMPまで関係ないですね。

206 :ぴゅあ:2006/08/20(日) 13:40:09
> NMIの禁止は
> out 61h, 6 ですよね?

ポート61hで可能だとするとチップセット依存とかにはならない?
マザーボード,BIOS依存とかも絡んでくるのかも知れないけど

> out 21h, 15
> out A1h, 15
> でも可能と思いますが・・・。

NMIはここ通らないんじゃ・・・
で、15?

> インテルのマニュアルを読んでると
> アドバンスド・プログラマブル割り込みコントローラ(APIC) の項目が有るんですが
> SMPまで関係ないですね。

必要に迫られてないから深く調べてないけど
1CPUでもPICからAPIC(I/O APIC)に切り換えると全体的なパフォーマンスが向上したりするという話はあったりするみたいだけど・・・

207 :Be名無しさん:2006/08/20(日) 15:11:44
>> NMIの禁止は
>> out 61h, 6 ですよね?

すみません。
out 61h, 12 ですよね?

で、
>ポート61hで可能だとするとチップセット依存とかにはならない?
依存するんですか?

http://www.cqpub.co.jp/column/books/2001a/34331PC_Legacy/pc-lega6.htm
で、見たんですが他の方法が有るならご教授願います。

>NMIはここ通らないんじゃ・・・
>で、15?
http://www.cqpub.co.jp/column/books/2001a/34331PC_Legacy/pc-lega10.htm
で調べました。

自分の認識は
マスク不可能割り込み(NMI) の割り込みベクターは変更可能で
out 21h/A1h, 15
で、禁止可能と思ってるんですが間違ってますか?


208 :崎本:2006/08/20(日) 15:21:22
NMIはINT2固定やがな(´・ω・`)

209 :Be名無しさん:2006/08/20(日) 15:43:27
インテルのマニュアルにしかり INT2 と書いてありました。
頭の中でNMIとPICが整理されてないです orz

210 :ぴゅあ:2006/08/20(日) 15:46:41
out 61h,12だとNMIの発生要因の一部を無効にするんではないかと思います。
ポート70hのbit 7を制御する方があちしはいいんではないだろうかと思ってます。

> 依存するんですか?
例えばIntelのデータシートでもホワイト,イエロー,オレンジ,レッドとかだったかなぁ?とかがあって見れる範囲が異なりますよね
他社のデータシートでも公開されている範囲があって、どちらかというと"依存しない"という確信を持ちにくいというところからかなぁ…
なのであちしは今のところポート70hでの制御を採用しています。

それが本当にいいかどうかは更に追求する必要もあったりするでしょうけどね。

> out 21h/A1h, 15
はOCW1を指してる?とか勝手に思ってしまったりしましたが、ICW2のこと?
確かに21h/A1hだけ示されても何を指しているのか判らんですが。。。
(でもICW2が出てるのは次のページだし・・・??)

> マスク不可能割り込み(NMI) の割り込みベクターは変更可能で
NMI(マスク不可能)はPIC(マスク可能)とかとは関わりなく独立しているものと思いますよ
で、NMIはベクタ#2に固定であると思います

因みにout 21h/A1h, 15がベクタの設定(ICW2)を意図してるとしても
15<<3とかになるのではなかろうか。。。

211 :Be名無しさん:2006/08/20(日) 18:02:28
>out 61h,12だとNMIの発生要因の一部を無効にするんではないかと思います。
つまり、確実ではないと・・・。

>ポート70hのbit 7を制御する方があちしはいいんではないだろうかと思ってます。
ポート70hのbit 7 の項目を説明しているWebを検索出来ませんでした。
宜しければ URL等を教えて頂けませんか?

>> out 21h/A1h, 15
>はOCW1を指してる?とか勝手に思ってしまったりしましたが、ICW2のこと?
OCW1です。
この件に関しては完全に此方の勘違いです。
上記でマスク出来るのはIRQ0-IRQ15で、
IRQ0-IRQ15に割り振るベクターアドレスをPICで設定を行う。

INT0-INT31まではCPUが使用・予約しているのが、
歴史的にソフトウエア割り込みで使用しているので勘違いしやすいと。

>>209 でも書きましたがハードウエア例外とソフトウエア割り込みとNMIが
整理出来てませんでした。

多分、上記の認識で間違って無いですよね?

212 :ぴゅあ:2006/08/20(日) 21:24:31
特に問題ないのだろうと思います。

もし使っているプロセッサやチップセットのデータシートが手に入るなら見てみると書かれていたりもするでしょうね。
例えば適当ですけど、インテルサイトから
http://www.intel.co.jp/jp/products/chipsets/
ICH5(82801EB)のデータシートを例に挙げてみれば
http://developer.intel.com/design/chipsets/datashts/25251601.pdf
PDFから"nmi"とかで検索して
「9.7.2 NMI Enable(and Real Time Clock Index) Register」や
("1=Disable 'All' NMI sources"と書いてあるのもポイントかな?)
「Figure 7 NMI# Generation Logic」とか。
(右下辺りになる"NMI_EN"が9.7.2のことですよ@PCH(6300ESB)の図の方がポートも併記されてて判り易いかも)

後は言うまでもないかも。
> つまり、確実ではないと・・・。
他のチップセットも必ずインテルチップに従ってるかとか、インテルチップの中でも違いがあったりしないかは計り知れないし…
因みにあちしはAMDを主に見てますけど、VIAチップのデータシートでは61hの該当部分が非公開なのか、ホントになしなのか、載っていないようだし。
また、BIOSの中でもポート70hを使っているのは見れましたけどね。(AMD系ですけど)

OSを作ろうスレッド定番?のOADGテクニカルリファレンス(ハードウェア)でもポート70hの説明は見られるでしょう。

まあ、いずれしても限られた情報の中から推測・判断しているので、何処まで確実と言えるかは、自身が知り得た範囲が自分にとっての"確実"なところだったりするでしょうけどね。
疑問を持ち続ける限りは探し続けるしかないかも。

213 :Be名無しさん:2006/08/21(月) 20:08:16
>>212
丁寧な説明、有難うございます。

>疑問を持ち続ける限りは探し続けるしかないかも。
常に勉強ってことですね。

アプリケーションプログラマなのでハード関連の勉強をしないと…。
取りあえずカーネルとは関係ないIPL周りのアセンブリから見直して行きます。
何時になったらカーネルの設計が出来ることやら(^_^.)

214 :Be名無しさん:2006/08/23(水) 00:15:39
<チラシの裏>
IPLを見なおしてら不具合はっけーん
拡張INT 13h が機能したないから実害は無かったけど・・・
</チラシの裏>

215 :ぴゅあ:2006/08/24(木) 01:43:23
素朴な疑問・・・として聞いてみていいですか?

"<チラシの裏>"ってたまに見かけたりするけど(最近?)、どういう意味?

216 :Be名無しさん:2006/08/24(木) 10:25:21
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLG,GGLG:2005-39,GGLG:ja&q=%E3%83%81%E3%83%A9%E3%82%B7%E3%81%AE%E8%A3%8F%E3%81%A8%E3%81%AF

217 :ぴゅあ:2006/08/24(木) 13:16:26
なるほどね サンキュ
<>で囲っている意味もたぶん・・・。

チラシの裏ってもっと有効利用してたよなぁとか思ったりしてピンとこなかったヨ・・・

218 :Be名無しさん:2006/08/24(木) 23:44:44
>>216 さん代弁、有難う

ぴゅあさんって自分と年代が近いのかな…。

219 :Be名無しさん:2006/08/25(金) 00:43:35
汗やCが王道でC++は渋々ながら使い、Javaにいたっては子供の使うものだという
認識が垣間見えるな。

220 :Be名無しさん:2006/08/25(金) 10:33:31
誰への感想なの?

221 :Be名無しさん:2006/08/27(日) 21:42:58
プロテクトモードからリアルモードへ移行する場合の
割り込みベクターの設定に関してなんですけど下記の処理で問題ないですか?

シュチュエーションとしてはプロテクトモードの終了時です。
V86モード時は現在、未対応です。

1)プロテクモードへ移行する前にリアルモードでの割り込みベクターを保存する
2)プロテクトモードでの割り込みベクターを設定する
3)プロテクトモードからリアルモードへ移行する時に
  1)保存した割り込みベクターを設定する

上記の処理で問題無いですよね?




222 :崎本:2006/08/27(日) 22:35:16
割り込みベクタが破壊される可能性がなければ
保存は不要で 0000〜03FF のIDTRを設定すればおk

223 :ぴゅあ:2006/08/27(日) 23:30:15
そうね。
"リアルモードでの割り込みベクターを保存する"くらいだったら破壊しないようにしておくのがいいよね。

あとBIOSワークに不整合が起こらないようにしておくとか
割り込みベクタとは関係ないけどセグメントセレクタ(IP含む)をちゃんと設定しておくことを忘れなければ。(SSはこの間にスタックを使ってなきゃ後でも)

224 :ぴゅあ:2006/08/28(月) 15:57:34
あ・・・うそつき

> (SSはこの間にスタックを使ってなきゃ後でも)
SPですね。。。 訂正せんでも判ると思うけど・・・

225 :Be名無しさん:2006/08/29(火) 00:16:33
将来、手抜きモードでV86を実装すると思うので
取り合えず、割り込みベクタを保存して再設定しようと思います。

226 :Be名無しさん:2006/09/12(火) 23:51:57
割り込みコントローラの初期化後、割り込みを有効にすると
当然ですがハードウエア割り込みが発生します。

IRQ0-15は INT 0x20-0x2Fに移動いています。
割り込みハンドラも設定してあります。

この時、一般保護例外(#GP)が発生してエラーコードが 0x103 です。
エラーコードの下位2ビットが立っているので INT 0x20の外部割込みが発生しているようです。

そこで質問なのですが、プロテクトモードで外部割込みが発生する場合は
一般保護例外(#GP)でトラップするのでしょうか?
それとも、設定してある割り込みハンドラで処理を行うのでしょうか?

現在の状態が正常なのかエラー状態なのか分からないので御教授お願いします。

ちなみに、TSSは1個しかない状態でTSS ディスクリプタはビジー状態になっています。

227 :崎本:2006/09/13(水) 01:35:14
もしも割り込みが全部一般保護例外になるならエラーコードで割り込みの区別がつくからベクタの移動なんて不要でしょうが

そのエラーはIDTの書き方に問題があって正しい割り込みゲートが見つからないか割り込み番号がIDTのリミットを超えてる

228 :ぴゅあ:2006/09/13(水) 02:06:20
割り込みは割り込みで#GP(フォルト)が起こったりしないでしょう。

正確に知ってるわけではないけど、
EXT=1: 割り込みとかが起こったときに、それを処理しようとしたらフォルトが起こった
IDT=1: #GPが起こったときIDT内のゲートディスクリプタを見ていたときにフォルトが起こり、セグメントセレクタインデックスにはそのインデックスが入っている
セグメントセレクタインデックス: 問題を起こしたIDT内の場所
ということではないのかな

恐らくそこの設定がおかしいとか言ってるんじゃないかと

IRQ0-15(INT $20-$2F)とかは、ちゃんと設定してやってあればそのまま飛んでいきます。
エラーコードが0x103であると言っているんだから$100/8=$20→"IDTのINT $20を設定しているところ(ディスクリプタ)がおかしいよ"と言ってますよね。

#GPについては割り込みと例外のところの説明読めば、どういうときに起こるか書いてあるから。

229 :Be名無しさん:2006/09/13(水) 20:17:52
有難うございます。

IDTのリミット設定が間違っていました。
修正したら割り込みが呼ばれるように成りました。

インテルのマニュアルは読んではいるんですが難しいです。

230 :ぴゅあ:2006/09/14(木) 01:29:39
>インテルのマニュアルは読んではいるんですが難しいです。
確かにそんなところもあるかも。

なかなか解読するのが困難に思える文章とかは兎も角も、
複数の箇所をちゃんと読んで、あわせて理解しないと答えにならなかったりとか。。。
片方しか読んでない経験積んできたという人に「違う」と散々攻められたりとかもあったけど、
まぁ大手メーカー企業のベテランエンジニア相手に(普通に書籍とかにも書かれていたりしたけど)「ちゃんと読めよ」とか返したりしないですが・・・(−−;

231 :Be名無しさん:2006/09/15(金) 00:21:29
そうですね。

下巻のマニュアルは取り合えずプリントアウトしました。
週末に読み込もうと思います。

プロテクトモードに移行したローダでBIOSを使うために
仮想86モードを試行錯誤していますが、リアルモードからIRETしてきた時に
ESPレジスタとフラグレジスタ(VMビットが立ったまま)だけが変になっています。

タスクと割り込みと仮想86モード関連の箇所だと思いますが、マニュアルを読んだだけで
理解出来てないようです。

VMビットに関しては心当たりが有るんですがESPレジスタに関しては皆目検討が付きません(ーー;)。
先は長そうです…。

232 :ぴゅあ:2006/09/15(金) 02:49:51
仮想86モードは触ってないのでよくは知らないけど、
チラッと読んでみたところで。

どんな作りになってるのか判らないですけど、ESPやVMビットのところは、
仮想86モードを終わろうとするとき…即ちリアルモードと同様というところで
16ビットで操作してしまってたり?とか思ってみたりもしますが、

BIOSコールを終えて戻るときに、
仮想86モードを抜けるための割り込み(INT)を用意して
呼んでやっていれば(そのときプロテクトモードになっている)、
そのまま戻れそうな気も?

BIOSを呼ぶのなら、そのまま一度リアルモードに戻ったのでも良さそうな気もしたりですけど、
仮想8086モードとした方がメリットがあったりするのか・・・
リアルモードも仮想8086モードも使ってないので、
どっちがいいのかとか考えてないですが。

下巻の「8086エミュレーション」の前半くらいとか
書籍「はじめて読む486」の「仮想8086モード」の章あたり(サンプルコードあたりかな?)を読めば
その辺りのところは掴めるんではないかと。

233 :崎本:2006/09/15(金) 04:10:56
>>231
タスクゲートを使わないで仮想86モードを呼び出した時はiret命令でプロテクトモードに戻れないから
わざと例外を発生させてプロテクトモードの例外ハンドラでフックする必要があるよ

>>232
仮想86モードを使えばBIOSが弄るハードウェアの状態をカーネルが監視や把握できたり
割り込みを横取りして裏で動いてる他のスレッドの実行を邪魔させないようにできたり
まっとうなOSを作ろうとするならBIOSのためにリアルモードに戻るべきじゃないと思うけど

234 :崎本:2006/09/15(金) 04:15:48
ちなみに仮想86モードから戻る時はarpl命令(バイト値0x63)を#UDでトラップするのがよく使われるよ
このバイト値はBIOSのコピーライト文字列等でF000-FFFFに存在する可能性が高いらしいから仮想86モードのメモリ空間にごみを残さずに呼び出せる

235 :ぴゅあ:2006/09/15(金) 08:31:09
>>233
なるほどね。
逆に、BIOSを呼び出している間に他のスレッドを割り込ませたくないというのもあるけど、
(割り込ませられるということはBIOS内の処理を熟知しているということになるだろうけど)
BIOSを使おうと思うのなら、確かにそんなところもあるかも。

>>234
「可能性が高い」というのは「保証されている」ではないと思うから
ならば、あちしは専用のINTを用意することを選択するかな。
#UDを使ったとしても、仮想86モードを抜け出すためのものか、本当に#UDが起こったのか判断することになるし、
尤も「抜けるためにその専用のINTを呼んだのか」というのもあるけど、それは十分なテストで…
& 専用のINTであることで、(仮想86モード上で動くユーザーアプリに対しても)制御可能なんだろうと思うし

236 :ぴゅあ:2006/09/15(金) 08:48:28
# 制御可能なんだろうと思うし
「より簡素に…」と付け加えておいてみる

237 :崎本:2006/09/15(金) 09:36:29
どうせ仮想86から戻るための割り込みなのか他の割り込みかチェックするなら、
起動時にBIOSをスキャンしてarpl命令のアドレスを記録しておいて
#UDハンドラでアドレスを検査するだけなので微々たるコストでしょう。

仰る通り、BIOS内にバイト値0x63が存在する保証はありません。
しかし存在する環境の方が多いのが現実であり、最大のメリットでもあります。
存在しない場合だけ他の方法を考える(別の場所に0x63を書き込む等)
でよいのではないのでしょうか。

238 :ぴゅあ:2006/09/15(金) 09:58:59


>どうせ仮想86から戻るための割り込みなのか他の割り込みかチェックするなら、

そんな余計なチェックとか入れるくらいなら・・・
とかのつもりで書いたつもりだけど。。。

「新たに割り込みを用意するくらいなら…」とかいう意味で言ってるのかな…?

後半も、作っている人がどう考えて作っているのかにもよると思うけど、
それが、汎用とかを考えているのだとすれば、
必然的に0x63が存在するかどうかのチェックコードとかも書くということになりそうよね?
確かにコード量としては大したものではないだろうけど・・・

その上でBIOS内にあるバイトを利用しようとしたメリットは?
とか思ってしまったりするけど。。。

ゴミを残してしまうかどうかも、後始末をどうしているかによるような気もするけど
実際に仮想86モードを使うコードを書いたわけではないから、外してるかもだけど…

239 :崎本:2006/09/15(金) 10:26:49
arpl命令は
・多くのPCでBIOS内に存在しており
 ・あえて仮想マシン内メモリに介在する必要がなく
 ・ROMにあるため書き換えができず
・仮想86モードで例外(#UD)が発生することを期待できる
・最初の1バイトで挙動が決まる
・他に正常な用途に使われる事がない命令
という便利な命令で、他にここまで便利な命令はおそらくないでしょう。

多くの機種で使えるのにあえて他の方法をとる理由がありますか?

「1機種でも使えない機種がある機能は使わない」というのはPCの世界では何もできない事を意味しますが。

240 :ぴゅあ:2006/09/15(金) 11:38:52
使う・使わないではなくて、選択だと思うけど・・・
それは絶対ダメだとか、否定して言っているつもりはないんだけど

逆に、「これしかない」とか思ったりするのはどうなんだろう・・・

突っ込んでみても仕方ないかもだけど
>という便利な命令で、他にここまで便利な命令はおそらくないでしょう。
命令としては便利なのかも知れないけど、
それが使われた場合、使われる場所まで含めて考えるとどうなんでしょう。
プログラムっていうのは、便利な命令とかがあるからただ使うとかいうのではなくて、
ロジックとして組み立てるのだと思うけど・・・。

241 :崎本:2006/09/15(金) 11:47:57
すこし勘違いされているかもしれませんね

重要なのはarpl命令が仮想86モードで必ず例外を起こす事であってarpl命令本来の動作はどうでもいいんです。
つまり、「arplという命令があるから使う」のではなく、「arpl命令が例外を起こす事を利用する」のです。
だから、arpl命令よりこのロジックにふさわしい命令が他にあれば使用しても構いません。
しかし、>>239で述べたようにarpl命令が仮想86モードで例外を起こすおそらく最も適当な命令ということなのです。

242 :ぴゅあ:2006/09/15(金) 12:35:48
>仮想86モードで例外を起こすおそらく最も適当な命令

この元ネタにあるようなBIOSを呼び出す際(それはカーネル内で扱うもの)なら
それでもいいとは思ったりもするのですけど、
ユーザーアプリに対して仮想86モードは一切使わせないとか制限を付けた上でとか

と、思ったけど、今リファレンスを見てみたらARPLって例外を起こすのではなくNOP扱いということですよね。
UD2とかではなく出てきているのはUD2だと実装されないプロセッサがあるからだと思ってましたけど。
となると、今お話に聞いていた中でARPLについては私の中で解釈が違っているし、どう活かせるのかを(私の中で)考えてみないといけないですが。

ARPLは仮想86モードの中で例外が起こるのではなく、起こらないというところで考え直してみなきゃですが、
INTを使った場合、ユーザーアプリにそれを使わせない制限が掛けられるのだろう(プロテクトモードとかに置いても)というのと
もしユーザーアプリが使おうとしても、他のコードミスとかで起こる例外と同様に扱えることになるのだろうし、
実際に仮想86モードを抜けるというのはカーネル配下に隔離して置かれ、
判断のためのロジックとかも簡素になるのではないかと・・・。

尤もそれぞれのコードを実際に書いて検証してみないと、
どういったものを選択するかは決められないですけど
いずれにしてもARPLがベストであるとはまだ決められないですね。
"私の中でだけ"のことですけど。

243 :崎本:2006/09/15(金) 12:51:57
> 今リファレンスを見てみたらARPLって例外を起こすのではなくNOP扱いということですよね。

いったいどのリファレンスにそんな記述があるのでしょうか?

IA-32 インテル R アーキテクチャ ソフトウェア デベロッパーズ マニュアル 中巻:命令セット・リファレンス
> 仮想8086 モード例外
> #UD 仮想8086 モードでは、ARPL 命令は認識されない。

IA-32 IntelR Architecture Software Developer’s Manual Volume 2: Instruction Set Reference
> Virtual-8086 Mode Exceptions
> #UD The ARPL instruction is not recognized in virtual-8086 mode.

AMD64 Architecture Programmer’s Manual Volume 3: General-Purpose and System Instructions
> Exception Real Virtual 8086 Protected Cause of Exception
> Invalid opcode, #UD X X This instruction is only recognized in protected legacy and compatibility mode.

> UD2とかではなく出てきているのはUD2だと実装されないプロセッサがあるからだと思ってましたけど。
UD2よりarplが適切な理由は>>239で述べています。


244 :ぴゅあ:2006/09/15(金) 13:14:27
> #UD 仮想8086 モードでは、ARPL 命令は認識されない。
あぁ、#UDとして認識されないということではなくて、認識されずに#UDかな
それは早とちりのようです

245 :231:2006/09/15(金) 23:43:09
中途半端な知識で申し訳ないですが、
仮想86モードを終了する為に 無効オペコード( #UD)を発生するだけなら
0F0B オペコード(UD2 命令) または0FB9H オペコードを使用するのが確実ではないでしょうか?

真面目な仮想86モニタを作成するならOSが提供する16Bitsコード内で実現できるので
ごみも出ないし、発生箇所が特定できるので確実と思えるんですが…。

246 :231:2006/09/15(金) 23:51:14
>233
IRETでも#GPが起こると有ったので期待していたんですが起きてない見たいです。
起きる条件が在るのかも知れませんが現在の知識では分かりません(^_^;)。

もう少しインテルのマニュアルと「はじめて読む486」を再度、読み直します。

247 :ぴゅあ:2006/09/16(土) 00:49:45
>IRETでも#GPが起こると有ったので期待していたんですが
これはインテルのマニュアルを読み進めれば解るだろうと思います。
というか、#GPが起こる条件が書かれています。

「はじめて読む486」にはINTを利用したコード例が出ています。
(見せるための演出のコード?も含まれているので、
うまく削って本当に必要なところだけをピックアップしてみるのがいいのかも)

248 :崎本:2006/09/16(土) 02:54:03
>>245
何を以って確実なのかよくわかりませんが、arpl命令で#UDが発生するのも確実です。

>>246
iret命令で#GPを起こすのが前提なら無理に#UDを使わなくてもいいと思います。
例外を起こす事が重要なので。

249 :ぴゅあ:2006/09/16(土) 03:27:38
>>245
>0F0B オペコード(UD2 命令) または0FB9H オペコードを使用するのが確実ではないでしょうか?
UD2はそのままズバリの命令であること、そして中巻からの引用ですよね。

0FB9Hの方はどうなるのか確認しないと判らないですけど、
UD2はPentium Pro以降というところは
意識することになるんでしょうけど。(下巻の「割り込みと例外の処理」)

250 :231:2006/09/16(土) 13:37:03
>>247
インテルのマニュアルでは
8086エミュレーションの図16-3で注記3の「IOPLが3より小さいとき」

割り込みと例外処理の割り込み13では
「IRET 命令の実行中に使用可能な( ビジーではない) タスクへ切り替える。」となっています。

一方、初めて読む486ではIOPLが3より小さい時と読めます。

結局、CPL=3でIOPLが3より小さい時に#GPが発生すると思ってテストしてましたが
実際には例外が発生していないので自分の解釈が間違っているのだと
思います。

崎本さんから
>タスクゲートを使わないで仮想86モードを呼び出した時はiret命令でプロテクトモードに戻れないから
>わざと例外を発生させてプロテクトモードの例外ハンドラでフックする必要があるよ
と指摘されていますし。

「はじめて読む486」の手法は
タスク周りはまだよく理会していないので詳しくは見ていません。

251 :231:2006/09/16(土) 13:39:48
おっしゃるとおりです。
例外を起こす事が重要ですよね。

252 :231:2006/09/16(土) 13:47:53
>>249
そうです。
中巻の付録A-オペコードマップ A-9ページの注記4です。
最新版でないので対応ページがずれているかも知れませんが。

Pentium Pro以前のCPUで 0FB9H オペコードが使用出来るかは
まだ、確認していません。

253 :ぴゅあ:2006/09/16(土) 17:19:16
(>タスク周りはまだよく理会していないので)
>「IRET 命令の実行中に使用可能な( ビジーではない) タスクへ切り替える。」となっています。
これはTSSを利用して仮想86モードにしている場合ではないのかな?
これまでレスしてきたところもTSSを含めるとややこしくなるだろうなぁと思って省いて書いたけど。

>例外を起こす事
割り込みか例外ではないのかなぁ?
(TSSを使うならタスクスイッチ(IRET)にもなるだろうけど)

>結局、CPL=3でIOPLが3より小さい時に#GPが発生すると思ってテストしてましたが
>実際には例外が発生していないので自分の解釈が間違っているのだと
>思います。
(今チラッと見ただけですけど)「はじめて読む486」の「図11-4 仮想8086モードで働く保護機能」を見てみて、どう思うか…かな?

>「はじめて読む486」の手法は
>タスク周りはまだよく理会していないので詳しくは見ていません。
ここでTSSが出てくるのは仮想86モードに突入するためのVMビットの操作にTSSを利用しているだけみたいなものだろうと思うけど。
「戻る」という部分に絞ると、その部分を端折って読めば…となるかどうかは微妙に自信なかったりだけど・・・

タスクが出てくる部分を省いてどの程度読めるのかは何とも言い難いけど、
タスクという言葉が出てきた時点で、読むのやめてるのかな?と思ったりもしますけど、
11-1,11-3を頑張って読んでみてもそんなページ数もないし、損ではないと思うけど。

割り込み(INT)が起こった場合にはプロテクトモードになってて、
ここで仮想86モードに戻るかどうかで、仮想86モードから抜ける(ない)かどうかになると思うんですけど、違うのかなぁ?
リスト11-4のv86IntHookの末尾部分のコード,11-3の最後の方の文章とか、それを言っているような気がするけど、違う?

インテルのマニュアルでは"ほとんど、主として一般保護(#GP)例外による…"というような言い回ししてますけどね。

254 :Be名無しさん:2006/09/16(土) 18:11:18
全く関係ない質問を書いてみますが、

OSの機能をユーザモードから呼び出す時って
一般的にはコールゲートによる特定関数の呼び出しをするもんですかねぇ?

コールゲートの番号と機能を一対一で固定的に対応付けるのであれば、
問題無く、機能を遂行できるとは思いますが。

DLLとなるとまた話は変わるでしょうがね。
今回は静的なお話で問題はありません。

255 :崎本:2006/09/16(土) 18:55:45
>>254
最近はsysenter命令やsyscall命令が一般的です。
昔はintやコールゲートが多く使われました。

どちらにしろ、OSを呼び出すのは特定の関数をひとつひとつ割り当てるのではなく
ひとつのエントリポイント関数だけを登録して機能番号で機能を振り分ける方法がよく使われます。

256 :Be名無しさん:2006/09/16(土) 19:00:08
>>255
ほほぅ、そんな命令があったことすら知らなかった。
勉強になったぜ、veryサンクソ

>>機能番号で機能を振り分ける方法
つまり、DOSでいうシステムコールみたいなものか、例えばeaxが0x01であれば、
ファイルを読み込むとか。

ちょっとsysenterとsyscallについて調べてみるかな。
これさえ、分かればCUIは作れそうだな。ELFの読み込みも成功しているし。

257 :231:2006/09/16(土) 19:46:34
>>253
いちをタスク関連も読んではいますがお腹一杯で消化不良中です。

>割り込み(INT)が起こった場合にはプロテクトモードになってて、
>ここで仮想86モードに戻るかどうかで、仮想86モードから抜ける(ない)かどうかになると思うんですけど、違うのかなぁ?
>リスト11-4のv86IntHookの末尾部分のコード,11-3の最後の方の文章とか、それを言っているような気がするけど、違う?
この場合は仮想86モード時の割り込み処理なので言われている通りだと思います。

現在は検証中なので下記の条件でテストしてます。

1)プロテクトモードでPICの初期化後、割り込みを有効化します。
2)タイマー割り込みが発生
3)タイマー割り込みのハンドラでVMビットをONしてリアルモードの割り込み
  ヴェクタをスタックに設定してIRETします。
4)#GPハンドラで、仮想86モードの時はINT n /IOポート関連のエミュ

大体こんな感じです。
手抜きモードでのテスト&実装なので突っ込み所満載でしょうが・・・。

取り合えず、保護、タスク、割り込み、仮想86関連を読み込んでみます。



258 :ぴゅあ:2006/09/17(日) 00:15:01
>>257
>3)タイマー割り込みのハンドラでVMビットをONしてリアルモードの割り込み
>  ヴェクタをスタックに設定してIRETします。
ここだけちょっと気になります。
実験としてであって(或いはタスクスイッチとかの意味合いなら…ですけど)、
本気で仮想86モードとか抜けるためというものではないですよね?
インテルのマニュアルでは、"割り込み"と軽く言った後、"ハードウェア割り込み"とか頻繁に出てくるような感じですけど。。。

いちお、私の書いてる話の中で割り込み(INT)と言ってるのは"ソフトウェア割り込み"(意図した場所で割り込むの意)で
ハードウェア割り込みでは、ホントにそれに対する処理をするのなら普通に割り込み処理として問題ないけど
仮想86モードを抜けるためとするとややこしいことになる筈。(何時起こるか予測不能)

敢えて言うまでもないことと思うけど、ちょっとだけ気になったので。

>取り合えず、保護、タスク、割り込み、仮想86関連を読み込んでみます。
頑張って!
あちしも(仮想86モードは使う予定をしてないので除外したままだけど)もっと読んで行かなきゃ

259 :ぴゅあ:2006/09/17(日) 01:40:24
>>257
>3)タイマー割り込みのハンドラでVMビットをONしてリアルモードの割り込み
>  ヴェクタをスタックに設定してIRETします。
この部分。タイマ割り込みを使って実験の状態を作っているのだと思いますけど、
ここのIRETは以前書かれていた"VMが1のまま"となるというのは …VMビットに触れないので仮想86モードのままのIRET
インテルのマニュアルにもある通りでしょう。

例えばこのIRETの前に
(別の)割り込みを呼んでVM=0,IRET(オペランドは32bitとする)の後、 …プロテクトモードでのIRET
先のIRETが呼ばれるのだと …VM=0とされた状態でのIRET
期待通りになるんでしょう。

260 :崎本:2006/09/17(日) 05:16:21
仮想86モードにIRETする前にTSSのESPは再設定してるかね?

261 :Be名無しさん:2006/09/17(日) 12:05:23
>>260
よく理解はしていないですが
取り合えず、リング0のEPSは設定しています

262 :Be名無しさん:2006/09/17(日) 12:11:46
>>259
以前、心当たりが有ると書いたのは
割り込みのIRET時の戻り先に#UDを発生させる関数を設定して
VMビットをクリアーでいいのかなっと思ってます。

ただ、IRETで例外が発生すると思っていたので上記の処理はしてませんでした。

263 :ぴゅあ:2006/09/17(日) 15:31:53
>>262
タスク関連はよく解らんと言ってたし、
特に使ってないんだろうという前提で話してきてるけど

>割り込みのIRET時の戻り先に#UDを発生させる関数を設定して
>VMビットをクリアーでいいのかなっと思ってます。

割り込み前のメインは無限ループとかで、
ただタイマ割り込みを待ってるみたいなものとして
(そしてそのメインはプロテクトモードで)

(実験中にタイマ割り込みが多重に割り込むとかない(考えなくていい)と仮定されているとして)

タイマ割り込みを受け付けた時点でプロテクトモードになってて
そこでVMビットを1にして仮想86モードにするのは、
どういう形でやっているか判らないけど、できてるということなんでしょう。
(たぶん以前は(自分でVM=0としようとしたのかどうか…)IRETに任せようとしていたのでVM=1のまま)

(>戻り先に#UDを発生させる関数を設定して)
#UDを発生させた後、プロテクトモードに戻っている(VM=0)の筈なので
#UDを発生させたことによってスタックされた分を後始末(破棄)して
(仮想86モードに入ることによって触ったものも元に戻して)

">VMビットをクリアーでいいのかなっと"というのは、自分でやらなくても既にVM=0で
#UDの最後のIRETでタイマ割り込みを受け付けた時点の状態でIRETすれば
VM=0にもなってて、タイマ割り込みルーチンからもちゃんと抜け出ているだろうと思うけど。

頭の中でイメージしてるだけだけど。。。

>VMビットをクリアーでいいのかなっと思ってます。
って、なんとか形にはなって、いちおOKかな?と思ってるということ?
それとも、(理解が途中とかは置いといて)まだうまく行かなくて格闘中?

264 :Be名無しさん:2006/09/18(月) 10:03:48
まだ格闘中で、マニュアルを読んでいる最中です。

265 :256:2006/09/18(月) 14:48:50
>>255
少し調べてみたけど、別にintとかコールゲートでも問題なさそうですね、
ってか2000辺りでもintは使われているんだな。
まぁオーバヘッドを考えたらsysenter一本らしいですけど。
とにかく参考になったので多謝。

後はメモリの管理かぁ、むむぅ、ここがネックだなぁ。

266 :Be名無しさん:2006/09/18(月) 15:04:23
2000出た頃はsysenterなんてなかった。

267 :Be名無しさん:2006/09/18(月) 16:04:34
>>266
比較的2000って信頼性では良いという評価を受けているから、ビックリしました。
sysenterとかそういう命令じゃないと、現状では信頼性が確保できないのかと思ってしまいました。

やはり調べないと分からないものですね。変態チックで楽しいですけどw


268 :崎本:2006/09/18(月) 18:43:51
「最近」ゆっとるがな(´・ω・`)

269 :Be名無しさん:2006/09/18(月) 18:59:01
>>268
いやいや、その「最近」が難しいもんでw

270 :Be名無しさん:2006/09/18(月) 19:00:50
>>267
intとsysenterの選択って信頼性に関係するんですか?

271 :Be名無しさん:2006/09/18(月) 19:25:17
sysenterは486で動かない

272 :崎本:2006/09/18(月) 19:26:09
パソの世界じゃ2000年はもう過去じゃね?

273 :Be名無しさん:2006/09/18(月) 19:48:43
>>270
いや、関係ないんだなぁと改めて確かめる事ができたということです。
もともと大して問題は無いよなぁーとは思っていたけど。

>>272
崎本さんは64bitOSを作っているわけですから。
まだまだIA32も現役だからねー。

結論として何でもいいけどバグさえ混入しないようにという結論となりますた

274 :Be名無しさん:2006/09/30(土) 13:32:52
OSつくーるで作れば?

275 :Be名無しさん:2006/10/21(土) 00:35:02
以前に仮想86モードに付いて質問した者です。

取り合えず解決しました。

今回やりたかった事はローダからカーネルをメモリーに読み込むために
DISK BIOSを使用したい為、シングルプロセスで他からの割り込みが入らない
条件で仮想86モードへ移行し、プロテクトモードに戻ってくることを想定しています。

旨く行った条件は NMI 関連の割り込み処理なので実際にやりたい事とは違いますが
下記の様に処理しています。

1)メインの処理で NMI の割り込みを許可
2)メイン処理で無限ループに入る
3)タイマー割り込み発生
4)タイマー割り込みハンドラ内で一時的なスタックを使用して
  16Bits タイマー割り込みハンドラ を呼び出す為に仮想86モードへ移行
5)この時、IIRET の戻り先を #UD を発生させる関数にする
6)#UD の例外処理関数内で 終了処理を行う
7)この時点で4)の直前に戻っている
8)そのまま、何もせずに割り込まれた処理へ戻る

処理5)から処理6)へ移行する時に割り込みが発生する可能性が在りますが
ローダの処理なので見なかった事にします。(~_~)

#UD の発生は オペコード 0x0FB9 を記述して UD2命令はは使用していません。

今回は TSS を使用した切り替えを行っていませんが 特権レベルが変化するような場合は
最低限の設定が必要なんでしょうか?
今回は、ss0/esp0 の設定しかしていません。

気になる点が有りましたら御教授願います。

276 :ぴゅあ:2006/10/21(土) 20:58:34
解決したと言われているので問題なしだと思うけど

>気になる点が有りましたら御教授願います。
タイマ割り込みを使った検証をされていたのですよね
タイマ割り込みを使ってとか#UD発生に終始されていた感もあったりしましたが
DISK BIOSを呼び出す上でどのように考えられているのかな?
ってところくらいかな

なので、気になるって程のものでもないですけど

277 :Be名無しさん:2006/10/27(金) 23:58:03
>DISK BIOSを呼び出す上でどのように考えられているのかな?
タイマ割り込みやキーボード割り込み等と同じ割り込み時のスタックを擬似的に再現して
任意のINT命令を発行する予定です。

278 :277:2006/11/03(金) 01:16:51
取り合えず、DISK BIOSの呼び出しで1セクタの読み込みは出来ました。

ハードウエア割り込みとソフトウエア割り込みを有効な状態で
DISK BIOSの呼び出しが出来たので、ローダの主処理を作成します。

煮詰りましたら、その時はまた伺います。<m(__)m>

279 :Be名無しさん:2006/11/04(土) 14:16:03
むこうのスレ人いないんでまたこっちにきますね

280 :Be名無しさん:2007/04/10(火) 07:08:18
日本人が個人で作ってるOSは殆ど糞ばっかり。

281 :Be名無しさん:2007/04/17(火) 00:00:43
>280
糞でないOSってなに?

282 :Be名無しさん:2007/04/17(火) 15:31:40
>>281
日本製ならTRONぐらい

283 :Be名無しさん:2007/04/17(火) 17:17:33
TRONこそ糞だろw

284 :Be名無しさん:2007/06/17(日) 00:34:01
TRONの入った家電に世話になってるくせに

285 :Be名無しさん:2007/06/18(月) 19:25:46
TRON房は巣に帰ってください。
今時TRONを使ってる家電なんてほとんどありません。

286 :Be名無しさん:2007/06/19(火) 15:47:22
意識していないだけで以外に入ってたり
まあ単機能の白物なんかには入れないと思うが


287 :Be名無しさん:2007/08/13(月) 15:46:08
Mビ

288 :Be名無しさん:2007/08/24(金) 22:47:29
盛り上がらんね

289 :Be名無しさん:2007/08/29(水) 01:31:20
x86で論理アドレスから物理アドレスに変換してくれるような命令はない?
リファレンス見る限り、見つからんのだが
ページテーブル引くコード書いてもいいんだが、さくっと簡単にできんかな

290 :Be名無しさん:2007/11/28(水) 13:16:30 ?2BP(500)
あげてみよう

291 :Be名無しさん:2007/11/28(水) 20:32:56
パソコンショップ最強リンク
http://want-pc.com

292 :Be名無しさん:2008/03/28(金) 08:06:23
age

293 :Be名無しさん:2008/03/28(金) 21:46:39
このスレもほんと錆びれたな

294 :Be名無しさん:2008/03/28(金) 23:12:58
誰か作ってる人いないかな?

295 :Be名無しさん:2008/03/28(金) 23:19:28
作ってる人もいなくなったんだろうな・・

296 :Be名無しさん:2008/03/29(土) 03:41:08
ゲイツ君がつくってるんじゃね?

297 :Be名無しさん:2008/03/29(土) 08:26:29
ゲイツ君はボランティアが忙しいからなあ

298 :Be名無しさん:2008/03/31(月) 02:00:55
ブートローダめんどくせぇ・・・
grubで手を抜こうとしたが、ELFのカーネルを
うまく0xc0000000に移動できないっぽい?

299 :Be名無しさん:2008/05/24(土) 00:38:58
WindowsやX Windowってウインドウマネージャーとアプリケーションって表示内容を描画したフレームバッファってどうやって共有してるんでしょうか?

300 :Be名無しさん:2008/05/24(土) 06:45:23
共有なんてしてないだろw
画面周りのフレームバッファいじるのは、ウインドウマネージャだけ。

アプリにできるのは、デバイスコンテキストに描画することまで。
ウインドウマネージャは、アプリの都合なんて関係なく勝手にアプリのウインドウを描き変えていく。
その時は、アプリにもメッセージを送ってくるけどね。

アプリもDIB/DIBSectionで独自のフレームバッファ(「自分で」描画する描画内容)を確保することはできるが、それはウインドウマネージャには何の関係もない。


301 :Be名無しさん:2008/05/24(土) 14:17:26
>>300
共有という言い方が悪かったみたいでした。すみません。

アプリケーションが描画したものをウインドウマネージャーがウインドウ内に表示する仕組みが知りたいのです。

302 :Be名無しさん:2008/05/24(土) 14:28:42
補足します。
アプリケーションを描画した結果に対してウインドウマネージャーがアクセスしようとする場合を考えます。
ウインドウマネージャーがスーパーバイザーモードで動作しているなら問題ないですが、
X Windowのようにユーザーモードで動作している場合はセグメント違反になると考えました。
ここの工夫をどうしているのかが知りたいです。

303 :Be名無しさん:2008/05/24(土) 15:04:03
>>302
>アプリケーションが描画したものをウインドウマネージャーがウインドウ内に表示する仕組みが知りたいのです。

アプリの呼び出す描画APIに応じてGDIなりXなりの描画用サブシステムがウインドウ/スクリーン用に確保しているフレームバッファに描くだけじゃね?

とりあえず、画面(システム側フレームバッファ)の描画にアプリは直接関係ない(関与できない)。


304 :Be名無しさん:2008/05/24(土) 15:13:47
なるほど、アプリケーションは描画をOS側に依頼しているだけって事ですね。
ありがとうございます。

305 :Be名無しさん:2008/08/24(日) 15:03:42
OSつくりたいです!

306 :Be名無しさん:2008/08/24(日) 15:10:00
>>305
知ってる言語は?作ったことあるアプリは?

307 :305:2008/08/24(日) 16:25:14
使える言語はHTMLです

308 :Be名無しさん:2008/08/24(日) 17:15:07
夏休みももうすぐ終わるだろうと思っていたら
またすごいのが来ましたな...

309 :Be名無しさん:2008/08/24(日) 17:15:32
>>306
しってる言語は英語と日本語です!!

310 :Be名無しさん:2008/08/24(日) 18:38:14
>>307
まずはAjaxでWebOSを作ってみると良いよ

>>309
OS kitの翻訳をしてみたらどうかな

311 :Be名無しさん:2008/08/24(日) 19:22:04
WebOSってOSでもなんでもなく、ただのWebアプリケーション群と擬似デスクトップじゃん
馬鹿なの?

312 :Be名無しさん:2008/08/24(日) 20:38:55
>>305
ここがUnilinwinmacbex part3スレッドですね。

>>310
Ajaxはコーディングが辛いよ。やってみると。

313 :Be名無しさん:2008/08/24(日) 22:36:23
>>311
そんなこと分かってるよ

314 :Be名無しさん:2008/10/21(火) 22:00:23
こんばんは。
法人でx86-64動作環境を作っている者です。

OSに同梱するフォントについて、質問よろしいですか?
問い合わせたところ、IPAフォントが使用ライセンスの関係で、
使えない事がわかりました。

そこで、ここの皆さんが実用に耐えれると思われるフォントがありましたら、
ご紹介願えないかと思い、書き込みしました。

詳しく述べるとTrueTypeフォントをビットマップとアウトラインに分離して、
少メモリ環境でも動作できるセグメント形式に変換したデータを使いたいのです。

動作環境の詳細につきましては、ホームページを参照ください。
それでは、よろしくお願いします。

http://www.gionel.com/

315 :Be名無しさん:2008/10/21(火) 22:13:15
アウトラインフォントだけなら、VLゴシックと小夏がいい線いってる
合成フォントでは、小夏を元にM+を調整したSystemaが素晴らしい
ビットマップはM+あたりがよろしいかと

フリーに限らないなら、リコー、ニイス、より高品質ならタイプバンクあたりが良い


316 :Be名無しさん:2008/10/22(水) 09:55:53
>315

ありがとうございます。
参考になります。

317 :Be名無しさん:2008/10/22(水) 10:50:44
>>314
> 問い合わせたところ、IPAフォントが使用ライセンスの関係で、
> 使えない事がわかりました。

誰に何を問い合わせたらどういう理由で駄目なのか、というところですかねぇ。
ライセンス関係は俺様解釈で断定しちゃう人が多いですから、きちんと
当事者の意思を確認して本当に使えないかどうか確認したほうが...

あと、ライセンスは改訂作業中なので、
参考→ttp://www.ipa.go.jp/software/open/ossc/2008/font/koubo.html
そこらへんも考えに入れた方がいいかもしんないです。

318 :Be名無しさん:2008/10/22(水) 13:15:42
>317
もちろん正式にIPA様より許諾できませんとの返事を頂きました。
早くライセンス改訂されるといいですね。

319 :Be名無しさん:2009/10/14(水) 22:55:15
ttp://www.amazon.co.jp/dp/B002G3WVYM
TECH I 起動プログラムブート・ローダ入門

こんな本が出てたとは。中身まだ見てないので評価はなんとも言えんけど。

320 :Be名無しさん:2009/10/14(水) 23:22:08
>>319
ttp://www.cqpub.co.jp/hanbai/books/MIF/MIFZ200909.htm


321 :Be名無しさん:2009/10/16(金) 03:50:33
IPAなんかに様付けるなよ

322 :Be名無しさん:2009/10/16(金) 09:49:33
バカが沸いたか

323 :Be名無しさん:2010/01/04(月) 16:04:48
コムラッドのタカネ終わってるな
http://namidame.2ch.net/test/read.cgi/venture/1260791115/l50
http://set.bbspink.com/test/read.cgi/sm/1246009466/l50
http://set.bbspink.com/test/read.cgi/sm/1249183350/l50

324 :Be名無しさん:2010/01/22(金) 23:53:04
http://mypage.okuizumo.ne.jp/my/tatami/images/%E7%95%B3%E3%83%93%E3%82%BA.jpg

325 :Be名無しさん:2010/01/31(日) 21:28:22
            _,,..r'''""~~`''ー-.、
            ,,.r,:-‐'''"""~~`ヽ、:;:;:\
           r"r          ゝ、:;:ヽ
   r‐-、   ,...,, |;;;;|       ,,.-‐-:、 ヾ;:;ゝ
   :i!  i!  |: : i! ヾ| r'"~~` :;: ::;",,-‐‐-  `r'^!
    !  i!.  |  ;| l|  ''"~~   、      i' |
     i! ヽ |  | |    ,.:'"   、ヽ、   !,ノ
    ゝ  `-!  :| i!  .:;: '~~ー~~'" ゙ヾ : : ::|
   r'"~`ヾ、   i! i!   ,,-ェェI二エフフ : : :::ノ~|`T <イエーイ、ひげぽん見てるー?
  ,.ゝ、  r'""`ヽ、i! `:、   ー - '" :: : :/ ,/
  !、  `ヽ、ー、   ヽ‐''"`ヾ、.....,,,,_,,,,.-‐'",..-'"
   | \ i:" )     |   ~`'''ー---―''"~
   ヽ `'"     ノ


326 :Be名無しさん:2010/02/10(水) 22:31:50
ブートローダ作るのめんどくさい。
おまいらちゃんと作った?
パクり放題の手頃なブートローダとか有る?

327 :Be名無しさん:2010/02/11(木) 18:29:16
アルヨ

328 :Be名無しさん:2010/02/13(土) 19:00:08
>>326
Linux

……壁紙を変えてアプリをインストしただけで、どこがマイOSなのかと(ry

329 :Be名無しさん:2010/02/14(日) 04:45:29
>>326
ttp://hrb.osask.jp/
ここのブートローダは自由に使って良いって書いてある
あなたが開発者本人じゃなければどうぞ

半年ぶりくらいに規制解除されたと思ったら
1週間経たないうちにまた規制された
おなじプロバイダにアホがいるとしか思えない

330 :Be名無しさん:2010/02/16(火) 12:44:55
主要ispは人覆いからしょうがない。

プロバイダ主要各社 契約者数一覧(2008年12月末時点)
  ISP名        総会員数
OCN          731万人
au one net(KDDI)  340万人
ぷらら          282万人
@nifty          175万人
JCOM          149万人
biglobe          132万人
So-net           126万人

331 :Be名無しさん:2010/02/16(火) 22:18:12
たしかに OCN です orz

332 :Be名無しさん:2010/05/01(土) 21:19:08
>>329
オマエモナー

333 :Be名無しさん:2010/09/29(水) 02:31:06
どなたかお助けください。
MBRの中で、HDDのカーネルを呼び出そうとint13h extension readを使っているつもりなのですが、エラーコード4のsector not foundで返ってきます。どうしても、HDDが読み取れません。どうしてダメなのかが分からない状態です。誰か助けて…。


.globl ipl_start
.code16
ipl_start:
jmp real_start

real_start:
cli
mov %cs,%ax
mov %ax,%ds
mov %ax,%es
mov %ax,%gs
sti

movb $0x80,%dl
movb $0x42,%ah
movw lba_command,%si
int $0x13
cmp $0,%ah
jz farjmp



334 :Be名無しさん:2010/09/29(水) 02:32:14
rehalt:
hlt
jmp rehalt

farjmp:
ljmp $0x0009,$0xfc00


lba_command:
.byte 0x18
.byte 0
.word 0x0000
.long 0x0009fc00
.quad 0

/* boot sector signature */
.org 510
.word 0xaa55 /* singnature */

335 :Be名無しさん:2010/09/30(木) 11:44:57
>>333
lea lba_command,%si
とか

336 :Be名無しさん:2010/09/30(木) 13:42:32
直接関係ないだろうけど9fc00hってBIOSの拡張ワークエリアじゃね?

337 :Be名無しさん:2010/09/30(木) 16:40:57
ですな。


338 :Be名無しさん:2010/10/19(火) 17:41:37
HDからブートするようにするにはどうすりゃいい?

自作OSをマルチブートにしてやりたいんだが

339 :Be名無しさん:2010/10/22(金) 14:16:16
そういうブートプログラム作って、パーティションの頭に書け。

んで、面倒な所はブートセレクタに任せる。


340 :Be名無しさん:2010/10/23(土) 00:19:48
そういうブートプログラムって正直なにをどうすればいいのかチンプンカンプンなんだけど
できれば何か参考になるサイト教えて

一応FDブートだけするのは作ったことがある。
関係ないか

341 :Be名無しさん:2010/10/23(土) 01:17:49
基本FDと同じだ。
int 13hのパラメータがHDD用になるが。

FreeDOSあたりまねすりゃいいんでないかい。
DOS互換ならどんなブートセレクタでも扱えるだろう。


342 :Be名無しさん:2010/10/23(土) 03:31:52
プロテクトモードにしなくて良いならHDDブートは楽勝

343 :340:2010/10/24(日) 22:52:19
int 13hのhd用パラメータは分かった。
ありがとう。

だが、すまんが
俺が知りたかったのは、フロッピーディスクでいうIPLの記述的なものなんだ。
それのhd版というかなんというか。

なにか分かったら教えてくれると助かる




344 :Be名無しさん:2010/10/24(日) 23:32:11
ブートローダーでググってみたら?
一応言うと、510番地〜512番地間での間でマジックワード0xaa55を記載されたイメージファイルをハードディスクイメージとして、読み込むと、マシン起動時に0x7c00番地に512KBローディングする。

ちなみにイメージファイルはelfとかpeとかでなくて、マシン語のバイナリフォーマットじゃないといけない。

…でいいのかな?

345 :Be名無しさん:2010/10/24(日) 23:37:11
512Bだな

346 :Be名無しさん:2010/10/24(日) 23:38:54
そうだった512Bだった
512KBも読んでくれたら楽なのになあ…。

347 :Be名無しさん:2010/10/25(月) 00:15:20
>>344
それはMBRでないかと思うわけだが。
マルチブートするならその辺はブートセレクタが使うのでどうでもいい。

んで、作らんといかんのはPBRなんだが。
これはFDのIPLと同じような構造でよかったような気がする。

348 :Be名無しさん:2010/10/25(月) 00:18:49
MBRもPBRもほぼ同じわけなんだが
差はパーティションテーブルの有無くらいだろ

349 :340:2010/10/25(月) 00:53:10

あー、なるほど

ということはhd版iplをとりあえず特定のパーティションの先頭に書いて
あとはそいつからカーネルをロードさせてやればいいというわけか。

面倒くさそうだな

350 :Be名無しさん:2010/10/25(月) 01:07:53
どうせだから、ブートローダあげる

っていっても、上の方にあるやつだけどw
.globl ipl_start
.code16
ipl_start:
jmp real_start

real_start:
cli
xor %ax,%ax
mov %ax,%ss
mov %ax,%es
mov %ax,%fs
mov %ax,%gs
mov $0x7c00,%ax
mov %ax,%sp
sti

xor %ah,%ah
int $0x13

mov $2,%ah
mov $lba_command,%si

movb $0x80,%dl
movb $0x42,%ah
int $0x13
cmp $0,%ah


351 :Be名無しさん:2010/10/25(月) 01:09:07

jz farjmp

rehalt:
hlt
jmp rehalt

farjmp:
cli
mov $0x7e00,%ax
mov %ax,%sp
sti
ljmp $0x0000,$0x7e00


lba_command:
.word 0x10
.word 16
.word 0x7e00
.word 0x0000
.quad 1
.quad 0

/* boot sector signature */
.org 510
.word 0xaa55 /* singnature */

352 :Be名無しさん:2010/10/25(月) 05:09:44
ここ太郎スレだから続きは他いけや

353 :Be名無しさん:2010/10/25(月) 10:33:19
>>348
BPBとかなかったっけ?

DOSとか気にしなきゃいらんか。



354 :Be名無しさん:2010/10/25(月) 16:56:21
>>333
「MBRの中で」とかいってるから違うっぽくね?

自分のOSをマルチブートさせたいって言ってるんだから、MBRにはgrubみたいなのを置くはず。
340は、自分のOSを置くパーティションの先頭で何をさせればいいのかってのを尋ねているんだと思われ


355 :Be名無しさん:2010/10/25(月) 21:34:12
>> 354

あ。そういうこと?

じゃあ、osdev(英語の方)のスケルトンコードみてこいや〜としかいえないなー。あっちならgrub環境でのブートコード書いてあるよ。

356 :340:2010/10/25(月) 23:00:22
>gt;355
そんなものがあるとは
できればリンク教えてくだされ

357 :Be名無しさん:2010/10/26(火) 01:27:46
ううん。少しはググろうぜ

ttp://wiki.osdev.org/Bare_bones


358 :340:2010/10/26(火) 16:14:12
>>357
あっ、ありがとうございますっ

359 :Be名無しさん:2010/10/27(水) 08:43:06
この他力本願丸出しはひげぽんか

360 :Be名無しさん:2010/10/27(水) 09:01:42
どうすればいい?
というよりは、動作済みのロダくれくれに終わってるな。
うpもいいが解説も無いしw

361 :Be名無しさん:2010/10/27(水) 17:48:37
まあ、結局そういうやつは仕組みを理解してないから
osdevなんかみてもわからないだろうな

362 :Be名無しさん:2010/11/01(月) 17:52:54
別に分かるのが目的じゃ無さそうだし。
そして動いてもやっぱり使いにくいなでウィンドウズに戻っていく。

363 :Be名無しさん:2010/11/20(土) 01:36:11
独自OS開発と聞いても、結局、POSIX互換OSばかり。
Unixじゃない、OSがみたい。
Monaは結局、POSIX互換だし。

364 :Be名無しさん:2010/11/21(日) 10:47:35
>>363
意味不明だ。
そんなのおまいが勝手に作ればいいだけじゃん。

365 :Be名無しさん:2010/11/24(水) 03:01:18
posixじゃ無い事で移植性が極端に落ちるからねえ。
自力で充実環境作ってくれるなら非posixもありだろう。int21ファンクションコール互換でも委員だしw

見たい邪なくて、見たければ手を動かして作って無料配布してくれw

366 :Be名無しさん:2010/11/26(金) 18:52:01
>>363 >>365
OSASK後継なんとか汁

367 :Be名無しさん:2010/11/27(土) 04:45:26
なんとかして欲しい香具師が手を動かせばいい。
漏れはposixなos使ってるから困らないし。

368 :Be名無しさん:2010/12/06(月) 00:24:57
いや、POSIX互換であれば、手を動かせばいいだけなんだけど、
非POSIXの場合は、まずAPIをまとめることが一番欠けている事なんじゃないかな?

369 :Be名無しさん:2010/12/09(木) 00:11:46
まとめたらposixになりそうだw

370 :Be名無しさん:2010/12/25(土) 21:08:59
保守

371 :Be名無しさん:2011/01/09(日) 15:28:45
とうとう2011年になってしまったわけだが

372 :Be名無しさん:2011/01/31(月) 22:26:36
保守

373 :Be名無しさん:2011/02/25(金) 00:44:25.84
IDEデバイスの検出がVMwareだとうまく行かない・・・

SRST後、何も接続していないスレーブを選択し、
01f4と01f5を読み出すと両方0(PATAデバイス)。
IDENTIFYコマンドを発行してみると永久にDRQビットが立たない。
セカンダリ側のスレーブはffが帰ってくるから正常っぽい。

どうなってるんだこれ

374 :Be名無しさん:2011/02/25(金) 08:38:06.57
vmwareの仮想pcの実装が腐ってるだけだろう。
他の仮想環境ではちゃんと検出する? あと実機は検出するの?

mbr/2nd boot loaderを自作してみたいけど、作って試すのが面倒だな。
redboot流用しちゃって済ませるかな。

375 :Be名無しさん:2011/02/26(土) 10:32:52.10
ATA-7のドラフトを見てみたら
> NOTE . Even though Device 1 is not present,
> the register content may appear valid for Device 1.
> Further means may be necessary to determine
> the existence of Device 1 (e.g., issuing a command).
とか書かれてた。
esのソースを見たらステータスレジスタがffの場合、
DRDYが立ってなくてATAPIでもない場合は存在しないと判断していた。
この方法ならうまくいきそう。

>>374
仮想環境によって微妙に読み出せる内容が違うっぽい。
status/error/sc/sn/cl/ch

QEMU
50 01 01 01 00 00 HDD
00 00 01 01 ff ff
00 01 01 01 14 eb CD
00 00 01 01 ff ff

Bochs
00 00 00 00 00 00
00 00 00 00 00 00
50 01 01 01 14 eb CD
00 01 01 01 ff ff

VMware
50 01 01 01 00 00 HDD
00 01 01 01 00 00
00 01 01 01 14 eb CD
ff ff ff ff ff ff


376 :Be名無しさん:2011/05/21(土) 15:57:02.95
ここが本スレだね

377 :Be名無しさん:2011/06/06(月) 22:01:48.46
視野が狭い人って困るよね

378 :Be名無しさん:2011/10/01(土) 19:54:17.02
こっちはパートスレ

379 :Be名無しさん:2011/11/01(火) 11:04:08.46
まだ続いてたんだ・・・
非POSIXだと
mona osask meg-os nowsmart-os prex mpl … ってほとんどじゃね?
POSIX互換レイヤーどころかlibcを実装してるのも一部だし

380 :Be名無しさん:2011/12/29(木) 12:06:00.95
さて、オナヌーして寝るかな(´・ω・`)

381 :Be名無しさん:2012/02/27(月) 00:05:54.58
過疎ってるなぁ

D言語でOS作るって可能ですか???

382 :Be名無しさん:2012/02/27(月) 22:23:11.98
ランタイムから作っちゃうんならどんなコンパイラだって問題ないんじゃないの?

383 :Be名無しさん:2012/02/27(月) 23:36:21.62


MIKAMIのインターネット   でググれ


このブログ痛すぎwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
クソワラタwwwwwwwwwwwwwwwwwwwwwwwwww

384 :Be名無しさん:2012/02/28(火) 10:36:52.35
>>383 死ねよあっちこっちにマルチポストしやがってゴミクズが

385 :Be名無しさん:2012/02/28(火) 23:34:57.02
こんな過疎板の過疎スレでマジギレしなくても

386 :Be名無しさん:2012/03/04(日) 12:06:20.10
興味があったので、ちょっと拾い読みしてみた。
ttp://wiki.osdev.info/?JP-OS

閉鎖されているのも多いし、今でも活動しているのは、数えるくらいなんだね。
OS作りって「四角い車輪の再発明」って気がした。

ガソリン自動車 → 電気自動車 くらいの変革がないと、
受け入れてもらえないのかな。


387 :607:2012/03/06(火) 00:03:00.46
なぜIT系の板は過疎っているのが多いんだろう。素朴な疑問。

388 :Be名無しさん:2013/01/18(金) 18:23:01.50
もうにちゃんが事実上終わったから
ツイタやフェイスブックやブログがあるもの

そもそもまともな奴が残ってないから時間掛けて相手するだけ無駄
他のソースに逝ったほうがいい

389 :Be名無しさん:2013/01/19(土) 04:42:23.19
別にそれに類似のものは昔からあっただろ。
っていうかそもそも何故パソ通は過疎ったんだ?

390 :Be名無しさん:2013/01/19(土) 04:54:00.40
わざわざ情報量払わなくても無料で楽しめるサイトがインターネット状に溢れてたから。

391 :Be名無しさん:2013/01/19(土) 06:28:46.15
無料の草の根ホストなんていくらでもあったじゃないか。
単回線BBSもインターネットに対応したOSを使えばマルチタスクサービスができたんじゃないか?

有料サービスだって、今のモバゲーみたいなものは可能だった筈。

392 :Be名無しさん:2013/02/06(水) 17:18:04.12
何か無料で使えて実装が簡単なファイルシステムあるかな
単純に512バイトごとに読み書きしたほうがいいかな

393 :Be名無しさん:2013/02/07(木) 00:54:22.30
FUSEとかって難しいの?
他にはFATならスタンドアロンのCライブラリがあるよね。

394 :Be名無しさん:2013/04/28(日) 07:36:04.56
今から始めるなら4096バイトずつ読み書きするosを作るべきだな
誰かxp互換のosぐらい作ってると思ったがまだ無いようだ

ネットで手に入らないものも多いね

395 :Be名無しさん:2013/06/27(木) 00:12:08.57
今ならサンダーボルトさえサポートすれば、どんなデバイスでもイケイケなOSができないだろうか?

396 :Be名無しさん:2013/07/07(日) NY:AN:NY.AN
ローダ作るのが怠い

397 :Be名無しさん:2013/09/22(日) 10:51:10.85
元ゲーム屋で一人で作りました
よかったらご支援くださいませ
http://www.gionel.com/

398 :Be名無しさん:2014/02/16(日) 00:29:50.25
復活を願いあげ

399 :Be名無しさん:2014/02/16(日) 06:37:25.12
っていうか、国内プロジェクトを網羅できるまでは和製スレって必要だと思うよ。
作ろうスレと違って別に開発中じゃなければ無意味だという訳でもないんだし。

400 :Be名無しさん:2014/02/16(日) 08:20:33.55
立てても即落ちしそうじゃない?

401 :Be名無しさん:2014/02/16(日) 10:17:59.86
消えてったプロジェクトX達を一つづつ紹介していくだけでも結構埋まらんかな?

402 :Be名無しさん:2014/02/16(日) 13:33:08.22
一応立てた
落ちたらそれまでという事で

【アマチュア】和製OS総合 2【マイナー】
http://kohada.2ch.net/test/read.cgi/os/1392525053/

403 :Be名無しさん:2014/02/16(日) 14:22:46.03
>>402
おまい要らんことしかしない、箱ものつくりの役人みたいだな

404 :Be名無しさん:2014/02/17(月) 20:21:14.52
大抵の人間は要らんことしかしないものさ

405 :Be名無しさん:2014/03/26(水) 12:26:45.47
Microsoft MS-DOS early source code
ttp://www.computerhistory.org/_static/atchm/microsoft-ms-dos-early-source-code/
Download Microsoft DOS V1.1 and V2.0 Source Code

反面教材になる…かどうかw

406 :Be名無しさん:2014/03/27(木) 11:47:09.99
は?
MS-DOSぐらい逆汗すりゃ解析できるわい。
ていうか、ろくにわかりもせずMSをバカにしてるだろ、反面教師とか。

コメントとかサブルーチンの名前とかそういったものを味わう、
ぐらいの意味しかないよ。

407 :Be名無しさん:2014/03/27(木) 14:08:26.64
ちょっと言ってる意味が分からないですね。老害乙かなw

408 :Be名無しさん:2014/03/27(木) 14:10:16.64
分からないほうが頭が悪いだけだね。

409 :Be名無しさん:2014/03/27(木) 15:25:11.53
ワロタ
何がおかしいのかも分からないおバカさんなのかな
それとも老害言われてイラっときたんか

410 :Be名無しさん:2014/03/27(木) 15:51:29.95
> 何がおかしいのかも分からないおバカさんなのかな

自己紹介乙

411 :Be名無しさん:2014/06/27(金) 23:10:38.92
BIOSだとMBRが0x7C00にロードされて、そこから世界が始まるけど、UEFIだとそう言うのはどうなってるの?
ってのはどこを見たらいいか分かり易い資料かサイト教えろください

412 :Be名無しさん:2014/06/28(土) 00:19:19.74
これかなぁ...
ttp://d.hatena.ne.jp/syuu1228/searchdiary?word=*[UEFI]

413 :411:2014/06/28(土) 01:54:19.01
>>412 早速thanks
あとはEDKだかgnu-efiとかたどればブートローダ作れそうですわ

108 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)