摘要:[摘要] 操作系統(tǒng)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的專業(yè)平臺(tái)課。為了提高課堂教學(xué)質(zhì)量和培養(yǎng)應(yīng)用型人才,濱州學(xué)院從2011級(jí)學(xué)生開始在操作系統(tǒng)課程的教學(xué)中實(shí)施了案例教學(xué)法。通過(guò)豐富的教
[摘要] 操作系統(tǒng)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的專業(yè)平臺(tái)課。為了提高課堂教學(xué)質(zhì)量和培養(yǎng)應(yīng)用型人才,濱州學(xué)院從2011級(jí)學(xué)生開始在操作系統(tǒng)課程的教學(xué)中實(shí)施了案例教學(xué)法。通過(guò)豐富的教學(xué)案例,使學(xué)生從現(xiàn)實(shí)情況中體會(huì)到了蘊(yùn)含的理論知識(shí),提高了學(xué)習(xí)興趣,收到了良好的教學(xué)效果。
[關(guān)鍵詞] 濱州學(xué)院;案例教學(xué);操作系統(tǒng)課程
“操作系統(tǒng)”作為一門理論性較強(qiáng)的課程,在教學(xué)中除了應(yīng)用啟發(fā)式和討論式教學(xué)方法外,引入案例教學(xué)法[1],可以使得比較枯燥的理論知識(shí)變得生動(dòng)有趣,激發(fā)學(xué)生的學(xué)習(xí)興趣,從而大大提高教學(xué)效果。信號(hào)量機(jī)制是一種解決進(jìn)程同步問(wèn)題的有效工具,也是操作系統(tǒng)中進(jìn)程管理的一個(gè)重要內(nèi)容。信號(hào)量的應(yīng)用可以分為兩大類,一是實(shí)現(xiàn)過(guò)程互斥,二是實(shí)現(xiàn)前趨關(guān)系。下面以信號(hào)量機(jī)制在進(jìn)程同步問(wèn)題中的應(yīng)用為例,介紹案例教學(xué)法在操作系統(tǒng)課程教學(xué)中的應(yīng)用。
一、使用信號(hào)量實(shí)現(xiàn)互斥的案例
在計(jì)算機(jī)系統(tǒng)中存在著許多資源,它們?cè)谝欢螘r(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問(wèn),這類資源我們稱之為臨界資源或獨(dú)占資源[2]。很多硬件設(shè)備(如打印機(jī))和隊(duì)列、棧、變量等都屬于臨界資源。利用信號(hào)量機(jī)制可以解決多個(gè)進(jìn)程對(duì)臨界資源的互斥訪問(wèn)問(wèn)題。
(一)基本方法
對(duì)于臨界資源R,設(shè)置信號(hào)量Mutex,初始值為1。為了使多個(gè)進(jìn)程互斥地訪問(wèn)R,每個(gè)進(jìn)程中訪問(wèn)R的臨界區(qū)代碼段都要放在Wait(Mutex)和Signal(Mutex)兩個(gè)操作之間。每個(gè)訪問(wèn)臨界資源R的循環(huán)進(jìn)程可以描述如下:
Pi(){
Wait(Mutex);
Critical section;
Signal(Mutex)
Remaider section;
}
(二)案例分析
有了基本方法,學(xué)生對(duì)解決問(wèn)題的思路有了大體了解,但是針對(duì)具體問(wèn)題并不一定能夠解決。在這里可以給出學(xué)生幾個(gè)案例,如單向橋問(wèn)題、吃水果問(wèn)題、閱覽室問(wèn)題等。讓學(xué)生真正去“體驗(yàn)”一下解決過(guò)程,這樣才會(huì)對(duì)理論講解有更加深刻的認(rèn)識(shí),促使學(xué)生結(jié)合教學(xué)案例給出中的現(xiàn)實(shí)情況,在解決問(wèn)題的過(guò)程中創(chuàng)造性地提出解決方案[3]。
下面以單向橋問(wèn)題為例進(jìn)行簡(jiǎn)單介紹。
1. 案例介紹
有一單向行駛的公路橋,每次只允許一輛汽車通過(guò)。當(dāng)汽車到達(dá)橋頭時(shí),若橋上無(wú)車,便可上橋;否則需等待,直到橋上的汽車下橋?yàn)橹埂H裘恳惠v車為一個(gè)進(jìn)程,請(qǐng)用Wait、Signal操作保證汽車按要求過(guò)橋。
2. 案例分析
可以將公路橋看作一個(gè)臨界資源,設(shè)置一個(gè)信號(hào)量S實(shí)現(xiàn)互斥,初值為1。由于每個(gè)汽車過(guò)橋的過(guò)程相同,這里只給出一輛汽車Pi過(guò)橋的同步描述。
Semaphore S=1;
Pi( ){
While(1){
到達(dá)橋頭;
Wait(Mutex);
上橋行駛;
到達(dá)橋的另一端;
Signal(Mutex);
}
}
3. 教學(xué)組織
傳統(tǒng)教學(xué)是注入式教學(xué),而在案例教學(xué)過(guò)程中,教師是主導(dǎo)地位,學(xué)生是主體地位,教師可以帶領(lǐng)學(xué)生從未知領(lǐng)域進(jìn)入已知領(lǐng)域[4]。在組織實(shí)施時(shí),可以在給出問(wèn)題描述后先讓學(xué)生討論,然后引導(dǎo)學(xué)生分析在這個(gè)問(wèn)題中需要互斥訪問(wèn)的臨界資源是什么,如何去定義信號(hào)量,初始值是多少。定義好信號(hào)量后,和學(xué)生一起寫出解決這個(gè)問(wèn)題的算法。
二、利用信號(hào)量實(shí)現(xiàn)前趨關(guān)系的案例
有些進(jìn)程在運(yùn)行時(shí)具有前趨關(guān)系。例如,進(jìn)程C完成數(shù)據(jù)處理后進(jìn)程P才可以進(jìn)行結(jié)果打印,則進(jìn)程C和P之間存在前趨關(guān)系,即C→P。利用信號(hào)量可以實(shí)現(xiàn)進(jìn)程間的前趨關(guān)系。
(一)基本方法
在實(shí)現(xiàn)前趨關(guān)系時(shí),可以為進(jìn)程C和P定義一個(gè)公用信號(hào)量S,并設(shè)置初始值0。進(jìn)程C完成數(shù)據(jù)處理后要執(zhí)行Signal(S)操作向進(jìn)程P發(fā)一個(gè)信號(hào),而進(jìn)程P在打印之前要執(zhí)行Wait(S)操作,即收到信號(hào)后才可以打印。
(二)案例分析
在操作系統(tǒng)中也有很多有趣的進(jìn)程同步問(wèn)題可以歸為這一類,如公共汽車問(wèn)題、圍棋問(wèn)題、抽煙問(wèn)題、4×100接力賽問(wèn)題等。下面以公共汽車問(wèn)題為例進(jìn)行介紹。
1. 案例介紹
在公共汽車上,司機(jī)和售票員各行其職,司機(jī)負(fù)責(zé)開車和到站停車;售票員負(fù)責(zé)售票和開、關(guān)車門,當(dāng)售票員關(guān)好車門后,駕駛員才能開車行駛。試用Wait、Signal操作實(shí)現(xiàn)司機(jī)與售票員間的同步。
小編推薦優(yōu)秀的電子類期刊 《中國(guó)信息安全》
《中國(guó)信息安全》堅(jiān)持為社會(huì)主義服務(wù)的方向,堅(jiān)持以馬克思列寧主義、毛澤東思想和鄧小平理論為指向,貫徹“百花齊放、百家爭(zhēng)鳴”和“古為今用、洋為中用”的方針,堅(jiān)持實(shí)事求是、理論與實(shí)際相結(jié)合的嚴(yán)謹(jǐn)學(xué)風(fēng),傳播先進(jìn)的科學(xué)文化知識(shí),弘揚(yáng)民族優(yōu)秀科學(xué)文化,促進(jìn)國(guó)際科學(xué)文化交流,探索防災(zāi)科技教育、教學(xué)及管理諸方面的規(guī)律,活躍教學(xué)與科研的學(xué)術(shù)風(fēng)氣,為教學(xué)與科研服務(wù)。