linux作業2答案

2021-06-18 12:31:29 字數 693 閱讀 6547

實模式下

記憶體範圍:0~1mb

邏輯位址 = 段位址 + 段內偏移

段位址 = 段暫存器中的值*16 (或左移4位)

8086中,資料匯流排的寬度是16位(通常和alu一樣),位址匯流排為20位,定址空間為1m。

因此,在8086中使用了分段的方法來把16位的位址對映為20位的實體地址。

16位的段暫存器對應位址匯流排的高16位,段位址左移4位再加上訪存指令中的16位位址,就形成了真正的20位的實體地址。

但在這種機制下,由段暫存器確定乙個「基位址」,乙個程序總是可以訪問由此開始的64k位元組的連續位址空間,且無法加以限制。

作業:i386保護模式下的段暫存器的內容與實模式下段暫存器的內容一樣麼?如何解釋?

實模式下記憶體是按es,ds這些段暫存器來分段的,段暫存器直接儲存段位址.

在保護模式下段暫存器稱作段選擇器,與gdt表配合使用.

1.首先根據指令的性質來確定該使用哪乙個段暫存器。

2.根據段暫存器的內容,找到相應的「段描述結構」。

3.從「段描述結構」中得到基位址。

4.將指令中的位址作為位移,與段描述結構中規定的段長度相比,看是否越界;

5.根據指令的性質和段描述符中的訪問許可權來確定是否越權;

6.最後才將指令中的位址作為位移,與段基位址相加,得到實體地址。

同時,在上面過程中,由於有對訪問許可權的檢查,就實現了保護。

Linux檔案系統作業 2

題目如下 v1.建立新檔案,該檔案具有使用者讀寫許可權。v2.採用dup dup2 fcntl複製乙個新的檔案描述符,通過新檔案描述符向檔案寫入 class name 字串 v3.通過原有的檔案描述符讀取檔案中的內容,並且列印顯示 下面是 include include include includ...

day4作業和答案

1.已知乙個數字列表,求列表中心元素。list1 10 206,3 89,23 9,12 count len list1 if count 1 print list1 count 2 else print list1 count 2 1 list1 count 2 2.已知乙個數字列表,求所有元素和...

作業 C 作業2

專案2 分段函式求值 檔名稱 456.cpp 作 者 柳青雨 完成日期 2016年 3 月 30 日 版 本 號 v6.0 對任務及求解方法的描述部分 分段函式求值 輸入描述 輸入x 問題描述 分段函式求值,計算函式的值並輸出 問題分析 利用 if else 演算法設計 利用 if else inc...