操做系統2015(四川大學軟件學院)

1.操做系統是計算機系統的一種系統軟件,它統一管理計算機系統的資源和控制程序的運行。
2.OS幾大特徵(1)併發(Concurrence),共享(Sharing),虛擬(Virtual),異步性(Asynchronism). (2) 當中最基本特徵是併發和共享. 
3.設計現代OS的目標是方便性,有效性。可擴充性和開放性. 
4.批處理操做系統?用戶準備好要運行的程序、數據和控制做業運行的說明書。由操做員輸入到計算機系統中等待處理。

操做系統選擇做業並按做業說明書的要求本身主動控制做業的運行。算法

採用這樣的批量化處理做業的操做系統稱爲批處理操做系統。安全


5.對特權指令的使用有什麼限制?
僅僅贊成操做系統使用特權指令,用戶程序不能使用特權指令。
6.爲何說批處理多道系統能極大地提升計算機系統的工做效率?
① 多道做業並行工做,下降了處理器的空暇時間。數據結構


② 做業調度可以合理選擇裝入主存儲器中的做業,充分利用計算機系統的資源。
③ 做業運行過程當中再也不訪問低速設備,而直接訪問快速的磁盤設備,縮短運行時間。多線程


④ 做業成批輸入,下降了從操做到做業的交接時間。併發


7.操做系統爲用戶提供哪些接口?
操做系統爲用戶提供兩種類型的使用接口:
一是操做員級的。它爲用戶提供控制做業運行的途徑。
二是程序猿級的,它爲用戶程序提供服務功能。app


8.微內核操做系統的描寫敘述及長處? 
答:描寫敘述:足夠小的內核、基於客戶/server模式、應用「機制與策略」分離原理、採用面向對象技術。 
長處:提升了系統的可擴展性、加強了系統的可靠性、可移植性、提供了對分佈式系統的支持和融入了面向對象技術。  
9.操做系統的用戶接口有:命令接口、程序接口、圖形接口 
10.操做系統的分類:串行處理,簡單批處理,多道批處理,分時系統11.什麼是多道 多道處理的優勢多道就是指在內存空間容納的下操做系統和多個用戶程序時(>2),那麼當一個做業需要等待I/O時。處理器可以切換到還有一個可能不需要等待I/O的做業。這樣的處理稱爲multiprogramming.
提升處理器的利用效率,平均資源利用率。吞吐量和響應時間也獲得了改善
12.什麼是程序控制塊 由操做系統建立和管理,能夠存放與一個進程有關的標識符。狀態,優先級。PC。上下文數據等一系列信息的數據結構,是操做系統是能支持多進程的關鍵工具
13.進程與程序的差異 ①程序是靜態的,進程是動態的; 
②進程更能真實地描寫敘述併發,而程序不能; 
③進程具備建立其它進程的功能。而程序沒有 
④進程僅僅是一次運行過程,有生命週期;而程序可做爲軟件資源長期保存,是相對長久的; 
⑤進程是系統分配調度的獨立單位,能與其它進程併發運行; 
14.原語是由若干條指令組成的。用於完畢必定功能的一個過程,與通常過程的差異在於:它們是―原子操做‖,它是一個不可切割的基本單位,在運行過程當中不一樣意中斷。
15.進程相互排斥:由於各進程要求共享資源。而有些資源需要相互排斥使用,所以各進程間競爭使用這些資源,進程的這樣的關係爲進程的相互排斥。 
進程同步:在併發運行過程當中,合做完畢同一個任務的多個進程,在運行速度
或某些時序點上必須相互協調的合做。這樣的制約性關係叫做進程同步。異步


16.引發建立進程的事件以及建立過程? 事件:(1)用戶登陸。(2)做業調度;(3)提供服務。(4)應用請求(本身建立進程)。 過程:(1)申請空白PCB;(2)爲新進程分配資源;(3)初始化進程控制塊;(4)將新進程插入就緒隊列。  
17.引發進程終止事件? (1)正常結束; (2)異常結束(越界錯誤、保護錯、非法指令、特權指令錯、執行超時、等待超時、算術運算錯和I/O故障)。 
(3)外界干預(操做員或操做系統干預、父進程請求和父進程終止)。分佈式

 
18.什麼是線程?多線程技術具備哪些優越性?
線程是進程中可獨立運行的子任務。一個進程可以有一個或多個線程,每個線程都有一個唯一的標識符。線程與進程有不少類似之處,每每把線程又稱爲「輕型進程」,線程與進程的根本差異是把進程做爲資源分配單位。而線程是調度和運行單位。
多線程技術具備多個方面的優越性:
① 建立速度快、系統開銷小:建立線程不需要另行分配資源;
② 通訊簡潔、信息傳送速度快:線程間的通訊在統一地址空間進程,不需要額外的通訊機制。
③ 並行性高:線程能獨立運行,能充分利用和發揮處理器與外圍設備並行工做的能力。
19.對進程的描寫敘述特徵? 
(1)結構特性(程序段、數據段和PCB);(2)動態性;(3)併發性。(4)獨立性;(5)異步性。進程是進程實體的執行過程,是系統的進行資源分配和調度的一個獨立單位。工具

  
20.引入掛起(suspend)狀態的緣由? 
(1)終端用戶的請求(2)父進程請求(3)負荷調節的需要(4)操做系統的需要。
21.試比較進程調度與做業調度的不一樣點。
① 做業調度是宏觀調度,它決定了哪個做業能進入主存。進程調度是微觀調度,它決定各做業中的哪個進程佔有中央處理器。
② 做業調度是選符合條件的收容態做業裝入主存。進程調度是從就緒態進程中選一個佔用處理器。
22.ULT與KLT的優缺點ULT,用戶級線程 進程內線程的建立或終止,內核都是不知道的。內核是以進程爲調度單位的,並且制定地爲一個進程指定狀態
長處:線程切換不需要內核態特權。可以有本身的調度算法,而不涉及改變操做系統的基本調度算法。缺點:一個應用程序中的一個線程堵塞,其他線程也會堵塞。post

內核儘管把一個處理器分給一個進程,其實是僅僅處理了一個線程
KLT,有關線程的管理的所有工做都是由內核完畢的,應用程序部分沒有線程庫等線程管理的代碼,調度也是內核基於線程完畢的。長處:可以把一個進程的多個線程調度到多個處理器裏一個線程被堵塞,處理器可以調度到還有一個線程。缺點:切換需要內核狀態的改變
23.併發:在操做系統中。一個時間段中有幾個程序都處於已啓動執行到執行完成之間,且這幾個程序都是在同一個處理機執行,但任一時刻僅僅有一個程序在處理機上執行
24.競爭條件:多個線程或者進程在對一個共享數據進行讀寫時,結果依賴於它們運行的相對時間的情形
25.信號量:用於進程間傳遞信息的一個整數值
26.相互排斥當一個進程在臨界區訪問共享資料是,其它進程不能進入該臨界區訪問不論什麼共享資源
27.臨界區是一段代碼。在這段代碼中進程將訪問共享資源
28.同步是指兩個或兩個以上隨時間變化的量在變化過程當中保持必定的相對關係
29.死鎖兩個或者兩個以上的進程,當中每個資源都在等待其它進程做業某件事而不能繼續運行的情形
30.活鎖 兩個或者兩個以上的進程爲了響應其它進程中的變化而不斷地改變本身的狀態(不放棄CPU,嘗試-失敗-嘗試)但不作實用的工做的情形
活鎖的實體是在不斷的改變狀態, 而處於死鎖的實體表現爲等待
兩個線程發生了某些條件的碰撞後又一次運行,那麼假設再次嘗試後依舊發生了碰撞,長此下去
31.信號量的分類 二元信號量:僅僅取0值和1值的信號量
計數信號量:就是可以取很是多數值的信號量,整數,負數都可以。非二元信號量 
強信號量 :被堵塞最久的進程最早從隊列釋放 
弱信號量 :沒有規定進程從隊列中移出的順序的信號量 
32.飢餓是指一個可運行的進程雖然能夠繼續運行,但被調度程序無限期地忽視,而不能被調度運行
33.簡述解決死鎖問題的三種方法。
① 死鎖的防止。系統按預約的策略爲進程分配資源,這些分配策略能使死鎖的四個必要條件之中的一個不成立。從而使系統不產生死鎖。
②死鎖的避免。

系統動態地測試資源分配狀況,僅當能確保系統安全時纔給進程分配資源。
③死鎖的檢測。

對資源的申請和分配不加限制,僅僅要有剩餘的資源就呆把資源分配給申請者,操做系統要定時推斷系統是否出現了死鎖,當有死鎖發生時設法解除死鎖。
④解除死鎖
34.預防死鎖的方法 
a.摒棄"請求和保持"條件 b.摒棄"不剝奪"條件 c.摒棄"環路等待"條件  
35.死鎖的三個必要條件:相互排斥。一次僅僅有一個進程可以使用一個資源
佔有且等待,當一個進程等待其餘資源時,繼續佔有當前已經分配的資源
不可搶佔,不能強行佔有進程已佔有的資源
36.死鎖的四個充分條件:相互排斥條件:一個資源每次僅僅能被一個進程使用。
請求與保持條件:一個進程因請求資源而堵塞時,對已得到的資源保持不放。


不剝奪條件:進程已得到的資源。在末使用完以前。不能強行剝奪。
循環等待條件:若干進程之間造成一種頭尾相接的循環等待資源關係。


37.可重用資源是指一次僅僅能供一個進程安全地使用,而且不會由於使用而耗盡。可消耗資源是指可以被建立(生產)和銷燬(消耗)的資源
38.內存管理的需求固定分區:內部碎片。動態分區:外部碎片。簡單分頁:每個進程被劃分紅不少大小與頁框相等的頁,裝入一個進程需要把進程包括的所有頁都裝入。不必定連續,無外部有內部碎片;簡單分段:段長度不必定。外部碎片
虛擬內存分頁:除了不需要裝入所有頁,其他與簡單分頁同樣
虛擬內存分段:除了不需要裝入所有段,其他與簡單分段同樣
重定位:就是把程序的邏輯地址轉換成物理地址的過程
39.內部碎片與外部碎片差異
內部碎片:由於固定長度切割區域,因此當一個程序導入固定大小的區域裏時。假設程序大小小於切割區域,就會有剩餘空間,形成內部碎片
外部碎片:因爲程序不斷地被加載和置換,使得內存空間被分配成不少不連續的區塊,剩下的空間因爲地址不連續沒法加載進程運行。形成外部碎片
外部碎片指尚未被分配出去的空間。由於過小了沒法分配給申請新空間的新進程。這些碎片不屬於不論什麼進程,而內部碎片是處於區域內部之間的。佔有這個頁面的進程並不使用它。但是系統卻沒法使用直到進程釋放了它。
40.物理地址和邏輯地址的差異 把用戶程序中使用的地址稱爲邏輯地址,而物理地址是指在存儲器裏以字節爲單位存儲信息。爲了正確地存放或取得信息,每個字節單元給惟一一個存儲器地址。
41.什麼是壓縮Compaction是客服外部碎片的,操做系統會不時地移動進程,使得進程佔用的空間連續,並且使得所有空暇空間連成一片。
42.幾種置換策略:OPT:最佳。選擇下次訪問距離當前時間最長的頁 LRU:近期最少使用,上次使用距離當前最遠的頁FIFO。

Clock:時鐘算法就是每一個頁框一個使用位,選擇使用位爲0的位置更替。循環緩衝區
43.TLB 轉換檢測緩衝區,用於改進虛擬地址到物理地址的轉譯速度
缺頁 就是表示訪問的頁不在內存中。需要調用操做系統,由操做系統負責裝入所需要的頁
44.長程調度,中程調度,短程調度:長程調度室決定哪個程序可以進入系統中處理。從外存調入內存。就是贊成一個做業或者程序變成進程。若這個建立的進程一開始屬於就緒態,等待短程調度。若一開始處於堵塞狀態則等待中程調度。
中程調度是交換功能的一部分。Swapping就是在近處中所有進程處於堵塞態,os就可以把當中一個進程處於掛起態,並轉移到磁盤中,這是換出操做;換入操做就是調入內存一個曾經掛起的狀態的進程。


短程調度是精確地決定下一次運行哪個進程
45.高級調度與低級調度的差異 高級調度又稱爲做業調度,調度對象是做業,做業調度每每發生於一個(批)做業執行完成,退出系統。而需要又一次調入一個(批)做業進入內存時,故做業調度的週期長;低級調度又稱爲進程調度。調度物件爲進程(或內核級線程)。進程調度的執行頻率最高。是最主要的一種調度,多道批處理、分時、實時三類OS中必須配置這樣的調度。


46.搶佔與非搶佔 非搶佔就是在指一旦程序處於執行的狀態,它就不斷地執行直到終止或者因爲等待I/O等某些請求被堵塞;搶佔就是指當前程序可能被操做系統中斷並轉移到就緒態。
47.幾種短程調度FCFS,非搶佔,先來先服務輪轉。搶佔。time slicing。基於FCFS。SPN,非搶佔,最短進程優先。下一次選擇處理時間最短的。

SRT,搶佔,最短剩餘時間,老是直接選擇剩餘時間最短的。HRRN。非搶佔。最短響應比優先有問題反饋,搶佔,在一個時間段裏每個進程的優先級。運行一次就減小一級。進程剛開始進入內存時優先級最高。
48.I/O buffer單緩衝區:當進程發出I/O請求時,操做系統給該操做分配了一個位於內存中的系統部分的緩衝區,輸入的數據被放到緩衝區中,當傳送數據完畢時進程在把這塊數據移到用戶空間裏,而後立刻請求還有一塊緩衝區。
雙緩衝區和循環緩衝
緩衝的做用:提升操做系統效率和單個進程的性能
49.磁盤調度策略RSS,隨機調度FIFO,公平SSTF,最短服務時間優先。利用率高隊列小SCAN。先向着固定一方掃描而後回到原點轉向C-SCAN,先向着固定一方掃描而後返回到相反方向的最初點
50.尋道時間:磁頭臂定位到磁道所需要的時間。旋轉延遲:磁頭到達指定扇區位置的時間。

存取時間:達到讀或寫位置所需要的時間。傳輸時間:傳輸數據所需要的時間。

T=尋道時間+1/2r+b/rN r是旋轉速度 N是磁道的字節數
51.文件是指由建立者所定義的、具備文件名稱的一組相關信息的集合。 按文件的邏輯結構可分爲有結構構文件和無結構文件。
52.文件組織的五種方式:堆:每條記錄由一串數據組成,按到達的順序被收集,沒有結構,查找文件經過窮舉模式,順序文件:所有記錄一樣的長度。格式固定。依照關鍵域的順序組織。直接或散列文件:每一條繼續都需要一個關鍵域,直接文件是基於keyword的散列
53.FAT,文件分配表 File Allocation Table
54.獨佔設備採用哪一種分配方式?獨佔設備一般採用靜態分配方式。


即在一個做業運行前,將做業要使用的這類設備分配給做業。在做業運行期間均歸該做業佔用。直到做業運行結束才歸還。
55.分段和分頁的主要差異
a.分頁和分段都採用離散分配的方式。且都要經過地址映射機構來實現地址變換,這是它們的共同點。 
b.對於它們的不一樣點有三,第一,從功能上看。頁是信息的物理單位,分頁是爲實現離散分配方式。以消減內存的外零頭。提升內存的利用率,即知足系統管理的需要,而不是用戶的需要;而段是信息的邏輯單位,它含有一組其意義相對完整的信息。目的是爲了能更好地知足用戶的需要。 
c.頁的大小固定且由系統肯定。而段的長度卻不固定。決定於用戶所編寫的程序; 
d.分頁的做業地址空間是一維的,而分段的做業地址空間是二維的.
56.DMA方式與中斷控制方式的差異: 一樣點是都是以塊爲單位進行傳輸。

差異是: 
1)CPU處理中斷的時間: 中斷控制方式:是在數據緩衝寄存器滿以後要求CPU進行中斷處理DMA方式:是在所要求轉送的數據塊全部傳送結束時要求CPU進行中
斷處理。這就大大下降了CPU進行中斷處理的次數。 
2)數據傳送的完畢者: 中斷控制方式:是在中斷處理時由CPU控制完畢的DMA方式:是DMA控制器完畢的。
57.I/O中斷處理過程? (1)喚醒被堵塞的驅動(程序)進程;(2)保護被中斷進程的CPU環境;(3)轉入對應的設備處理程序;(4)中斷處理。(5)恢復被中斷進程的現場。


58.設備驅動程序的特色?(1)驅動程序主要是指在請求I/O的進程和設備控制器之間的一個通訊和轉換過程。(2)驅動程序與設備控制器和I/O設備的硬件特性緊密相關;(3)驅動程序與I/O設備所採用的I/O控制方式緊密相關。(4)由於驅動程序和硬件緊密相關,於是當中的一部分必須用匯編語言書寫;(5)驅動程序應贊成可重寫。

 
59.設備驅動器的處理過程? 
(1)將抽象要求轉化爲詳細要求;(2)檢查I/O請求的合法性;(3)讀出和檢查設備的狀態;(4)轉送必要的參數。(5)工做方式的設置。(6)啓動I/O設備。


相關文章
相關標籤/搜索