版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
四級網(wǎng)絡工程師高頻考點隨身學
目錄
操作系統(tǒng)原理2
第一章操作系統(tǒng)概論2
第二章操作系統(tǒng)運行機制6
第三章進程線程模型9
第四章并發(fā)與同步14
第五章內(nèi)存管理18
第六章文件管理26
第七章I/O設備管理35
第八章死鎖40
計算機網(wǎng)絡42
第一章網(wǎng)絡技術基礎42
第二章局域網(wǎng)基礎47
第三章Internet基礎52
第四章Internet基本服務57
第五章新型網(wǎng)絡應用64
第六章網(wǎng)絡管理與網(wǎng)絡安全70
操作系統(tǒng)原理
第一章操作系統(tǒng)概論
1.操作系統(tǒng)概述
★操作系統(tǒng)是計算機系統(tǒng)中的一個系統(tǒng)軟件,它是這樣一些程序模塊的集合一一它們能有效地組織
和管理計算機系統(tǒng)中的硬件及軟件資源,合理地組織計算機的工作流程,控制程序的執(zhí)行,并向用戶提
供各種服務功能,使用戶能夠靈活、方便、有效地使用計算機,并使整個計算機系統(tǒng)能高效地運行。
★操作系統(tǒng)作為系統(tǒng)軟件,位于軟件系統(tǒng)的硬件之上,支撐軟件之下。
★從計算機應用角度看,操作系統(tǒng)是幾乎入入都要使用的系統(tǒng)界面和接口;
★而從軟件設計和開發(fā)的角度看,操作系統(tǒng)起著系統(tǒng)軟件開發(fā)基礎和工具的作用;
★而在黑客和網(wǎng)絡攻擊者看來,操作系統(tǒng)是他們要攻破的第一道防線;
★從擴展角度看,將操作系統(tǒng)功能分成若干層次,每一個層次完成特定的功能,從而構成一個虛擬
機。
★在計算機系統(tǒng)中,集中了資源管理功能和控制程序執(zhí)行功能的一種軟件,稱為操作系統(tǒng)。
2.操作系統(tǒng)特征
★并發(fā)性
并發(fā)性是指在計算機系統(tǒng)中同時存在若干個運行著的程序。
①從宏觀上看,這些程序在同時向前推進。
②從微觀上看,在單處理器的環(huán)境下,這些同時運行著的程序是交替在中央處理器上運行的。在多
處理器系統(tǒng)的環(huán)境中,在處理器一級上,程序是并發(fā)執(zhí)行的。
★共享性
共享性是指操作系統(tǒng)程序與多個用戶程序共用系統(tǒng)中的各種資源。資源的共享性主要針對:
①中央處理器:中央處理器是所有程序都必須使用的最重要的資源,操作系統(tǒng)必須采用恰當?shù)恼{(diào)度
策略,對多個并發(fā)程序分配處理器資源。
②內(nèi)存儲器:任何一個程序必須首先調(diào)入內(nèi)存之后,才能執(zhí)行。
③外存儲器:外存儲器主要用來保存各種程序和數(shù)據(jù)。這些程序和數(shù)據(jù)一般以文件的形式存放在外
存儲器上。外存儲器有各種類型,如硬盤、軟盤、磁帶、可讀寫光盤等。
④外部設備:計算機系統(tǒng)中的外部設備是供所有用戶使用的,這些用戶包括操作系統(tǒng)、系統(tǒng)用戶(如
管理員)和普通用戶。
資源的共享一般有兩種形式:互斥共享和同時共享。
①互斥共享:系統(tǒng)中的有些資源比如打印機、磁帶機、掃描儀、中央處理器、存儲器等,雖然可以
供多個用戶程序同時使用,但是在一段特定的時間內(nèi)只能由某一個用戶程序使用。該資源正在被使用時,
其他程序必須等待,并且在這個資源被使用完后才由操作系統(tǒng)根據(jù)一定的策略再選擇一個用戶程序占有
該資源。通常把這樣的資源稱為臨界資源。
②同時共享:系統(tǒng)中還有一類資源在同一段時間內(nèi)可以被多個程序同時訪問。典型的可以同時共享
的資源就是硬盤,可以重入的操作系統(tǒng)代碼也是可以被同時共享的。
★隨機性
操作系統(tǒng)的運行是在一種隨機的環(huán)境下進行的。
隨機性突出強調(diào)了在進行操作系統(tǒng)的設計與實現(xiàn)時要充分考慮各種各樣的可能性。
操作系統(tǒng)本身應該穩(wěn)定、可靠、安全、高效,實現(xiàn)程序并發(fā)和資源共享的目的。
3.操作系統(tǒng)結構設計
常見的操作系統(tǒng)體系結構有:
★整體式結構
★層次式結構
★微內(nèi)核(客戶機/服務器)結構
①運行在核心態(tài)的內(nèi)核:內(nèi)核提供所有操作系統(tǒng)基本都具有的那些操作,如線程調(diào)度、虛擬存儲、
消息傳遞、設備驅(qū)動以及內(nèi)核的原語操作集和中斷處理等。又稱微內(nèi)核。
②運行在用戶態(tài)的并以客戶機/服務器方式運行的進程層:除內(nèi)核部分外,操作系統(tǒng)所有的其他部
分被分成若干個相對獨立的進程,每一個進程實現(xiàn)一組服務,稱為服務進程(用戶應用程序?qū)倪M程,
雖然也以客戶機/服務器方式活動于該層,但不作為操作系統(tǒng)的功能構成成分看待)。
2
4.一般指令和特權指令
★運行模式通常分為用戶模式和特權模式。
★目態(tài):為用戶服務的用戶模式;
★管態(tài):為系統(tǒng)專用的特權模式。
★機器指令被劃分為一般指令和特權指令。
①特權指令包括輸入輸出指令、停機指令等,只有監(jiān)控程序才能執(zhí)行特權指令。
②只能在內(nèi)核態(tài)下運行。
③運行在該模式的代碼,可以無限制的對系統(tǒng)存儲、外部設備進行訪問。(置程序計數(shù)器、清指令寄
存器、清溢出標志)
④用戶程序只能執(zhí)行一般指令,在用戶態(tài)下運行。
⑤一旦用戶程序需要執(zhí)行特權指令,處理器會通過特殊的機制將控制權移交給監(jiān)控程序。
⑥如果用戶程序在用戶態(tài)下執(zhí)行了特權指令,則引起訪問中斷,這也是CPU由用戶態(tài)向核心態(tài)轉(zhuǎn)換
的方法。(置移位方向標志位)
5.研究操作系統(tǒng)的觀點
★軟件的觀點
從軟件的觀點泉看,操作系統(tǒng)是一種大型軟件系統(tǒng),它是多種功能程序的集合。作為一種大型軟件系
統(tǒng),操作系統(tǒng)有軟件的外在特性和內(nèi)在特性。
★資源管理的觀點
在計算機系統(tǒng)中,硬件和軟件資源可以分成以下幾部分:中央處理器、存儲器(內(nèi)存和外存)、外部
設備和信息(文件)。操作系統(tǒng)就是負責記錄誰在使用什么樣的資源,系統(tǒng)中還有哪些資源空閑,當前響
應了誰對資源的耍求,以及收回哪些不再使用的資源等。
★進程的觀點
采用進程的觀點,操作系統(tǒng)可看作是由多個可以同忖獨立運行的程序和一個對這些程序進行協(xié)調(diào)的
核心所組成。
★虛機器的觀點
虛機器的觀點將操作系統(tǒng)的功能分成若干個層次,每一層次完成特定的功能,從而構成一個虛機器,
并為上一層次提供支持,構成它的運行環(huán)境。
★服務提供者觀點
操作系統(tǒng)提供了一系列的功能和便利的工作環(huán)境為用戶服務,所以可以把操作系統(tǒng)看作是服務提供
者。為用戶使用便利,該服務提供者提供了一組功能強大、方便、易用的廣義指令(稱為系統(tǒng)調(diào)用)。
6.操作系統(tǒng)提供的3類的接口
★命令接口:提供一組命令供用戶直接或間接操作。根據(jù)作業(yè)的方式不同,命令接口又分為聯(lián)機命令
接口和脫機命令接口。
★程序接口:程序接口由一組系統(tǒng)調(diào)用命令組成,提供一組系統(tǒng)調(diào)用命令供用戶程序使用。
★圖形界面接口:通過圖標、窗口、菜單、對話框及其他元素和文字組合,在桌面上形成一個直觀易
懂,使用方便的計算機操作環(huán)境。
7.操作系統(tǒng)主要功能
★進程管理(處理器管理)
①進程管理的實質(zhì)是對中央處理器進行管理,所以進程管理往往又稱為處理器管理。
②進程管理主要包括進程控制、進程同步、進程間通信和進程調(diào)度等幾方面的內(nèi)容。
③其中進程控制主要處理進程的創(chuàng)建、狀態(tài)轉(zhuǎn)換、進程撤銷以及相關的進程資源的分配與回收等
事務;
④進程同步主要處理進程之間的關系,包括進程的同步和互斥;
⑤進程間通信主要處理相互協(xié)作進程之間信息的交換問題;
⑥而進程調(diào)度則是按照一定的算法從就緒隊列中挑選一個進程在處理器中真正執(zhí)行它。
★存儲管理
存儲管理的任務是管理計算機內(nèi)存的資源。
存儲管理有3個方面的功能:
①內(nèi)存的分配與回收:操作系統(tǒng)要為每個進程所占據(jù)的內(nèi)存空間,在分配的過程中,還要盡可能提
高內(nèi)存資源的使用效能。
②存儲保護:必須考慮程序可能發(fā)生越界的情況,保護整個用戶及計算機系統(tǒng)的程序運行。
3
③內(nèi)存擴充:借助于虛擬技術在邏輯上增加進程運行空間的大小,這個大小比實際的物理內(nèi)存大得
多。操作系統(tǒng)把正在使用的頁面保持在內(nèi)存中即將使用的頁面調(diào)入到內(nèi)存中,用戶就感受不到空間使用的
限制。
★文件管理
文件管理的任務是有效的支持文件的存儲、檢索和修改等操作,解決文件的共享、保密和保護問題,
以使用戶方便、安全地訪問文件。
主要涉及3個方面:文件存儲空間的管理、目錄管理、文件系統(tǒng)的安全性。
①管理磁盤空間和磁盤碎片整理都屬于文件存儲空間的管理;
②目錄管理的主要任務就是給出組織文件的方法,為每個文件建立目錄項,并對眾多的目錄項加以
有效的組織,以便為用戶提供方便的按名存?。?/p>
③安全性包括文件的讀寫權限以及存取控制。
★作業(yè)管理
★設備管理
★用戶接口
從用戶的觀點來看,操作系統(tǒng)是用戶與計算機系統(tǒng)之間的接口。因此,接口管理的任務是為用戶提供
一個使用系統(tǒng)的良好環(huán)境,使用戶能有效地組織自己的工作流程,并使整個系統(tǒng)能高效地運行。
8.操作系統(tǒng)分類
★按照用戶界面的使用環(huán)境和功能特征的不同,一般可以把操作系統(tǒng)分為3種基本類型,即批處理
系統(tǒng)、分時系統(tǒng)和實時系統(tǒng)。
★隨著計算機體系結構的發(fā)展,又出現(xiàn)了許多類型的操作系統(tǒng),它們是個入操作系統(tǒng)、網(wǎng)絡操作系
統(tǒng)、分布式操作系統(tǒng)和嵌入式操作系統(tǒng)。
9.批處理操作系統(tǒng)特點
批處理操作系統(tǒng)的特點是成批處理。
★優(yōu)點:批量處理用戶作業(yè),作業(yè)流程自動化較高,資源利用率較高,作業(yè)吞吐量大,從而提高了整
個系統(tǒng)效率。
★缺點:用戶不能直接與計算機交互,不適合調(diào)試程序。
10分時操作系統(tǒng)特點
總體上看,分時操',作系統(tǒng)具有多路性、交互性、獨占性和及時性的特點。
★多路性:指有多個用戶在同時使用一臺計算機。從宏觀上看是多個入同時使用一個處理器,從微觀
上看是多個人在不同時刻輪流使用一個處理器。
★交互性:指用戶根據(jù)系統(tǒng)響應的結果提出下一個請求。用戶直接干預操作每一步的進行。
★獨占性:指每個用戶感覺不到計算機為其他入服務,就好像整個系統(tǒng)為他個入所獨占一樣。
★及時性:指系統(tǒng)能夠?qū)τ脩籼岢龅恼埱蠹皶r給予響應。
11.實時操作系統(tǒng)特點
★實忖操作系統(tǒng)(RealTimeOperatingSystem,RTOS)是指使計算機能在規(guī)定的時間內(nèi)及時響應外部事
件的請求,同時完成對該事件的處理,并能夠控制所有實時設備和實時任務協(xié)調(diào)一致地工作的操作系統(tǒng)。
★實時操作系統(tǒng)主要目標是:在嚴格時間范圍內(nèi),對外部請求作出反應,系統(tǒng)具有高度可靠性?!?/p>
實時系統(tǒng)為了能夠?qū)崿F(xiàn)硬實時或軟實時的要求,除了具有多道程序系統(tǒng)的基本能力外,還具有實時時鐘管
理、過載防護和高可靠性的特點。
12.分布式操作系統(tǒng)特點
★分布式操作系統(tǒng)是一個統(tǒng)一的操作系統(tǒng),在系統(tǒng)中的所有主機使用的是同一個操作系統(tǒng)。
★實現(xiàn)資源的深度共享。在網(wǎng)絡操作系統(tǒng)中,由于各個主機使用不同的操作系統(tǒng),不能隨意地將一個
計算任務從一臺主機遷移到另一臺主機執(zhí)行。而在分布式系統(tǒng)中,通過統(tǒng)一的操作系統(tǒng)的調(diào)度,在某臺主
機上的一個計算任務可以遷移到另一臺主機上執(zhí)行,真正實現(xiàn)了處理機資源的共享。
★透明性:整個分布式系統(tǒng)在用戶眼里就像是一臺具有強大功能的計算機系統(tǒng)。用戶并不知道該分布
式系統(tǒng)運行在多少臺計算機上,各個主機地理位置上的差異對用戶來講是透明的,分布式操作系統(tǒng)屏蔽了
這種差異。相應地,在網(wǎng)絡操作系統(tǒng)中,用戶能夠清晰地感覺到本地主機和非本地主機之間的區(qū)別。
★自治性:處于分布式系統(tǒng)中的各個主機都處于平等的地位,各個主機之間沒有主從關系。一個主機
的失效一般不會影響整個分布式系統(tǒng)。
★分布式系統(tǒng)的優(yōu)點在于它的分布式,分布式系統(tǒng)可以以較低的成本獲得較高的運算性能。分布式系
統(tǒng)的另一個優(yōu)勢是它的可靠性。
4
13.Android操作系統(tǒng)特點
★Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng)。
★主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領導及開發(fā)。
★其特點就是支持移動應用和支持網(wǎng)絡。
14.微內(nèi)核(客戶/服務器)結構的操作系統(tǒng)優(yōu)點
①高可靠性:系統(tǒng)服務或者設備驅(qū)動故障和與它們有關的運行任務是隔絕的;
②高靈活性:當運行一個應用程序時,只需把選定的系統(tǒng)服務加載到系統(tǒng)中即可;
③適合分布式處理:一個精煉的微內(nèi)核接口能夠有演繹成更多模塊的系統(tǒng)結構;
④提高了系統(tǒng)的可擴展性;
⑤可移植性;
⑥適用于對分布式處理的計算環(huán)境;
⑦融入了面向?qū)ο蠹夹g。
15.設備分配算法
在設備分配算法中,常采用的數(shù)據(jù)結構主要含4張表:
①即系統(tǒng)設備表SDT
②設備控制表DCT
③控制器控制表C0CT
④通道控制表CHCT
16.程序狀態(tài)字(PSW)
用一個專門的寄存器來指示處理器狀態(tài)稱為程序狀態(tài)字(PSW),其包括的狀態(tài)位有:
①進位標志位(CF)
②結果為零標志位(ZF)
③符號標志位(SF)
④溢出標志位(OF)
⑤陷阱標志位(TF)
⑥中斷使能(中斷屏蔽)標志位(IF)
⑦虛擬中斷標志位(VIF)
⑧虛擬中斷待決標志位(VIP)
⑨10特權級別(IOPL).
17.write()
write()會把參數(shù)buf所指的內(nèi)存寫入count個字節(jié)到參數(shù)fd所指的文件內(nèi)。文件讀寫位置也會
隨之移動。若用戶編程需要打印輸出,需要系統(tǒng)調(diào)用write()。
5
第二章操作系統(tǒng)運行機制
1.CPU的構成與基本工作方式
一般的處理器由運算器、控制器、一系列寄存器以及高速緩存構成。
★運算器實現(xiàn)任何指令中的算術和邏輯運算,是計算機計算的核心;
★控制器負責控制程序運行的流程,包括取指令、維護CPU狀態(tài)、CPU與內(nèi)存的交互等:
★寄存器是指令在CPU內(nèi)部作處理的過程中暫存數(shù)據(jù)、地址以及指令信息的存儲設備,在計算機的存
儲系統(tǒng)中它具有最快的訪問速度;
★高速緩存處于CPU和物理內(nèi)存之間,一般由控制器中的內(nèi)存管理單元(MemoryManagementUnit,
MMU)管理,它的訪問速度快于內(nèi)存,低于寄存器,它利用程序局部性原理使得高速指令處理和低速內(nèi)存
訪問得以匹配,從而提高CPU的效率。
2.CPU狀態(tài)的轉(zhuǎn)換
★在系統(tǒng)運行過程中,CPU的狀態(tài)是動態(tài)改變的,時而運行于管態(tài),時而運行于目態(tài),即管態(tài)和目態(tài)
這兩種狀態(tài)可以相互轉(zhuǎn)換。
★目態(tài)到管態(tài)的轉(zhuǎn)換
其轉(zhuǎn)換的途徑是通過中斷或異常。中斷響應時交換中斷向量,新的中斷向量中的PSW的CPU狀態(tài)位標
志為管態(tài)。
★管態(tài)到目態(tài)的轉(zhuǎn)換
可通過設置PSW指令(修改程序狀態(tài)字),實現(xiàn)從操作系統(tǒng)向用戶程序的轉(zhuǎn)換。
當中央處理器處于管態(tài)時可執(zhí)行包括特權指令在內(nèi)的一切機器指令;當中央處理器處于目態(tài)時不允
許執(zhí)行特權指令。系統(tǒng)啟動時,CPU的初始狀態(tài)為管態(tài),然后裝入操作系統(tǒng)程序。操作系統(tǒng)退出執(zhí)行時,
讓用戶程序在目態(tài)執(zhí)行。
3.用戶可見寄存器
★用戶可見寄存器通常對所有程序都是可用的,由機器語言直接使用。
★它一般包括數(shù)據(jù)寄存器、地址寄存器以及條件碼寄存器。
①數(shù)據(jù)寄存器(DataRegister)有時又稱為通用寄存器,主要用于各種算術邏輯指令和訪存指令,
對具有浮點能力和多媒體能力的處理器來說,浮點處理過程的數(shù)據(jù)寄存器和整數(shù)處理時的數(shù)據(jù)寄存器一
般是分離的。
②地址寄存器(AddressRegister)用于存儲數(shù)據(jù)及指令的物理地址、線性地址或者有效地址,用于
某種特定方式的尋址。例如變址寄存器(IndexRegister)段指針(SegmentPointer),棧指針(Stack
Pointer)等,
③條件碼寄存器保存CPU操作結果的各種標記位,例如算術運算產(chǎn)生的溢出、符號等,這些標記在
條件分支指令中被測試,以控制程序指令的流向。一般來講,條件碼可以被隱式訪問,但不能通過顯式的
方式修改。
4.中斷與異常的概念
])中斷
★中斷是指CPU對系統(tǒng)中或系統(tǒng)外發(fā)生的異步事件的響應。中斷是所有要打斷處理器的正常工作次
序,并要求其去處理某一事件的一種常用手段。
★中斷事件或中斷源:引起中斷的那些事件;
★中斷請求:中斷源向處理器發(fā)出的請求信號;
★中斷處理程序:處理中斷事件的程序;
★中斷斷點:發(fā)生中斷時正在執(zhí)行的程序的暫停點;
★中斷響應:處理器暫停當前程序轉(zhuǎn)而處理中斷的過程;
★中斷返回中斷處理結束之后恢復原來程序的執(zhí)行。
★為了使得中斷裝置可以找到恰當?shù)闹袛嗵幚沓绦?,專門設計了中斷處理程序入口地址映射表,又
稱中斷向量表。表中的每一項稱為一個中斷向量,主要由程序狀態(tài)字PSW和指令計數(shù)器PC的值組成。
2)異常
★最早中斷和異常并沒有區(qū)分,都把它們叫做中斷。隨著它們的發(fā)生原因和處理方式的差別愈發(fā)明
顯,才有了現(xiàn)在的中斷和異常之分。
★中斷是由外部事件引發(fā)的,而異常則是由正在執(zhí)行的指令引發(fā)的。
5.中斷與異常的分類
1)中斷系統(tǒng)可以分為兩大組成部分:中斷系統(tǒng)的硬件中斷裝置和軟件中斷處理程序。
6
★硬件中斷裝置負責捕獲中斷源發(fā)出的中斷請求,并以一定的方式響應中斷源,然后將處理器的控制
權移交給特定的中斷處理程序。
★中斷處理程序則針對中斷事件的性質(zhì)而執(zhí)行相應的一系列操作。
典型的中斷包括:
★時鐘中斷。由處理器內(nèi)部的計時器產(chǎn)生,允許操作系統(tǒng)以一定規(guī)律執(zhí)行函數(shù),如時間片到時、硬件
實時鐘到時等。
★輸入輸出(I/O)中斷。由I/O控制器產(chǎn)生,用于通知一個I/O操作的正常完成或者發(fā)生的錯誤。
★控制臺中斷,如系統(tǒng)操作員通過控制臺發(fā)出命令等。
★硬件故障中斷,由掉電、存儲器校驗錯等硬件故障引起等。
2)異常發(fā)生的時間以及位置具有確定性。
典型的異常包括:
★程序性中斷。在某些條件下由指令執(zhí)行結果產(chǎn)生,例如算術溢出、被零除、目態(tài)程序試圖執(zhí)行非法
指令、訪問不被允許訪問的存儲位置、虛擬存儲中的缺頁等。
★訪管指令異常。目的是要求操作系統(tǒng)提供系統(tǒng)服務。
6.多級中斷與中斷優(yōu)先級
1)多級中斷
★從硬件上看,多級中斷系統(tǒng)表現(xiàn)為有多根中斷請求線從不同設備連接到中斷邏輯線路上。
★連接在不同中斷請求線上的中斷信號,表示它們有不同的中斷級別。
★中斷信號的級別代表了該中斷信號是否具有被優(yōu)先處理的特權,以及這個特權的大小。
★在多級中斷系統(tǒng)中,硬件決定了各個中斷的優(yōu)先級別。
2)多級中斷的作用
★對各類中斷信號依據(jù)其緊急程度和重要性劃分級別。在多級中斷系統(tǒng)中,在同時有多個中斷請求時,CPU接
收中斷優(yōu)先級為最高的那個中斷,而忽略其中斷優(yōu)先級較低的那些中斷。
★解決如果有重要程度相當?shù)亩鄠€中斷信號同時到達時,如何選擇首個被處理的中斷信號的問題。在一般情況下,
這兩個中斷信號具有同等的優(yōu)先級。如果在同一中斷級中的多個設備接口中同時都有中斷請求時,一般有兩種辦法
可以采用:
①固定優(yōu)先數(shù):給每個設備接口安排一個不同的、固定的優(yōu)先序。比如以該設備在總線中的位置來定優(yōu)先順
序,離CPU近的設備,其優(yōu)先數(shù)高于離CPU遠的設備。
②輪轉(zhuǎn)法:用一個表格,依次輪轉(zhuǎn)響應,這是一個較為公平合理的方法。
7.系統(tǒng)調(diào)用與一般過程調(diào)用的區(qū)別
操作系統(tǒng)利用一種系統(tǒng)調(diào)用命令去調(diào)用所需的操作系統(tǒng)過程。因此,系統(tǒng)調(diào)用在本質(zhì)上是應用程序請求操作系統(tǒng)
核心完成某一特定功能的一種過程調(diào)用,是一種特殊的過程調(diào)用,它與一般過程調(diào)用有以下幾方面的區(qū)別:
★運行在不同的系統(tǒng)狀態(tài)
一般過程調(diào)用,其調(diào)用程序和被調(diào)用程序都運行在相同的狀態(tài),即核心態(tài)或用戶態(tài);而系統(tǒng)調(diào)用與一般調(diào)用的最
大區(qū)別就在于:調(diào)用程序運行在用戶態(tài),而被調(diào)用程序則運行在系統(tǒng)態(tài)。
★狀態(tài)的轉(zhuǎn)換
一般過程調(diào)用不涉及系統(tǒng)狀態(tài)的轉(zhuǎn)換,可直接由調(diào)用過程轉(zhuǎn)向被調(diào)用過程;但在運行系統(tǒng)調(diào)用時,由于調(diào)用和被
調(diào)用過程工作在不同的系統(tǒng)狀態(tài),因而不允許由調(diào)用過程直接轉(zhuǎn)向被調(diào)用過程,通常都是通過軟中斷機制先由用戶態(tài)
轉(zhuǎn)換為核心態(tài),在操作系統(tǒng)核心分析之后,轉(zhuǎn)向相應的系統(tǒng)調(diào)用處理子程序。
★返回問題
一般過程調(diào)用在被調(diào)用過程執(zhí)行完后,將返回到調(diào)用過程繼續(xù)執(zhí)行。但是,在采用搶占式調(diào)度方式的系統(tǒng)中,
被調(diào)用過程執(zhí)行完后,系統(tǒng)將對所有要求運行的進程進行優(yōu)先級分析。如果調(diào)用進程仍然具有最高優(yōu)先級,則返回到
調(diào)用進程繼續(xù)執(zhí)行;否則,將引起重新調(diào)度,以便讓優(yōu)先級最高的進程優(yōu)先執(zhí)行。此時,系統(tǒng)將把調(diào)用進程放入就緒
隊列。
★嵌套調(diào)用
像一般過程調(diào)用一樣,系統(tǒng)調(diào)用也允許嵌套調(diào)用,即在一個被調(diào)用過程的執(zhí)行期間,還可再利用系統(tǒng)調(diào)用命令去
調(diào)用另一個系統(tǒng)調(diào)用。一般情況下,每個系統(tǒng)對嵌套調(diào)用的深度都有一定的限制。
8.交互式操作系統(tǒng)
★交互式操作系統(tǒng)是指用戶交互式地向系統(tǒng)提出命令請求,系統(tǒng)接受每個用戶的命令,采用時間片輪
轉(zhuǎn)方式處理服務請求,并通過交互方式在終端上向用戶顯示結果。
★FCFS(先來先服務),最短作業(yè)優(yōu)先,最短剩余時間優(yōu)先,時間片輪轉(zhuǎn),最高優(yōu)先級算法,多級反饋
隊列算法和最短進程優(yōu)先都適用于交互式操作系統(tǒng)。
7
9
★去了,操作系統(tǒng)中獲得服務,用戶程序必須使用系統(tǒng)調(diào)用(systemcall),系統(tǒng)調(diào)用陷入內(nèi)核并調(diào)用
操作系統(tǒng)。
★訪管指令把用戶態(tài)切換成內(nèi)核態(tài),并啟用操作系統(tǒng)。當有關工作完成之后,在系統(tǒng)調(diào)用后面的指令
把控制權返回給用戶程序。
★系統(tǒng)調(diào)用程序被看成是一個低級的過程,只能由匯編語言直接訪問。
★系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程入員的唯一接口。
10.關閉中斷響應
關閉中斷響應指令屬于特權指令,用戶程序不能直接執(zhí)行,必須要使CPU陷入核心態(tài),由操作系統(tǒng)來
執(zhí)行該特權指令,因此該程序必須先發(fā)起訪管中斷,這是讓CPU由用戶態(tài)向核心態(tài)轉(zhuǎn)換的方法。
11.程序并發(fā)執(zhí)行特性
★所謂程序并發(fā)執(zhí)行是指兩個或兩個以上程序在計算機系統(tǒng)中同處于已開始執(zhí)行且尚未結束的狀
態(tài)。
★程序并發(fā)執(zhí)行產(chǎn)生了一些和程序順序執(zhí)行時不同的特性:
①并發(fā)程序在執(zhí)行期間具有相互制約關系;
②程序與計算不在一一對應;
③并發(fā)程序執(zhí)行結果不可再現(xiàn)。
12.中斷向量表
80x86系統(tǒng)是把所有的中斷向量集中起來,按中斷類型號從小到大的順序存放到存儲器的某一區(qū)域內(nèi),這個存
放中斷向量的存儲區(qū)叫做中斷向量表,即中斷服務程序入口地址表。
13.函數(shù)open()
open是多種語言的一種函數(shù),C語言中open。函數(shù)作用:打開和創(chuàng)建文件,是文件操作類系統(tǒng)調(diào)用。
14.進程控制塊
進程控制塊(PCB)的內(nèi)容可以分成調(diào)度信息和現(xiàn)場信息兩部分。
★調(diào)度信息包括進程名、進程號、存儲信息、優(yōu)先級、當前狀態(tài)、資源清單、〃家族”關系、消息隊列指針、進
程隊列指針和當前打開文件等;
★現(xiàn)場信息只記錄哪些可能會被其他進程改變的寄存器,如程序狀態(tài)字、時鐘、界地址寄存器等
8
第三章進程線程模型
L多道程序設計
★所謂多道程序設計,就是允許多個程序同時進入內(nèi)存并運行。多道程序設計是操作系統(tǒng)所采用的最
基本、最重要的技術,其根本目的是提高整個系統(tǒng)的效率。
★采用多道程序設計可以提高CPU的利用率。多道程序設計技術充分發(fā)揮了處理器與外圍設備以及外圍設備之間
的并行工作能力,從而提高處理器和其他各種資源的利用率。
★從宏觀上看,CPU與外部設備始終可以并行工作,這樣使得CPU的運行效率達到最大化,不至于空閑。2.
多道程序設計環(huán)境特點
★獨立性
★隨機性
★資源共享性
3.程序并發(fā)執(zhí)行
★所謂程序并發(fā)執(zhí)行,是指兩個或兩個以上程序在計算機系統(tǒng)中同處于已開始執(zhí)行且尚未結束的狀態(tài)。
★能夠參與并發(fā)執(zhí)行的程序稱為并發(fā)程序。
★引入程序并發(fā)執(zhí)行,是為了充分利用系統(tǒng)資源,提高計算機的處理能力。
★但是,程序并發(fā)執(zhí)行產(chǎn)生了一些和程序順序執(zhí)行時不同的特性,概括如下:
①并發(fā)程序在執(zhí)行期間具有相互制約關系
②程序與計算不再一一對應
③并發(fā)程序執(zhí)行結果不可再現(xiàn)
4進程和程序的區(qū)別
★程序是構成進程的組成部分之一,一個進程的運行目標是執(zhí)行它所對應的程序,如果沒有程序,進程就失去了
其存在的意義。
★進程是由程序、數(shù)據(jù)和進程控制塊(PCB)3部分組成。
★程序是靜態(tài)的,進程是動態(tài)的。
★程序的存在是永久的,進程的存在是暫時的,動態(tài)地產(chǎn)生和消亡。
★一個進程可以執(zhí)行一個或幾個程序,一個程序亦可以構成多個進程。
★進程具有創(chuàng)建其他進程的功能。被創(chuàng)建的進程稱為子進程,創(chuàng)建者稱為父進程,從而構成進程家族。
★程序是指令、數(shù)據(jù)及其組織形式的描述,進程是程序的實體;
①每一個進程都有它自己的地址空間,一般情況下,包括文本區(qū)域、數(shù)據(jù)區(qū)域和堆棧。
②文本區(qū)域存儲處理器執(zhí)行的代碼;
③數(shù)據(jù)區(qū)域存儲變量和進程執(zhí)行期間使用的動態(tài)分配的內(nèi)存;
④堆棧區(qū)域存儲著活動過程調(diào)用的指令和本地變量。
5.進程特性:
1)并發(fā)性
可以同其他進程一道向前推進,即一個進程的第一個動作可以在另一個進程的最后一個動作結束之前開始。2)
動態(tài)性
進程對應程序的執(zhí)行過程,體現(xiàn)在兩方面:
①進程動態(tài)產(chǎn)生、動態(tài)消亡;
②在進程生命周期內(nèi),其狀態(tài)動態(tài)變化。
3)獨立性
一個進程是一個相對完整的資源分配單位。
4)交往性
一個進程在運行過程中可能會與其他進程發(fā)生直接的或間接的相互作用。
5)異步性
每個進程按照各自獨立的、不可預知的速度向前推進。
6.3狀態(tài)進程模型
★運行中的進程可以處于以下3種狀態(tài)之一:運行、就緒、等待。
★在任何時刻,任何進程都處于且僅處于3種狀態(tài)之一。
1)運行狀態(tài)(Running)
①運行狀態(tài)是指進程已獲得CPU,并且在CPU上執(zhí)行的狀態(tài)。
②在一個單CPU系統(tǒng)中,最多只有一個進程處于運行態(tài)。
2)就緒狀態(tài)(Ready)
①就緒狀態(tài)是指一個進程已經(jīng)具備運行條件,但由于沒有獲得CPU而不能運行所處的狀態(tài)。
9
②一旦把CPU分配給它,該進程就可運行。
③處于就緒狀態(tài)的進程可以是多個。
3)等待狀態(tài)(Waiting)
①等待狀態(tài)也稱阻塞狀態(tài)或封鎖狀態(tài).
②是指進程因等待某種事件發(fā)生而暫時不能運行的狀態(tài)。
③系統(tǒng)中處于等待狀態(tài)的進程可以有多個。
7.五狀態(tài)進程模型
★五狀態(tài)進程模型中,進程狀態(tài)被分成下列五種狀態(tài)。
★進程在運行過程中主要是在就緒、運行和阻塞3種狀態(tài)間進行轉(zhuǎn)換。
★創(chuàng)建狀態(tài)和退出狀態(tài)描述進程創(chuàng)建的過程和進程退出的過程。
①運行狀態(tài)(Runing):進程占用處理機資源;處于此狀態(tài)的進程的數(shù)目小于等于處理機的數(shù)目。在
沒有其他進程可以執(zhí)行時(如所有進程都在阻塞狀態(tài)),通常會自動執(zhí)行系統(tǒng)的空閑進程。
②就緒狀態(tài)(Ready):進程已獲得除處理機外的所需資源,等待分配處理機資源;只要分配處理機
就可執(zhí)行。
③阻塞狀態(tài)(Blocked):由于進程等待I/O操作或進程同步等條件而暫停運行時處于阻塞狀態(tài)。
④創(chuàng)建狀態(tài)(New):進程正在創(chuàng)建過程中,還不能運行。
⑤結束狀態(tài)(Exit):進程已結束運行,回收除進程控制塊之外的其他資源,并讓其他進程從進程控
制塊中收集有關信息(如記賬和將退出代碼傳遞給父進程)。
8.七狀態(tài)模型
1)七狀態(tài)進程模型把原來的就緒狀態(tài)和阻塞狀態(tài)進行了細分,增加了就緒掛起和阻塞掛起兩個狀態(tài);
這時原來的就緒狀態(tài)和阻塞狀態(tài)的意義也發(fā)生了一些變化:
①就緒狀態(tài)(Ready):進程在內(nèi)存且可立即進入運行狀態(tài);
②阻塞狀態(tài)(Blocked):進程在內(nèi)存并等待某事件的出現(xiàn);
③阻塞掛起狀態(tài)(Blocked,Suspend):進程在外存并等待某事件的出現(xiàn)。
④就緒掛起狀態(tài)(Ready,Suspend):進程在外存,但只要進入內(nèi)存,即可運行;
2)在七狀態(tài)進程模型中,新引入的狀態(tài)轉(zhuǎn)換有掛起和激活兩類,意義有變化的轉(zhuǎn)換有事件出現(xiàn)和進程提交兩
類。
★掛起(Suspend):把一個進程從內(nèi)存轉(zhuǎn)到外存;可能有以下幾種情況:
①阻塞到阻塞掛起:沒有進程處于就緒狀態(tài)或就緒進程要求更多內(nèi)存資源時,會進行這種轉(zhuǎn)換,以提交新進程
或運行就緒進程。
②就緒到就緒掛起:當有高優(yōu)先級阻塞(系統(tǒng)認為會很快就緒的)進程和低優(yōu)先級就緒進程時,系統(tǒng)會選擇掛
起低優(yōu)先級就緒進程。
③運行到就緒掛起:對搶先式分時系統(tǒng),當有高優(yōu)先級阻塞掛起進程因事件出現(xiàn)而進入就緒掛起時,系統(tǒng)可能
會把運行進程轉(zhuǎn)到就緒掛起狀態(tài)。
★激活(Activate):把一個進程從外存轉(zhuǎn)到內(nèi)存;可能有以下幾種情況:
①就緒掛起到就緒:就緒掛起進程優(yōu)先級高于就緒進程或沒有就緒進程時,會進行這種轉(zhuǎn)換。
②阻塞掛起到阻塞:當一個進程釋放足夠內(nèi)存時,系統(tǒng)會把一個高優(yōu)先級阻塞掛起進程激活,系統(tǒng)認為會很快
出現(xiàn)該進程所等待的事件。
★事件出現(xiàn)(EventOccurs):進程等待的事件出現(xiàn);如操作完成、申請成功等;可能的情況有:
①阻塞到就緒:針對內(nèi)存進程的事件出現(xiàn)。
②阻塞掛起到就緒掛起:針對外存進程的事件出現(xiàn)。
★提交(Admit):完成一個新進程的創(chuàng)建過程,新進程進入就緒狀態(tài)或就緒掛起狀態(tài)。進入就緒掛起的原因
是系統(tǒng)希望保持一個大的就緒進程表(掛起和非掛起)。
9.進程控制塊(ProcessControlBlock,PCB)
★為了便于系統(tǒng)控制和描述進程的活動過程,在操作系統(tǒng)核心中為進程定義了一個專門的數(shù)據(jù)結構,稱為進程
控制塊(ProcessControlBlock,PCB)?
★PCB是進程存在的唯一標志,當系統(tǒng)創(chuàng)建一個進程時,為進程設置一個PCB,再利用PCB對進程進行控制和管
理。
★撤銷進程時;系統(tǒng)收回它的PCB,進程也隨之消亡。
★PCB的內(nèi)容可以分成調(diào)度信息和現(xiàn)場信息兩大部分:
①調(diào)度信息供進程調(diào)度時使用,描述了進程當前所處的狀況,它包括進程名、進程號、存儲信息、優(yōu)先級、
當前狀態(tài)、資源清單、“家族”關系、消息隊列指針、進程隊列指針和當前打開文件等。
②現(xiàn)場信息刻畫了進程的運行情況,由于每個進程都有自己專用的工作存儲區(qū),其他進程運行時不會改變它
10
的內(nèi)容。所以,PCB中的現(xiàn)場信息只記錄那些可能會被其他進程改變的寄存器,如程序狀態(tài)字、時鐘、界地址寄存器
等。一旦中斷進程的運行,必須把中斷時刻的內(nèi)容記入PCB的現(xiàn)場信息。
10.PCB的3種組織方式
★線性方式
★索引方式
★鏈接方式
]]進程控制原語
用學進程控制的原語一般有:創(chuàng)建進程、撤銷進程、掛起進程、激活進程、阻塞進程、喚醒進程以及改變進程優(yōu)
先級等。
進程原語
D創(chuàng)建原語
★一個進程可以使用創(chuàng)建原語創(chuàng)建一個新的進程,前者稱為父進程,后者稱為子進程,子進程又可以細建新的
子進程,構成新的父子關系。從而整個系統(tǒng)可以形成一個樹形結構的進程家族。
★創(chuàng)建一個進程的主要任務是建立進程控制塊PCB?
★具體操作過程是:先申請一空閑PCB區(qū)域,將有關信息填入PCB,置該進程為就緒狀態(tài),最后把它插入就緒
隊列中。
2)撤銷原語
★當一個進程完成任務后,應當撤銷它,以便及時釋放它所占用的資源。
★撤銷進程的實質(zhì)是撤銷PCB。一旦PCB撤銷,進程就消亡了。
★具體操作過程是:找到要被撤銷進程的PCB,將它從所在隊列中消去,撤銷屬于該進程的一切“子孫進程”,釋
放被撤銷進程所占用的全部資源,并消去被撤銷進程的PCB。
3)阻塞原語
★某進程執(zhí)行過程中,需要執(zhí)行I/O操作,則由該進程調(diào)用阻塞原語把進程從運行狀態(tài)轉(zhuǎn)換為阻塞狀態(tài)。
★具體操作過程是:由于進程正處于運行狀態(tài),因此首先應中斷CPU執(zhí)行,把CPU的當前狀態(tài)保存在PCB的
現(xiàn)場信息中,把進程的當前狀態(tài)置為等待狀態(tài),并把它插入到該事件的等待隊列中去。
4)喚醒原語
★一個進程因為等待事件的發(fā)生而處于等待狀態(tài),當?shù)却录瓿珊?,就用喚醒原語將其轉(zhuǎn)換為就緒狀態(tài)。
★具體操作過程是:在等待隊列中找到該進程,置進程的當前狀態(tài)為就緒狀態(tài),然后將它從等待隊列中撤出
并插入到就緒隊列中排隊,等待調(diào)度執(zhí)行。
12.操作系統(tǒng)創(chuàng)建新進程
操作系統(tǒng)創(chuàng)建一個新進程的過程如下:
①申請空白PCB;
②為新進程分配資源:
③初始化進程控制塊;
④將新進程插入就緒隊列,如果進程就緒隊列能夠接納新進程,便將新進程插入到就緒隊列中。
13.fork()函數(shù)
在UNIX類操作系統(tǒng)中,父進程通過調(diào)用fork。函數(shù)創(chuàng)建子進程,子進程獲得與父進程地址空間相同的一份拷
貝,包括文本、數(shù)據(jù)和bss段、堆以及用戶棧,fork。函數(shù)被調(diào)用一次,卻返回2次:一次是在調(diào)用進程中,一次是
在新創(chuàng)建的子進程中,
14.線程的基本概念
★在引入線程的操作系統(tǒng)中,線程是進程中的一個實體,是CPU調(diào)度和分派的基本單位。
★線程自己基本上不擁有系統(tǒng)資源,只擁有一點在運行中必不可少的資源(如程序計數(shù)器、一組寄存器和棧),但
它可與同屬一個進程的其他線程共享進程所擁有的全部資源。
★在操作系統(tǒng)中再引入線程,則是為了減少程序并發(fā)執(zhí)行時所付出的時間和空間開銷,使操作系統(tǒng)具有更好的
并發(fā)性。
15.引入線程的好處
★創(chuàng)建一個新線程花費時間少(結束亦如此)。創(chuàng)建線程不需另行分配資源,因而創(chuàng)建線程的速度比
創(chuàng)建進程的速度快,且系統(tǒng)的開銷也少。
★兩個線程的切換花費時
間少。由于同一進程內(nèi)的線程共享內(nèi)存和文件,線程之間相互通信無須調(diào)用內(nèi)核,故不需要額外的通信機
制,使通信更簡便,信息傳送速度也快。
★線程能獨立執(zhí)行,能充分利用和發(fā)揮處理器與外圍設備并行工作能力。
11
16.Pthread函數(shù)調(diào)用
線程調(diào)用描述
pthreadcreate創(chuàng)建一個新線程
pthreadexit結束調(diào)用的線程
pthreadjoin等待一個特定的線程退出
pthr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026西安市灞橋區(qū)十里鋪街辦華清園幼兒園招聘備考題庫及答案詳解參考
- 2026年靈活用工合規(guī)管理實務培訓
- 2026貴州農(nóng)商聯(lián)合銀行第一批開招聘中層管理人員18人備考題庫參考答案詳解
- 2026首都師大附中科學城學校招聘備考題庫含答案詳解
- 2026貴州畢節(jié)市人才“蓄水池”崗位引進人才10人備考題庫及答案詳解參考
- 2026黑龍江牡丹江林口縣博物館編外講解員招聘2人備考題庫帶答案詳解
- 護理遠程會診的效果評估
- 財政涉農(nóng)資金培訓課件
- 職業(yè)噪聲暴露的神經(jīng)炎癥與認知損傷
- 職業(yè)健康防護的行業(yè)推廣策略
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責任公司社會成熟人才招聘備考題庫及參考答案詳解1套
- 思政教師培訓心得課件
- 2026國家國防科技工業(yè)局所屬事業(yè)單位第一批招聘62人備考題庫及參考答案詳解
- LoRa技術教學課件
- 2025中央廣播電視總臺招聘144人筆試歷年題庫附答案解析
- 急性高原疾病課件
- 牧業(yè)公司生產(chǎn)安全預案
- 腦機接口科普
- 2025年湖北煙草專賣局招聘考試真題及答案
- 反向呼吸訓練方法圖解
- 肉雞采食量影響因素分析與調(diào)控研究進展
評論
0/150
提交評論