韓彥嶺, 張 云, 周汝雁, 洪中華, 張明華, 徐利軍
(上海海洋大學(xué) 信息學(xué)院, 上海 201306)
操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中最重要的系統(tǒng)軟件,操作系統(tǒng)課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的一門重要的專業(yè)基礎(chǔ)課程[1-2]。該課程的特點(diǎn)是內(nèi)容繁多,理論性強(qiáng),概念、原理、算法比較抽象難懂,再加上目前操作系統(tǒng)課程的授課模式大多是以教師講授為主,學(xué)生被動(dòng)接收,對(duì)于復(fù)雜難懂的概念、原理、算法,極易造成接收脫節(jié),直接影響了學(xué)生的學(xué)習(xí)積極性,最終導(dǎo)致學(xué)習(xí)效率、效果不佳。
與傳統(tǒng)的以學(xué)科為基礎(chǔ)的教學(xué)方法不同,以問題為導(dǎo)向的教學(xué)方法,是基于現(xiàn)實(shí)世界的以學(xué)生為中心的教育方式[3-4]。PBL強(qiáng)調(diào)以學(xué)生的主動(dòng)學(xué)習(xí)為主,而不是傳統(tǒng)教學(xué)中的以教師講授為主;PBL將學(xué)習(xí)與更大的任務(wù)或問題掛鉤,使學(xué)習(xí)者投入于問題中;它設(shè)計(jì)真實(shí)性任務(wù),強(qiáng)調(diào)把學(xué)習(xí)設(shè)置到邏輯連貫的、有意義的問題情景中,通過學(xué)習(xí)者的自主探究和合作來(lái)解決問題,從而學(xué)習(xí)隱含在問題背后的科學(xué)知識(shí),形成解決問題的技能和自主學(xué)習(xí)的能力[5-6]。
另外,團(tuán)隊(duì)精神是現(xiàn)代社會(huì)不可缺少的力量,是大局意識(shí)、協(xié)作精神的集中體現(xiàn),它反映一個(gè)人與別人合作的精神和能力。團(tuán)隊(duì)學(xué)習(xí)是團(tuán)隊(duì)成員之間的互動(dòng)學(xué)習(xí)行為,是互相配合、取長(zhǎng)補(bǔ)短,密切合作的學(xué)習(xí)過程,可以鍛煉學(xué)生的團(tuán)隊(duì)精神,并大大激發(fā)學(xué)生的學(xué)習(xí)主動(dòng)性[7-10]。因此我們把團(tuán)隊(duì)學(xué)習(xí)的優(yōu)良模式和PBL教學(xué)方法引入到操作系統(tǒng)課程的教學(xué)中,嘗試改善傳統(tǒng)操作系統(tǒng)的枯燥模式,增強(qiáng)學(xué)生學(xué)習(xí)的積極性,改善學(xué)生課堂表現(xiàn),進(jìn)而提高學(xué)習(xí)效率和學(xué)習(xí)效果。
PBL教學(xué)法強(qiáng)調(diào)以問題為學(xué)習(xí)的起點(diǎn),學(xué)生的學(xué)習(xí)內(nèi)容是以問題為主軸進(jìn)行架構(gòu),本部分以操作系統(tǒng)課程的重要知識(shí)點(diǎn)之一:進(jìn)程同步,闡述PBL教學(xué)方法的實(shí)施過程[11-12]。
1.1.1教學(xué)目的
進(jìn)程同步是進(jìn)程管理的最重要的概念,包含的重要知識(shí)點(diǎn)有:① 進(jìn)程同步的必要性;② 進(jìn)程同步的基本思想;③ 鎖機(jī)制、睡覺與叫醒、信號(hào)量機(jī)制提出背景、基本原理和特點(diǎn)。
基于PBL的教學(xué)方法的目的可以描述為:結(jié)合教學(xué)過程中的重要知識(shí)點(diǎn),將課堂教學(xué)過程設(shè)計(jì)為“教師提出問題,學(xué)生主動(dòng)思考,最終共同解決問題”的良性互動(dòng)過程,最終使學(xué)生扎實(shí)掌握重要概念和知識(shí)。
1.1.2教學(xué)過程設(shè)計(jì)
在學(xué)習(xí)這部分內(nèi)容時(shí),我們結(jié)合以下幾個(gè)問題來(lái)進(jìn)行:① 為什么需要進(jìn)行進(jìn)程同步?② 進(jìn)程同步的基本思想?③ 鎖機(jī)制的基本思想及使用局限性。④ 睡覺與叫醒機(jī)制的基本思想及使用局限性?⑤ 信號(hào)量機(jī)制的提出背景、基本思想及實(shí)現(xiàn)。
教師需要提前布置學(xué)生進(jìn)行預(yù)習(xí)和思考,在進(jìn)行教學(xué)過程設(shè)計(jì)時(shí)可首先向?qū)W生提出第一個(gè)問題,為什么需要進(jìn)行進(jìn)程同步?經(jīng)過預(yù)習(xí)小組成員已經(jīng)具備預(yù)備知識(shí),引導(dǎo)他們思考由于進(jìn)程的異步性,導(dǎo)致進(jìn)程執(zhí)行結(jié)果的不可再現(xiàn)性,而這種執(zhí)行結(jié)果的不確定是編程人員不希望看到的,所以有必要控制進(jìn)程的執(zhí)行及執(zhí)行順序,這就是引入進(jìn)程同步的必要性。
此時(shí),教師再自然的提出第二個(gè)問題,如何進(jìn)行進(jìn)程同步?并結(jié)合一個(gè)生活中的簡(jiǎn)單實(shí)例-金魚喂養(yǎng)問題來(lái)引導(dǎo)學(xué)生思考解決方案。
問題定義:Tom和Jack同住一室,想共同喂養(yǎng)金魚,金魚必須保證每天喂一次并且只喂一次,以保證魚既不能被餓死也不能被撐死。
這個(gè)貼近生活的實(shí)例會(huì)立刻引起大家的興趣,小組成員自由討論后會(huì)發(fā)現(xiàn)原始方案存在漏洞,魚有可能被撐死,小組成員繼續(xù)討論提出可能的解決辦法,比如可以讓每個(gè)人在喂魚之前留紙條,告訴對(duì)方自己將會(huì)檢查魚缸并在需要的時(shí)候喂魚。還有小組同學(xué)思考后會(huì)提出反例,證明這種做法會(huì)有特殊情況出現(xiàn),魚仍然會(huì)有可能被撐死。于是大家繼續(xù)想辦法,改變留紙條和檢查紙條的順序,經(jīng)過一番爭(zhēng)論證明,這種方法魚不會(huì)被撐死,但有可能被餓死;于是大家繼續(xù)補(bǔ)漏洞,如果留了紙條的情況下,必須選擇某個(gè)人來(lái)喂魚,直到確認(rèn)魚被喂了才可以離開。至此,大家似乎認(rèn)為問題解決了,魚既不會(huì)被撐死,也不會(huì)被餓死,但是大家感覺很累,證明這個(gè)問題的正確性需要花很多時(shí)間,而且從程序編寫上發(fā)現(xiàn)代碼不對(duì)稱,也很丑陋。
這時(shí)候,教師要在大家討論結(jié)果的基礎(chǔ)上及時(shí)總結(jié),我們之前的辦法之所以解決不好金魚喂養(yǎng)的問題是因?yàn)槲覀兪冀K站在比較低級(jí)的層面上,希望通過調(diào)整代碼的執(zhí)行次序來(lái)解決進(jìn)程同步,但程序執(zhí)行過程中的進(jìn)程穿插是難以控制的,所以導(dǎo)致這種局面。于是自然地提出我們是否可以提升關(guān)注的級(jí)別,不要只是在代碼級(jí)打轉(zhuǎn),我們把抽象的層次提升到對(duì)代碼組的控制,給代碼組上鎖。在這個(gè)過程中,教師還須適時(shí)地引導(dǎo)學(xué)生掌握臨界資源是導(dǎo)致出現(xiàn)進(jìn)程異步性的臨界區(qū),要保證進(jìn)程同步應(yīng)從對(duì)臨界區(qū)的同步機(jī)制入手,通過總結(jié),學(xué)生大致可以總結(jié)出:如果臨界區(qū)沒有進(jìn)程,允許一個(gè)進(jìn)程立即進(jìn)入臨界區(qū);當(dāng)一個(gè)進(jìn)程已經(jīng)進(jìn)入臨界區(qū),其他試圖進(jìn)入臨界區(qū)的進(jìn)程必須等待;但是這種等待還需保證是有限等待,以避免出現(xiàn)“死等”;而不能進(jìn)入臨界區(qū)的執(zhí)行進(jìn)程應(yīng)放棄CPU執(zhí)行權(quán)。從而因勢(shì)利導(dǎo),教師總結(jié)出進(jìn)程的4個(gè)同步機(jī)制:空閑讓進(jìn)、忙則等待、有限等待和讓權(quán)等待。通過討論,連帶把基本概念進(jìn)行講解。學(xué)生會(huì)不知不覺中加深對(duì)知識(shí)的認(rèn)識(shí)和理解。
接著,教師提出第三個(gè)問題,鎖機(jī)制如何實(shí)現(xiàn)同步,小組成員會(huì)結(jié)合鎖實(shí)現(xiàn)同步的兩個(gè)操作lock和unlock,利用到金魚喂養(yǎng)問題中進(jìn)行嘗試,發(fā)現(xiàn)確實(shí)可以解決進(jìn)程同步問題,而且簡(jiǎn)單美觀。然后我們?cè)購(gòu)?個(gè)同步機(jī)制原則引導(dǎo)學(xué)生發(fā)現(xiàn)鎖機(jī)制的局限性,鎖不能解決讓權(quán)等待問題,鎖存在著繁忙等待弊端。
于是,教師引出另一個(gè)生活中的實(shí)例:自動(dòng)售貨機(jī),自動(dòng)售貨機(jī)不能容忍繁忙等待,由自動(dòng)售貨機(jī)的操作流程,提出第四個(gè)問題,如何優(yōu)化進(jìn)程同步機(jī)制,解決繁忙等待,小組成員會(huì)提出不同的解決方案,如能否在消費(fèi)完商品時(shí)向送貨人員發(fā)消息等。這時(shí),向?qū)W生引入睡覺與叫醒機(jī)制,并結(jié)合操作系統(tǒng)中經(jīng)典的生產(chǎn)者與消費(fèi)者問題,介紹睡覺與叫醒機(jī)制的解決方案。通過代碼分析,再次引導(dǎo)學(xué)生發(fā)現(xiàn)生產(chǎn)者與消費(fèi)者問題中存在的致命競(jìng)爭(zhēng),商品計(jì)數(shù)變量未受保護(hù),可能造成死鎖,而這種死鎖的產(chǎn)生是因?yàn)樗X與叫醒機(jī)制所發(fā)送的信號(hào)由于只發(fā)一次有可能造成丟失。這時(shí)候自然大家就想到,是否能把信號(hào)收集起來(lái)多發(fā)幾次。
由此解釋了信號(hào)量機(jī)制提出的背景,信號(hào)量既是把信號(hào)累加起來(lái)的機(jī)制,并自然引出第五個(gè)問題,信號(hào)量機(jī)制的基本思想?以及信號(hào)量機(jī)制的基本操作,引導(dǎo)學(xué)生用PV操作解決生產(chǎn)者消費(fèi)者問題。
至此,小組成員通過思考和討論教師提出的問題,理清了進(jìn)程同步的相關(guān)概念、每一種同步機(jī)制的提出背景、局限性并理清了幾種同步機(jī)制的發(fā)展歷程,通過這種聯(lián)系與發(fā)展的觀點(diǎn)來(lái)學(xué)習(xí)進(jìn)程同步基礎(chǔ)知識(shí),更容易建立這些概念之間的聯(lián)系,有利于學(xué)生深入掌握操作系統(tǒng)基本概念和原理。
1.2.1自由分組
團(tuán)隊(duì)分組要按照自由組合的原則,給出基本分組原則后由學(xué)生根據(jù)個(gè)人意愿進(jìn)行組織,每組人數(shù)以4~6人為宜,特殊情況也允許個(gè)別的少數(shù)人小組。自愿組織的小組成員相處比較融洽,學(xué)習(xí)成績(jī)的優(yōu)劣差別有利于發(fā)揮團(tuán)隊(duì)的凝聚力[13-14]。每個(gè)組選舉一個(gè)組長(zhǎng),組長(zhǎng)負(fù)責(zé)本組成員的人員組織、任務(wù)分配、組內(nèi)協(xié)調(diào)等工作。
1.2.2以小組為單位考核
學(xué)生分組后,以小組為單位考核。每個(gè)學(xué)生課堂上的表現(xiàn),代表的是本組的表現(xiàn),根據(jù)問題回答的優(yōu)劣給予小組不同的成績(jī)。同時(shí),小組的成績(jī)也是每個(gè)組內(nèi)成員的成績(jī)。這樣,不管組內(nèi)如何分工,但最終每個(gè)同學(xué)都需要掌握基礎(chǔ)知識(shí),否則自己的表現(xiàn)會(huì)影響到組內(nèi)其他人的成績(jī),同時(shí)也使得每個(gè)同學(xué)都會(huì)建立集體意識(shí)和大局意識(shí),組內(nèi)成員必然會(huì)加強(qiáng)溝通交流,學(xué)習(xí)好的同學(xué)會(huì)主動(dòng)幫助學(xué)習(xí)一般的同學(xué),學(xué)習(xí)一般的同學(xué)也會(huì)有壓力去認(rèn)真努力,主動(dòng)向其他同學(xué)學(xué)習(xí),大家一起溝通討論、團(tuán)結(jié)合作,從而形成一種積極向上的主動(dòng)學(xué)習(xí)氛圍。
小組考核內(nèi)容除了課堂討論表現(xiàn),還考慮課堂紀(jì)律、課堂出勤、作業(yè)上交、課堂講解及實(shí)驗(yàn)內(nèi)容[15],見表1。每個(gè)同學(xué)的表現(xiàn)直接影響到所在小組的成績(jī),另外,教師還組織學(xué)生進(jìn)行角色互換,由小組學(xué)生來(lái)講解ppt,教師進(jìn)行過程控制和點(diǎn)評(píng),進(jìn)一步培養(yǎng)學(xué)生學(xué)習(xí)的主動(dòng)性和思維表達(dá)能力。學(xué)生最終的考試成績(jī)?yōu)椋鹤罱K成績(jī)=期末卷面成績(jī)×60%+所在小組成績(jī)×40%,這種考核方式從一定程度上也督促了課程出勤率及學(xué)生的主動(dòng)學(xué)習(xí)意識(shí)、團(tuán)隊(duì)大局意識(shí)。

表1 考核計(jì)分內(nèi)容(加減分值)
1.2.3小組管理
小組長(zhǎng)一般由組內(nèi)成員推選出威信度相對(duì)較高的同學(xué),學(xué)生分組后,由組長(zhǎng)負(fù)責(zé)協(xié)調(diào)小組成員,分配具體任務(wù),調(diào)動(dòng)組內(nèi)成員積極性。不同成員的個(gè)性、興趣、能力差異由組長(zhǎng)負(fù)責(zé)總體平衡管理,比如成績(jī)優(yōu)良的同學(xué)負(fù)責(zé)主要學(xué)習(xí)內(nèi)容的融會(huì)貫通;成績(jī)一般比較活躍的同學(xué)負(fù)責(zé)搜集資料,組間溝通;動(dòng)手能力較強(qiáng)的同學(xué)負(fù)責(zé)編程實(shí)驗(yàn),組內(nèi)成員各取所長(zhǎng),都能在組內(nèi)找到適合自己的角色。
在基于PBL的“團(tuán)隊(duì)式”教學(xué)模式中,教師擔(dān)負(fù)著總體掌握進(jìn)度、正確引導(dǎo)學(xué)生的重要角色,對(duì)教師也提出了較高的要求。① 從內(nèi)容組織上,要結(jié)合課時(shí)要求和課程內(nèi)容,選擇合適的章節(jié)開展課堂討論;② 要求教師熟練掌握課程知識(shí),把握重點(diǎn)和難點(diǎn),善于對(duì)課本知識(shí)進(jìn)行擴(kuò)展,具備舉一反三的能力;③ 統(tǒng)籌考慮采用何種方式引導(dǎo)學(xué)生展開課堂討論,既要活躍課堂氣氛又要及時(shí)把握課堂時(shí)間和課程進(jìn)度。④ 嚴(yán)格按照考核內(nèi)容進(jìn)行小組考核,在期末考試中要有具體體現(xiàn),不要流于形式影響學(xué)生積極性。
操作系統(tǒng)課程本身的理論性、綜合性較強(qiáng),傳統(tǒng)的填鴨式教學(xué)阻礙了學(xué)生的學(xué)習(xí)積極性,因此改進(jìn)教學(xué)方法,提高學(xué)生的主動(dòng)學(xué)習(xí)意識(shí)非常重要。基于PBL的“團(tuán)隊(duì)式”教學(xué)模式是我們正在探索的一種改進(jìn)模式,通過在前面的教學(xué)實(shí)踐證明,這種教學(xué)模式從提高學(xué)生出勤率、變被動(dòng)為主動(dòng)學(xué)習(xí)、改善課堂氣氛、提高團(tuán)隊(duì)合作意識(shí)等方面克服了傳統(tǒng)教學(xué)的種種弊端,是進(jìn)行教學(xué)創(chuàng)新的有效途徑之一。同時(shí),通過這種教學(xué)模式的實(shí)踐,我們倡導(dǎo)團(tuán)隊(duì)學(xué)習(xí),培養(yǎng)了學(xué)生的團(tuán)隊(duì)意識(shí),學(xué)生意識(shí)到每個(gè)人的力量是有限的,利用團(tuán)隊(duì)力量可以優(yōu)勢(shì)互補(bǔ)共同完成更加復(fù)雜的任務(wù)。所以課堂之外,同學(xué)往往會(huì)形成比較固定的小團(tuán)隊(duì),一起參加大學(xué)生創(chuàng)新項(xiàng)目、參與挑戰(zhàn)杯競(jìng)賽、參與教師科研項(xiàng)目、準(zhǔn)備考研復(fù)習(xí)等,在各類賽事及科研項(xiàng)目的鍛煉中進(jìn)一步提高能力和主動(dòng)學(xué)習(xí)意識(shí),對(duì)于培養(yǎng)學(xué)生的綜合素質(zhì)和創(chuàng)新能力具有非常重要的意義。
當(dāng)然,在教學(xué)實(shí)踐過程中,我們也發(fā)現(xiàn)了一些問題,比如課堂討論容易造成課程進(jìn)度拖后,小組內(nèi)部分同學(xué)存在“打醬油”現(xiàn)象等,我們也采取了部分改進(jìn)措施,比如精選課程內(nèi)容減少較大規(guī)模的課堂討論(1課時(shí)之內(nèi)討論),舍棄部分不是很重要內(nèi)容的課堂學(xué)習(xí),改為課后自學(xué);小組成員角色互換,回答問題及講解增加組內(nèi)平時(shí)表現(xiàn)一般的同學(xué)的比例,通過促進(jìn)優(yōu)秀同學(xué)對(duì)后進(jìn)同學(xué)的責(zé)任心,增加后進(jìn)同學(xué)的學(xué)習(xí)壓力等規(guī)避這些問題。在后續(xù)的教學(xué)實(shí)踐中,我們會(huì)繼續(xù)進(jìn)一步優(yōu)化措施,獲得團(tuán)隊(duì)學(xué)習(xí)的最大效果。
通過團(tuán)隊(duì)式教學(xué)模式的實(shí)踐,發(fā)現(xiàn)不僅改善了學(xué)生對(duì)專業(yè)課程的學(xué)習(xí)熱情,而且對(duì)學(xué)生綜合素質(zhì)的提高也具有重要意義。當(dāng)代大學(xué)生基本都是90后,普遍優(yōu)越的家庭條件和社會(huì)環(huán)境的影響,形成了這代大學(xué)生的時(shí)代共性,他們張揚(yáng)個(gè)性,過于強(qiáng)調(diào)個(gè)人能力;他們思想活躍,但又缺乏吃苦精神;他們抱負(fù)遠(yuǎn)大,卻又缺乏韌性和意志。基于PBL的“團(tuán)隊(duì)式”教學(xué)模式使學(xué)生在共同學(xué)習(xí)的過程中鍛煉自己的表達(dá)能力,認(rèn)識(shí)到個(gè)人能力的局限性,培養(yǎng)團(tuán)隊(duì)集體意識(shí),學(xué)會(huì)與他人溝通交流,在互相提高的過程中鍛煉自己的韌性、耐力和合作精神,逐漸從形式上的合作過渡到實(shí)質(zhì)性的合作,提高學(xué)生的總體綜合素質(zhì),為將來(lái)走向社會(huì)打下良好的基礎(chǔ)。
[1] 劉乃琦,蒲曉蓉. 操作系統(tǒng)原理及應(yīng)用[M]. 北京:高等教育出版社,2008.
[2] 湯小丹,梁紅兵,哲鳳屏,等. 計(jì)算機(jī)操作系統(tǒng)[M].西安:西安電子科技大學(xué)出版社,2007.
[3] Howard S Barrows. How to design a problem-based curriculum for the preclinical years[M]. New York:Springer Pub Co, 1985.
[4] 陳慶章,古 輝,王子仁,等.PBL理論探討及教師角色認(rèn)識(shí)[J].計(jì)算機(jī)教育,2011(9):103-107.
CHEN qingzhang, GU Hui, WANG Ziren,etal. Research on PBL and the Role Teachers Play[J]. Computer Education, 2011(9):103-107.
[5] Robert Delisle. How to use problem-based learning in the classroom[M]. Alexandria, Virginia: Association for Super Vision & Curriculum Deve, 1997:26-37.
[6] Hmelo C E, Evensen D H. Problem-based learning: Gaining insights on learning interactions through multiple methods of inquiry [J]. Problem-based Learning, 2000(5):1-16.
[7] 陳曉琳.基于課程組的教學(xué)團(tuán)隊(duì)建設(shè)模式探索[J].中國(guó)大學(xué)教學(xué),2011(7):72-74.
CHEN Xiao-lin. The model research of teaching group construction based on the course group[J]. China University Teaching, 2011(7):72-74.
[8] 孫麗娜,賀立軍. 高校基層教學(xué)組織改革與教學(xué)團(tuán)隊(duì)建設(shè)[J].河北學(xué)刊,2007(9):161.
SUN Li-na, HE Li-jun. Study of the College Instruction Team Construction Based on Team Theory[J]. Hebei Academic Journal,2007(9):161.
[9] Camp G. Problem-based learning: A paradigm shift or a passing fad[J]. Medcal Education Online, 1996, 1(2):1-6.
[10] 王正斌,汪 濤.高校教學(xué)團(tuán)隊(duì)的內(nèi)涵及其建設(shè)策略探討[J].中國(guó)大學(xué)教學(xué),2011(3):75-77.
WANG Zheng-bin, WANG Tao. Research on the construction strategy of college teaching team connotation[J]. China University Teaching, 2011(3):75-77.
[11] 鄒恒明. 計(jì)算機(jī)的心智:操作系統(tǒng)之哲學(xué)原理[M].北京:機(jī)械工業(yè)出版社,2009.
[12] 李景峰,劉 偉,郝耀輝,等. 操作系統(tǒng)課程的啟發(fā)式教學(xué)研究與探討[J]. 計(jì)算機(jī)教育,2010(8):87-89.
LI Jing-feng, LIU Wei, HAO Yao-hui, Zhou Hui-juan. Study on Heuristic Teaching of Operation System Course[J]. Computer Education, 2010(8):87-89.
[13] Schmidt H G, Moust J C. Factors affecting small-group tutorial learning: A review of research[J]. Problem-based Learning, 2000(5):19-51.
[14] Johnson D W, Johnson R T. Learning Together and Alone: Cooper-active, Competitive, and Individualistic Learning[M]. Massachusetts: Prentice-hall, 1994:25-38.
[15] 韓彥嶺,張 云,周汝雁,等.基于EOS的操作系統(tǒng)進(jìn)程管理設(shè)計(jì)與實(shí)現(xiàn)[J]. 實(shí)驗(yàn)室研究與探索, 2013(10):375-377.
HAN Yan-ling, ZHANG Yun, ZHOU Ru-yan,etal. Design and Implementation on Process Management of Operation System Based on EOS[J]. Research and Exploration in Laboratory, 2013(10):375-377.