摘要:針對現(xiàn)有操作系統(tǒng)課程中存在的問題,分析本科國際課程指南CS2013,提出基于系統(tǒng)能力培養(yǎng)的操作系統(tǒng)課程改革和建設(shè)方案,包括改革教學(xué)手段、優(yōu)化課程內(nèi)容、強(qiáng)化課程間的縱向聯(lián)系、建設(shè)多層實(shí)踐教學(xué)體系以及培養(yǎng)學(xué)生的系統(tǒng)思維能力和軟硬協(xié)同的計(jì)算機(jī)系統(tǒng)研究、開發(fā)和應(yīng)用能力。
關(guān)鍵詞:操作系統(tǒng)課程;系統(tǒng)能力;系統(tǒng)觀;系統(tǒng)思維
1.背景
操作系統(tǒng)是計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程等相關(guān)專業(yè)的專業(yè)核心課,在人才培養(yǎng)中占有重要的地位。操作系統(tǒng)課程的教學(xué)目標(biāo)是讓學(xué)生掌握操作系統(tǒng)的基本概念、整體結(jié)構(gòu)和運(yùn)行機(jī)制以及操作系統(tǒng)各功能模塊實(shí)現(xiàn)中涉及的基本算法、方法和技術(shù);通過課程教學(xué)進(jìn)而培養(yǎng)學(xué)生具有較好的專業(yè)素養(yǎng),包括系統(tǒng)思維的能力和工程思維的能力。所謂系統(tǒng)思維,即為簡化對事物的認(rèn)知,建立整體觀的思維方法。
美國ACM協(xié)會和IEEE協(xié)會共同編著的本科國際課程指南CS2013m進(jìn)一步強(qiáng)調(diào)了系統(tǒng)知識和系統(tǒng)能力的培養(yǎng),調(diào)整和新增了4個(gè)知識域,分別是系統(tǒng)基礎(chǔ)(SF)、并行和分布計(jì)算(PD)、基于平臺的開發(fā)(PBD)以及信息保障和安全(IAS)。這4個(gè)知識域均涉及系統(tǒng)級內(nèi)容。國內(nèi)教育部計(jì)算機(jī)專業(yè)教學(xué)指導(dǎo)分委員會也曾經(jīng)組織過對計(jì)算機(jī)專業(yè)學(xué)生能力培養(yǎng)和實(shí)踐教學(xué)體系的研究。
目前,操作系統(tǒng)課程主要教授操作系統(tǒng)基本概念、基本理論和基本算法。學(xué)生對操作系統(tǒng)的理解主要還停留在基本概念的理解和基本算法的模擬仿真上,不能很好地建立操作系統(tǒng)的完整概念,缺乏系統(tǒng)觀;對于操作系統(tǒng)的核心內(nèi)容掌握不夠,沒有很好地建立知識點(diǎn)之間內(nèi)容的橫向關(guān)聯(lián)以及與其他課程的縱向關(guān)聯(lián),因而學(xué)生的綜合分析、設(shè)計(jì)和應(yīng)用能力也較差。此外,系統(tǒng)性綜合實(shí)踐環(huán)節(jié)的缺乏也導(dǎo)致學(xué)生的實(shí)踐動手能力較差。
2.基于系統(tǒng)能力培養(yǎng)的教學(xué)理念
系統(tǒng)能力是計(jì)算機(jī)專業(yè)學(xué)生區(qū)別于非專業(yè)學(xué)生的核心能力之一。相比較其他專業(yè)學(xué)生的計(jì)算機(jī)基礎(chǔ)和應(yīng)用能力,計(jì)算機(jī)專業(yè)學(xué)生的核心特點(diǎn)和需求是更強(qiáng)調(diào)計(jì)算機(jī)系統(tǒng)能力。在后PC時(shí)代,移動互聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)中心、物聯(lián)網(wǎng)等計(jì)算機(jī)應(yīng)用都對系統(tǒng)能力提出了更高的需求。
系統(tǒng)能力培養(yǎng)是一件系統(tǒng)工程。系統(tǒng)能力培養(yǎng)內(nèi)容體系需要精雕細(xì)琢,培養(yǎng)過程應(yīng)滲透到教、學(xué)的所有環(huán)節(jié)。由于目前計(jì)算機(jī)專業(yè)教學(xué)對系統(tǒng)化方面的重視不夠,因此培養(yǎng)的學(xué)生在系統(tǒng)能力方面存在一些問題。當(dāng)前,計(jì)算機(jī)專業(yè)學(xué)生最重要的是加強(qiáng)系統(tǒng)能力培養(yǎng)。操作系統(tǒng)課程在系統(tǒng)能力培養(yǎng)方面占有重要的地位。
基于系統(tǒng)能力的培養(yǎng)首先應(yīng)培養(yǎng)學(xué)生具有系統(tǒng)觀。具有系統(tǒng)觀的人才能夠站在系統(tǒng)的高度考慮和解決應(yīng)用問題,具有系統(tǒng)層面的認(rèn)知和設(shè)計(jì)能力,包括對軟件和硬件功能進(jìn)行合理劃分、對系統(tǒng)不同層次進(jìn)行抽象和封裝、對系統(tǒng)的整體性能進(jìn)行分析和調(diào)優(yōu)、對系統(tǒng)各層面的錯(cuò)誤進(jìn)行調(diào)試和修正、對用戶程序進(jìn)行準(zhǔn)確的性能評估和優(yōu)化、根據(jù)不同的應(yīng)用要求合理構(gòu)建系統(tǒng)框架等能力。
系統(tǒng)觀教學(xué)旨在培養(yǎng)學(xué)生熟練運(yùn)用所掌握的計(jì)算系統(tǒng)基本原理,開發(fā)及構(gòu)建以計(jì)算技術(shù)為核心的應(yīng)用系統(tǒng),使學(xué)生的知識體系得以更新與擴(kuò)展,系統(tǒng)設(shè)計(jì)創(chuàng)新能力同步得到強(qiáng)化與提升。
3.改革和建設(shè)內(nèi)容
3.1改革教學(xué)手段,優(yōu)化課程內(nèi)容
操作系統(tǒng)課程涉及的知識點(diǎn)廣,內(nèi)容瑣碎,學(xué)生反映需要記憶的內(nèi)容很多。改革教學(xué)手段,變堆砌知識點(diǎn)為運(yùn)用知識點(diǎn),引導(dǎo)學(xué)生變死記硬背為理解運(yùn)用。例如,在介紹信號量機(jī)制時(shí),不是簡單地介紹整型信號量、記錄型信號量、AND型信號量和信號量集機(jī)制4種信號量機(jī)制;而是首先介紹信號量是一個(gè)工具,工具經(jīng)歷從簡單到復(fù)雜的演化過程,一開始的工具簡單粗陋,存在一些缺陷,為了克服缺陷,提出改進(jìn),產(chǎn)生新的工具,然后發(fā)現(xiàn)新的工具也存在局限性,進(jìn)而繼續(xù)改進(jìn),構(gòu)建新的工具,不斷反復(fù),這樣工具逐步完善。
在講授知識點(diǎn)的同時(shí),教師還要不斷引導(dǎo)學(xué)生思考現(xiàn)有工具存在的問題,如何改進(jìn),然后介紹教材上的改進(jìn)方法。對于同樣一個(gè)工具,我們可以巧妙地利用工具某一個(gè)或者某些屬性完成不同的任務(wù),如利用信號量的哪些屬性實(shí)現(xiàn)進(jìn)程的互斥,實(shí)現(xiàn)進(jìn)程間的前趨關(guān)系以及進(jìn)程間的通訊。在介紹存儲器管理中的高速緩存時(shí),可以首先介紹日常生活中商場購物柜臺和倉庫的特點(diǎn)以及它們之間的關(guān)系,然后將柜臺和倉庫分別映射為高速緩存和內(nèi)存,將購物時(shí)商品的流通情況類比數(shù)據(jù)訪問時(shí),數(shù)據(jù)在內(nèi)存和高速緩存中的查詢讀取過程。這樣精心設(shè)置授課內(nèi)容,從學(xué)生熟悉的生活實(shí)例出發(fā),將知識點(diǎn)連接融合,引發(fā)學(xué)生思考,從全局系統(tǒng)的角度理解運(yùn)用,可以避免對孤立的知識點(diǎn)死記硬背。
3.2強(qiáng)化課程間的縱向聯(lián)系
操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)各類資源的大管家,涉及的知識面廣,與其他課程內(nèi)容有著廣泛的聯(lián)系。在授課過程中,教師可以深挖課程間知識點(diǎn)的聯(lián)系,對課程內(nèi)容進(jìn)行縱向融合,培養(yǎng)學(xué)生從整體、系統(tǒng)的角度深刻理解計(jì)算機(jī)硬件和計(jì)算機(jī)軟件。
例如,在講授信號量的知識點(diǎn)時(shí),教師可結(jié)合程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)課程,引導(dǎo)學(xué)生根據(jù)信號量的邏輯屬性,在程序設(shè)計(jì)中選擇相應(yīng)的數(shù)據(jù)類型定義信號量,利用程序設(shè)計(jì)技巧實(shí)現(xiàn)抽象模型;在介紹存儲管理中程序的鏈接和裝入過程時(shí),教師可以結(jié)合高級語言程序設(shè)計(jì)和編譯原理,加深學(xué)生對程序執(zhí)行過程的理解;在講授緩存的工作原理時(shí),可以給出以下實(shí)例:分析以下代碼中循環(huán)2比循環(huán)1快多少?
第1個(gè)循環(huán)對數(shù)組中的每個(gè)元素都乘以3,而第2個(gè)循環(huán)對每隔16個(gè)元素的數(shù)據(jù)乘以3。學(xué)生根據(jù)以往的知識結(jié)構(gòu)得出,第2個(gè)循環(huán)只做了第1個(gè)循環(huán)大約6%的計(jì)算量,因此第2個(gè)循環(huán)比第1個(gè)循環(huán)快15倍。然而,在現(xiàn)代計(jì)算機(jī)上,這兩個(gè)for循環(huán)運(yùn)行的時(shí)間差不多相等,這是為什么?
提出問題之后,我們引入緩存的工作原理,通過對工作原理的分析,進(jìn)而講授由于內(nèi)存訪問和性能,這兩個(gè)循環(huán)幾乎耗費(fèi)相同時(shí)間。這些循環(huán)的運(yùn)行時(shí)間主要由訪問數(shù)組內(nèi)存來決定,而不是整數(shù)乘法,并且硬件對這兩個(gè)循環(huán)執(zhí)行相同的主存儲器訪問。CPU并不是逐個(gè)字節(jié)地訪問內(nèi)存,而是以(典型的)64字節(jié)的塊為單位取內(nèi)存,稱作緩存行(cache lines)。當(dāng)程序讀取一個(gè)特定的內(nèi)存地址時(shí),整個(gè)緩存行都被從主內(nèi)存取到緩存中,并且此時(shí)讀取同一個(gè)緩存行中的其他數(shù)值非???。因?yàn)?6個(gè)整數(shù)占用了64字節(jié)(一個(gè)緩存行),所以步長從1到16的for循環(huán)都必須訪問相同數(shù)量的緩存行,即數(shù)組中的所有緩存行,但是如果步長是32,CPU只需要訪問約1/2的緩存行;步長是64時(shí),只有1/4。該實(shí)例的講解過程中,既可講授操作系統(tǒng)緩存的工作原理,又能引導(dǎo)學(xué)生從更深層次和更系統(tǒng)的角度看待和理解程序設(shè)計(jì)過程中遇到的問題,進(jìn)而使學(xué)生逐步形成和建立系統(tǒng)觀。
3.3建設(shè)多層實(shí)踐教學(xué)體系
實(shí)踐教學(xué)是系統(tǒng)能力培養(yǎng)的重要環(huán)節(jié)。學(xué)生主動參與課程實(shí)踐,可以對所授知識點(diǎn)有更為直觀、深入的認(rèn)識,有助于提高學(xué)習(xí)興趣,進(jìn)而提高學(xué)習(xí)的主動性和積極性,從而形成積極思考、探索問題、提高解決問題的系統(tǒng)能力。現(xiàn)有的操作系統(tǒng)課程教育側(cè)重理論講授,雖然也設(shè)置操作系統(tǒng)實(shí)驗(yàn),但是多為算法的簡單模擬。為了提高學(xué)生的系統(tǒng)能力,加強(qiáng)實(shí)踐教學(xué),教師需要深入開展“系統(tǒng)”級別的實(shí)踐訓(xùn)練,建設(shè)多層實(shí)踐教學(xué)體系,在干中學(xué),從觀察系統(tǒng)到仿制系統(tǒng),再到定制系統(tǒng),最終進(jìn)入創(chuàng)造系統(tǒng),培養(yǎng)學(xué)生的系統(tǒng)能力,形成系統(tǒng)觀。
構(gòu)件級學(xué)習(xí)和訓(xùn)練是整體級學(xué)習(xí)和訓(xùn)練的基石。教師除了在實(shí)驗(yàn)課程內(nèi)容安排上保留少量經(jīng)典的驗(yàn)征性基礎(chǔ)實(shí)驗(yàn)內(nèi)容外,還應(yīng)主要將基本技能融入綜合實(shí)驗(yàn)中,增加綜合與設(shè)計(jì)性實(shí)驗(yàn),而在實(shí)驗(yàn)內(nèi)容方面更注重于分析設(shè)計(jì)和編程能力的鍛煉;將實(shí)踐教學(xué)內(nèi)容分為3個(gè)層次:基礎(chǔ)驗(yàn)證性實(shí)驗(yàn)、綜合實(shí)驗(yàn)和設(shè)計(jì)實(shí)驗(yàn)。安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院操作系統(tǒng)課程實(shí)踐教學(xué)內(nèi)容見表1。
4.結(jié)語
高素質(zhì)的計(jì)算機(jī)專業(yè)人才必須具備良好的系統(tǒng)能力。為適應(yīng)計(jì)算機(jī)行業(yè)的快速發(fā)展,培養(yǎng)滿足社會需求的和具有良好計(jì)算機(jī)系統(tǒng)能力的專業(yè)人才,是當(dāng)前計(jì)算機(jī)教育中亟須解決的核心問題之一。操作系統(tǒng)課程在學(xué)生系統(tǒng)能力培養(yǎng)中占有重要地位,筆者分析了基于系統(tǒng)能力培養(yǎng)的教育理念,根據(jù)操作系統(tǒng)課程特點(diǎn)提出基于系統(tǒng)能力培養(yǎng)的操作系統(tǒng)課程改革和建設(shè)方案,提高了學(xué)生對計(jì)算機(jī)系統(tǒng)整體的深入理解和解題能力,實(shí)現(xiàn)了培養(yǎng)具有良好系統(tǒng)能力的高素質(zhì)計(jì)算機(jī)專業(yè)人才的目標(biāo)。