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