1. 程式人生 > >系統架構設計師(2)-作業系統

系統架構設計師(2)-作業系統

一、作業系統分類

批處理作業系統、分時作業系統(Unix)、實時作業系統、網路作業系統、分散式作業系統、微機作業系統(Linux、Windows、IOS等)、嵌入式作業系統。

二、作業系統的4個特徵

併發性、共享性、虛擬性、不確定性。

三、作業系統的功能

程序管理、檔案管理、儲存管理、裝置管理、作業管理。
程序管理:也稱處理機管理。實質上是對處理機執行時間進行管理,採用多道程式等技術將CPU的時間真正合理地分配給每個任務。主要包括程序管理、程序同步、程序通訊和程序排程。
檔案管理:又稱資訊管理。主要包括檔案儲存空間管理、目錄管理、檔案的讀寫管理和存取管理。
儲存管理:是對主儲存器空間的管理。主要包括儲存分配與回收、儲存保護、地址對映(變換)和主存擴充。(即記憶體管理)
裝置管理:實質上是對硬體裝置進行管理,其中包括輸入輸出裝置的分配、啟動、完成和回收。
作業管理:包括人物、人機互動和使用者介面管理等。

四、程序管理

1、程序的狀態

2、前趨圖

3、PV操作

P操作代表的是對資源(訊號量)的申請,如果資源不足,則把程序放入緩衝佇列。由於它是對資源的申請,所以是減法操作,可以放入緩衝佇列,所以它是一個加鎖,等待,阻塞的操作。

V操作是對資源釋放,資源釋放出來後,則從緩衝佇列中取出一個程序出來執行。由於它是對資源的釋放,所以它是加法操作,是喚醒操作。

4、死鎖問題

兩個以上的程序互相要求對方已經佔有的資源導致無法繼續執行下去的現象
產生死鎖的原因主要是:
         (1) 因為系統資源不足。 
         (2) 程序執行推進的順序不合適。 
         (3) 資源分配不當等。 
  如果系統資源充足,程序的資源請求都能夠得到滿足,死鎖出現的可能性就很低,否則就會因爭奪有限的資源而陷入死鎖。其次,程序執行推進順序與速度不同,也可能產生死鎖。

產生死鎖的四個必要條件:互斥條件、請求與保持條件、不剝奪條件、迴圈等待條件。
  (1) 互斥條件:一個資源每次只能被一個程序使用。 
  (2) 請求與保持條件:一個程序因請求資源而阻塞時,對已獲得的資源保持不放。 
  (3) 不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。 
  (4) 迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源關係。 
  這四個條件是死鎖的必要條件,只要系統發生死鎖,這些條件必然成立,而只要上述條件之一不滿足,就不會發生死鎖。 
解決死鎖的4種處理策略:鴕鳥策略(即不理睬策略)、預防策略、避免策略、檢測與解除策略。
死鎖預防:預先靜態分配法(破壞不可剝奪條件)、資源有序分配法(將資源分類按順序排列,保證不形成環路)。 
死鎖避免:銀行家演算法(對每個資源請求進行檢測,確保安全。需要很大的系統開銷)。 
死鎖解除:資源剝奪法、撤銷程序法。


某個系統中有3個併發程序,都需要同類資源數目為4個,該系統不發生死鎖的最少資源數目是()。

A、9個 B、10個 C、12個 D、13個

【答案】B 【解析】
(系統資源-1)*程序個數+1
(4-1)*3+1


5、儲存管理

   4.2.1段頁式儲存

   4.2.2區域性性原理

   4.2.3頁面置換演算法


某虛擬儲存系統採用最近最少使用(LRU)頁面淘汰演算法,假定系統為每個作業分配4個頁面的主存空間,其中一個頁面用來存放程式。現有某作業的程式如下:設每個頁面可存放200個整數變數,變數i、j存放在程式頁中。初始時,程式及i、j均已在記憶體,其餘3頁為空。若矩陣A按行序存放,那麼當程式執行完後共產生(3)次缺頁中斷;若矩陣A按列序存放,那麼當程式執行完後共產生(4)次缺頁中斷。  
2010年(3)
A.50             
B.100
C.5000
D.10000  
2010年(4)
A.50             
B.100
C.5000
D.10000

【答案】A C 【解析】本題考查計算機儲存管理方面的基本知識。

矩陣A[100][100]總共有100行、100列,若矩陣A按行序存放,那麼每一個頁面可以存放2行,也就是說矩陣的2行剛好放在1頁內,訪問它們需要中斷1次,這樣100行總共需要中斷50次。

若矩陣A按列序存放,那麼每一個頁面可以存放2列,也就是說矩陣的2列剛好放在1頁內,由於內迴圈“FORj:=l to 100

DO”是按列序變化,訪問它們需要中斷50次,這樣100行總共需要中斷50X100次。

在本題中,從題幹可知,作業共有4個頁面的主存空間,其中一個已被程式本身佔用,所以在讀取變數時可用的頁面數只有3個。每個頁面可存放200個整數變數,程式中A陣列共有100*100=10000個變數。按行存放時,每個頁面調入的200變數剛好是程式處理的200個變數,所以缺頁次數為10000/200=50。而按列存放時,雖然每個頁面調取資料時,同樣也讀入了200個變數,但這200個變數中,只有2個是近期需要訪問的(如:第1個頁面調入的是A[*,1]與A[*,2],但程式近期需要訪問的變數只有A[1,1]和A[1,2]),所以缺頁次數為:10000/2=5000。

五、檔案管理

   4.3.1索引檔案

   4.3.2位示圖

六、作業管理

作業狀態分為4種:提交(通過輸入裝置送入計算機)、後備(通過Spooling系統將作業輸入到計算機系統的後備儲存器中,等待作業排程程式排程)、執行和完成。

1、作業排程演算法

常用的作業排程演算法:先來先服務、短作業優先、響應比高優先、優先順序排程演算法、均衡排程演算法。

七、裝置管理

裝置管理的目標是如何提高裝置的利用率,為使用者提供方便統一的介面。

裝置管理採用的緩衝技術:通道技術、DMA技術、緩衝技術、Spooling技術。

1、資料傳輸控制

2、虛裝置與SPOOLING技術


 

1、輸入輸出控制方式

(2017)DMA (直接儲存器訪問)工作方式是在(3)之間建立起直接的資料通路。

(3)A.CPU 與外設 B.CPU 與主存 C. 主存與外設 D .外設與外設

【答案】C

【解析】

直接主存存取(Direct Memory Access,DMA)是指資料在主存與I/O裝置間的直接成塊傳送,即在主存與I/O裝置間傳送資料塊的過程中,不需要CPU作任何干涉,只需在過程開始啟動(即向裝置發出“傳送一塊資料”的命令)與過程結束(CPU通過輪詢或中斷得知過程是否結束和下次操作是否準備就緒)時由CPU進行處理,實際操作由DMA硬體直接完成,CPU在傳送過程中可做其它事情。

2、作業系統為使用者提供了兩類介面

操作一級的介面和程式控制一級的介面。其中,操作一級的介面包括操作控制命令、選單命令等;

程式控制一級的介面包括系統呼叫。