FreeBSDを語れ Part49

■ このスレッドは過去ログ倉庫に格納されています
1デーモン君
垢版 |
2019/09/06(金) 20:47:50.69
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/
2019/09/13(金) 22:35:27.85
支離滅裂さからは糖質の臭いがする
2019/09/13(金) 22:52:56.29
>>136
俺は一桁ロリに mount -f したい
2019/09/13(金) 22:57:17.03
さすがに一桁はないわ
2019/09/14(土) 00:36:34.21
>>119
それはC++の場合だな
Cではそんなことする処理系が無い
2019/09/14(土) 00:41:44.98
ちなみにC++では配列の各要素に対してデストラクタを呼ばなくちゃいけない都合上サイズが格納されている
146名無しさん@お腹いっぱい。
垢版 |
2019/09/14(土) 05:03:45.80
>>142
おまわりさんこの人
2019/09/14(土) 05:13:55.38
童貞です
2019/09/14(土) 06:22:47.86
www
2019/09/14(土) 10:12:55.40
>>133
レジスタ退避と復帰は専用の命令が有るけど、CPUは実際には見えてる以上にレジスタを持ってるから毎回律儀にメモリに退避とかしてないよ
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でも動かせるなら良いんだけど
どうもうまく行かない。
151名無しさん@お腹いっぱい。
垢版 |
2019/09/14(土) 11:01:09.06
>>145
delete [] hoge;
のときですね
良く [] 付け忘れるので防止策教えてくだされ
2019/09/14(土) 13:04:16.01
>>133は、アセンブラでコード書いてると自然にそうなるってこと。
ルーチン内ではできるだけ汎用レジスタを使って処理したほうが早くなるから、最初にメモリから必要なデータを持ってきた後は
極力レジスタだけで処理するように書く。後からその処理の途中に別の処理を入れることになって、別の関数を挟んだとすると
レジスタの値を変えてはいけないから、その関数に入ったところで全レジスタを待避し、関数の終わりで戻さないといけなくなる。

Cで同じことをしてアセンブラに展開したコードを見ると、変数の値はメモリに置いておき、必要になったらレジスタにロードして
計算したら結果をまたメモリに戻すという処理をしている。後から途中に関数が追加されても、その関数はメモリから値を
持ってきて処理するからレジスタを退避する必要はない。関数に渡すパラメータなどもスタックに入れて渡すから
同じくレジスタを退避しなくて良い。

しかしこのやり方ではメモリとレジスタ間のセーブ/ロードが頻繁に起こるので、アセンブラのソースで見るといかにも効率が悪くて
遅いとわかる。当たり前だがメモリ - レジスタ間のセーブ/ロードはレジスタ内だけの演算よりずっと遅い。
そうするくらいなら、必要なときだけレジスタを退避・復帰させた方がまし。さらに、これがforなどのループ内で使われた場合、
この遅さがプログラム全体の遅さになる。Cコンパイラのコード生成は、アセンブラから見れば遅くて無駄だらけに見える。
その分、ソースが見やすいから便利なんだけれども。
2019/09/14(土) 13:06:51.37
>>151
今から作るならnew/deleteなんてやめてvectorとかにしなよ
deleteの[ ]付け忘れるような人は例外時の解放忘れとかもしそうだし
2019/09/14(土) 13:08:22.67
>>152
頼むから今時のまともなコンパイラ使ってから語ってくれ…
2019/09/14(土) 13:14:43.19
問題はコンパイラじゃなくて変態的な処理になってしまったx86系CPUのコード処理の方だと思われ
もはやアセンブラ最適化とか狂気の沙汰と聞いた

あー、スモールでコード書いてた頃が懐かしい
2019/09/14(土) 13:40:31.42
>>151
valgrindを使えば実行時にエラーを検出して実行終了時にエラーを出力してくれる
つうかCやC++でコーディングする場合はvalgrindは必須だな
実行する環境によっては使えないかもしれんけど、他には静的解析ツールを使うという手もある
例えばcppcheckとか使うと実行する前に間違いを指摘してくれる
2019/09/14(土) 13:48:29.18
FreeBSDを12.0にアップグレードしたらvalgrindがメモリ関係のエラーを検出しなくなった(泣)
その上システムコールに対するサポートも不完全みたいで、エラーが出るし
だれかfreebsd-portsのvalgrindを更新プリーズ…
2019/09/14(土) 13:51:29.39
和訳せよ

Send FreeBSD to the great bitbucket in the sky.
159名無しさん@お腹いっぱい。
垢版 |
2019/09/14(土) 13:57:51.90
to be to be ten made to be
2019/09/14(土) 13:59:22.86
>>158
FreeBSDを空の素晴らしいbitbucketに送ってください。

>>159
十歳になる
2019/09/14(土) 18:38:11.21
>>152
今北産業
2019/09/14(土) 19:30:15.30
これでも読んだほうがいいんじゃね?

ttps://gihyo.jp/book/2019/978-4-297-10847-2
163名無しさん@お腹いっぱい。
垢版 |
2019/09/15(日) 08:08:41.06
86系にうんざりして68系に目覚めた遠いあの日の思い出
2019/09/15(日) 08:39:49.45
>>163
セグメント内64kB、相対ジャンプが8bit…
うんざりって言うより殺意を覚えたあの頃
165名無しさん@お腹いっぱい。
垢版 |
2019/09/15(日) 10:21:18.16
些細なことは気にすんな
プロテクトモード遷移でいちいち再起動の方が糞
2019/09/15(日) 12:29:04.28
OS/2はプロテクトモード→リアルモード遷移を再起動することなく実現したけどな
2019/09/15(日) 12:35:29.17
前スレ617 621で
タイトルバーの向きをひねって窓の左縁に付けたがってた者ですが
紹介してくれたsawfish, awesome, flwm, wmx, xmonadそれぞれ堪能しました
感謝を込めてlightdmディスプレイマネージャのメニューに仕込んでスクショ奉納
https://imgur.com/vqmxm21.png
2019/09/15(日) 12:56:53.58
>>166
再起動してるだろ
2019/09/15(日) 13:02:16.63
昔のWin3.0(3.1とかじゃないぞ)もきっちりプロテクテッドモードからリアルモードに正常に遷移してDOSに戻れてた
戻った時の事を考えて下位メモリ残しておくかとか、コードの増加とか実行時のメモリの無駄とかに目をつむって
正常終了のシーケンスを考えた設計にするかとか次第だろうて
2019/09/15(日) 13:27:49.62
>>167
必要ないかも知れませんがlightdmの背景変えられますよ
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つしか立ち上げることができない。それは、実際にリアルモードに移行しているためである。
172名無しさん@お腹いっぱい。
垢版 |
2019/09/15(日) 14:19:35.47
節子それ左ちゃう右や
2019/09/15(日) 15:02:59.61
最初のプロテクテッドモード(286)はリアルモードへの遷移ってCPUが非対応だったのか知らなかったw
てか殆ど使われなかった286プロテクテッドモードの方の話なら286って付けろよと
174名無しさん@お腹いっぱい。
垢版 |
2019/09/15(日) 15:08:07.73
64kとか言ってる時点でお察し
2019/09/15(日) 15:14:45.64
相対ジャンプが8bitってw x86使ったことないだろw
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
2019/09/15(日) 15:38:02.37
なんかコピペしたから、プロテクテッドモードになってるなw
プロテクトモードな
2019/09/15(日) 16:58:24.68
Win3.1とかがメジャーになる前は普通に書籍でもプロテクテッドモードって書いてあったでよ
いつの間にかプロテクトモードとか呼ばれる様になっただけ
どっちも間違えじゃないだろうけど、プロテクトモードって聞くとどうしても違和感がある(全プリキュア並感

386プロテクテッドモードのA5の技術書がくすんだ緑のカバー、286の方は藍色、厚さ大体1cm位な記憶
両方持ってたけど386の方は手垢が付きまくってダメになるまで読んだり調べものしたりしたな
2019/09/15(日) 17:17:00.44
>>167
試した中でお気に入りのwmを聞いてもいい?
2019/09/15(日) 17:27:36.78
>>173
有名な話だからこの手の話でドヤりたいたらそれぐらいは知っておかないと知ったかの烙印押されてもしょうがないわな
2019/09/15(日) 17:44:33.34
初めて買ったPCがi386DXな俺はここでは若僧か。
2019/09/15(日) 17:49:08.64
ワイはMZ-700や
2019/09/15(日) 17:53:04.58
お前らジジ臭いな
俺はPentium 133MHzだ
2019/09/15(日) 17:57:38.52
>>171
CPUリセットでリアルモードへの遷移を実現したのは、
MicrosoftではなくIBMだと思ったけど、記憶違いかな
BMとMSがOS/2を共同開発していた頃なんで、どっちとも言えないのかも知れないけど
2019/09/15(日) 17:59:53.25
誤:BM
正:IBM
2019/09/15(日) 18:21:56.81
その話はよく聞くがソースはなんだっけ?
2019/09/15(日) 18:24:52.18
>>183
>お前らジジ臭いな
>俺はPentium 133MHzだ

爆速だな。 i386DXは16/20Mhzだ。もちろん20で使ってた。
1990年に買って5年間はDOSで使って、
Windowsはスルーして1995年からFreeBSDだったかな。
2019/09/15(日) 18:53:37.15
>>180
誰かと勘違いしてないか?w
2019/09/15(日) 19:03:21.52
>>184
> MicrosoftではなくIBMだと思ったけど、記憶違いかな
ハード的にリセットする仕組みが必要だからどちらかと言うとIBMだろうね
そもそも>>171
> そこでWindowsはリセット時に実行するプログラムの実行番地をあらかじめ書き換えておく。
は間違いでPC ATならリセット前にRTCのCMOS RAMにシャットダウンコードを書いておいてリセット時にそのコードがリアルモードへの復帰なら復帰用のコードを実行するようにしてるだけ
2019/09/15(日) 19:05:36.75
>>188
お前が誰かは知らんしどうでもいいw
>>173程度の中途半端な知識で語ると恥かくという忠告だし
2019/09/15(日) 19:13:32.67
マウント取りたがりの何でも知ってるさん凄いですね^^
2019/09/15(日) 19:28:59.73
おーやだ
虫唾が走る
2019/09/15(日) 19:40:53.85
悔しいのはわかったからおとなしくROMってろよ
2019/09/15(日) 19:45:36.87
俺は>>169>>173>>178しか書いてないんだが?
ただ事実を書いただけなんだが、どこでドヤってた?
2019/09/15(日) 19:48:59.35
ロリに ping 飛ばして ssh したい
2019/09/15(日) 19:51:21.17
厨二の子供から見ると自分が勝てない大人は威張っているように見えると相場は決まっている
2019/09/15(日) 20:18:20.52
ここ何のスレだよ(´・ω・`)
2019/09/15(日) 20:57:23.90
プロテクテッドて…プロテクトモードだろ
中学の英語からやり直せ
2019/09/15(日) 21:10:52.52
日本語訳:
おじちゃんたち
ぼくにもわかるおはなししてくれよ
えーんえーん
2019/09/15(日) 21:11:53.46
たしかに>>173は自分の知識が中途半端って言う「事実」が書いてあるな
まあそんな知識で>>169とかをよく書けるもんだなって思うけどな
2019/09/15(日) 21:15:49.29
>>198
インテルに言えよw
https://www.intel.com/design/intarch/papers/exc_ia.htm
2019/09/15(日) 21:17:16.01
>>199
「おじちゃん」じゃなくて「おにーさん」な?(怒)
203名無しさん@お腹いっぱい。
垢版 |
2019/09/15(日) 21:22:58.53
286だのプロテクトモードだの
そろそろ「おじいちゃん」に片足突っ込んでてもおかしく無さそうw
2019/09/15(日) 21:26:37.83
日本語訳:
ぼくだっておにいちゃんたちとなかよくしたいのに
なんでいぢめるんだよう
えーんえーん
2019/09/15(日) 21:27:11.11
>>200
当時286プロテクテッドモードなんて見向きもされてなかったんだよ
今どきプロテクトモードって言って誰が286プロテクテッドモードだと思うよ?

ちな386プロテクテッドモードから正常にリアルモードに遷移する手順が初期の本に記述されてたからな
PC-9801RA21/51が発売されて少し後に出版された緑色の本に書いてあった
(当時は日本語の386関連の本は緑色のあれしかなかった)
2019/09/15(日) 21:46:25.23
>>201
protected modeと書いて日本ではプロテクトモードと言っている
wikipediaもそうなってるいる
それをわざわざプロテクテッドと言う方がにわか
ただの知ったかぶり
2019/09/15(日) 21:48:14.66
>>206
昔はプロテクテッドモードっつってたんだよ
2019/09/15(日) 21:50:48.08
日本語訳:
えへん、どうだい
ぼくだっておにいちゃんたちみたくかしこいんだぞ
‥あ、おしっこもらしちゃった
2019/09/15(日) 21:52:38.78
>>201
wikipediaと言うと信憑性がどうこう言われそうなんで、intelの日本語サイトを貼っておく
https://www.intel.co.jp/content/www/jp/ja/support/articles/000007194/processors.html
当然CPUの事を調べていればIntelのサイトにたどり着くはずだけど、プロテクテッドなんて言ってるのはただのにわかと言うのが分かる
俺たちは分かってて敢えてプロテクトモードと言う
2019/09/15(日) 21:54:41.39
>>205
だから知らないとか興味がないなら黙ってろって話な
中途半端な知識で知ったかするから突っ込まれて玉砕するだけ
2019/09/15(日) 21:56:05.50
>>210
「知ったか」って言うんならどこが嘘なのか指摘してみろ
2019/09/15(日) 21:58:16.77
てかi80286時代にどの機体で286プロテクテッドモードのプログラミングしたのか言ってみ?
殆ど居ない筈だぞ

あの頃のハードはi80286じゃなくってあくまでx86互換のセカンドソースが多かったしな
2019/09/15(日) 22:02:12.25
286のプロテクテッドモード
で動く、unixっぽいosが有った気がするなあ。

「v30では動きません」って書いてあったのを覚えてる。
214名無しさん@お腹いっぱい。
垢版 |
2019/09/15(日) 22:03:57.79
>>212
98VX 以降なら普通に載ってなかった?
2019/09/15(日) 22:08:35.97
>>214
確か生産時期による
2019/09/15(日) 22:13:03.83
>>215は嘘ついたかも、調べたら両方乗せてるみたいな書き方してた
まぁどちらにしてもV30みたいなセカンドソースじゃ286プロテクテッドモードのコードは動かない
2019/09/15(日) 22:20:25.18
>>211
>>166(OS/2 1.x は80286だから再起動なしにリアルモードには戻れない)
>>171(リセット時に実行するアドレス云々は間違い)
あと嘘とまでは言わないけど>>169の「正常に遷移」の意味が不明確
リセットなしにと言うのであれば3.0までは80286で動いていたから明らかに間違い
リセットして戻れたと言うならまあそういうふうに作ってあるんだから当たり前でこの文脈だと情報量"0"
なんのために書いたのか意味不明
2019/09/15(日) 22:25:11.62
>>217
OS/2のバージョンも不明だろ
OS/2warpの頃にはサブシステムでWIN32そこそこ動く位の386プロテクテッドモードで動くOSだったぞ
2019/09/15(日) 22:25:35.10
>>216
V30は80186だもの286のコードは動くわけないだろ
なにわけの分からないこと言ってんだよおまえ
2019/09/15(日) 22:27:14.95
>>216
調べたらって...
実機触ったことないくせに偉そうなこと書いてんのかよw
2019/09/15(日) 22:27:36.53
>>213
xenix とか minix とかかな?
222名無しさん@お腹いっぱい。
垢版 |
2019/09/15(日) 22:27:51.03
>>216
V30はnecの独自命令とかがあったから
互換性のために盲腸的に286と排他利用する形で載せてるだけで
普通に286マシンだろ
2019/09/15(日) 22:29:33.00
>>221
minixは8088で動くとタネンバウム先生が言ってるので286なんて高級機の機能は使わない
2019/09/15(日) 22:29:42.55
>>219
だから286のプロテクテッドモードのコードを書いた事がある奴は殆ど居なくても
386のプロテクテッドモードのコードを書いた事がある奴はそれなりに居るんだよ
おまけに今どき286プロテクテッドモードで動いてるOSなんて残ってねえだろ

プロテクテッドモードっつったら386プロテクテッドモードだって思う奴は多いんじゃねえの?

>>220
実機触ってV30だって判別して遊んだりした事がある

>>222
V30はプロテクテッドモード積んでない
2019/09/15(日) 22:30:07.02
>>218
バージョン明示しないってことは全てのバージョンと取られるのが普通
だからバージョン明示しないで>>166みたいなことを書くやつはアホってこと
2019/09/15(日) 22:31:42.72
>>217
補足 3.1でもスタンダードモードは286で動いたよ
2019/09/15(日) 22:32:14.98
>>223
80286の保護機能を使用したOS MINIX/286を作成した.
http://yokota-www.cs.titech.ac.jp/ptt/arc/162/162.html
2019/09/15(日) 22:33:59.89
>>225
だから俺は>>166じゃねえよ、ただの横レスで過去の記憶から同意しただけだ
それに裏技だろうと何だろうとリアルモードのメモリ空間保持したまんまCPUだけ半リセットできるんだろ?


で、今頃謎が解けたかも知れない、昔の98ってクロック切り替えスイッチでCPUが丸ごと変わるのか
一番早いクロックしか眼中になかったから気付かんかった(当時学生)
2019/09/15(日) 22:37:49.26
>>218
OS/2を語るときに386の話を出す馬鹿はいないだろ...
ワープなんて世俗的になったIBMが出した奴ベースで話してどうすんだよ
2019/09/15(日) 22:39:35.40
>>228
お前が誰かなんて知らんしどうでもいい
まあ半リセットとか言う意味不明なことを言うような知ったかであることは理解したよw
2019/09/15(日) 22:40:43.61
>>226
そうかもな
で、それがどうかしたのか?
2019/09/15(日) 22:45:30.08
>>209
当時を知ってるやつは当然英語サイトで見てるからプロテクトモードとか言ってるやつのほうがどう見てもにわかだろ
まあProtected Modeって言ってる奴は俺を含めて当時の記憶が抜けない老害とも言えるけどw
2019/09/15(日) 22:50:11.36
>>229
それ以前のOS/2使った事がある奴なんてどんだけ居るよ?

>>230
条件付きで説明を垂れ流しつつコールドリセット/ウォームリセットって言えばいいのか?
てか他人なのにいきなり別の奴と決めつけて煽ってきておきながら「誰かなんてどうでもいい」とか
殴り返されて当たり前だろう
234名無しさん@お腹いっぱい。
垢版 |
2019/09/15(日) 22:50:36.30
> で、今頃謎が解けたかも知れない、昔の98ってクロック切り替えスイッチでCPUが丸ごと変わるのか
> 一番早いクロックしか眼中になかったから気付かんかった(当時学生)

こんなんで当時を知るとかいわれましてもね
2019/09/15(日) 22:52:57.81
>>232
俺は英語が当時の学生レベル並のままで親のCompuServe垢借りて書き込みをROMってたけどなw
9600bpsモデムは存在してたけど、アクセスポイントの設備も含めたら事実上2400bpsMNP5でしか繋がらなかった時代
236名無しさん@お腹いっぱい。
垢版 |
2019/09/15(日) 22:53:04.27
>>221
Minix is not Unix.
2019/09/15(日) 22:54:19.31
>>234
学生が自分のPC買えるかよ、親のPCをマニュアルも無しにいじってたんだよ
初期のVXだけV30だと思ってたけど、初期はi80286が8MHzらしい
らしいってのはもうとっくの大昔に廃棄されて検証しようがないから
2019/09/15(日) 23:02:19.49
>>228
本当に実機触ってたのか?
2019/09/15(日) 23:03:23.83
>>233
日経新聞でこれからのサラリーマンはOS/2が使えないとダメとか
大騒ぎだったんだぞしらんのか?知らずに語ってんのか?
2019/09/15(日) 23:04:42.06
>>238
親が使ってない時限定だけど触ってた(FDも1枚しか貰えなかった)

>>239
それいつの時代?98でもOS/2動いてたのか?
2019/09/15(日) 23:12:20.02
>>240
動いてたに決まってんだろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況