1. 程式人生 > >作業系統之面試常考(後期補充)

作業系統之面試常考(後期補充)

動態分割槽分配演算法   1:首次適應演算法(FF):             要求地址空間遞增的順序連結,再分配記憶體時從鏈首開始查詢,知道有一個滿足的空間為止。該演算法優先利用記憶體中低址空間,保留了高址空間,缺點是低址部分不斷被劃分,留下許多記憶體碎片   2:迴圈首次適應演算法(NF):         為了防止留下碎片,減少低址空間開銷,NF演算法每次從上一次分配的地方繼續分配,該演算法需要一個起始查詢的指標用於指示下一次查詢的空間地址。缺點是:缺乏大的空間分割槽   3:最加適應演算法(BF):        每次作業分配時,總是把滿足要求,又是最小的空間分配給作業,該演算法把空間分割槽按其容量大小從小到大排列成空閒區鏈,缺點是:留下許多記憶體碎片
  4:最壞適應演算法(WF): 總是挑選最大的空閒區域分配給作業使用,優點是不至於使空閒區間太小,產生碎片的可能性小,缺點是:缺乏大的空間分割槽

分頁儲存管理方式

    分頁儲存的基本方法:         1:頁面和物理快   頁面:分頁儲存管理將程序的邏輯地址空間分成若干頁,並從0開始編號,把記憶體的實體地址分成若干塊(物理快)         2:地址結構:   頁號P ----- 偏移量W(包括頁號P和偏移量W),對於特定的機器其地址結構一定,給定邏輯地址A,頁面的大小為                                    L,則頁號P和頁內地址D有一下關係:P = int[A/L]; d=[A] MOD L  例如:頁面大小1kb A=2170B 得:p=2 d=122
        3:頁表:記錄相應頁在記憶體中對應的物理塊號         4:地址轉換機構:將使用者邏輯空間的地址,轉變為空間中的實體地址

分段儲存管理方式

        分段是管理不會產生記憶體碎片(短號 , 段內地址)         分段管理方式的引入原因:         1:一般程式分為若干段,如:主程式段、資料段、棧段等,每個段大多是一個相對獨立的單位         2:實現滿足資訊共享、資訊保護、動態連結、以及資訊動態增長等需要 分頁和分段的區別:   共同點:兩者都採用離散分配方式,且都地址對映機構來實現地址的轉換       不同點:         1:頁是資訊的物理單位採用分頁儲存管理方式是為了實現離散分配方法。提高記憶體的利用率,採用分段目的主要在於能更好的滿足使用者的需求
        2:頁的大小固定且有系統決定,在採用分頁儲存管理方式中直接由硬體實現。而段的大小不固定,決定於使用者所編寫的程式         3:分頁的地址空間是一維的,分頁完全是系統完全是行為,分段系統中是二維的。

段頁式儲存管理方式

 基本原理是分段和分頁相結合,其地址結構由:段號、段內頁號、頁內地址三部分組成。在段頁式系統中獲得一條指令需要三次訪問記憶體,第一次訪問記憶體中的段表,第二次訪問記憶體中的頁表,第三次訪問記憶體中的資料。

Windows下的記憶體是如何管理的?

 Windows提供了3種方法來進行記憶體管理:

    1:虛擬記憶體,最適合用來管理大型物件或者結構陣列;

    2:記憶體對映檔案,最適合用來管理大型資料流(通常來自檔案)以及在單個計算機上執行多個程序之間共享資料;

    3:記憶體堆疊,最適合用來管理大量的小物件。

 Windows操縱記憶體可以分兩個層面:實體記憶體和虛擬記憶體。

 其中實體記憶體由系統管理,不允許應用程式直接訪問

五、虛擬儲存器 

作業系統的內容分為幾塊?什麼叫做虛擬記憶體?他和主存的關係如何?記憶體管理屬於作業系統的內容嗎?

    作業系統的主要組成部分:程序和執行緒的管理,儲存管理,裝置管理,檔案管理。虛擬記憶體是一些系統頁檔案,存放在磁碟上,每個系統頁檔案大小為4K,物 理記憶體也被分頁,每個頁大小也為4K,這樣虛擬頁檔案和實體記憶體頁就可以對應,實際上虛擬記憶體就是用於實體記憶體的臨時存放的磁碟空間。頁檔案就是記憶體頁, 實體記憶體中每頁叫物理頁,磁碟上的頁檔案叫虛擬頁,物理頁+虛擬頁就是系統所有使用的頁檔案的總和。

相關推薦

作業系統面試後期補充

動態分割槽分配演算法   1:首次適應演算法(FF):             要求地址空間遞增的順序連結,再分配記憶體時從鏈首開始查詢,知道有一個滿足的空間為止。該演算法優先利用記憶體中低址空間,保留了高址空間,缺點是低址部分不斷被劃分,留下許多記憶體碎片,   2:迴圈首次適應演算法(NF):  

作業系統面試

動態分割槽分配演算法   1:首次適應演算法(FF):             要求地址空間遞增的順序連結,再分配記憶體時從鏈首開始查詢,知道有一個滿足的空間為止。該演算法優先利用記憶體中低址空間,保留了高址空間,缺點是低址部分不斷被劃分,留下許多記憶體碎片,   2:迴圈首次適應演算法(NF):  

操作系統面試

分配內存 如何實現 情況 運行時 互斥 作業 共享數據 環路 周轉時間 一、操作系統引論 操作系統目標 1:方面性,2:有效性,3:可擴展性,4:開放性 操作系統基本特性 1:並發、2:共享、3:虛擬、4:異步 描述多道批處理、分時、實時操作系統的特點各是什麽?

計算機網絡面試

dom 列表 路由 應用層 位數 用戶數據報 運輸層 產品 term 整理一下計算機網絡部分的面試常考點,參考書籍:《計算機網絡》第五版 謝希仁的那本,希望對大家有所幫助 OSI,TCP/IP,五層協議的體系結構,以及各層協議 OSI分層 (7層):物理層、數據

int和Integer的區別---面試

int和Integer的區別 1、Integer是int的包裝類,int則是java的一種基本資料型別 2、Integer變數必須例項化後才能使用,而int變數不需要 3、Integer實際是物件的引用,當new一個Integer時,實際上是生成一個指標指向此物件;而int則是直接儲存資

計算機網路面試--整理來自牛客網

OSI,TCP/IP,五層協議的體系結構,以及各層協議 OSI分層(7層):物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層。 TCP/IP分層(4層):網路介面層、 網際層、運輸層、 應用層。 五層協議 (5層):物理層、資料鏈路層、網路層、運輸層、應用層。 每

java面試題技術面試問題彙總陸續補充

1.堆,棧,方法區的區別? 堆區: ①存放的都是物件,每個物件都包含著一個與之相對應的class的資訊,class的目的是得到一些操作指令 ②jvm中只有一個堆區,被所有執行緒共享,堆區不存放基本型別和物件引用,只存放物件本身。 棧區: ①每個執行緒包含一個棧區,棧中只儲存基礎

PHP面試內容面向對象2

值傳遞 擴展名 分享 自己 當前 pty 實例化 face 調用父類 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優質的PHP面試內容。繼上一篇“PHP面試常考內容之面向對象(1)”發表後,今天更新(2),需要(1)的可以直接點擊文字進行跳轉獲取。整個面向對象文章

Verilog HDL 筆試 & 面試程式碼精選

Q:用Verilog HDL實現1bit訊號邊沿檢測功能,輸出一個週期寬度的脈衝訊號。 這裡是微信公眾號的連結:Verilog筆面試常考程式碼精選10題 A: 一、原理   脈衝邊沿的特性:兩側電平發生了變化,如上圖所示一個脈衝,既有上升沿還有下降沿。 如果檢

二叉排序樹的建立和查詢面試

在眾多查詢方法中,二叉排序樹查詢是比較好的一種查詢,其效率比順序查詢,折半查詢,插值查詢,斐波納契查詢等都要好。 二叉排序樹的建立 首先要了解而叉排序樹如何建立,給定一組陣列,建立一個而叉排序樹 #include <iostream>

面試:排序演算法2希爾排序,歸併排序,堆排序

希爾排序 O(N^d),最壞O(N^2),不穩定 void ShellSort(int A[],int N) { /*O(N^d),最壞O(N^2),不穩定*/ int Si,D,P,i; int tmp; int Sedgewick[]={929,505,209,109,41,

java常用集合,詳解個人理解以及面試

ArrayList ArrayList類是一個特殊的陣列。它來自於System.Collections名稱空間;通過新增和刪除元素,就可以動態改變陣列的長度。ArrayList實現了List介面,是順序容器,即元素存放的資料與放進去的順序相同,允許放入null元素,底層通過

C/C++面試題目討論二:如何通過函式來分配空間

如何將malloc放在函式裡,如何寫這個函式,以及如何呼叫是經常遇到的問題。 看題目: 1.看下面程式碼有什麼問題 void GetMemory( char *p ) { p

C++筆試面試知識點彙總

51:頂層const與底層const的區別? 用名詞頂層const表示指標本身是個常量,而用名詞底層const表示指標所指的物件是一個常量。 更一般的,頂層const可以表示任意的物件是常量,這一點對任何資料型別都適用。 而底層const則

資料探勘機器學習面試--SVM面試問題

應聘資料探勘工程師或機器學習工程師,面試官經常會考量面試者對SVM的理解。 以下是我自己在準備面試過程中,基於個人理解,總結的一些SVM面試常考問題(想到會再更新),如有錯漏,請批評指正。(大神請忽視) 轉載請註明出處:blog.csdn.net/szlcw1 SVM的原

JAVA中值型別和引用型別的不同面試

轉載:https://www.cnblogs.com/1ming/p/5227944.html1、 JAVA中值型別和引用型別的不同?[定義] 引用型別表示你操作的資料是同一個,也就是說當你傳一個引數給另一個方法時,你在另一個方法中改變這個變數的值,那麼呼叫這個方法是傳入的變

為什麼tcp建立連線是三次握手而不是兩次握手或者四次握手?筆試面試

        先說說tcp三次握手,  不細說了, 也就是syn,  ack/syn,  ack.         為什麼不能是兩次呢?         先假設是兩次吧。我們知道, tcp的連線過程中有一個超時重傳演算法(karn演算法是比較典型的), 如果client發

C++筆試面試知識點彙總

128:引用 引用就是某個物件的別名,其最主要作用是函式傳參。 //變數引用 int val=1; int &refval=val; refval=2; cout<<val<<endl;//輸出2 //常量引用 co

雜湊表碰撞,複雜度——筆試面試問題

本文轉自:http://www.blogbus.com/shijuanfeng-logs/172381700.html 散列表(Hash table,也叫雜湊表),是根據關鍵碼值(Key value)而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中一個位置

前端事件繫結知識點面試

簡介 事件是可以被 JavaScript 偵測到的行為。 網頁中的每個元素都可以產生某些可以觸發 JavaScript 函式或程式的事件。 事件通常與函式配合使用,當事件發生時函式才會執行。 執行JS 事件的方式: HTML 事件屬性可以直接執行