?

“操作系統”課程教材建設與教學實施探討

2009-08-28 09:09費翔林葉保留葛季棟
計算機教育 2009年14期
關鍵詞:操作系統教學實施課堂教學

駱 斌 費翔林 葉保留 葛季棟

摘要:教材建設是課程建設和人才培養的核心,本文以作者編著出版的理論課教材《操作系統教程》(第4版)為背景,重點討論“操作系統”講什么?怎么講?以及教材的總體規劃與建設,文章還扼要介紹了“操作系統”課堂教學實施中的心得體會,為進一步提高“操作系統”課程教學質量“拋磚引玉”。

關鍵詞:操作系統;課堂教學;教學實施

中圖分類號:G642 文獻標識碼:B

1引言

操作系統是計算機系統的核心和靈魂,是最為基礎的軟件系統,構造極為復雜?!安僮飨到y”課程是計算機相關專業的專業核心課程,通過該課程的學習不但要求學生掌握操作系統的基本理論和知識,具有剖析、設計和實現操作系統的基本能力,而且應該培養學生的軟件開發能力、技術創新能力、科學作風與綜合素質等。因此,計算機科學與技術專業的學生必須要學好這門專業課程。

由于操作系統理論性與實踐性結合緊密,涉及學科抽象、理論、設計3個形態,與理論模型、算法設計、軟件系統、工程實現、程序設計、領域應用等密切相關,具有理論性強、概念抽象、難以理解掌握,設計技巧高、實現機制精妙、代碼量龐大,技術發展迅速、知識更新快、內容廣泛且與多個方向交叉等特征,因此“操作系統”教學有相當難度。

多年來,我們積極開展“操作系統”課程建設,跟蹤計算機科學與技術的新趨勢、新技術、新方法,不斷更新教學大綱、理論教材、實驗教材、電子教案、教學方法、實驗環節,革新課堂教學和實驗教學的內容和手段,改進考核評分辦法、探索加強能力培養的途徑,組建和培養教學師資梯隊,開發數字化網絡支撐平臺,多方位、立體化推進“操作系統”課程教學質量的提高。

教材建設是課程建設和人才培養的核心,本文以作者編著出版的理論課教材《操作系統教程》(第4版)為背景,結合教材的總體規劃與建設,圍繞“操作系統”講什么?怎么講?介紹多年來在“操作系統”課堂教學上的心得體會,以期拋磚引玉。

2操作系統理論教材的規劃與建設

2.1教材建設歷史

南京大學是國內最先開展操作系統研究與教學的單位之一,我校自1973年為計算機專業本課生開設“操作系統”課程開始,到2009年為止,30多年間,共出版操作系統教材7本。1980年出版《操作系統原理》(人民郵電出版社),1987年出版《分布式操作系統》(國防工業出版社),1989年出版《操作系統教程》(高教出版社)獲1992年國家級優秀教材獎,1995年出版《操作系統教程(第2版)》獲1997年江蘇省二類優秀課程獎,2003年出版《操作系統教程(第3版)》獲2004年江蘇省優秀課程群獎,2008年出版《操作系統教程(第4版)》被評為2008年教育部精品教材。

2.2 《操作系統教程(第4版)》教材建設思路

操作系統是計算機領域最活躍的分支之一,盡管其基礎理論與技術已基本成熟,進入二十世紀九十年代后,隨著計算機技術突飛猛進,操作系統新概念、新技術、新方法層出不窮?!安僮飨到y”課程一方面要適應這種發展的趨勢,即時更新教學內容;另一方面,也必須抓住操作系統最基本的原理和技術,注重基礎理論知識教學。

《操作系統教程(第4版)》(以下簡稱“第4版”)以“科學性、系統性、先進性、實用性”為教材編著指導思想,從理論、抽象、設計3個形態的高度來組織教學內容,將整個教材劃分成十個知識單元:(1)概念與原理;(2)進程和線程;(3)同步、通信和死鎖;(4)處理器管理和調度;(5)存儲管理與虛擬存儲器;(6)設備管理;(7)文件管理與虛擬文件系統;(8)安全與保護;(9)結構與設計、典型操作系統實例;(10)網絡與分布式操作系統。教材安排布局和內容組織緊密圍繞十個知識單元,有系統、有層次、有廣度、有深度地展開全書內容。

第4版教材總體規劃與建設過程中,著重考慮了以下幾點:

(1) 既要涵蓋傳統操作系統的基本概念、技術和方法,又要融合現代操作系統的最新技術發展和應用。

(2) 注意理論聯系實際,相關概念或原理內容,精選現代操作系統實例作剖析與對比,有益于學生深入理解基本概念和原理,牢固掌握設計與實現的技術和方法。

(3) 強調四講:講概念、講原理,講方法、講編程。

以并發進程知識點為例,表1為進程通信知識點及層次安排,給出了自底向上構筑操作系統中“并發問題”解決方案的知識框架。從程序并發執行出現的與時間有關的錯誤問題出發,逐層深入、逐步展開與闡述,講解并發程序設計從低級通信原語到高級通信原語,從面向指令的低級程序設計到面向語言的高級程序設計轉化的過程,體現了操作系統并發性解決方案自底向上的構筑過程和不同層次。在每個層次上,不但講概念和原理,也講具體方法和用來求解經典同步問題的編程(偽代碼)例子,使學生容易掌握這些重點與難點,既有利于學生正確理解概念和原理,又能培養學生的動手實踐能力和分析解決問題的能力。

(4) 歸納綜合、總結提高,從對概念和技術的散碎的感性認識,上升到系統的、理論的高度。資源管理是操作系統最重要的功能之一,目前所見國內外教科書都會討論這些內容,但鮮有系統地論述的。第4版教材作了嘗試與探索,歸納綜合資源管理有關知識點,進行系統深化和總結提高。首先,給出資源管理的三種技術:復用技術、虛化技術和抽象技術,闡述每種技術的定義、用途和用法。其次,討論操作系統中三種最基礎抽象:進程抽象、虛存抽象和文件抽象,于是可面向進程而不是處理器、面向虛存而不是實存、面向文件而不是磁盤,也就是不直接面向硬部件進行處理,這樣一來操作系統資源管理工作就會變得簡單與有效。至此,就能從理論高度掌握資源管理技術,為教好學好操作系統打下良好基礎。

(5) 注重基礎知識,加強技能訓練。確?;A理論和知識在課程中的地位,只有掌握理論和知識,才能為創新能力培養打好基礎,這一點在第4版教材編寫中予以關注。全書編寫200多道應用題,作為實踐和技能訓練的內容之一。通過讓學生多做各種類型應用題達到強化技能訓練的目的,也是加強能力培養的一個重要方面。

(6) 注意與實驗課教材的銜接。充分體現操作系統理工緊密結合,理論與實踐緊密結合的特點。課堂教學以傳授理論和知識為主,實驗教學以操作和實驗為主,理論可在實驗中得到檢驗并指導實踐,實驗有利于對理論的理解并促進理論的發展。另外編寫配套實驗教材《Linux操作系統實驗教程》,兩本教材相輔相成完成“操作系統”教學任務。

3 “操作系統”課堂教學實施中的有關問題

如圖1所示,操作系統觀察和研究可以從兩個角度、兩種方法、四種觀點出發,并圍繞六個問題展開。其中,兩個角度是:用戶角度和系統角度;兩種方法是:靜態觀察和動態觀察方法;四種觀點是:服務用戶的觀點、管理資源的觀點、系統實現的觀點和進程交互的觀點;六個問題是:什么是操作系統?為什么要操作系統?操作系統是做什么的?操作系統是如何做的?操作系統是如何使用的?操作系統是如何構造的?

“操作系統”教學的主要內容就是站在不同角度、采用不同方法、使用不同觀點來研究六個問題。其中四種觀點是系統講解操作系統原理的立論,也是操作系統設計的內涵所在,也就是說,是觀察和研究操作系統的(總)綱,綱舉目張,必須在教學過程中予以強調和滲透。有關四種觀點的解釋如圖1:

(1) 操作系統作為用戶接口和公共服務程序

由于用戶對計算機系統的需求與期望和現有硬件性能之間存在巨大差距,因此需要操作系統來填補這個差距,操作系統處于用戶與計算機硬件之間,用戶通過操作系統來使用計算機。從內部來看,操作系統對計算機硬件進行改造和擴充,為應用程序提供強有力的支持,提供原語和系統調用來擴展機器指令集;從外部來看,操作系統提供友好的人機接口,使得用戶能夠方便、可靠、安全、高效地使用硬件和運行應用程序;經過操作系統改造和擴充過的計算機不但功能更強,使用起來也更為方便,用戶通過“系統調用”使用操作系統提供的各種功能,而無需了解軟硬件本身的細節,所以,操作系統是一個友善的用戶接口和各種公共服務的提供者。

(2) 操作系統作為程序執行的控制者和協調者

操作系統引入進程概念,進程是支持程序執行的系統機制,系統以進程方式組織用戶使用計算機??蓤绦谐绦蜃鳛槲募嬗诖疟P上,工作時被調入主存,系統為程序分配一定數量的資源,并進行一系列復雜操作,其中最重要的是:為其分配一個稱為進程控制塊的內核數據結構,此時執行的程序就演變成進程,具備了在多道程序環境中運行的條件,可被調度程序調度執行。此外,操作系統還能合理組織計算機工作流程,協調各個硬部件有效工作,為應用程序提供良好的運行環境。所以說,操作系統是程序執行的控制者。并發進程執行過程中,會產生兩種基本關系:競爭和協作,操作系統協調進程運行,解決并發進程間互斥、同步、通信和死鎖問題。所以,操作系統是程序執行的協調者。

(3) 操作系統作為擴展機或虛擬機

人們在多年以前就認識到必須找到某種方法把硬件的復雜性與用戶隔離開來,經過不斷探索和研究,采用的方法是在計算機裸機上加上軟件來組成計算機系統,同時,為用戶提供容易理解和便于使用的接口。在操作系統中,把硬件細節隱蔽并把它與用戶隔離開來的情況隨處可見,虛擬機就是一種例證,每當在計算機上添加一種軟件,提供一種抽象,系統的功能便增加一點,使用起來就更加方便一點,運行環境就更加友好一點。所以,從這個角度看,操作系統的作用是為用戶提供比低層硬件的功能顯著增強、使用更加方便、安全可靠性更好、效率明顯提高的擴展機或虛擬機。

(4) 操作系統作為資源管理者和控制者

為了提高系統效率,操作系統必須支持多道程序設計,合理調度和分配各種資源,充分發揮并行部件的性能,使它們最大限度地重疊操作和保持忙碌。操作系統的重要任務之一是對資源進行抽象研究,找出各種資源的共性和個性,有序地管理計算機中的軟硬件資源,記錄資源使用情況,確定資源分配策略,實施資源的分配和回收,滿足用戶對資源的需求,提供機制來協調應用程序對資源的使用沖突,研究資源使用的統一方法,為用戶提供簡單、有效的資源使用手段,在滿足應用程序需求的前提下,最大限度地實現各類資源的共享,提高資源利用率,從而提高計算機系統的效率。

從四種觀點出發,圍繞六個問題,通過十個知識單元展開“操作系統”教學內容的實施,是一條可選的教學途徑。教學實施中,以下各項措施或授課方法可供參考。

(1) 從概念入手,以數據結構與算法為主線

從問題引入概念,認真分析概念的特點,從概念的出現或產生背景入手,分析為什么要引入,由淺入深、由表及里、由此及彼,透徹分析概念和相關內容的基本要點,引導學生掌握知識。如“進程”、“線程”等概念均作了這樣處理,讓學生弄懂來龍去脈,才能使他有更深刻的理解,打下更扎實的基礎,將來才會有更好的發揮和創新。

此外,操作系統中的重要概念都通過特定數據結構和算法來實現,要從概念的基本內涵出發,分析實現概念的具體數據結構和算法,把對概念的把握落實到對應的數據結構和算法上。同樣以“進程”為例,這里就要抓住重點,構成進程的要素之一——進程描述塊,講其重要性及內容。從進程的概念、到進程的組成、再到進程的創建,學生就能較好地理解掌握這一組知識點。

(2) 注重概念或原理與實際的聯系

對相關概念或原理內容,精選現代操作系統實例作剖析與對比,有益于學生深入全面理解操作系統的基本原理,牢固掌握操作系統設計與實現的技術和方法。例如,在介紹中斷處理任務延遲機制后,可讓同學了解Linux的任務延遲機制bottom half、task queue、task let、work queue、softirq在實際系統中是如何實現的。

(3) 處理好教學中的“重點”與“難點”

緊抓住教學重點,處理好教學難點。重點要反復講,難點要深入講,遵循由淺入深、步步為營策略。為了處理好重點、難點,可以通過多種途徑進行。如:課堂強調、多舉例子、歸納小結;課件演示、動畫效果、前后串連;實例對比、多做練習、實驗驗證;分門別類、歸并處理、融會貫通等。

(4) 開展啟發式和研究型教學

開展啟發式研究型教學,通過講授思想和方法,讓學生開闊視野、培養興趣。通過提出問題,給出解決方案,引導啟發學生提出更好解決方案,來培養主動探索與研究精神。例如,討論采用信號量及PV操作求解哲學家吃通心面問題,先給出一個有缺陷程序,引導啟發學生找出缺陷所在,再讓同學提出補救措施,最后給出完善求解程序。開展啟發式研究型教學,步步引導、步步深入,會讓學生學得深、學得透,牢固掌握相關內容,初步培養起能獨立進行科學研究的能力。

(5) 前后連貫,融會貫通,把知識點串連成線,建立操作系統全局和整體概念

教學中為了便于理解、突出重點,各個章節通常只圍繞一個功能進行討論,我們調整內容,把關系密切的知識點放在一起討論,貫徹由點(知識點)→線(一串相關知識點)→面(應用層面)的教學思路。例如,在中斷分類中,硬中斷與軟中斷放在一起討論,從概念、特性、實現手段、實現設施進行對比分析,讓相關知識點串連成線,使學生容易理解這個難點。為了讓學生建立對操作系統的系統級認識和整體性把握,教學中注意把相關知識點前后相連。如從鍵盤鍵入和執行命令,牽涉到shell創建子進程,“存儲管理”、“文件管理”、“設備管理”等許多模塊相互配合協同工作。多個知識點前后連貫,融會貫通,串連成線,能使學生看到主線、看到聯系、看到整體,這對幫助學生建立操作系統全局和整體概念大有好處。

(6) 注意原理算法與實際代碼間的對照分析

實用操作系統源代碼龐大復雜,一個概念的具體實現要考慮諸多因素,做出多種折中和平衡,教科書中的原理算法都省略了若干因素,簡化了實際環境。實際上,操作系統中所有概念、原理、技術、算法都由源代碼來實現,要十分重視源代碼的分析與閱讀工作,培養學生的閱讀和剖析源代碼的能力,從而來提高學生的動手能力。

(7) 改革教學方法,加強師生互動

課堂上可根據教學內容精心設計安排提問,引導學生思考,活躍課堂氣氛。通過提問式、對話式的師生互動能培養學生參與意識和適度保持緊張,使之積極思考和提出自己的觀點和思路。還可以根據教學進度適當安排討論習題課,讓學生有機會對課文有關內容進行深入理解、融會貫通,通過分析與解決有關難題達到開拓視野、觸類旁通之目的。

(8) 處理好基本講授內容的穩定性和反映新技術、新原理、新趨勢的及時性

基本講授內容必須穩定,課時得到保證。但隨著信息技術的快速發展,出現的與操作系統有關的新技術、新原理、新趨勢應及時反映和介紹。例如,“眾核”技術、“云計算”技術,及時向學生介紹這些技術的由來、概念、前景,增加了新知識、了解了新動向。

(9) 有效運用多媒體手段,改進教學效果

通過多媒體手段制作課件、圖像、圖形等,讓難弄懂難理解的概念或算法形象化、具體化,更好地表達講課內容,使學生容易接受,便于理解,有事半功倍的效果,可以作為教學手段的補充,應給予高度重視。

4結束語

面向21世紀教材《操作系統教程(第4版)》自2008年4月出版以來,已有35多個院校使用。多數老師和學生肯定了該教材的優點,但學無止境、教無止境,在課堂教學實施過程中,看到了教材的不足之處,需要在今后的工作中進一步完善改進。

參考文獻:

[1] 操作系統課程教學實施方案研制組. 高等學校計算機科學與技術專業核心課程教學實施方案(草案)[Z]. 2009.

[2] 孫鐘秀,費翔林,駱斌. 操作系統教程[M]. 4版. 北京:高等教育出版社,2008.

[3] 費翔林,李敏,葉保留. Linux操作系統實驗教程[M]. 北京:高等教育出版社,2009.

[4] 史廣順, 韓維桓, 袁曉潔. 南開大學“操作系統”課程建設的思考[J]. 計算機教育,2006(7):21-24.

[5] 羅宇, 張穎蓓, 葉常春. 本科操作系統課程設置及教學體會[J]. 計算機教育,2006(1):39-40.

猜你喜歡
操作系統教學實施課堂教學
簡約化初中化學課堂教學實踐探索
自然拼讀法在小學英語課堂教學中的有效融入
數學開放題在初中課堂教學的探索
智能手機操作系統的分析與比較
國產桌面操作系統中虛擬化技術應用研究
校本特色課程的教學實施與評價
小組合作探究模式在初中英語課堂教學中的實施
任務驅動教學法在成人教育中的運用分析
一場及時的春雨
跨越式跳高課堂教學設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合