Operating System Lecture 6/19
先週の復習 -- Synchronization
- さまざまな同期機構
- Transaction
- Lock
- Dead lock
計算練習
以下の計算をせよ。表記はCと同じものを使うこと
- 2^32 を10進数と8進数と16進数と2進数で表せ
- 0x123 を16倍した数を16進数で表せ
- 0x7AF を256で割ったあまりを8進数で表せ
- 0x7AF を4つ左にシフトした結果を16進数で表せ
- 2kbyte とは10進数でいくつか
Memory Management
コンピュータにはメモりが付き物である。このメモリは、どのように使われている
のだろうか? メモリは、
によって要求されたり返されたりする。これは最終的には、sbrk(), brk() という
system callを呼び出す。メモリを要求したり返したりしていると、fragmentation
(細分化)という問題が起きる。
この状況は最悪、メモリの有効利用度(Memory Utilization)を50%程度にまで
さげてしまうことが知られている。
さらにメモリは、OS下の複数のプロセス、ユーザから要求されている。この時に、
個々のプロセスでは、あたかも自分一人がCPUとmemoryを専用している下のように
見えた方が良い。これは仮想プロセッサと呼ばれるものであった。仮想プロセッサの
メモリと実際のメモリを結びつけるには、アドレス変換(Address Translation)
という技術を用いる。
この時に、flagmentation を防ぐために、実際のメモリ(Physical memory)
は、前もって細分化されて、それの不連続(non-contiguous)な集合が、
プロセスのメモリ(Virtual Memory)上での連続なメモリに対応するように
なっている。
今回の宿題はなしとします。今までの宿題を提出してないものは、ちゃんと
提出すること。