日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

操作系统(王道笔记第三章内存)

發布時間:2025/3/11 windows 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作系统(王道笔记第三章内存) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第三章內存

  • 3.1_1內存的基礎知識
    • (1)什么是內存:略
    • (2)進程運行的基本原理
      • ①從寫程序到程序運行
      • ②鏈接
      • ③裝入
  • 3.1_2內存管理的概念
    • (1)內存管理管哪幾個方面
    • (2)內存保護
      • ①上下限寄存器:
      • ②重定位界地址寄存器
  • 3.1_3覆蓋與交換
    • (1)覆蓋技術
    • (2)交換技術
  • 3.1_4連續分配管理方式
    • (1)單一連續分配
    • (2)固定分區分配
      • ①分區大小相等
      • ②分區大小不相等
    • (3)動態分區分配
      • ①系統要用什么樣的數據結構記錄內存的使用情況?
      • ②當很多個空閑分區都能滿足需求時,應該選擇哪個分區進行分配?(3.1_4詳述)
      • ③如何進行分區的分配與回收操作?
    • (3)總結
  • 3.1_5動態分區分配算法
    • (1)首次適應算法(First Fit)
    • (2)最佳適應算法(Best Fit)
    • (3)最壞適應算法(Worst Fit)
    • (4)鄰近適應算法(Next Fit)
  • 3.1_6基本分頁存儲管理的基本概念
    • (1)頁框、頁面 、頁表
    • (2)如何實現地址的轉換
  • 3.1_7基本地址變換機構
    • (1)頁表寄存器
    • (2)地址變換機構
  • 3.1_8具有快表的地址變換機構
    • (1)局部性
    • (2)快表
  • 3.1_9兩級頁表
    • (1)單級頁表存在的問題
    • (2)如何解決問題一(引入多級分頁)
  • (3)注意
  • 3.1_10基本分段存儲管理方式
    • (1)段
    • (2)段表
    • (3)地址轉換
    • (4)分段和分頁對比
  • 3.1_11段頁式管理方式
    • (1)分頁和分段的優缺點
    • (2)段頁存儲方式
    • (3)段頁存儲的數據結構
    • (4)段頁存儲的地址轉換方式
  • 3.2_1虛擬內存的基本概念
    • (1)傳統管理方式的特征、缺點
    • (2)局部性原理
    • (3)虛擬內存的定義和特征
    • (4)如何實現虛擬內存技術
    • (5)本節總結
  • 腦圖

我的腦圖鏈接分享

3.1_1內存的基礎知識

本節大綱:什么是內存(略)、進程運行的基本原理

(1)什么是內存:略

(2)進程運行的基本原理

指令的工作原理(略)、邏輯地址和物理地址(略)、從寫程序到程序運行

①從寫程序到程序運行


編譯生成目標模塊即.obj文件,鏈接生成裝入模塊即可執行文件.exe

②鏈接

鏈接的作用:把多個編譯好的起始邏輯地址和終止邏輯地址不同的目標模塊鏈接成一個邏輯起始地址為0的裝入模塊
鏈接的三種方式:
1.靜態鏈接:在程序運行之前,先將各目標模塊及它們所需的庫函數連接成一個完整的可執行文件(裝入模塊),之后不再拆開。
2.裝入時動態鏈接:將各目標模塊裝入內存時,邊裝入邊鏈接的鏈接方式。
3.運行時動態鏈接:在程序執行中需要該目標模塊時,才對它進行鏈接。其優點是便于修改和更新,便于實現對目標模塊的共享。

③裝入

裝入的作用:把程序中的邏輯地址轉為物理地址進而讓計算機得以識別
三種裝入方式:(其中只有絕對裝入是編譯程序實現,其他是操作系統實現)
1.絕對裝入(只適用于單道程序環境):在編譯時,如果知道程序將放到內存中的哪個位置,編譯程序將產生絕對地址的目標代碼。裝入程序按照裝入模塊中的地址,將程序和數據裝入內存。
2.靜態重定位(早期多道批處理):又稱可重定位裝入。編譯、鏈接后的裝入模塊的地址都是從0開始的,指令中使用的地址、數據存放的地址都是相對于起始地址而言的邏輯地址。可根據內存的當前情況,將裝入模塊裝入到內存的適當位置。裝入時對地址進行“重定位”,將邏輯地址變換為物理地址(地址變換是在裝入時一次完成的)。
靜態重定位的特點是在一個作業裝入內存時,必須分配其要求的全部內存空間,如果沒有足夠的內存,就不能裝入該作業。作業一旦進入內存后,在運行期間就不能再移動==,也不能再申請內存空間。
3.動態重定位(現代操作系統):又稱動態運行時裝入。編譯、鏈接后的裝入模塊的地址都是從0開始的。裝入程序把裝入模塊裝入內存后,并不會立即把邏輯地址轉換為物理地址,而是把地址轉換推遲到程序真正要執行時才進行。因此裝入內存后所有的地址依然是邏輯地址。這種方式需要一個重定位寄存器(基址寄存器)的支持。重定位寄存器存儲當前代碼首物理地址

3.1_2內存管理的概念


本節大綱:內存管理管什么、存儲保護

(1)內存管理管哪幾個方面


(2)內存保護

為什么要進行內存保護:控制各個進程只能訪問自己的內存空間

內存保護的兩個方法:

①上下限寄存器:

在CPU中設置一對上、下限寄存器, 存放進程的上、下限地址。進程的指令要訪問某個地址時,CPU檢查是否越界。

②重定位界地址寄存器

采用重定位寄存器(又稱基址寄存器)和界地址寄存器(又稱限長寄存器)進行越界檢查。重定位寄存器中存放的是進程的起始物理地址。界地址寄存器中存放的是進程的最大邏輯地址(即物理地址長度)。

3.1_3覆蓋與交換

本節大綱:覆蓋技術、交換技術

(1)覆蓋技術

**覆蓋技術的思想:**將程序分為多個段(多個模塊)。常用的段常駐內存,不常用的段在需要時調入內存。內存中分為一個“固定區”和若干個“覆蓋區”。
需要常駐內存的段放在“固定區”中,調入后就不再調出(除非運行結束)。
不常用的段放在“覆蓋區”,需要用到時調入內存,用不到時調出內存。

**缺點:**必須由程序員聲明覆蓋結構,操作系統完成自動覆蓋。對用戶不透明,增加了用戶編程負擔。覆蓋技術只用于早期的操作系統中,現在已成為歷史。

(2)交換技術

交換(對換)技術的設計思想:內存空間緊張時,系統將內存中某些進程暫時換出外存,把外存中某些已具備運行條件的進程換入內存(進程在內存與磁盤間動態調度)
交換技術的三個問題:

3.1_4連續分配管理方式

本節大綱:單一連續分配、固定分區分配、動態分區分配

連續分配:指為用戶進程分配的必須是一個連續的內存空間。

(1)單一連續分配

單一連續分配方式:內存被分為系統區和用戶區。系統區通常位于內存的低地址部分,用于存放操系統相關數據;用戶區用于存放用戶進程相關數據。內存中只能有一道用戶程序,用戶程序獨占整個用戶區空間。

**優點:**實現簡單;無外部碎片;可以采用覆蓋技術擴充內存;不一定需要采取內存保護(eg:早期的PC操作系統MS-DOS)。
**缺點:**只能用于單用戶、單任務的操作系統中;有內部碎片;存儲器利用率極低。

(2)固定分區分配


分區說明表:

①分區大小相等

②分區大小不相等

(3)動態分區分配

動態分區分配又稱為可變分區分配。這種分配方式不會預先劃分內存分區,而是在進程裝入內存時,根據進程的大小動態地建立分區,并使分區的大小正好適合進程的需要。因此系統分區的大小和數
目是可變的。(eg: 假設某計算機內存大小為64MB,系統區8MB,用戶區共56 M…)

①系統要用什么樣的數據結構記錄內存的使用情況?

②當很多個空閑分區都能滿足需求時,應該選擇哪個分區進行分配?(3.1_4詳述)

③如何進行分區的分配與回收操作?

分配的兩種情況:


回收的兩種情況:
回收區相鄰有一個空閑分區

回收區沒有空閑分區

另外:
緊湊技術

(3)總結

內部碎片,分配給某進程的內存區域中,如果有些部分沒有用上。
外部碎片,是指內存中的某些空閑分區由于太小而難以利用。

3.1_5動態分區分配算法

本節大綱:首次適應算法(First Fit)、最佳適應算法(Best Fit)、最壞適應算法(Worst Fit)、鄰近適應算法(Next Fit)

(1)首次適應算法(First Fit)

算法思想:每次都從低地址開始查找,找到第一個能滿足大小的空閑分區。

(2)最佳適應算法(Best Fit)

算法思想:由于動態分區分配是-種連續分配方式,為各進程分配的空間必須是連續的一整片區域。因此為了保證當“大進程”到來時能有連續的大片空間,可以盡可能多地留下大片的空閑區,即,優先使用更小的空閑區。
**缺點:**每次都選最小的分區進行分配,會留下越來越多的、很小的、難以利用的內存塊。因此這種方法會產生很多的外部碎片。

(3)最壞適應算法(Worst Fit)

算法思想:為了解決最佳適應算法的問題一即留下太多難以利用的小碎片,可以在每次分配時
優先使用最大的連續空閑區,這樣分配后剩余的空閑區就不會太小,更方便使用。

(4)鄰近適應算法(Next Fit)

算法思想:首次適應算法每次都從鏈頭開始查找的。這可能會導致低地址部分出現很多小的空閑分區,而每次分配查找時,都要經過這些分區,因此也增加了查找的開銷。如果每次都從上次查找結束的位置開始檢索,就能解決.上述問題。

3.1_6基本分頁存儲管理的基本概念

基本分頁存儲管理的思想——把內存分為一個個相等的小分區,再按照分區大小把進程拆分成一個 個小部分

(1)頁框、頁面 、頁表

①頁面和頁框
**頁面:**將用戶進程的地址空間也分為與頁框大小相等的一個個區域,稱為“頁”或“頁面”,每個頁面也有一個編號,即“頁號",頁號也是從0開始。
**頁框:**將內存空間分為一個個大小相等的分區(比如:每個分區4KB),每個分區就是一個“頁框”,或稱“頁幀”、“內存塊”、“物理塊”。每個頁框有一個編號,即“頁框號”(或者.“內存塊號”、“頁幀號”、“物理塊號”)頁框號從0開始。

**②頁表:**頁表記錄進程頁面和實際存放的內存塊(頁框)之間的對應關系

**頁表結構:**可見頁表的頁號是順序遞增的,所以不用單獨存儲,只需存儲頁框號即可,就像數組a[0]=3,a[1]=6,a[2]=4…,因此由此數組特性可知頁表必須在內存中連續存儲,以及頁表項的大小取決于內存大小或者頁框數大小

(2)如何實現地址的轉換

由頁面頁框的結構特點可知地址轉換方法為:
物理地址 = 裝入之后的起始物理地址 + 頁內偏移地址

物理地址 = 邏輯地址所在頁面的頁號在裝入之后對應的頁框 * 頁框大小 + 頁內偏移地址
例如:
CPU執行指令1,需要訪問邏輯地址為80的內存單元,如何轉化為物理地址?

邏輯地址為80的內存單元:在1號頁,該頁在內存中的起始位置為50, 邏輯地址為80的內存單元相對于該頁的起始地址而言,“偏移量”應該是30。實際物理地址=450+30=480.
補充:考試中如何計算頁號和頁內偏移量
人工手算:頁號=80/50=1;頁內偏移量=80%50=30
計算機:因為計算機采用二進制計數即

3.1_7基本地址變換機構

(1)頁表寄存器

通常會在系統中設置- -個頁表寄存器(PTR) ,存放頁表在內存中的起始地址F和頁表長度M。進程未執行時,頁表的始址和頁表長度放在進程控制塊(PCB) 中,當進程被調度時,操作系統內核會把它們放到頁表寄存器中。

(2)地址變換機構

3.1_8具有快表的地址變換機構

(1)局部性

時間局部性:如果執行了程序中的某條指令,那么不久后這條指令很有可能再次執行:如果某個數據被訪問過,不久之后該數據很可能再次被訪問。( 因為程序中存在大量的循環)
空間局部性:一旦程序訪問了某個存儲單元,在不久之后,其附近的存儲單元也很有可能被訪問。(因為很多數據在內存中都是連續存放的)

(2)快表

快表:又稱聯想寄存器(TLB), 是一種訪問速度比內存快很多的高速緩沖存儲器,用來存放當前訪問的若干頁表項,以加速地址變換的過程。與此對應,內存中的頁表常稱為慢表。
(3)加入快表之后地址變換

與基本地址變換對比

3.1_9兩級頁表

(1)單級頁表存在的問題

問題一:頁表必須連續存放,因此當頁表很大時,需要占用很多個連續的頁框。
問題二:沒有必要讓整個頁表常駐內存,因為進程在一段時間內可能只需要訪問某幾個特定的頁面。

(2)如何解決問題一(引入多級分頁)

可將長長的頁表進行分組,使每個內存塊剛好可以放入一個分組( 比如上個例子中,頁面大小4KB,每個頁表項4B,每個頁面可存放1K個頁表項,因此每1K個連續的頁表項為一組,每組剛好占一個內存塊,再講各組離散地放到各個內存塊中)另外,要為離散分配的頁表再建立一張頁表,稱為頁目錄表,或稱外層頁表,或稱頂層頁表

(3)注意

①若采用多級頁表機制,則各級頁表的大小不能超過一個頁面

②兩級頁表的訪存次數分析(假設沒有快表機構)
三次:第一次訪存:訪問內存中的頁目錄表、第二次訪存:訪問內存中的二級頁表、第三次訪存:訪問目標內存單元
N級頁表的訪存次數:N + 1次

3.1_10基本分段存儲管理方式

基本分段存儲管理即根據程序自身邏輯(比如main函數是一個段,某個子函數是一個段)劃分為若干個段

(1)段

進程的地址空間:按照程序自身的邏輯關系劃分為若干個段,每個段都有一個段名(在低級語言中,程序員使用段名來編程),每段從0開始編址
內存分配規則:以段為單位進行分配,每個段在內存中占據連續空間,但各段之間可以不相鄰。

(2)段表

程序分多個段,各段離散地裝入內存,為了保證程序能正常運行,就必須能從物理內存中找到各個邏輯段的存放位置。為此,需為每個進程建立一張段映射表, 簡稱‘段表“

**①段表數據結構:**每個段對應一個段表項,其中記錄了該段在內存中的起始位置(又稱“基址”)和段的長度。
各個段表項的長度是相同的。 由于段表項長度相同,因此段號可以是隱含的,不占存儲空間。若段表存放的起始地址為M,則K號段對應的段表項存放的地址為M+ K*6

(3)地址轉換

(4)分段和分頁對比

3.1_11段頁式管理方式

(1)分頁和分段的優缺點

(2)段頁存儲方式

(3)段頁存儲的數據結構

(4)段頁存儲的地址轉換方式

3.2_1虛擬內存的基本概念

(1)傳統管理方式的特征、缺點

傳統管理方式回顧:

一次性:作業必須一次性全部裝入內存后才能開始運行。這會造成兩個問題:
作業很大時,不能全部裝入內存,導致大作業無法運行;
當大量作業要求運行時,由于內存無法容納所有作業,因此只有少量作業能運行,導致多道程序并發度下降。
駐留性:一旦作業被裝入內存,就會一直駐留在內存中,直至作業運行結束。
事實上,在一個時間段內,只需要訪問作業的一小部分數據即可正常運行,這就導致了內存中會駐留大量的、暫時用不到的數據,浪費了寶貴的內存資源。(例如和平精英,如果你在海島地圖,那么雨林地圖就不用加載到內存中,這也是為什么進入一個地圖開始游戲是為什么需要載入中的原因)

(2)局部性原理

①時間局部性:如果執行了程序中的某條指令,那么不久后這條指令很有可能再次執行,如果某個數據被訪問過,不久之后該數據很可能再次被訪問。(因為程序中存在大量的循環)
②空間局部性:一旦程序訪問了某個存儲單元,在不久之后,其附近的存儲單元也很有可能被訪問,例如數組(因為很多數據在內存中都是連續存放的,并且程序的指令也是順序地在內存中存放的)
③高速緩沖技術:如何應用局部性原理呢?于是就有了高速緩沖技術
高速緩沖技術的思想:將近期會頻繁訪問到的數據放到更高速的存儲器中,暫時用不到的數據放在更低速存儲器中(例如快表機制)

(3)虛擬內存的定義和特征

①在操作系統的管理下,在用戶看來似乎有一個比實際內存大得多的內存,這就是虛擬內存,它的原理如下:
基于局部性原理,在程序裝入時,可以將程序中很快會用到的部分裝入內存,暫時用不到的部分留在外存,就可以讓程序開始執行。
在程序執行過程中,當所訪問的信息不在內存時,由操作系統負責將所需信息從外存調入內存,然后繼續執行程序。
若內存空間不夠,由操作系統負責將內存中暫時用不到的信息換出到外存。
②求虛擬內存實際容量( = min(內存和外存容量之和,CPU尋址范圍))

③虛擬內存的三個主要特征
多次性:無需在作業運行時一次性全部裝入內存,而是允許被分成多次調入內存。
對換性:在作業運行時無需一直常駐內存, 而是允許在作業運行過程中,將作業換入、換出。
虛擬性:從邏輯上擴充了內存的容量,使用戶看到的內存容量,遠大于實際的容量。

(4)如何實現虛擬內存技術

虛擬內存技術:允許一個作業分多次調入內存。如果采用連續分配方式,會不方便實現。因此,虛擬內存的實現需要建立在離散分配的內存管理方式基礎上。

(5)本節總結

腦圖

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的操作系统(王道笔记第三章内存)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www.欧美视频 | 不卡av一区| 好色999 | 欧美日本韩国一区二区 | www..com国产 | 日在线视频 | 桃色视频网站 | 国产剧情av麻豆香蕉精品 | 乱熟女高潮一区二区在线 | 色就色综合| 国产高清中文字幕 | 久久六 | 激情五月婷婷在线 | 一本大道熟女人妻中文字幕在线 | 少妇真实被内射视频三四区 | 91a视频| 午夜操一操 | 91蝌蚪视频在线 | 乱视频在线观看 | 日本免费黄网站 | 青青草一区二区 | 久久综合久久综合久久 | 在线亚洲精品 | www.国产视频 | 另类综合视频 | 男男play呻吟动漫网站 | 日本黄页网址 | 亚洲hhh| 四虎影视www在线播放 | 男人天堂导航 | 日韩av在线导航 | 久久99国产精品久久99果冻传媒 | 九色91porny | 日本欧美亚洲 | 女女互慰吃奶互揉调教捆绑 | 国产精品国语 | 三级黄色在线 | 亚洲一区二区三区四区五区xx | xxx色| 欧美亚洲综合网 | 精品少妇人妻一区二区黑料社区 | 女人被狂躁c到高潮 | 香蕉视频网站在线观看 | 国产精品久久久久久久免费大片 | www.插插插 | 国产日产久久高清欧美一区 | 三度诱惑免费版电影在线观看 | 潘金莲裸体一级淫片视频 | 国产精品黄色网 | 亚洲免费中文字幕 | 日本三级吃奶头添泬无码苍井空 | 另类欧美尿交 | 天天天操操操 | 一级片视频在线观看 | 黑丝少妇喷水 | 香蕉影院在线观看 | 中文日韩 | 禁止18在线观看 | 永久久久久久久 | 九九天堂 | 国产卡一卡二在线 | 国产午夜性春猛交ⅹxxx | 国产在线一区二区视频 | 日日摸日日添日日碰9学生露脸 | 日本一区视频在线 | 免费日皮视频 | 特级淫片裸体免费看 | 天天射天天干 | 中文字幕在线2021 | 少妇精品在线 | 伊人久久免费视频 | 久久精品中文闷骚内射 | 女人高潮娇喘1分47秒 | 成人在线不卡 | 国产区一区二区三 | 国产淫| 91丨porny丨成人蝌蚪 | 青青草国产在线 | 最新成人 | 国产破处在线 | 误杀1电影免费观看高清完整版 | 亚洲蜜臀av一区二区三区 | 天堂资源最新在线 | 一级不卡毛片 | 成人免费xxxxx在线视频 | 日韩精品伦理 | 亚洲狠 | 美女网站黄频 | 婷婷色六月 | 久久99国产精品久久99果冻传媒 | 人妻精品久久久久中文 | 日韩欧美色 | 国产成人精品一区二区在线观看 | 极品少妇一区二区三区 | 精品久久久久久久久久久久久久久久 | 2019日韩中文字幕mv | 日本亚洲网站 | jizz免费在线观看 | 樱桃成人精品视频在线播放 |