nachos multiprogramming

6

Click here to load reader

Upload: jim-chang

Post on 13-May-2015

6.143 views

Category:

Business


6 download

TRANSCRIPT

Page 1: Nachos multiprogramming

Implement Multiprogramming

2009年6月26日星期五

Page 2: Nachos multiprogramming

• virtualPage==physicalPage

• 兩個以上process的virtual page會對應到同一個physical page

• 分配的table數目不恰當2009年6月26日星期五

Page 3: Nachos multiprogramming

• addrspace.h 中 class AddrSpace 加入 static bool usedPhyPage[NumPhysPages];紀錄哪個 physical page 已被使用

2009年6月26日星期五

Page 4: Nachos multiprogramming

• 把給Process分配page table的動作改到Load去做

• 分配夠用的page table就好

• 把virtual page table 對應到沒有用過的physical page table,

2009年6月26日星期五

Page 5: Nachos multiprogramming

• 原本ReadAt直接放virtual address,該成對應的physical address

• pageTable[virtual address/page size].physicalPage + virtual address physical page offset

2009年6月26日星期五

Page 6: Nachos multiprogramming

• 把記憶體空間釋放出來

• Done

2009年6月26日星期五