xxx
分析操作系統與硬件、操作系統與其他系統軟件之間的關系,並嘗試畫出計算機系統的層次關系。
操作系統的發展歷史、操作系統的地位
操作系統如何實現計算機操作的自動化?如何看待操作系統在計算機系統中的地位?
實現分時系統的關鍵問題是什么?應如何解決?
什么是硬實時任務?什么是軟實時任務?試舉例說明
操作系統特征:“虛擬”體現在操作系統的各方面應用當中,請舉出兩個“虛擬”的例子。
處理機狀態被划分為核心態和用戶態,這給操作系統設計帶來什么好處?
進程控制塊是操作系統為管理進程而建立的數據結構,是進程存在的唯一標識,請大家思考進程控制塊中主要包括什么信息?在系統中,進程控制塊是如何組織的?
用戶級線程和內核支持級線程有何區別?(考研真題)請大家主要從以下四個方面進行比較(1)內核支持(2)處理機的分配(3)調度和線程執行時間(4)切換速度
三、進程同步和通信
並發進程的制約關系
並發執行的進程都存在什么樣的關系?僅存在競爭CPU關系的並發進程有關系嗎?除了CPU外,還共享其他資源的並發進程它們之間有何關系?
臨界資源和臨界區
什么是臨界資源?什么是臨界區?
進程互斥的解決方案
進程互斥問題的解決可以采用硬件方法來實現,其中“關中斷”就是硬件實現方法的一種,簡述這種方法如何實現進程互斥。
同步(前驅圖)
P1、P2、P3、P4、P5、P6為一組合作進程,其前驅圖如圖所示,試用P、V操作完成這6個進程的同步的描述,按1—15的順序給出正確答案。
同步互斥混合問題
某銀行提供了一個服務窗口和10個供顧客等待時使用的座位。顧客到達銀行時,若有空座位,則到取號機上領取一個號,等待叫號。取號機每次僅允許一位顧客使用。當營業員空閑時,通過叫號選取一位顧客,並為其服務。試用P、V操作完成顧客和營業員的活動過程描述,請按順序給出1-6空的內容。
信號量機制解決進程同步和互斥問題
相比前面介紹的軟件方法和硬件方法實現進程互斥,信號量機制的顯著優點是什么?
兩個P操作的順序是否能夠交換?
用信號量機制實現生產者-消費者問題時,在生產者或者消費者程序都有兩個P操作,是否能夠交換這兩個P操作的順序?為什么?
讀者寫者問題
讀者-寫者是一個什么樣的問題(比如同步問題、互斥問題或者同步互斥都有的問題)?讀者優先的控制需要定義幾個信號量?每個信號量的作用是什么?
哲學家進餐問題
哲學家進餐問題中,如果僅考慮互斥使用資源問題,定義了5個互斥信號量實現對叉子的互斥使用,在進餐前先申請左手叉子,再申請右手叉子,吃完飯再依次釋放這兩把叉子,則有可能出現什么問題?
管程
管程中的條件變量有什么作用?
消息傳遞機制的實現進程通信的同步控制問題
消息傳遞系統分為直接通信方式和間接通信方式,請同學們思考直接通信方式不考慮緩沖區個數的前提下,發送進程和接收進程它們之間的同步關系。
四、處理機調度
三級調度體系
什么是中級調度?中級調度調度的對象是什么?分時系統里有作業調度嗎?
基於優先級調度算法
有5個進程Pa、Pb、Pc、Pd和Pe,同時依次進入就緒隊列,它們的優先級(數字大的優先級低)和需要的處理器時間如表所示。忽略進程調度等花費的時間,請回答下列問題。
(1)采用非搶占式優先數調度算法,請計算各進程的周轉時間。
(2)分析在這5個進程執行的過程中(假設沒有其他進程被創建),則處於執行、阻塞和就緒狀態的進程數量的最小值和最大值分別可能是多少?
作業和進程調度
- 有一個具有兩道作業的批處理系統,作業調度采用短作業優先的調度算法,進程調度采用以優先數為基礎的搶占式調度
(1) 列出所有作業進入內存時間以及結束時間。
(2) 計算周轉時間。
五、死鎖
死鎖概念的理解
判斷:
某進程占有一個資源,又在等待被其他進程占有的資源,我們說這個進程陷入死鎖。
每個參與死鎖的進程均等待資源。
某狀態的資源分配圖存在環路等待條件,則說這個狀態肯定死鎖。
死鎖進程是系統中當前進程集合的一個子集。
死鎖避免
銀行家算法:
有三類資源A(17)、B(5)、C(20)。有5個進程P1—P5。T0時刻系統狀態如下:
問(1)、T0時刻是否為安全狀態,給出安全系列。
(2)、T0時刻,P2: Request(0,3,4),能否分配,為什么?
(3)、在(2)的基礎上P4:Request(2,0,1),能否分配,為什么?
(4)、 在(3)的基礎上P1:Request(0,2,0),能否分配,為什么?
六、內存管理
多級頁表
某計算機系統按字節編址,采用二級頁表的分頁存儲管理方式,虛擬地址格式如表所示。請回答下列問題。
(1)頁和頁框的大小各為多少字節?進程的虛擬地址空間大小為多少頁?
(2)假定頁目錄項和頁表項均占4B,則進程的頁目錄和頁表共占多少頁?要求寫出計算過程。
(3)若某指令周期內訪問的虛擬地址為0100 0000H和0111 2048H,則進行地址轉換時共訪問多少個二級頁表?請說明理由。
頁和段的區別
我們學習了分頁存儲管理和分段存儲管理,請大家討論頁和段有什么區別
七、虛擬存儲管理
存儲擴充技術
請大家思考兩種存儲擴充技術的區別以及它們打破了之前程序執行的什么限制?
虛擬頁式管理的頁表
為了實現虛擬頁式存儲器,要求頁表通常要增加哪些字段?
頁面的置換算法1
(名校考研真題)某系統的頁面大小是1KB,某程序的大小是4.9KB,依次裝入如下邏輯地址訪問存儲器:756、897、1044、1950、235、4000、1504、2597、2896、4501、4890、3768。請根據做給信息,解決以下問題。
(1)寫出程序的頁面訪問序列。
(2)假設只有2KB內存可供程序使用,開始時內存為空,采用LRU頁面置換算法,則會發生多少次缺頁中斷?
頁面置換算法2
(名校考研真題)某OS采用請求分頁存儲管理方式,現有一個進程需要訪問的地址序列(字節)是:115、228、120、88、446、102、321、432、260、167。假設該進程的第0頁已被裝入內存,並分配給該進程300B,頁的大小為100B,試回答采用LRU頁面置換算法將發生多少次頁面置換?依次淘汰的頁面號是多少?頁面置換率是多少?
頁面置換算法3
請求分頁管理系統中,假設某進程的頁表內容如下表所示。
頁面大小為 4KB,一次內存的訪問時間是 100ns,一次快表(TLB)的訪問時間是 10ns,處理一次缺頁的平均時間為 108ns(已含更新 TLB 和頁表的時間), 進程的駐留集大小固定為 2,采用最近最少使用置換算法(LRU)和局部淘汰策 略。假設①TLB 初始為空;②地址轉換時先訪問 TLB,若 TLB 未命中,再訪問頁 表(忽略訪問頁表之后的 TLB 更新時間);③有效位為 0 表示頁面不在內存,產生缺頁中斷,缺頁中斷處理后,返回到產生缺頁中斷的指令處重新執行。設有虛 地址訪問序列 2362H、1565H、25A5H,請問:
(1)依次訪問上述三個虛地址,各需多少時間?給出計算過程。
(2)基於上述訪問序列,虛地址 1565H 的物理地址是多少?請說明理由。
工作集和缺頁率的關系
為了保證作業的有效運行,減少缺頁次數,分配給某作業的內存塊數應和工作集有什么樣的關系?為了避免系統發生抖動,應該限制系統內的作業數,工作集總尺寸和主存塊總數之間應該符合什么條件?
八、設備管理
IO軟件層次
不同層次的I/O軟件實現不同的功能
I/O軟件一般分為4個層次:用戶層I/O、與設備無關軟件層、設備驅動及中斷處理程序。請分析一下兩種工作是在那一層完成的?(1)向設備寄存器寫命令。(2)檢查用戶是否有權使用設備。
緩沖技術
某文件占10個磁盤塊,現要把該文件所占的磁盤塊逐個讀入內存緩沖區,並送往用戶區去進行分析,假設一個緩沖區和一個磁盤塊的大小相等,把一個磁盤塊讀入緩沖區的時間為100µs,將緩沖區的數據傳送到用戶區的時間是50µs,CPU對一塊數據進行分析的時間為50µs,試分析在雙緩沖區結構下,讀入並分析完該文件需要的時間是多少?
磁盤調度
(全國統考真題)某計算機系統中的磁盤有300個柱面,每個柱面有10個磁道,每個磁道有200個扇區,扇區大小為512B。文件系統的每個簇包含兩個扇區。假設磁頭在85號柱面上,此時有3個磁盤訪問請求,簇號分別為:100260、60005、110560。若采用SSTF調度算法,請分析論述系統訪問簇的先后次序是怎樣的?
九、文件管理
文件物理結構
在UNIX操作系統中,給文件分配外存空間采用的是混合索引分配方式,如圖所示,UNIX系統中的某個文件的索引節點有10個直接塊,有一個一級間接塊,一個二級間接塊以及一個三級間接塊,間接塊指向的是一個索引塊,每個索引塊和數據塊的大小均為4KB,而UNIX系統中地址所占空間為4B。假設以下問題都建立在該索引結點已經在內存中的前提下。
(1)文件的大小為多大時可以只用到索引結點的直接塊?
(2)該索引結點能訪問到的地址空間大小總共為多大?要求給出完整正確的式子不必計算。
(3)若要讀取一個文件的第10000B的內容,需要訪問磁盤多少次?