




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
(第一 操作系統(tǒng)引論 (第二 進(jìn)程管 (第1 進(jìn)程的基本概念與進(jìn)程的狀 (第2講 進(jìn)程的同步與互斥(一)第3 進(jìn)程的同步與互斥(二
((第三 處理機(jī)調(diào)度與死 (第1 作業(yè)和進(jìn)度調(diào)度算 (第2 死鎖的避 (第3 死鎖的檢測(cè)與解 (第四 存儲(chǔ)器管 (第1講程序的裝入與鏈接第2講內(nèi)存管理方案(一)第講內(nèi)存管理方案(二
(((第4 頁面置換算 (第五 設(shè)備管 (第1講 設(shè)備相關(guān)概念第2 磁盤調(diào)度算
((第六 文件管 (第1 文件的結(jié) (第2 目錄與外存空間管 (~、考研分1.在計(jì)算機(jī)專業(yè)碩士研究生入學(xué)全國統(tǒng)考中,作為專業(yè)課綜合中的一個(gè)版塊進(jìn)行考察。在部分自主命題院校碩士研究生入學(xué)考試中有單獨(dú)作為一個(gè)科目進(jìn)行考察,也有和其他一門或者兩門科目聯(lián)合出題。出題形式多為選擇題和綜合應(yīng)用題側(cè)重于基礎(chǔ)知識(shí)點(diǎn)及對(duì)知識(shí)點(diǎn)靈活運(yùn)用的考核二、復(fù)習(xí)方分清復(fù)習(xí)的階段,把握復(fù)習(xí)進(jìn)親手做題,在練習(xí)中總結(jié)出題方向和方法,重視真題,透徹分析,揣摩出題人心理。只有做好一定量的習(xí)題,才能幫助理解和牢固掌握考點(diǎn)。講過的知識(shí)點(diǎn)和題徹底掌握并及時(shí)回顧,不要學(xué)過忘過注重知識(shí)點(diǎn)之間的聯(lián)系不可忽視基礎(chǔ)概念和知識(shí)體系。但是同時(shí)還要做到重點(diǎn)突出,突破難點(diǎn),查缺補(bǔ)漏。教材作者:湯小丹、湯子瀛等編出版社:西安電子科技大學(xué)出版社版次:第三版參考書1梁紅兵,湯小丹《計(jì)算機(jī)操作系統(tǒng)學(xué)習(xí)指導(dǎo)與題解》西安電子科技大學(xué)出版社張堯?qū)W,史美林,張高《操作系統(tǒng)教程》清華大學(xué)出版社許曰濱《計(jì)算機(jī)操作系統(tǒng)》北京郵電大學(xué)出版社有限公三、考研題型及分值分題分值分選擇分左綜合分析分左四、考研內(nèi)容及分值分章重難必考考試題緒選進(jìn)程管√√√選擇、綜合分處理機(jī)管理和死√√√選擇、綜合分存儲(chǔ)器管√√√選擇、綜合分文件系√√√選擇、綜合分設(shè)備管√選五、考研題型及題型考核點(diǎn)分題考核涉及章作業(yè)調(diào)度算3進(jìn)程的同步與互2銀行家算法避免死3資源分配圖判定死3頁式內(nèi)存管理邏輯地址到物理地址轉(zhuǎn)換4段式內(nèi)存管理邏輯地址到物理地址轉(zhuǎn)換4虛擬內(nèi)存管理的頁面置換算4鏈?zhǔn)?、索引存?chǔ)文件存儲(chǔ)空間的換6系統(tǒng)外存文件的三級(jí)索引結(jié)6成組鏈接法外存空間的分配與回6磁盤尋道算6磁盤扇區(qū)旋轉(zhuǎn)算62六、章節(jié)知識(shí)點(diǎn)及題型分章知識(shí)題易考1掌握操作統(tǒng)的功能、特征、分選擇題操作系統(tǒng)的功能、特程的定義、進(jìn)程與程序的區(qū)進(jìn)程的定義及為什么引進(jìn)進(jìn)程狀態(tài)2進(jìn)程狀態(tài)的切進(jìn)程的同步與互選擇題3.4.號(hào)程量的定4.線6.戶級(jí)與核心級(jí)線綜合分析題1.程的同步與互作業(yè)調(diào)度算選擇題1.2.算的原進(jìn)程調(diào)度算3死鎖產(chǎn)生的必要條1.業(yè)調(diào)度算銀行家算法避免死5.資源分配圖對(duì)死鎖的判綜合分析題3.法和臨時(shí)資源分配圖簡(jiǎn)判定是否有死發(fā)生程序地址再定選擇題1.序地址再定位的方分區(qū)存儲(chǔ)管理方4分頁存儲(chǔ)管理方案的確1.頁管理的內(nèi)存尋分段存儲(chǔ)方案的確綜合分析題2.段管理的內(nèi)存尋虛擬內(nèi)存管理的頁面置換算3.面置換算1.通2.控制方選擇題通道類2.控制方5緩沖區(qū)管沖區(qū)管理磁盤尋道算綜合分析題2.盤尋道算磁盤扇區(qū)旋轉(zhuǎn)算3.盤扇區(qū)旋轉(zhuǎn)算文件的邏輯結(jié)文件的物理結(jié)選擇題1.2.和阻止方享和保護(hù)機(jī)6目錄管外存空間的管文件的共享和保綜合分析題1.2.輯和物理結(jié)構(gòu)的管理7命令接系統(tǒng)功能調(diào)用結(jié)選擇題3第一 操作系統(tǒng)引~、考點(diǎn)精操作系統(tǒng)的地位和作圖計(jì)算機(jī)系統(tǒng)的組操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的地1.作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接3.用作擴(kuò)充機(jī)操作系統(tǒng)的類單道批處理系單道批處理系統(tǒng)(SimpleBatchProcessingSystem)的處理過4單道批處理系統(tǒng)是最早出現(xiàn)的一種OS,嚴(yán)格地說,它只能算作是OS的前身而并非是現(xiàn)在人們所理解的OS。盡管如此,該系統(tǒng)比起人工操作方式的系統(tǒng)已有很大進(jìn)步。該系統(tǒng)的主要特征如下:(1)自動(dòng)性(2)順序性(3)單道性多道批處理系多道程序設(shè)計(jì)的基本概在單道批處理系統(tǒng)中,內(nèi)存中僅有一道作業(yè),它無法充分利用系統(tǒng)中的所有資源,致使系統(tǒng)性能較差。為了進(jìn)一步提高資源的利用率和系統(tǒng)吞吐量,形成了多道批處理系統(tǒng)(MultiproredBatchProcessingm)。在該系統(tǒng)中。用戶所提交的作業(yè)都先存放在外存上并排成一個(gè)隊(duì)列,稱為“后備隊(duì)列”;然后,由作業(yè)調(diào)度程序按一定的算法從后備隊(duì)列中選擇若干個(gè)作業(yè)調(diào)入內(nèi)存,使它們共享CPU和系統(tǒng)中的各種資源。在中引入多道程序設(shè)計(jì)技術(shù)可帶來以下好處(1)提高的利用率當(dāng)內(nèi)存中僅有一道程序時(shí),每逢該程序在運(yùn)行中發(fā)出I/O請(qǐng)求后,CPU空閑,必須在其I/O完成后才繼續(xù)運(yùn)行;在引入多道程序設(shè)計(jì)技術(shù)后,由于同時(shí)在內(nèi)存中裝有若干道程序,并使它們交替地運(yùn)行。這樣,當(dāng)正在運(yùn)行的程序因I/O而暫停執(zhí)行時(shí),系統(tǒng)可調(diào)度另一道程序運(yùn)行,從而保持了CPU處于忙碌狀態(tài)。(2)可提高內(nèi)存和設(shè)備利用率為了能運(yùn)行較大的作業(yè),通常內(nèi)存都具有較大容量,但由于80%以上的作業(yè)都屬于中小型,因此在單道程序環(huán)境下,也必定造成內(nèi)存的浪費(fèi)。類似地,對(duì)于系統(tǒng)中所配置的多種類型的I/O設(shè)備,在單道程序環(huán)境下也不能充分利用。如果允許在內(nèi)存中裝入多道程序,并允許它們并發(fā)執(zhí)行,則無疑會(huì)大大提高內(nèi)存和設(shè)備的利用率。5(3)增加系統(tǒng)吞吐量在保持CPU、設(shè)備不斷忙碌的同時(shí),也必然會(huì)大幅度地提高系統(tǒng)的吞吐量,從而降低作業(yè)加工所需的費(fèi)用。多道批處理系統(tǒng)的優(yōu)缺(1)資源利用率(2)系統(tǒng)吞吐量(3)平均周轉(zhuǎn)時(shí)間(4)無交互能分時(shí)系分時(shí)系統(tǒng)(TimeSharingSystem)的產(chǎn)如果說,推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿?,是提高資源利用率和系統(tǒng)吞吐量,那么,推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿?,則是用戶的需求?;蛘哒f,分時(shí)系統(tǒng)是為了滿足用戶需求所形成的一種新型OS。它與多道批處理系統(tǒng)之間,有著截然不同的性能差別。用戶的需求具體表現(xiàn)在以下幾個(gè)方面:(1) 機(jī)交互(2)共享主機(jī)(3)便于用戶上機(jī)分時(shí)系統(tǒng)的特(1)多路(2)獨(dú)立(3)及時(shí)(4)交互實(shí)時(shí)系所謂“實(shí)時(shí)”,是表示“及時(shí)”,而實(shí)時(shí)系統(tǒng)(Real-Timem)是指系統(tǒng)能及時(shí)(或即時(shí))響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。應(yīng)用需(1)實(shí)時(shí)控(2)實(shí)時(shí)信息處實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)特征的比(1)多路(2)獨(dú)立(3)及時(shí)(4)交互(5)可靠6網(wǎng)絡(luò)操作系統(tǒng)(NOS,NetworkOperating計(jì)算機(jī)網(wǎng)通過通信系統(tǒng)把地理上分散的計(jì)算機(jī)和終端連接起來,以達(dá)到數(shù)據(jù)通信和資源共享的目的的一組計(jì)算機(jī)集合。計(jì)算機(jī)網(wǎng)絡(luò)的特(1)分布(2)自治(3)互連(4)可見網(wǎng)絡(luò)操作系統(tǒng)定義建立在主機(jī)操作系統(tǒng)基礎(chǔ)上,用于管理網(wǎng)絡(luò)通信和共享資源,協(xié)調(diào)各主機(jī)上任務(wù)的運(yùn)行,并相用戶提供統(tǒng)一的、有效的網(wǎng)絡(luò)接口的軟件集合。分布式操作系分布式系統(tǒng)能直接對(duì)系統(tǒng)中的各類資源進(jìn)行動(dòng)態(tài)分配和管理,有效控制和協(xié)調(diào)任務(wù)的并行執(zhí)行,允許系統(tǒng)中的處理單元無主次之分,并相用戶提供有效統(tǒng)一的接口的軟件集合。模塊分布式系統(tǒng)有若干個(gè)結(jié)構(gòu)相同并具有相同的處理能力的處理單元構(gòu)成。任務(wù)可以分配到其中任一的單元去執(zhí)行。提高了系統(tǒng)性能和可靠性。并行分布式可以將一個(gè)作業(yè)分散在各機(jī)器上并行執(zhí)行“進(jìn)程遷移”操作系統(tǒng)的基本特并發(fā)(并行性和并發(fā)性是既相似又有區(qū)別的兩個(gè)概念,并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生;而并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。在多道程序環(huán)境下,并發(fā)性是指在一段時(shí)間內(nèi),宏觀上有多個(gè)程序在同時(shí)運(yùn)行,但在單處理機(jī)系統(tǒng)中,每一時(shí)刻卻僅能有一道程序執(zhí)行,故微觀上這些程序只能是分時(shí)地交替執(zhí)行。共享(在操作系統(tǒng)環(huán)境下,所謂共享是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用。由于資源屬性的不同,進(jìn)程對(duì)資源共享的方式也不同,目前主要有以下兩種資源共享方式?;コ夤蚕矸皆谝欢螘r(shí)間內(nèi)只允許一個(gè)進(jìn)程(線程)訪問該資源7同時(shí)訪問方系統(tǒng)中還有另一類資源,允許在一段時(shí)間內(nèi)由多個(gè)進(jìn)程“同時(shí)”對(duì)它們進(jìn)行訪問。這里所謂的“同時(shí)”往往是宏觀上的,而在微觀上,這些進(jìn)程可能是交替地對(duì)該資源進(jìn)行訪問。典型的可供多個(gè)進(jìn)程“同時(shí)”訪問的資源是磁盤設(shè)備。自治分布式系統(tǒng)的各個(gè)處理單元都包含有處理機(jī)和局部存儲(chǔ)器,具有獨(dú)立執(zhí)行任務(wù)的能力透明用戶是否知道或指定資源在哪個(gè)機(jī)器上(如CPU、內(nèi)存或外設(shè))。分布式系統(tǒng)的網(wǎng)絡(luò)資源調(diào)度對(duì)用戶透明,用戶不了解所占有資源的位置;虛擬(操作系統(tǒng)中的所謂“虛擬”,是指通過某種技術(shù)把一個(gè)物理實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物。物理實(shí)體(前者)是實(shí)的,即實(shí)際存在的;而后者是虛的,是用戶感覺上的東西。相應(yīng)地,用于實(shí)現(xiàn)虛擬的技術(shù),稱為虛擬技術(shù)。在OS中利用了多種虛擬技術(shù),分別用來實(shí)現(xiàn)虛擬處理機(jī)、虛擬內(nèi)存、虛擬外部設(shè)備和虛擬信道等。異步性(在多道程序環(huán)境下,允許多個(gè)進(jìn)程并發(fā)執(zhí)行,但只有進(jìn)程在獲得所需的資源后方能執(zhí)行。在單處理機(jī)環(huán)境下,由于系統(tǒng)中只有一個(gè)處理機(jī),因而每次只允許一個(gè)進(jìn)程執(zhí)行,其余進(jìn)程只能等待。當(dāng)正在執(zhí)行的進(jìn)程提出某種資源要求時(shí),如果資源被占據(jù),正在執(zhí)行的進(jìn)程必須等待。內(nèi)存中的每個(gè)進(jìn)程在何時(shí)能獲得處理機(jī)運(yùn)行,何時(shí)又因提出某種資源請(qǐng)求而暫停,以及進(jìn)程以怎樣的速度向前推進(jìn),每道程序總共需多少時(shí)間才能完成,等等,都是不可預(yù)知的。或者說,進(jìn)程是以人們不可預(yù)知的速度向前推進(jìn),此即進(jìn)程的異步性。操作系統(tǒng)的主要功處理機(jī)管理功進(jìn)程控在傳統(tǒng)的多道程序環(huán)境下,要使作業(yè)運(yùn)行,必須先為它創(chuàng)建一個(gè)或幾個(gè)進(jìn)程,并為之分配必要的資源。當(dāng)進(jìn)程運(yùn)行結(jié)束時(shí),立即撤消該進(jìn)程,以便能及時(shí)回收該進(jìn)程所占用的各類資源。進(jìn)程控制的主要功能是為作業(yè)創(chuàng)建進(jìn)程、撤消已結(jié)束的進(jìn)程,以及控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換。進(jìn)程同進(jìn)程同步的主要任務(wù)是為多個(gè)進(jìn)程(含線程)的運(yùn)行進(jìn)行協(xié)調(diào)。有兩種協(xié)調(diào)方式:進(jìn)程互斥方式,這是指諸進(jìn)程(線程)在對(duì)臨界資源進(jìn)行訪問時(shí),應(yīng)采用互斥方式;進(jìn)程同步方式,指在相互合作去完成共同任務(wù)的諸進(jìn)程(線程)間,由同步機(jī)構(gòu)對(duì)它們的執(zhí)行次序加以協(xié)調(diào)。為了實(shí)現(xiàn)進(jìn)程同步,系統(tǒng)中必須設(shè)置進(jìn)程同步機(jī)制8進(jìn)程通在多道程序環(huán)境下,為了加速應(yīng)用程序的運(yùn)行,應(yīng)在系統(tǒng)中建立多個(gè)進(jìn)程,并且再為一個(gè)進(jìn)程建立若干個(gè)線程,由這些進(jìn)程(線程)相互合作去完成一個(gè)共同的任務(wù)。而在這些進(jìn)程(線程)之間,又往往需要交換信息。4.調(diào)在后備隊(duì)列上等待的每個(gè)作業(yè),通常都要經(jīng)過調(diào)度才能執(zhí)行。在傳統(tǒng)的操作系統(tǒng)中,包括作業(yè)調(diào)度和進(jìn)程調(diào)度兩步。作業(yè)調(diào)度的基本任務(wù),是從后備隊(duì)列中按照一定的算法,選擇出若干個(gè)作業(yè),為它們分配其必需的資源(首先是分配內(nèi)存)。在將它們調(diào)入內(nèi)存后,便分別為它們建立進(jìn)程,使它們都成為可能獲得處理機(jī)的就緒進(jìn)程,并按照一定的算法將它們插入就緒隊(duì)列。而進(jìn)程調(diào)度的任務(wù),則是從進(jìn)程的就緒隊(duì)列中選出一新進(jìn)程,把處理機(jī)分配給它。存儲(chǔ)器管理功內(nèi)存分OS在實(shí)現(xiàn)內(nèi)存分配時(shí),可采取靜態(tài)和動(dòng)態(tài)兩種方式。在靜態(tài)分配方式中,每個(gè)作業(yè)的內(nèi)存空間是在作業(yè)裝入時(shí)確定的;在作業(yè)裝入后的整個(gè)運(yùn)行期間,不允許該作業(yè)再申請(qǐng)新的內(nèi)存空間,也不允許作業(yè)在內(nèi)存中“移動(dòng)”;在動(dòng)態(tài)分配方式中,每個(gè)作業(yè)所要求的基本內(nèi)存空間,也是在裝入時(shí)確定的,但允許作業(yè)在運(yùn)行過程中,繼續(xù)申請(qǐng)新的附加內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)的動(dòng)態(tài)增漲,也允許作業(yè)在內(nèi)存中“移動(dòng)”。為了實(shí)現(xiàn)內(nèi)存分配,在內(nèi)存分配的機(jī)制中應(yīng)具有這樣的結(jié)構(gòu)和功能內(nèi)存分配數(shù)據(jù)結(jié)構(gòu),該結(jié)構(gòu)用于記錄內(nèi)存空間的使用情況,作為內(nèi)存分配的依據(jù)內(nèi)存分配功能,系統(tǒng)按照一定的內(nèi)存分配算法,為用戶程序分配內(nèi)存空間內(nèi)存回收功能,系統(tǒng)對(duì)于用戶不再需要的內(nèi)存,通過用戶的釋放請(qǐng)求,去完成系統(tǒng)的回收功能內(nèi)存保內(nèi)存保護(hù)的主要任務(wù),是確保每道用戶程序都只在自己的內(nèi)存空間內(nèi)運(yùn)行,彼此互不干擾種比較簡(jiǎn)單的內(nèi)存保護(hù)機(jī)制,是設(shè)置兩個(gè)界限寄存器,分別用于存放正在執(zhí)行程序的上界和下界。系統(tǒng)須對(duì)每條指令所要訪問的地址進(jìn)行檢查,如果發(fā)生越界,便發(fā)出越界中斷請(qǐng)求,以停止該程序的執(zhí)行。地址映個(gè)應(yīng)用程序(源程序)經(jīng)編譯后,通常會(huì)形成若干個(gè)目標(biāo)程序;這些目標(biāo)程序再經(jīng)過鏈接便形成了可裝入程序。這些程序的地址都是從“0”開始的,程序中的其它地址都是相對(duì)于起始地址計(jì)算的;在多道程序環(huán)境下,每道程序不可能都從“0”地址開始裝入(內(nèi)存),這就致使地址空間內(nèi)的邏輯地址和內(nèi)存空間中的物理地址不相一致。使程序能正確運(yùn)行,存儲(chǔ)器管理必須提供地址映射功能,以將地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對(duì)應(yīng)的物理地址。該功能應(yīng)在硬件的支持下完成。內(nèi)存擴(kuò)存儲(chǔ)器管理中的內(nèi)存擴(kuò)充任務(wù),并非是去擴(kuò)大物理內(nèi)存的容量,而是借助于虛擬存儲(chǔ)技術(shù),從9輯上去擴(kuò)充內(nèi)存容量,使用戶所感覺到的內(nèi)存容量比實(shí)際內(nèi)存容量大得多;或者是讓更多的用戶程序能并發(fā)運(yùn)行。設(shè)備管理功設(shè)備管理用于管理計(jì)算機(jī)系統(tǒng)中所有的外圍設(shè)備,而設(shè)備管理的主要任務(wù)是,完成用戶進(jìn)程提出的I/O請(qǐng)求;為用戶進(jìn)程分配其所需的I/O設(shè)備;提高CPU和I/O設(shè)備的利用率;提高I/O速度;方便用戶使用I/O設(shè)備。為實(shí)現(xiàn)上述任務(wù),設(shè)備管理應(yīng)具有緩沖管理、設(shè)備分配和設(shè)備處理,以及虛擬設(shè)備等功能。緩沖管而隨著CPU速度迅速、大幅度的提高,使得CPU運(yùn)行的高速性和I/O低速性間的矛盾更為突出,嚴(yán)重降低了CPU的利用率。如果在I/O設(shè)備和CPU之間引入緩沖,則可有效地緩和CPU和I/O設(shè)備速度不匹配的矛盾,提高的利用率,進(jìn)而提高系統(tǒng)吞吐量。設(shè)備分設(shè)備分配的基本任務(wù),是根據(jù)用戶進(jìn)程的I/O請(qǐng)求、系統(tǒng)的現(xiàn)有資源情況以及按照某種設(shè)備分配策略,為之分配其所需的設(shè)備。如果在I/O設(shè)備和CPU之間,還存在著設(shè)備控制器和I/O通道時(shí),還須為分配出去的設(shè)備分配相應(yīng)的控制器和通道。為了實(shí)現(xiàn)設(shè)備分配,系統(tǒng)中應(yīng)設(shè)置設(shè)備控制表、控制器控制表等數(shù)據(jù)結(jié)構(gòu),用于記錄設(shè)備及控制器的標(biāo)識(shí)符和狀態(tài)。設(shè)備處設(shè)備處理程序又稱為設(shè)備驅(qū)動(dòng)程序。其基本任務(wù)是用于實(shí)現(xiàn)CPU和設(shè)備控制器之間的通信,即由CPU向設(shè)備控制器發(fā)出I/O命令,要求它完成指定的I/O操作;反之由CPU接收從控制器發(fā)來的中斷請(qǐng)求,并給予迅速的響應(yīng)和相應(yīng)的處理。文件管理功文件存儲(chǔ)空間的管由文件系統(tǒng)對(duì)諸多文件及文件的存儲(chǔ)空間,實(shí)施統(tǒng)一的管理。其主要任務(wù)是為每個(gè)文件分配必要的外存空間,提高外存的利用率,并能有助于提高文件系統(tǒng)的運(yùn)行速度。目錄管為了使用戶能方便地在外存上找到自己所需的文件,通常由系統(tǒng)為每個(gè)文件建立一個(gè)目錄項(xiàng)。目錄管理的主要任務(wù),是為每個(gè)文件建立其目錄項(xiàng),并對(duì)眾多的目錄項(xiàng)加以有效的組織,以實(shí)現(xiàn)方便的按名存取。其次,目錄管理還應(yīng)能實(shí)現(xiàn)文件共享,此外,還應(yīng)能提供快速的目錄查詢手段,以提高對(duì)文件的檢索速度。文件的讀寫管理和保(1)文件的讀寫管理該功能是根據(jù)用戶的請(qǐng)求,從外存中讀取數(shù)據(jù);或?qū)?shù)據(jù)寫入外存。在進(jìn)行文件讀(寫)時(shí),系統(tǒng)先根據(jù)用戶給出的文件名,去檢索文件目錄,從中獲得文件在外存中的位置。(2)文件保護(hù)防止未經(jīng)核準(zhǔn)的用戶存取文件防止冒名頂替存取文件防止以不正確的方式使用文件用戶接命令接(1)聯(lián)機(jī)用戶接口。這是為聯(lián)機(jī)用戶提供的,它由一組鍵盤操作命令及命令解釋程序所組成。當(dāng)用戶在終端或控制臺(tái)上每鍵入一條命令后,系統(tǒng)便立即轉(zhuǎn)入命令解釋程序,對(duì)該命令加以解釋并執(zhí)行該命令。在完成指定功能后,控制又返回到終端或控制臺(tái)上,等待用戶鍵入下一條命令。這樣,用戶可通過先后鍵入不同命令的方式,來實(shí)現(xiàn)對(duì)作業(yè)的控制,直至作業(yè)完成。(2)脫機(jī)用戶接口。該接口是為批處理作業(yè)的用戶提供的,故也稱為批處理用戶接口。該接口由一組作業(yè)控制語言組成。程序接口(系統(tǒng)功能調(diào)用接口該接口是為用戶程序在執(zhí)行中訪問系統(tǒng)資源而設(shè)置的,是用戶程序取得操作系統(tǒng)服務(wù)的惟一途徑。它是由一組系統(tǒng)調(diào)用組成,每一個(gè)系統(tǒng)調(diào)用都是一個(gè)能完成特定功能的子程序,每當(dāng)應(yīng)用程序要求提供某種服務(wù)(功能)時(shí),便調(diào)用具有相應(yīng)功能的系統(tǒng)調(diào)用。系統(tǒng)調(diào)用的類進(jìn)程控制類系統(tǒng)調(diào)(1)創(chuàng)建和終止進(jìn)程的系統(tǒng)調(diào)用(2)獲得和設(shè)置進(jìn)程屬性的系統(tǒng)調(diào)用(3)等待某事件出現(xiàn)的系統(tǒng)調(diào)用。文件操縱類系統(tǒng)調(diào)用(1)創(chuàng)建和刪除文件(2)打開和關(guān)閉文件(3)讀和寫文件進(jìn)程通信類系統(tǒng)調(diào)在OS中經(jīng)常采用兩種進(jìn)程通信方式,即消息傳遞方式和共享存儲(chǔ)區(qū)方式。當(dāng)系統(tǒng)中采用消息傳遞方式時(shí),在通信前,必須先打開一個(gè)連接。為此,應(yīng)由源進(jìn)程發(fā)出一條打開連接的系統(tǒng)調(diào)用openconnection,而目標(biāo)進(jìn)程則應(yīng)利用接受連接的系統(tǒng)調(diào)用acceptconnection表示同意進(jìn)行通信;然后,在源和目標(biāo)進(jìn)程之間便可開始通信??梢岳冒l(fā)送消息的系統(tǒng)調(diào)用sendmessage或者用接收消息的系統(tǒng)調(diào)用receivemessage來交換信息。通信結(jié)束后,還須再利用關(guān)閉連接的系統(tǒng)調(diào)用closeconnection結(jié)束通信。系統(tǒng)功能調(diào)系統(tǒng)調(diào)用及實(shí)程序的狀態(tài):計(jì)算機(jī)系統(tǒng)中的程序大體上分為系統(tǒng)程序和用戶程序,前者是后者的管理者。為便于管理,引入管態(tài)(系統(tǒng)態(tài)):操作系統(tǒng)程序運(yùn)行的狀態(tài)算態(tài)(目態(tài)):用戶程序運(yùn)行的狀態(tài)特權(quán)指令:特權(quán)指令是一類只能在管態(tài)下執(zhí)行而不能在算態(tài)下執(zhí)行的特殊的指令。這些指令在不同的機(jī)器中有不同的規(guī)定,通常與硬件有很大的關(guān)系,常見的特權(quán)指令有如下幾類:①傳送程序狀態(tài)字的指②啟動(dòng)、測(cè)試和控制外設(shè)的指③存取特殊寄存器的指訪管指令:本身不是特權(quán)指令,基本功能是“自愿進(jìn)管”,能引起訪管中斷系統(tǒng)功能調(diào)用就是用戶在程序中用訪管指令調(diào)用由操作系統(tǒng)提供的子功能集合。有時(shí)把其中的每一個(gè)子功能稱為一條廣義指令。系統(tǒng)調(diào)用的實(shí)現(xiàn)過圖形接圖形用戶接口采用了圖形化的操作界面,用非常容易識(shí)別的各種圖標(biāo)(icon)來將系統(tǒng)的各項(xiàng)功能、各種應(yīng)用程序和文件,直觀、真地表示出來。用戶可用鼠標(biāo)或通過菜單和對(duì)話框,來完成對(duì)應(yīng)用程序和文件的操作。二、真題舉1.操作系統(tǒng)的主要作用是 管理設(shè)提供操作命管理文為用戶提供使用計(jì)算機(jī)的接口,管理計(jì)算機(jī)的資【解析】操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中最重要、最基本的系統(tǒng)軟件,位于硬件和用戶之間,一方面,它能向用戶提供接口,方便用戶使用計(jì)算機(jī);另一方面,它能管理計(jì)算機(jī)軟硬件資源,以便合理充分地利用它們。操作系統(tǒng)主要功能:處理機(jī)管理、存儲(chǔ)管理、設(shè)備管理、文件管理、網(wǎng)絡(luò)與通信管理、用戶接口()是多道程序的基本特征A.制約 B.順序C.功能的封閉 D.運(yùn)行過程的可再現(xiàn)【解析】 所謂多道程序設(shè)計(jì)是指允許多個(gè)程序同時(shí)進(jìn)入一個(gè)計(jì)算機(jī)系統(tǒng)的主儲(chǔ)存器并啟動(dòng)進(jìn)行計(jì)算的方法。多道程序的運(yùn)行環(huán)境比單道要復(fù)雜得多,具體表現(xiàn)有:失去了封閉性,程序之間存在相互干擾(制約性),由此產(chǎn)生的問題是不再具有靜態(tài)程序的順序性和可再現(xiàn)性。3.單處理機(jī)系統(tǒng)中,可并行的是 )【2009年統(tǒng)考Ⅰ進(jìn)程與進(jìn) Ⅱ處理機(jī)與設(shè)Ⅲ處理機(jī)與通 Ⅳ設(shè)備與設(shè)A.Ⅰ、Ⅱ和 B.Ⅰ、Ⅱ和 C.Ⅰ、Ⅲ和 D.Ⅱ、Ⅲ和【解析】 單處理機(jī)即只有一個(gè)處理機(jī),某時(shí)刻處理機(jī)同時(shí)只能處理一個(gè)進(jìn)程,所以進(jìn)程與進(jìn)程之間不能并行執(zhí)行。處理機(jī)、通道、設(shè)備都能并行執(zhí)行。比如同時(shí)打印(設(shè)備)、計(jì)算(處理機(jī))、傳輸數(shù)據(jù)(通道控制內(nèi)存和外存間數(shù)據(jù)交換)?!究疾辄c(diǎn)】并行的概念4.下列選項(xiàng)中,操作系統(tǒng)提供的給應(yīng)用程序的接口是 )【2010年統(tǒng)考A.系統(tǒng)調(diào) B.中 C.庫函 D.原【解析 操作系統(tǒng)提供兩類接口—類是命令接口,比如用戶通過鍵盤命令和鼠標(biāo)命令來操作計(jì)算機(jī)。一類是程序接口,它提供一組系統(tǒng)調(diào)用,用戶可以通過運(yùn)行一些應(yīng)用程序來訪問操作系統(tǒng)的資源。中斷是系統(tǒng)內(nèi)部對(duì)于事件響應(yīng)的機(jī)制,對(duì)于應(yīng)用程序是透明的,不會(huì)提供給應(yīng)用程序。庫函數(shù)和原語都是面對(duì)操作系統(tǒng)底層的,不會(huì)提供給應(yīng)用程序?!究疾辄c(diǎn)】操作系統(tǒng)提供的功三、本講小本講主要講解了:操作系統(tǒng)的地位、作用、特重點(diǎn)講解了:操作系統(tǒng)的四大功能和一種接口。常考題型:選擇題。應(yīng)試方法:熟練理解和掌握基本功能第二 進(jìn)程管~、復(fù)習(xí)注意事掌握進(jìn)程、線程、同步與互斥、進(jìn)程通信的基本概念。重點(diǎn)深刻理解和掌握以下幾點(diǎn)深刻理解引進(jìn)進(jìn)程的原因進(jìn)程的基本狀態(tài)和進(jìn)程狀態(tài)變換的條件使用信號(hào)量和P、操作解決進(jìn)程的同步與互斥二、目錄分多道程序設(shè)計(jì)及進(jìn)程產(chǎn)生的原進(jìn)程定義[一般了解進(jìn)程基本狀態(tài)[熟練掌握進(jìn)程的同步與互斥[重點(diǎn)掌握進(jìn)程通信[一般掌握線程[一般了解三、考研分考重點(diǎn)與難點(diǎn)考試中見題型復(fù)習(xí)思路與方本章中的幾個(gè)基本念;進(jìn)斥1.記概念;進(jìn)程狀態(tài)的變換;用信選擇題、合分析題解并熟練掌握本章的幾個(gè)號(hào)量解決同步與互?同與互斥的實(shí)例?第1 進(jìn)程的基本概念與進(jìn)程狀~、考點(diǎn)精多道程序設(shè)把一個(gè)以上的程序放入內(nèi)存中,并且同時(shí)處于運(yùn)行狀態(tài),這些程序共享和其它資源。特點(diǎn)下多道:內(nèi)存中有多道程序,它們?cè)谌我粫r(shí)刻必須處于就緒、運(yùn)行、阻塞三種狀態(tài)宏觀上并行:從宏觀上看,它們?cè)谕瑫r(shí)執(zhí)行微觀上串行:從微觀上看,它們?cè)诮惶?、穿插?zhí)行兩個(gè)進(jìn)程執(zhí)行示意圖見視多道程序設(shè)計(jì)優(yōu)點(diǎn):利用率高。設(shè)備利用率高。系統(tǒng)吞吐量大。并發(fā)執(zhí)行的特征失去封閉性:共享資源,程序之間互相制約出現(xiàn)相互制約關(guān)系:雖然每個(gè)程序還是一個(gè)相對(duì)獨(dú)立的實(shí)體,單由于程序的并發(fā)執(zhí)行,使得一個(gè)程序的順序執(zhí)行要依賴于其他程序的執(zhí)行結(jié)果,這樣就形成了相互制約的關(guān)系。間斷性:程序之間的制約關(guān)系致使程序執(zhí)行時(shí)間不連貫按乘客需要查找R1:=ifR1>=1thenbegiR1:=R1-1;Hi:=R1;售出一張票按乘客需要查找R1:=ifR1>=1thenbegiR1:=R1-1;Hi:=R1;售出一張票售完’};按乘客需要查找R2:=ifR2>=1thenbegiR2:=R2-1;Hi:=R2;售出一張票else{提示‘票已售完’};初始Hi=時(shí)不同執(zhí)行序列,結(jié)果各不相執(zhí)行序號(hào)12程i:=R1TR1:=R11結(jié)T1:售出一張票T2:票已售完Hi=0T2:售出一張票T1:售出一張票Hi=1綜上所述,由于程序的并發(fā)執(zhí)行破壞了程序的封閉性和可再現(xiàn)性,使得程序和程序的執(zhí)行不再一一對(duì)應(yīng),因此,程序這個(gè)靜態(tài)的概念已經(jīng)不能切實(shí)反映程序執(zhí)行的各種特征。于是,引入“進(jìn)程”,能夠反映程序執(zhí)行的獨(dú)立性、并發(fā)性和動(dòng)態(tài)性等特征進(jìn)程是程序的一次執(zhí)行進(jìn)程是可以和別的計(jì)算并發(fā)執(zhí)行的計(jì)算進(jìn)程是定義在一個(gè)數(shù)據(jù)結(jié)構(gòu)上并能在其上進(jìn)行操作的一個(gè)程序進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的過程,它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。進(jìn)程與程序的區(qū)別進(jìn)程是動(dòng)態(tài)的,程序是靜態(tài)的:程序是有序代碼的集合,屬于靜態(tài)的文本概念;進(jìn)程是程序的一次執(zhí)行。進(jìn)程是并發(fā)的,會(huì)相互制約,程序是順序的進(jìn)程是暫時(shí)的,程序的永久的:進(jìn)程是一個(gè)狀態(tài)變化的過程,程序可長久保存進(jìn)程與程序的組成不同:進(jìn)程的組成包括程序、數(shù)據(jù)和進(jìn)程控制塊(即進(jìn)程狀態(tài)信息)進(jìn)程與程序的對(duì)應(yīng)關(guān)系:通過多次執(zhí)行,一個(gè)程序可對(duì)應(yīng)多個(gè)進(jìn)程;通過調(diào)用關(guān)系,一個(gè)進(jìn)程可包括多個(gè)程序。進(jìn)程是程序的一次執(zhí)行,該程序可與其它程序并發(fā)執(zhí)行;它是一個(gè)動(dòng)態(tài)實(shí)體,在傳統(tǒng)的操作系統(tǒng)設(shè)計(jì)中,進(jìn)程既是基本的分配單位,也是基本的執(zhí)行單位。進(jìn)程組成:有程序段、數(shù)據(jù)段和進(jìn)程控制塊(PCB)組成。程序和數(shù)據(jù)是進(jìn)程存在的物理基礎(chǔ),是進(jìn)程的實(shí)體。進(jìn)程控制塊是進(jìn)程的靈魂,是進(jìn)程存在的唯一標(biāo)志操作系統(tǒng)為進(jìn)程創(chuàng)建進(jìn)程控制塊和分配地址空間的過程就是進(jìn)程創(chuàng)建的過程。進(jìn)程基本狀態(tài)運(yùn)行態(tài)(Running):進(jìn)程已經(jīng)獲得所需資源,并占有CPU。就緒態(tài)(Ready):已經(jīng)獲得所需資源,只等待CPU。阻塞態(tài)(Blocked):也稱為等待態(tài)、掛起態(tài)或睡眠態(tài)等,進(jìn)程等待某個(gè)事件,如等待完成,待某個(gè)資源此外,還可以有新建態(tài)、終止態(tài)。進(jìn)程狀態(tài)的轉(zhuǎn)換狀態(tài)進(jìn)程模引起創(chuàng)建進(jìn)程的事(1)用戶登錄(2)作業(yè)調(diào)度(3)提供服務(wù)(4)應(yīng)用請(qǐng)求2.進(jìn)程的創(chuàng)建(Creationof(2)為新進(jìn)程分配資源(3)初始化進(jìn)程控制塊(4)將新進(jìn)程插入就緒隊(duì)列,如果進(jìn)程就緒隊(duì)列能夠接納新進(jìn)程,便將新進(jìn)程插入就緒隊(duì)列。進(jìn)程的終止1.引起進(jìn)程終止(TerminationofProcess)的事1)正常結(jié)束2)異常結(jié)束3)外界干預(yù)進(jìn)程的終止過(1)根據(jù)被終止進(jìn)程的標(biāo)識(shí)符,從集合中檢索出該進(jìn)程的PCB,從中讀出該進(jìn)程的狀態(tài)(2)若被終止進(jìn)程正處于執(zhí)行狀態(tài),應(yīng)立即終止該進(jìn)程的執(zhí)行,并置調(diào)度標(biāo)志為真,用于指示該進(jìn)程被終止后應(yīng)重新進(jìn)行調(diào)度。(3)若該進(jìn)程還有子孫進(jìn)程,還應(yīng)將其所有子孫進(jìn)程予以終止,以防他們成為不可控的進(jìn)程(4)將被終止進(jìn)程所擁有的全部資源,或者歸還給其父進(jìn)程,或者歸還給系統(tǒng)(5)將被終止進(jìn)程(它的PCB)從所在隊(duì)列(或鏈表)中移出,等待其他程序來搜集信息。進(jìn)程的阻塞與喚醒引起進(jìn)程阻塞和喚醒的事1)請(qǐng)求系統(tǒng)服務(wù);2)啟動(dòng)某種操作;3)新數(shù)據(jù)尚未到達(dá);4)無阻塞過程正在執(zhí)行的進(jìn)程,當(dāng)發(fā)現(xiàn)上述某事件時(shí),由于無法繼續(xù)執(zhí)行,于是進(jìn)程便通過調(diào)用阻塞原語block把自己阻塞。首先立即停止執(zhí)行,然后將本進(jìn)程插入到具有相同事件的阻塞(等待)隊(duì)列。最后,轉(zhuǎn)調(diào)度程序進(jìn)行重新調(diào)度,將處理機(jī)分配給另一就緒進(jìn)程。進(jìn)程喚醒過當(dāng)被阻塞進(jìn)程所期待的事件出現(xiàn)時(shí),則由有關(guān)進(jìn)程調(diào)用喚醒原語wakeup(),將等待該事件的進(jìn)程喚醒。喚醒原語執(zhí)行的過程是:首先把被阻塞的進(jìn)程從等待該事件的阻塞隊(duì)列中移出,將其PCB中的現(xiàn)行狀態(tài)由阻塞改為就緒,然后再將該插入到就緒隊(duì)列中。進(jìn)程的掛起與激進(jìn)程的掛當(dāng)出現(xiàn)了引起進(jìn)程掛起的事件時(shí),系統(tǒng)將利用掛起原語suspend()將指定進(jìn)程或處于阻塞狀態(tài)的進(jìn)程掛起。掛起原語的執(zhí)行過程是:首先檢查被掛起進(jìn)程的狀態(tài),若處于活動(dòng)就緒狀態(tài),便將其改為靜止就緒;對(duì)于活動(dòng)阻塞狀態(tài)的進(jìn)程,則將之改為靜止阻塞。最后,若被掛起的進(jìn)程正在執(zhí)行,則轉(zhuǎn)向調(diào)度程序重新調(diào)度。進(jìn)程的激活過active()將指定進(jìn)程激活。激活原語先將進(jìn)程從外存調(diào)入內(nèi)存,檢查該進(jìn)程的現(xiàn)行狀態(tài),若是靜止就緒,便將之改為活動(dòng)就緒;若為靜止阻塞便將之改為活動(dòng)阻塞。二、真題舉1.下列選項(xiàng)中,導(dǎo)致創(chuàng)建新進(jìn)程的操作是 )【2010年統(tǒng)考Ⅰ戶登陸成Ⅱ備分Ⅲ動(dòng)程序執(zhí)A.Ⅰ和B.Ⅱ和C.Ⅰ和D.Ⅰ、Ⅱ、【解析】 用戶登陸成功就是需要為這個(gè)用戶創(chuàng)建進(jìn)程來解釋用戶的各種命令操作。設(shè)備分配由內(nèi)核自動(dòng)完成,不需要?jiǎng)?chuàng)建新進(jìn)程。啟動(dòng)程序執(zhí)行的目的就是創(chuàng)建一個(gè)新進(jìn)程來執(zhí)行程序【考查點(diǎn)】導(dǎo)致進(jìn)程創(chuàng)建的事2.由于并發(fā)進(jìn)程執(zhí)行的隨機(jī)性,一個(gè)進(jìn)程對(duì)另一個(gè)進(jìn)程的影響是不可預(yù)測(cè)的,甚至造成結(jié)果的不正確,造成不正確的因素( )。A.與時(shí)間有 B.只與進(jìn)程占用的處理機(jī)有C.與執(zhí)行速度無 D.只與外界的影響有【解析】 由于各進(jìn)程的異步推進(jìn),進(jìn)程之間的制約關(guān)系與時(shí)間有關(guān),也即與進(jìn)程的執(zhí)行速度有關(guān)。3.在下列敘述中,正確的一條是 分時(shí)系統(tǒng)中,時(shí)間片越小,響應(yīng)時(shí)間越多道程序的引入,主要是為了提高及其他資源的利用飛機(jī)票訂票系統(tǒng)是分時(shí)系是進(jìn)程存在的唯一標(biāo)志,而程序是系統(tǒng)感知進(jìn)程的唯一實(shí)【解析】分時(shí)系統(tǒng)的響應(yīng)時(shí)間≈q,n是用戶數(shù)目,q是時(shí)間片。當(dāng)在用戶數(shù)目一定的情況下,時(shí)間片越小,響應(yīng)時(shí)間越短。在單道程序環(huán)境下,系統(tǒng)的全部資源為一個(gè)作業(yè)所獨(dú)占,如果該作業(yè)在進(jìn)行輸入或輸出時(shí),CPU仍然被它所占有,處于等待狀態(tài)。如果采用多道程序設(shè)計(jì)技術(shù),當(dāng)某個(gè)作業(yè)輸入或輸出時(shí),CPU就可處理其他的作業(yè),其他資源也是類似的。飛機(jī)票訂票系統(tǒng)是實(shí)時(shí)信息處理系統(tǒng)是進(jìn)程存在的唯一標(biāo)志,也是系統(tǒng)感知進(jìn)程存在的唯一實(shí)體。而進(jìn)程的程序部分描述了進(jìn)程所要完成的功能。有兩個(gè)并發(fā)執(zhí)行的進(jìn)程P1和P2,共享初值為1的變量x。P1對(duì)x加1,P2對(duì)x減1,加1和減操作的指令序列分別如下所示?!灸杲y(tǒng)考//加1操 //減1操loadR1,x①//取x到寄存器R1 loadR2,xinc dec storex ③//將R1的內(nèi)容存入 storex,R2兩個(gè)操作完成后,x的值()A.可能為-1或 B.只能為C.可能為0、1或 D.可能為-1、0、1或解析見視【考查點(diǎn)】進(jìn)程的并三、本講小本講主要講解了:進(jìn)程的基本概念、進(jìn)程狀態(tài)的轉(zhuǎn)換。??碱}型:選擇題。應(yīng)試方法:熟練理解、掌握基本概念第2 進(jìn)程的同步與互斥一~、考點(diǎn)精進(jìn)程間的相互作用同步:相互協(xié)作的進(jìn)程共同完成一個(gè)任務(wù)時(shí),一個(gè)進(jìn)程的某個(gè)操作與協(xié)作進(jìn)程的某個(gè)操作之間在時(shí)上有一定的關(guān)系。如果協(xié)作進(jìn)程的某個(gè)操作沒有完成,那么該進(jìn)程就要等待這個(gè)操作完成才能繼續(xù)下去,這種需要相互合作、協(xié)同工作的進(jìn)程之間的相互關(guān)系稱為進(jìn)程的同步。互斥當(dāng)兩個(gè)或兩個(gè)以上進(jìn)程競(jìng)爭(zhēng)同一臨界資源時(shí),進(jìn)程間的制約關(guān)系稱為進(jìn)程的互斥1.臨界區(qū)(互斥區(qū)):critical臨界資系統(tǒng)中某些資源一次只允許一個(gè)進(jìn)程使用,稱這樣的資源為臨界資源或互斥資源或共享變量。臨界區(qū)—個(gè)程序片段的集合,在進(jìn)程中涉及到臨界資源的程序段叫臨界區(qū)。使用臨界區(qū)的原則(1)當(dāng)有若干個(gè)進(jìn)程要求進(jìn)入臨界區(qū)時(shí),應(yīng)使一個(gè)進(jìn)程進(jìn)入臨界區(qū),它們不應(yīng)相互等待而使誰都不能進(jìn)入,即進(jìn)程不能無限地停留在等待臨界資源的狀態(tài)。(2)一次只允許一個(gè)進(jìn)程進(jìn)入臨界區(qū)中,即各進(jìn)程互斥訪問臨界資源(3)各進(jìn)程使用臨界資源的時(shí)間是有限的,即任何一個(gè)進(jìn)程都必須在有限的時(shí)間內(nèi)釋放所占資源。信號(hào)量及P、操作信號(hào)量(phe)是表示資源的實(shí)體,是一個(gè)與隊(duì)列有關(guān)的整型變量,其值僅能由P、操作改變信號(hào)量分為公用信號(hào)量和私用信號(hào)量。公用信號(hào)量:用于實(shí)現(xiàn)進(jìn)程間的互斥,初值通常設(shè)為1,它所聯(lián)系的一組并行進(jìn)程均可對(duì)它實(shí)施P、操作;私用信號(hào)量:用于實(shí)現(xiàn)進(jìn)程間的同步,初始值通常設(shè)為或n,允許擁有它的進(jìn)程對(duì)其實(shí)施操作。信號(hào)量:semaphore信號(hào)量數(shù)據(jù)結(jié)構(gòu)定義如下struct{intpointerPCB}信號(hào)量說明:Semaphores;P、V操作P({s.value=s.value-1;if(s.value<0){該進(jìn)程狀態(tài)置為等待狀態(tài)將該進(jìn)程的插入相應(yīng)的等待隊(duì)列末尾s.}}V(s)s.value=s.value+1;if(s.value<=0)喚醒相應(yīng)等待隊(duì)列s.queue中等待的一個(gè)進(jìn)程改變其狀態(tài)為就緒態(tài)并將其插入就緒隊(duì)}}P、操作是原語操作(原語:是(由若干條機(jī)器指令構(gòu)成的)完成某種特定功能的一段程序,具有不可分割性。即原語的執(zhí)行必須是連續(xù)的,不允許被中斷。信號(hào)量值的含義s.value>=0時(shí),其值表示還有可用的資源數(shù);s.value<時(shí),其絕對(duì)值表示有多少個(gè)進(jìn)程因申請(qǐng)?jiān)撔盘?hào)量表示的資源,得不到而進(jìn)入阻塞態(tài)用P、操作解決進(jìn)程間互斥問題設(shè)信號(hào)量:s=;生產(chǎn)者消費(fèi)者問同步問題進(jìn)程(生產(chǎn)者)不能往“滿”的緩沖區(qū)放產(chǎn)品。進(jìn)程(消費(fèi)者)不能從“空”的緩沖區(qū)取產(chǎn)品。單緩沖區(qū)、一個(gè)生產(chǎn)者和一個(gè)消費(fèi)者:設(shè)置私用信號(hào)量為S1,S2,初值為1,生生產(chǎn)者進(jìn)程(true)生產(chǎn)一件產(chǎn)品放入一件產(chǎn)品;V(S2) }釋放緩沖區(qū)消費(fèi)者進(jìn)程while(true)P(S2)區(qū)/ 請(qǐng)一個(gè)滿緩拿出一件產(chǎn)品V(S1)消費(fèi)產(chǎn)品}生生產(chǎn)者進(jìn)程(true)生產(chǎn)一件產(chǎn)品放入一件產(chǎn)品;V(S2) }釋放緩沖區(qū)消費(fèi)者進(jìn)程while(true)P(S2)區(qū)/ 請(qǐng)一個(gè)滿緩拿出一件產(chǎn)品V(S1)消費(fèi)產(chǎn)品}n個(gè)緩沖區(qū)、k個(gè)生產(chǎn)者和m個(gè)消費(fèi)者:增加互斥信號(hào)量x,初值為1,并設(shè)S1,S2,初值分別n和0生生產(chǎn)者進(jìn)程(true)生產(chǎn)一件產(chǎn)品P(x);放入一件產(chǎn)品V(x)V(S2) }釋放緩沖區(qū)消費(fèi)者進(jìn)程while(true)P(S2)/請(qǐng)一個(gè)滿緩區(qū)/P(x)拿出一件產(chǎn)品V(x)V(S1)消費(fèi)產(chǎn)品}↑兩兩個(gè)操作交換對(duì)P,操作的使用應(yīng)注意P,操作都是成對(duì)出現(xiàn)的:互斥操作時(shí),它們?cè)谕贿M(jìn)程中;同步操作時(shí),它們處于不同的進(jìn)程在進(jìn)程中,操作的位置和次序至關(guān)重要。一般情況下,對(duì)互斥信號(hào)量的操作在后。而作沒有特別的限制P,操作的優(yōu)點(diǎn)是原語完備,表達(dá)能力強(qiáng),可以解決任何同步和互斥問題;缺點(diǎn)是不夠安全,實(shí)現(xiàn)復(fù)雜二、真題舉設(shè)與某資源相關(guān)聯(lián)的信號(hào)量初值為3,當(dāng)前值為1,若表示該資源的可用個(gè)數(shù),表示等待該資源的進(jìn)程數(shù),則M、分別是()【年統(tǒng)考】A.0、 B.1、 C.1、 D.2、【解析 信號(hào)量可表示某資源的當(dāng)前可使用數(shù)量當(dāng)信號(hào)量時(shí),表示此資源還有個(gè)資源可用,此時(shí)不會(huì)有等待該資源的進(jìn)程。當(dāng)信號(hào)量時(shí),表示此時(shí)有||個(gè)進(jìn)程在等待該資源。此題中,=,因此可用資源數(shù)=,等待該資源的進(jìn)程數(shù)=【考查點(diǎn)】信號(hào)量的若信號(hào)量的初值
2,當(dāng)前值為-3,則表示有 )個(gè)等待進(jìn)程A. B. C. D.【解析 當(dāng)信號(hào)量控制互斥問題時(shí),其初值代表資源的個(gè)數(shù)本題中,初值為2,說明該種資源數(shù)量為2,當(dāng)進(jìn)程將2個(gè)資源全部占有之后,信號(hào)量值減至0,時(shí)若再有進(jìn)程要求申請(qǐng)?jiān)撡Y源,則必須在此信號(hào)量上等待,具體表現(xiàn)為:將信號(hào)量的值減1,導(dǎo)致信號(hào)量的取值為負(fù)。此時(shí)有幾個(gè)進(jìn)程申請(qǐng)?jiān)撡Y源,信號(hào)量便被減幾次;因此的值為,則表示有3個(gè)進(jìn)程在等待該資源。關(guān)于臨界問題的一個(gè)算法(假設(shè)只有進(jìn)程和可能會(huì)進(jìn)入該臨界區(qū))如下(i為或1)if(turn?。剑保簦酰颍睿海剑椋妫ǎ簦酰颍睿。剑椋纾铮簦铮颍澹簦颍?;turn:=-1;臨界區(qū);turn:=;其他區(qū)域;until該算法 不能保持進(jìn)程互斥進(jìn)入臨界區(qū),且會(huì)出現(xiàn)“饑餓”不能保持進(jìn)程互斥進(jìn)入臨界區(qū),但不會(huì)出現(xiàn)“饑餓”保證進(jìn)程互斥進(jìn)入臨界區(qū),但會(huì)出現(xiàn)“饑餓”保證進(jìn)程互斥進(jìn)入臨界區(qū),不會(huì)出現(xiàn)“饑餓【解析P0:retry:if(turn?。剑保簦酰颍睿海剑埃虎伲椋妫ǎ簦酰颍睿。剑椋纾铮簦铮颍澹簦颍虎冢簦酰颍睿海剑?;⑤臨界區(qū);turn:=;其他區(qū)域;P0:retry:if(turn?。剑保簦酰颍睿海剑?;③if(turn?。剑椋纾铮簦铮颍澹簦颍?;④turn:=-1;⑥臨界區(qū);turn:=;其他區(qū)域;until進(jìn)程并發(fā)時(shí)容易產(chǎn)生爭(zhēng)奪資源現(xiàn)象,必須在入口碼處阻止進(jìn)程同時(shí)進(jìn)入臨界區(qū)此題中,若此時(shí)兩個(gè)進(jìn)程同時(shí)申請(qǐng)資源,此時(shí)turn的值是0,按照①②③④⑤⑥的順序執(zhí)行,兩個(gè)進(jìn)程同時(shí)進(jìn)入臨界區(qū)。值才會(huì)是,所以沒有進(jìn)程會(huì)饑餓。三、本講小本講主要講解了:進(jìn)程的基本概念、進(jìn)程狀態(tài)、進(jìn)程的同步與互斥、進(jìn)程通信和線程。重點(diǎn)講解:進(jìn)程的同步與互斥。??碱}型:選擇和綜合分析應(yīng)試方法:熟記概念;理解并熟練掌握本章的幾個(gè)同步與互斥的實(shí)例,舉一反三第3 進(jìn)程的同步與互斥二~、考點(diǎn)精讀者、寫者問多個(gè)讀進(jìn)程可以同時(shí)共享資源,但不能和寫進(jìn)程共享;寫進(jìn)程之間互斥,訪問時(shí)必須獨(dú)占資源。需設(shè)置一個(gè)全局變量對(duì)讀進(jìn)程進(jìn)行計(jì)數(shù),當(dāng)?shù)谝粋€(gè)讀進(jìn)程開始進(jìn)行訪問時(shí)執(zhí)行P操作,當(dāng)最后一個(gè)讀進(jìn)程結(jié)束訪問時(shí)執(zhí)行操作?,F(xiàn)假設(shè)讀者優(yōu)先。使用readnum對(duì)讀者計(jì)數(shù),初值為0;mutex是對(duì)readnum進(jìn)行互斥操作的信號(hào)量,初值為1;write是寫信號(hào)量,初值為1。(x)if(readnum==1)P(write)V(x);readfile;P(x)if(readnum==0)V(write)V(x)寫者進(jìn)程begintefile;V(write)前面程序中,寫者會(huì)出現(xiàn)“饑餓”現(xiàn)象,可以設(shè)計(jì)另一種算法,使寫者優(yōu)先,即當(dāng)有進(jìn)程讀文件時(shí),如果有寫進(jìn)程請(qǐng)求寫,那么新的讀進(jìn)程被拒絕,待現(xiàn)有讀進(jìn)程讀完后,立即讓寫進(jìn)程開始運(yùn)行,當(dāng)無寫進(jìn)程運(yùn)行時(shí)才讓讀進(jìn)程運(yùn)行設(shè)置信號(hào)量S實(shí)現(xiàn)讀者與寫者或?qū)懻咧g的互斥,初值為1;用信號(hào)量Sn限制系統(tǒng)中最多n個(gè)進(jìn)程,初值為n。讀讀者進(jìn)程Pi(i=,2,...,n)begiP(S);(Sn);(S);readfile;V(Sn)寫者進(jìn)程Pj(j=,2,...,n)begP(S)fori=1tondoP(Sn)writefori=1tondoV(Sn)V(S)管程(or)解決同步問題的抽象數(shù)據(jù)類型。進(jìn)程可以調(diào)用管程中的過程,但不能在管程外的過程中直接訪問管程內(nèi)的數(shù)據(jù)結(jié)構(gòu)。基本思想是集中管理各進(jìn)程臨界區(qū),按不同的管理方式定義模塊的類型和結(jié)構(gòu),用數(shù)據(jù)表示抽象系統(tǒng)資源,增加模塊的相對(duì)獨(dú)立性。管程:enumstatus{eating,hungry,thinking},forkstate{free,used}statusstate[N] /哲學(xué)家狀conditionself[N] /條件變量阻塞和喚醒進(jìn)forkstatefork[N] /當(dāng)前各個(gè)叉子的狀pickup(inti)if(fork[i]=used)self[i].waiting;fork[i]=used; };putdown(inti)fork[i]=free;self[i]. }test(inti)if(fork[i]=used)returnelse{fork[i]=used;returntrue;}}philosopher(inti)boolwithtwowhile(true)state[i]=thinking;withtwoforks=false;while(?。鳎椋簦瑁簦鳎铮妫铮颍耄螅螅簦幔簦澹郏椋荩剑瑁酰睿纾颍?;dining.pickup(i);if(dining.test((i+1)modN)withtwoforks=true;elsedining.putdown(i);}}state[i]=eating;dining.putdown(i);dining.putdown((i+1)mod5))}進(jìn)程通信分類:低級(jí)通信和高級(jí)通信:根據(jù)交換信息量的多少和效率的高低,如P、操作屬于低級(jí)通信;高通信包括管道通信和信箱通信低級(jí)通信只傳遞狀態(tài)和整數(shù)值,信息量小,效率低,傳遞較多信息需要多次通信,編程復(fù)雜,不易理解。高級(jí)通信能夠傳遞大批量數(shù)據(jù),減輕程序編制的復(fù)雜度。包括共享內(nèi)存模式、消息傳遞模式和共享文件模式(管道)。共享內(nèi)存模式:一種最快捷高效的方式,在系統(tǒng)中被使用系統(tǒng)在內(nèi)存中指定一個(gè)區(qū)域作為共享存儲(chǔ)區(qū),建立一張段表進(jìn)行管理,各進(jìn)程可以申請(qǐng)其中一個(gè)存儲(chǔ)段,并在申請(qǐng)時(shí)提供關(guān)鍵字。若申請(qǐng)的存儲(chǔ)區(qū)已經(jīng)被其它進(jìn)程占有,系統(tǒng)會(huì)向申請(qǐng)進(jìn)程返回關(guān)鍵字,該存儲(chǔ)區(qū)就鏈接到了進(jìn)程的邏輯地址空間,此后進(jìn)程就可以直接存取共享存儲(chǔ)區(qū)中的數(shù)據(jù)了。若申請(qǐng)的存儲(chǔ)段尚未分配,系統(tǒng)會(huì)按
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度礦山事故水池建設(shè)與安全生產(chǎn)保障合同
- 二零二五年度城市別墅購房定金合同
- 2025年度景觀施工項(xiàng)目安全監(jiān)理合同
- 2025年度電視劇劇本編排與制作合同
- 二零二五年度廣告?zhèn)髅絼趧?wù)派遣員工服務(wù)合同
- 酒店住宿意外事故責(zé)任免除與2025年度安全保障協(xié)議
- 二零二五年度老年贍養(yǎng)贍養(yǎng)金及醫(yī)療救助合同
- 辦公區(qū)域搬遷安排及流程梳理通知
- 關(guān)于銷售團(tuán)隊(duì)建設(shè)與管理的年度工作總結(jié)報(bào)告
- 美發(fā)店勞動(dòng)合同協(xié)議書
- 中小學(xué)食堂財(cái)務(wù)培訓(xùn)
- 四年級(jí)數(shù)學(xué)(四則混合運(yùn)算帶括號(hào))計(jì)算題專項(xiàng)練習(xí)與答案
- 2024解析:第十二章機(jī)械效率-基礎(chǔ)練(解析版)
- 建筑工程項(xiàng)目合作備忘錄
- 靈活用工管理
- 全媒體運(yùn)營師試題庫(含答案)
- 2024至2030年中國礦用隔爆型監(jiān)控?cái)z像儀行業(yè)投資前景及策略咨詢研究報(bào)告
- 大學(xué)生職業(yè)素養(yǎng)訓(xùn)練(第六版)課件 第二單元學(xué)習(xí)職業(yè)禮儀
- 北京市燕山區(qū)中考一模英語試題及答案
- 腦卒中-腦卒中的康復(fù)治療
- 2024至2030年中國超聲波加工機(jī)床行業(yè)深度調(diào)研及發(fā)展預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論