オペレーティングシステム論シラバスへ
←講義のツボメニューへ
OS論のファイルをダウンロード
ユーザ名:os
パスワード:掲示板を参照

第6章メモリ管理

【2000、6、30】 【第23回】
今日はメモリの管理についてやりました。

メモリの割り付けの方法には ・単一連続割り付け
・分割割り付け(MFT、MVT)
・再配置型分割割り付け
・ページ割り付け
がある。
分割割り付けMFT
メモリの中にカーネルをいれなければならない。
残りのメモリにプログラムを入れる。メモリにプログラムがあればるほど、CPUは遊ばない。ただ入れるのはいけにので、独立した形で入れるために境界線を設ける。
カーネル=オペレーティングシステムの核になる部分。スーパーバイザとも言う。
境界線を設け、その中に入れることが可能なユーザーのプログラムを入れる。
→これだと窮屈なのでコンピュータがサービスをしている間にダイナミックに動かしたい。

[設問1]境界線は誰が決めるか?
環境設定のようなもので行う。

分割割り付けMVT
MVTで窮屈だったのでメモリを断片化してプログラムをメモリに入れる。
断片化=fragmentation
[設問1]断片化でメモリか空いてしまったら?
再配置で絶対アドレスを変える必要がある。

ページ割り付け
*3ー2ーEー3参照
プログラムは連続した番地でなければなかった。そこでメインメモリにフレーム番号をつけ、分割し、PT(ページテーブル)を作る。そのPTの情報によって割り付けを行う。
PTにはPBR(page base registerdeでCPUのなかにある)がつながっている。
プログラムがメインメモリ上でばらばらであっても割り付けが可能である。
利点→リロケーションの必要がない。

仮想記憶
仮想記憶については前回までの講義の中で何度もでてきている。実メモリの何十、何百もが使うことができるようになる。

デマンドページ割り付け
一つのプログラムに対して一つのページテーブルがある。
[設問1]メインメモリのページを磁気ディスクに移すとき、どのようにしてページを選ぶか?
あまり使われていないページは外に出してしまう。普段多く使われるページは出さないようにする。(参照回数を利用して判断する)

プログラムにはループがある。大きくプログラムをまたぐループから、小さなループまである。大きいループだと必要なプログラムが多い。デマンド方式の仮想記憶に関しては小さいループがよい。

セグメント割り付け
プログラムには単位を(独立した)一つのセグメントにする。
[設問1]セグメントqはどのような意味を持つか?
プログラム1tpプログラム2から共有、共用する。
同じ命令でもどのデータで有効か指示できないといけない。プログラムを変えてはいけない。

OS論のファイルをダウンロード
ユーザ名:os
パスワード:掲示板を参照
←オペレーティングシステムシラバスへ