国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)

2009-10-20 09:04:58
計(jì)算機(jī)教育 2009年17期
關(guān)鍵詞:操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)教學(xué)實(shí)踐

王 雷

摘 要:“操作系統(tǒng)”課程的理論性和實(shí)踐性都很強(qiáng),本文從北京航空航天大學(xué)操作系統(tǒng)課程設(shè)計(jì)出發(fā),針對操作系統(tǒng)實(shí)驗(yàn)中存在的問題,通過分析、借鑒國內(nèi)外著名大學(xué)的經(jīng)驗(yàn),以MIT操作系統(tǒng)實(shí)驗(yàn)為基礎(chǔ)設(shè)計(jì)了一套以MIPS為硬件平臺的操作系統(tǒng)實(shí)驗(yàn),并在北航選取了一些學(xué)生進(jìn)行應(yīng)用。

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

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

“操作系統(tǒng)”課程內(nèi)容豐富,既要講授關(guān)于操作系統(tǒng)的基礎(chǔ)理論,又要讓學(xué)生了解實(shí)際操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)正是該課程實(shí)踐環(huán)節(jié)的集中表現(xiàn),不僅使學(xué)生鞏固理論學(xué)習(xí)的概念和原理,同時培養(yǎng)學(xué)生 的工程實(shí)踐能力。國內(nèi)很多大學(xué)都非常重視操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì),北京大學(xué)根據(jù)MIT課程,建立了自己的操作系統(tǒng)實(shí)驗(yàn)體系;清華大學(xué)專門設(shè)置了操作系統(tǒng)專題訓(xùn)練課程,以提高學(xué)生的工程實(shí)踐能力;南開大學(xué)提倡使用系統(tǒng)仿真的實(shí)驗(yàn)環(huán)境加強(qiáng)學(xué)生理論聯(lián)系實(shí)際的能力;浙江大學(xué)提出了“邊學(xué)邊干”的操作系統(tǒng)教學(xué)理念。

北京航空航天大學(xué)計(jì)算機(jī)學(xué)院在2006年將“操作系統(tǒng)”課程分成了兩門課程:一門講授“操作系統(tǒng)”原理,一門“操作系統(tǒng)課程設(shè)計(jì)”專門進(jìn)行操作系統(tǒng)實(shí)驗(yàn)。本文將以MIT的操作系統(tǒng)課程設(shè)計(jì)為基礎(chǔ),介紹在操作系統(tǒng)課程設(shè)計(jì)中,讓學(xué)生自主開發(fā)一個小型教學(xué)操作系統(tǒng)。由于開發(fā)一個實(shí)際的操作系統(tǒng)難度和工作量很多,為了保證教學(xué)效果,我們首先為學(xué)生提供一個基礎(chǔ)系統(tǒng),該系統(tǒng)實(shí)現(xiàn)操作系統(tǒng)中最基本的部分。在此基礎(chǔ)上,學(xué)生可以再進(jìn)一步擴(kuò)充,實(shí)現(xiàn)一個完整的操作系統(tǒng)。將來可以與硬件課程進(jìn)一步集成,將教學(xué)操作系統(tǒng)移植到學(xué)生自己開發(fā)的硬件平臺中。我們試圖通過操作系統(tǒng)作為紐帶,將計(jì)算機(jī)硬件與軟件結(jié)合起來,培養(yǎng)學(xué)生對計(jì)算機(jī)系統(tǒng)的整體認(rèn)識。

1 目前存在的問題

在前幾年的教學(xué)實(shí)踐中,我們嘗試過Nachos、Minix、Linux和Windows四種不同類型的實(shí)驗(yàn),目前保留了Linux和Windows兩組實(shí)驗(yàn)。每類實(shí)驗(yàn)包含4組實(shí)驗(yàn),每個(組)同學(xué)選做一類實(shí)驗(yàn),并完成該類中全部4組實(shí)驗(yàn)。Linux實(shí)驗(yàn)包括“Yalnix Shell”、“虛擬存儲”、“作業(yè)控制系統(tǒng)”、“文件系統(tǒng)操作”或“模擬文件系統(tǒng)”(后面兩個實(shí)驗(yàn)選做一個)。Windows2000/XP實(shí)驗(yàn)包括“生產(chǎn)者消費(fèi)者問題”、“Windows虛擬存儲器管理”、“NDIS協(xié)議驅(qū)動程序的分析與改進(jìn)”、“虛擬磁盤的文件系統(tǒng)驅(qū)動程序設(shè)計(jì)”。

這兩組實(shí)驗(yàn)與主流操作系統(tǒng)結(jié)合緊密,極大地提高了學(xué)生的專業(yè)技能。雖然這些實(shí)驗(yàn)已經(jīng)在國內(nèi)一流院校中廣泛使用,但是仔細(xì)分析我們可以發(fā)現(xiàn),這些實(shí)驗(yàn)大部分還是停留在系統(tǒng)編程的水平。因此為提高操作系統(tǒng)教學(xué)水平,我們必須向國外研究型大學(xué)看齊,改進(jìn)操作系統(tǒng)的課程設(shè)計(jì)。

2 國外主要研究性大學(xué)操作系統(tǒng)實(shí)驗(yàn)

我們選擇了四所大學(xué)的操作系統(tǒng)實(shí)驗(yàn)情況進(jìn)行重點(diǎn)介紹。

Brown University

? 課程名稱cs167/cs169 operating system Fall 2006

? cs167課程介紹操作系統(tǒng)的基本原理

? cs169課程:學(xué)生每人用 C編寫一個簡單的、單內(nèi)核操作系統(tǒng)。所寫的操作系統(tǒng)在技術(shù)上等價(jià)現(xiàn)代的操作系統(tǒng)

? 實(shí)習(xí)項(xiàng)目:Kernel 1,Kernel 2,虛擬文件系統(tǒng),文件系統(tǒng),虛擬存儲

? 基礎(chǔ)系統(tǒng):Weenix

Princeton University

? 課程名稱:Operating Systems Fall 2006

? 實(shí)習(xí)項(xiàng)目:項(xiàng)目1:引導(dǎo)機(jī)制;項(xiàng)目2:非搶占式調(diào)度;項(xiàng)目3:搶占式調(diào)度;項(xiàng)目4:進(jìn)程間通信與進(jìn)程調(diào)度;項(xiàng)目5:虛存;項(xiàng)目6:文件系統(tǒng)

University of California at Berkeley

? 課程名稱:Operating Systems and System Programming Spring 2006

? 實(shí)習(xí)項(xiàng)目:工程為仿真MIPS平臺構(gòu)造操作系統(tǒng)有4個工程。工程1:線程管理;工程2:多道程序設(shè)計(jì);工程3:高速緩存和虛擬存儲;工程4:網(wǎng)絡(luò)和分布式系統(tǒng)

Harvard University

? 課程名稱:CS161: Operating Systems Spring 2006

? 實(shí)習(xí)項(xiàng)目:工程0:熟悉OS/161以及其運(yùn)行環(huán)境System/161;工程1: 同步;工程2:系統(tǒng)調(diào)用和進(jìn)程;工程3:虛擬內(nèi)存;工程4:文件系統(tǒng)

MIT

? 課程名稱:6.828: Operating System Engineering - Fall 2003 (for graduate student)

? 實(shí)習(xí)項(xiàng)目:工程1:啟動裝載過程;工程2:內(nèi)存管理;工程3:進(jìn)程和上下文切換;工程4:Fork和進(jìn)程間通信;工程5:簡單的文件系統(tǒng);工程6:編寫一個Shell

從上面的分析可以看出,這幾所大學(xué)操作系統(tǒng)實(shí)驗(yàn)內(nèi)容豐富、難度大。這些大學(xué)都有同一個理念:要想學(xué)好操作系統(tǒng),最好的辦法就是自己編寫一個操作系統(tǒng)。因此,我們希望借鑒這些大學(xué)的實(shí)驗(yàn)內(nèi)容,提高北航操作系統(tǒng)實(shí)驗(yàn)難度。

3 操作系統(tǒng)實(shí)驗(yàn)改進(jìn)思路

隨著學(xué)校對課程建設(shè)的重視,很多課程,例如“程序設(shè)計(jì)”、“編譯原理”等課程的實(shí)驗(yàn)有了很大改善,學(xué)生的動手能力也得到了進(jìn)一步提高。在此基礎(chǔ)上,我們已經(jīng)具備了嘗試難度更高的操作系統(tǒng)課程設(shè)計(jì)的條件。因此,在操作系統(tǒng)課程設(shè)計(jì)上,可以讓學(xué)生自主開發(fā)一個實(shí)際的小操作系統(tǒng)。

由于開發(fā)一個實(shí)際的操作系統(tǒng)難度和工作量很多,為了保證教學(xué)效果,我們準(zhǔn)備采取循序漸進(jìn)的、分層設(shè)計(jì)的方式,首先為學(xué)生提供一個基礎(chǔ)系統(tǒng),該系統(tǒng)實(shí)現(xiàn)操作系統(tǒng)中最重要、最基本的部分。在此基礎(chǔ)上,學(xué)生可以再進(jìn)一步擴(kuò)充,實(shí)現(xiàn)一個完整的操作系統(tǒng)。這種新的實(shí)驗(yàn)?zāi)J皆诒WC教學(xué)效果的基礎(chǔ)上,有利于充分發(fā)揮學(xué)生創(chuàng)新潛能。

4 實(shí)驗(yàn)設(shè)計(jì)

4.1 實(shí)驗(yàn)內(nèi)容

我們調(diào)研了MIT、CMU等幾所著名高校的課程設(shè)計(jì),決定以MIT的課程設(shè)計(jì)為基礎(chǔ),在操作系統(tǒng)課程設(shè)計(jì)上,讓學(xué)生自主開發(fā)一個實(shí)際的小操作系統(tǒng)。實(shí)驗(yàn)包含6個部分,各個部分的相互關(guān)系如圖1所示,具體實(shí)驗(yàn)內(nèi)容如下。

(1) 啟動和系統(tǒng)初始化:通過PC啟動的實(shí)驗(yàn),掌握硬件的啟動過程,理解鏈接地址、加載地址和重定位的概念,學(xué)習(xí)如何編寫位置無關(guān)代碼;通過實(shí)現(xiàn)setjmp和longjmp兩個函數(shù),掌握GCC的調(diào)用規(guī)范和硬件堆棧結(jié)構(gòu)。

(2) 內(nèi)存管理實(shí)驗(yàn):理解虛擬內(nèi)存和物理內(nèi)存的管理,實(shí)現(xiàn)操作系統(tǒng)對虛擬內(nèi)存空間的管理。

(3) 進(jìn)程管理:通過設(shè)置進(jìn)程控制塊和編寫進(jìn)程創(chuàng)建、進(jìn)程中止和進(jìn)程調(diào)度程序,實(shí)現(xiàn)進(jìn)程管理;編寫通用中斷分派程序和時鐘中斷例程,實(shí)現(xiàn)中斷管理。

(4) 系統(tǒng)調(diào)用:掌握系統(tǒng)調(diào)用的實(shí)現(xiàn)方法,理解系統(tǒng)調(diào)用的處理流程,實(shí)現(xiàn)本實(shí)驗(yàn)所需的系統(tǒng)調(diào)用。

(5) 文件系統(tǒng):通過實(shí)現(xiàn)一個簡單的基于磁盤的微內(nèi)核方式的文件系統(tǒng),掌握文件系統(tǒng)的實(shí)現(xiàn)方法和層次結(jié)構(gòu)。

(6) 命令解釋程序:實(shí)現(xiàn)具有管道,重定向功能的shell,能夠執(zhí)行一些簡單的命令。最后通過調(diào)試將六部分鏈接起來,使之成為一個能夠運(yùn)轉(zhuǎn)的操作系統(tǒng)。

4.2 實(shí)驗(yàn)環(huán)境

選擇一個完整硬件仿真環(huán)境。我們準(zhǔn)備根據(jù)當(dāng)前流行的主流硬件,選擇開放源代碼項(xiàng)目bochs和GXemul作為仿真環(huán)境。另外建立一個完善的實(shí)驗(yàn)環(huán)境,將操作系統(tǒng)實(shí)驗(yàn)用到的各種軟件安裝在一個服務(wù)器上,為每個學(xué)生建立一個獨(dú)立的帳戶,學(xué)生可以在任意機(jī)器上遠(yuǎn)程登錄到我們的服務(wù)器,完成實(shí)驗(yàn)任務(wù)。

另外,操作系統(tǒng)的實(shí)驗(yàn)需要與硬件課程實(shí)驗(yàn)和編譯實(shí)驗(yàn)進(jìn)一步集成,學(xué)生可以將教學(xué)操作系統(tǒng)移植到學(xué)生自己開發(fā)的硬件平臺,并且運(yùn)行學(xué)生自己開發(fā)的編譯器所編譯的程序。圖2描述了操作系統(tǒng)實(shí)驗(yàn)各個部分與硬件的關(guān)系(該硬件環(huán)境詳見參考文獻(xiàn))。圖3描述了操作系統(tǒng)實(shí)驗(yàn)與編譯實(shí)驗(yàn)和硬件實(shí)驗(yàn)的關(guān)系。

4.3 目前已完成工作

目前已完成的工作:

(1) 建立了一個以GXemul為基礎(chǔ)的仿真環(huán)境,可以運(yùn)行操作系統(tǒng),并實(shí)現(xiàn)操作系統(tǒng)的調(diào)試。

(2) 建立了一個以GCC為基礎(chǔ)的MIPS交叉編譯環(huán)境,可以用于編譯操作系統(tǒng)以及其他應(yīng)用程序。

(3) 六個實(shí)驗(yàn)已經(jīng)可以在仿真器上運(yùn)行(見圖4)。

5 經(jīng)驗(yàn)總結(jié)與下一步工作

2006年,我選了一個學(xué)生以這個操作系統(tǒng)實(shí)驗(yàn)作為畢業(yè)設(shè)計(jì)題目,硬件平臺為x86,他當(dāng)時完成了4個實(shí)驗(yàn)。2007年在計(jì)算機(jī)學(xué)院組織下我們選了6名學(xué)生將該實(shí)驗(yàn)在一學(xué)期內(nèi)移植到了MIPS仿真平臺。通過這些實(shí)踐,我們發(fā)現(xiàn)對于本科生這些實(shí)驗(yàn)難度還是太大,很難完成6個實(shí)驗(yàn)。因此,我們下一步需要采取循序漸進(jìn)、分層設(shè)計(jì)的方式,進(jìn)一步簡化實(shí)驗(yàn),多給學(xué)生提供一些示例代碼,編寫詳細(xì)的實(shí)驗(yàn)文檔和實(shí)驗(yàn)指導(dǎo)手冊。

參考文獻(xiàn):

[1] 陳向群. 操作系統(tǒng)實(shí)習(xí)教學(xué)經(jīng)驗(yàn)[R]. 全國第八屆操作系統(tǒng)課程教學(xué)研討會,2005.

[2] 史廣順,韓維桓,袁曉潔. 南開大學(xué)“操作系統(tǒng)”課程建設(shè)的思考[J]. 計(jì)算機(jī)教育,2006(7).

[3] 宋廣華,李善平,鄭扣根. 邊學(xué)邊干:操作系統(tǒng)課程教學(xué)改革的探索與實(shí)踐[J]. 計(jì)算機(jī)教育,2006(7).

猜你喜歡
操作系統(tǒng)實(shí)驗(yàn)設(shè)計(jì)教學(xué)實(shí)踐
不同的溫度
幼兒畫刊(2021年11期)2021-11-05 08:26:02
有趣的放大鏡
幼兒畫刊(2021年10期)2021-10-20 01:44:40
哪個涼得快?
幼兒畫刊(2020年2期)2020-04-02 01:26:22
無字天書
幼兒畫刊(2019年2期)2019-04-08 00:53:30
智能手機(jī)操作系統(tǒng)的分析與比較
卷宗(2016年10期)2017-01-21 14:04:15
國產(chǎn)桌面操作系統(tǒng)中虛擬化技術(shù)應(yīng)用研究
計(jì)算機(jī)維護(hù)中操作系統(tǒng)還原技術(shù)的分析
對計(jì)算機(jī)進(jìn)行操作系統(tǒng)重裝的維護(hù)
中職計(jì)算機(jī)應(yīng)用課程教學(xué)改革與反思
科技視界(2016年21期)2016-10-17 18:57:24
淺論高中化學(xué)生活化教學(xué)的實(shí)踐與思考
考試周刊(2016年79期)2016-10-13 23:10:24
平阴县| 平谷区| 舞钢市| 舒城县| 黔东| 东方市| 连城县| 革吉县| 宿松县| 阿合奇县| 甘德县| 社旗县| 宁强县| 馆陶县| 丰镇市| 舒城县| 武宁县| 昌乐县| 昌邑市| 临颍县| 七台河市| 长泰县| 涞水县| 仲巴县| 瓮安县| 涡阳县| 定日县| 溧阳市| 康乐县| 渝中区| 建德市| 冷水江市| 额敏县| 霍林郭勒市| 车致| 西峡县| 宾川县| 中宁县| 湟源县| 乌苏市| 勐海县|