メモリの分割にセグメント方式というものがあると思います。
フラットメモリモデルとページ化セグメント方式とは何が違うんですか??
そもそもなぜメモリを分割して管理するのでしょうか?
散々調べてのですが、よくわかりません。
教えてください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
回答は他の人がしているのでアドバイスを。
散々調べてのですが、よくわかりません。
基本的なことを理解したいのなら、分からないところを調べるというアプローチでなく、ちゃんとした本をきっちり読むという方が良いと思います。
本やインターネットのサイトによって情報が違うので、矛盾がかなり多いのです。
入門書のたぐいは良くないです。大学の情報工学科のOSの教科書的な本が良いと思います。
網羅的に理解したいのなら、2000年以降に出た本の他に、1980年代の本も読むと良いかもしれません(図書館にあると思います)。
投稿2016/09/24 10:50
総合スコア84645
0
ベストアンサー
こんにちは。
フラットメモリモデルとページ化セグメント方式とは何が違うんですか??
それは、仕様書と実装方式のような違いです。
フラットメモリモデルはメモリを「フラット」にアクセスできるという仕様に当たります。
ページ化セグメント方式は仮想メモリを実装するための方式の1つです。
ページ化セグメント方式でフラットメモリモデルにすることもできれば、そうでないようにすることも可能です。
「フラット」の意味は人によって文脈によって異なりますが、私は1つのプロセスから見てアドレスが異なる時は異なる物理メモリをアクセスできるようなメモリ空間の使い方と理解してます。
異なるアドレスに同じ物理メモリを割り当てることも可能ですし、インテル8086のセグメント方式はその1つです。
そもそもなぜメモリを分割して管理するのでしょうか?
現在のPCのように巨大なメモリを搭載しているコンピュータでメモリを一塊で管理したら、不便ですよ。
OSもアプリも全部1つのメモリ空間で動作するのですから、あるアプリが他のアプリのメモリを変更できますし、OSのメモリさえ変更できてしまいます。(Windows 3.1系列のWindowsはそのようなものでした。)
それらを防ぐためには物理メモリを分割して、プロセスやカーネル・モード・プログラムの必要なものだけがアクセスできるようにすることで安定性の高いシステムを構築できます。
プロセスA用に割り当てた物理メモリを、プロセスB用の論理アドレス空間には割り当てないという単純な方法が良く使われます。
投稿2016/09/24 04:16
総合スコア23272
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/24 05:09
2016/09/24 05:31
2016/09/24 06:18
2016/09/24 06:30
0
メモリ分割にはいくつか利点があると思いますが
私が一番メリットだと思うのは、メモリ保護ができる事です。
メモリは1つのテーブルに
・OSの処理分の書類 ・Excel処理用の書類 ・Webブラウザ用の書類
と言った紙1枚ずつ並べて置いて使っていくようなイメージでとらえられると思います。
しかし、プログラムは人の作る物なので、Excelの書類(紙)の上に間違えて、Webブラウザ用の
書類(紙)を重ねて置いてしまう事がよくあります。
そうするとExcel用の書類は壊れて使えなくなってしまいます。
これが、Excel用の書類の場合はその書類が読めなくなるだけなのでまだ良いのですが、
OSの書類の上に書いてしまった場合は、OSが正常に動作しなくなります。
そうすると、何が起こるか分からなくなります。
これを防ぐ為に
・OSの処理分の箱 ・Excel処理用の箱 ・Webブラウザ用の箱
を作り、それぞれのプログラムは、それぞれの箱の中で
処理するようにしましょう。
という仕組みを提供するのがメモリ分割の役割の一つです。
昔はこの保護が貧弱だったので、ちょっとプログラムを
間違えるとすぐ、OSのメモリ領域を壊してしまい、フリーズ
してました...
投稿2016/09/24 03:50
総合スコア12
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/24 03:52
2016/09/24 04:59
2016/09/24 05:42
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/24 10:52