一、進(jìn)程相關(guān)的概念:
進(jìn)程、線程和管程
這是三個(gè)看起來(lái)似乎比較容易混淆的概念,所以在復(fù)習(xí)的時(shí)候一定要牢記其定義和相互之間的區(qū)別。
*進(jìn)程
進(jìn)程是一個(gè)可并發(fā)執(zhí)行的程序在一個(gè)數(shù)據(jù)集合上的運(yùn)行過(guò)程。也就是說(shuō),它是運(yùn)行中的程序,是程序的一次運(yùn)行活動(dòng)。在操作系統(tǒng)中,進(jìn)程是進(jìn)行系統(tǒng)資源分配、調(diào)度和管理的最小單位。
*線程
對(duì)于一些多線程程序來(lái)講,其包含兩條或兩條以上并發(fā)運(yùn)行的部分,每個(gè)部分就稱作一個(gè)線程,每個(gè)線程都有獨(dú)立的執(zhí)行路徑。線程是處理器分配資源的最小單位。
*管程
管程是一種并發(fā)性的構(gòu)造,它包括用于分配一個(gè)共享資源或一組共享資源的數(shù)據(jù)和過(guò)程。為了完成分配資源的功能,進(jìn)程必須調(diào)用特定的管程入口。
操作系統(tǒng)中,多任務(wù)處理一般有兩種方式:基于進(jìn)程和基于線程;谶M(jìn)程的多任務(wù)處理的特點(diǎn)是允許計(jì)算機(jī)同時(shí)運(yùn)行兩個(gè)或更多的程序。而基于線程的多任務(wù)處理是指一個(gè)程序可以同時(shí)執(zhí)行兩個(gè)或者多個(gè)任務(wù)的功能。
多線程程序比多進(jìn)程程序需要更少的管理費(fèi)用。進(jìn)程是重量級(jí)的任務(wù),需要分配它們自己獨(dú)立的地址空間。進(jìn)程間的通信和相互轉(zhuǎn)換需要很多的開(kāi)銷(xiāo)。而線程是輕量級(jí)的任務(wù),它們共享相同的地址空間并且分享同一個(gè)進(jìn)程。線程間的通信和轉(zhuǎn)換開(kāi)銷(xiāo)要小很多。
二、信號(hào)量處理:
信號(hào)量和P-V操作
為了解決進(jìn)程同步的問(wèn)題,提出了信號(hào)量機(jī)制。這一機(jī)制取得了很大的發(fā)展,從整型信號(hào)量到記錄型信號(hào)量,再進(jìn)而發(fā)展為“信號(hào)量集”機(jī)制。不過(guò),在原理上和考試中,一般我們都只涉及整型信號(hào)量機(jī)制。
對(duì)于互斥臨界區(qū)的管理要求:
n 有空則進(jìn)
n 無(wú)空等待
n 兩者擇一
n 有先等待
在整型信號(hào)量機(jī)制中,信號(hào)量被定義為一個(gè)整型變量,除初始化外,僅能通過(guò)兩個(gè)標(biāo)準(zhǔn)的原子操作wait(s)和signal(s)來(lái)訪問(wèn)。其通常被分別稱作P、V操作。描述如下:
P操作
I. S-1→S
II. 如果S<0,則該進(jìn)程進(jìn)入等待狀態(tài);否則繼續(xù)進(jìn)行
V操作
I. S+1→S
II. 如果S≥0,則喚醒隊(duì)列中的一個(gè)等待進(jìn)程
進(jìn)程互斥的情況初值是1,而同步的初值是0
進(jìn)程同步的問(wèn)題相對(duì)來(lái)說(shuō)是比較復(fù)雜的,這其中一些比較經(jīng)典的進(jìn)程同步問(wèn)題,如:
*生產(chǎn)者—消費(fèi)者問(wèn)題
*讀者—寫(xiě)者問(wèn)題
*哲學(xué)家進(jìn)餐問(wèn)題
三、各種調(diào)度算法:
操作系統(tǒng)中,涉及到的調(diào)度比較多,如進(jìn)程調(diào)度、作業(yè)調(diào)度、磁盤(pán)調(diào)度等。但是其調(diào)度算法的原理都大致相同。進(jìn)程調(diào)度是比較典型的一類調(diào)度,其調(diào)度算法較多。包括:
*先來(lái)先服務(wù)
*優(yōu)先數(shù)調(diào)度
*輪轉(zhuǎn)法
*短作業(yè)優(yōu)先
通過(guò)對(duì)這些調(diào)度算法的復(fù)習(xí),對(duì)我們掌握其他種類調(diào)度的調(diào)度算法也會(huì)很有幫助。
例題: 一臺(tái) PC 計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí),首先執(zhí)行的是__(42)__,然后加載__(43)__。在設(shè)備管理中,虛擬設(shè)備的引入和實(shí)現(xiàn)是為了充分利用設(shè)備,提高系統(tǒng)效率,采用__(44)__來(lái)模擬低速設(shè)備(輸入機(jī)或打印機(jī))的工作。
例題:設(shè)有 7 項(xiàng)任務(wù),分別標(biāo)記為 a、b、c、d、c、f 和 g,需要若干臺(tái)機(jī)器以并行工作方式來(lái)完成,它們執(zhí)行的開(kāi)始時(shí)間和完成時(shí)間如下表所示:
信號(hào)量例題:
在某超市里有一個(gè)收銀員,且同時(shí)最多允許有n個(gè)顧客購(gòu)物,我們可以將顧客和收銀員看成是兩類不同的進(jìn)程,且工作流程如下圖所示。為了利用PV操作正確地協(xié)調(diào)這兩類進(jìn)程之間的工作,設(shè)置了三個(gè)信號(hào)量S1、S2和Sn,且初值分別為0、0和n。這樣圖中的a應(yīng)填寫(xiě)__C__,圖中的b1、b2應(yīng)分別填寫(xiě)__D_,圖中的c1、c2應(yīng)分別填寫(xiě)__A。 (操作系統(tǒng))?
相關(guān)推薦:2010年計(jì)算機(jī)軟件水平考試時(shí)間安排通知北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |