2012級:操作系統 第一題是用英文解釋概念 比如進程線程等等
還有死鎖以及死鎖檢測和死鎖預防算法 就是那個銀行家算法
最后一題用信號量解決實際問題
操作系統還考了虛擬內存 好像有個頁面置換
概念題(英文)5*3份
簡答題、計算題、編程題:10+分/題
CPU調度;銀行家算法;磁盤調度;
分段式、分頁式的區別;
總結子系統共有的特點;
編程(利用信號量實現同步和互斥,用語言描述、分析有多少進程、各干什么、使用資源哪些共享哪些互斥,幾個信號量的初值,wait和signal的位置)
Q:OS如何實現保護(CPU、內存、I/O)
A:在分頁環境下,內存保護是通過與每個幀相關聯的保護位來實現的,通常存在頁表中。
采用內存保護的操作系統可以預防許多硬件和應用程序的錯誤。
I/O的保護:為了防止用戶執行非法I/O,定義所有I/O指令為特權指令,因此用戶必須通過操作系統來進行操作。操作系統在監控模式下,檢查請求是否合法,如合法,則處理I/O請求,然后返回給用戶。另外,所有的內存映射和I/O端口內存位置都收到內存保護系統的保護。
Q:進程和線程;
A1:手抄整理部分
A2:
每個進程由4個要素組成:控制塊,程序塊,核心塊和數據塊(*略有不同)
進程上下文又3部分組成:用戶級上下文,寄存器上下文,系統級上下文
進程控制塊包含3類信息:標識信息,現場信息,控制信息
PCB(進程控制塊)是操作系統中最為重要的數據結構
進程組織方式—進程隊列
隊列:把處于同一狀態的所有進程的PCB鏈接在一起的數據結構成為進程隊列?隊列的組織方式:線性方式,鏈接方式,索引方式
Q:wait和signal的內容;
A:wait(semaphore *s)
{
s->value - -;
if (s->value<0)
{
add this process to s->list;
block();
}
}
signal(semaphore *s)
{
s->value + +;
if (s->value<=0)
{
remove a process P from s->list;
wakeup(P);
}
}
Q:進程同步;
A:是指并發進程之間存在一種制約關系,一個進程的執行依賴另一個進程的消息,當一個進程沒有得到另一個進程的消息時應等待,直到消息到達才被喚醒。
稱為直接制約關系,這些進程的并發是異步的,它們相互合作,共同完成一項任務。在操作系統中,要對并發進程進行同步。
Q:操作系統各個部分具有的特性;
OS有哪幾大特征?其最基本的特征是什么?
并發性、共享性、虛擬性和異步性。最基本的特征是并發性。
在微內核OS中,為什么要采用客戶/服務器模式?--C/S 模式具有獨特的優點:⑴數據的分布處理和存儲。⑵便于集中管理。⑶靈活性和可擴充性。⑷易于改編應用軟件。
試描述什么是微內核OS--1)足夠小的內核 2)基于客戶/服務器模式3)應用機制與策略分離原理 4)采用面向對象技術
Q:分時系統(人機交互、多進程并發、及時響應)、批處理系統;
A:
Q:機制(信號量、進程同步、銀行家算法、CPU調度)
Q:選擇進程調度算法的準則是什么?
由于各種調度算法都有自己的特性,因此,很難評價哪種算法是最好的。一般說來,選擇算法時可以考慮如下一些原則:
① 處理器利用率;
② 吞吐量;
③ 等待時間;
④ 響應時間。
在選擇調度算法前,應考慮好采用的準則,當確定準則后,通過對各種算法的評估,從中選擇出最合適的算法。