計算機操作系統的相關知識
學習操作系統需要掌握最基本的定義概念,下面由學習啦小編為大家整理了計算機操作系統的相關知識,希望對大家有幫助!
計算機操作系統的相關知識一
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哈希算法