1 名前:デーモン君 [2019/09/06(金) 20:47:50.69 .net] The FreeBSD Project https://www.freebsd.org/ja/ 前スレ FreeBSDを語れ Part47 https://mevius.2ch.net/test/read.cgi/unix/1507827321/ FreeBSDを語れ Part47 (再利用のため実質Part48) https://mevius.2ch.net/test/read.cgi/unix/1508085628/ 関連スレ 初心者もOK! FreeBSD質問スレッド その123 https://mevius.2ch.net/test/read.cgi/unix/1522192115/
81 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 14:14:24.05 .net] 民間の開発ならどこもやってるよ。そもそもやらないと納品できないだろう。
82 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 14:16:10.79 .net] 失礼w >>76 src/* これは削除W LFSというLinuxの配布があるが、それでインストールされるOSの起動に必要なもの以外全部だ。
83 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 14:27:12.15 .net] 一方Theoはstrlcpyの使用を義務づけた (GNU的には批判有り)
84 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 14:34:03.89 .net] GNUのやつらはstrlcpyが嫌いだろうねw 共産主義が宗教を嫌う宗教と同じものってことに似てるんだw
85 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 14:49:49.26 .net] >>79 お前の脳みそが ports を理解できないだけだろが このノータリンw
86 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 14:52:44.84 .net] >>84 おいらが煩雑だと感じるものを一般ユーザが使える分けないんだよ
87 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 15:22:45.84 .net] >>85 portsが煩わしいなら/usr/portsを削除するか、インストール時にportsを選択しなければいい。 FreeBSDにはバイナリパッケージの配布もあるし、貴殿の様な達人なら野良ビルドでも十分実用的な環境を構築できるだろう。 但し一つだけ声を大にしても絶対通らないことがある。それは個人の独断で不特定多数のports使用権を奪う事。 一個人のエゴでユーザーの選択の余地を無くしてしまう事にはあまり賛成出来ない。 どうしても実現したいのであれば、貴殿がプロジェクトの重鎮になるか、フォークして独自OSを作るしかない。
88 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 15:33:35.38 .net] なるほどこれは危険だ。セキュリティ重視のLinuxで実装に反対されるのもうなずける https://ja.wikipedia.org/wiki/Strlcpy strlcpyが危険な例: char cmd[] = "rm *.bak"; char buf[5]; strlcpy(buf, cmd, sizeof(buf)); system(buf); (sizeof(buf) が5であるため、最初の5-1=4文字しかコピーされず、"rm *" が実行されることになります)
89 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 15:34:41.83 .net] >>85 貴殿程の知識と情熱を持ってすれば難しいことではないはず
90 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 15:44:44.02 .net] そうしてこのまま何も変えずに だらだら長くやってたものだけが慣れてるというだけで使うものになっちまうんだよな。 ま、どうでもいいけど。
91 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 16:06:55.49 .net] >>89 いくら素晴らしい知識や技術、理念を持っていても民意を得られなければ絵に書いた餅、宝の持ち腐れである
92 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 17:32:00.01 .net] >>90 賛同してくれたか。 もう腐ったんだよ、BSDは。
93 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 17:37:21.97 .net] >>80 FreeBSDの話をしています。 金もらって奴隷のように働かなきゃならない受託開発のやり方なんかどうでもいいんですよ。
94 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 18:07:23.80 .net] なら金をもらえないやり方でどうぞ
95 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 18:10:36.20 .net] 金は後からついて来る、か。 美しいな。
96 名前:名無しさん@お腹いっぱい。 [2019/09/12(木) 18:11:24.86 .net] 別れはいつもついてくる 幸せの後ろをついてくる
97 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 18:53:37.04 .net] Cの文字列処理ライブラリは何とかした方が良いよな… 少なくとも struct String { size_t length; char *string; }; を引数に持つ文字列処理ライブラリを標準に含めるべき そうすれば不幸な事故はかなり防げるはず
98 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 19:10:25.27 .net] >>96 シェルスクリプトあるいはスクリプト言語があるだろ 何でもかんでもCを始めとしたネイティブコードで処理しなきゃならないっていう脅迫概念を捨てろ
99 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 20:44:24.93 .net] >>97 組み込みとかCを使うことなんて山ほどあるだろ Cは人気言語第3位だぞ
100 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 20:53:03.34 .net] >>96 そこは適材適所で、面倒だと思えば別の言語使えばいいだろ 標準型に文字列があったり、標準ライブラリで文字列操作が充実してるやつ
101 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 21:08:09.78 .net] >>98 このスレはFreeBSDを騙れ?だろ 誰かコイツをつまみ出せ!
102 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 21:08:29.17 .net] >>80 数千万項目とかどんだけでかいシステムなんだよw
103 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 21:28:23.82 .net] 蜂の巣で草
104 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 21:41:45.41 .net] >>87 そんなコードを書くやつなら消えたほうが良いだろw
105 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 22:46:06.55 .net] >>96 Golangを使うんや
106 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 23:01:20.45 .net] 日本語メーリングリストもこのくらい活発になればいいのにねw
107 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 23:13:54.07 .net] FreeBSDスレなのにCを毛嫌いしてる奴が多くてワロタw そんなにC使いたくないならWindowsでも使ってろ
108 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/12(木) 23:57:04.30 .net] >>95 JASRACの方からきました
109 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 00:05:22.74 .net] Goよいよね
110 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 00:15:07.90 .net] >>95 それが私のSATAなのか いつも目覚めればboot -s
111 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 00:23:22.68 .net] >>96 Pascalのstring型が内部的にそうなってたと思う。
112 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 00:38:23.48 .net] FreeBSDな人たちはstd::stringとか使わないの?
113 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 00:52:50.79 .net] >>110 昔の言語はC以外はlengthを持つのが主流だったと思う Fortranもそうだし
114 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 00:53:55.14 .net] crystal使いはいないの? 俺も使ってない
115 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 03:46:38.01 .net] >>111 使うよ(^o^)
116 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 04:08:39.23 .net] >>106 そんなLinusさんみたいな事云わんでも(笑)
117 名前:名無しさん@お腹いっぱい。 [2019/09/13(金) 04:47:59.22 .net] perl で何でもかんでもやってまーす
118 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 08:44:45.65 .net] ファミリーベーシックで何でもかんでもやってまーす
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 10:06:11.87 .net] COBOLはまだまだイケるぞ 経産省が棄てたんだからw
120 名前:名無しさん@お腹いっぱい。 [2019/09/13(金) 11:27:02.29 .net] >>96 mallocしたポインタのオフセット[-1]あたりにsizeがある実装が多いから それをもっと早く規格化すればよかったと思う
121 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 11:51:49.70 .net] >>119 で型を間違えて大惨事と NULLは0だ、intは4バイトだという老害が多いんですよまだまだ
122 名前:名無しさん@お腹いっぱい。 [2019/09/13(金) 12:05:51.57 .net] mallocで管理されるsizeはバイト単位やろ wchar_t が 32bit とか言う話か?
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 12:23:28.78 .net] >>119 実装を規定するとか最悪やん やるなら確保した領域サイズを取得する関数を規定すべき
124 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 12:29:36.21 .net] >>101 碌にテストなんてやったことないというのがバレバレだなw
125 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 12:35:23.45 .net] 無駄なチェックを端折れて高速な処理を書けるからC使ってるのに、 遅い堅牢ならライブラリをC、C++に用意しろと言うような低レベルPGなら元からC、C++使うなってことだな。
126 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 13:48:35.80 .net] 今現在堅牢な高級言語は生き残ってるか?
127 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 14:06:11.98 .net] 堅牢な高級言語しか生き残ってないだろw アドレスを直接扱える危険な言語って たくさんの言語のなかどの程度あると思う?
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 14:10:10.06 .net] >>123 へー、すごいねー で、お前ん所のテスト密度っていくらぐらいなんだ?w
129 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 14:20:06.52 .net] >>126 Cは元々アセンブラの代替として作ったものだからポインタが扱えて当たり前ですよ。 C = 高級アセンブラだから。それが嫌な人はFortranでも使っとけということで。
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 14:28:27.29 .net] >>124 ならCじゃなくてアセンブラ使ってろよ
131 名前:名無しさん@お腹いっぱい。 [2019/09/13(金) 17:39:53.55 .net] >>124 ほんそれ 関数入るたびに境界チェックするコードとか入れてたらCの有難味がないな
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 19:10:51.35 .net] OpenBSDのportsに入ってたパッチw --- texk/dvipsk/writet1.c.orig +++ texk/dvipsk/writet1.c @@ -1449,7 +1449,9 @@ static void t1_check_unusual_charstring(void) *(strend(t1_buf_array) - 1) = ' '; t1_getline(); + alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); strcat(t1_buf_array, t1_line_array); + alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); strcpy(t1_line_array, t1_buf_array); t1_line_ptr = eol(t1_line_array); }
133 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 19:11:33.33 .net] >>131 ごめんなさい。 全然違うサイトに誤爆です。
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 19:57:49.49 .net] >>130 Cなら if ( checkfunc( func ) ) ... と1行で書けるから大したことなさそうに見えるけど、これをアセンブラで書くと、 汎用レジスタ全部退避して、戻りアドレス設定して、新しいスタックポインタ設定して、 チェック処理を実行して、戻る直前に汎用レジスタ全部戻してリターンするので、 毎回こんだけの処理させてわざわざ遅くするのが嫌になるんだよね。 全レジスタの退避と復帰を毎回実行させるのってほんとに無駄に感じる。 本当は、破壊されてもいいレジスタは関数ごとに異なるはずなので、破壊されて困るレジスタだけ退避 するようにすれば最適化されていいんだけど、そうするとどこかを書き換えたとき、元に戻さないといけない レジスタができて、それの退避を忘れただけで吹っ飛ぶ。
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 20:16:21.30 .net] >>133 三行にまとめてくんないと、1ミリも理解できないんだけど
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 20:29:34.91 .net] 素敵なコンパイラなら4行くらいにまとめてくれないかな....
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 21:01:24.16 .net] >>134 理解しなくていいよ。 x86系の知識だけで、とりあえず知ってるワードでマウント取ろうとしてるだけだから。
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 21:21:08.17 .net] 確かMS-C6.0の頃か?(うろ覚え)破壊しないレジスタは退避しなかった筈だが?w 十数年前からメジャーどこのコンパイラは短い関数なら勝手にインライン展開するのが殆どだし いつの時代の話をしてるんだかさっぱり
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 21:24:57.47 .net] 流し読みで読み飛ばしちまったけんども アセンブラでプロシージャ書いたとこでコーダーがスタックポインタを設定する事なんて先ずありえんwww
140 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 21:28:15.19 .net] >>137 俺も最初そう思って ??? 状態だったけど、よく読んだらアセンブラで書いた時の話みたい アセンブラで書く時に全レジスタ保存なんてよほど間抜けでないと普通しないけどな
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 22:25:06.94 .net] 知的障害者きてんね
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 22:35:27.85 .net] 支離滅裂さからは糖質の臭いがする
143 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 22:52:56.29 .net] >>136 俺は一桁ロリに mount -f したい
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/13(金) 22:57:17.03 .net] さすがに一桁はないわ
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 00:36:34.21 .net] >>119 それはC++の場合だな Cではそんなことする処理系が無い
146 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 00:41:44.98 .net] ちなみにC++では配列の各要素に対してデストラクタを呼ばなくちゃいけない都合上サイズが格納されている
147 名前:名無しさん@お腹いっぱい。 [2019/09/14(土) 05:03:45.80 .net] >>142 おまわりさんこの人
148 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 05:13:55.38 .net] 童貞です
149 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 06:22:47.86 .net] www
150 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 10:12:55.40 .net] >>133 レジスタ退避と復帰は専用の命令が有るけど、CPUは実際には見えてる以上にレジスタを持ってるから毎回律儀にメモリに退避とかしてないよ
151 名前:名無しさん@お腹いっぱい。 [2019/09/14(土) 10:53:54.50 .net] https://mao.5ch.net/test/read.cgi/linux/1560665525/ 286 俺はもうWindowsでVirtualBoxは諦めてるんだが、 FreeBSDとかSolarisとかどうしてもVirtualBoxでしか動かせなくて 必要なときはMacを使ってる。 FreeBSDとかSolarisがHyperVでも動かせるなら良いんだけど どうもうまく行かない。
152 名前:名無しさん@お腹いっぱい。 [2019/09/14(土) 11:01:09.06 .net] >>145 delete [] hoge; のときですね 良く [] 付け忘れるので防止策教えてくだされ
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 13:04:16.01 .net] >>133 は、アセンブラでコード書いてると自然にそうなるってこと。 ルーチン内ではできるだけ汎用レジスタを使って処理したほうが早くなるから、最初にメモリから必要なデータを持ってきた後は 極力レジスタだけで処理するように書く。後からその処理の途中に別の処理を入れることになって、別の関数を挟んだとすると レジスタの値を変えてはいけないから、その関数に入ったところで全レジスタを待避し、関数の終わりで戻さないといけなくなる。 Cで同じことをしてアセンブラに展開したコードを見ると、変数の値はメモリに置いておき、必要になったらレジスタにロードして 計算したら結果をまたメモリに戻すという処理をしている。後から途中に関数が追加されても、その関数はメモリから値を 持ってきて処理するからレジスタを退避する必要はない。関数に渡すパラメータなどもスタックに入れて渡すから 同じくレジスタを退避しなくて良い。 しかしこのやり方ではメモリとレジスタ間のセーブ/ロードが頻繁に起こるので、アセンブラのソースで見るといかにも効率が悪くて 遅いとわかる。当たり前だがメモリ
154 名前: - レジスタ間のセーブ/ロードはレジスタ内だけの演算よりずっと遅い。 そうするくらいなら、必要なときだけレジスタを退避・復帰させた方がまし。さらに、これがforなどのループ内で使われた場合、 この遅さがプログラム全体の遅さになる。Cコンパイラのコード生成は、アセンブラから見れば遅くて無駄だらけに見える。 その分、ソースが見やすいから便利なんだけれども。 [] [ここ壊れてます]
155 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 13:06:51.37 .net] >>151 今から作るならnew/deleteなんてやめてvectorとかにしなよ deleteの[ ]付け忘れるような人は例外時の解放忘れとかもしそうだし
156 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 13:08:22.67 .net] >>152 頼むから今時のまともなコンパイラ使ってから語ってくれ…
157 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 13:14:43.19 .net] 問題はコンパイラじゃなくて変態的な処理になってしまったx86系CPUのコード処理の方だと思われ もはやアセンブラ最適化とか狂気の沙汰と聞いた あー、スモールでコード書いてた頃が懐かしい
158 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 13:40:31.42 .net] >>151 valgrindを使えば実行時にエラーを検出して実行終了時にエラーを出力してくれる つうかCやC++でコーディングする場合はvalgrindは必須だな 実行する環境によっては使えないかもしれんけど、他には静的解析ツールを使うという手もある 例えばcppcheckとか使うと実行する前に間違いを指摘してくれる
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 13:48:29.18 .net] FreeBSDを12.0にアップグレードしたらvalgrindがメモリ関係のエラーを検出しなくなった(泣) その上システムコールに対するサポートも不完全みたいで、エラーが出るし だれかfreebsd-portsのvalgrindを更新プリーズ…
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 13:51:29.39 .net] 和訳せよ Send FreeBSD to the great bitbucket in the sky.
161 名前:名無しさん@お腹いっぱい。 [2019/09/14(土) 13:57:51.90 .net] to be to be ten made to be
162 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 13:59:22.86 .net] >>158 FreeBSDを空の素晴らしいbitbucketに送ってください。 >>159 十歳になる
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 18:38:11.21 .net] >>152 今北産業
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/14(土) 19:30:15.30 .net] これでも読んだほうがいいんじゃね? ttps://gihyo.jp/book/2019/978-4-297-10847-2
165 名前:名無しさん@お腹いっぱい。 [2019/09/15(日) 08:08:41.06 .net] 86系にうんざりして68系に目覚めた遠いあの日の思い出
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 08:39:49.45 .net] >>163 セグメント内64kB、相対ジャンプが8bit… うんざりって言うより殺意を覚えたあの頃
167 名前:名無しさん@お腹いっぱい。 [2019/09/15(日) 10:21:18.16 .net] 些細なことは気にすんな プロテクトモード遷移でいちいち再起動の方が糞
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 12:29:04.28 .net] OS/2はプロテクトモード→リアルモード遷移を再起動することなく実現したけどな
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 12:35:29.17 .net] 前スレ617 621で タイトルバーの向きをひねって窓の左縁に付けたがってた者ですが 紹介してくれたsawfish, awesome, flwm, wmx, xmonadそれぞれ堪能しました 感謝を込めてlightdmディスプレイマネージャのメニューに仕込んでスクショ奉納 https://imgur.com/vqmxm21.png
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 12:56:53.58 .net] >>166 再起動してるだろ
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 13:02:16.63 .net] 昔のWin3.0(3.1とかじゃないぞ)もきっちりプロテクテッドモードからリアルモードに正常に遷移してDOSに戻れてた 戻った時の事を考えて下位メモリ残しておくかとか、コードの増加とか実行時のメモリの無駄とかに目をつむって 正常終了のシーケンスを考えた設計にするかとか次第だろうて
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 13:27:49.62 .net] >>167 必要ないかも知れませんがlightdmの背景変えられますよ
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 14:18:57.98 .net] つーかプロテクテッドモードからリアルモードへの遷移は有名な話やろ? Microsoftの凄さに震えるわw https://builder.japan.zdnet.com/os-admin/sp_history-of-windows-2009/20392994/2/ 1. まずCPUの制限でプロテクテッドモードからリアルモードへは切り替えられない(Windowsの制限ではない) > Windows 2.0と80286 > その後、特定の命令を実行することで仮想記憶が利用可能なモード >(メモリ保護機能がついているため「プロテクトモード」と呼ばれる)に移行できるのだが、 >プロテクトモードからリアルモードに戻る方法は存在しなかった。 2. それをMicrosoftはとんでもない発想で実現してしまった > もし、リアルモードに戻れなければ、Windows 2.0が起動したあとはMS-DOSコマンドが実行できなくなってしまうだろう。 > > Microsoftは実に巧妙な方法でこの問題を解決した。 > > リアルモードに移行したい場合はCPUをリセットするのである。もちろん単にリセットしたのでは > Windowsは強制終了され、BIOSの初期化ルーチンが動いてしまう。 > > そこでWindowsはリセット時に実行するプログラムの実行番地をあらかじめ書き換えておく。 > そして必要なデータを退避させた上でリアルモードに移行するようにした。Windowsに戻るときはプロテクトモードに移行すればよい。 > > Windows 2.0の「DOS窓」は1つしか立ち上げることができない。それは、実際にリアルモードに移行しているためである。
174 名前:名無しさん@お腹いっぱい。 [2019/09/15(日) 14:19:35.47 .net] 節子それ左ちゃう右や
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 15:02:59.61 .net] 最初のプロテクテッドモード(286)はリアルモードへの遷移ってCPUが非対応だったのか知らなかったw てか殆ど使われなかった286プロテクテッドモードの方の話なら286って付けろよと
176 名前:名無しさん@お腹いっぱい。 [2019/09/15(日) 15:08:07.73 .net] 64kとか言ってる時点でお察し
177 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 15:14:45.64 .net] 相対ジャンプが8bitってw x86使ったことないだろw
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 15:37:04.73 .net] Windows 3.0は 8086/8088 (80286を含む)以上に対応してるからな https://en.wikipedia.org/wiki/Windows_3.0 The official system requirements for Windows 3.0: 8086/8088 processor or better 384 KB of free conventional memory (real mode), 1 MB (Standard Mode), or 2 MB (Enhanced Mode)[9] Hard disk with 6-7 MB of free space CGA, EGA, MCGA, VGA, Hercules, 8514/A or XGA graphics and an appropriate and compatible monitor MS-DOS version 3.1 or higher[1] Memory modes Windows 3.0 was the only version of Windows that could be run in three different memory modes: Real mode, intended for older computers with a CPU below Intel 80286, and corresponding to its real mode; Standard mode, intended for computers with an 80286 processor, and corresponding to its protected mode; 386 Enhanced mode, intended for newer computers with an Intel 80386 processor or above, and corresponding to its protected mode and virtual 8086 mod
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 15:38:02.37 .net] なんかコピペしたから、プロテクテッドモードになってるなw プロテクトモードな
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2019/09/15(日) 16:58:24.68 .net] Win3.1とかがメジャーになる前は普通に書籍でもプロテクテッドモードって書いてあったでよ いつの間にかプロテクトモードとか呼ばれる様になっただけ どっちも
181 名前:間違えじゃないだろうけど、プロテクトモードって聞くとどうしても違和感がある(全プリキュア並感 386プロテクテッドモードのA5の技術書がくすんだ緑のカバー、286の方は藍色、厚さ大体1cm位な記憶 両方持ってたけど386の方は手垢が付きまくってダメになるまで読んだり調べものしたりしたな [] [ここ壊れてます]