[過去ログ]
FreeBSDを語れ Part49 (1002レス)
FreeBSDを語れ Part49 http://mevius.5ch.net/test/read.cgi/unix/1567770470/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
147: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 05:13:55.38 童貞です http://mevius.5ch.net/test/read.cgi/unix/1567770470/147
148: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 06:22:47.86 www http://mevius.5ch.net/test/read.cgi/unix/1567770470/148
149: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 10:12:55.40 >>133 レジスタ退避と復帰は専用の命令が有るけど、CPUは実際には見えてる以上にレジスタを持ってるから毎回律儀にメモリに退避とかしてないよ http://mevius.5ch.net/test/read.cgi/unix/1567770470/149
150: 名無しさん@お腹いっぱい。 [] 2019/09/14(土) 10:53:54.50 https://mao.5ch.net/test/read.cgi/linux/1560665525/ 286 俺はもうWindowsでVirtualBoxは諦めてるんだが、 FreeBSDとかSolarisとかどうしてもVirtualBoxでしか動かせなくて 必要なときはMacを使ってる。 FreeBSDとかSolarisがHyperVでも動かせるなら良いんだけど どうもうまく行かない。 http://mevius.5ch.net/test/read.cgi/unix/1567770470/150
151: 名無しさん@お腹いっぱい。 [] 2019/09/14(土) 11:01:09.06 >>145 delete [] hoge; のときですね 良く [] 付け忘れるので防止策教えてくだされ http://mevius.5ch.net/test/read.cgi/unix/1567770470/151
152: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 13:04:16.01 >>133は、アセンブラでコード書いてると自然にそうなるってこと。 ルーチン内ではできるだけ汎用レジスタを使って処理したほうが早くなるから、最初にメモリから必要なデータを持ってきた後は 極力レジスタだけで処理するように書く。後からその処理の途中に別の処理を入れることになって、別の関数を挟んだとすると レジスタの値を変えてはいけないから、その関数に入ったところで全レジスタを待避し、関数の終わりで戻さないといけなくなる。 Cで同じことをしてアセンブラに展開したコードを見ると、変数の値はメモリに置いておき、必要になったらレジスタにロードして 計算したら結果をまたメモリに戻すという処理をしている。後から途中に関数が追加されても、その関数はメモリから値を 持ってきて処理するからレジスタを退避する必要はない。関数に渡すパラメータなどもスタックに入れて渡すから 同じくレジスタを退避しなくて良い。 しかしこのやり方ではメモリとレジスタ間のセーブ/ロードが頻繁に起こるので、アセンブラのソースで見るといかにも効率が悪くて 遅いとわかる。当たり前だがメモリ - レジスタ間のセーブ/ロードはレジスタ内だけの演算よりずっと遅い。 そうするくらいなら、必要なときだけレジスタを退避・復帰させた方がまし。さらに、これがforなどのループ内で使われた場合、 この遅さがプログラム全体の遅さになる。Cコンパイラのコード生成は、アセンブラから見れば遅くて無駄だらけに見える。 その分、ソースが見やすいから便利なんだけれども。 http://mevius.5ch.net/test/read.cgi/unix/1567770470/152
153: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 13:06:51.37 >>151 今から作るならnew/deleteなんてやめてvectorとかにしなよ deleteの[ ]付け忘れるような人は例外時の解放忘れとかもしそうだし http://mevius.5ch.net/test/read.cgi/unix/1567770470/153
154: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 13:08:22.67 >>152 頼むから今時のまともなコンパイラ使ってから語ってくれ… http://mevius.5ch.net/test/read.cgi/unix/1567770470/154
155: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 13:14:43.19 問題はコンパイラじゃなくて変態的な処理になってしまったx86系CPUのコード処理の方だと思われ もはやアセンブラ最適化とか狂気の沙汰と聞いた あー、スモールでコード書いてた頃が懐かしい http://mevius.5ch.net/test/read.cgi/unix/1567770470/155
156: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 13:40:31.42 >>151 valgrindを使えば実行時にエラーを検出して実行終了時にエラーを出力してくれる つうかCやC++でコーディングする場合はvalgrindは必須だな 実行する環境によっては使えないかもしれんけど、他には静的解析ツールを使うという手もある 例えばcppcheckとか使うと実行する前に間違いを指摘してくれる http://mevius.5ch.net/test/read.cgi/unix/1567770470/156
157: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 13:48:29.18 FreeBSDを12.0にアップグレードしたらvalgrindがメモリ関係のエラーを検出しなくなった(泣) その上システムコールに対するサポートも不完全みたいで、エラーが出るし だれかfreebsd-portsのvalgrindを更新プリーズ… http://mevius.5ch.net/test/read.cgi/unix/1567770470/157
158: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 13:51:29.39 和訳せよ Send FreeBSD to the great bitbucket in the sky. http://mevius.5ch.net/test/read.cgi/unix/1567770470/158
159: 名無しさん@お腹いっぱい。 [] 2019/09/14(土) 13:57:51.90 to be to be ten made to be http://mevius.5ch.net/test/read.cgi/unix/1567770470/159
160: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 13:59:22.86 >>158 FreeBSDを空の素晴らしいbitbucketに送ってください。 >>159 十歳になる http://mevius.5ch.net/test/read.cgi/unix/1567770470/160
161: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 18:38:11.21 >>152 今北産業 http://mevius.5ch.net/test/read.cgi/unix/1567770470/161
162: 名無しさん@お腹いっぱい。 [sage] 2019/09/14(土) 19:30:15.30 これでも読んだほうがいいんじゃね? ttps://gihyo.jp/book/2019/978-4-297-10847-2 http://mevius.5ch.net/test/read.cgi/unix/1567770470/162
163: 名無しさん@お腹いっぱい。 [] 2019/09/15(日) 08:08:41.06 86系にうんざりして68系に目覚めた遠いあの日の思い出 http://mevius.5ch.net/test/read.cgi/unix/1567770470/163
164: 名無しさん@お腹いっぱい。 [sage] 2019/09/15(日) 08:39:49.45 >>163 セグメント内64kB、相対ジャンプが8bit… うんざりって言うより殺意を覚えたあの頃 http://mevius.5ch.net/test/read.cgi/unix/1567770470/164
165: 名無しさん@お腹いっぱい。 [] 2019/09/15(日) 10:21:18.16 些細なことは気にすんな プロテクトモード遷移でいちいち再起動の方が糞 http://mevius.5ch.net/test/read.cgi/unix/1567770470/165
166: 名無しさん@お腹いっぱい。 [sage] 2019/09/15(日) 12:29:04.28 OS/2はプロテクトモード→リアルモード遷移を再起動することなく実現したけどな http://mevius.5ch.net/test/read.cgi/unix/1567770470/166
167: 名無しさん@お腹いっぱい。 [sage] 2019/09/15(日) 12:35:29.17 前スレ617 621で タイトルバーの向きをひねって窓の左縁に付けたがってた者ですが 紹介してくれたsawfish, awesome, flwm, wmx, xmonadそれぞれ堪能しました 感謝を込めてlightdmディスプレイマネージャのメニューに仕込んでスクショ奉納 https://imgur.com/vqmxm21.png http://mevius.5ch.net/test/read.cgi/unix/1567770470/167
168: 名無しさん@お腹いっぱい。 [sage] 2019/09/15(日) 12:56:53.58 >>166 再起動してるだろ http://mevius.5ch.net/test/read.cgi/unix/1567770470/168
169: 名無しさん@お腹いっぱい。 [sage] 2019/09/15(日) 13:02:16.63 昔のWin3.0(3.1とかじゃないぞ)もきっちりプロテクテッドモードからリアルモードに正常に遷移してDOSに戻れてた 戻った時の事を考えて下位メモリ残しておくかとか、コードの増加とか実行時のメモリの無駄とかに目をつむって 正常終了のシーケンスを考えた設計にするかとか次第だろうて http://mevius.5ch.net/test/read.cgi/unix/1567770470/169
170: 名無しさん@お腹いっぱい。 [sage] 2019/09/15(日) 13:27:49.62 >>167 必要ないかも知れませんがlightdmの背景変えられますよ http://mevius.5ch.net/test/read.cgi/unix/1567770470/170
171: 名無しさん@お腹いっぱい。 [sage] 2019/09/15(日) 14:18:57.98 つーかプロテクテッドモードからリアルモードへの遷移は有名な話やろ? 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つしか立ち上げることができない。それは、実際にリアルモードに移行しているためである。 http://mevius.5ch.net/test/read.cgi/unix/1567770470/171
172: 名無しさん@お腹いっぱい。 [] 2019/09/15(日) 14:19:35.47 節子それ左ちゃう右や http://mevius.5ch.net/test/read.cgi/unix/1567770470/172
173: 名無しさん@お腹いっぱい。 [sage] 2019/09/15(日) 15:02:59.61 最初のプロテクテッドモード(286)はリアルモードへの遷移ってCPUが非対応だったのか知らなかったw てか殆ど使われなかった286プロテクテッドモードの方の話なら286って付けろよと http://mevius.5ch.net/test/read.cgi/unix/1567770470/173
174: 名無しさん@お腹いっぱい。 [] 2019/09/15(日) 15:08:07.73 64kとか言ってる時点でお察し http://mevius.5ch.net/test/read.cgi/unix/1567770470/174
175: 名無しさん@お腹いっぱい。 [sage] 2019/09/15(日) 15:14:45.64 相対ジャンプが8bitってw x86使ったことないだろw http://mevius.5ch.net/test/read.cgi/unix/1567770470/175
176: 名無しさん@お腹いっぱい。 [sage] 2019/09/15(日) 15:37:04.73 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 http://mevius.5ch.net/test/read.cgi/unix/1567770470/176
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 826 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s