亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        構建操作系統(tǒng)實踐教學體系

        2008-01-01 00:00:00李紅衛(wèi)殷常鴻
        計算機教育 2008年6期

        摘要:本文在對比了多種操作系統(tǒng)實踐教程的基礎上,結合操作系統(tǒng)原理,根據(jù)教學內容構建了操作系統(tǒng)實踐體系,并開發(fā)了具體的實踐教學模塊,為從根本上解決操作系統(tǒng)理論教學和實踐教學脫離的現(xiàn)狀提供了一個切實可行的參考方案。

        關鍵詞:實踐教學;操作系統(tǒng)實踐;MOS微型操作系統(tǒng)

        中圖分類號:G642

        文獻標識碼:A

        文章編號:1672-5913(2008)06-0022-03

        1操作系統(tǒng)實踐教學現(xiàn)狀

        目前,幾乎所有高校的計算機專業(yè)都把操作系統(tǒng)作為專業(yè)基礎必修課程,市場上有關操作系統(tǒng)的書目多達360余種,其中教材有130余本。筆者對這些教材進行了詳細的對比與分析,發(fā)現(xiàn)這些教程大都是在現(xiàn)有的操作系統(tǒng)之上講解系統(tǒng)資源的調度和管理,側重于操作系統(tǒng)原理,即使是實踐性強的教材也只是針對系統(tǒng)的處理機與進程管理、存儲管理、設備管理、文件系統(tǒng)以及中斷管理等方面的算法和某一個具體的程序進行講解,缺乏系統(tǒng)性和完整性。另外現(xiàn)有操作系統(tǒng)都非常龐大,例如內核相對精煉的Linux系統(tǒng)的源代碼有幾十萬甚至幾百萬行,而Minix系統(tǒng)源代碼也超過了2萬行,這些對于計算機專業(yè)特別是高職院校的本??粕鷣碚f無疑是天文數(shù)字。同時這些系統(tǒng)已實現(xiàn)了操作系統(tǒng)的全部功能,學生只能利用這些操作系統(tǒng)提供的系統(tǒng)調用或API函數(shù)實現(xiàn)進程的創(chuàng)建和撤消、進程之間的同步與互斥、內存的分配和回收以及文件管理等操作,只能以一個觀察者的身份去感受系統(tǒng)的功能,無法親身體驗,非常不利于操作系統(tǒng)的實踐教學,其效果也就可想而知了。

        鑒于此,操作系統(tǒng)實踐教學改革已迫在眉睫,本文以培養(yǎng)應用型本專科人才為目標,為適應高等職業(yè)院校計算機操作系統(tǒng)教學需求,對實踐教學進行探索,構建了讓學生自己動手設計、編寫多任務微型操作系統(tǒng)MOS(Mini Operating System)的實踐教學體系,讓學生在具體的實踐中掌握操作系統(tǒng)的工作原理和系統(tǒng)的開發(fā)過程。

        2構建實踐教學體系

        2.1確立課程體系

        在進行操作系統(tǒng)實踐之前,先開設80x86匯編語言、C程序設計、數(shù)據(jù)結構等課程,使學生對基本的編程方法、思路以及算法有系統(tǒng)的了解。在此基礎上,再開設計算機組成原理、微機原理、操作系統(tǒng)等課程,使學生掌握計算機硬件體系結構、以Intel 80x86 CPU為核心的微機原理以及操作系統(tǒng)原理。在具備了以上基礎學科知識后,才有能力自己動手編寫一個基于Intel 80x86 CPU實模式的MOS多任務微型操作系統(tǒng)。

        2.2建立實踐環(huán)境

        良好的開發(fā)環(huán)境是實踐活動得以順利開展的前提,經過優(yōu)化和系統(tǒng)對比,筆者建立了如下的開發(fā)環(huán)境:

        (1) 軟件環(huán)境:開發(fā)平臺采用支持16位實模式的編譯器Borland C++ 4.5;虛擬機軟件Bochs V2.1,由它來模擬計算機啟動、運行;磁盤映像文件制作工具WinImage;將引導程序寫到軟盤的引導扇區(qū)或映像文件引導扇區(qū)的WriteBoot工具;匯編語言編譯器NASM,由它將引導程序匯編生成二進制代碼程序Boot.bin;操作系統(tǒng)Windows 98以上即可。

        (2) 硬件環(huán)境:能夠運行Windows 98以上操作系統(tǒng)的PC機即可。

        3設計實踐項目

        為了使整個實踐教學體系有章可依,筆者根據(jù)教學內容建立了MOS操作系統(tǒng)的層次框架,為教師和學生提供開發(fā)指導。

        3.1確立MOS系統(tǒng)結構及內存布局

        本實踐MOS系統(tǒng)開發(fā)采用層次式模塊化結構,如圖1,其中MOS-IOS(MOS Input/ Output System)層依賴于PC機的ROM-BIOS,它提供了基本的輸入/輸出功能,比如:讀/寫磁盤,讀/寫文件分配表FAT,查找文件的簇號等功能(代碼在引導程序中)。在MOS-IOS之上是MOS各種管理模塊,包括進程控制、信號量管理、時鐘管理、內存管理、文件系統(tǒng)和I/O管理等功能。這些功能通過MOS提供的系統(tǒng)調用接口為用戶程序服務。MOS命令處理程序向用戶提供操作計算機的接口。

        圖1 MOS操作系統(tǒng)層次結構

        在Intel 80x86實模式下可訪問的內存空間大小為1MB,整個內存空間分為三部分,第一部分是系統(tǒng)空間,從0x00000至0x31fff共200KB;第二部分是用戶空間,從0x32000至0x9ffff共440KB;第三部分是PC機保留的空間,從0xA0000至0xFFFFF共384KB。

        3.2實現(xiàn)進程管理

        進程管理是操作系統(tǒng)的核心,是實踐的關鍵部分,也是傳統(tǒng)教學中最難以掌握的內容之一。學生通過親自開發(fā)系統(tǒng),根據(jù)實際需要在自己開發(fā)的MOS系統(tǒng)中去創(chuàng)建、管理和撤銷進程,這樣不但激發(fā)了學生的學習興趣,還避免了教學的晦澀難懂,有效地提高了學生的動手能力,使其對操作系統(tǒng)的進程管理過程有實質性的體驗,具體實踐內容如下。

        (1) 進程控制

        在MOS系統(tǒng)中采用可剝奪調度方式,以優(yōu)先級高者優(yōu)先的調度算法分配處理機。進程可在就緒、運行和阻塞三個狀態(tài)之間變遷,其狀態(tài)轉換圖如圖2所示。獲得處理機的進程處于運行狀態(tài),在就緒鏈表中等待處理機的進程為就緒狀態(tài),運行中的進程因等待事件的發(fā)生進入阻塞狀態(tài)。在MOS系統(tǒng)中是通過三個系統(tǒng)調用來實現(xiàn)進程的控制:

        ① 創(chuàng)建進程SysCreateProc:創(chuàng)建進程的主要工作是為新創(chuàng)建的進程申請一個堆棧、一個空閑的進程控制塊PCB,并初始化堆棧和填寫PCB信息,然后以優(yōu)先級大小將新創(chuàng)建的進程插入到就緒鏈表中,等待進程調度程序選擇運行。

        ② 刪除進程SysDelProc:處于運行狀態(tài)的進程將自己刪除。

        ③ 進程延遲SysTimeDly:執(zhí)行該系統(tǒng)調用使處于運行狀態(tài)的進程睡眠若干個時鐘。當某一進程睡眠時間到,會由時鐘中斷處理程序將其喚醒。在MOS系統(tǒng)中,除時鐘中斷可作為喚醒者外,V操作同樣也可以將處于阻塞狀態(tài)的進程喚醒。

        圖2 MOS系統(tǒng)中進程三狀態(tài)轉換圖

        (2) 進程上下文切換

        由于MOS系統(tǒng)采用優(yōu)先級高者優(yōu)先調度算法,因此就緒鏈表中的進程要按優(yōu)先級大小進行排列,其鏈首進程就是當前正在運行的進程。在MOS系統(tǒng)中可以設置兩個全局變量,一個是MOSPCBCur,代表當前正在處理機上運行的進程;一個是MOSRDLPCB,代表就緒鏈表的首進程。通常情況下這兩個變量的值應該相等,若不相等,說明當前就緒鏈表發(fā)生了變化,或者來了一個更高優(yōu)先級的進程,或者當前運行進程由于阻塞而離開就緒鏈表,此時就需要進程調度選擇就緒鏈表中的首進程來運行。上下文切換的實現(xiàn)步驟如下:

        ① 將當前運行進程的運行環(huán)境保存在它的堆棧中;

        ② 將堆棧信息(堆棧的段地址和棧頂指針)保存在它的進程控制塊PCB中;

        ③ 將MOSRDLPCB的值賦給變量MOSPCBCur,使就緒鏈表的隊首進程成為當前運行進程;

        ④ 從MOSPCBCur所指進程的進程控制塊PCB中恢復該進程的堆??臻g;

        ⑤ 從堆棧中恢復MOSPCBCur所指進程的運行環(huán)境;

        ⑥ 實現(xiàn)進程的上下文切換。

        (3) 信號量管理

        利用信號量可實現(xiàn)進程的同步與互斥,以保證系統(tǒng)資源調度的正確性。在MOS系統(tǒng)設計中提供了四個與信號量相關的系統(tǒng)調用:

        ① 創(chuàng)建信號量SysCreateSem;

        ② 刪除信號量SysDelSem;

        ③ P操作P;

        ④ V操作V。

        (4) 建立MOS命令處理程序

        命令處理程序主要是接受用戶的鍵盤輸入命令,讓學生編寫命令處理程序,可進一步理解操作系統(tǒng)對命令的處理過程和系統(tǒng)程序執(zhí)行的流程。

        在系統(tǒng)啟動時,MOS命令處理程序創(chuàng)建一個IDLE的系統(tǒng)進程,其優(yōu)先級最低,由它負責接收用戶鍵盤輸入并執(zhí)行相應的命令。命令分為內部命令和外部命令,內部命令只有一個顯示磁盤目錄的DIR命令,外部命令是以文件的形式存儲在磁盤中,文件采用.EXE可執(zhí)行文件格式。當IDLE接收到外部命令時,在磁盤中查找外部命令,并將其裝入內存為其創(chuàng)建新的進程,然后讓它運行。當系統(tǒng)中有用戶進程時,IDLE一直處于循環(huán)等待用戶進程的結束,一旦系統(tǒng)中沒有用戶進程,IDLE又重新接收鍵盤命令。

        3.3內存管理

        存儲器是計算機系統(tǒng)中最重要的資源之一,如何有效地進行存儲管理是提高系統(tǒng)效能的關鍵,本實踐將地址從0x22000開始的64KB大小的空間作為內存堆供應用程序使用,并根據(jù)需求采用分區(qū)分配方法設計兩個系統(tǒng)統(tǒng)調用(SysMemAllocate調用和SysMemFree調用)實現(xiàn)內存的分配和回收,同時設計MemMag實例,實現(xiàn)輸入字符串到內存塊sp1中,并將其進行格式轉換復制到另一內存塊sp2中,讓學生體會內存管理的原理與過程,理解可變式分區(qū)管理方法。

        3.4建立文件管理系統(tǒng)

        文件系統(tǒng)是實現(xiàn)存儲、管理數(shù)據(jù)以及對文件進行查找和訪問的組織方法,是協(xié)助操作系統(tǒng)更好的進行資源調度和管理不可缺少的組成部分。在MOS系統(tǒng)中對文件控制塊結構、磁盤緩沖區(qū)以及管理文件控制塊變量等文件系統(tǒng)的數(shù)據(jù)結構進行了定義,并設計了文件系統(tǒng)的創(chuàng)建、打開、讀寫以及關閉等系統(tǒng)功能調用。在本實驗中,學生可以根據(jù)自己建立的文件管理系統(tǒng),進行文件的創(chuàng)建、打開、讀寫以及關閉等操作,深刻體會MOS系統(tǒng)的文件管理過程。

        3.5I/O管理實踐

        設備管理涉及到眾多的外部設備,對它們的管理比較復雜。本實踐以串行通信為例設計了MOS的I/O管理系統(tǒng),提供了4個用于串行通信設備管理的系統(tǒng)調用,分別是:

        ① 打開串行通信設備SysOpenIO:該系統(tǒng)調用的主要功能是對串口COM1和COM2進行初始化,并允許8259A可響應它們發(fā)來的中斷。初始化時設置傳輸位8位,停止位1位,無校驗碼,波特率為19200bps。

        ② 寫串行通信設備SysWriteIO:首先將要寫的信息放到輸出緩沖區(qū)中,然后允許串口產生發(fā)送中斷信號請求。

        ③ 讀串行通信設備SysReadIO:該系統(tǒng)調用完成的功能是從輸入緩沖區(qū)中讀一個字符返回,若輸入緩沖區(qū)為空,則返回0xff。因串行通信中斷處理程序處理接收中斷時,已將數(shù)據(jù)放入輸入緩沖區(qū)中,故該系統(tǒng)調用,只需到輸入緩沖區(qū)中取數(shù)據(jù)即可。

        ④ 關閉串行通信設備SysCloseIO:該系統(tǒng)調用完成的功能十分簡單,將屏蔽串口中斷即可,具體操作使8259A禁止IRQ3和IRQ4的中斷請求。

        在該部分還提供了利用異步串行通信芯片INS 8250通過COM口實現(xiàn)了兩臺PC機之間的串行通信的實例,讓學生從系統(tǒng)底層掌握操作系統(tǒng)的I/O管理過程。

        3.6用戶接口管理

        為了簡化MOS系統(tǒng),實踐中只提供了18個系統(tǒng)調用,全部通過中斷向量碼0x80實現(xiàn),只要將功能號和各輸入?yún)?shù)放到指定的寄存器中,執(zhí)行INT 0x80軟中斷指令即可實現(xiàn)系統(tǒng)調用。為了進一步方便學生的實踐設計,系統(tǒng)還以函數(shù)的形式提供了系統(tǒng)功能調用,比如創(chuàng)建進程系統(tǒng)調用SysCreateProc函數(shù),所使用的函數(shù)原型是:unsigned MOSCreateProc(unsigned segV,unsigned offV,char prio),其中前兩個形參分別是被創(chuàng)建進程代碼的段地址和偏移j量,第三個形參是被創(chuàng)建進程的優(yōu)先級,該函數(shù)返回值為被創(chuàng)建進程的進程標識,這樣就極大地簡化了學生實踐程序的設計過程。

        4結束語

        對于計算機操作系統(tǒng)的教學,只有讓學生在具體的實踐中進行程序設計,才能使其從根本上掌握系統(tǒng)的調度和管理過程。本實踐系統(tǒng)從課程體系以及實踐內容兩個核心部分入手,對操作系統(tǒng)的各關鍵模塊教學內容進行了系統(tǒng)的安排,并提供了MOS系統(tǒng)的源代碼和相關實驗。通過三年來的教學實踐證明,該實踐體系極大地提高了教學效果,為操作系統(tǒng)課程的實踐教學提供了參考模型。

        參考文獻

        [1] 鞠榮祥. 談高職教育實踐教學體系的構建[J]. 職業(yè)與教育,2006,(24):133.

        [2] 黃廷輝. 一個實用教學操作系統(tǒng)的設計與實現(xiàn)[J]. 桂林電子工業(yè)學院學報,2004,4(4):39-42.

        [3] 于淵. 自己動手寫操作系統(tǒng)[M]. 北京:電子工業(yè)出版社,2006.

        Construction of the Practical Teaching System on Operating System

        LI Hong-wei,YIN Chang-hong

        (School of Computer Science and Engineering, Jiangsu Teachers University of Technology,Changzhou 213001, China)

        Abstract: This paper constructs the practical teaching system of the computer operating system and designs the concrete teaching modules according to the teaching content through comparing lots of operating system practical textbooks from the perspective of teaching practice, at last the author provides a practical reference for solution the difficult problem of theory departing from practice.

        Key words: Practice Teaching; Operating System Practice; Mini Operating System

        国产精品无码午夜福利| 久久成人永久婷婷99精品| 一区二区三区人妻av| 一区二区三区乱码在线 | 欧洲| 中文字幕无码精品亚洲资源网久久| 九九久久精品大片| 国产av剧情精品麻豆| 风情韵味人妻hd| 亚洲欧洲日产国码高潮αv| 无码一区二区三区人| 五月激情四射开心久久久| 久久无码人妻一区二区三区午夜| 蜜桃av噜噜一区二区三区| 91极品尤物国产在线播放| 三级国产高清在线观看| 色费女人18毛片a级毛片视频| 天天做天天爱天天综合网| 亚洲一区二区三区在线观看蜜桃| 日韩中文字幕素人水野一区| 久久久久久国产精品免费免费| 国产人成精品免费视频| 偷柏自拍亚洲综合在线| 中文字幕中文一区中文字幕| 少妇人妻中文久久综合| 97久久精品亚洲中文字幕无码| 中文字幕无码日韩欧毛| 一本到亚洲av日韩av在线天堂| 国产大片内射1区2区| 国产第19页精品| 蜜桃视频一区二区三区在线| 青青草亚洲视频社区在线播放观看| 少妇下蹲露大唇无遮挡| 亚洲一级电影在线观看| 久久av一区二区三区黑人| 草草地址线路①屁屁影院成人 | 伊人狼人影院在线视频| 狠狠躁天天躁无码中文字幕图| 狠狠色丁香久久婷婷综合蜜芽五月| 无码专区亚洲avl| 99久久国内精品成人免费| 亚洲人午夜射精精品日韩|