- 并發和( 共享 ) 是操作系統的兩個最基本的特征,( 虛擬 )和( 異
步 ) 是操作系統的重要特征,并發執行的程序失去可再現性 - 現代操作系統的兩個基本特征是(程序的并發執行)和資源共享。
- 單處理機系統中,可并行的是(2,3,4) 1.進程與進程 2.處理機與設備 3.處理機與通道 4.設備與設備
- 程序并發執行的特點:間斷性、失去封閉性、不可再現性
- 特權指令只能在核心態下運行,而不能在用戶態下執行。( √ )
- 進程調度是從后備隊列中按一定的調度策略選擇一個進程占用 CPU。 ( √ ),線程是調度的基本單位,但不是資源分配的基本單位。 ( √ )
- 死鎖預防:一次性分配(也叫全部分配)破壞了“請求和保持”條件,資源的按序分配破壞了“循環等待“條件。
- 產生死鎖的原因:(1)競爭不可搶占資源(2)競爭可消耗資源(3)進程推進順序不當
- 只要系統發生死鎖,一定是具備了產生死鎖的四個條件。 ( √ )
- 進程發出 I/O 請求后將被阻塞,直至 I/O 操作完成。 ( √ )
- 原語的使用:(1)等待事件發生會由阻塞態到就緒態,使用wakeup()喚醒原語;(2)活動就緒到靜止就緒,suspend();(3)運行到等待使用block()阻塞原語;(4)
- 阻塞是進程自身的一種( 主動 )行為
- 同步(信號量)機制應遵循的準則:( 空閑讓進 )、( 忙則等待 )、( 有
限等待 )和( 讓權等待 )。 - 進程調度是從就緒隊列選擇一個進程投入運行。
- 在程序運行前,先將一個程序的所有模塊以及所需的庫函數鏈接成一個完成的裝配模塊。這種鏈接方式稱為( 靜態鏈接 );裝入時動態鏈接是指將用戶源程序編譯后得到的一組目標模塊,在裝入內存時采用邊裝入邊鏈接的鏈接方式。
- 執行Wait(P操作)信號量S-1? 當信號量S<0進入阻塞態(也可以說進入等待序列),|信號量|=等待進程數;執行Signal(V操作),信號量S+1,信號量S<=0后,喚醒阻塞(等待)隊列中的進程。
- 進程在同一時間間隔發生是并發性
- 進程實體由三部分構成:程序段、數據集和進程控制塊PCB,ps操作系統通過PCB感知進程的存在。PCB是進程存在的唯一標志。
- 同一進程中的所有線程可共享它們所共屬的進程所擁有的資源和變量
- 進程的三個狀態:
運行態:進程占有處理器CPU運行
就緒態:進程具備運行條件等待CPU
等待態:進程由于等待資源、輸入輸出、信號等而不具備運行條件
三態間的轉換:
運行態—>等待(阻塞)態:I/O請求、等待資源或某事件發生、輸入或輸出事件完成
等待態—>就緒態:I/O 完成也可以說是等待的事件發生(eg. 當前進程因使用打印機打印完成時,該進程應轉變為( 阻塞變就緒態)、獲得了所等待的資源、數據傳輸完成、現運行進程執行了V操作? ?
就緒態—>運行態:進程調度、獲得CPU
運行態—>就緒態:運行時間片完、有更高優先權進程搶占
Ps:就緒不能直接到阻塞態
輸入輸出操作正常結束時,操作系統將請求該操作的進程的狀態設置成就緒態
- 銀行家算法是避免死鎖
- 當系統處于安全狀態時,系統中一定無死鎖進程;不安全狀態可能死鎖
- 進程同步:(直接制約關系,指一個進程執行完后,另一個進程才能開始,否則不能開始。)指兩個或兩個以上的進程由于某種時序上的限制而形成的相互合作的制約關系。比如,生產者和消費者的關系。
進程互斥:
(間接制約關系,指一個進程訪問共享資源時,其他需訪問此資源的進程必須等待。 ) - 高級調度又稱為長程調度或作業調度,中級調度又稱為內存調度
- 引入 TLB 快表是為了解決分頁時兩次內存訪問的問題。 ( √ )
- 靜態重定位是程序在裝入內存時完成地址變換。√
- 動態重定位,地址變換是發生在(程序執行時)。
- 采用( 分段式存儲管理)不會產生內部碎片。
- 地址映射是指將程序空間中的邏輯地址變為內存空間的物理地址 √
- 隱式鏈接文件是在每個盤塊中設置一個鏈接指針,用于將文件的所有盤塊都鏈接起來,顯式鏈接是建立一張 FAT 表。( √ )
- 頁式的地址是一維的,段式的地址是二維的。√??????? ??????? ??? 解析:分頁將進程的邏輯地址空間分成若干個頁,把內存的物理地址空間分為若干個塊。分段將整個作業的地址空間分成多個段,所以呈現出二維特性。頁式存儲地址 只需一個標識符即可表示一地址 所以是一維
- 引入緩沖區可以( 提高CPU與設備之間的并行程度)
- 分區算法:最佳適應算法優先利用內存中的較小的空閑分區,從而保留了較大的空閑分區,首次適應分區分配算法高地址部分會形成很多小的難以利用的碎片。
- 常用的文件存取方法有兩種:順序存取和( 隨機)存取。
- 根據文件的存取控制屬性不同,可將文件分為可執行文件、( 只讀文件 )、( 讀/寫文件 ),根據文件的性質和用途分類,將文件分為( 用戶文件 )、系統文件、庫文件
- JCB( 作業控制塊 ) FCB ( 文件控制塊 )TCB ( 線程控制塊 )
- 在請求分頁存儲管理系統中,頁面分配策略與頁面置換策略的組合有( 固定分配局部置換 )、 可變分區全局置換、( 可變分配局部置換 )
- 首次適應算法中,要求空閑分區按(空閑區起始地址遞增?)的順序形成空閑分區鏈;
- 在最佳適應算法中是按(?空閑區大小遞增)順序形成空閑分區鏈;
- 最壞適應算法中是按(?空閑區大小遞減)
?
?
題目變形:
虛擬設備是指把一個物理設備變換成多個對應的邏輯設備,它通過邏輯設備表來實現×前半句正確,后半句是通過SPOOLING實現的。?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
大題解題過程
?
?
Semaphore numget=1,seats=10,customer=0; ???
Ps:其實這里seats相當于empty=n(有幾個存儲空間),customer相當于full=0;(物品數)
//numget是關于取號機的互斥信號量,
Process 顧客i{???????????????????????????? Process 營業員{
P(seats);?? //查看是否有空座位?????????????????????????? while(TRUE){
?????? P(numget);?? //從取號機取號???????????????????????????????????? P(customer);
?????? 取號?????????????????????????????????? ??????????????????? 取號
?????? V(numget);?? //釋放取號機?????????????????????????????????????????????? 為顧客服務
?????? V(customer);? //通知營業員???????????????????????????????? }
?????? 等待叫號;
?????? V(seats);??
接受服務
}
Semaphore windows=1,customer=30;?
?//windows為互斥信號量,初值為1,customer為抽血房間人數,初值為30
抽血者i{
Wait(customer);? //申請一個抽血房間p++
Wait(windows);
Signal(windows);? //互斥操作夾中間
Signal(customer); //用完后釋放p--
}
?
?
頁面大小1KB=1024B;
頁號=邏輯地址/頁面大小(取整)
3KB內存,物理塊數=3/1=3塊
?
?
?
?
?