Operating System Lecture 6/19

先週の復習 -- Synchronization

計算練習

以下の計算をせよ。表記はCと同じものを使うこと
  1. 2^32 を10進数と8進数と16進数と2進数で表せ
  2. 0x123 を16倍した数を16進数で表せ
  3. 0x7AF を256で割ったあまりを8進数で表せ
  4. 0x7AF を4つ左にシフトした結果を16進数で表せ
  5. 2kbyte とは10進数でいくつか

Memory Management

コンピュータにはメモりが付き物である。このメモリは、どのように使われている のだろうか? メモリは、

によって要求されたり返されたりする。これは最終的には、sbrk(), brk() という system callを呼び出す。メモリを要求したり返したりしていると、fragmentation (細分化)という問題が起きる。

この状況は最悪、メモリの有効利用度(Memory Utilization)を50%程度にまで さげてしまうことが知られている。

さらにメモリは、OS下の複数のプロセス、ユーザから要求されている。この時に、 個々のプロセスでは、あたかも自分一人がCPUとmemoryを専用している下のように 見えた方が良い。これは仮想プロセッサと呼ばれるものであった。仮想プロセッサの メモリと実際のメモリを結びつけるには、アドレス変換(Address Translation) という技術を用いる。


この時に、flagmentation を防ぐために、実際のメモリ(Physical memory) は、前もって細分化されて、それの不連続(non-contiguous)な集合が、 プロセスのメモリ(Virtual Memory)上での連続なメモリに対応するように なっている。



今回の宿題はなしとします。今までの宿題を提出してないものは、ちゃんと 提出すること。