最新国产在线不卡AV,国产又爽又黄的视频免费看,精品综合久久久久久97,日韩欧美高清中文字幕免费一区二区

            科普

            全國計算機(jī)四級考試復(fù)習(xí)綱要-第三第四章 電腦知識

            電腦知識小雪供稿

              自 1994 年開考以來,全國計算機(jī)等級考試 適應(yīng)了市場經(jīng)濟(jì)發(fā)展的需要,考試持續(xù)發(fā)展,考生人數(shù)逐年遞增,至 2013 年底,累計考生人數(shù)超過 5422 萬,累計獲證人數(shù)達(dá) 2067 萬。下面是全國計算機(jī)四級考試第三第四章d 復(fù)習(xí)綱要,希望大家喜歡!

              

              全國計算機(jī)四級考試第三章考試要點

              一、數(shù)理邏輯

              (一) 命題邏輯基本概念數(shù)理邏輯是用數(shù)學(xué)方法研究抽象思維規(guī)律的數(shù)學(xué)學(xué)科,它研究的中心問題是推理,而推理的基本要素是命題。

              在數(shù)理邏輯中,將命題用符號表示,稱為命題符號值??捎胮,q,r…或pi ,qi ,ri …表示命題。將真值也用符號表示,用“1”表示“真”,用“0”表示“假”。

              (二) 命題公式及其分類

              簡單命題又稱為命題常項或命題常元。命題常項有確定的真值。在數(shù)理邏輯中,不僅要研究具體的邏輯關(guān)系,還要研究抽象的邏輯關(guān)系,因而不僅要有命題常項,還要有命題變項。稱真值可以變化的簡單陳述句為命題變項或命題變元,仍然用p,q,r,…表示命題變項。

              二、集合論

              集合的基本概念

              用樸素的語言描述,一些事物匯集在一起,稱作一個集合。集合的每一個成員稱作它的元素。往往用大寫英文字母A,B,C,…表示集合。設(shè)A為一個集合。用x∈A表示x是A的元素,x∈A表示x不是A的元素。

              集合的表示方法很多,主要方法有列出集合全體元素的方法和用謂詞表示集合中元素的性質(zhì)的方法。

              三、代數(shù)系統(tǒng)

              代數(shù)運(yùn)算及其性質(zhì)

              抽象代數(shù)研究的對象是非特定的任意元素的集合和定義在這些元素之間的,滿足若干條件或公理的代數(shù)運(yùn)算。重要的代數(shù)系統(tǒng)有半群、群、環(huán)、域、格等。近年來代數(shù)在計算機(jī)科學(xué)中有許多重要應(yīng)用。

              如無得到說明,在本章N表示自然數(shù)集,Z、Q、R、C分別表示整數(shù)集、有理數(shù)集、實數(shù)集、復(fù)數(shù)集、Z + 、Q+ 、R+ 分別表示正整數(shù)集、正有理數(shù)集、正實數(shù)集。

              全國計算機(jī)四級考試第四章考試要點

              一、操作系統(tǒng)的基本概念

              1.引言

              現(xiàn)代計算機(jī)系統(tǒng)由硬件和軟件兩部分構(gòu)成。硬件指的是構(gòu)成計算機(jī)系統(tǒng)的物理設(shè)備。操作系統(tǒng)控制和管理所有的系統(tǒng)硬件(如處理器、存儲器、各種設(shè)備),也控制和管理系統(tǒng)中所有的軟件,操作系統(tǒng)對計算機(jī)使用者提供了一種良好的操作環(huán)境,也為各種應(yīng)用系統(tǒng)提供了基本的支持環(huán)境。操作系統(tǒng)在硬件之上建立了一個服務(wù)體系,為各種軟件提供強(qiáng)有力的支持,呈現(xiàn)在用戶面前的計算機(jī)是一個方便的、友好的環(huán)境界面?,F(xiàn)代計算機(jī)系統(tǒng)中硬件與軟件之間的關(guān)系可分成若干層次。硬件(裸機(jī))在最里層,是計算機(jī)系統(tǒng)工作的物質(zhì)基礎(chǔ),它的外面是操作系統(tǒng),通過系統(tǒng)程序?qū)τ嬎銠C(jī)系統(tǒng)中各類資源(處理器、存儲器、設(shè)備、數(shù)據(jù)等)進(jìn)行管理和提供方便用戶使用的多種服務(wù)功能,隱蔽對硬件的復(fù)雜操作,把裸機(jī)改造成功能更強(qiáng),使用更方便的系統(tǒng)。

              2.什么是操作系統(tǒng)

              有幾種不同的方法考察操作系統(tǒng)

              (1)用戶觀點操作系統(tǒng)是用戶與計算機(jī)之間的接口,有了操作系統(tǒng),用戶可以方便地使用計算機(jī);在功能上,操作系統(tǒng)提供功能很強(qiáng)的系統(tǒng)調(diào)用,用戶軟件使用這些系統(tǒng)調(diào)用(也稱管態(tài))運(yùn)行。

              (2)資源管理觀點操作系統(tǒng)是控制和管理計算機(jī)系統(tǒng)資源的程序,它的工作是當(dāng)用戶程序和其他程序爭用這些資源時,提供有序的和可控的分配。

              (3)進(jìn)程觀點操作系統(tǒng)環(huán)境中,常同時運(yùn)行著多個程序(稱為并發(fā)),這些同時運(yùn)行的程序稱為“進(jìn)程”(process),或“任務(wù)”(task)。每個進(jìn)程都完成各自的特定任務(wù)(如用戶程序的運(yùn)行,處理某個設(shè)備的輸入輸出……)。操作系統(tǒng)則控制和協(xié)調(diào)這些進(jìn)程的運(yùn)行。它從系統(tǒng)各部分可以并行工作為出發(fā)點,考慮管理任務(wù)的分割和相互之間的關(guān)系,通過進(jìn)程之間的通信解決共享資源時帶來的競爭問題。通常,進(jìn)程可以分為用戶進(jìn)程和系統(tǒng)進(jìn)程兩大類。

              (4)分層觀點根據(jù)使用環(huán)境和對用戶作業(yè)處理方式,操作系統(tǒng)的基本類型可能分為3大類:?批處理操作系統(tǒng)(batch processing operating system);?分時操作系統(tǒng)(time sharing system);?實時操作系統(tǒng)(real time system)隨著網(wǎng)絡(luò)技術(shù)的發(fā)展與普遍使用,共享網(wǎng)絡(luò)資源的網(wǎng)絡(luò)環(huán)境下的操作系統(tǒng)也已流行。網(wǎng)絡(luò)環(huán)境下的操作系統(tǒng)又分成網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng),網(wǎng)絡(luò)操作系統(tǒng)是在各單機(jī)操作系統(tǒng)的基礎(chǔ)上,按照網(wǎng)絡(luò)體系結(jié)構(gòu)的各個協(xié)議、標(biāo)準(zhǔn)進(jìn)行開發(fā),形成網(wǎng)絡(luò)軟件,包括網(wǎng)絡(luò)管理、通信、資源共享、系統(tǒng)安全和多種網(wǎng)絡(luò)應(yīng)用等;分布式操作系統(tǒng)要求一個統(tǒng)一的操作系統(tǒng),即廢棄(或改造)各單機(jī)的操作系統(tǒng),整個網(wǎng)絡(luò)設(shè)有單一的操作系統(tǒng)。分布式操作系統(tǒng)負(fù)責(zé)全系統(tǒng)的資源分配和調(diào)度,為用戶提供統(tǒng)一的界面。用戶據(jù)此使用系統(tǒng)資源、完成所需任務(wù)。至于設(shè)備在何處用戶是不必知道的,這稱為位置透明性。分布式操作系統(tǒng)是一個邏輯上緊密耦合的系統(tǒng)。而網(wǎng)絡(luò)操作系統(tǒng)用戶則需指明欲使用哪一臺計算機(jī)上的哪個資源。

              3.操作系統(tǒng)的功能

              操作系統(tǒng)的職能是管理和控制計算機(jī)系統(tǒng)中的全部硬件、軟件資源,合理組織計算機(jī)工作流程,并為用戶提供一個良好的工作環(huán)境和友好的接口,系統(tǒng)資源管理和提供用戶界面是操作系統(tǒng)的功能要點。

              (1)處理器(處理機(jī))管理處理器是計算機(jī)系統(tǒng)的心臟,在單用戶系統(tǒng)或單道系統(tǒng)中,處理器為一個用戶或一個作業(yè)服務(wù),其管理簡單。為提高系統(tǒng)資源利用率,引入多道程序技術(shù),即多個程序(作業(yè))同時運(yùn)行,他們爭用處理器,就要解決對處理器分配調(diào)度策略、實施分配和回收資源。許多操作系統(tǒng)是以作業(yè)和進(jìn)程的方式進(jìn)行管理,實現(xiàn)作業(yè)和進(jìn)程的調(diào)度,分配處理器,控制作業(yè)和進(jìn)程的執(zhí)行?,F(xiàn)代的操作系統(tǒng)更引入線程(Thread)作為分配處理器的基本單位。基于操作系統(tǒng)對處理器管理策略的不同,其提供的作業(yè)處理方式也就不同,如簡單的批處理方式、分時處理方式、實時處理方式、多道成批處理方式和網(wǎng)絡(luò)環(huán)境下的處理方式。從而,呈現(xiàn)在用戶面前的就是不同的操作系統(tǒng)。

              (2)存儲管理計算機(jī)系統(tǒng)中,存儲器(一般稱為主存或內(nèi)存)是運(yùn)行程序、存放工作數(shù)據(jù)的,存儲管理的工作主要是對主存儲器進(jìn)行分配、擴(kuò)充和保護(hù)。系統(tǒng)中有多個程序(操作系統(tǒng),實用程序和用戶程序)共享存儲器,它們彼此之間不能相互干擾和破壞,這就是存儲保護(hù)問題。當(dāng)計算機(jī)系統(tǒng)中運(yùn)行的程序所需要的主存容量超過系統(tǒng)所提供的主存容量時,如何利用外部存儲器作為主存的后援,為用戶提供一個容量比實存(實際內(nèi)存)大得多的虛存(虛擬存儲器),讓用戶可運(yùn)行一個比實存大的用戶作業(yè),這就是內(nèi)存擴(kuò)充問題。

              (3)設(shè)備管理現(xiàn)代計算機(jī)系統(tǒng)常常配置很多種類的輸入輸出設(shè)備,它們的輸入輸出速度差別很大,計算機(jī)系統(tǒng)常常采用通道、控制器、設(shè)備三級控制方法管理這些設(shè)備,設(shè)備管理的任務(wù)就是監(jiān)視這些資源的使用情況,根據(jù)一定的分配策略,把通道、控制器和設(shè)備分配給請求輸入輸出操作的程序,并啟動設(shè)備完成所需的操作。為了發(fā)揮設(shè)備和處理機(jī)的并行工作能力,常常采用緩沖技術(shù)和虛擬技術(shù)。

              (4)文件管理(信息管理)用戶使用計算機(jī)系統(tǒng)處理數(shù)據(jù)(信息),這些數(shù)據(jù)和程序作為文件儲存在外部存儲器(如磁盤、磁帶、光盤等)上,文件管理的任務(wù)是管理文件的存儲空間,提供信息的共享和保護(hù),允許多個用戶協(xié)同工作又不引起混亂。

              (5)用戶接口(工作管理)上述四項功能是操作系統(tǒng)對硬、軟件資源的管理,操作系統(tǒng)也必須為用戶提供一個友好的用戶接口———命令接口和圖形接口。一般,用戶通過兩種命令接口請求操作系統(tǒng)的服務(wù)。一種接口是作業(yè)一級的接口,即提供一組操作命令,如UNIX和Linux的shell命令語言或作業(yè)控制語言(JCL)讓用戶組織和控制自己作業(yè)的運(yùn)行。作業(yè)控制又分成兩類;聯(lián)機(jī)控制和脫機(jī)控制。另一種接口是編程接口,即提供一組系統(tǒng)調(diào)用命令(又稱進(jìn)管指令SVC)供各種程序(實用程序,應(yīng)用程序和用戶程序等)調(diào)用,請求操作系統(tǒng)的服務(wù),這些服務(wù)??煞殖?處理器服務(wù)(作業(yè)、進(jìn)程、線程管理),存儲服務(wù),設(shè)備服務(wù),文件服務(wù),用戶界面服務(wù),異常處理服務(wù),其他類型服務(wù)等。

              4.操作系統(tǒng)的工作原理

              操作系統(tǒng)的基本特征是并發(fā)和共享。并發(fā)的意思是存在許多同時的活動(或并行的活動);輸入輸出操作和處理器運(yùn)行并行活動;在主存中同時駐留幾道用戶程序等都是并發(fā)的例子。并發(fā)活動會要求共享資源和信息,這就能提高資源的利用率。多道程序可以并發(fā)而共享資源,一個用戶的任務(wù)也可以組織成幾個子任務(wù)并發(fā)工作而提高運(yùn)行效率。程序這樣運(yùn)行時,不能使輸入設(shè)備,處理器和打印機(jī)并行工作,若忽略處理器加工數(shù)據(jù)的處理時間,則完成一批數(shù)據(jù)加工的時間為輸入輸出設(shè)備耗時的總和,若將這個計算任務(wù)分成3個子任務(wù),并引入緩沖技術(shù):輸入子任務(wù)從輸入設(shè)備讀一批數(shù)據(jù)到輸入緩沖區(qū),處理子任務(wù)則把輸入緩沖區(qū)中的數(shù)據(jù)處理后放入輸出緩沖區(qū),打印子任務(wù)則打印輸出緩沖區(qū)中的內(nèi)容,從而輸入子任務(wù)可以與打印子任務(wù)并發(fā)工作,使完成一批數(shù)據(jù)加工的時間近似于較慢的設(shè)備速度。程序的并發(fā)執(zhí)行,發(fā)揮了處理器與輸入輸出設(shè)備并發(fā)工作的能力,使系統(tǒng)的效率提高。多個計算程序同時駐留在主存儲器中并行執(zhí)行的程序設(shè)計方法稱為多道程序設(shè)計,這種系統(tǒng)稱為多道程序系統(tǒng)。多道程序系統(tǒng)能充分發(fā)揮處理器的利用效率,提高系統(tǒng)資源的利用效率。既然他們同處在一個系統(tǒng)中,一個任務(wù)(或子任務(wù))的執(zhí)行會受到其他任務(wù)(或子任務(wù))的影響(又稱為制約)。

              5.操作系統(tǒng)的硬件基礎(chǔ)

              現(xiàn)代計算機(jī)系統(tǒng)設(shè)備的發(fā)展異常迅速,導(dǎo)致了控制技術(shù)的發(fā)展,設(shè)備控制的基本技術(shù)是中斷。

              (1)中斷的基本概念在計算機(jī)系統(tǒng)中,中斷是改變處理器執(zhí)行指令順序的事件,被打斷的程序可以在將來某個時候(可能在中斷處理完成后立即或推遲,這是由操作系統(tǒng)控制的)恢復(fù)執(zhí)行。計算機(jī)系統(tǒng)的中斷既來自系統(tǒng)內(nèi)部,也來自系統(tǒng)外部,分別稱為內(nèi)部中斷和外部中斷。①內(nèi)部中斷是系統(tǒng)本身在工作過程中出現(xiàn)的各種需要緊急處理的事件:一種是由于運(yùn)行程序發(fā)生意外而產(chǎn)生的,另一種是運(yùn)行程序需要發(fā)生的。內(nèi)部中斷也稱為軟件中斷。②外部中斷是由于硬件方面的原因,故也稱為硬件中斷,硬件中斷往往是隨機(jī)發(fā)生的,不是由正在運(yùn)行的程序所控制的。外部中斷和由于運(yùn)行程序產(chǎn)生的例外中斷常常稱為強(qiáng)迫中斷,而運(yùn)行程序主動要求而產(chǎn)生的中斷稱為自愿中斷。外部中斷可進(jìn)一步分成可屏蔽中斷和不可屏蔽中斷。不可屏蔽的中斷是一些最緊急最重要的中斷,如掉電等??善帘蔚闹袛嗤ㄟ^處理器內(nèi)部的中斷許可狀態(tài)確定響應(yīng)中斷的次序或者不響應(yīng)一些不重要(或不緊急)的中斷請求。

              (2)中斷的響應(yīng)與處理引起中斷的事件(即原因)稱為中斷源。目前,大多數(shù)系統(tǒng)都采用中斷向量的技術(shù),所謂中斷向量,實際上是一種指針,就是由硬件對不同的中斷源將控制轉(zhuǎn)移到不同的中斷處理程序入口地址。所有的中斷向量構(gòu)成一個中斷向量表,它們通常存放在一個專門的存儲區(qū)域中,這個區(qū)域的地址可以是固定的;相應(yīng)的處理程序的入口地址通常是在系統(tǒng)引導(dǎo)過程中,通過對系統(tǒng)配置的檢測,得到系統(tǒng)中設(shè)備配置的情況,在操作系統(tǒng)裝入過程中,填寫中斷向量表中的指針內(nèi)容。中斷處理程序?qū)χ袛嗍录奶幚矸謨刹竭M(jìn)行。第一步是保護(hù)好被中斷程序的現(xiàn)場信息,即保存被中斷程序的寄存器以及PSW(程序狀態(tài)字)的內(nèi)容,以保證被中斷程序以后能繼續(xù)運(yùn)行;第二步是具體處理中斷。中斷處理完成后,處理器分配給發(fā)生中斷時正在運(yùn)行的進(jìn)程,還是分配給另一進(jìn)程,這取決于被中斷的進(jìn)程是可剝奪的還是不可剝奪的。如果是不可剝奪的,它重新得到處理器,否則,可能被別的進(jìn)程(如優(yōu)先級更高)奪得處理器。

              二、進(jìn)程管理

              1.程序、進(jìn)程和處理器

              程序是指令的集合,每一程序完成確定的任務(wù)。在只允許一個程序運(yùn)行的系統(tǒng)(稱為單道系統(tǒng))中,這個程序獨占系統(tǒng)資源,而系統(tǒng)按程序的指令順序運(yùn)行,程序的順序執(zhí)行有兩個基本特征,即程序的封閉性和程序的可再現(xiàn)性。封閉性是指程序運(yùn)行時獨占系統(tǒng)資源,只有程序本身能改變系統(tǒng)的狀態(tài);可再現(xiàn)性是指程序運(yùn)行不受外部因素影響,只要初始條件相同,運(yùn)行結(jié)果就相同。多道程序系統(tǒng)讓多個程序在系統(tǒng)中輪流運(yùn)行,當(dāng)一個程序不用處理器時,另一個程序就使用。也就是說,處理器在程序間切換,從而獲得宏觀上的并行(微觀上的串行),以提高處理器的利用率。這種切換,通常是由中斷引起的。由于中斷是以不可預(yù)測的次序發(fā)生,即程序的指令序列也以不可預(yù)測的次序前進(jìn),這樣就會產(chǎn)生操作系統(tǒng)的另一特性:不確定性。即在多道程序系統(tǒng)中,順序程序的封閉性和可再現(xiàn)性消失了。需要采用一個新的概念———進(jìn)程來描述程序的執(zhí)行,進(jìn)程是運(yùn)行中的程序。

              2.進(jìn)程間的通信

              在操作系統(tǒng)中,進(jìn)程是可以獨立運(yùn)行的程序單位,系統(tǒng)中的各個進(jìn)程并不是相互隔離的:一方面它們相互競爭使用有限的資源,如處理器、存儲器、設(shè)備或文件等;另一方面,它們可能相互協(xié)作以達(dá)到用戶作業(yè)預(yù)期的目的。因此,進(jìn)程之間需要某種形式的通信。進(jìn)程之間直接發(fā)生聯(lián)系的稱為相交進(jìn)程(又稱相關(guān)進(jìn)程),否則為不相交進(jìn)程。相交進(jìn)程需要協(xié)調(diào)彼此間的相對運(yùn)行速度,存在著直接制約的關(guān)系。不相交進(jìn)程之間的聯(lián)系將表現(xiàn)在資源使用上的間接制約關(guān)系。

              (1)互斥多道系統(tǒng)中,各進(jìn)程可以共享各類資源,但有些資源卻一次只能供一個進(jìn)程使用。這種資源常常稱為臨界資源,如打印機(jī)、公共變量、表格等?;コ馐且WC臨界資源在某一時刻只被一個進(jìn)程訪問。

              (2)同步一般一個進(jìn)程相對于另一個進(jìn)程的速度是不可預(yù)測的,也就是說,進(jìn)程之間是異步運(yùn)行的。為了成功地協(xié)同工作,有關(guān)進(jìn)程在某些確定的點上應(yīng)當(dāng)同步它們的活動:一個進(jìn)程到達(dá)了這些點后,除非另一進(jìn)程已完成了某個活動,否則就停下來,以等待該活動結(jié)束。

              (3)死鎖當(dāng)若干進(jìn)程競爭使用資源時,可能產(chǎn)生下述情況:每個進(jìn)程要求的資源都已被另一進(jìn)程占用,于是也就沒有一個進(jìn)程能繼續(xù)運(yùn)行。這種情況稱為死鎖。

              3.信號量與P,V操作

              用順序程序設(shè)計技術(shù)處理同步與互斥是十分困難的,為此引入信號量概念:信號量是一種特殊的變量,它的表現(xiàn)形式是一個整型變量及相應(yīng)的隊列:除了設(shè)置初值外,對信號量只能施加特殊的操作:P操作和V操作,P操作和V操作都是不可分割的原子運(yùn)行,也稱為原語(有時分別記為down()和up()或wait()和signal())。P操作的作用是將信號量S的值減1,若S的值成負(fù)數(shù),則調(diào)用P操作的進(jìn)程暫停執(zhí)行,直到另一個進(jìn)程對同一信號量作V操作。V操作的作用是將信號量S的值加1,若S的值小于等于0,從相應(yīng)隊列(關(guān)于S的隊列)中選一個進(jìn)程,喚醒它。

              (1)互斥為了保護(hù)共享資源(如公共變量等),使它們不被多個進(jìn)程同時訪問,就要阻止這些進(jìn)程同時執(zhí)行訪問這些資源的代碼段,這些代碼段稱為臨界區(qū),這些資源稱為臨界資源。對臨界資源訪問的互斥要求可視作執(zhí)行臨界區(qū)的互斥要求。利用信號量可以方便地實現(xiàn)互斥臨界區(qū)的管理要求。例如,令信號量mutex的初值為1,于是臨界區(qū)就改寫成下列形式的代碼段。P(mutex);臨界區(qū)V(mutex);由于mutex初值為1,P、V是原子操作,確實可以實現(xiàn)互斥。

              (2)同步最簡單的同步形式是:進(jìn)程A在另一個進(jìn)程B已到達(dá)點L2以前,不應(yīng)前進(jìn)到超過點L1。對此,可以令信號量proceed初值為0,實現(xiàn)這種同步的程序形式是: 進(jìn)程A L1:P(proceed); … …進(jìn)程B L2:V(proceed); … …更復(fù)雜一點的同步問題是單緩沖的生產(chǎn)者、消費(fèi)者問題。

              4.高級通信原語

              P、V操作是用來協(xié)調(diào)進(jìn)程間關(guān)系的,編程較困難而且沒有信息交換,故常稱為低級通信原語。此外,P、V操作必須有共享存儲器,而高級通信原語則提供兩種通信方式:有緩沖區(qū)的通信和無緩沖區(qū)的通信。

              (1)有緩沖區(qū)的通信方式中,有原語:

              Write(Buffer_Name,Variable) 等緩沖區(qū)空再存入

              Read(Buffer_Name,Variable) 等緩沖區(qū)滿再取出

              (2)無緩沖區(qū)的通信,又稱為消息傳遞,有原語:

              Send(Who,Message) 發(fā)送消息給指定進(jìn)程或一組進(jìn)程

              Receive(Who,Message) 從約定進(jìn)程接收消息有的系統(tǒng)還提供帶標(biāo)記的發(fā)送,有Send(Who,Message,Tag)用Tag可指定發(fā)送進(jìn)程是否要等待接收進(jìn)程取到內(nèi)容以后再繼續(xù)運(yùn)行。一般接收者總是要等待消息到達(dá)后才繼續(xù)運(yùn)行。

              三、系統(tǒng)核心

              操作系統(tǒng)核心位于計算機(jī)硬件之上,核心的目的是提供一種進(jìn)程賴以生存的環(huán)境,其主要任務(wù)是接收中斷并作基本處理,在進(jìn)程之間切換處理器,處理進(jìn)程之間通信。

              1.基本硬件機(jī)構(gòu)

              (1)中斷機(jī)構(gòu)

              為了使輸入輸出活動與處理器活動并行進(jìn)行,當(dāng)一臺外部設(shè)備的傳輸操作結(jié)束時,應(yīng)能中斷正在運(yùn)行的進(jìn)程,由中斷處理程序處理。

              (2)特權(quán)指令為使各并發(fā)進(jìn)程不相互干擾,系統(tǒng)的部分指令集應(yīng)保留僅供操作系統(tǒng)使用,這些指令稱為特權(quán)指令,如允許與禁止中斷,執(zhí)行輸入輸出操作等。為了區(qū)分什么時候可以使用特權(quán)指令,什么時候不可以使用,系統(tǒng)至少具有兩種工作狀態(tài),它們分別稱為系統(tǒng)態(tài)和用戶態(tài),又稱為管態(tài)和目態(tài)。特權(quán)指令只能在管態(tài)中運(yùn)行。

              (3)主存保護(hù)多道程序系統(tǒng)中,必須對各進(jìn)程使用的主存加以保護(hù),以防止其他進(jìn)程進(jìn)行未經(jīng)許可的操作。保護(hù)機(jī)制應(yīng)包含在主存尋址硬件中。

              (4)時鐘硬件的時鐘以固定的時間間隔產(chǎn)生中斷信號,這對于實現(xiàn)處理器的調(diào)度以及實現(xiàn)與時間有關(guān)的任務(wù)是不可缺少的

              2.進(jìn)程

              (1)進(jìn)程進(jìn)程是一個程序關(guān)于某個數(shù)據(jù)集的一次運(yùn)行。也就是說,進(jìn)程是運(yùn)行中的程序,是程序的一次運(yùn)行活動。相對于程序,進(jìn)程是一個動態(tài)的概念,而程序是靜態(tài)的概念,是指令的集合。因此,進(jìn)程具有動態(tài)性和并發(fā)性。在操作系統(tǒng)中進(jìn)程是進(jìn)行系統(tǒng)資源分配、調(diào)度和管理的最小單位,注意,現(xiàn)代操作系統(tǒng)中還引入了線程,它是處理器分配的最小單位。

              (2)進(jìn)程的狀態(tài)及其轉(zhuǎn)換多道系統(tǒng)中,進(jìn)程的運(yùn)行是走走停停的,它在處理器上交替運(yùn)行,使它的運(yùn)行狀態(tài)不斷變化,最基本的狀態(tài)有3種:運(yùn)行、就緒和阻塞。?運(yùn)行(running):正占用處理器。?就緒(ready):只要獲得處理器即可運(yùn)行。?阻塞(blocked):正等待某個事件(I/O完成)的發(fā)生。

              (3)進(jìn)程控制塊進(jìn)程是一個動態(tài)的概念,如何表示一個進(jìn)程?在操作系統(tǒng)中,引入數(shù)據(jù)結(jié)構(gòu)———進(jìn)程控制塊(簡記為PCB)標(biāo)記進(jìn)程。PCB是進(jìn)程存在的惟一標(biāo)志,PCB描述了進(jìn)程的基本情況。從靜態(tài)的觀點看,進(jìn)程由程序、數(shù)據(jù)和進(jìn)程控制塊組成;從動態(tài)的觀點看,是計算機(jī)狀態(tài)的一個有序集合。程序是進(jìn)程運(yùn)行所對應(yīng)的運(yùn)行代碼,一個進(jìn)程對應(yīng)于一個程序;有的程序可以同時對應(yīng)于多個進(jìn)程,這個程序的代碼在運(yùn)行過程中不會被改變,常稱為純碼程序或可重入程序,他們是可共享的程序。進(jìn)程控制塊保存進(jìn)程狀態(tài)、進(jìn)程性質(zhì)(如優(yōu)先程序)、與進(jìn)程有關(guān)的控制信息(如參數(shù)、信號量、消息等)、相應(yīng)隊列和現(xiàn)場保護(hù)區(qū)域等。進(jìn)程控制塊隨著進(jìn)程的建立而產(chǎn)生,隨著進(jìn)程的完成而撤消。PCB是操作系統(tǒng)核心中最主要的數(shù)據(jù)結(jié)構(gòu)之一,它既是進(jìn)程存在的標(biāo)志和調(diào)度的依據(jù),又是進(jìn)程可以被打斷并能恢復(fù)運(yùn)行的基礎(chǔ)。核心通過PCB管理進(jìn)程,一般PCB是常駐內(nèi)存的,尤其是調(diào)度信息必須常駐內(nèi)存。

              3.進(jìn)程管理

              在操作系統(tǒng)中有許多進(jìn)程,它們對應(yīng)著不同的或相同的程序,競爭地使用著系統(tǒng)的資源。進(jìn)程管理涉及到進(jìn)程控制、隊列管理、進(jìn)程調(diào)度等。

              (1)進(jìn)程控制

              進(jìn)程的生命過程是從它被創(chuàng)建開始,直到任務(wù)終止而撤消,其間會經(jīng)歷各種狀態(tài)的轉(zhuǎn)換,它們都是在操作系統(tǒng)控制下完成的,為此,操作系統(tǒng)提供了對進(jìn)程的基本操作,也稱為原語。這些原語包括:創(chuàng)建原語(create),阻塞原語(block),終止原語(terminal),優(yōu)先級原語(chang_prioriˉty),調(diào)度原語(schedule)。它們可以被系統(tǒng)本身調(diào)用,有的也以軟中斷形式(系統(tǒng)調(diào)用)供用戶進(jìn)程調(diào)用。他們都涉及現(xiàn)場隊列管理等。當(dāng)一個進(jìn)程創(chuàng)建一個新的進(jìn)程時,創(chuàng)建者稱為父進(jìn)程,被創(chuàng)建者稱為子進(jìn)程。通常操作系統(tǒng)中設(shè)置一個運(yùn)行隊列,一個就緒隊列和若干個阻塞隊列。在單處理器系統(tǒng)中運(yùn)行隊列只有一個成員。一般阻塞隊列的個數(shù)取決于等待事件(原因)的個數(shù)。調(diào)度原語是按照確定的算法,從就緒隊列中選擇一個就緒進(jìn)程,將處理器分配給它,修改這個進(jìn)程的PCB內(nèi)容。在操作系統(tǒng)中進(jìn)程生命的簡單活動是這樣的:一個進(jìn)程可以由系統(tǒng)創(chuàng)建(如用戶運(yùn)行一程序),也可以由用戶進(jìn)程用創(chuàng)建原語建立。新建立的進(jìn)程開始時處于就緒狀態(tài)。該進(jìn)程的運(yùn)行也會因等待某個事件(如I/O完成)的發(fā)生而處于阻塞狀態(tài),轉(zhuǎn)入相應(yīng)的阻塞隊列。一旦相應(yīng)事件發(fā)生后,將被喚醒原語叫醒而回到就緒隊列。重復(fù)上述過程直至運(yùn)行完畢。經(jīng)終止原語作一些記錄工作并撤消這個進(jìn)程。

              (2)進(jìn)程調(diào)度

              進(jìn)程調(diào)度即處理器調(diào)度,它的主要功能是確定在什么時候分派處理器,并確定分給哪一個進(jìn)程。在分時系統(tǒng)中,一般有一個確定的時間單位(稱為時間片),當(dāng)一進(jìn)程用完一個時間單位時,就發(fā)生進(jìn)程調(diào)度(又稱上下文轉(zhuǎn)換),即讓正在運(yùn)行的進(jìn)程改變狀態(tài)并轉(zhuǎn)入就緒隊列尾,再由調(diào)度原語將就緒隊列的首進(jìn)程取出,投入運(yùn)行。進(jìn)程調(diào)度的方法基本上分為兩類:剝奪調(diào)度與非剝奪調(diào)度。所謂非剝奪調(diào)度是指一旦某個作業(yè)或進(jìn)程占有了處理器,這個進(jìn)程就占用處理器直到主動放棄處理器為止,相反,如果其他進(jìn)程可獲得處理器的使用權(quán)則是剝奪調(diào)度。在有些進(jìn)程(如高優(yōu)先級進(jìn)程)需要快速服務(wù)的系統(tǒng)中,剝奪調(diào)度是非常有用的。例如,在實時系統(tǒng)中丟失一個中斷的后果將是災(zāi)難性的。交互式系統(tǒng)中,為保證用戶可接受的響應(yīng)時間,剝奪調(diào)度也十分重要。在非剝奪系統(tǒng)中,短的作業(yè)常常等待長的作業(yè),但所有進(jìn)程受到的服務(wù)是公平的,響應(yīng)時間是可以預(yù)測的。對就緒隊列的處理體現(xiàn)了調(diào)度策略,常用的是按優(yōu)先級處理。有兩種確定優(yōu)先級的方法,即靜態(tài)優(yōu)先級和動態(tài)優(yōu)先級。靜態(tài)是指進(jìn)程的優(yōu)先級在進(jìn)程開始運(yùn)行前確定,運(yùn)行過程中不變,而動態(tài)優(yōu)先則可以在進(jìn)程運(yùn)行過程中改變。進(jìn)程調(diào)度的算法是服務(wù)于系統(tǒng)目標(biāo)的策略,對于不同的系統(tǒng)與系統(tǒng)目標(biāo),常采用不同的調(diào)度算法,如:?先來先服務(wù)(FCFS):又稱先進(jìn)先出(FIFO),就緒隊列按先來后到原則排隊。?優(yōu)先數(shù)調(diào)度:優(yōu)先數(shù)反映了進(jìn)程優(yōu)先級,就緒隊列按優(yōu)先數(shù)排隊。?輪轉(zhuǎn)法(round robin):就緒隊列按FCFS方式排隊。每個運(yùn)行進(jìn)程一次占有處理器時間都不超過規(guī)定的時間單位(時間片)。若超過,即調(diào)用調(diào)度原語而形成就緒進(jìn)程輪流使用服務(wù)器。

             

              為你推薦