• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    操作系統(tǒng)課程實(shí)驗(yàn)中的五重奏哲學(xué)

    2009-01-18 07:44:34鄒恒明
    計(jì)算機(jī)教育 2009年20期
    關(guān)鍵詞:操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)

    摘要:作為計(jì)算機(jī)專業(yè)的核心課程,操作系統(tǒng)的教學(xué)效果一直不甚理想。造成此種狀況的原因很多,本文針對(duì)其中的一個(gè)環(huán)節(jié)——操作系統(tǒng)的課程實(shí)驗(yàn)——進(jìn)行討論。在分析當(dāng)前課程實(shí)驗(yàn)中存在的問題后,本文提出將操作系統(tǒng)實(shí)驗(yàn)分為了解操作系統(tǒng)、使用操作系統(tǒng)、操作系統(tǒng)編程、操作系統(tǒng)改進(jìn)、操作系統(tǒng)設(shè)計(jì)五個(gè)層次進(jìn)行設(shè)計(jì)。這五個(gè)層次上的實(shí)驗(yàn)可以根據(jù)學(xué)校不同和學(xué)生素質(zhì)與能力不同或單獨(dú)或組合使用,形成一種高低搭配、錯(cuò)落有致的操作系統(tǒng)實(shí)驗(yàn)的五重奏。

    關(guān)鍵詞:操作系統(tǒng);實(shí)驗(yàn)設(shè)計(jì);五重奏哲學(xué)

    中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B

    1引言

    作為計(jì)算機(jī)專業(yè)的一門核心課程,操作系統(tǒng)的教學(xué)效果一直不甚理想。通過對(duì)相關(guān)學(xué)生的調(diào)查發(fā)現(xiàn),絕大多數(shù)學(xué)生對(duì)操作系統(tǒng)的理解存在錯(cuò)位和誤區(qū),概念上模糊,對(duì)操作系統(tǒng)的各種機(jī)制缺乏邏輯性的理解。就以內(nèi)核態(tài)和用戶態(tài)為例,學(xué)生對(duì)如下幾個(gè)問題的理解存在相當(dāng)大的疑惑:驅(qū)動(dòng)內(nèi)核態(tài)和用戶態(tài)的根本力量是什么?這兩種態(tài)勢(shì)在實(shí)現(xiàn)上的區(qū)別是什么?什么樣的功能需要在內(nèi)核態(tài)或用戶態(tài)進(jìn)行?程序如何從一個(gè)態(tài)勢(shì)切換到另一個(gè)態(tài)勢(shì)?這種切換隱含著什么樣的重大意義?

    顯然,操作系統(tǒng)本身的復(fù)雜性是導(dǎo)致教學(xué)效果不佳的一個(gè)原因;另外,操作系統(tǒng)教學(xué)機(jī)制上存在的諸多問題,如教學(xué)方法老舊、教材選擇偏差、講課方式枯燥等,也是另一個(gè)原因——這些問題我已在《操作系統(tǒng)之哲學(xué)原理》(《計(jì)算機(jī)教育》2009年第17期)一文中進(jìn)行了討論。本文要討論的是另一個(gè)對(duì)操作系統(tǒng)教學(xué)有著重大影響的因素:課程實(shí)驗(yàn)設(shè)計(jì),因?yàn)椴僮飨到y(tǒng)課程實(shí)驗(yàn)上存在的缺陷與當(dāng)前令人沮喪的教學(xué)效果有著直接的關(guān)系。

    由于操作系統(tǒng)的實(shí)驗(yàn)性質(zhì)很強(qiáng),不親自動(dòng)手做與操作系統(tǒng)有關(guān)的實(shí)驗(yàn),對(duì)操作系統(tǒng)的了解就勢(shì)必流于膚淺,因此操作系統(tǒng)課程通常都伴有實(shí)驗(yàn)。但我們通過多年的教學(xué)實(shí)踐與調(diào)查發(fā)現(xiàn),操作系統(tǒng)的實(shí)驗(yàn)設(shè)計(jì)存在諸多問題,大部分上過操作系統(tǒng)課程的學(xué)生確實(shí)做過操作系統(tǒng)實(shí)驗(yàn),但已經(jīng)忘記實(shí)驗(yàn)的具體過程,也不理解這些實(shí)驗(yàn)的背后動(dòng)機(jī),以至于學(xué)生做完實(shí)驗(yàn)后對(duì)操作系統(tǒng)的理解并沒有得到多大的提升,或提升的程度相當(dāng)有限。

    2當(dāng)前操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)面臨的問題

    雖然不同的學(xué)校在操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)上有自己的特點(diǎn),但由于操作系統(tǒng)的復(fù)雜性和外來性(即操作系統(tǒng)終究是一個(gè)由外國(guó)人發(fā)明和完善的東西),各個(gè)學(xué)校在課程實(shí)驗(yàn)設(shè)計(jì)上也存在著一些共同的缺陷。根據(jù)我們的調(diào)查,這些共同點(diǎn)缺陷包括目標(biāo)模糊、缺乏層次、生搬照用和沒有趣味。

    2.1目標(biāo)模糊

    設(shè)計(jì)實(shí)驗(yàn)的時(shí)候并沒有考慮到學(xué)生的培養(yǎng)目標(biāo)是什么。是培養(yǎng)會(huì)使用操作系統(tǒng)的人,還是會(huì)進(jìn)行底層編程的人,還是將來開發(fā)設(shè)計(jì)操作系統(tǒng)的人?對(duì)于不同的目標(biāo),操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)就應(yīng)該有所不同。如果不考慮這個(gè)因素,實(shí)驗(yàn)設(shè)計(jì)的時(shí)候就沒有針對(duì)性,學(xué)生就會(huì)覺得實(shí)驗(yàn)對(duì)他們的未來事業(yè)沒有幫助或幫助有限。當(dāng)然,也許我們現(xiàn)在并不知道到底應(yīng)該培養(yǎng)哪種人才,也許有的學(xué)生會(huì)去設(shè)計(jì)開發(fā)操作系統(tǒng),也許有的學(xué)生以后一輩子也不會(huì)與操作系統(tǒng)打交道,也許有的學(xué)生只是使用操作系統(tǒng)而已。即使如此,一個(gè)學(xué)校總還是應(yīng)該有自己的定位的。按照這種定位,就可以制定一個(gè)大致的實(shí)驗(yàn)方案。

    2.2缺乏層次

    操作系統(tǒng)實(shí)驗(yàn)的設(shè)計(jì)沒有層次感,基本上所有的實(shí)驗(yàn)都是針對(duì)操作系統(tǒng)的某部分功能實(shí)現(xiàn)進(jìn)行的,如進(jìn)程管理、內(nèi)存管理、文件管理等。這些實(shí)驗(yàn)都是對(duì)一個(gè)模擬操作系統(tǒng)或?qū)嶒?yàn)室操作系統(tǒng)的內(nèi)核進(jìn)行修改,形式單一,這種單調(diào)的實(shí)驗(yàn)設(shè)計(jì)對(duì)操作系統(tǒng)的整體把握并無太大用處。例如,即使做了修改進(jìn)程調(diào)度或頁(yè)面更換算法的置換實(shí)驗(yàn),學(xué)生還是不明白操作系統(tǒng)是如何具體地服務(wù)于用戶程序的。這個(gè)問題和前面一個(gè)問題是互相影響的:由于目標(biāo)模糊,不能準(zhǔn)確定位學(xué)生的實(shí)驗(yàn)需要,導(dǎo)致實(shí)驗(yàn)設(shè)計(jì)單調(diào);而實(shí)驗(yàn)設(shè)計(jì)單調(diào),又反過來進(jìn)一步模糊我們的培養(yǎng)目標(biāo)。

    2.3生搬照用

    很多學(xué)校照搬其他人現(xiàn)成的實(shí)驗(yàn)作為本校的操作系統(tǒng)課程實(shí)驗(yàn)。如果照搬得當(dāng),利用他人的現(xiàn)有成果當(dāng)然能節(jié)省時(shí)間和精力,但問題是目前的照搬存在很多問題:照搬的實(shí)驗(yàn)與本校對(duì)學(xué)生的培養(yǎng)目標(biāo)不吻合;沒有完全理解照搬實(shí)驗(yàn)的精髓,不能清晰地闡述給學(xué)生;構(gòu)造的實(shí)驗(yàn)環(huán)境不能完全適應(yīng)所需的實(shí)驗(yàn),導(dǎo)致實(shí)驗(yàn)失敗。另外,照搬的實(shí)驗(yàn)很多使用實(shí)驗(yàn)室操作系統(tǒng)內(nèi)核,如Minix和Nachos。雖然這些實(shí)驗(yàn)室操作系統(tǒng)內(nèi)核確實(shí)可以用來展示操作系統(tǒng)的工作原理,但它們與商用操作系統(tǒng)的差別巨大。有些原理在實(shí)驗(yàn)室操作系統(tǒng)上可行,在商用操作系統(tǒng)上卻行不通。這樣,即使學(xué)生了解了這些實(shí)驗(yàn)室操作系統(tǒng)內(nèi)核,到了工作單位面對(duì)商業(yè)操作系統(tǒng)時(shí),仍然是一籌莫展。

    2.4沒有趣味

    眾所周知,人在做自己感興趣的事情時(shí),積極性會(huì)明顯高于自己沒有興趣的事情,效果也會(huì)好很多,而現(xiàn)在的操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)卻往往缺乏趣味性。大部分實(shí)驗(yàn)無非是修改這個(gè),置換那個(gè),實(shí)現(xiàn)某一微小操作系統(tǒng)功能等。這些東西對(duì)于本來就對(duì)計(jì)算機(jī)和操作系統(tǒng)很執(zhí)著的人來說,可能并不乏味,但對(duì)于很多人來說,修改或微調(diào)一個(gè)進(jìn)程調(diào)度算法并不是一件激動(dòng)人心的事情。

    3對(duì)改進(jìn)操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)的思考

    根據(jù)以上的分析,要改變現(xiàn)有的實(shí)驗(yàn)課程缺陷,就需要首先明白我們培養(yǎng)學(xué)生的目標(biāo)是什么。明確目標(biāo)后,才能知道學(xué)生對(duì)操作系統(tǒng)實(shí)驗(yàn)的需求是什么,在此需求基礎(chǔ)上,就可以有針對(duì)性地制定操作系統(tǒng)實(shí)驗(yàn)方案,以適應(yīng)不同素質(zhì)和不同能力的學(xué)生。例如,我們?cè)谶M(jìn)行課程實(shí)驗(yàn)設(shè)計(jì)的時(shí)候應(yīng)該問一下,我們的教學(xué)目標(biāo)是培養(yǎng)操作系統(tǒng)設(shè)計(jì)師嗎?還是培養(yǎng)能夠使用操作系統(tǒng)底層服務(wù)的軟件工程師?還是培養(yǎng)能夠熟練安裝使用操作系統(tǒng)的技術(shù)操作員?

    我們認(rèn)為,操作系統(tǒng)課程并不一定需要進(jìn)行操作系統(tǒng)功能實(shí)現(xiàn)的實(shí)驗(yàn)。認(rèn)為所有操作系統(tǒng)課程都需要進(jìn)行同樣程度、類似功能的實(shí)驗(yàn),其實(shí)是長(zhǎng)久以來形成的一個(gè)誤區(qū)。很多學(xué)生將來并不會(huì)在操作系統(tǒng)領(lǐng)域工作,甚至不會(huì)在軟件領(lǐng)域工作,讓這些人做那些進(jìn)程實(shí)現(xiàn)、內(nèi)存管理實(shí)現(xiàn)或者文件系統(tǒng)實(shí)現(xiàn)等實(shí)驗(yàn),似乎沒有什么必要。對(duì)于這些學(xué)生,即使他們做了復(fù)雜的操作系統(tǒng)實(shí)驗(yàn),也不會(huì)記得很久,甚至實(shí)驗(yàn)完了還是沒有搞清楚操作系統(tǒng)是怎么回事。

    因此,在設(shè)計(jì)實(shí)驗(yàn)方案時(shí),必須心中想著不同學(xué)生的需求,從多個(gè)層面上設(shè)計(jì)不同的實(shí)驗(yàn),形成高低錯(cuò)落有致、難易搭配有方的一套組合實(shí)驗(yàn),并能夠根據(jù)具體情況動(dòng)態(tài)調(diào)整實(shí)驗(yàn)的實(shí)施方案,以適應(yīng)學(xué)校的培養(yǎng)目標(biāo),同時(shí)兼顧到部分同學(xué)或高或低的需求?;谶@些考慮,我們的實(shí)驗(yàn)設(shè)計(jì)就必須具有豐富的層次,而設(shè)計(jì)出的實(shí)驗(yàn)也就會(huì)目標(biāo)明確,層次豐富,也不會(huì)有生搬照用的各種缺陷。

    此外,我們還應(yīng)該力求在實(shí)驗(yàn)設(shè)計(jì)中引入趣味性,將操作系統(tǒng)底層實(shí)驗(yàn)與用戶層面的應(yīng)用連接起來,形成由實(shí)際需求驅(qū)動(dòng)的操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì),從而提升學(xué)生做實(shí)驗(yàn)的興趣。

    4操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)中的五重奏哲學(xué)

    前面說過,實(shí)驗(yàn)設(shè)計(jì)必須與教學(xué)目標(biāo)聯(lián)系起來。如果我們的目標(biāo)只是普及操作系統(tǒng)知識(shí),則無需進(jìn)行操作系統(tǒng)實(shí)驗(yàn)或只進(jìn)行簡(jiǎn)單的操作系統(tǒng)殼的使用實(shí)驗(yàn)即可。但如果學(xué)習(xí)操作系統(tǒng)的目的是為了將來設(shè)計(jì)、改進(jìn)或精湛地使用操作系統(tǒng),則需進(jìn)行較為復(fù)雜的操作系統(tǒng)實(shí)驗(yàn)。根據(jù)目的的不同,我們推薦將操作系統(tǒng)實(shí)驗(yàn)分為圖1所示的五個(gè)層次:

    每一層次針對(duì)一種培養(yǎng)目標(biāo),每個(gè)層次都要求學(xué)生在熟悉下面一個(gè)層次實(shí)驗(yàn)的基礎(chǔ)上,進(jìn)行新的針對(duì)該層次的實(shí)驗(yàn)。五個(gè)層次上的實(shí)驗(yàn)可以根據(jù)學(xué)校不同、學(xué)生素質(zhì)與能力不同而單獨(dú)或組合使用。例如,對(duì)于一般的職業(yè)學(xué)校,只要進(jìn)行第1和第2層實(shí)驗(yàn)即可;對(duì)于大部分的普通大學(xué),則進(jìn)行第1、第2、第3層的實(shí)驗(yàn);重點(diǎn)大學(xué)則進(jìn)行1~4層的實(shí)驗(yàn)。對(duì)于少數(shù)素質(zhì)高、能力強(qiáng)的學(xué)生,可以實(shí)施全部5個(gè)層次的實(shí)驗(yàn)。這種高低搭配、錯(cuò)落有致的實(shí)驗(yàn)層次如同不同的“音樂聲部”,一起合成一首質(zhì)感豐富的“交響樂”。這就是本文的操作系統(tǒng)課程實(shí)驗(yàn)設(shè)計(jì)的五重奏哲學(xué)。

    4.1了解操作系統(tǒng)層次

    這是學(xué)習(xí)操作系統(tǒng)的最低層次,也稱為掃盲層次,目的是為了對(duì)操作系統(tǒng)的概念、實(shí)體有點(diǎn)概念。對(duì)這個(gè)層次的學(xué)生來說,操作系統(tǒng)實(shí)驗(yàn)就是啟動(dòng)一個(gè)操作系統(tǒng),然后對(duì)操作系統(tǒng)提供的用戶界面進(jìn)行一些操作。這一層次的實(shí)驗(yàn)全部在操作系統(tǒng)殼的上面進(jìn)行。

    4.2使用操作系統(tǒng)層次

    這是學(xué)習(xí)操作系統(tǒng)的第二層次,目的是為了能夠更好地使用操作系統(tǒng)。在操作系統(tǒng)出現(xiàn)問題時(shí),能夠簡(jiǎn)單判斷出現(xiàn)問題的原因,并找出對(duì)策。對(duì)這個(gè)層次的學(xué)生來說,設(shè)計(jì)的操作系統(tǒng)實(shí)驗(yàn)以使用為主:即讓學(xué)生通過各種現(xiàn)有或老師自編的操作系統(tǒng)探索工具來窺探操作系統(tǒng)運(yùn)行時(shí)的內(nèi)部狀態(tài)及其在系統(tǒng)外層的表現(xiàn)。這種工具在Unix、Linux和Windows上都有很多。例如,對(duì)于Windows操作系統(tǒng)來說,其窺探工具包括Process Explorer、Performance Monitor、File Monitor等五六十種工具。這一層次的實(shí)驗(yàn)通常跨越操作系統(tǒng)的殼(有些在殼的上面,有些在殼的下面)。

    4.3操作系統(tǒng)編程層次

    這是學(xué)習(xí)操作系統(tǒng)的第三個(gè)層次,比使用操作系統(tǒng)的層次高了一個(gè)境界。這個(gè)層次的學(xué)習(xí)是為了能夠在程序設(shè)計(jì)或軟件開發(fā)中利用操作系統(tǒng)提供的系統(tǒng)服務(wù)來達(dá)到系統(tǒng)程序設(shè)計(jì)的目標(biāo)。對(duì)于該層次的學(xué)生來說,設(shè)計(jì)的操作系統(tǒng)實(shí)驗(yàn)應(yīng)當(dāng)以對(duì)系統(tǒng)調(diào)用的使用為主,通過操作系統(tǒng)提供的編程界面來編寫一些工具軟件。Linux、Unix、Windows都有大量的系統(tǒng)調(diào)用可供我們進(jìn)行系統(tǒng)編程。例如,我們可以要求學(xué)生通過對(duì)Win API的使用來編寫4.2節(jié)里面提到的某個(gè)工具軟件,如File Monitor。這一層次的實(shí)驗(yàn)完全在操作系統(tǒng)的殼下面進(jìn)行,但尚未進(jìn)入到內(nèi)核里面。

    4.4操作系統(tǒng)改進(jìn)層次

    這是學(xué)習(xí)操作系統(tǒng)的第四個(gè)層次,也是一個(gè)較高的層次,從操作系統(tǒng)的外圍進(jìn)入到了內(nèi)核。該層次學(xué)生以進(jìn)入工業(yè)界維護(hù)和改進(jìn)操作系統(tǒng)或?qū)W術(shù)界進(jìn)行操作系統(tǒng)研究為己任。對(duì)于該層次學(xué)生來說,設(shè)計(jì)的操作系統(tǒng)實(shí)驗(yàn)應(yīng)當(dāng)以對(duì)操作系統(tǒng)本身的修改為主,對(duì)一些實(shí)驗(yàn)室操作系統(tǒng)如Minix、Nachos等進(jìn)行修改,以改善或置換某種具體的功能:如設(shè)計(jì)一個(gè)調(diào)度方案來置換Minix里面的調(diào)度算法,或者為Nachos補(bǔ)充一個(gè)管程機(jī)制等。如果有條件,建議在商用操作系統(tǒng)上進(jìn)行內(nèi)核修改。例如,使用微軟提供的WRK就可以進(jìn)行很多有趣的Windows內(nèi)核修改實(shí)驗(yàn)。

    4.5操作系統(tǒng)設(shè)計(jì)層次

    這是學(xué)習(xí)操作系統(tǒng)的最高層次,適用于把研究、設(shè)計(jì)、開發(fā)操作系統(tǒng)作為己任的學(xué)生,這個(gè)層次的實(shí)驗(yàn)是為培養(yǎng)操作系統(tǒng)大師而設(shè)計(jì)的。顯然,進(jìn)入這個(gè)層次的學(xué)生應(yīng)該對(duì)操作系統(tǒng)的每個(gè)核心功能都非常熟悉,并且有某些上手的經(jīng)驗(yàn)。為此,操作系統(tǒng)實(shí)驗(yàn)的設(shè)計(jì)就必須要求學(xué)生自己設(shè)計(jì)出某個(gè)完整的操作系統(tǒng)功能,如完整的進(jìn)程管理功能或完整的內(nèi)存管理功能等。但如果設(shè)計(jì)完整的功能模塊有難度,也可以適當(dāng)降低要求。例如,對(duì)于內(nèi)存管理來說,可以只要求學(xué)生實(shí)現(xiàn)一個(gè)內(nèi)存頁(yè)面服務(wù)器。從另一個(gè)方面來說,如果學(xué)生能力很強(qiáng)且條件允許,也可以要求學(xué)生設(shè)計(jì)一個(gè)完整的操作系統(tǒng)。如果有條件,還可以讓學(xué)生對(duì)商用操作系統(tǒng)的源代碼進(jìn)行分析。

    五重奏哲學(xué)雖然使得操作系統(tǒng)的實(shí)驗(yàn)設(shè)計(jì)具有層次豐富、邏輯遞進(jìn)、搭配靈活的良好特性,但要將這些良好特性的作用完全發(fā)揮出來,則還需要想法提高學(xué)生做實(shí)驗(yàn)的興趣。而要讓實(shí)驗(yàn)具有趣味性,就不能在設(shè)計(jì)操作系統(tǒng)實(shí)驗(yàn)的時(shí)候盡做些枯燥的純功能性的實(shí)驗(yàn)。在進(jìn)行修改操作系統(tǒng)內(nèi)核實(shí)驗(yàn)時(shí),不要設(shè)計(jì)那些為了修改而修改的實(shí)驗(yàn),如修改頁(yè)面替換算法實(shí)驗(yàn)、修改磁盤調(diào)度實(shí)驗(yàn),或者某個(gè)同步機(jī)制的實(shí)現(xiàn)實(shí)驗(yàn)等,而是應(yīng)該盡量將趣味融于到實(shí)驗(yàn)里,將操作系統(tǒng)的某種功能實(shí)驗(yàn)融入到某個(gè)有趣的應(yīng)用開發(fā)里面。即我們是為了開發(fā)一個(gè)很有意思的應(yīng)用,但在現(xiàn)有或者目前所提供的操作系統(tǒng)上面難以完成此種開發(fā),需要對(duì)操作系統(tǒng)進(jìn)行修改才能完成。這樣就順其自然地涉及到操作系統(tǒng)本身的使用、改進(jìn)或設(shè)計(jì)上來,而這種把應(yīng)用連帶進(jìn)來的做法將使實(shí)驗(yàn)的趣味性得以增強(qiáng)。

    5實(shí)驗(yàn)設(shè)計(jì)舉例

    本節(jié)我們以自行設(shè)計(jì)的兩個(gè)操作系統(tǒng)實(shí)驗(yàn)來說明五重奏的設(shè)計(jì)哲學(xué)。

    5.1殺無赦

    在設(shè)計(jì)操作系統(tǒng)內(nèi)核修改實(shí)驗(yàn)時(shí),我們?cè)O(shè)計(jì)了一個(gè)“殺無赦”的實(shí)驗(yàn),驅(qū)動(dòng)這個(gè)實(shí)驗(yàn)的動(dòng)機(jī)來自于許多人都有的親身經(jīng)歷:打開Windows的任務(wù)管理器可以看到許多進(jìn)程,但有些進(jìn)程卻無法刪除,或者刪除后馬上又會(huì)再次出現(xiàn)。另外,有些進(jìn)程并不呈現(xiàn)在任務(wù)管理器里——這種情況常常令人非常沮喪——“殺無赦”實(shí)驗(yàn)就是要消除這種沮喪。從應(yīng)用層面上看,這個(gè)實(shí)驗(yàn)要求學(xué)生實(shí)現(xiàn)一個(gè)類似Windows任務(wù)管理器的應(yīng)用,但與Windows管理器不同的是,該管理器必須能夠顯示所有在系統(tǒng)中活動(dòng)的進(jìn)程和線程,包括病毒或者隱藏的進(jìn)程。另外,管理器必須能夠殺掉任何一個(gè)進(jìn)程,即時(shí)導(dǎo)致計(jì)算機(jī)關(guān)機(jī)也在所不惜。當(dāng)然,如果終結(jié)進(jìn)程會(huì)導(dǎo)致關(guān)機(jī),該管理器須要給出警告。

    很顯然,僅僅使用操作系統(tǒng)提供的系統(tǒng)調(diào)用是很難完成上述任務(wù)的。因?yàn)樗帉懙娜蝿?wù)管理器無法保證能夠在病毒前面進(jìn)入系統(tǒng)并啟動(dòng)。但如果能夠修改操作系統(tǒng)內(nèi)核,此任務(wù)就可以完成。這樣就自然地引入對(duì)操作系統(tǒng)內(nèi)核的修改,達(dá)到實(shí)現(xiàn)該“殺無赦”任務(wù)管理器的目標(biāo)。

    此實(shí)驗(yàn)?zāi)依ㄏ旅嫠膫€(gè)層面:殼上啟動(dòng)與觀察、殼下窺探內(nèi)部狀態(tài)、使用系統(tǒng)調(diào)用編程、需要修改內(nèi)核。由于此實(shí)驗(yàn)?zāi)茏寣W(xué)生直接體會(huì)到工作的成果,開發(fā)的管理器可以在自己的電腦上大顯身手,學(xué)生的積極性明顯高漲。有的學(xué)生在做完實(shí)驗(yàn)后還意猶未盡,在課程結(jié)束后還在繼續(xù)修改完善本實(shí)驗(yàn)。

    對(duì)于能力很強(qiáng)的學(xué)生,我們可以將本實(shí)驗(yàn)擴(kuò)展為整個(gè)進(jìn)程管理,從而形成完整的五重奏。

    5.2進(jìn)程干凍

    我們?cè)O(shè)計(jì)的另一個(gè)比較有趣的實(shí)驗(yàn)是“進(jìn)程干凍”,該實(shí)驗(yàn)也是從實(shí)際需要開始導(dǎo)入。很多人都有過這樣的經(jīng)歷:一個(gè)任務(wù)進(jìn)行到一半而被打斷,后來再進(jìn)行時(shí)需要從頭開始。例如,在打印一個(gè)80頁(yè)的文件時(shí),如果打印了50頁(yè)后系統(tǒng)突然崩潰,則下次系統(tǒng)重啟后再交付打印任務(wù),前面的50頁(yè)還會(huì)再打印一遍。但這并不是我們所需要的,這時(shí)如果從第51頁(yè)打印開始不就好了?

    正是出于上述考慮,我們?cè)O(shè)計(jì)了一個(gè)實(shí)驗(yàn)對(duì)進(jìn)程進(jìn)行“干凍”,即將進(jìn)程定格在某一個(gè)時(shí)刻,并存儲(chǔ)在磁盤上。下次系統(tǒng)重啟或程序重載時(shí),直接從剛才定格的地方開始執(zhí)行——例如從第51頁(yè)開始打印。如果前面第50頁(yè)只打印了一半,系統(tǒng)重啟后還可以從第50頁(yè)的后半部分開始打印。

    同樣,該實(shí)驗(yàn)涉及到對(duì)操作系統(tǒng)內(nèi)核的掌握。如果只使用系統(tǒng)調(diào)用(操作系統(tǒng)API),則實(shí)現(xiàn)的進(jìn)程干凍功能較為有限,因?yàn)橛胁簧龠M(jìn)程狀態(tài)在系統(tǒng)調(diào)用層無法捕捉。但如果可以修改內(nèi)核,則大部分進(jìn)程狀態(tài)都可以被捕捉,從而大大增加進(jìn)程干凍的威力?;诖?該實(shí)驗(yàn)也可以分解為使用系統(tǒng)調(diào)用和修改系統(tǒng)內(nèi)核兩個(gè)子實(shí)驗(yàn),分別布置給具有相應(yīng)能力的同學(xué)。

    此實(shí)驗(yàn)同樣囊括了五重奏里面的四個(gè)層面:殼上啟動(dòng)與觀察、殼下窺探內(nèi)部狀態(tài)、使用系統(tǒng)調(diào)用編程、需要修改內(nèi)核。由于實(shí)驗(yàn)將內(nèi)核修改和應(yīng)用開發(fā)連接在一起,實(shí)驗(yàn)的結(jié)果很容易觀察到,并且也有實(shí)際價(jià)值,學(xué)生對(duì)該實(shí)驗(yàn)的興趣明顯強(qiáng)于那些純內(nèi)核修改實(shí)驗(yàn)。

    對(duì)于能力很強(qiáng)的學(xué)生,我們可以將本實(shí)驗(yàn)進(jìn)行擴(kuò)展,將“進(jìn)程干凍”升級(jí)為“操作系統(tǒng)上翻”,把對(duì)實(shí)驗(yàn)的要求上升到操作系統(tǒng)設(shè)計(jì)的境界,從而形成完整的五重奏。

    6實(shí)驗(yàn)設(shè)計(jì)的其他考慮

    除了前面介紹的“殺無赦”和“進(jìn)程干凍”外,我們還有一系列在Minix、Nachos、Linux和裸機(jī)上的操作系統(tǒng)修改或設(shè)計(jì)實(shí)驗(yàn)及各種各樣的內(nèi)核窺探實(shí)驗(yàn)。這些實(shí)驗(yàn)根據(jù)每年學(xué)生的具體情況進(jìn)行動(dòng)態(tài)調(diào)整,同一個(gè)實(shí)驗(yàn)也可以設(shè)計(jì)為不同層次的實(shí)現(xiàn)。例如,我們?cè)谏弦还?jié)討論過的“進(jìn)程干凍”實(shí)驗(yàn)就有兩個(gè)版本:一個(gè)在系統(tǒng)調(diào)用級(jí)實(shí)現(xiàn),即使用操作系統(tǒng)API來實(shí)現(xiàn)(實(shí)現(xiàn)的功能較弱);另一版本為內(nèi)核修改版,即通過修改內(nèi)核結(jié)構(gòu)和功能來實(shí)現(xiàn)(實(shí)現(xiàn)的功能較強(qiáng))。

    如果有合適的他人設(shè)計(jì)的操作系統(tǒng)實(shí)驗(yàn),當(dāng)然也可以照搬。事實(shí)上,在可能的情況下,也應(yīng)該盡可能共享他人的優(yōu)秀勞動(dòng)成果。但是在照搬的時(shí)候,一定要確認(rèn)搬來的實(shí)驗(yàn)設(shè)計(jì)必須符合本校的整體課程設(shè)計(jì)目標(biāo),在層次、程度和對(duì)實(shí)驗(yàn)環(huán)境的要求上均符合學(xué)校的具體情況。在照搬的過程中,需要完全理解這些實(shí)驗(yàn)的精髓,并能夠詳細(xì)、清楚地闡述給學(xué)生。此外,實(shí)驗(yàn)環(huán)境的搭建必須精準(zhǔn)。為方便修改和不影響其他課程對(duì)設(shè)備的使用,我們推薦使用虛擬化技術(shù)來進(jìn)行實(shí)驗(yàn)環(huán)境的構(gòu)建。

    7結(jié)語(yǔ)

    操作系統(tǒng)實(shí)驗(yàn)作為操作系統(tǒng)課程教學(xué)的重要組成部分,對(duì)于學(xué)生對(duì)操作系統(tǒng)的理解和把握有著重要的影響。如果能因地制宜、因時(shí)制宜,根據(jù)每個(gè)學(xué)校的具體情況設(shè)計(jì)層次豐富的適合本校學(xué)生的操作系統(tǒng)實(shí)驗(yàn),對(duì)保持學(xué)生學(xué)習(xí)操作系統(tǒng)的興趣和加深對(duì)操作系統(tǒng)的理解都有重要的意義。本文提出的操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)中的五重奏哲學(xué)和實(shí)驗(yàn)與應(yīng)用結(jié)合的趣味實(shí)驗(yàn)設(shè)計(jì),就算是在這方面的一次拋磚引玉吧。

    參考文獻(xiàn):

    [1] 鄒恒明. 計(jì)算機(jī)的心智:操作系統(tǒng)之哲學(xué)原理[M]. 北京:機(jī)械工業(yè)出版社,2009.

    [2] Andrew Tanenbaum. 現(xiàn)代操作系統(tǒng)[M]. 陳向群,馬紅兵,等譯. 北京:機(jī)械工業(yè)出版社,2009.

    猜你喜歡
    操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)
    吹蠟燭
    幼兒畫刊(2021年12期)2021-12-16 08:16:28
    有趣的放大鏡
    幼兒畫刊(2021年10期)2021-10-20 01:44:40
    有用的電池
    幼兒畫刊(2021年9期)2021-09-20 11:35:42
    哪個(gè)涼得快?
    幼兒畫刊(2020年2期)2020-04-02 01:26:22
    無字天書
    幼兒畫刊(2019年2期)2019-04-08 00:53:30
    渾水變清
    幼兒畫刊(2018年4期)2018-04-11 03:38:39
    智能手機(jī)操作系統(tǒng)的分析與比較
    卷宗(2016年10期)2017-01-21 14:04:15
    國(guó)產(chǎn)桌面操作系統(tǒng)中虛擬化技術(shù)應(yīng)用研究
    計(jì)算機(jī)維護(hù)中操作系統(tǒng)還原技術(shù)的分析
    對(duì)計(jì)算機(jī)進(jìn)行操作系統(tǒng)重裝的維護(hù)
    玛纳斯县| 江安县| 信宜市| 柳江县| 东明县| 南涧| 容城县| 酉阳| 孟村| 礼泉县| 棋牌| 腾冲县| 甘泉县| 东乡族自治县| 万全县| 墨玉县| 明星| 江安县| 德惠市| 吉木乃县| 贡觉县| 双柏县| 惠来县| 微山县| 临安市| 四平市| 龙泉市| 睢宁县| 祥云县| 隆回县| 青阳县| 晋州市| 五莲县| 专栏| 抚松县| 北京市| 崇仁县| 遵义市| 沁阳市| 香港 | 蒙自县|