2013年下半年的全國軟件工程師考試還剩下一個月的時間了,準備參加考試的考生們應(yīng)該怎樣復(fù)習(xí)備考呢?唯學(xué)網(wǎng)小編告訴大家,一些必備的輔導(dǎo)資料是我們順利通過考試的第一保障哦。下面是小編整理的軟件工程師考試:軟件設(shè)計師重點難點輔導(dǎo),希望對各位考生有所幫助。
一、進程相關(guān)的概念:
進程、線程和管程
這是三個看起來似乎比較容易混淆的概念,所以在復(fù)習(xí)的時候一定要牢記其定義和相互之間的區(qū)別。
*進程
進程是一個可并發(fā)執(zhí)行的程序在一個數(shù)據(jù)集合上的運行過程。也就是說,它是運行中的程序,是程序的一次運行活動。在操作系統(tǒng)中,進程是進行系統(tǒng)資源分配、調(diào)度和管理的最小單位。
*線程
對于一些多線程程序來講,其包含兩條或兩條以上并發(fā)運行的部分,每個部分就稱作一個線程,每個線程都有獨立的執(zhí)行路徑。線程是處理器分配資源的最小單位。
*管程
管程是一種并發(fā)性的構(gòu)造,它包括用于分配一個共享資源或一組共享資源的數(shù)據(jù)和過程。為了完成分配資源的功能,進程必須調(diào)用特定的管程入口。
操作系統(tǒng)中,多任務(wù)處理一般有兩種方式:基于進程和基于線程。基于進程的多任務(wù)處理的特點是允許計算機同時運行兩個或更多的程序。而基于線程的多任務(wù)處理是指一個程序可以同時執(zhí)行兩個或者多個任務(wù)的功能。
多線程程序比多進程程序需要更少的管理費用。進程是重量級的任務(wù),需要分配它們自己獨立的地址空間。進程間的通信和相互轉(zhuǎn)換需要很多的開銷。而線程是輕量級的任務(wù),它們共享相同的地址空間并且分享同一個進程。線程間的通信和轉(zhuǎn)換開銷要小很多。
二、信號量處理:
信號量和P-V操作
為了解決進程同步的問題,提出了信號量機制。這一機制取得了很大的發(fā)展,從整型信號量到記錄型信號量,再進而發(fā)展為“信號量集”機制。不過,在原理上和考試中,一般我們都只涉及整型信號量機制。
對于互斥臨界區(qū)的管理要求:
n 有空則進
n 無空等待
n 兩者擇一
n 有先等待
在整型信號量機制中,信號量被定義為一個整型變量,除初始化外,僅能通過兩個標準的原子操作wait(s)和signal(s)來訪問。其通常被分別稱作P、V操作。描述如下:
P操作
I. S-1→S
II. 如果S<0,則該進程進入等待狀態(tài);否則繼續(xù)進行
V操作
I. S+1→S
II. 如果S≥0,則喚醒隊列中的一個等待進程
進程互斥的情況初值是1,而同步的初值是0
進程同步的問題相對來說是比較復(fù)雜的,這其中一些比較經(jīng)典的進程同步問題,如:
*生產(chǎn)者—消費者問題
*讀者—寫者問題
*哲學(xué)家進餐問題
三、各種調(diào)度算法:
操作系統(tǒng)中,涉及到的調(diào)度比較多,如進程調(diào)度、作業(yè)調(diào)度、磁盤調(diào)度等。但是其調(diào)度算法的原理都大致相同。進程調(diào)度是比較典型的一類調(diào)度,其調(diào)度算法較多。包括:
*先來先服務(wù)
*優(yōu)先數(shù)調(diào)度
*輪轉(zhuǎn)法
*短作業(yè)優(yōu)先
通過對這些調(diào)度算法的復(fù)習(xí),對我們掌握其他種類調(diào)度的調(diào)度算法也會很有幫助。
例題: 一臺 PC 計算機系統(tǒng)啟動時,首先執(zhí)行的是__(42)__,然后加載__(43)__。在設(shè)備管理中,虛擬設(shè)備的引入和實現(xiàn)是為了充分利用設(shè)備,提高系統(tǒng)效率,采用__(44)__來模擬低速設(shè)備(輸入機或打印機)的工作。
例題:設(shè)有 7 項任務(wù),分別標記為 a、b、c、d、c、f 和 g,需要若干臺機器以并行工作方式來完成,它們執(zhí)行的開始時間和完成時間如下表所示:
信號量例題:
在某超市里有一個收銀員,且同時最多允許有n個顧客購物,我們可以將顧客和收銀員看成是兩類不同的進程,且工作流程如下圖所示。為了利用PV操作正確地協(xié)調(diào)這兩類進程之間的工作,設(shè)置了三個信號量S1、S2和Sn,且初值分別為0、0和n。這樣圖中的a應(yīng)填寫__C__,圖中的b1、b2應(yīng)分別填寫__D_,圖中的c1、c2應(yīng)分別填寫__A。 (操作系統(tǒng))?
想要了解更多的軟件工程師考試輔導(dǎo)資料嗎?想要第一時間了解軟件工程師考試相關(guān)資訊嗎?想要得到更多軟件工程師考試培訓(xùn)相關(guān)信息資料嗎?來唯學(xué)網(wǎng)吧,唯學(xué)網(wǎng)是一個大型的教育考試培訓(xùn)平臺,唯學(xué)網(wǎng)軟件工程師考試培訓(xùn)頻道會第一時間為大家更新提供最新考試內(nèi)容!敬請大家關(guān)注!如有任何疑問也可在線留言,小編會為您在第一時間解答!