李仲生 黃美玲
摘 要: 銀行家算法要解決的通常是并發多進程、多種類資源環境下的死鎖避免問題,所處環境有隨機性、動態性的特點,算法采用的數據結構多且復雜,這些因素易讓學生潛意識地產生畏難意識,為調動學生的主觀能動性,基于PBL給出一種團隊教學模式。銀行家算法的實際教學顯示,這種教學模式挖掘學生的潛力,提升教學內容的可理解性。
關鍵詞: PBL 團隊式教學模式 死鎖避免 主動學習
一方面,進程的同步與互斥是多進程并發執行的基石,位于執行的核心位置,是操作系統課程教學重點。另一方面,由于是多進程并發執行,進程對資源的要求是動態的,難以預知,要避免死鎖發生,進程的同步與互斥必須提升到能反映這種動態性,內容自然成為操作系統課程教學的難點。如果是單一資源的互斥或多個資源一次性分配互斥,采用PV原語利用信號量能可靠實現,如果是多進程多資源的異步多次分配,光依靠PV原語和信號量已無法確保死鎖不發生,此時,就需要專門死鎖避免算法。銀行家算法就是這樣一種算法。
銀行家算法面對的是多進程多資源的異步分配,算法實現涉及一系列向量和矩陣數據結構,抽象且復雜,有相當的教學難度。為降低學生學習難度,總結長期教學實踐,下文給出一種基于PBL(Problem-Based Learning)[1]團隊式教學模式。
1.PBL(Problem-Based Learning)團隊式教學
PBL即以問題為導向的學習模式,是基于現實世界以學生為中心的教育方式[2]。與傳統教師主講的教學方式不同,在PBL學習模式中,學生的行為不再是被動聽課,而是主動沿著問題展開學習;……