1. 程式人生 > >操作系統之內存管理

操作系統之內存管理

相同 設計時 模塊 共享變量 運行 導致 實現 單打 邏輯地址

1.內存中都存儲什麽?

  操作系統和進程,特別是多道程序設計時,要將主存繼續細分;

2.內存管理需要做那些事情?

  1.  重定位:實現重定位進程就不需要記錄以前自己在主存中的位置,以此實現進程換入/換出(進程的頁或段換入主存時可以定位到在主存中的物理位置),也就是在進程運行時計算邏輯地址對應的物理位置。
  2. 保護:保護進程不受其他進程無意或有意的幹涉。比如進程A和進程B,如果A沒有授予B權限,那B就不能訪問A,其次,每次執行進程時要確定訪問的是該進程的東西。
  3. 共享:進程不能單打獨鬥,有時候需要和其他進程一起完成某些事情,如共享變量等。
  4. 邏輯組織:計算機主存和輔存的邏輯結構都是線性的(也就是一維數組),但是實際程序中用模塊更好,因為模塊更好管理,比如共享模塊,修改模塊等;
  5. 二級存儲結構:分為主存和輔存,主存存取速度快,容量小;而輔存存取速度慢,容量大;

3.處理器需要把進程放到主存中執行,那內存是什麽的組織結構?

  最原始的分區:固定分區(分區大小相同,大小不同),動態分區;

  分頁:主存和進程都分成大小相等的塊,只不過塊很小,導致內存碎片很小;

操作系統之內存管理