【OS】操作系統瑣碎知識點整理

1、CS:段指針,IP:偏移指針;一個扇區有512字節。

X86計算機啓動時,cpu首先處於實模式;開機時,CS=0xFFFF,IP=0x0000,尋址0Xffff0(ROM BIOS映射區),這個區程序檢查鍵盤顯示器硬盤等硬件;接着將磁盤0磁道0扇區讀入0x7C00處,此時設置CS=0x07C0,IP=0x0000。

2、操作系統工作步驟:計算機工作原理是取址執行。一開始操作系統是在磁盤上,需要將其從磁盤載入內存中,才能取址執行。讀操作系統由引導扇區上的程序完成(bootsect.s),該程序分段讀取:首先讀入setup.s;接着調用13號中斷,把systerm.s部分讀入,此時操作系統讀入內存中。

3、多個進程如何組織?:用PCB放在不同隊列中,用狀態推進這多個進程,進行狀態轉換。多進程如何交替?:當啓動磁盤讀寫時,pCur狀態變爲阻塞狀態,接着被放入阻塞隊列,然後執行schedual()函數,這個函數很重要!

Schedule(){
    pNew=getNext(ReadyQueue);    //調度
    seitch_to(pCur,pNew)
}

操作系統依靠PCB感知進程,PCB(進程控制塊)是進程實體的一部分,是操作系統中最重要的記錄型數據結構。

4、活動就緒:進程在主存且可被調度的狀態;靜止就緒:進程在輔存而不能被直接調度的狀態,只有當主存中沒有活躍的就緒進程或者該靜止就緒進程具有更高的優先級,系統會將其調到主存並轉爲活動就緒

活動睡眠:進程在主存中的阻塞狀態,一旦等待事件產生便進入活動就緒狀態;靜止睡眠:進程在輔存中的阻塞狀態,一旦等待事件產生就進入靜止就緒狀態。

若進程正處於執行狀態時,因終端請求而暫停下來以便研究其運行情況,這時進程應轉爲靜止就緒狀態;若進程已處於睡眠狀態,則此時應轉爲靜止睡眠狀態。

5、競爭臨時資源爲什麼會產生死鎖?

臨時資源這是指由一個進程產生,被另一個進程使用,短時間後便無用的資源,故也稱爲消耗性資源,如硬件中斷、信號、消息、緩衝區內的消息等,它也可能引起死鎖。例如,SI,S2,S3是臨時性資源,進程P1產生消息S1,又要求從P3接收消息S3;進程P3產生消息S3,又要求從進程P2處接收消息S2;進程P2產生消息S2,又要求從P1處接收產生的消息S1。如果消息通信按如下順序進行:
P1: ···Relese(S1);Request(S3); ···
P2: ···Relese(S2);Request(S1); ···
P3: ···Relese(S3);Request(S2); ···
並不可能發生死鎖。但若改成下述的運行順序:
P1: ···Request(S3);Relese(S1);···
P2: ···Request(S1);Relese(S2); ···
P3: ···Request(S2);Relese(S3); ···

則可能發生死鎖。

6、虛擬存儲管理的調頁技術有:中斷請求調頁,預調頁技術;調度算法有:LRU算法、CLOCK算法、FIFO算法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章