回覆列表
  • 1 # 使用者3098613971747

    1. 可採用哪幾種方式將程式裝入記憶體?它們分別適用於何種場合?

    a. 首先由編譯程式將使用者原始碼編譯成若干目標模組,再由連結程式將編譯後形成的目標模組和所需的-庫函式連結在一起,組成一個裝入模組,再由裝入程式將裝入模組裝入記憶體; b. 裝入模組的方式有: 絕對裝入方式,可重定位方式和動態執行時裝入方式; c. 絕對裝入方式適用於單道程式環境下; d. 可重定位方式適用於多道程式環境下; e. 動態執行時裝入方式也適用於多道程式環境下.

    2. 何謂靜態連結及裝入時動態連結和執行時的動態連結?

    a. 靜態連結是指事先進行連結形成一個完整的裝入模組,以後不再拆開的連結方---式;

    b. 裝入時動態連結是指目標模組在裝入記憶體時,邊裝入邊連結的連結方式;

    c. 執行時的動態連結是將某些目標模組的連結推遲到執行時才進行.

    3. 在進行程式連結時,應完成哪些工作?

    a. 對相對地址進行修改; b. 變換外部呼叫符號.

    4. 在動態分割槽分配方式中,可利用哪些分割槽分配演算法?

    a. 首次適應演算法; b. 迴圈首次適應演算法; c. 最佳適應演算法.

    5. 在動態分割槽分配方式中,應如何將各空閒分割槽連結成空閒分割槽鏈?

    應在每個分割槽的起始地址部分,設定一些用於控制分割槽分配的資訊,以及用於連結各分割槽的前向指標;在分割槽尾部則設定一後向指標,透過前,後向指標將所有的分割槽連結成一個雙向鏈.

    6. 為什麼要引入動態重定位?如何實現?

    a. 為了在程式執行過程中,每當訪問指令或資料時,將要訪問的程式或資料的邏輯地址轉換成物理地址,引入了動態重定位. b. 可在系統中增加一個重定位暫存器,用它來裝入(存放)程式在記憶體中的起始地址,程式在執行時,真-

    正訪問的記憶體地址是相對地址與重定位暫存器中的地址相加而形成的,從而實現動態重定位.

    8. 在採用首次適應演算法回收記憶體時,可能出現哪幾種情況?應怎樣處理這些情況?

    a. 回收區與插入點的前一個分割槽相鄰接,此時可將回收區與插入點的前一分割槽合併,不再為回收分割槽分配新表項,而只修改前鄰接分割槽的大小;

    b. 回收分割槽與插入點的後一分割槽相鄰接,此時合併兩區,然後用回收區的首址作為新空閒區的首址,大-小為兩者之和;

    c. 回收區同時與插入點的前後兩個分割槽鄰接,此時將三個分割槽合併,使用前鄰接分割槽的首址,大小為三區之和,取消後鄰接分割槽的表項;

    d. 回收區沒有鄰接空閒分割槽,則應為回收區單獨建立一個新表項,填寫回收區的首址和大小,並根據其首址,插入到空閒鏈中的適當位置.

    9. 在系統中引入對換後帶有哪些好處?

    能將記憶體中暫時不執行的程序或暫時不用的程式和資料,換到外存上,以騰出足夠的記憶體空間,把已具備執行條件的程序或程序所需的程式和資料換入記憶體,從而大大地提高了記憶體的利用率.

    10 為實現對換,系統應具備哪幾方面功能?

    a. 對對換空間的管理; b. 程序的換出; c. 程序的換入.

    11 在以程序為單位進行對換時,每次是否都將整個程序換出?為什麼?

    a. 以程序為單位進行對換時,每次都將整個程序換出; b. 目的為了解決記憶體緊張的問題,提高記憶體的利用率.

    13 請較詳細地說明,引入分段儲存管理是為了滿足使用者哪幾方面的需要?

    a. 方便了程式設計; b. 實現了分段共享; c. 實現了分段保護; d. 實現了動態連結; e. 實現了動態增長.

    14 在具有快表的段頁式儲存管理方式中,如何實現地址變換?

    首先,必須配置一段表暫存器,在其中存放段表始址和段長TL. 進行地址變換時,先利用段號S,與段長TL進行比較,若S

    的段內頁號P來獲得對應頁的頁表項位置,從中讀出該頁所在的物理塊號b,再用塊號b和頁內地址構成物理地址.

    15 為什麼說分段系統較之分頁系統更易於實現資訊共享和保護?

    a. 對於分頁系統,每個頁面是分散儲存的,為了實現資訊共享和保護,則頁面之間需要一一對應起來,為此需要建立大量的頁表項;

    b. 而對於分段系統,每個段都從0開始編址,並採用一段連續的地址空間,這樣在實現共享和保護時.只需為所要共享和保護的程式設定一個段表項,將其中的基址與記憶體地址一一對應起來即可.

    16 分頁和分段有何區別?

    a. 分頁和分段都採用離散分配的方式,且都要透過地址對映機構來實現地址變換,這是它們的共同點;

    b. 對於它們的不同點有三,第一,從功能上看,頁是資訊的物理單位,分頁是為實現離散分配方式,以消減記憶體的外零頭,提高記憶體的利用率,即滿足系統管理的需要,而不是使用者的需要;而段是資訊的邏輯單位,它含有一組其意義相對完整的資訊,目的是為了能更好地滿足使用者的需要;

    c. 頁的大小固定且由系統確定,而段的長度卻不固定,決定於使用者所編寫的程式;

    d. 分頁的作業地址空間是一維的,而分段的作業地址空間是二維的.

    17 試全面比較連續分配和離散分配方式.

    a. 連續分配是指為一個使用者程式分配一個連續的地址空間,包括單一連續分配方式和分割槽式分配方式,前者將記憶體分為系統區和使用者區,系統區供作業系統使用,使用者區供使用者使用,是最簡單的一種儲存方式,但只能用於單使用者單任務的作業系統中;分割槽式分配方式分為固定分割槽和動態分割槽,固定分割槽是最簡單的

    多道程式的儲存管理方式,由於每個分割槽的大小固定,必然會造成儲存空間的浪費;動態分割槽是根據程序的實際需要,動態地為之分配連續的記憶體空間,常用三種分配演算法: 首次適應演算法FF,該法容易留下許多難以利用的小空閒分割槽,加大查詢開銷;迴圈首次適應演算法,該演算法能使記憶體中的空閒分割槽分佈均勻,但

    會致使缺少大的空閒分割槽;最佳適應演算法,該演算法也易留下許多難以利用的小空閒區;

    b. 離散分配方式基於將一個程序直接分散地分配到許多不相鄰的分割槽中的思想,分為分頁式儲存管理,分段儲存管理和段頁式儲存管理. 分頁式儲存管理旨在提高記憶體利用率,滿足系統管理的需要,分段式儲存管理則旨在滿足使用者(程式設計師)的需要,在實現共享和保護方面優於分頁式儲存管理,而段頁式儲存管理

    則是將兩者結合起來,取長補短,即具有分段系統便於實現,可共享,易於保護,可動態連結等優點,又能像分頁系統那樣很好的解決外部碎片的問題,以及為各個分段可離散分配記憶體等問題,顯然是一種比較有效的儲存管理方式;

    c. 綜上可見,連續分配方式和離散分配方式各有各自的特點,應根據實際情況加以改進和利用.57

  • 中秋節和大豐收的關聯?
  • 親妹妹找了一個比她大19歲的男朋友,我該如何把她拉出火坑?