tft每日頭條

 > 科技

 > 操作系統知識點第二章

操作系統知識點第二章

科技 更新时间:2025-01-09 06:03:05

> 清華大學 陳渝老師 操作系統教程

操作系統知識點第二章(操作系統第三章)1

三、内存計算機體系結構及内存分層體系
  • 計算機體系結構
    • CPU:程序/軟件執行的控制
    • 内存:放置程序的代碼及其處理的數據
    • 設備
      • eg.鼠标、鍵盤
  • 内存分層體系
    • 主存(物理内存):放置操作系統本身以及需要運行的代碼
    • 磁盤(虛拟内存):放置永久存放的數據
  • 在操作系統的内存管理範例
    • 操作系統中管理内存的4個目标
      • 抽象
        • 邏輯地址空間
      • 保護
        • 獨立地址空間
      • 共享
        • 訪問相同内存
      • 虛拟化
        • 更多的地址空間
    • 操作系統中管理内存的不同方法
      • 程序重定位
      • 分段
      • 分頁
      • 虛拟内存
      • 按需分頁虛拟内存
    • 實現高度依賴于硬件
      • 必須知道内存架構
      • MMU(内存管理單元):硬件組件負責處理CPU的内存訪問請求
地址空間和地址生成
  • 地址空間定義
    • 物理地址空間
      • 硬盤支持的地址空間
    • 邏輯地址空間
      • 一個運行的程序所擁有的内存範圍
  • 地址生成
    • 邏輯地址生成
      • eg.在C程序裡,函數的位置、變量的名字就是一種邏輯地址
      • .o 文件的地址從0開始
    • 物理地址生成
      • CPU方面
        • 運算器需要在邏輯地址的内存内容
        • 内存管理單元尋找在邏輯地址和物理地址之間的映射
        • 控制器從總線發送在物理地址的内存内容的請求
      • 内存方面
        • 内存發送物理地址内存的内容給CPU
      • 操作系統方面
        • 建立邏輯地址和物理地址之間的映射
  • 地址安全檢查
    • 操作系統需要确保每個程序可以有效訪問的地址空間
      • 起始地址
      • 地址長度
連續内存分配
  • 内存碎片問題
    • 空閑内存不能被利用
    • 外部碎片
      • 在分配單元間的未使用内存
    • 内部碎片
      • 在分配單元中的未使用内存
  • 分區的動态分配
    • 簡單的内存管理方法
      • 當一個程序準許運行在内存中,分配一個連續的區間
      • 分配一個連續的内存區間給運行的程序以訪問數據
    • 分配策略
      • 首次适配
        • 為了分配n字節,使用第一個可用空閑塊以緻塊的尺寸比n大
        • 基本原理和實現
          • 簡單實現
          • 需求
            • 按地址排序的空間塊列表
            • 分配需要尋找一個合适的分區
            • 重分配需要檢查,看是否自由分區能合并于相鄰的空閑分區
          • 優勢
            • 簡單
            • 易産生更大的空閑塊,向着地址空間的結尾
          • 劣勢
            • 易産生外碎片
            • 不确定性
      • 最佳适配
        • 為了分配n字節,使用最小可用空閑塊以緻塊的尺寸比n大
        • 基本原理和實現
          • 為了避免分割大空閑塊
          • 為了最小化外部碎片産生的尺寸
          • 需求
            • 按尺寸排列的空閑塊列表
            • 分配需要尋找一個合适的分區
            • 重分配需要搜索及合并于相鄰的空閑分區
          • 優勢
            • 當大部分分配是小尺寸時非常有效
            • 比較簡單
          • 劣勢
            • 外部碎片
            • 重分配慢
            • 易産生很多沒用的微小碎片
      • 最差适配
        • 為了分配n字節,使用最大可用空閑塊以緻塊的尺寸比n大
        • 基本原理和實現
          • 為了避免又太多微小的碎片
          • 需求
            • 按尺寸排列的空閑塊列表
            • 分配很快(獲得最大分區)
            • 重分配需要搜索及合并于相鄰的空閑分區,若有,然後調整空閑塊列表
          • 優勢
            • 假如分配是中等尺寸效果最好
          • 劣勢
            • 外部碎片
            • 重分配慢
            • 易于破碎大的空閑塊以緻大分區無法被分配
  • 壓縮式碎片整理
    • 重置程序以合并孔洞
    • 要求所有程序時動态可重置的
    • 問題
      • 何時重置
        • 不能再程序運行時進行
      • 開銷
        • 頻繁進行此操作開銷很大
  • 交換式碎片整理
    • 運行程序需要更多的内存
    • 搶占等待的程序和回收它們的内存
,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved