22
年
408
新大綱操作系統(tǒng)新增考點(diǎn)
一、操作系統(tǒng)引導(dǎo)
操作系統(tǒng)引導(dǎo)指的是將操作系統(tǒng)內(nèi)核裝入內(nèi)存并啟動(dòng)系統(tǒng)的過程,系統(tǒng)引導(dǎo)通常是由一段被稱為啟動(dòng)
引導(dǎo)程序的特殊代碼完成的,它位于系統(tǒng)
ROM
中,用來完成定位內(nèi)核代碼在外存的具體位置,按照要求
正確裝入內(nèi)核至內(nèi)存并最終使內(nèi)核運(yùn)行起來的整個(gè)系統(tǒng)啟動(dòng)過程。在該過程中,啟動(dòng)引導(dǎo)程序要完成多個(gè)
初始化過程,當(dāng)這些過程順利完成后才能使用系統(tǒng)的各種服務(wù)。這些過程包括初始引導(dǎo),內(nèi)核初始化、全
系統(tǒng)初始化。
初始引導(dǎo)過程主要由計(jì)算機(jī)的
BIOS
完成。
BIOS
是固化在
ROM
中的基本輸入輸出系統(tǒng),其內(nèi)容存儲(chǔ)在
主板
ROM
芯片中,主要功能是為內(nèi)核運(yùn)作環(huán)境進(jìn)行預(yù)先檢測,主要包括中斷服務(wù)程序、系統(tǒng)設(shè)置程序、
上電自檢和系統(tǒng)啟動(dòng)自舉程序等。中斷服務(wù)程序是系統(tǒng)軟硬件間的一個(gè)可編程接口,用于完成硬件初始
化;系統(tǒng)設(shè)置程序用來設(shè)置
CMOS RAM
的各項(xiàng)參數(shù),這些參數(shù)通常表示系統(tǒng)基本情況、
CPU
特性、磁盤驅(qū)
動(dòng)器等部件的信息等,開機(jī)時(shí)一般按
Delete
鍵即可進(jìn)入該程序界面;上電自檢
POST
所做的工作是在計(jì)算
機(jī)通電后自動(dòng)對(duì)系統(tǒng)中各關(guān)鍵和主要外設(shè)進(jìn)行檢查,一旦在自檢中發(fā)現(xiàn)問題,將會(huì)通過鳴笛或提示信息警
告用戶;系統(tǒng)啟動(dòng)自舉程序是在
POST
完成工作后執(zhí)行的,它首先按照系統(tǒng)
CMOS
設(shè)置中保存的啟動(dòng)順序
搜索磁盤驅(qū)動(dòng)器、
CD-ROM
、網(wǎng)絡(luò)服務(wù)器等有效的驅(qū)動(dòng)器,讀入操作系統(tǒng)引導(dǎo)程序,接著將系統(tǒng)控制權(quán)交
給引導(dǎo)程序,并由引導(dǎo)程序裝入內(nèi)核代碼,以便完成系統(tǒng)的順序啟動(dòng)。
操作系統(tǒng)內(nèi)核裝入內(nèi)存后,引導(dǎo)程序?qū)?
CPU
控制權(quán)交給內(nèi)核,此時(shí)內(nèi)核才可以開始運(yùn)行。內(nèi)核將首先
完成初始化功能,包括對(duì)硬件、電路邏輯等的初始化,以及對(duì)內(nèi)核數(shù)據(jù)結(jié)構(gòu)的初始化,如頁表(段表)
等。
上述兩個(gè)步驟完成后,最后要做的就是啟動(dòng)用戶接口,使系統(tǒng)處于等待命令輸入狀態(tài)即可,這個(gè)階段
操作系統(tǒng)做的主要工作是為用戶創(chuàng)建基本工作環(huán)境,接收、解釋和執(zhí)行用戶程序與指令。不同系統(tǒng)、不同
設(shè)置,全系統(tǒng)初始化完成后的接口表觀是不同的。如果選擇了圖形界面,此時(shí)會(huì)顯示用戶賬號(hào)和密碼輸入
界面,如
windows
的用戶經(jīng)典登錄界面;若使用的是命令接口、則會(huì)顯示命令行形式的用戶登錄界面,無
論是圖形接口還是命令接口,要全系統(tǒng)初始化完成,即可使用用戶名和相應(yīng)密碼進(jìn)入操作系統(tǒng)環(huán)境。
二、虛擬機(jī)
虛擬機(jī)是通過軟件模擬的具有完整硬件系統(tǒng)功能的,運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng)。
在實(shí)體計(jì)算機(jī)中能夠完成的工作在虛擬機(jī)中都能夠?qū)崿F(xiàn)。在計(jì)算機(jī)中創(chuàng)建虛擬機(jī)需要將實(shí)體機(jī)的部分硬盤
和內(nèi)存容量作為虛擬機(jī)的硬盤和內(nèi)存容量,每一個(gè)虛擬機(jī)都有獨(dú)立的
CMOS
、硬盤和操作系統(tǒng)??梢韵袷?
用實(shí)體機(jī)一樣,對(duì)虛擬機(jī)進(jìn)行操作,虛擬機(jī)技術(shù)是虛擬化技術(shù)的一種。
Linux
虛擬機(jī):一種安裝在
Windows
上的虛擬
Linus
操作環(huán)境,就被稱為
Linux
虛擬機(jī)。它實(shí)際上是一
個(gè)或一組文件,是虛擬的
Linux
環(huán)境,但是它們的實(shí)際效果是一樣的。
Java
虛擬機(jī)
(JVM)
:是
Java Virtual Machine
的縮寫,它是一個(gè)虛構(gòu)出來的計(jì)算機(jī),是通過在實(shí)際的計(jì)算
機(jī)上仿真模擬各種計(jì)算機(jī)功能來實(shí)現(xiàn)的。
Java
虛擬機(jī)有自己完善的硬件架構(gòu), 如處理器、堆線、寄存器
等,還具有相應(yīng)的指令系統(tǒng)。
Java
語言的一個(gè)非常重要的特點(diǎn)就是與平臺(tái)的無關(guān)性。
而使用
Java
虛擬機(jī)是實(shí)現(xiàn)這一特點(diǎn)的關(guān)鍵。一般的高級(jí)語言如果要在不同的平臺(tái)上運(yùn)行,至少需要編
譯成不同的目標(biāo)代碼。而引入
Java
虛擬機(jī)后,
Java
語言在不同平臺(tái)上運(yùn)行時(shí)不需要重新編譯。
Java
語言使
用
Java
虛擬機(jī)屏蔽了與具體平臺(tái)相關(guān)的信息,使得
Java
語言編譯程序只需生成在
Java
虛擬機(jī)上運(yùn)行的目
標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。
Java
虛擬機(jī)在執(zhí)行字節(jié)碼時(shí),把字節(jié)碼解釋成
具體平臺(tái)上的機(jī)器指令執(zhí)行。
另外,現(xiàn)在企業(yè)內(nèi)部或互聯(lián)網(wǎng)上公有云服務(wù)商提供的云主機(jī)、
VPC
等大多都是虛擬機(jī),易于動(dòng)態(tài)地創(chuàng)
建、回收;集群中所有虛擬機(jī)的運(yùn)行情況都能及時(shí)掌握和按需調(diào)配。虛擬化可以說是云計(jì)算的基礎(chǔ)技術(shù)支
撐。
三、鎖
(
1
)鎖的概念
在操作系統(tǒng)中,可以保證互斥的同步機(jī)制稱為鎖。通過鎖機(jī)制,能夠保證臨界區(qū)中操作數(shù)據(jù)的一致
性,鎖可以理解為一個(gè)共享變量,擁有兩種狀態(tài):空閑狀態(tài)和上鎖狀態(tài)。
(
2
)鎖的基本操作
鎖有兩個(gè)基本操作:閉鎖和開鎖。閉鎖就是將鎖鎖上,其他進(jìn)程
/
線程不能進(jìn)入,開鎖就是相關(guān)工作完
成后,將鎖打開,其他進(jìn)程
/
線程可以進(jìn)入了。
閉鎖操作有兩個(gè)步驟:
①等待鎖達(dá)到打開狀態(tài)
;
②獲得鎖并鎖上。
注意,閉鎖的兩個(gè)操作應(yīng)該是原子操作,不能分開,否則就會(huì)留下穿插的空檔,造成鎖的功效喪失。
可行的方法是采用原子級(jí)匯編指令
test and set
和
swap
等。
開鎖操作只需一步
:
打開鎖,即把鎖狀態(tài)修改為空閑狀態(tài)。
(
3
)鎖應(yīng)該具備的特性
①鎖的初始狀態(tài)需為打開狀態(tài);
②進(jìn)臨界區(qū)前必須獲得鎖;
③出臨界區(qū)時(shí)必須打開鎖;
④如果其他進(jìn)程
/
線程持有鎖則必須等待。
四、條件變量
(
1
)管程的引入
信號(hào)量同步存在以下缺點(diǎn):
同步操作分散:同步操作分散在各個(gè)進(jìn)程中,使用不當(dāng)就可能導(dǎo)致各進(jìn)程死鎖(如
P
、
V
操作的次序
錯(cuò)誤、重復(fù)或遺漏)
易讀性差:要了解對(duì)于一組共享變量及信號(hào)量的操作是否正確,必須通讀整個(gè)系統(tǒng)或者并發(fā)的。
由于信號(hào)量同步存在上述缺點(diǎn),科學(xué)家提出了管程,其基本思想是:
把信號(hào)量操作原語封裝在一個(gè)對(duì)象內(nèi)部,即將共享變量以及對(duì)共享變量能夠進(jìn)行的所有操作集中在一
個(gè)模塊中
(
2
)管程的基本概念
定義:管程是關(guān)于共享資源的數(shù)據(jù)結(jié)構(gòu)及一組針對(duì)該資源的操作所構(gòu)成的軟件模塊。
進(jìn)程可在任何需要的時(shí)候調(diào)用管程中的過程。管程有一個(gè)很重要的特性,即任一時(shí)刻管程中只能有一
個(gè)活躍進(jìn)程,這一特性使管程能有效地完成互斥。
(
3
)條件變量及其操作
進(jìn)入管程時(shí)的互斥由編譯器負(fù)責(zé)。另外,還需要一種辦法使得進(jìn)程在無法繼續(xù)運(yùn)行時(shí)被阻塞,解決的
的方法是引入條件變量以及相關(guān)的兩個(gè)操作:
wait
和
signal
。
當(dāng)一個(gè)管程過程發(fā)現(xiàn)它無法繼續(xù)運(yùn)行時(shí)(例如,生產(chǎn)者發(fā)現(xiàn)緩沖區(qū)滿),它會(huì)在某個(gè)條件變量上(如
full
)執(zhí)行
wait
操作。該操作導(dǎo)致調(diào)用進(jìn)程自身阻塞,并且還將另一個(gè)以前等在管程之外的進(jìn)程調(diào)入管
程。
另一個(gè)進(jìn)程,比如消費(fèi)者,可以喚醒正在睡眠的伙伴進(jìn)程,這可以通過對(duì)其伙伴正在等待的一個(gè)條件
變量執(zhí)行
signal
完成。為了避免管程中同時(shí)有多個(gè)活躍進(jìn)程,需要一條規(guī)則來通知在
signal
之后該怎么
辦,不同學(xué)者提出了不同的處理方法。
五、進(jìn)程的調(diào)度時(shí)機(jī)和調(diào)度方式
(
1
)調(diào)度的時(shí)機(jī)
調(diào)度的時(shí)機(jī)即何時(shí)進(jìn)行調(diào)度。調(diào)度處理常見情形包括:
在創(chuàng)建一個(gè)新進(jìn)程之后。需要決定是運(yùn)行父進(jìn)程還是運(yùn)行子進(jìn)程,由于二者都處于就緒狀態(tài),調(diào)度程
序可以選擇其中的任何一個(gè)。
在一個(gè)進(jìn)程退出時(shí)必須進(jìn)行調(diào)度。必須從就緒進(jìn)程集中洗擇某個(gè)進(jìn)程,如果沒有就緒的進(jìn)程,通常會(huì)
運(yùn)行一個(gè)系統(tǒng)提供的空閑進(jìn)程(閑逛進(jìn)程)。
當(dāng)一個(gè)進(jìn)程阻塞在
I/O
和信號(hào)量上或由于其他原因阻塞時(shí),必須選祥另外一個(gè)進(jìn)程運(yùn)行。
在一個(gè)
I/O
中斷發(fā)生時(shí),必須進(jìn)行調(diào)度。
另外,分給進(jìn)程的時(shí)間片用完、有更緊急的事情需要處理(如
I/O
中斷),有更高優(yōu)先級(jí)的進(jìn)程進(jìn)入
就緒隊(duì)列等情況下,當(dāng)前進(jìn)程被動(dòng)放棄
CPU
,將進(jìn)行調(diào)度。
有些情況下不能進(jìn)行調(diào)度。例如,在處理中斷的過程中,進(jìn)程在操作系統(tǒng)內(nèi)核程序臨界區(qū)中。執(zhí)行原
子操作過程中(原語)等。
(
2
)調(diào)度方式
非搶占方式:一旦把處理機(jī)分配給某進(jìn)程后,便讓該進(jìn)程一直執(zhí)行,直至該進(jìn)程完成或發(fā)生某事件而
被阻塞時(shí),才把處理機(jī)分配給其他進(jìn)程,決不允許進(jìn)程搶占已分配出去的處理機(jī)。
評(píng)價(jià):實(shí)現(xiàn)簡單、系統(tǒng)開銷??;適用于大多數(shù)的批處理
OS
,但在要求比較嚴(yán)格的實(shí)時(shí)系統(tǒng)中,不宜采
用這種調(diào)度方式。
搶占方式:允許調(diào)度程序根據(jù)某種原則,去暫停某個(gè)正在執(zhí)行的進(jìn)程,將處理機(jī)重新分配給另一進(jìn)
程。
搶占的原則:
優(yōu)先級(jí)原則:為緊迫的作業(yè)賦予較高的優(yōu)先級(jí),這種作業(yè)到達(dá)系統(tǒng)或由阻塞狀態(tài)被喚醒后,若其優(yōu)先
級(jí)高于當(dāng)前運(yùn)行的進(jìn)程的優(yōu)先級(jí),可以剝奪其
CPU
。
短作業(yè)(進(jìn)程)優(yōu)先原則:若一個(gè)作業(yè)(進(jìn)程)到達(dá)系統(tǒng),其運(yùn)行長度比當(dāng)前運(yùn)行的進(jìn)程的剩余運(yùn)行
時(shí)間短,則剝奪當(dāng)前運(yùn)行進(jìn)程的
CPU
。
時(shí)間片原則:在輪轉(zhuǎn)算法中,
CPU
輪流為諸多進(jìn)程服務(wù),每個(gè)進(jìn)程運(yùn)行完自己的時(shí)間片后,系統(tǒng)就將
它的
CPU
剝奪過來,交給下一個(gè)進(jìn)程使用。
六、上下文切換機(jī)制
上下文指的是一種環(huán)境,對(duì)于進(jìn)程而言,上下文實(shí)際上是進(jìn)程執(zhí)行活動(dòng)全過程的靜態(tài)描述。
進(jìn)程上下文是可以按照層次規(guī)則組合起來的。例如在
UNIX System V
中,進(jìn)程上下文由用戶級(jí)、寄存
器上下文以及系統(tǒng)級(jí)上下文組成。
上下文切換機(jī)制:當(dāng)對(duì)處理機(jī)進(jìn)行切換時(shí),將發(fā)生兩對(duì)上下文切換操作。對(duì)于第一對(duì),將保存當(dāng)前進(jìn)
程的上下文,而裝入分派程序的上下文,以便分派程序運(yùn)行;對(duì)于第二對(duì),將移出分派程序而把新選進(jìn)程
的
CPU
現(xiàn)場信息裝入到處理機(jī)的相應(yīng)寄存器中。
七、固態(tài)硬盤
固態(tài)硬盤是用固態(tài)電子存儲(chǔ)芯片陣列制成的硬盤,由控制單元和在儲(chǔ)單元組成。
固態(tài)硬盤在接口的規(guī)范和定義、功能及使用方法上與傳統(tǒng)硬盤完全相同。但
I/O
性能相對(duì)于傳統(tǒng)硬盤
大大提升,被廣泛應(yīng)用于軍事、車載、工控、視頻監(jiān)控、網(wǎng)絡(luò)監(jiān)控、網(wǎng)絡(luò)終端、電力、醫(yī)療、航空、導(dǎo)航
設(shè)備等領(lǐng)域。
固態(tài)硬盤具有如下優(yōu)點(diǎn)
:
(
1
)讀寫速度快。采用閃存作為存儲(chǔ)介質(zhì),讀取速度相對(duì)機(jī)械硬盤更快。固態(tài)硬盤不用磁頭,尋道時(shí)
間幾乎為
0
。持續(xù)寫入的速度非常驚人,最常見的
7200
轉(zhuǎn)機(jī)械硬盤的尋道時(shí)間一般為
12-14ms
,而固態(tài)硬
盤可以輕易達(dá)到
0.1 ms
甚至更低。
(
2
)磨損均衡。也是一種基于固態(tài)硬盤主控芯片的內(nèi)置平衡機(jī)制,用于均衡固態(tài)硬盤內(nèi)部各個(gè)區(qū)塊閃
存顆粒的使用程度,從而延長整體顆粒的使用壽命。在主控制器的固件中添入新的控制命令。讓主控制器
在固態(tài)硬盤的讀寫過程中,盡可能均衡地使用各個(gè)
block
,防止部分閃存區(qū)塊因過度頻繁地擦除和寫入命令
而導(dǎo)致整塊閃存顆粒提前報(bào)廢。
八、虛擬文件系統(tǒng)
虛擬文件系統(tǒng)(
VFS
)是一種用于網(wǎng)絡(luò)環(huán)境的分布式文件系統(tǒng),它允許在同一個(gè)目錄結(jié)構(gòu)中可以掛載
若干種不同的文件系統(tǒng)。
虛擬文件系統(tǒng)是物理文件系統(tǒng)與服務(wù)之間的一個(gè)接口層。它對(duì)每個(gè)文件系統(tǒng)的所有細(xì)節(jié)進(jìn)行抽象。隱
藏了它們的實(shí)現(xiàn)細(xì)節(jié),為使用者提供統(tǒng)一的接口。嚴(yán)格來說,
VFS
并不是一種實(shí)際的文件系統(tǒng),它只是存
在于內(nèi)存中,不存在于任何外存空間,
VFS
在系統(tǒng)啟動(dòng)時(shí)建立,在系統(tǒng)關(guān)閉時(shí)消亡。
對(duì)于用戶來說,不需要關(guān)心不同文件系統(tǒng)的具體操作過程。而只是對(duì)一個(gè)虛擬的文件操作界面來進(jìn)行
操作,每一個(gè)文件系統(tǒng)之間互不干擾,而只是調(diào)用相應(yīng)的程序來實(shí)現(xiàn)其功能,
VFS
作為內(nèi)核中的一個(gè)軟件
層,用于給用戶空間的程序提供文件系統(tǒng)接口,同時(shí)也提供了內(nèi)核中的一個(gè)抽象功能,允許不同的文件系
統(tǒng)很好地共存。
九、文件系統(tǒng)掛載
文件系統(tǒng)掛載,是指將新的文件系統(tǒng)關(guān)聯(lián)至當(dāng)前根文件系統(tǒng)??梢允褂?
mount
命令在目錄樹中的指定
目錄(掛載點(diǎn))附加文件系統(tǒng)。掛載點(diǎn)作為要掛載文件系統(tǒng)的訪問入口,必須已經(jīng)存在。一般是不會(huì)被進(jìn)
程使用到的目錄。掛載后,掛載點(diǎn)下原有文件將會(huì)被臨時(shí)隱藏。
卸載,是指將某文件系統(tǒng)與當(dāng)前根文件系統(tǒng)的關(guān)聯(lián)關(guān)系移除。
文章來源地址http://www.zghlxwxcb.cn/news/detail-620006.html
文章來源:http://www.zghlxwxcb.cn/news/detail-620006.html
到了這里,關(guān)于22 年 408 新大綱操作系統(tǒng)新增考點(diǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!