999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向操作系統(tǒng)課程的“啟發(fā)—探究式”教學(xué)方法初探

2011-01-01 00:00:00劉曉
計算機教育 2011年2期


  摘要:操作系統(tǒng)課程具有概念知識點較多、涉及內(nèi)容較廣、算法繁多復(fù)雜等特點,學(xué)生不易理解和掌握。針對上述問題,文章提出將“啟發(fā)—探究式”教學(xué)方法應(yīng)用于操作系統(tǒng)的教學(xué)中,并以“生產(chǎn)者—消費者”問題為例,闡述了“啟發(fā)—探究式”教學(xué)方法在實際教學(xué)過程中的應(yīng)用。實踐證明,該方法在操作系統(tǒng)的教學(xué)過程中取得了良好的效果。
  關(guān)鍵詞:啟發(fā)式教學(xué);探究式教學(xué);操作系統(tǒng);生產(chǎn)者—消費者問題
  
  教學(xué)方法是教師和學(xué)生為實現(xiàn)教學(xué)目的、完成教學(xué)任務(wù)所采取的相互作用的手段和一整套方式。它既包括教師教的方法,也包括學(xué)生學(xué)的方法,是教授方法與學(xué)習(xí)方法的統(tǒng)一。然而,實際教學(xué)過程中往往由于課時、教學(xué)設(shè)施等條件的限制減少了學(xué)生的參與,從而忽略了教學(xué)成功的基本標(biāo)準(zhǔn)是學(xué)生的學(xué)習(xí)動機以及學(xué)生對學(xué)習(xí)的參與程度這一事實。因此,結(jié)合具體的教學(xué)內(nèi)容,設(shè)計出合理的教學(xué)方法,在傳道授業(yè)解惑的同時充分調(diào)動學(xué)生的積極性,真正實現(xiàn)教法與學(xué)法的辯證統(tǒng)一,應(yīng)是教育工作者不斷追求的目標(biāo)。
  胡一之[1]針對操作系統(tǒng)課程難教難學(xué)的現(xiàn)狀,探討了如何調(diào)動學(xué)生學(xué)習(xí)的積極性,提高操作系統(tǒng)教學(xué)質(zhì)量的方法;金海東[2]等以操作系統(tǒng)中進程同步與互斥問題為實例,探討了如何從學(xué)習(xí)者的角度設(shè)計循序漸進的教學(xué)內(nèi)容;張坤[3]總結(jié)了在操作系統(tǒng)教學(xué)過程中可以運用雙語教學(xué)、分層次教學(xué)以及任務(wù)式驅(qū)動等教學(xué)方法。以上文獻均是對操作系統(tǒng)教學(xué)方法進行的有益實踐。
  筆者結(jié)合多年的教學(xué)、科研經(jīng)驗,對操作系統(tǒng)課程的教學(xué)方法進行了深入的思考和積極的探索。操作系統(tǒng)課程具有概念知識點較多、涉及內(nèi)容廣泛、算法繁多復(fù)雜等特點,它對學(xué)生的理解能力和邏輯思維能力提出了更高的要求,而傳統(tǒng)的以教師講解為主的教學(xué)模式并不能取得良好的教學(xué)效果。“啟發(fā)—探究式”教學(xué)方法與傳統(tǒng)的灌輸式教學(xué)不同,它更強調(diào)學(xué)生在教師的引領(lǐng)和啟示下,主動參與到發(fā)現(xiàn)問題、尋求答案的過程中,從而可以讓學(xué)生真正理解所學(xué)內(nèi)容,提高了他們獨立思考、解決問題的能力。
  因此,針對操作系統(tǒng)課程的特點,本文提出將“啟發(fā)—探究式”教學(xué)方法應(yīng)用于操作系統(tǒng)的教學(xué)中,并以“生產(chǎn)者—消費者”問題為例,闡述“啟發(fā)—探究式”教學(xué)方法在實際教學(xué)過程中的應(yīng)用。
  1問題描述與分析
  “生產(chǎn)者—消費者”問題可簡單描述為:有一群生產(chǎn)者進程在生產(chǎn)產(chǎn)品,并將這些產(chǎn)品提供給消費者進程去消費。為使生產(chǎn)者進程和消費者進程能并發(fā)執(zhí)行,在兩者之間設(shè)置一個具有N個緩沖區(qū)的緩沖池。生產(chǎn)者進程可以將其所生產(chǎn)的產(chǎn)品放入一個緩沖區(qū)中,消費者進程可以從一個緩沖區(qū)中取得產(chǎn)品去消費。盡管所有的生產(chǎn)者進程和消費者進程都是以異步方式進行的,但他們之間必須保持同步,既不允許消費者進程到一個空的緩沖區(qū)中去取產(chǎn)品,也不允許生產(chǎn)者進程向一個已裝滿產(chǎn)品且尚未被取走的緩沖區(qū)中投放產(chǎn)品[4]。
  在西安電子科技大學(xué)出版的《計算機操作系統(tǒng)》[4]教材中,“生產(chǎn)者—消費者”問題被安排在臨界資源和臨界區(qū)、信號量機制與應(yīng)用之后的章節(jié),雖然有了前面知識的鋪墊,但是對于學(xué)生理解和掌握“生產(chǎn)者—消費者”問題還是有一定難度。筆者借鑒了概念設(shè)計中功能分解[5-7]的思想嘗試將復(fù)雜的“生產(chǎn)者—消費者”問題分解為幾個子問題,在教學(xué)過程中通過引導(dǎo)學(xué)生對子問題的求解,加深對復(fù)雜問題的理解,最終循序漸進地解決“生產(chǎn)者—消費者”問題。
  因為“生產(chǎn)者—消費者”問題中有兩個主要的變化因素,一是生產(chǎn)者、消費者的數(shù)量,二是緩沖區(qū)的數(shù)量。通過改變以上兩個變量,可以得到4個問題,即單緩沖區(qū)的“單生產(chǎn)者—消費者”問題(簡稱單人單緩問題)、多緩沖區(qū)的“單生產(chǎn)者—消費者”問題(簡稱單人多緩問題)、單緩沖區(qū)的“多生產(chǎn)者—消費者”問題(簡稱多人單緩問題)以及多緩沖區(qū)的“多生產(chǎn)者—消費者”問題(即“生產(chǎn)者—消費者”問題)。解決前3個問題可以為最終解決“生產(chǎn)者—消費者”問題做鋪墊,因此下面先從單人單緩問題入手,試圖通過教師的啟發(fā)和學(xué)生的自主探究最終解決“生產(chǎn)者—消費者”問題。
  2單人單緩問題
  已知條件:活動進程僅有一個生產(chǎn)者Producer和一個消費者Consumer,共享一個緩沖區(qū)。
  【啟發(fā)2-1】在學(xué)習(xí)完進程互斥問題之后,如果直接應(yīng)用互斥模型解決單人單緩問題,是否可行?
  【探究】如果用互斥模型,可以讓學(xué)生獨立寫出相應(yīng)的算法:(初始化s=1)
  通過共同分析可知,以上算法雖然保證了進程間互斥訪問緩沖區(qū),但是它允許Consumer在Producer未生產(chǎn)任何產(chǎn)品之前讀取緩沖,這并不符合常理。因此,可以得出以下結(jié)論:
  1) 單人單緩問題不適宜用互斥模型解決,因為Producer和Consumer并不屬于同等地位,它們的調(diào)度優(yōu)先級是不同的。
  2)Producer和Consumer之間不僅有對緩沖區(qū)的互斥操作,還應(yīng)有協(xié)調(diào)合作。只有在Producer向緩沖區(qū)放入產(chǎn)品后,Consumer才能夠從緩沖區(qū)中取出產(chǎn)品消費;另一方面,只有當(dāng)Consumer從緩沖區(qū)取出產(chǎn)品后,Producer才能夠繼續(xù)向緩沖區(qū)中放入新產(chǎn)品。因此,可以對學(xué)生引出進程同步的含義,即某些并發(fā)的進程,在某些關(guān)鍵點上互通信息,相互協(xié)調(diào),共同完成任務(wù)。有些教材將進程互斥歸結(jié)為進程同步問題,筆者持不同觀點。筆者認為進程同步與進程互斥是有本質(zhì)區(qū)別的,應(yīng)該加以區(qū)分。
  【啟發(fā)2-2】互斥模型不能用來解決單人單緩問題,那應(yīng)該怎么做?
  【探究】由以上分析可知,僅僅使用一個信號量來控制緩沖區(qū)已不能完全解決單人單緩問題,還需要再增加信號量用來協(xié)調(diào)Producer和Consumer之間的同步。那么,設(shè)置信號量empty給Producer提供空緩沖區(qū)同步信號,設(shè)置信號量full給Consumer提供滿緩沖區(qū)同步信號。當(dāng)Producer往緩沖區(qū)放產(chǎn)品前就要申請一個空緩沖區(qū),放入產(chǎn)品之后就要釋放一個滿緩沖區(qū)信號。Consumer則在取走產(chǎn)品前申請滿緩沖區(qū),取產(chǎn)品后釋放一個空緩沖區(qū)信號。那么,可以引導(dǎo)學(xué)生對上述算法進行修改,從而得到如下算法(因為最初緩沖區(qū)為空,所以初始化empty=1,full=0):
   以上算法不僅保證了Producer和Consumer之間不能同時訪問緩沖區(qū),而且保證了Producer和Consumer之間的同步。
  3多人單緩問題
  已知條件:活動進程有多個生產(chǎn)者Producer和多個消費者Consumer,共享一個緩沖區(qū)。
  【啟發(fā)3-1】多人單緩問題與上述的單人單緩問題相比,有何變化?
  【探究】多人單緩問題的生產(chǎn)者進程和消費者進程由原來的一個變成了多個,那么訪問緩沖區(qū)的策略就要做相應(yīng)改變。此時,不僅Producer和Consumer之間要互斥地訪問緩沖區(qū),不同的Producer進程之間、不同的Consumer進程之間也要互斥地訪問緩沖區(qū),而Producer和Consumer之間的同步關(guān)系保持不變。
  【啟發(fā)3-2】對于上述變化,應(yīng)如何反映在算法中?
  【探究】通過分析,學(xué)生們發(fā)現(xiàn)因為只有一個緩沖區(qū),信號量empty和full的最大值均為1。因此,上述單人單緩問題的算法保證了不同的Producer進程之間、不同的Consumer進程之間以及Producer和Consumer之間均不能同時訪問緩沖區(qū),在解決同步問題的同時也包含了對互斥的處理。因此,多人單緩問題的算法同單人單緩問題的實現(xiàn)是一樣的。
  
  4單人多緩問題
  已知條件:活動進程只有一個生產(chǎn)者Producer和一消費者Consumer,共享n個緩沖區(qū)。
  【啟發(fā)4-1】單人多緩問題與上述的單人單緩問題相比,有何變化?
  【探究】與上述的單人單緩問題相比,單人多緩問題在緩沖區(qū)數(shù)量上由原來的一個變成了多個,那么對緩沖區(qū)的存取就要相應(yīng)的改變策略。此時,允許Producer在空緩沖區(qū)放入產(chǎn)品的同時,Consumer在滿緩沖區(qū)取出產(chǎn)品。
  【啟發(fā)4-2】對于上述變化,應(yīng)如何反映在算法中?
  【探究】此時,需要分別設(shè)置變量來控制Producer在緩沖區(qū)中放入產(chǎn)品的位置和Consumer取出產(chǎn)品的位置。
  如果用隊列實現(xiàn)緩沖區(qū)存取管理,那么可以設(shè)置變量in和out分別記錄存、取位置變化,初值均為0。empty初值為n,full初值為0。則可以用以下語句中的(1)代替單人單緩算法中的語句(1),用語句(2)代替單人單緩算法中的語句(2),從而解決單人多緩問題。
  【啟發(fā)4-3】in和out均是指向緩沖區(qū)的指針,那么能否省略in或out,節(jié)省一個變量?
  【探究】學(xué)生們對設(shè)置兩個變量記錄存、取位置的變化有些不解,還有學(xué)生推導(dǎo)出了公式說明可以節(jié)省變量out。
  公式的結(jié)果可能是正確的,但是同學(xué)們卻忽略了信號量的由來和意義。因此,試圖讓學(xué)生們思考如果可以通過公式省略變量,那么為什么沒有這么做,以及信號量的意義是什么。
  很快,學(xué)生們就發(fā)現(xiàn)了問題的答案。信號量機制是進程同步的工具,Dijkstra最初定義整型信號量S時就規(guī)定,除初始化外,僅能通過兩個標(biāo)準(zhǔn)原子操作wait(S)和signal(S)來訪問。也就是說,信號量是不能參與運算的,這是和變量的一個區(qū)別。
  【啟發(fā)4-4】如果用堆棧實現(xiàn)緩沖區(qū)存取管理,應(yīng)該怎樣實現(xiàn)?
  【探究】隊列的實現(xiàn)講解完,就可以讓學(xué)生思考如何用堆棧來實現(xiàn)同樣的目的,看看他們是否真正理解了單人多緩問題的解決方法。
  5 “生產(chǎn)者—消費者”問題
  通過解決上述3個問題,可以順利進入到對多緩沖區(qū)的“多生產(chǎn)者—消費者”問題的解答,而多緩沖區(qū)的“多生產(chǎn)者—消費者”問題即為經(jīng)典的“生產(chǎn)者—消費者”問題。這里,依然采用“啟發(fā)—探究式”教學(xué)方法對這一問題給出解決思路。
  【啟發(fā)5-1】對于“生產(chǎn)者—消費者”問題,如果直接使用單人多緩問題的算法,會出現(xiàn)什么問題?
  【探究】假設(shè)有兩個不同的生產(chǎn)者進程 和 , 生產(chǎn)一個產(chǎn)品放入Buffer中,在 之前時間片到。然后, 又生產(chǎn)一個產(chǎn)品,則會放入Buffer中同一位置,從而產(chǎn)生錯誤。
  因此,“生產(chǎn)者—消費者”問題要保證Producer之間互斥地訪問緩沖區(qū)。同理,Consumer之間也要互斥地訪問緩沖區(qū)。
  【啟發(fā)5-2】那么,Producer和Consumer之間是否要互斥地訪問緩沖區(qū)呢?
  【探究】根據(jù)單人多緩問題的分析可知,Producer和Consumer之間不需要完全地互斥。因此,可以根據(jù)Producer和Consumer之間是否互斥地訪問緩沖區(qū)將問題分為兩種情況:
  1) 允許一個Producer在空緩沖區(qū)放入產(chǎn)品的同時,另一個Consumer在滿緩沖區(qū)取產(chǎn)品。但Producer之間以及Consumer之間要互斥訪問緩沖區(qū)。
  2)Producer和Consumer之間互斥訪問緩沖區(qū),且Producer之間以及Consumer之間均互斥訪問緩沖區(qū)。
  關(guān)于情況1),筆者已在文獻[8]中進行了詳細的闡述,在此不再贅述。
  在情況2)中要保證Producer和Consumer之間、Producer之間以及Consumer之間均互斥訪問緩沖區(qū)。那么,可以利用互斥信號量mutex實現(xiàn)諸進程對緩沖區(qū)的互斥使用。這個問題的實現(xiàn)即是一般操作系統(tǒng)教材中給出的“生產(chǎn)者—消費者”問題的算法。
  【啟發(fā)5-3】在生產(chǎn)者算法中,能否調(diào)換wait(empty)和wait(mutex)的位置?能否調(diào)換signal(mutex)和signal(empty)的位置?在消費者算法中,能否調(diào)換wait(full)和wait(mutex)的位置?能否調(diào)換signal (mutex)和signal(full)的位置?
  【探究】上述問題均是在實際教學(xué)過程中總結(jié)出來的,通過讓學(xué)生獨立解決以上問題,可以加深學(xué)生對wait操作和signal操作的理解,以及與互斥信號量同時使用時需要注意的順序問題。
  最終,通過“啟發(fā)—探究式”教學(xué)方法可以讓學(xué)生充分理解信號量在解決進程同步和互斥問題時的應(yīng)用機制,可以引導(dǎo)學(xué)生總結(jié)出以下結(jié)論:
  1) “生產(chǎn)者—消費者”算法中用于實現(xiàn)互斥的wait (mutex)和signal(mutex)需要成對地出現(xiàn)。對資源信號量empty和full的wait和signal操作也需要成對地出現(xiàn),但它們分別處于不同的程序中。
  2)wait操作順序不能顛倒。應(yīng)先執(zhí)行對資源信號量的wait操作,然后再執(zhí)行對互斥信號量的wait操作,否則可能引起進程死鎖。
  3)signal操作順序可以顛倒,不會引起阻塞,但是會影響效率。
  6結(jié)語
  本文針對操作系統(tǒng)課程的特點,提出了適用于操作系統(tǒng)課程的“啟發(fā)—探究式”教學(xué)方法,并以“生產(chǎn)者—消費者”問題為例,闡述了該方法在教學(xué)過程中的應(yīng)用。經(jīng)驗證,這種“啟發(fā)—探究式”教學(xué)方法能夠充分調(diào)動學(xué)生的積極性,進一步加深學(xué)生對進程同步問題中相關(guān)知識點的理解,取得了良好的教學(xué)效果。同時,這種教學(xué)方法對操作系統(tǒng)中其他問題的講解乃至計算機領(lǐng)域其他課程的教學(xué)均具有一定的借鑒作用。
  注:致謝:感謝合肥工業(yè)大學(xué)計算機與信息學(xué)院胡學(xué)鋼教授認真的指導(dǎo)以及VCC研究室唐益明博士、余燁博士、杜琳碩士、沈冠町碩士的積極討論。
  
  參考文獻:
  [1] 胡一之. 調(diào)動學(xué)生

主站蜘蛛池模板: 婷婷色狠狠干| 波多野衣结在线精品二区| 午夜人性色福利无码视频在线观看| 亚洲无码精品在线播放| 直接黄91麻豆网站| 在线观看欧美精品二区| 色噜噜狠狠色综合网图区| 另类专区亚洲| 亚洲成人在线网| 国产精品专区第1页| 国产伦精品一区二区三区视频优播 | www.youjizz.com久久| 精品亚洲国产成人AV| 亚洲av色吊丝无码| 免费午夜无码18禁无码影院| 国产成人1024精品| 精品91视频| 精品91在线| 中文字幕日韩视频欧美一区| 国产精品福利尤物youwu| 亚洲精品另类| 亚洲精品国产综合99久久夜夜嗨| 欧美区在线播放| 999国内精品视频免费| 国产高清在线观看| 亚洲AV成人一区二区三区AV| 国产91丝袜在线观看| 中文字幕丝袜一区二区| 强奷白丝美女在线观看| 国产在线日本| 欧美不卡视频一区发布| 国产噜噜噜| 亚洲精品第一在线观看视频| 日韩毛片在线播放| 久久亚洲高清国产| 亚洲 日韩 激情 无码 中出| 久久精品女人天堂aaa| 色视频久久| 91精品国产一区自在线拍| 久久精品亚洲专区| 国产在线98福利播放视频免费| 久久久久亚洲av成人网人人软件 | 欧美午夜网站| 在线毛片免费| 婷婷六月色| 久久99精品国产麻豆宅宅| 国产在线观看91精品亚瑟| 人妻无码AⅤ中文字| 久久免费观看视频| 久久一本精品久久久ー99| 久久综合丝袜长腿丝袜| 亚洲av色吊丝无码| 久久久久人妻一区精品色奶水 | 国产原创演绎剧情有字幕的| YW尤物AV无码国产在线观看| 日韩欧美视频第一区在线观看| 欧美一区精品| 欧美精品H在线播放| 欧美国产视频| 亚洲丝袜第一页| 高清久久精品亚洲日韩Av| 亚洲区一区| 国产浮力第一页永久地址| 99热这里只有精品国产99| 天天综合网站| 亚洲另类第一页| 国产无码精品在线| 午夜a级毛片| 国产不卡在线看| 超碰aⅴ人人做人人爽欧美 | 无码国产伊人| 亚洲综合在线最大成人| 精品亚洲麻豆1区2区3区| 丰满人妻一区二区三区视频| 四虎亚洲精品| 国产麻豆91网在线看| 真实国产乱子伦高清| 亚洲天堂视频网站| 久久精品人人做人人爽电影蜜月| 国产人在线成免费视频| 青青青视频91在线 | 99精品这里只有精品高清视频|