趙 敬 張茂紅
(山東女子學(xué)院 數(shù)據(jù)科學(xué)與計算機(jī)學(xué)院,山東 濟(jì)南 250300)
成果導(dǎo)向教育(Outcome based education,OBE),是一種以學(xué)生為中心、以成果為目標(biāo)導(dǎo)向的教育理念,亦稱為目標(biāo)導(dǎo)向教育或產(chǎn)出導(dǎo)向教育[1]7-10。本文基于OBE 的工程教育理念,從“學(xué)什么、為什么學(xué)、如何學(xué)以及如何評價”四個問題出發(fā),采用逆向思維,以課程目標(biāo)為起點(diǎn)構(gòu)建課程內(nèi)容、確立教學(xué)策略、反向進(jìn)行教學(xué)設(shè)計。
操作系統(tǒng)(Operating System,OS)是加載到計算機(jī)硬件上的第一層系統(tǒng)軟件,最初是為了方便用戶“操縱”計算機(jī)而出現(xiàn)的。后來,隨著計算機(jī)軟硬件資源的發(fā)展,它就成為資源受限情況下的“協(xié)調(diào)者”,司職資源調(diào)度和流程控制。作為計算機(jī)類專業(yè)的一門專業(yè)必修課程,操作系統(tǒng)課程涉及相互關(guān)聯(lián)且一直在發(fā)展變化的諸多理論和技術(shù),是學(xué)生進(jìn)行專業(yè)知識建構(gòu)、能力培養(yǎng)和素質(zhì)養(yǎng)成的核心課程之一,在培養(yǎng)學(xué)生解決復(fù)雜工程問題能力的過程中發(fā)揮著至關(guān)重要的作用。因此,基于OBE 工程教育理念操作系統(tǒng)課程的教學(xué)研究與探索勢在必行。
操作系統(tǒng)是現(xiàn)代計算平臺的基礎(chǔ)與核心支撐系統(tǒng),負(fù)責(zé)管理硬件資源、控制程序運(yùn)行,改善人機(jī)交互以及為應(yīng)用軟件提供運(yùn)行環(huán)境等[2]1-5。本課程通過對操作系統(tǒng)經(jīng)典算法進(jìn)行全面系統(tǒng)的梳理,使學(xué)生能夠理解操作系統(tǒng)的工作原理、運(yùn)行機(jī)制和思維方法,引導(dǎo)學(xué)生既要有操作系統(tǒng)的全局觀、又能夠?qū)Σ僮飨到y(tǒng)各種資源調(diào)度算法進(jìn)行驗證、分析、比較和評價,建構(gòu)操作系統(tǒng)的知識體系,實現(xiàn)“懂原理、能驗證、會評價”的課程目標(biāo)。
操作系統(tǒng)是一門系統(tǒng)性與實踐性都非常強(qiáng)的學(xué)科,脫離實際來談操作系統(tǒng),極易陷入“紙上談兵”,并且可能由于陷入資源調(diào)度細(xì)節(jié)而缺乏對操作系統(tǒng)全局與原理的整體把握。因此,這就要求操作系統(tǒng)教學(xué)不僅要面向經(jīng)典理論與方法,更要面向最新工業(yè)實踐,深入淺出地介紹操作系統(tǒng)的理論、架構(gòu)、設(shè)計方法與具體實現(xiàn),在經(jīng)典理論與工業(yè)實踐之間形成互為前饋、彼此推進(jìn)的良性循環(huán)教學(xué)體系,培養(yǎng)學(xué)生利用所學(xué)知識解決復(fù)雜工程問題的能力,能夠針對不同計算機(jī)系統(tǒng)資源管理目標(biāo)進(jìn)行整體設(shè)計,提供全局最優(yōu)解決方案。
操作系統(tǒng)自20 世紀(jì)50 年代誕生以來,經(jīng)歷了從專用操作系統(tǒng)到通用操作系統(tǒng)的轉(zhuǎn)變,當(dāng)前又隨著智能終端的多樣化,5G 帶來的大連接、低時延、高吞吐,以及異構(gòu)硬件設(shè)備的繁榮發(fā)展,當(dāng)今世界正在逐步進(jìn)入一個萬物互聯(lián)的智能世界,任何單一操作系統(tǒng)算法都已經(jīng)難以覆蓋所有場景應(yīng)用[3]3-12。因此,這就要求教師在教學(xué)過程中與時俱進(jìn),及時了解操作系統(tǒng)的學(xué)術(shù)研究前沿,引導(dǎo)學(xué)生面對新設(shè)備、新環(huán)境以及新的應(yīng)用場景,善于思考,積極提出新思路、新算法,培養(yǎng)學(xué)生的系統(tǒng)化思想、工程思維、創(chuàng)新意識和創(chuàng)新能力。
為切實達(dá)成“高素質(zhì)、復(fù)合型”的應(yīng)用型人才培養(yǎng)目標(biāo),著力培養(yǎng)學(xué)生解決復(fù)雜工程問題的能力,本課程在教學(xué)理念設(shè)計上目標(biāo)導(dǎo)向、建構(gòu)生成,在教學(xué)內(nèi)容序化上首尾呼應(yīng)、知識聯(lián)動,在教學(xué)方法運(yùn)用上概念“迭代”、問題驅(qū)動。
任何一門課程學(xué)習(xí)之初,必須首先解決“為什么學(xué)”的問題,這樣才能使學(xué)生在學(xué)習(xí)過程中有的放矢。然而,每個學(xué)生有不同的學(xué)習(xí)基礎(chǔ)、學(xué)習(xí)習(xí)慣與個性化學(xué)習(xí)需求,這就需要老師針對每個具體的學(xué)生、每堂課具體的教學(xué)內(nèi)容,都有量身定制、相機(jī)而動的教學(xué)方案,為每個學(xué)生規(guī)劃、設(shè)計不同的學(xué)習(xí)軌跡與成長路徑,這樣才能殊途同歸,最終讓所有學(xué)生都能達(dá)成預(yù)期學(xué)習(xí)目標(biāo)。
以課程目標(biāo)為起點(diǎn)、以學(xué)生為中心,注重學(xué)情分析與教學(xué)前饋,閉環(huán)設(shè)置教學(xué)情境,師生共同建構(gòu)課程知識體系。如圖1 所示,通過對每堂課包括課前前饋、課中內(nèi)化、課后驗證與反饋的微閉環(huán)設(shè)計,以及對整門課程學(xué)習(xí)提前進(jìn)行學(xué)情分析、重視一頭(課程導(dǎo)入)一尾(課程報告)、精心設(shè)計課中教學(xué)策略、注重課程評價與反饋的大閉環(huán)教學(xué)設(shè)計,努力創(chuàng)設(shè)“沉浸式”學(xué)習(xí)情境,強(qiáng)調(diào)學(xué)生對操作系統(tǒng)知識體系的主動探索和建構(gòu)。

圖1 操作系統(tǒng)課程“雙閉環(huán)”教學(xué)設(shè)計示意圖
首先要重視課程導(dǎo)入。教師進(jìn)行教學(xué)情境創(chuàng)設(shè),需要厘清課程概念的前世今生,讓學(xué)生帶著對新概念的憧憬進(jìn)入學(xué)習(xí)語境。從結(jié)構(gòu)發(fā)展角度看,操作系統(tǒng)從分層時期的等級分明,到微內(nèi)核時期的“策機(jī)分離”,直到今天輕量級內(nèi)核“授權(quán)”和應(yīng)用程序“定制”服務(wù)的外核結(jié)構(gòu),它從模塊化出發(fā),歷經(jīng)抽象、分層和等級森嚴(yán)的層級制度,這種層層剝離和“Worse is better”式的“瘦身”真是大道至簡、充滿哲學(xué)意味。從發(fā)展歷程看,因為資源昂貴,早期操作系統(tǒng)關(guān)注系統(tǒng)資源效率,所以有了多道批處理系統(tǒng)。后來,硬件成本急速下滑,而其性能卻飛速提升,人們開始關(guān)注“以用戶需求為本”,致力于對用戶提出的所有訴求公平地做出及時響應(yīng),所以就有了分時系統(tǒng)。當(dāng)及時交互、公平響應(yīng)、硬件資源飛速發(fā)展達(dá)到一定程度時,實時系統(tǒng)也許是最能體現(xiàn)“與時俱進(jìn)”思維模式的一類操作系統(tǒng)了,因為它是典型的“以空間換時間”。此時的操作系統(tǒng)有兩個典型特征,一是時間取代硬件成為最昂貴的資源,二是安全準(zhǔn)則已經(jīng)成為凌駕于公平和效率之上的終極準(zhǔn)則,因為如果沒有了安全,那公平與效率就會成為無稽之談。可見,技術(shù)在進(jìn)步,概念的內(nèi)涵和外延也在發(fā)生變化,通過分析概念的原始形態(tài)、了解操作系統(tǒng)的發(fā)展歷程,可以讓學(xué)生不知不覺地進(jìn)入學(xué)習(xí)情境,吸納由這些歷史事實折射出來的邏輯思維精華,進(jìn)而主動進(jìn)行意義建構(gòu),生成課程知識體系,養(yǎng)成專業(yè)思維模式。
其次是堅持問題導(dǎo)向。問題導(dǎo)向是一種起始于真實問題的教學(xué)方法,通過引導(dǎo)探究、師生合作來解決問題,旨在培養(yǎng)學(xué)生主動學(xué)習(xí)與解決實際問題的能力。比如在課程導(dǎo)入環(huán)節(jié),先是通過一個編程、編譯、運(yùn)行的過程實例,引導(dǎo)學(xué)生發(fā)現(xiàn)在單任務(wù)環(huán)境下,操作系統(tǒng)的工作任務(wù)是線性的、簡單的。然而,當(dāng)遇到編程、聽歌、聊天、打游戲等“多任務(wù)并發(fā)”時,就會引發(fā)操作系統(tǒng)管理新問題,比如,“單個CPU 如何應(yīng)付如此多的計算任務(wù)”“有限的內(nèi)存能否容得下如此多的運(yùn)行程序”等等。于是,“操作系統(tǒng)到底操控(管理)什么事情”“操作系統(tǒng)如何操控(管理)這些事情”正是這些“容我慢慢道來的”復(fù)雜問題,激發(fā)了學(xué)生解決問題的興趣,帶著問題進(jìn)入學(xué)習(xí)語境,師生合作,主動探索,進(jìn)而通過類比分析、概念“迭代”等方法逐步解決問題。
第三,協(xié)同先修課程,進(jìn)行知識聯(lián)動。建構(gòu)主義關(guān)注學(xué)生已有經(jīng)驗和學(xué)習(xí)情境創(chuàng)設(shè),因此,分析操作系統(tǒng)的先修課程對于創(chuàng)設(shè)學(xué)習(xí)情境、引領(lǐng)學(xué)生進(jìn)入學(xué)習(xí)語境至關(guān)重要。作為操作系統(tǒng)的先修課程,數(shù)據(jù)結(jié)構(gòu)和計算機(jī)組成原理都不可或缺。如果說計算機(jī)組成原理為操作系統(tǒng)的學(xué)習(xí)提供了硬件基礎(chǔ)和至關(guān)重要的中斷概念,——因為從某種角度,中斷機(jī)制是“進(jìn)程”乃至現(xiàn)代操作系統(tǒng)得以運(yùn)行的基礎(chǔ),——那么數(shù)據(jù)結(jié)構(gòu)就為操作系統(tǒng)所有調(diào)度算法設(shè)計提供了各種可行的數(shù)據(jù)結(jié)構(gòu)。比如,進(jìn)程要按照“先來后到”排隊等在所需資源后面去靜待被調(diào)度;而文件系統(tǒng)則是按照“樹形”分層進(jìn)行組織,所以才能實現(xiàn)對文件的快速檢索和按名存取;操作系統(tǒng)課程“最復(fù)雜”的銀行家算法和死鎖檢測算法,就是采用了“最復(fù)雜”的數(shù)據(jù)結(jié)構(gòu)——圖。
算法設(shè)計必須關(guān)注時空效率,而操作系統(tǒng)視角的時空效率則旨在彼此借力、團(tuán)結(jié)協(xié)作以期相互成全、爭取全局最優(yōu)。比如,為了讓慢速的外設(shè)能夠跟得上CPU 快速的步伐,操作系統(tǒng)“以空間換時間”,為外設(shè)量身設(shè)計了緩沖技術(shù)、Spooling 技術(shù)等,也就是通過增加存儲容量來減少CPU 的等待時間,緩解快速的CPU 與慢速的外設(shè)之間速度不匹配的問題。再比如,為了既節(jié)省成本又能為運(yùn)行空間增容,操作系統(tǒng)“以時間換空間”,為內(nèi)存設(shè)計了虛擬存儲技術(shù)、緊湊技術(shù)等,即通過增加訪問時間來擴(kuò)充內(nèi)存的邏輯容量。而這一切的設(shè)計,都離不開跑在快速CPU 上的短小精悍的算法——即“原語”,也離不開大容量的磁盤,因為前者跑得快、后者空間大。可見在操作系統(tǒng)的管理視域里,任何資源都沒有缺點(diǎn)、只有特點(diǎn),它會充分發(fā)揮所有資源的本質(zhì)優(yōu)勢,讓所有資源的個性特點(diǎn)都成為整個系統(tǒng)的、不可或缺的優(yōu)點(diǎn),通過對操作系統(tǒng)這種從全局出發(fā)的多角度、系統(tǒng)化設(shè)計理念的分析,可以有效激發(fā)起學(xué)生的學(xué)習(xí)探索欲望。
操作系統(tǒng)作為計算機(jī)系統(tǒng)的管理者和控制者,從系統(tǒng)全局對CPU、內(nèi)存、設(shè)備和文件等系統(tǒng)資源進(jìn)行管理、調(diào)度和控制,并提供良好的人機(jī)交互接口。如圖2 所示,整門課程通過“一線、一詞、一導(dǎo)圖”,對操作系統(tǒng)各資源模塊的管理與調(diào)度進(jìn)行講解、分析與梳理,先確保各司其職,逐步迭代、描繪課程內(nèi)容的三維體系結(jié)構(gòu)圖,再進(jìn)而協(xié)作共贏,由局部最優(yōu)獲得系統(tǒng)全局最優(yōu)。

圖2 操作系統(tǒng)課程內(nèi)容三維體系結(jié)構(gòu)圖
其中,“一線”是指以CPU、內(nèi)存、設(shè)備、文件系統(tǒng)等各資源管理模塊為學(xué)習(xí)主線;“一詞”是指每個資源模塊的關(guān)鍵詞,比如CPU 的關(guān)鍵詞是并發(fā)、內(nèi)存的關(guān)鍵詞是地址重定位,設(shè)備管理的關(guān)鍵詞是“抽象”,其用戶角度是“與設(shè)備無關(guān)性”、資源角度則是“中斷”,而磁盤考慮快速存取、打印機(jī)必須做到互斥共享,文件系統(tǒng)則旨在實現(xiàn)按名存取,等等;“一導(dǎo)圖”則是指在每個資源模塊學(xué)習(xí)完結(jié)后,通過一個思維導(dǎo)圖展現(xiàn)其工作原理與運(yùn)行機(jī)制,以使學(xué)生對所學(xué)每個資源模塊的調(diào)度目標(biāo)與調(diào)度策略形成一個整體概念。
都說“教學(xué)有法,教無定法”,對于任何一門課來講,沒有最好的教學(xué)方法,只有更合適的教學(xué)方法,所以教學(xué)方法研究與探索永無止境。與許多專業(yè)課程類似,本課程亦采取問題導(dǎo)向、類比分析和知識點(diǎn)穿插等方法,由淺入深、循序漸進(jìn),對概念進(jìn)行多次“迭代”分析。問題導(dǎo)向激發(fā)學(xué)生動力,類比分析讓抽象走向直觀,小背景和知識點(diǎn)穿插讓枯燥乏味的課堂變得生動有趣,而“迭代”則是這種晦澀乏味理論課程教學(xué)的慣用操作,以期培養(yǎng)學(xué)生深入認(rèn)識和理解操作系統(tǒng)的基本概念、運(yùn)行機(jī)制及思維方法,并能夠針對復(fù)雜的計算需求和計算環(huán)境等問題進(jìn)行分析和求解,尋求合理高效的操作系統(tǒng)資源管理和調(diào)度算法。
比如“進(jìn)程”概念的學(xué)習(xí)。第一次出現(xiàn)是為了談清楚操作系統(tǒng)的“并發(fā)”與“并行”,于是引入“運(yùn)行(進(jìn)行)中的程序”,簡稱為“進(jìn)程”。第二次出現(xiàn)是“以程序為單位并發(fā)”時,執(zhí)行結(jié)果不可再現(xiàn),于是及時引導(dǎo)學(xué)生思考并提出解決方案,至此“進(jìn)程”正式現(xiàn)身,——它不僅是運(yùn)行中的程序,還被進(jìn)一步解讀為“資源分配和調(diào)度的基本單位”。然后,在了解了“進(jìn)程”這個動態(tài)概念在其生命周期中走走停停的各種離散狀態(tài)后,那么如何組織、管理、推進(jìn)、控制和調(diào)度這個“動態(tài)過程”呢?于是需要用相應(yīng)的數(shù)據(jù)結(jié)構(gòu)也就是“進(jìn)程控制塊(PCB)”將這個動態(tài)的運(yùn)行過程映射成為一個實體,我們稱之為“進(jìn)程實體”,簡稱為“進(jìn)程”。然后,操作系統(tǒng)就通過PCB 來感知并控制進(jìn)程實體,描述每個進(jìn)程的走走停停,記錄它在各種離散狀態(tài)時的資源情況和運(yùn)行情況。至此,歷經(jīng)三次“迭代”,“進(jìn)程”概念終于塵埃落定。接下來才開始通過同步機(jī)制、中斷機(jī)制來實現(xiàn)多道進(jìn)程的并發(fā)執(zhí)行,解決進(jìn)程如何走走停停以及為何走走停停的問題。
事實上,資源分配必然意味著流程控制。所謂局部最優(yōu),是指應(yīng)根據(jù)不同資源的不同工作特性,明確其成長目標(biāo);然后,面向產(chǎn)出(OBE)進(jìn)行知識點(diǎn)聯(lián)動,掌舵系統(tǒng)走向,著力解決各類資源利用的效率與公平問題,讓所有進(jìn)程都各得其所,以期獲得全局最優(yōu)。如圖3 所示,當(dāng)所有的局部最優(yōu)已經(jīng)明了或已經(jīng)達(dá)成,接下來要做的,就是以“進(jìn)程”為核心,通過同步機(jī)制、多級調(diào)度、中斷機(jī)制、文件系統(tǒng)和系統(tǒng)調(diào)用等,繪制一張課程內(nèi)容脈絡(luò)關(guān)系圖,來形象、直觀地描述用戶與計算機(jī)之間的協(xié)作互動,以及各資源模塊的調(diào)度策略。

圖3 操作系統(tǒng)課程內(nèi)容脈絡(luò)關(guān)系圖
縱覽操作系統(tǒng)全局,它其實就是由兩個概念、兩個機(jī)制以及對各種資源非常具體、通俗而簡單的調(diào)度算法構(gòu)成的。其中,兩個概念分別是進(jìn)程(線程)和抽象。其中,進(jìn)程(線程)是面向資源的,顧名思義就是“運(yùn)行中的程序”,它是資源分配和調(diào)度的基本單位,且因為“并發(fā)”而受制于資源調(diào)度,所以一生都在“走走停停”,如圖4 所示;抽象則是面向用戶的。所謂“抽象”,是指對底層硬件資源向上進(jìn)行層層抽象而成為一個面向用戶的文件系統(tǒng),而用戶則通過“系統(tǒng)調(diào)用”、借助“文件系統(tǒng)”層層向下來訪問系統(tǒng)的硬件資源,如圖5 所示。所以,整個“I/O 系統(tǒng)”是由底層的設(shè)備硬件、接口和用于層層抽象的軟件組成的,其中,底層軟件面向硬件,需要考慮硬件細(xì)節(jié),并通過中斷實現(xiàn)外設(shè)與內(nèi)存之間的數(shù)據(jù)交互;而高層軟件則面向用戶,稱之為“與設(shè)備無關(guān)性軟件”,也就是“邏輯I/O 系統(tǒng)”,主要由文件系統(tǒng)組成。可見,設(shè)備與文件系統(tǒng)之間其實是一個生動的、珠聯(lián)璧合的、雙向奔赴過程,由此完成操作系統(tǒng)作為人機(jī)交互“橋梁”的使命,讓計算機(jī)方便地為用戶所用。所以Unix 才對設(shè)備說,“一切皆文件”,轉(zhuǎn)身又對用戶說,我“只是提供了一個文件系統(tǒng)而已”。

圖4 “進(jìn)程”示意圖

圖5 “抽象”示意圖
兩個機(jī)制分別是同步機(jī)制和中斷機(jī)制,這是多道進(jìn)程得以并發(fā)乃至現(xiàn)代操作系統(tǒng)得以運(yùn)行的核心權(quán)力機(jī)構(gòu)。正是這兩個權(quán)力機(jī)構(gòu)的按章執(zhí)法,才使得現(xiàn)代操作系統(tǒng)具備了并發(fā)、共享、虛擬與異步四大特征,并且越來越高效、公平且安全。如果說同步機(jī)制是進(jìn)程并發(fā)的護(hù)航者,那么,中斷就是進(jìn)程并發(fā)的觸發(fā)者,中斷機(jī)制讓“進(jìn)程”并發(fā)成為可能;如果說“策機(jī)分離”是頂層設(shè)計、貫穿操作系統(tǒng)設(shè)計始終,那么中斷機(jī)制是起點(diǎn)、同步機(jī)制是秩序、虛擬機(jī)就是這一切的理想,而學(xué)習(xí)過程則是對這一切操作系統(tǒng)真相的剖析和還原,是抽絲剝繭、格物致知。
每種資源的調(diào)度策略也就是調(diào)度算法,比如CPU 調(diào)度算法、內(nèi)存分配算法、頁面淘汰算法、磁盤調(diào)度算法以及相關(guān)技術(shù)等,這些算法或技術(shù)的設(shè)計和實現(xiàn)其實很簡單、很直觀、很“生活”。比如CPU 調(diào)度,幾乎照搬生活實踐的先來先服務(wù)、短作業(yè)優(yōu)先、優(yōu)先級、時間片輪轉(zhuǎn)等調(diào)度算法,以及資源不足甚至面臨死鎖時的掛起、激活或撤銷等,無不與我們的生活場景息息相關(guān)、異曲同工。這就給了“類比”教學(xué)、知識建構(gòu)生成的機(jī)會,讓晦澀難懂的原理和算法變得通俗、簡單易理解。
結(jié)課是情境創(chuàng)設(shè)、建構(gòu)生成課程知識體系至關(guān)重要的環(huán)節(jié)。首先,結(jié)課與課程導(dǎo)入首尾呼應(yīng),既是對課程內(nèi)容的一次深度梳理,又是面向?qū)W術(shù)前沿和工業(yè)實踐的一次廣度呈現(xiàn);其次,結(jié)課是在了解了操作系統(tǒng)資源調(diào)度細(xì)節(jié)之后的一次總覽、思考和審視,以期師生協(xié)作、共同建構(gòu)課程內(nèi)容全局觀,繼而引發(fā)學(xué)生深度學(xué)習(xí)的興趣。結(jié)課由師生共同完成,跨越了課堂教學(xué)與課程評價兩個環(huán)節(jié)。它由三部分構(gòu)成,分別是課堂上由老師繪制講解的一張課程內(nèi)容架構(gòu)圖,如圖6 所示;課堂下由學(xué)生通過驗證、分析完成的一份課程報告,以及考核環(huán)節(jié)由學(xué)生獨(dú)立、閉卷答題完成的一份期末試卷。

圖6 課程內(nèi)容架構(gòu)示意圖
首先,這張課程內(nèi)容架構(gòu)圖既要體現(xiàn)操作系統(tǒng)全局又要體現(xiàn)操作系統(tǒng)結(jié)構(gòu)與部件細(xì)節(jié);既要體現(xiàn)各部件之間如何交互、分工協(xié)作,還要突出體現(xiàn)每個部件是如何各司其職、以及如何堅守各自不同的運(yùn)行理念和關(guān)鍵策略的。其次,每次這個內(nèi)容架構(gòu)圖的入口與出口設(shè)計總是不同,這與每輪教學(xué)過程中,學(xué)生體現(xiàn)出來的學(xué)習(xí)特征、學(xué)習(xí)狀態(tài)密切相關(guān),但是卻又必須與開課時的操作系統(tǒng)導(dǎo)論圖首尾呼應(yīng),以期“迭代”解決在學(xué)習(xí)過程中一些不可避免的遺留知識疑惑。最后,針對課程內(nèi)容架構(gòu)圖的分析與講解,力圖高屋建瓴、邏輯清晰。如果說導(dǎo)論圖旨在引導(dǎo)學(xué)生“走進(jìn)去”,那么這張架構(gòu)圖則旨在讓學(xué)生“走出來”,以旁觀者的角度重新審視操作系統(tǒng),不僅要對操作系統(tǒng)的工作原理、運(yùn)行機(jī)制了然于胸,真正理解操作系統(tǒng)的管理理念和設(shè)計宗旨,更旨在引導(dǎo)學(xué)生自主建構(gòu)知識體系,培養(yǎng)學(xué)生的全局觀、務(wù)實觀,并養(yǎng)成工作導(dǎo)向、解決問題導(dǎo)向的思維方式。
基于OBE 的課程考核與評價不強(qiáng)調(diào)學(xué)生之間的比較,而是強(qiáng)調(diào)學(xué)習(xí)成果達(dá)成的內(nèi)涵考核與學(xué)生個體的學(xué)習(xí)進(jìn)步評價。因此,本課程以課程目標(biāo)為起點(diǎn),注重過程控制與評價,采用多維度、梯次進(jìn)階的評價標(biāo)準(zhǔn),并持續(xù)改進(jìn)課程考核與評價形式和內(nèi)容,讓課程考核與評價成為課程學(xué)習(xí)的新起點(diǎn)。
課程考核與評價環(huán)節(jié)由過程性評價與終結(jié)性評價兩維構(gòu)成。其中,過程性評價由平時作業(yè)、單元測試與課程報告等多維構(gòu)成;終結(jié)性評價采用傳統(tǒng)試卷答題的形式進(jìn)行,題目設(shè)計注重綜合性、應(yīng)用性,全面覆蓋課程培養(yǎng)目標(biāo)。針對每個評價維度分別制訂評價標(biāo)準(zhǔn),賦予從不合格、合格、良好到優(yōu)秀等不同的評定等級,進(jìn)行針對性評價與分析,把握學(xué)生的學(xué)習(xí)狀態(tài)與學(xué)習(xí)效果,為下一步持續(xù)改進(jìn)教學(xué)提供參考。
操作系統(tǒng)課程設(shè)計了“懂原理、能驗證、會評價”這一梯次進(jìn)階的課程評價目標(biāo)。“懂原理”是指要懂得操作系統(tǒng)的工作原理、運(yùn)行機(jī)制和思維方法;“會評價”是指能夠從計算機(jī)系統(tǒng)全局對各種不同資源調(diào)度算法進(jìn)行分析、對比和評價,這些主要通過平時作業(yè)、單元測試、課堂反饋、終結(jié)性評價等維度來完成考核與評價;“能驗證”則是指針對所學(xué)算法在各種實際的、不同運(yùn)行環(huán)境里的運(yùn)行、驗證、分析、評價與反思。因為所有算法的給出及其分析評價其實都是基于一個簡化了的問題模型,而現(xiàn)實情況又總是千變?nèi)f化、各種的不可預(yù)期,需要通過實驗進(jìn)行驗證、分析原因、撰寫課程報告,然后師生協(xié)作、共同建構(gòu)課程知識,體察領(lǐng)會操作系統(tǒng)的設(shè)計初衷與深刻含義,并成為下一步學(xué)習(xí)與研究的新起點(diǎn)。
專業(yè)課程的學(xué)習(xí)過程是引導(dǎo)學(xué)生進(jìn)行專業(yè)知識建構(gòu)和專業(yè)思維模式養(yǎng)成的過程,更是培養(yǎng)學(xué)生理想信念與健全人格的過程。知識傳達(dá)只是課堂教學(xué)最基本、最表象的目標(biāo)。學(xué)生通過知識習(xí)得來建構(gòu)專業(yè)認(rèn)知,并在一次次思考和解決問題的過程中,逐步形成根深蒂固的、具有專業(yè)烙印的思維模式,即培養(yǎng)學(xué)生有知識、能“做事”。相對來講,其培養(yǎng)結(jié)果呈現(xiàn)仍舊是顯性和短期的,在校期間可以用學(xué)生的考試成績來衡量和評價,走向社會后,可以用畢業(yè)生“做事情”的能力來衡量和評價。最重要、最不易評價、也最容易被忽略的卻是關(guān)于理想信念、健全人格的培養(yǎng)和引導(dǎo),其實這才是教育的終極目標(biāo)。
教育過程尤其是課堂教學(xué)是一個雙向情感交流的過程,是以老師為主導(dǎo)、以學(xué)生為主體的“傳道、授業(yè)、解惑”過程,更是老師秉承“學(xué)高為師、身正為范”的職業(yè)操守和理想信念,致力于通過“言傳身教”來助力學(xué)生人格升華、素養(yǎng)提升的過程。因此,本課程力圖格物致知、潤物無聲,“教書”與“育人”深度融合,構(gòu)建“課程思政”新模式。事實上,無論是操作系統(tǒng)結(jié)構(gòu)變遷還是它的“策機(jī)分離”,無論是操作系統(tǒng)自始至終對公平、高效和算法簡單的兼顧,還是它高瞻遠(yuǎn)矚、抓大放小的“Worse is better”,操作系統(tǒng)透出來的智慧、格局、自律和擔(dān)當(dāng),特別符合大家對“做事情”這件事的哲學(xué)審美,因此,它的設(shè)計理念、工作原理和運(yùn)行機(jī)制本身就自帶“課程思政”元素,內(nèi)嵌和指導(dǎo)了學(xué)習(xí)者未來做人做事的基本原則乃至思維方法。如圖7 所示。

圖7 “格物致知”課程思政新模式
比如“CPU 調(diào)度”。為了CPU 的運(yùn)行效率,操作系統(tǒng)設(shè)計了作業(yè)調(diào)度、進(jìn)程調(diào)度、內(nèi)存調(diào)度等三級調(diào)度來矯正和調(diào)停進(jìn)程的走走停停和兜兜轉(zhuǎn)轉(zhuǎn)。其中,作業(yè)調(diào)度也叫宏觀調(diào)度,講究的是公平正義,調(diào)度結(jié)果是“誰能入局”;進(jìn)程調(diào)度也叫微觀調(diào)度,更注重輕重緩急,調(diào)度結(jié)果是誰能真正“執(zhí)子運(yùn)籌”;中觀調(diào)度涉及內(nèi)存,也叫平衡負(fù)載調(diào)度,仍舊圍繞進(jìn)程運(yùn)行和CPU 進(jìn)行,強(qiáng)調(diào)的是以空間換時間或以時間換空間、用局部損失換取全局最優(yōu)。每一個作業(yè)(任務(wù)或進(jìn)程)都有自己的生命周期和發(fā)展軌跡,也都有它無論早晚、但注定總會到達(dá)的高光時刻。尤其是多級反饋隊列調(diào)度算法告訴我們,要相信“念念不忘、必有回響”,任何時候都不要輕言放棄,努力、堅守和耐得住寂寞、經(jīng)得起坎坷,才是所有進(jìn)程守得云開見月明的是勵志法則。
再比如“死鎖”問題。“死鎖”是一種隨機(jī)出現(xiàn)的進(jìn)程故障,所謂當(dāng)局者迷。當(dāng)所有進(jìn)程入局成為池中一員,除了需要通過同步機(jī)制來實現(xiàn)進(jìn)程間的有效溝通與合作外,每個進(jìn)程在其自身運(yùn)行、推進(jìn)過程中必須要懂得審時度勢、不能一葉障目,更要對于已經(jīng)獲得的資源拿得起放得下,關(guān)鍵時刻還需要做到舍小我以顧全局。
有人說“教學(xué)是一門遺憾的藝術(shù)”,筆者深以為然。為了盡力彌補(bǔ)、減少這種缺憾,充分的學(xué)情分析預(yù)估、力圖完美的教學(xué)設(shè)計、精心演繹的教學(xué)呈現(xiàn)以及“永遠(yuǎn)在路上”的教學(xué)研究是必須的。本文基于OBE 工程教育理念,重新定位操作系統(tǒng)課程目標(biāo),重構(gòu)課程知識體系、確立教學(xué)策略;堅持面向經(jīng)典算法、面向?qū)W術(shù)前沿、面向工業(yè)實踐,通過概念迭代、層層梳理,三維重構(gòu)課程全局觀;精心設(shè)計教學(xué)情境,整合教學(xué)資源,將“課程思政”貫穿始終,格物致知、潤物無聲,引導(dǎo)學(xué)生主動建構(gòu)專業(yè)知識,生成專業(yè)能力以及科學(xué)思維,不斷推進(jìn)創(chuàng)新合作、終身學(xué)習(xí)、善于溝通的健全人格的持久養(yǎng)成。