計算機作業系統的相關知識
學習作業系統需要掌握最基本的定義概念,下面由小編為大家整理了,希望對大家有幫助!
一
1.作業系統的定義
作業系統***Operating System,簡稱OS***是管理計算機系統的全部硬體資源包括軟體資源及資料資源;控制程式執行;改善人機介面;為其它應用軟體提供支援等,使計算機系統所有資源最大限度地發揮作用,為使用者提供方便的、有效的、友善的服務介面。
作業系統通常是最靠近硬體的一層系統軟體,它把硬體裸機改造成為功能完善的一臺虛擬機器,使得計算機系統的使用和管理更加方便,計算機資源的利用效率更高,上層的應用程式可以獲得比硬體提供的功能更多的支援。
作業系統是一個龐大的管理控制程式,大致包括5個方面的管理功能:程序與處理機管理、作業管理、儲存管理、裝置管理、檔案管理。
2.作業系統的作用
1***OS作為使用者與計算機硬體系統之間的介面
2***OS作為計算機系統資源的管理者
3***OS實現了對計算機資源的抽象
3.作業系統的基本特徵
1***併發2***共享3***虛擬4***非同步
4.分時系統的概念
把計算機的系統資源***尤其是CPU時間***進行時間上的分割,每個時間段稱為一個時間片,每個使用者依次輪流使用時間片,實現多個使用者分享同一臺主機的作業系統。
5.分時系統要解決的關鍵問題***2個***
1***及時接收2***及時處理
6.併發性的概念
併發性是指兩個或多個事件在同一事件間隔內發生。在多道程式環境下,併發性是指在一段時間內巨集觀上有多個程式在同時執行,但在單處理機系統中,每一時刻卻僅能有一道程式執行,故微觀上這些程式只能是分時的交替執行。
7.程式順序執行的特徵和併發執行的特徵
順序執行的特點: 順序性封閉性可再現性
程式併發執行的特點:1***、間斷性***失去程式的封閉性***2***、不可再現性任何併發執行都是不可再現3***、程序互斥***程式併發執行可以相互制約***
8.程序的定義
程序是指在系統中能獨立執行並作為資源分配的基本單位。為了使參與併發執行的每個程式***含資料***都能獨立的執行,在作業系統中必須為之配置一個專門的資料結構,稱為程序控制塊***PCB***。系統利用PCB來描述程序的基本情況和活動過程,進而控制和管理程序。
9.程序的組成部分
程序是由一組機器指令,資料和堆疊組成的,是一個能獨立執行的活動實體。由程式段,相關的資料段和PCB三部分便構成了程序實體***又稱程序映像***。
10.程序的狀態***狀態之間的變化***
就緒狀態、執行狀態、阻塞狀態。處於就緒狀態的程序,在排程程式為之分配了處理機之後,該程序便可以執行,相應的,他就由就緒狀態轉變為執行狀態。正在執行的程序,如果因為分配給它的時間片已經用完而被暫停執行時,該程序便由執行狀態又回到就緒狀態;如果因為發生某事件而使程序的執行受阻***如程序請求訪問臨界資源,而該資源正在被其它程序訪問***,使之無法繼續執行,該程序將有執行狀態轉變為阻塞狀態。處於阻塞狀態的程序,在獲得了資源後,轉變為就緒狀態。
二
11.程序同步的概念
程序同步是是併發執行的諸程序之間能有效地相互合作,從而使程式的執行具有可再現性,簡單的說來就是:多個相關程序在執行次序上的協調。
12.PV原語的作用
PV原語通過操作訊號量來處理程序間的同步與互斥的問題。其核心就是一段不可分割不可中斷的程式。
13.處理死鎖的四種方法***有何不同***
1***預防死鎖。這是一種簡單和直觀的事先預防方法。該方法是通過設定某些限制條件,去破壞產生死鎖的四個必要條件***互斥條件,請求和保持條件,不可搶佔條件,迴圈等待條件***中的一個或幾個來預防產生死鎖。預防死鎖是一種較易實現的方法,已被廣泛使用、
2***避免死鎖。同樣是屬於事先預防策略,但它並不是事先採取各種限制措施,去破壞產生死鎖的四個必要條件,而是在資源的動態分配過程中,用某種方法防止系統進入不安全狀態,從而可以避免發生死鎖。
3***檢測死鎖。這種方法無須事先採取任何限制性措施,允許程序在執行過程中發生死鎖。但可通過檢測機構及時地檢測出死鎖的發生,然後採取適當的措施,把程序從死鎖中解脫出來。
4***解除死鎖。當檢測到系統中已發生死鎖時,就採取相應措施,將程序從死鎖狀態中解脫出來。常用的方法是撤銷一些程序,回收它們的資源,將它們分配給已處於阻塞狀態的程序,使其能繼續執行。上述的四種方法,從1***到4***對死鎖的防範程度逐漸減弱,但對應的是資源利用率的提高,以及程序因資源因素而阻塞的頻度下降***即併發程度提高***。
14.解除死鎖的方法常採用解除死鎖的兩種方法是:
1***搶佔資源。從一個或多個程序中搶佔足夠數量的資源,分配給死鎖程序,以解除死鎖狀態。
2***終止***或撤銷***程序。終止***或撤銷***系統中的一個或多個死鎖程序,直至打破迴圈環路,使系統從死鎖狀態解脫出來。
15.死鎖產生的必要條件
1***互斥條件2***請求和保持條件3***不可搶佔條件4***迴圈等待條件
16.死鎖的概念
如果一組程序中的每一個程序都在等待僅由該組程序中的其它程序才能引發的事件,那麼該組程序是死鎖的。
17.銀行家演算法
銀行家演算法是一種最有代表性的避免死鎖的演算法。要解釋銀行家演算法,必須先解釋作業系統安全狀態和不安全狀態。安全狀態:如果存在一個由系統中所有程序構成的安全序列P1,„,Pn,則系統處於安全狀態。安全狀態一定是沒有死鎖發生。不安全狀態:不存在一個安全序列。不安全狀態不一定導致死鎖。安全序列一個程序序列{P1,„,Pn}是安全的,如果對於每一個程序Pi***1≤i≤n***,它以後尚需要的資源量不超過系統當前剩餘資源量與所有程序Pj ***j < i ***當前佔有資源量之和。
18.程序排程的功能
1***記錄系統中所有程序的執行情況作為程序排程的準備,程序管理模組必須將系統中各程序的執行情況和狀態特徵記錄在各程序的PCB表中。並且,根據各程序的狀態特徵和資源需求等、程序管理模組還將各程序的PCB表排成相應的佇列並進行動態佇列轉接。程序排程模組通過PCB變化來掌握系統中存在的所有程序的執行情況和狀態特徵,並在適當的時機從就緒佇列中選擇出一個程序佔據處理機。
2***選擇佔有處理機的程序程序排程的主要功能是按照一定的策略選擇—個處於就緒狀態的程序,使其獲得處理機執行。根據不同的系統設計目的,有各種各樣的選擇策略,例如系統開銷較少的靜態優先數排程法,適合於分時系統的輪轉法***Round RoLin***和多級互饋輪轉法***Round Robin with Multip1e feedback***等。這些選擇策略決定了排程演算法的效能。
3***進行程序上下文切換—個程序的上下文***context***包括程序的狀態、有關變數和資料結構的值、機器暫存器的值和PCB以及有關程式、資料等。一個程序的執行是在程序的上下文中執行。當正在執行的程序由於某種原因要讓出處理機時,系統要做程序上下文切換,以使另一個程序得以執行。當進行上下文切換時點統要首先檢查是否允許做上下文切換***在有些情況下,上下文切換是不允許的,例如系統正在執行某個不允許中斷的原語時***。然後,系統要保留有關被切換程序的足夠資訊,以便以後切換回該程序時,順利恢復該程序的執行。在系統保留了CPU現場之後,排程程式選擇一個新的處於就緒狀態的程序、並裝配該程序的上下文,使CPU的控制權掌握在被選中程序手中。
19.作業排程演算法***FCFS和短作業優先***
先來先服務***FCFS***排程演算法
FCFS是最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。當在作業排程中採用該演算法時,系統將按照作業到達的先後次序來進行排程,或者說它是優先考慮在系統中等待時間最長的作業,而不管該作業所需執行時間的長短從後備作業佇列中選擇幾個最先進入該佇列的作業,將它們調入記憶體,為它們分配資源和建立程序。然後把它們放入就緒佇列。當在程序排程中採用FCFS演算法時,每次排程是從就緒的程序佇列中選擇一個最先進入該佇列的程序,為之分配處理機,使之投入執行。該程序一直執行到完成或發生某事件而阻塞後,程序排程程式才將處理機分配給其它程序。
優點:1***簡單可靠2***容易理解,實現方便3***非搶佔式的
缺點:1***有利於長的作業和程序,不利於短的2***有利於CPU繁忙型的作業或程序,不利於I/O繁忙型的
短作業優先***SJF***的排程演算法
SJF演算法是以作業的長短來計算優先順序,作業越短,其優先順序越高。作業的長短是以作業所要求的執行時間來衡量的。SJF演算法可以分別用於作業排程和程序排程。班在短作業優先排程演算法用於作業排程時,它將從外存的作業後備佇列中選擇若干個估計執行時間最短的作業,優先將它們調入記憶體執行。
缺點:1***必須預知作業的執行時間2***對長作業非常不利,長作業的週轉時間會明顯地增長3***在採用SJF演算法時,人-機無法實現互動4***該排程演算法完全未考慮作業的緊迫程度,故不能保證緊迫性作業能得到及時處理
20.儲存管理的物件
儲存管理的物件是主儲存器***簡稱記憶體或主存*** 。分割槽管理的分配演算法基於順序搜尋的的動態分配演算法:1首次適應演算法 2迴圈首次適應演算法 3最佳適應演算法 4最壞適應演算法基於索引搜尋的動態分配演算法1快速適應演算法 2夥伴系統 3雜湊演算法