面试题——面经题目(1)
文章目錄
- 1. 進程調度算法
- 2.操作系統在調度線程時會做哪些事情
- 3.頁面置換算法
- 4.32位系統,64位的系統內存是多大
- 5.CPU的GHz是什么意思
1. 進程調度算法
進程調度規定了CPU執行就緒隊列中的多個進程的順序。
1.先來先服務 (FCFS,first come first served)
2.最短作業優先(SJF, Shortest Job First)
3.最高響應比優先法(HRRN,Highest Response Ratio Next)
響應比R定義如下: R =(W+T)/T = 1+W/T
其中T為該作業估計需要的執行時間,W為作業在后備狀態隊列中的等待時間。
4.時間片輪轉算法(RR,Round-Robin)
每個進程被分配一個時間段,稱作它的時間片,即該進程允許運行的時間。
5.多級反饋隊列(Multilevel Feedback Queue)
首先調度優先級高的隊列中的進程;
對于同一個隊列中的各個進程,按照時間片輪轉法調度
在低優先級的隊列中的進程在運行時,又有新到達的作業,那么在運行完這個時間片后,CPU馬上分配給新到達的作業(搶占式)。
2.操作系統在調度線程時會做哪些事情
操作系統會把不同的線程調度到同一個CPU上運行,而每個線程運行時又都會使用CPU的寄存器,但每個CPU卻只有一組寄存器,所以操作系統在把線程B調度到CPU上運行時需要首先把剛剛正在運行的線程A所使用到的寄存器的值全部保存在內存之中,然后再把保存在內存中的線程B的寄存器的值全部又放回CPU的寄存器,這樣線程B就能恢復到之前運行的狀態接著運行。
線程調度時操作系統需要保存和恢復的寄存器除了通用寄存器之外,還包括指令指針寄存器rip以及與棧相關的棧頂寄存器rsp和棧基址寄存器rbp,rip寄存器決定了線程下一條需要執行的指令,2個棧寄存器確定了線程執行時需要使用的棧內存。所以恢復CPU寄存器的值就相當于改變了CPU下一條需要執行的指令,同時也切換了函數調用棧
3.頁面置換算法
在地址映射過程中,若在頁面中發現所要訪問的頁面不在內存中,則產生缺頁中斷。 當發生缺頁中斷時,如果操作系統內存中沒有空閑頁面,則操作系統必須在內存選擇一個頁面將其移出內存, 以便為即將調入的頁面讓出空間。而用來選擇淘汰哪一頁的規則叫做頁面置換算法。1、最佳置換算法(OPT):標記最大的頁應該被置換。
2、先進先出置換算法(FIFO):即先進入內存的頁,先退出內存。
3、最近最久未使用(LRU)算法:把過去最長一段時間里不曾被使用的頁面置換掉,裁老員工。
4.32位系統,64位的系統內存是多大
32位系統理論上最大是能支持4G內存的,一個 32 位的操作系統, 它所能夠支持的尋址空間最大也就是 2 的 32 次方個字節Byte,換算成 GB 的話就剛好等于 4GB 。 這也就說明, 32 位的操作系統最大就只能夠讀取大約 4GB 的內存容量。64位操作系統的尋址能力就是2的64次方,理論內存是17179869184G 實際中不可能用到這么大的內存,目前64位windows系統最大只支持128G。內存識別的多少是和計算機cpu的尋址有關。 32位的操作系統理論上可以識別2的32次方個地址(4294967296B=4GB), 但計算機還要接外設(鼠標,打印機,鍵盤,網卡,聲卡,顯卡等等)這些外設也是需要占用地址空間的。5.CPU的GHz是什么意思
cpu的ghz是指cpu的主頻。GHZ是G赫茲的意思,就是CPU的處理頻率,是越高越好的。總結
以上是生活随笔為你收集整理的面试题——面经题目(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用AvalonDock制作WPF多标签
- 下一篇: C++学习——C++中的四种类型转换