最完美的現(xiàn)代操作系統(tǒng)復(fù)習(xí)題_第1頁
最完美的現(xiàn)代操作系統(tǒng)復(fù)習(xí)題_第2頁
最完美的現(xiàn)代操作系統(tǒng)復(fù)習(xí)題_第3頁
最完美的現(xiàn)代操作系統(tǒng)復(fù)習(xí)題_第4頁
最完美的現(xiàn)代操作系統(tǒng)復(fù)習(xí)題_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一章:引言操作系統(tǒng)是配置在計(jì)算機(jī)硬件上的第一層軟件,是對硬件系統(tǒng)的第一次擴(kuò)充。操作系統(tǒng)的主要功能:處理機(jī)管理,存儲器管理,設(shè)備管理,文件管理操作系統(tǒng)的三種基本類型:批處理操作系統(tǒng),分時操作系統(tǒng),實(shí)時操作系統(tǒng)批處理是指計(jì)算機(jī)系統(tǒng)對一批作業(yè)自動進(jìn)行處理的技術(shù)分時系統(tǒng)是為了滿足用戶需求所形成的一種新型 OS 實(shí)時操作系統(tǒng)所謂實(shí)時,即及時,是指系統(tǒng)能及時(或即時)響應(yīng)外部 事件的請求,在規(guī)定的時間內(nèi)完成對該事件的處理,并控制所有實(shí)時任務(wù)協(xié)調(diào)一致地運(yùn)行。分時的概念:主要是指若干并發(fā)程序?qū)PU時間的共享-第二章:進(jìn)程管理進(jìn)程的參考定義有如下幾種:1、進(jìn)程是程序的一次執(zhí)行過程;2、進(jìn)程是一個可擁有資源的

2、獨(dú)立實(shí)體,同時又是一個可以獨(dú)立調(diào)度的基本單位。3、進(jìn)程是程序在一個數(shù)據(jù)集合上運(yùn)行的過程,它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨(dú)立單位。、進(jìn)程與程序的區(qū)別進(jìn)程是一個動態(tài)的概念,而程序是一個靜態(tài)的概念進(jìn)程具有并發(fā)性,程序順序性獨(dú)立性:進(jìn)程是能獨(dú)立運(yùn)行、獨(dú)立分配資源和接受調(diào)度的基本單位異步性:進(jìn)程各自獨(dú)立的、按不可預(yù)知的速度向前推進(jìn)一個進(jìn)程可以包含多個程序;一個程序也可以對應(yīng)多個進(jìn)程進(jìn)程程序數(shù)據(jù)PCB ,即進(jìn)程是一個程序及其數(shù)據(jù)在處理機(jī)上順序地執(zhí)行時所發(fā)生的活動進(jìn)程具有創(chuàng)建其他進(jìn)程的功能引起進(jìn)程創(chuàng)建和進(jìn)程終止的幾個事件進(jìn)程創(chuàng)建:1 系統(tǒng)初始化2 執(zhí)行了正在運(yùn)行的進(jìn)程所調(diào)用的進(jìn)程創(chuàng)建系統(tǒng)調(diào)用3 用戶請求創(chuàng)

3、建一個新進(jìn)程4 一個批處理作業(yè)的初始化進(jìn)程終止:1 正常退出2 出錯退出3 嚴(yán)重錯誤4 被其他進(jìn)程殺死臨界資源和臨界區(qū)臨界資源(Critical Resource) :某段時間內(nèi)只允許一個進(jìn)程使用的資源臨界區(qū)(Critical Section):在每個進(jìn)程中訪問臨界資源的那段程序進(jìn)程基本狀態(tài)的轉(zhuǎn)換進(jìn)程由哪些部分組成,進(jìn)程控制塊的作用。程序、數(shù)據(jù)、進(jìn)程控制塊(PCB)組成進(jìn)程控制塊的作用是使一個在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序成為一個能獨(dú)立運(yùn)行的基本單位,一個能與其他進(jìn)程并發(fā)執(zhí)行的進(jìn)程競爭條件:兩個或多個進(jìn)程讀寫某些共享數(shù)據(jù),而最后的結(jié)果取決于進(jìn)程運(yùn)行的精確時序進(jìn)程互斥是指由于共享資源所要求的

4、排它性,進(jìn)程之間要相互競爭,當(dāng)某一進(jìn)程正在訪問這種資源時,不允許其它進(jìn)程來訪問,否則就會發(fā)生后果無法估計(jì)的錯誤。也即:多個進(jìn)程不能同時使用某一資源相互合作的并發(fā)進(jìn)程在一些關(guān)鍵點(diǎn)上可能需要互相等待與互通消息。這種時序上的相互制約關(guān)系,或者說是進(jìn)程之間為了協(xié)同工作而存在的一種等待關(guān)系,稱為進(jìn)程同步什么是進(jìn)程的同步與互斥?!竞唵卫斫猓和綍r伙伴,互斥是競爭】進(jìn)程同步是指多個進(jìn)程中發(fā)生的時間存在某種時序關(guān)系,必須協(xié)同動作、相互配合,以共同完成一個任務(wù)進(jìn)程互斥是指由于共享資源所要求的排他性,進(jìn)程之間要相互競爭,某個進(jìn)程使用這種資源時,其他進(jìn)程必須等待原子操作:是指一組相關(guān)聯(lián)的操作要么不間斷的執(zhí)行,要么都

5、不執(zhí)行進(jìn)程程序數(shù)據(jù)PCB當(dāng)創(chuàng)建進(jìn)程時,為之建立PCB ;當(dāng)撤消進(jìn)程時, PCB也隨之撤消。因此, PCB是進(jìn)程存在的唯一標(biāo)志,是系統(tǒng)感知進(jìn)程的唯一實(shí)體。PCB 中記錄了OS所需的、用于描述進(jìn)程的當(dāng)前情況以及控制進(jìn)程運(yùn)行的全部信息。PCB應(yīng)常駐內(nèi)存。信號量S的意義S 0時,S為可用資源數(shù)量;S = 0時,可用資源正好用完;S 0時,資源已用完,|S|為等待資源的隊(duì)列長度(在信號量上等待的進(jìn)程數(shù)) ,即還欠資源數(shù)了解消息傳遞、send和receiveSend:發(fā)送信息到一個特定的目標(biāo)Receive:從給定的來源收到信息線程的概念,引入線程的目的,線程與進(jìn)程的區(qū)別。線程是進(jìn)程中的一個實(shí)體,是被系統(tǒng)獨(dú)

6、立調(diào)度和分配的基本單位。引入線程的目的:為了減少程序并發(fā)執(zhí)行時所付出的時間和空間開銷,使操作系統(tǒng)具有更好的并發(fā)性線程和進(jìn)程的區(qū)別:1調(diào)度v 在引入線程的操作系統(tǒng)中: 線程是調(diào)度和分配的基本單位 進(jìn)程是資源擁有的基本單位v 把傳統(tǒng)進(jìn)程的兩個屬性分開,線程便能輕裝運(yùn)行,從而可顯著地提高系統(tǒng)的并發(fā)程度。v 在同一進(jìn)程中,線程的切換不會引起進(jìn)程的切換;在由一個進(jìn)程中的線程切換到另一個進(jìn)程中的線程時,才會引起進(jìn)程的切換。2 并發(fā)性v 在引入線程的操作系統(tǒng)中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個進(jìn)程中的多個線程之間亦可并發(fā)執(zhí)行,因而使操作系統(tǒng)具有更好的并發(fā)性,從而能更有效地使用系統(tǒng)資源和提高系統(tǒng)吞吐量。3

7、 擁有資源不論是傳統(tǒng)的操作系統(tǒng),還是設(shè)有線程的操作系統(tǒng),進(jìn)程都是擁有資源的一個獨(dú)立單位,它可以擁有自己的資源。v 一般地說,線程自己不擁有系統(tǒng)資源(只有一些必不可少的資源),但它可以訪問其隸屬進(jìn)程的資源。4 系統(tǒng)開銷v 由于在創(chuàng)建或撤消進(jìn)程時,系統(tǒng)都要為之分配或回收資源,因此,操作系統(tǒng)所付出的開銷將顯著地大于在創(chuàng)建或撤消線程時的開銷。v 進(jìn)程切換的開銷也遠(yuǎn)大于線程切換的開銷。進(jìn)度調(diào)度的搶占方式和非搶占方式 v 搶占式優(yōu)先級調(diào)度法:任何時刻都嚴(yán)格按照“高優(yōu)先級進(jìn)程在處理機(jī)上運(yùn)行”的原則進(jìn)行進(jìn)程的調(diào)度。v 非搶占式優(yōu)先級調(diào)度法:當(dāng)系統(tǒng)中出現(xiàn)了比正在運(yùn)行的進(jìn)程優(yōu)先權(quán)更高的進(jìn)程時,不會剝奪正在運(yùn)行的進(jìn)

8、程占有的處理機(jī),該進(jìn)程會一直運(yùn)行下去,直到完成或被阻塞,才讓另一優(yōu)先權(quán)更高的進(jìn)程運(yùn)行。生產(chǎn)者消費(fèi)者問題#define N 100semaphore mutex=1; semaphore empty=N; semaphore full=0;void producer ( ) int item;while (true) item = produce_item( );down(&empty); / decrement empty countdown(&mutex); / enter critical regioninsert_item(item);up(&mutex); / leave critic

9、al regionup(&full); / increment count of full slots void consumer ( ) int item;while (true) down(&full); / decrement full countdown(&mutex); / enter critical regionitem = remove_item(); / take item from bufferup(&mutex); / leave critical regionup(&empty); / increment count of empty slotsconsume_item

10、(item);讀者寫者問題semaphore mutex=1, db=1;int rc=0;void writer( ) / 寫者進(jìn)程while (true) think_up_data( );down(&db); / 排斥對文件的訪問write_database( ); / 寫數(shù)據(jù)up(&db); / 恢復(fù)對文件的訪問void reader ( ) while (true) down(&mutex); / 排斥對rc的訪問rc=rc+1;if (rc=1) down(&db); / 如果這是第1個讀者,則排斥對數(shù)據(jù)庫的寫操作up(&mutex); / 恢復(fù)對rc的訪問read_databas

11、e( ); / 讀數(shù)據(jù)down(&mutex); / 排斥對rc的訪問rc=rc-1;if (rc=0) up(&db); /如果這是最后一個讀者,則恢復(fù)對數(shù)據(jù)庫的寫操作 up(&mutex); / 恢復(fù)對rc的訪問/*算法掌握*/*/-第三章:存儲管理邏輯地址:目標(biāo)模塊中的地址成為邏輯地址物理地址:內(nèi)存的絕對地址。地址重定位:將裝入模塊裝入內(nèi)存實(shí)際牡蠣地址空間,并修改程序中與地址有關(guān)的代碼,這一過程稱為地址重定位靜態(tài)重定位:在程序執(zhí)行之前進(jìn)行重地位動態(tài)重定位:在程序執(zhí)行過程中進(jìn)行重地位虛擬內(nèi)存是計(jì)算機(jī)系統(tǒng)內(nèi)存管理的一種技術(shù)。它使得應(yīng)用程序認(rèn)為它擁有連續(xù)的可用的內(nèi)存(一個連續(xù)完整的地址空間),

12、而實(shí)際上,它通常是被分隔成多個物理內(nèi)存碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進(jìn)行數(shù)據(jù)交換。將內(nèi)存等分成大小相同且固定的若干塊(或稱物理塊,或頁框),依次命名為第0塊、第1塊,稱為物理塊號(頁框號)。將用戶程序的邏輯地址空間劃分成同樣大小的若干頁(或稱頁面),依次命名為第0頁、第1頁,稱為頁號。由于進(jìn)程的最后一頁經(jīng)常裝不滿一塊,從而形成不可利用的碎片,稱為“內(nèi)部碎片(internal fragmentation)”在分頁管理系統(tǒng)中,進(jìn)程的若干個頁被離散地存儲在內(nèi)存的多個存儲塊中,為了能找到每個頁所對應(yīng)的存儲塊,系統(tǒng)為每個進(jìn)程建立一張頁表。頁表的基本組成:頁號、塊號頁表的作用是實(shí)現(xiàn)從頁

13、號到物理塊號的地址映射。分頁和分段的主要區(qū)別(1) 頁是信息的物理單位,分頁是為了實(shí)現(xiàn)離散分配,以解決內(nèi)存的外部碎片問題,提高內(nèi)存的利用率,或者說分頁是由于系統(tǒng)管理的需要,而不是用戶的需要。段是信息的邏輯單位,它含有一組意義相對完整的信息,分段的目的是為了更好地實(shí)現(xiàn)共享,滿足用戶的需要。(2) 頁的大小固定且由系統(tǒng)確定,將邏輯地址劃分為頁號和頁內(nèi)地址是由機(jī)器硬件實(shí)現(xiàn)的,因而一個系統(tǒng)只能有一種大小的頁面。段的長度不固定,決定于用戶所編寫的程序,通常由編譯程序在對源程序進(jìn)行編譯時根據(jù)信息的性質(zhì)來劃分。(3) 分頁的邏輯地址空間是一維的;分段的地址空間是二維的。/*算法掌握*/*/-第四章:文件系統(tǒng)

14、文件是進(jìn)程創(chuàng)建的信息邏輯單元文件系統(tǒng):操作系統(tǒng)中處理文件的部分稱為文件系統(tǒng)文件系統(tǒng)通常提供目錄或文件夾用于記錄文件-第五章:I/O設(shè)備I/O控制方式:程序直接控制方式,中斷控制方式,DMA方式,通道方式。設(shè)備的一般分類:塊設(shè)備(Block devices),字符設(shè)備(Character devices);獨(dú)占設(shè)備,共享設(shè)備,虛擬設(shè)備;低速設(shè)備,中速設(shè)備,高速設(shè)備。I/O設(shè)備的組成:電子部件(electronic component),機(jī)械部件(mechanical component)。Device independence (設(shè)備獨(dú)立性): 用戶程序獨(dú)立于具體物理設(shè)備?!緄t should

15、be possible to write programs that can access any I/O device without having to specify the device in advance】引入緩沖的目的:緩和CPU與I/O設(shè)備速度不匹配的矛盾減少對CPU的中斷頻率,放寬對中斷響應(yīng)時間的限制提高CPU和I/O設(shè)備之間的并行性SPOOLing技術(shù):將一臺獨(dú)占設(shè)備改造成共享設(shè)備的一種技術(shù)。SPOOLing組成: 輸入井和輸出井 輸入緩沖區(qū)和輸出緩沖區(qū) 輸入進(jìn)程SPi和輸出進(jìn)程Spo實(shí)現(xiàn)思想:在聯(lián)機(jī)情況下,實(shí)現(xiàn)的輸入/輸出與CPU的工作并行的操作稱為SPOOLing輸入緩

16、沖區(qū)輸出緩沖區(qū)輸入井輸出井輸入進(jìn)程SPi輸出進(jìn)程SPo磁盤輸入設(shè)備輸出設(shè)備內(nèi)存 輸入井和輸出井在磁盤上開辟的兩個大存儲空間輸入井模擬脫機(jī)輸入時的磁盤,用于收容I/O設(shè)備的輸入數(shù)據(jù)輸出井模擬脫機(jī)輸出時的磁盤,用于收容用戶程序的輸出數(shù)據(jù) 輸入緩沖區(qū)和輸出緩沖區(qū)在內(nèi)存中開辟的兩個緩沖區(qū)輸入緩沖區(qū)用于暫存由輸入設(shè)備送來的數(shù)據(jù),以后再傳送到輸入井輸出緩沖區(qū)用于暫存從輸出井送來的數(shù)據(jù),以后再傳送給輸出設(shè)備 輸入進(jìn)程SPi和輸出進(jìn)程SPoSPi模擬脫機(jī)輸入時的外圍計(jì)算機(jī),將用戶要求輸入的數(shù)據(jù)從輸入設(shè)備通過輸入緩沖區(qū)再送到輸入井SPo模擬脫機(jī)輸出時的外圍計(jì)算機(jī),將用戶要求輸出的數(shù)據(jù),先從內(nèi)存送到輸出井,待輸出

17、設(shè)備空閑時,再將輸出井中的數(shù)據(jù),經(jīng)過輸出緩沖區(qū)送到輸出設(shè)備見下磁盤臂調(diào)度算法先來先服務(wù)FCFS-第6章 :死鎖死鎖:在一個進(jìn)程集合中,若每個進(jìn)程都在等待某些事件(指:釋放資源)的發(fā)生,而這些事件又必須由這個進(jìn)程集合中的其它進(jìn)程來產(chǎn)生,則該進(jìn)程集合處于死鎖狀態(tài)?!続 set of processes is deadlocked if each process in the set is waiting for an event that only another process in the set can cause.】產(chǎn)生死鎖的四個必要條件:Mutual exclusion condition (互斥條件).Hold and wait condition (占有與等待條件). No preemption condition (不可搶占條件). Circular wait condition (環(huán)路等待條件).-第7章 :Linux系統(tǒng)進(jìn)程描述符是一個名為task_stru

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論