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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

分页式存储管理及地址转换(网易笔试题)

發布時間:2023/12/15 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 分页式存储管理及地址转换(网易笔试题) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

昨天參加網易的筆試,被一個操作系統的分頁式管理難住啦,本來就忘得差不多啦,地址給的還是16進制,真是就懵啦。就把分頁式存儲管理又看了一遍,記錄下。

1.分頁式存儲管理基本原理:

分頁式存儲管理允許把進程分配到不相鄰的分區中。首先將進程的邏輯地址空間劃分為大小相等的塊,且塊相對比較小,每個塊稱為一頁(Page),由頁號和頁內地址組成;

其次,將內存空間也劃分為同樣大小的塊,每個塊稱為一頁面(PageFrame)。

頁:

頁號

頁內地址

假設邏輯地址為A,頁面大小為L,則頁號和頁內地址為:

頁號=A/L

頁內地址=A%L

2.當進程將要運行時,操作系統會為進入內存的每個用戶進程建立一張頁表,記錄進程邏輯地址空間的頁號和內存物理地址空間中的頁面號一一對應關系。同時系統還會建立一張作業表,將當前運行的作業的頁表地址進行登記。

對應關系如圖所示:

進程運行時,通過查找頁表,就可以找到每頁對應的物理頁面號。頁表就是實現從頁號到物理塊號的地址映射。

3.地址轉換

地址轉換時,先從頁表控制寄存器中找到相應的頁表,再以頁號為索引去檢索頁表。查找操作由硬件執行。在執行檢索之前,先將頁號與頁表長度進行比較,如果頁號大于或等于頁表長度,則表示本次所訪問的地址已超越進程的地址空間。于是,這一錯誤將被系統發現并產生一地址越界中斷。若未出現越界錯誤,則將頁表始址與頁號和頁表項長度的乘積相加,便得到該表項在頁表中的位置,于是可從中得到該頁的物理塊號,將之裝入物理地址寄存器中。與此同時,再將有效地址寄存器中的頁內地址送入物理地址寄存器的塊內地址字段中。這樣便完成了從邏輯地址到物理地址的變換。右圖示出了分頁系統的地址變換機構。

網易的筆試題:

23.有用戶態進程A,其虛擬內存頁為1KB,A占用了64頁,內存大寫為128KB,A進程將愛子到內存的頁面和物理內存塊的編號對應關系如下:

頁面編號 物理內存塊編號

0 4

1 9

2 5

3 8

請根據以上信息回答如下問題,并給出計算過程:

1)虛擬地址為015D對應的物理地址是多少?

2)物理地址為113C對應的虛擬地址為多少?

3)進程A有一作業長度為8頁,試圖訪問虛擬地址2A3D并保存整型1到該地址對應的物理地址空間,之后又嘗試從該地址讀取保存的數據,請問A進程這兩次內存訪問過程能否正常執行?并解釋原因。

解:

1)虛擬地址為015D對應的物理地址是 :

1KB=400H (轉換成16進制)

頁號: 015D/400=0

頁內地址:015D%400=15D

查找頁表:0->4

物理地址:4*400+15D=115D

2)物理地址為113C對應的虛擬地址為多少?

就是反過來,物理快號:113C/400 = 4

塊內地址:113C%400 = 13C

虛擬地址:0*400+13C=013C

3)進程A有一作業長度為8頁,試圖訪問虛擬地址2A3D并保存整型1到該地址對應的物理地址空間,之后又嘗試從該地址讀取保存的數據,請問A進程這兩次內存訪問過程能否正常執行?并解釋原因。

不能。

頁號:2A3D/400 = A

頁內地址:2A3D%400=23D

A>8,超出進程A的頁表長度。

**第三問不是很確定,如果有錯,請指出,謝謝。第三問我也不太懂。

這個題麻煩的就是16進制的乘除。

總結

以上是生活随笔為你收集整理的分页式存储管理及地址转换(网易笔试题)的全部內容,希望文章能夠幫你解決所遇到的問題。

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