FreeBSD 4G/4G address space split for i3862019年01月24日 15時01分36秒

4G/4G address space split for i386 は FreeBSD 12.0-RELEASE から入った変更。記憶が正しければ、リリースの準備が始まった夏ぐらいにコミットされたと思う。

以前の FreeBSD では i386 で利用可能なメモリサイズの 4GB は、3GB はユーザスペースとして割り当てられ、1GB はカーネルメモリとして分けられていた。つまり、最近は llvm 等を筆頭にユーザランドでメモリを大量に消費するプログラムが増え、またカーネル等も ZFS 等で必要なメモリが増えている。

これらに対処するために、ユーザスペースとカーネルメモリのページテーブルを二つに分けて各々 4GB づつ利用可能になった。

以前にアドレスは、ユーザスペースとカーネルメモリが異なっていたが、今後は同じアドレスになりうることもあると言うことだ。一般的なユーザは特に意識する必要があるものでもないが。ユーザスペースとカーネルメモリの通信は copyout システムコールを通して受け渡され、今後独立した空間になる。

今後の予定としては、PAE をの利用も、起動時に動的に処理できる様に変えていくらしい。以前は PAE では動かないドライバがあるとされたり、そのカーネル自体も実験的などとされていた時期もあったのを考えると、随分な進歩だ。この様子だと、i386 はまだまだサポートの対象として安泰そうな印象を受ける。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2019/01/24/9028488/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。