計(jì)算機(jī)四級(jí)網(wǎng)絡(luò)工程師-知識(shí)點(diǎn)【兩科目完整】


計(jì)算機(jī)等級(jí)考試四級(jí)網(wǎng)絡(luò)工程師

考試方式

備考建議

題庫(kù)

課程視頻(不太建議看,因?yàn)闀?huì)睡著)

不需要買書,如果你非要當(dāng)我沒(méi)說(shuō)

先看知識(shí)點(diǎn)邊做題

多選題不能錯(cuò)太多(重點(diǎn))

重復(fù)看記知識(shí)點(diǎn)并且刷題

這份資料是完整的覆蓋計(jì)算機(jī)四級(jí)兩個(gè)科目計(jì)算機(jī)操作系統(tǒng)原理和計(jì)算機(jī)網(wǎng)絡(luò),足以讓你考過(guò)計(jì)算機(jī)四級(jí)

題庫(kù),課程視頻,知識(shí)點(diǎn)資料,如果你找不到那來(lái)找我就好了【微信公眾號(hào):方大熊】

考試題型及分值

上機(jī)考試時(shí)長(zhǎng) 90 分鐘,滿分 100 分

1.操作系統(tǒng)原理—單選題(30 分)

2.操作系統(tǒng)原理—多選題(20 分)

3.計(jì)算機(jī)網(wǎng)絡(luò)—單選題(30 分)

4.計(jì)算機(jī)網(wǎng)絡(luò)—多選題(20 分)

獲證條件

兩門課程分別達(dá)到 30 分及以上,并已經(jīng)(或同時(shí))獲得三級(jí)網(wǎng)絡(luò)技術(shù)科目證書

2013 年 3月及以前獲得的三級(jí)各科目證書,不區(qū)分科目,可以作為四級(jí)任一科目的獲證條件

知識(shí)點(diǎn)目錄大綱(數(shù)字限制)

完整版公眾號(hào)【方大熊】

操作系統(tǒng)原理

1.操作系統(tǒng)概論

批處理系統(tǒng)

優(yōu)點(diǎn):

作業(yè)流程自動(dòng)化較高

資源利用率高

作業(yè)吞吐量大,提高整個(gè)系統(tǒng)效率

缺點(diǎn):

用戶不能直接與計(jì)算機(jī)交互

不合適調(diào)試程序

常見的操作系統(tǒng)體系結(jié)構(gòu):

整體結(jié)構(gòu)

層次結(jié)構(gòu)

微內(nèi)核(客戶機(jī)/服務(wù)器)結(jié)構(gòu)

微內(nèi)核(客戶/服務(wù)器)結(jié)構(gòu)的操作系統(tǒng)具有的優(yōu)點(diǎn):

高可靠性

高靈活性

合適分布式處理

分時(shí)操作系統(tǒng)具特點(diǎn): 多路性,交互性,獨(dú)占性,及時(shí)性

多路性:多個(gè)用戶同時(shí)使用一臺(tái)計(jì)算機(jī)

交互性:用戶根據(jù)系統(tǒng)響應(yīng)的結(jié)果提出下一個(gè)請(qǐng)求,方便調(diào)試程序

獨(dú)占性:每個(gè)用戶感覺(jué)不到計(jì)算機(jī)系統(tǒng)為其他人服務(wù),好像整個(gè)系統(tǒng)為他管理所獨(dú)占一樣

及時(shí)性:系統(tǒng)能夠?qū)τ脩籼岢龅恼?qǐng)求作出及時(shí)的響應(yīng)

實(shí)時(shí)操作系統(tǒng)特點(diǎn):

在嚴(yán)格的時(shí)間范圍內(nèi),

實(shí)時(shí)響應(yīng)用戶的請(qǐng)求

過(guò)載防護(hù)

高可靠性

批量操作系統(tǒng)特點(diǎn)

批量處理用戶作業(yè)

系統(tǒng)資源利用率高

作業(yè)吞吐量高

缺點(diǎn):

用戶不能直接與計(jì)算機(jī)交互

設(shè)備分配算法中有4張表:

系統(tǒng)設(shè)備表SDT

設(shè)備控制表DCT

控制器控制表COCT

通信控制表CHCT

2. 操作系統(tǒng)運(yùn)行機(jī)制

處理器一般包括兩類寄存器:

用戶可見寄存器

用戶可見寄存器通常所有程序都是可用的,由機(jī)器語(yǔ)言直接使用

它一般包括數(shù)據(jù)寄存器(又稱通用寄存器),地址寄存器以及條件碼寄存器

可見寄存器有

數(shù)據(jù)寄存器

地址寄存器

條形碼寄存器

控制和狀態(tài)寄存器

不可見的寄存器是,程序計(jì)數(shù)器寄存器由特權(quán)指令代碼使用

程序計(jì)數(shù)器

指令寄存器

程序狀態(tài)字

中斷

影響中斷協(xié)議順序的是:

中斷優(yōu)先級(jí)

I/O中斷分兩大類

I/O操作正常結(jié)束以及I/O異常

數(shù)據(jù)傳送完畢,設(shè)備出錯(cuò)和鍵盤輸入均產(chǎn)生I/O中斷 (指令出錯(cuò)屬于程序性中斷.)

中斷處理程序入口地址的儲(chǔ)存區(qū)叫做中斷向量表

外部I/O設(shè)備向處理器發(fā)出的中斷信號(hào)又叫

中斷請(qǐng)求

進(jìn)程運(yùn)行時(shí)狀態(tài)發(fā)生轉(zhuǎn)換的原因是發(fā)生中斷,不希望被外部事件打擾只有設(shè)置程序狀態(tài)寄存器(PSW)的IF的中斷標(biāo)志位,設(shè)置為0屏蔽中斷

故障性中斷

由掉電,存儲(chǔ)器效驗(yàn)等硬件引起

時(shí)鐘中斷

處理器內(nèi)部的計(jì)算器產(chǎn)生,允許操作系統(tǒng)以一定的規(guī)律執(zhí)行函數(shù),如時(shí)間片到時(shí),硬件時(shí)鐘到時(shí)

程序性中斷

指令執(zhí)行結(jié)果產(chǎn)生與當(dāng)前運(yùn)行的進(jìn)程有關(guān)系

中斷情況

中斷是由外部事件引發(fā)

異常是指令引發(fā)的

中斷的分類會(huì)引起什么原因中斷事件,中斷源引起中斷的那些事件中斷請(qǐng)求處理器請(qǐng)求發(fā)出信號(hào)中斷響應(yīng)處理器暫停當(dāng)前程序轉(zhuǎn)而處理中斷的過(guò)程中斷斷點(diǎn)暫停正在運(yùn)行的程序

中斷是指CPU對(duì)系統(tǒng)中或系統(tǒng)外發(fā)生的異步事件響應(yīng).

中斷是由外部事件引發(fā)的

異常是由正在執(zhí)行的指令引發(fā)的

被零整除屬于軟件引起的異常

特權(quán)指令

輸入指令

輸出指令

停機(jī)指令

置程序計(jì)數(shù)器

清指令寄存器

清溢出標(biāo)志

置位移方向標(biāo)志位屬于非特權(quán)指令 可以在內(nèi)核態(tài)下運(yùn)行又可以在用戶態(tài)下運(yùn)行

只有在監(jiān)控程序才能執(zhí)行特權(quán)指令,只能內(nèi)核態(tài)下運(yùn)行;用戶只能執(zhí)行一般指令,在用戶下運(yùn)行 只能在內(nèi)核下運(yùn)行

微信公眾號(hào)(方大熊)

操作系統(tǒng)需要處理器從內(nèi)核狀態(tài)轉(zhuǎn)為用戶態(tài)時(shí),修改程序狀態(tài)字即可

中斷是由外部事件引發(fā)的

異常是由正在執(zhí)行的指令引發(fā)的

系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員唯一接口

用戶在編程寫程序時(shí),在屏幕上畫一個(gè)紅色的圓,是需要使用系統(tǒng)調(diào)用

諾用戶數(shù)為100,為保證響應(yīng)時(shí)間<=100ms ,則時(shí)間設(shè)置為100ms/100=1ms比較合適

系統(tǒng)調(diào)用是不能實(shí)現(xiàn)調(diào)用程序多次嵌套和遞歸

open是多種語(yǔ)言的一種函數(shù), C語(yǔ)言中Open()函數(shù)作用: 打開和創(chuàng)建文件,是文件操作系統(tǒng)調(diào)用

一個(gè)程序從運(yùn)行狀態(tài)轉(zhuǎn)換為就緒狀態(tài)的可能事件是分配給該進(jìn)程的時(shí)間片用完

處理器的程序狀態(tài)字(PSW)通常包括標(biāo)志位

進(jìn)位標(biāo)志位(CF)

結(jié)果為零標(biāo)志位(ZF)

符號(hào)標(biāo)志位(SF)

溢出標(biāo)志位(OF)

有時(shí)候四種標(biāo)志位為標(biāo)準(zhǔn)條件:

陷阱標(biāo)志位(TF)

中斷使能(中斷屏蔽)標(biāo)志位(IF)

虛擬中斷標(biāo)志位(VIF)

虛擬中斷待決標(biāo)志位(VIP)

微內(nèi)核結(jié)構(gòu)的特點(diǎn):

提高系統(tǒng)的可擴(kuò)展性

增強(qiáng)了系統(tǒng)的可用性

可移植性

適用于對(duì)分布式處理的計(jì)算環(huán)境

融入了面向?qū)ο蠹夹g(shù)

系統(tǒng)調(diào)用:

進(jìn)程控制類系統(tǒng)調(diào)用

這類系統(tǒng)調(diào)用數(shù)量較多,如創(chuàng)建和終止進(jìn)程的系統(tǒng)調(diào)用,獲得和設(shè)置進(jìn)程屬性的系統(tǒng)調(diào)用等.

文件操作類系統(tǒng)調(diào)用:

對(duì)文件進(jìn)行操縱的系統(tǒng)調(diào)用數(shù)量較多,有創(chuàng)建文件,打開文件,關(guān)閉文件,讀文件,寫文件,創(chuàng)建一個(gè)目錄,建立目錄,移動(dòng)文件的讀/寫指針,改變文件的屬性等

進(jìn)程通信類系統(tǒng)調(diào)用

該類系統(tǒng)調(diào)用被用在進(jìn)程之間傳遞消息和信號(hào)

設(shè)備管理類系統(tǒng)調(diào)用

該類系統(tǒng)調(diào)用被用來(lái)請(qǐng)求和釋放獲得有關(guān)設(shè)備,以及啟動(dòng)設(shè)備間操作等

信息維護(hù)類系統(tǒng)調(diào)用

用戶利用這類系統(tǒng)調(diào)用來(lái)獲得當(dāng)前時(shí)間和日期

系統(tǒng)調(diào)用傳遞參數(shù)3種

陷入指令自帶

通用寄存器

專用堆棧

系統(tǒng)調(diào)用與一般程序調(diào)用的不同是:

調(diào)用程序運(yùn)行在用戶態(tài),而被調(diào)用程序則運(yùn)行在核心態(tài)

系統(tǒng)調(diào)用與一般過(guò)程調(diào)用是不同的,嵌套使用系統(tǒng)調(diào)用與一般過(guò)程調(diào)用都是允許的,過(guò)程調(diào)用和系統(tǒng)調(diào)用均可以嵌套使用

一般過(guò)程調(diào)用在被調(diào)用過(guò)程執(zhí)行完后,直接返回到調(diào)用程序:

具有優(yōu)先級(jí),諾調(diào)用進(jìn)程不具有高級(jí)優(yōu)先級(jí),則會(huì)引起重新調(diào)度以便讓優(yōu)先級(jí)最高的進(jìn)程優(yōu)先執(zhí)行 系統(tǒng)調(diào)用擴(kuò)充了機(jī)器指令,增強(qiáng)了系統(tǒng)管理,方便了用戶使用

多道程序

提高CPU利用率

提高I/O設(shè)備的利用率

縮短作業(yè)的周轉(zhuǎn)時(shí)間

提高計(jì)算機(jī)軟硬資源的利用率

程序并發(fā)性

指兩個(gè)OR兩個(gè)以上程序在計(jì)算機(jī)系統(tǒng)中同處于已開始執(zhí)行尚未結(jié)束的狀態(tài) 特性:

并發(fā)程序在執(zhí)行期間具有相互制約關(guān)系

程序與計(jì)算不在一一對(duì)應(yīng)

并發(fā)程序執(zhí)行結(jié)果不可再現(xiàn)

進(jìn)程的"動(dòng)態(tài)性'

指進(jìn)程對(duì)應(yīng)著程序的執(zhí)行過(guò)程

其一:進(jìn)程動(dòng)態(tài)產(chǎn)生,動(dòng)態(tài)消亡

其二:在進(jìn)程生命周期內(nèi),其狀態(tài)動(dòng)態(tài)變化

處理器管理又稱進(jìn)程管理 主要內(nèi)容進(jìn)程控制,進(jìn)程同步,進(jìn)程通信,調(diào)度

處理器管理

又稱進(jìn)程管理

主要內(nèi)容

進(jìn)程控制

進(jìn)程同步

進(jìn)程通信,調(diào)度

進(jìn)程控制塊(PCB)

調(diào)度信息

調(diào)度信息包括進(jìn)程名,進(jìn)程號(hào),儲(chǔ)存信息,優(yōu)先級(jí),當(dāng)前狀態(tài),資源清單,'家族'關(guān)系,消息隊(duì)列指針,進(jìn)程隊(duì)列指針和當(dāng)

開文件等

現(xiàn)場(chǎng)信息

只記錄哪些可能會(huì)被其他進(jìn)程改變的寄存器 如程序狀態(tài)字,時(shí)鐘,界地址寄存器等

操作系統(tǒng)

交互式操作系統(tǒng)

指用戶交互式地向系統(tǒng)提出命令請(qǐng)求,系統(tǒng)接受每個(gè)用戶的命令,采用時(shí)間片輪轉(zhuǎn)方式處理服務(wù)請(qǐng)求,并通過(guò)交互式在終端上向上用戶顯示結(jié)果

多級(jí)反饋隊(duì)列,時(shí)間片輪轉(zhuǎn)和高優(yōu)先級(jí) 適用于交互式操作系統(tǒng)

系統(tǒng)分三類環(huán)境

批量環(huán)境

交互式環(huán)境

實(shí)時(shí)環(huán)境

調(diào)度算法

批量處理系統(tǒng)

先來(lái)服務(wù),最短作業(yè)優(yōu)先,最短剩余時(shí)間優(yōu)先響應(yīng)比高者優(yōu)先

分時(shí)系統(tǒng)

時(shí)間片輪轉(zhuǎn),多級(jí)反饋隊(duì)列算法

交互式系統(tǒng)

響應(yīng)時(shí)間越快越好,另一個(gè)是較均衡的性能

3.進(jìn)程線程模型

多道程序設(shè)計(jì)

微觀

部分程序使用CPU部分程序使用外部設(shè)備

宏觀

CPU與外部設(shè)備始終可以并行工作,這樣使CPU運(yùn)行效率達(dá)到最大化,不空閑(多個(gè)進(jìn)程同時(shí)運(yùn)行)

線程

基本上不擁有系統(tǒng)資源

只擁有一點(diǎn)在運(yùn)行中必不可少的資源 如程序計(jì)數(shù)器,組寄存器和和棧

進(jìn)程和程序既有聯(lián)系又有區(qū)別

程序是結(jié)構(gòu)的組成部分之一

從靜態(tài)角度看

進(jìn)程由程序

數(shù)據(jù)

進(jìn)程塊(PCB)

3部分組成

程序是靜態(tài)的,而進(jìn)程是動(dòng)態(tài)的

多道程序設(shè)計(jì)環(huán)境特點(diǎn)

獨(dú)立性

隨機(jī)性

資源共享性

可再入程序是有可重入代碼組成的程序

純代碼,執(zhí)行過(guò)程中不可修改

調(diào)用它的進(jìn)程應(yīng)該提供屬于它自己的數(shù)據(jù)區(qū)

進(jìn)程控制塊(PCB)3種組織

線性方法

索引方法

鏈接方法

進(jìn)程控制塊:

現(xiàn)場(chǎng)信息

程序狀態(tài)字

時(shí)鐘

界地址寄存器

調(diào)度信息

進(jìn)程名

進(jìn)程號(hào)

存儲(chǔ)信息

優(yōu)先級(jí)

當(dāng)前狀態(tài)

資源清單

'家族'關(guān)系,消息隊(duì)列指針

進(jìn)程的'并發(fā)性'

微觀是:

不同的進(jìn)程交替占用資源向前推進(jìn)

宏觀是:

不同的進(jìn)程一起向前推進(jìn)

方大熊(微信公眾號(hào))

函數(shù)fork()屬于系統(tǒng)調(diào)用的進(jìn)程控制類

進(jìn)程控制塊是用來(lái)內(nèi)存唯一標(biāo)識(shí)和管理進(jìn)程活動(dòng)的控制結(jié)構(gòu)

進(jìn)程從等待狀態(tài)轉(zhuǎn)換就緒狀態(tài)時(shí)稱喚醒

單核處理機(jī)的計(jì)算機(jī)系統(tǒng)中,處于運(yùn)行狀態(tài)的進(jìn)程只能有一個(gè).(最多1個(gè),最少0個(gè))

單核處理器堵塞狀態(tài)會(huì)發(fā)生死鎖,進(jìn)程全部堵塞

處理器是幾核的,處于運(yùn)行狀態(tài)最多就幾個(gè)

運(yùn)行狀態(tài)最少是0

運(yùn)行狀態(tài)最多是核數(shù)

就緒狀態(tài)最多進(jìn)程減一

就緒狀態(tài)最少是0

fork()調(diào)用一次,返回兩次

文件數(shù)據(jù)結(jié)構(gòu)的指針存放在:進(jìn)程控制快中

管程無(wú)法保證本身互斥

程序是有指令代碼,數(shù)據(jù)組成

線程是進(jìn)程中的一個(gè)實(shí)體

撤銷進(jìn)程的實(shí)質(zhì)是撤銷進(jìn)程PCB ,過(guò)程是:找到要被撤銷進(jìn)程的PCB,將它所在的隊(duì)列中除去,撤銷屬 于該進(jìn)程的一切"子孫進(jìn)程"釋放被撤銷進(jìn)程所占用的全部資源,并消去被撤進(jìn)程的PCB

進(jìn)程控制塊(簡(jiǎn)稱PCB)是用來(lái)唯一標(biāo)識(shí)每一個(gè)進(jìn)程的,所以每個(gè)進(jìn)程都有一個(gè)與之相對(duì)的PCB

PCB是記錄每個(gè)進(jìn)程活動(dòng)狀態(tài)等信息的數(shù)據(jù)結(jié)構(gòu),必須常駐內(nèi)存

一個(gè)進(jìn)程的狀態(tài)變化不一定會(huì)引起另一個(gè)進(jìn)程的狀態(tài)變化

信號(hào)量的處值一定大于等于零,這是因?yàn)樾盘?hào)量表示資源的剩余數(shù),資源數(shù)目不會(huì)是負(fù)數(shù)

進(jìn)程是資源分配的基本單位,線程是處理機(jī)調(diào)度的基本單位

進(jìn)程被掛起后,它的狀態(tài)可以為阻塞掛起狀態(tài),或?yàn)榫途w掛起狀態(tài)

操作系統(tǒng)中引入P,V操作主要為了實(shí)現(xiàn)進(jìn)程的互斥與同步

進(jìn)程具有

并發(fā)性

動(dòng)態(tài)性

獨(dú)立性

指一個(gè)進(jìn)程是一個(gè)相對(duì)完整的只有分配單位

交往性

異步性

指每個(gè)進(jìn)程按照各種獨(dú)立的,不可預(yù)知的速度向前推進(jìn)

Linux進(jìn)程有5種狀態(tài)

運(yùn)行狀態(tài)

中斷狀態(tài)

不可中斷狀態(tài)

僵尸狀態(tài)

停止?fàn)顟B(tài)

進(jìn)程堵塞

請(qǐng)求系統(tǒng)服務(wù)

啟動(dòng)某種操作

新數(shù)據(jù)尚未到達(dá)與無(wú)新工作可做

進(jìn)程的3種狀態(tài)模型

運(yùn)行狀態(tài)(Running)

就緒狀態(tài)(Ready)

阻塞狀態(tài)(等待狀態(tài),Blocked)

有可能狀態(tài)轉(zhuǎn)換是: 就緒態(tài) -> 運(yùn)行態(tài) 運(yùn)行態(tài) -> 阻塞態(tài) 阻塞態(tài) -> 就緒態(tài)

當(dāng)設(shè)備忙,進(jìn)程會(huì)進(jìn)入等待狀態(tài),等待該資源釋放后才可以去使用

操作系統(tǒng)創(chuàng)建一個(gè)新進(jìn)程的過(guò)程 ①申請(qǐng)空白PCB ②為新進(jìn)程分配資源 ③初始化進(jìn)程控制塊 ④將新進(jìn)程插入就緒隊(duì)列

進(jìn)程從堵塞轉(zhuǎn)換為掛起狀態(tài):語(yǔ)句是suspend()

目前常用進(jìn)程控制塊的組織方式

線性表方式

素引表方式

鏈接表方式

進(jìn)程程序控制的原語(yǔ)一般有

創(chuàng)建進(jìn)程

撤銷進(jìn)程

掛起進(jìn)程

激活進(jìn)程

堵塞進(jìn)程

喚醒進(jìn)程

改變進(jìn)程優(yōu)先級(jí)

改變進(jìn)程程序狀態(tài)是控制原語(yǔ)實(shí)現(xiàn)

Pthread_join的含義是等待一個(gè)特定的線程退出

Pthread_yield表示線程讓出CPU

Pthread_create表示創(chuàng)建新線程的函數(shù)

Pthread_exit表示結(jié)束一個(gè)線程

Pthread_mutex_init()表示創(chuàng)建一個(gè)互斥量

進(jìn)程從堵塞轉(zhuǎn)換為掛起狀態(tài):語(yǔ)句是suspend()

引起進(jìn)程調(diào)度的原因: ①正在執(zhí)行的進(jìn)程執(zhí)行完畢 ②正在執(zhí)行的進(jìn)程調(diào)用堵塞語(yǔ)將自己堵塞起來(lái)進(jìn)入等待狀態(tài) ③正在執(zhí)行的進(jìn)程調(diào)用了堵塞原語(yǔ)操作 ④時(shí)間片已經(jīng)用完 ⑤就緒隊(duì)列中的某個(gè)進(jìn)程的優(yōu)先級(jí)高于當(dāng)前運(yùn)行進(jìn)程的優(yōu)先級(jí)

在搶占式調(diào)度系統(tǒng)中,進(jìn)程從運(yùn)行狀態(tài)轉(zhuǎn)換為就緒狀態(tài)的可能原因有

進(jìn)程創(chuàng)建完成

時(shí)間片用完

和被調(diào)度程序占處理機(jī)

采用非搶占式調(diào)度的操作系統(tǒng)中.執(zhí)行調(diào)度有以下幾種情況:

正在執(zhí)行的進(jìn)程執(zhí)行且完畢

正在執(zhí)行的進(jìn)程調(diào)用堵塞原語(yǔ)將自己堵塞起賴記錄等待狀態(tài)

正在執(zhí)行的進(jìn)程調(diào)用了堵塞原語(yǔ)操作,并且因?yàn)橘Y源不足而被堵塞;

調(diào)用了喚醒原語(yǔ)操作激活了等待資源的進(jìn)程,時(shí)間片用完

非搶占式調(diào)度策略的系統(tǒng)中,引起進(jìn)程調(diào)度的因素有:

正在執(zhí)行的進(jìn)程執(zhí)行完畢或因發(fā)生某事件而不能繼續(xù)執(zhí)行

執(zhí)行中的進(jìn)程因提出I/O請(qǐng)求而暫停執(zhí)行

在進(jìn)程通信或同步過(guò)程中執(zhí)行了某種原語(yǔ)操作P操作,阻塞,掛起原語(yǔ)

此外,在可剝奪調(diào)度中,有比當(dāng)前進(jìn)程優(yōu)先權(quán)更高的進(jìn)程記錄就緒隊(duì)列

在時(shí)間片輪轉(zhuǎn)中,時(shí)間片用完

操作系統(tǒng)中進(jìn)程調(diào)度策略

FCFS(先來(lái)先服務(wù))最短作業(yè)優(yōu)先

最短剩余時(shí)間優(yōu)先

時(shí)間片輪轉(zhuǎn)

多級(jí)反饋隊(duì)列算法

最短進(jìn)程優(yōu)先

引起創(chuàng)建進(jìn)程事件: ①用戶登錄 ②系統(tǒng)初始化 ③用戶系統(tǒng)調(diào)用 ④初始化批量處理作業(yè)

引入線程的主要目的 A. 提高并發(fā)度 B. 減少通信開銷 C. 線程之間的切換時(shí)間短 D. 每個(gè)線程可以擁有獨(dú)立的棧

進(jìn)程(線程)調(diào)度的主要功能有:

根據(jù)一定的調(diào)度算法選擇被調(diào)度的進(jìn)程(線程)

將CPU分配給選中的進(jìn)程(線程)

將換下的進(jìn)程(線程)的現(xiàn)場(chǎng)信息保存到進(jìn)程進(jìn)程控制塊中

將選中的進(jìn)程(線程)的現(xiàn)場(chǎng)信息送入到相應(yīng)寄存器中

進(jìn)程線程調(diào)度的時(shí)機(jī)有:

運(yùn)行完畢

自我阻塞

時(shí)間片用完

所需資源沒(méi)有準(zhǔn)備好

出現(xiàn)錯(cuò)誤

運(yùn)行大量批處理作業(yè)的大型計(jì)算機(jī)中心

設(shè)計(jì)目的3個(gè)指標(biāo):

吞吐量

周轉(zhuǎn)時(shí)間

CPU利用率

線程描述記錄的信息有

線程ID

指令地址寄存器

處理器寄存器

硬件設(shè)備寄存器

?,F(xiàn)場(chǎng)狀態(tài)等少量線

程私有信息

線程實(shí)現(xiàn)方式3種

用戶級(jí)線程

內(nèi)核級(jí)線程

混合實(shí)現(xiàn)方式

程序并發(fā)執(zhí)行與程序順序執(zhí)行相比較特征

并發(fā)性在執(zhí)行期間具有互相制約關(guān)系

程序與計(jì)算不再一一對(duì)應(yīng)

并發(fā)程序執(zhí)行結(jié)果不可再現(xiàn)

實(shí)時(shí)系統(tǒng)調(diào)度算法設(shè)計(jì)目的

滿足截止時(shí)間要求

滿足可靠性要求

不同的進(jìn)程由設(shè)計(jì)目標(biāo)不同而具備不同的進(jìn)程

兩大類

計(jì)算密集型進(jìn)程

I/O密集型進(jìn)程


4.并發(fā)與同步

進(jìn)程同步

指多個(gè)進(jìn)程中發(fā)生的事件存在某種時(shí)序關(guān)系

必須協(xié)同動(dòng)作

互相配合

以共同完成一個(gè)任務(wù)

異步環(huán)境

一組并發(fā)進(jìn)程因直接制約而互相發(fā)送消息

進(jìn)行互相合作,互相等待使得各進(jìn)程一點(diǎn)的速度執(zhí)行的過(guò)程稱為進(jìn)程間的同步

方大熊 P , V 操作可以實(shí)現(xiàn)進(jìn)程同步,進(jìn)程互斥,進(jìn)程的前趨關(guān)系 P ,V操作對(duì)共享資源的使用進(jìn)行保護(hù)時(shí),對(duì)該共享資源讀寫的代碼段稱:臨時(shí)界 同步機(jī)制應(yīng)該遵循的準(zhǔn)則有如下4條:空閑則則入,忙則等待,有限等待,讓權(quán)等待 臨界資源是指每次僅允許一個(gè)進(jìn)程訪問(wèn)的資源 p v 操作由p操作原語(yǔ)和V操作原語(yǔ)組成(原語(yǔ)是不可中斷的過(guò)程)對(duì)信號(hào)量進(jìn)行操作 操作系統(tǒng)一般只提供要共享的內(nèi)存空間 程序開發(fā)人員的責(zé)任是互斥共享

設(shè)置緩沖區(qū)

緩解處理機(jī)

設(shè)備之間速度的矛盾

減少對(duì)CPU的I/O中斷次數(shù)

提高資源利用率和系統(tǒng)效率

交互關(guān)系的競(jìng)爭(zhēng)

兩個(gè)相互不感知(完全不了解其進(jìn)程是否存在)

相互感知程序

相互不感知(完全了解其他進(jìn)程的存在)

間接感知(雙方都與第三方交互,如共享資源)

直接感知(雙方直接交互,如通信)

交互關(guān)系

競(jìng)爭(zhēng)關(guān)系

通過(guò)共享進(jìn)行協(xié)作

通過(guò)通信進(jìn)行協(xié)作

一個(gè)進(jìn)程對(duì)其他進(jìn)程的影響

一個(gè)進(jìn)程的操作對(duì)其他進(jìn)程的結(jié)果無(wú)影響

一個(gè)進(jìn)程的結(jié)果依賴于從其他進(jìn)程獲取的信息

一個(gè)進(jìn)程的結(jié)果依賴從其他進(jìn)程獲取的信息

潛在的控制問(wèn)題

互斥,死鎖,(可釋放資源,饑餓)

互斥,死鎖(可釋放資源),饑餓

死鎖,饑餓

進(jìn)程通信時(shí)

已滿的郵件槽,發(fā)送進(jìn)程不能再申請(qǐng)互斥鎖

共享內(nèi)存

最合適傳送大量的信息

保證計(jì)算機(jī)中臨界資源的正確使用

進(jìn)程在對(duì)臨界資源訪問(wèn)前,必須調(diào)用進(jìn)入?yún)^(qū)代碼

臨界區(qū)

指進(jìn)程中訪問(wèn)臨界資源的一段代碼

管程

由一個(gè)過(guò)程,變量,及數(shù)據(jù)結(jié)構(gòu)等組成的集合

組成一個(gè)特殊的模塊或軟件包

進(jìn)程可在任何需要的時(shí)候調(diào)用管程中的過(guò)程

不能在管程之外聲明的過(guò)程中直接訪問(wèn)管程內(nèi)的數(shù)據(jù)結(jié)構(gòu)

管程4個(gè)部門組成

管程名稱

共享數(shù)據(jù)的說(shuō)明

對(duì)數(shù)據(jù)進(jìn)行操作的一組過(guò)程

對(duì)共享數(shù)據(jù)賦初值的語(yǔ)句

不可搶占

最高優(yōu)先級(jí)優(yōu)先

生產(chǎn)者往緩沖區(qū)放產(chǎn)品

之前要使用P操作確保緩沖區(qū)有空槽

即信號(hào)量表示的資源還有空閑

共享內(nèi)存

Unix下的多進(jìn)程之間的通信方法

通常用于一個(gè)程序的多進(jìn)程間通信

實(shí)際上多個(gè)程序間也可以通過(guò)共享內(nèi)存

不需要多份內(nèi)容的拷貝來(lái)傳遞信息,

特點(diǎn)是可以高效的共享大量信息

直接通信方式中

系統(tǒng)提供的發(fā)送原語(yǔ):send(receiver,message)

消息機(jī)制

實(shí)現(xiàn)進(jìn)程之間信息交換的通信方式

共享內(nèi)存

實(shí)現(xiàn)兩組進(jìn)程間信息交換的方式

要解決兩個(gè)問(wèn)題

一是怎么樣提供共享內(nèi)存:

二是公共內(nèi)存中的讀寫互斥問(wèn)題

說(shuō)明

在相互通信的進(jìn)程之間設(shè)一個(gè)公共區(qū)域

一組進(jìn)程向該公共區(qū)域

另一個(gè)進(jìn)程從公共區(qū)域讀

通過(guò)這種方式實(shí)現(xiàn)兩組進(jìn)程間的信息交換

管道通信

實(shí)現(xiàn)進(jìn)程間的數(shù)據(jù)通信的方式

優(yōu)點(diǎn)

傳送數(shù)據(jù)量大

缺點(diǎn)

通信速度較慢

管程的互斥

由管程本身性能實(shí)現(xiàn)的

管程中一次只能有一次進(jìn)程可以在管程內(nèi)活動(dòng)

信息通信方式可以完成進(jìn)程通信

優(yōu)點(diǎn)

不必直接建立聯(lián)系

沒(méi)有處理時(shí)間上的限制

發(fā)送者可以在任何時(shí)間發(fā)信

接受者可以在任何時(shí)間收信

"消息緩存"通信方式

在內(nèi)存中開辟諾干區(qū)域

發(fā)送進(jìn)程申請(qǐng)一個(gè)區(qū)域

并將信息送入

插入到進(jìn)程的相應(yīng)隊(duì)列中,之后通知接收進(jìn)程

"信箱"通信方式

首先創(chuàng)建一個(gè)鏈接兩個(gè)進(jìn)程的通信機(jī)制

把信息送入該機(jī)制

發(fā)送進(jìn)程和接受進(jìn)程不直接建立關(guān)系

接受進(jìn)程可以任何時(shí)刻從該機(jī)制中取走信息

"管道"通信方式

發(fā)送進(jìn)程創(chuàng)建好鏈接兩個(gè)進(jìn)程的一個(gè)打開的共享文件

寫入數(shù)據(jù)流

接收進(jìn)程需要時(shí)可以從該共享文件讀出數(shù)據(jù)

寫入和讀出數(shù)據(jù)的長(zhǎng)度是可變的

進(jìn)程運(yùn)行時(shí)所產(chǎn)生的地址超出其地址空間

則發(fā)生了地址越界

靜態(tài)重定位

把程序中的指令地址和數(shù)據(jù)地址全部轉(zhuǎn)換成絕對(duì)地址

使得地址轉(zhuǎn)換工作在程序開始執(zhí)行前完成

在程序執(zhí)行過(guò)程中無(wú)需再進(jìn)行地址轉(zhuǎn)換工作

P , V操作不足:

程序不易讀

程序不利于修改和維修

正確性難以保證

消息緩沖通信機(jī)制

消息緩沖區(qū)

消息隊(duì)列首地址

同步互斥信號(hào)量

同步互斥信號(hào)量

TS指令(Test&Set)實(shí)現(xiàn)互斥的算法

測(cè)試鎖變量的值

如為1

重復(fù)執(zhí)行本命令,不斷重復(fù)測(cè)試變量的值

如為0

則立即將鎖變量值置為1,進(jìn)入臨界區(qū)

測(cè)試并設(shè)置指令是一條完整的指令

而在一條指令的執(zhí)行中間是不會(huì)被中斷的

保證了鎖的測(cè)試和關(guān)閉的連續(xù)性退出臨界區(qū)時(shí),將鎖變量測(cè)試值設(shè)為0

管程管理的對(duì)象

共享的數(shù)據(jù)結(jié)構(gòu)和一組操作過(guò)程

并發(fā)進(jìn)程間存在的關(guān)系有:

直接感知:互相間直接交互, 如通信

間接感知:雙方都與第三方交互 如共享資源

互相不感知:互相間不了解其他進(jìn)程的存在

并發(fā)進(jìn)程由于存在著互相制約關(guān)系會(huì)產(chǎn)生諾干問(wèn)題:

同步問(wèn)題

互斥問(wèn)題

死鎖問(wèn)題

饑餓問(wèn)題

操作系統(tǒng)中采用的進(jìn)程同步機(jī)制應(yīng)遵循以下幾條準(zhǔn)則:

空閑則入

忙則等待

有限等待

讓權(quán)等待

解決進(jìn)程互斥通常有兩種再發(fā):

一是由競(jìng)爭(zhēng)各方平等協(xié)商

二是引入進(jìn)程管理者

使用硬件方法實(shí)現(xiàn)進(jìn)程互斥優(yōu)點(diǎn)

優(yōu)點(diǎn)

使用范圍廣

支持多個(gè)臨界區(qū)

簡(jiǎn)單

缺點(diǎn):

不能實(shí)現(xiàn)"讓權(quán)等待"

導(dǎo)致"饑餓"

Peterson算法

是一個(gè)實(shí)現(xiàn)互斥鎖的并發(fā)程序設(shè)計(jì)算法

Test-and-Set

簡(jiǎn)稱TS

用于實(shí)現(xiàn)互斥訪問(wèn)臨界資源

Swap或Exchange指令

是寄存器和儲(chǔ)存內(nèi)容交換的指令

可用于信號(hào)量操作

實(shí)現(xiàn)系統(tǒng)任務(wù)之間的同步或互斥

信號(hào)量機(jī)制是實(shí)現(xiàn)進(jìn)程互斥的重要方法

分派器(Dispater)

是實(shí)時(shí)系統(tǒng)調(diào)度策略之一

不是進(jìn)程互斥方法

信箱通信機(jī)制中接收原語(yǔ)Receive()操作功能是

從指定信箱中取出一封信,存放到指定的內(nèi)存地址中


公眾號(hào)【方大熊】思維導(dǎo)圖查缺補(bǔ)漏



完整版本覆蓋計(jì)算機(jī)四級(jí)網(wǎng)絡(luò)工程師等級(jí)考試兩科的知識(shí)點(diǎn)

最后兩節(jié)銀行家算法包括多選題??贾R(shí)點(diǎn)(重點(diǎn)必看)

字?jǐn)?shù)限制還剩下好多,完整版本PDF,微信公眾號(hào)【方大熊】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容