freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]計(jì)算機(jī)操作系統(tǒng)課件-wenkub.com

2025-02-19 00:47 本頁面
   

【正文】 //通知 consume the item in nextc。//通知消費(fèi)者 } 與前不同 134 process Consumer: { wait(full)。 wait(empty)。 empty=n。 //通知 consume the item in nextc。 signal(full)。full=0。 129 用信號(hào)量機(jī)制解決 PC問題的基本方法: 1. 為生產(chǎn)者設(shè)置 1個(gè)私有信號(hào)量 empty, 其初值為 1,表示有 1個(gè)空緩沖區(qū);為消費(fèi)者設(shè)置 1個(gè)私有信號(hào)量 full, 其初值為 0, 表示開始時(shí)沒有滿緩沖區(qū);( 信號(hào)量初值由物理意義確定 ) 2. 生產(chǎn)者將產(chǎn)品存入緩沖區(qū)之前 , 應(yīng)先 測(cè)試 緩沖區(qū)是否空:執(zhí)行 wait(empty)操作;離開臨界區(qū) (存入產(chǎn)品 )后 , 應(yīng) 通知 (可能會(huì)喚醒 )消費(fèi)者:執(zhí)行signal(full)操作; 3. 消費(fèi)者從緩沖區(qū)取產(chǎn)品之前 , 應(yīng)先 測(cè)試 緩沖區(qū)是否滿:執(zhí)行 wait(full)操作;離開臨界區(qū) (取走產(chǎn)品 )后 , 應(yīng) 通知 ( 可 能 會(huì) 喚 醒 ) 生 產(chǎn) 者 : 執(zhí) 行signal(empty)操作 130 信號(hào)量機(jī)制解決進(jìn)程同步問題的一般方法: 1. 為同步雙方設(shè)置各自的信號(hào)量 , 初值為其初始狀態(tài)可用的資源數(shù) (故該信號(hào)量稱為 資源信號(hào)量 或私有信號(hào)量 ); 2. 同步雙方任一進(jìn)程在進(jìn)入臨界區(qū)之前 , 應(yīng)先對(duì)自己的信號(hào)量執(zhí)行 wait(己方信號(hào)量 )操作 , 以 測(cè)試 是否有自己可用的資源 。 127 生產(chǎn)者 消費(fèi)者問題 前面已經(jīng)對(duì)生產(chǎn)者 消費(fèi)者問題做了一些描述 , 但是未考慮進(jìn)程的互斥和同步問題 , 因而造成了共享變量 counter的不確定性 。 wait(S46)。 } process P5: { wait(S25)。 signal(S36)。 signal(S24)。 signal(S12)。 ==0。 count = 0; signal( S) 。 count = count + 1。 觀察者進(jìn)程能識(shí)別卡車 , 并對(duì)通過的卡車計(jì)數(shù);報(bào)告者進(jìn)程定時(shí) ( 可設(shè)為每隔 1小時(shí) ,準(zhǔn)點(diǎn)時(shí) ) 將觀察者的計(jì)數(shù)值打印輸出 , 每次打印后把計(jì)數(shù)值清 “ 0”。 } Ssignal(S1,d1,S2,d2,...,Sn,dn) { for i=1 to n do Si=Si+di。 ... amp。 } Ssignal(S1,S2,...,Sn) { for i=1 to n do Si=Si+1。 ... amp。若 M表示該資源的可用個(gè)數(shù) , N表示等待該資源的進(jìn)程數(shù) , 則 M、 N分別是 _______。 //加 1操作 load R1, x //取 x到寄存器 R1中 inc R1 store x, R1 //將 R1的內(nèi)容存入 x //減 1操作 load R2, x dec R2 store x, R2 兩個(gè)操作完成后, x的值 。 ? 1, 表示只允許一個(gè)進(jìn)程訪問 , 此時(shí)信號(hào)量轉(zhuǎn)化為互斥信號(hào)量 。 116 wait和 signal操作的物理意義: 對(duì)信號(hào)量 S的每次 wait操作 , 意味著進(jìn)程請(qǐng)求一個(gè)該類臨界資源 , 因此描述為 =;當(dāng)0時(shí) , 表示該類資源已分配完 , 因此進(jìn)程應(yīng)調(diào)用 block原語進(jìn)行自我阻塞 , 放棄處理機(jī) , 并插入到信號(hào)量鏈表 (阻塞隊(duì)列 )中 。 if ( 0 ) block ( ) 。 故信號(hào)量應(yīng)采用記錄型 ( C語言中為結(jié)構(gòu)型 ) 的結(jié)構(gòu): struct semaphore { int value ; struct semphore *L ; }; 記錄型信號(hào)量的結(jié)構(gòu)定義 信號(hào)量除初始化外 , 只能通過兩個(gè)原子操作 (稱為 原語 )wait(S)和 signal(S)來訪問 。略。 ? 忙則等待 當(dāng)已有進(jìn)程進(jìn)入臨界區(qū)時(shí),表明臨界資源正在被訪問,因而其他試圖進(jìn)入臨界區(qū)的進(jìn)程必須等待,以保證對(duì)臨界資源的 互斥訪問 。 ——不死等 。 111 4.同步機(jī)制應(yīng)遵循的原則 為了實(shí)現(xiàn)各進(jìn)程互斥地進(jìn)入自己的臨界區(qū),一般是在系統(tǒng)中設(shè)置專門的同步機(jī)制來協(xié)調(diào)各進(jìn)程間的運(yùn)行。 定義: 進(jìn)程互斥的定義: 進(jìn)程互斥 ——不允許兩個(gè)或兩個(gè)以上進(jìn)程同時(shí)訪問同一個(gè)臨界資源。 109 進(jìn)程同步的基本概念 3.臨界區(qū)( critical section) 每個(gè)進(jìn)程中訪問臨界資源的那段代碼稱為臨界區(qū)。 (消費(fèi)者保存 counter的新值 4) counter = register1。 (生產(chǎn)者取得 counter的當(dāng)前值為 5) register1 = register1 + 1。 105 process producer: while ( condition) { … produce an item in nextp; … while(counter==n) noop; //noop表示空操作 buffer[in] = nextp; in = (in + 1)% n ; counter = counter + 1 ; } 生產(chǎn)者進(jìn)程算法如下: 106 process consumer: struct item nextc ; while ( condition) { while ( counter == 0) noop ; nextc = buffer[out] ; out = ( out + 1) % n ; counter = counter –1 ; consume the item in nextc ; } 消費(fèi)者進(jìn)程算法如下: 107 上面的生產(chǎn)者程序和消費(fèi)者程序 , 在順序執(zhí)行時(shí)其結(jié)果是正確的 。如, …… 進(jìn)程同步 2. 臨界資源 在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問的資源,即僅當(dāng)一個(gè)進(jìn)程訪問完并釋放該資源后,才允許另一個(gè)進(jìn)程訪問的資源,稱為臨界資源或獨(dú)占資源。 ? 進(jìn)程同步的主要任務(wù) , 是使并發(fā)執(zhí)行的進(jìn)程之間能有效地共享資源和相互合作 , 從而使程序的執(zhí)行具有可再現(xiàn)性 。 進(jìn)程的掛起和激活 101 2.進(jìn)程的激活 當(dāng)發(fā)生激活進(jìn)程的事件時(shí) (如父進(jìn)程或用戶請(qǐng)求激活指定進(jìn)程 ,而內(nèi)存中已有足夠空間時(shí) ), 系統(tǒng)利用激活原語 active( )將指定進(jìn)程激活 。 block()和 wakeup()是成對(duì)的。 如 , …… 98 2.進(jìn)程阻塞過程 調(diào)用阻塞原語 block把自己阻塞。 97 進(jìn)程的阻塞和喚醒 1.引起進(jìn)程阻塞和喚醒的事件 ▲ 請(qǐng)求系統(tǒng)服務(wù) ▲ 無新工作可做 當(dāng)執(zhí)行進(jìn)程請(qǐng)求 OS服務(wù)時(shí) , 由于某種原因 , OS并不立即滿足該進(jìn)程的請(qǐng)求時(shí) , 該進(jìn)程只能轉(zhuǎn)變?yōu)樽枞麪顟B(tài)來等待 。 (2)若被終止進(jìn)程正處于執(zhí)行狀態(tài) , 應(yīng)立即終止其執(zhí)行 , 并置調(diào)度標(biāo)志為真 , 用于指示該進(jìn)程被終止后應(yīng)重新進(jìn)行調(diào)度 。 ( 3)初始化 PCB。 上述三種情況,都是由系統(tǒng)內(nèi)核為它創(chuàng)建一個(gè)新進(jìn)程。 92 進(jìn)程控制 ?進(jìn)程控制是進(jìn)程管理中最基本的功能。 90 3.進(jìn)程控制塊的組織方式 常用的組織方式有兩種: 鏈接方式 和 索引方式 。 ★ 進(jìn)程優(yōu)先級(jí) ——由于描述進(jìn)程使用處理機(jī)的優(yōu)先級(jí)別的一個(gè)整數(shù),優(yōu)先級(jí)高的進(jìn)程優(yōu)先獲得處理機(jī)。寄存器包括:通用寄存器、指令計(jì)數(shù)器、程序狀態(tài)字( PSW)寄存器、用戶棧指針。 或者說 , OS是根據(jù) PCB來對(duì)并發(fā)進(jìn)程進(jìn)行控制和管理的 。 操作系統(tǒng)有時(shí)希望掛起某些進(jìn)程 ,以便檢查運(yùn)行中的資源使用情況或進(jìn)行記賬 。 3)阻塞( Blocked)狀態(tài) : 正在執(zhí)行的進(jìn)程由于發(fā)生某事件而暫時(shí)無法繼續(xù)執(zhí)行時(shí),便放棄處理機(jī)而處于暫停狀態(tài),亦即進(jìn)程的執(zhí)行受到阻塞,把這種暫停狀態(tài)稱為阻塞狀態(tài)(或等待狀態(tài)) 。 5)異步性 : 是指進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn),或說進(jìn)程實(shí)體按異步方式運(yùn)行。 80 進(jìn)程的特征與狀態(tài) 1.進(jìn)程的定義和特征 進(jìn)程是程序在一個(gè)數(shù)據(jù)集上的運(yùn)行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。 (2) N=N+1在 print(N)和 N=0之后 , 此時(shí)得到的 N值分別為 10,0,1。 2)失去封閉性: 程序在并發(fā)執(zhí)行時(shí),由于多個(gè)程序共享系統(tǒng)資源,因而這些資源的狀態(tài)將由多個(gè)程序來改變,致使程序的運(yùn)行已失去了封閉性。 77 程序的并發(fā)執(zhí)行 包括兩層含義: ? 對(duì)于一個(gè)程序來說,它的所有指令是按序執(zhí)行的。 ( 2)封閉性: 程序是在封閉的環(huán)境下執(zhí)行的。 A.每個(gè)應(yīng)用進(jìn)程分配的時(shí)間片長度 B.進(jìn)程大小 C.就緒進(jìn)程數(shù)目 D.就緒進(jìn)程數(shù)目和時(shí)間片長度 16.在操作系統(tǒng)中, 部分屬于微內(nèi)核。 A.實(shí)時(shí)性和可靠性 B.實(shí)時(shí)性和靈活性 C.靈活性和可靠性 D.靈活性和可移植性 12. UNIX操作系統(tǒng)是一種多用戶的、人機(jī)交互的 。 A.批處理系統(tǒng) B. 分時(shí)系統(tǒng) C. 實(shí)時(shí)系統(tǒng) D. 網(wǎng)絡(luò)操作系統(tǒng) A C C 70 8.對(duì)出現(xiàn)的中斷事件是由 進(jìn)行處理的。 A.計(jì)算機(jī)系統(tǒng)的交互性 B.計(jì)算機(jī)系統(tǒng)的實(shí)時(shí)性 C.計(jì)算機(jī)系統(tǒng)的可靠性 D.提高軟件的運(yùn)行速度 4.以下描述與操作系統(tǒng)無關(guān)的是 。 解決的辦法: 重新將一些常用的操作系統(tǒng)基本功能 , 有服務(wù)器移入微內(nèi)核中 。此時(shí),微內(nèi)核的主要功能,是捕獲所發(fā)生的中斷和陷入事件,并進(jìn)行相應(yīng)的 前期處理 。 4)采用面向?qū)ο蠹夹g(shù) 63 2. 微內(nèi)核的基本功能 1)進(jìn)程(線程)管理 進(jìn)程隊(duì)列屬于調(diào)度功能的機(jī)制部分,放在微內(nèi)核中;確定、修改優(yōu)先級(jí),屬于策略問題,放在進(jìn)程管理服務(wù)器中。 ? 策略 是在機(jī)制基礎(chǔ)上 , 借助于某些參數(shù)和算法來實(shí)現(xiàn)該功能的優(yōu)化 , 或達(dá)到不同的功能目標(biāo) 。 為了減少 OS的復(fù)雜性 , 增加 OS的可擴(kuò)展性和可維護(hù)性而產(chǎn)生了微內(nèi)核技術(shù) 。 Windows NT采用微內(nèi)核結(jié)構(gòu)。 3. 設(shè)備處理 ——設(shè)備處理程序又稱為設(shè)備驅(qū)動(dòng)程序。 也可稱為 進(jìn)程管理 51 處理機(jī)管理的主要功能是: ?創(chuàng)建和撤消進(jìn)程(線程) ?對(duì)諸進(jìn)程(線程)的運(yùn)行進(jìn)行協(xié)調(diào) ?實(shí)現(xiàn)進(jìn)程(線程)之間的信息交換 ?按照一定的算法把處理機(jī)分配給進(jìn)程(線程) 進(jìn)程控制 進(jìn)程同步 進(jìn)程通信 進(jìn)程調(diào)度 (處理機(jī)調(diào)度 ) 52 2. 存儲(chǔ)器管理 存儲(chǔ)器管理應(yīng)具有以下功能: ? 內(nèi)存分配 (靜態(tài) 、 動(dòng)態(tài)分配方式 ) ? 內(nèi)存保護(hù) (硬件檢查越界,軟件處理 ) ? 地址映射 (邏輯、物理地址,硬件支持 ) ? 內(nèi)存擴(kuò)充 (虛擬存儲(chǔ)技術(shù) ) 53 主要任務(wù): ? 完成進(jìn)程提出的 I/O請(qǐng)求; ?為用戶進(jìn)程分配其所需的 I/O設(shè)備; ? 提高 CPU和 I/O設(shè)備的利用率; ? 提高 I/O速度; ?方便用戶使用 I/O設(shè)備 。 ? 內(nèi)存中的每個(gè)進(jìn)程在何時(shí)能獲得處理機(jī)運(yùn)行,何時(shí)又因提出某種資源請(qǐng)求而暫停,以及進(jìn)程以怎樣的速度向前推進(jìn),每道程序總共需要多少時(shí)間才能完成等等,都是不可預(yù)知的。 單純的空分復(fù)用存儲(chǔ)器只能提高內(nèi)存的利用率,不能實(shí)現(xiàn)在邏輯上擴(kuò)大存儲(chǔ)器容量的功能,必須引入 虛擬存儲(chǔ)技術(shù) 才能達(dá)到此目的 。計(jì)算機(jī)中使用空分復(fù)用技術(shù)來提高存儲(chǔ)空間的利用率。 此時(shí) , 雖然系統(tǒng)中只有一臺(tái)處理機(jī) , 但它能同時(shí)為多個(gè)用戶服務(wù) , 使每個(gè)終端用戶都認(rèn)為有一臺(tái)處理機(jī)在專門為他服務(wù) , 亦即把一臺(tái)物理上的 CPU虛擬為多臺(tái)邏輯上的CPU, 也稱為 虛擬處理機(jī) 。 OS中利用了兩種方式實(shí)現(xiàn) 虛擬技術(shù) , 即時(shí)分復(fù)用技術(shù)和空分復(fù)用技術(shù) , 分別用來實(shí)現(xiàn) 虛擬處理機(jī) 、虛擬內(nèi)存 、 虛擬外部設(shè)備 和 虛擬信道 等 。這里所說的 “ 同時(shí) ” 往往是宏觀上的,而微觀上,這些進(jìn)程可能是交替地對(duì)該資源進(jìn)行訪問。 關(guān)于 進(jìn)程 、 線程 的初步概念: 41 共享 ( sharing) 共享 是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用。 ? 進(jìn)程和并發(fā)是現(xiàn)代 OS中最重要的基本概念 , 也是 OS運(yùn)行的基礎(chǔ) 。為了使程序能并發(fā)執(zhí)行,系統(tǒng)必須分別為每個(gè)程序建立 進(jìn)程 ( Process)。 并發(fā)性 ——兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。 35 微機(jī)操作系統(tǒng)的發(fā)展 1.單用戶單任務(wù)操作系統(tǒng) 1) CP/M 上世紀(jì) 70年代
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1