2017-10-27 8 views
0

ページング/仮想メモリーの翻訳ページング/仮想メモリーの翻訳

は、我々は512ビットに等しい64バイトのアドレス空間を、持っていると言います。 16バイトページでは、アドレススペース内に合計4ページあります。各ページには128ビットがあります。

私の教科書は、プロセスの仮想アドレス スペースが64バイトであるため、我々は仮想アドレスの6ビットの合計を必要と述べています。

質問1:なぜ仮想アドレスは6ビットですか?彼らはどのようにこの数字を考え出していますか?

質問2:なぜ16バイトページに分割されますか?それらを8,8バイトのチャンクに分割できましたか?

+0

C++とは無関係です。アセンブラコード、C、Go、Ocamlで同じ問題があります。 http://pages.cs.wisc.edu/~remzi/OSTEP/を読む –

+0

それは私が読んでいるものです。私の質問は主にCコードで構成されている教科書に関連しています。 –

+0

私の主張は、 'C++'タグは話題外であるということです。 –

答えて

0

なぜ仮想アドレスは6ビットですか?彼らはどのようにこの数字を考え出していますか?

64個の数字は

に対処するための6ビットを必要とし、なぜそれが16バイトのページに分割していますか?それらを8,8バイトのチャンクに分割できましたか?

正しい。それは決定です

+0

しかし、仮想アドレスは128ビット(各ページ)内にあるべきではありませんか?それは、それが適合しなければならないページのサイズです。 –