作業系統儲存空間管理筆記_測試載入器

來源:互聯網
上載者:User

 

一作業系統裝入程式到記憶體中幾種方法:
  1:絕對裝入方式(Absolute Loading Mode):
  即程式在編譯時間就產生物理地址的目標代碼,編譯完成後,不在需要對程式和資料進行修改,程式員也可以在程式中賦值物理地址。
  缺點:不靈活,要求程式員對記憶體相當熟悉,只適用於單道程式環境。
  2:靜態重定位裝入方式(Relocation Loading Mode):
  即程式在編譯時間使用的是邏輯地址,在裝入的時候,臨時將邏輯地址轉換成物理地址。到記憶體中後的地址為物理地址。這種方法叫做靜態重定位裝入。
  缺點:不靈活,當進程有需要動態改變地址時則無法改變。
  3:動態重定位裝入方式(Dynamic Run-time Loading)
  即程式在裝入記憶體之後,在記憶體中仍然使用邏輯地址,只有在取該資料時,才轉換成物理地址。這樣做會影響到程式的執行速度。因此,一般將轉換成物理地址的過程做成硬體來完成轉換,需要添加一個地址轉換寄存器來支援。
  二 程式的連結過程
  1:靜態連結(Static Linking)
  程式在編譯之後形成目標模組,然後將目標模組和庫函數組合成一個模組,不再分開的連結。
  缺點:消耗記憶體的資源很大,往往有的庫函數或模組在程式的運行過程中沒有使用,極大的浪費了記憶體空間。
  2:裝入是動態連結(Load-time Dynamic Linking)
  程式在編譯時間形成目標模組代碼,在需要調入記憶體時,連結成一個模組裝入記憶體。
  缺點:和靜態連結一樣,對記憶體消耗大。
  3:運行時動態連結(Runtime Dynamic Linking)
  程式在編譯時間形成目標模組,在調入記憶體時調入需要執行的代碼模組,當用到某個庫函數或模組式時,由作業系統動態調入記憶體執行。
  三 記憶體連續分配方式
  1:單一連續記憶體配置
  把記憶體地區中劃分OS分區和應用進程地區兩大塊,互不干涉。在應用進程地區的記憶體按照單一的連續分配原則分配給各個進程。
  使用範圍:單使用者,單任務的作業系統中。如CP/M,MS-DOS作業系統。
  2:固定分區分配
  a.固定分區大小一致分配
  將記憶體劃分為大小一致的多個分區,這種分配方式缺乏靈活性,當進程太小造成空間浪費,太大則無法分配空間,導致裝入失敗。
  b.固定分區大小不一致分配
  將記憶體劃分為大小不一致的多個分區。這樣可根據進程大小適當分配地區。
  分配具體操作:將各個分區按照大小排隊,用一張分區表格儲存體,該表中包含分區的大小,起始地址,和使用方式
  使用範圍:IBM360的MFT

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.