版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
作為計(jì)算機(jī)專業(yè)的核心課程之一,《計(jì)算機(jī)操作系統(tǒng)》課程主要講授現(xiàn)代操
作系統(tǒng)經(jīng)典的實(shí)現(xiàn)原理、方法、算法和相關(guān)數(shù)據(jù)結(jié)構(gòu),幫助學(xué)生建立系統(tǒng)級(jí)概念,
并將操作系統(tǒng)的實(shí)現(xiàn)原理用于應(yīng)用軟件和系統(tǒng)軟件的設(shè)計(jì)與開發(fā)。我?!队?jì)算機(jī)
操作系統(tǒng)》教學(xué)除了注重知識(shí)和專業(yè)能力培養(yǎng),還注重培養(yǎng)學(xué)生的學(xué)術(shù)研究能力
和科學(xué)思維能力,以幫助學(xué)生從思維訓(xùn)練的角度學(xué)習(xí)操作系統(tǒng)的設(shè)計(jì)原理和實(shí)現(xiàn)
技術(shù)。
作為計(jì)算機(jī)資源的管理者,操作系統(tǒng)負(fù)責(zé)管浬計(jì)算機(jī)中的各類軟硬件資源,
保障計(jì)算機(jī)系統(tǒng)有效且高效地運(yùn)行。課程教學(xué)中從兩個(gè)角度剖析計(jì)算機(jī)操作系
統(tǒng),一方面,從管理學(xué)的角度,把操作系統(tǒng)看作計(jì)算機(jī)資源的管理器,分析操作
系統(tǒng)如何有效且高效地管理處理器、存儲(chǔ)器、I/O設(shè)備和文件等軟硬件資源;另
一方面,從軟件工程的角度,將計(jì)算機(jī)操作系統(tǒng)看作一種大型系統(tǒng)軟件,按照模
塊化的思想,將其劃分為處理器管理子系統(tǒng)(即進(jìn)程管理子系統(tǒng))、存儲(chǔ)管理子
系統(tǒng)、I/O設(shè)備管理子系統(tǒng)和文件管理子系統(tǒng)等幾個(gè)較小的子系統(tǒng)。再分別研究
各子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)技術(shù)。上述兩個(gè)角度可以交替進(jìn)行,不妨可以將操作系統(tǒng)
比擬為一個(gè)公司的財(cái)務(wù)總監(jiān),其主要責(zé)任即準(zhǔn)確實(shí)時(shí)登記公司的各類資產(chǎn)情況,
以確保公司各部門能高效運(yùn)轉(zhuǎn)。同時(shí),培養(yǎng)學(xué)生的軟件工程設(shè)計(jì)能力,以操作系
統(tǒng)設(shè)計(jì)者的身份,與老師一道共同設(shè)計(jì)實(shí)現(xiàn)操作系統(tǒng)的各功能模塊。計(jì)算機(jī)操作
系統(tǒng)中包含若干工程訓(xùn)練和計(jì)算思維訓(xùn)練的實(shí)例。希望同學(xué)們?cè)趯W(xué)習(xí)過程中認(rèn)真
體會(huì):
(1)化繁為簡(jiǎn):模塊化設(shè)計(jì)
作為一個(gè)大型復(fù)雜的系統(tǒng)軟件,操作系統(tǒng)的設(shè)計(jì)和開發(fā)必須遵循化繁為簡(jiǎn)的
思想,采用模塊化設(shè)計(jì)方法,將一個(gè)復(fù)雜的大系統(tǒng)劃分為幾個(gè)較簡(jiǎn)單的、相對(duì)獨(dú)
立的子系統(tǒng)。一般地,根據(jù)操作系統(tǒng)管理的計(jì)算機(jī)資源類型不同,可以將操作系
統(tǒng)劃分為處理機(jī)管理子系統(tǒng)(常稱為進(jìn)程管理子系統(tǒng))、存儲(chǔ)管理子系統(tǒng)、I/O設(shè)
備管理子系統(tǒng)和文件管理子系統(tǒng)等幾個(gè)獨(dú)立的子系統(tǒng)。
其中,進(jìn)程管理子系統(tǒng)主要實(shí)現(xiàn)進(jìn)程的并發(fā)控制、處理器的有效競(jìng)爭(zhēng)使用(進(jìn)
程調(diào)度)、多進(jìn)程并發(fā)替在引起的死鎖問題的解決等功能。存儲(chǔ)管理子系統(tǒng)實(shí)現(xiàn)
內(nèi)存的劃分、為進(jìn)程分配存儲(chǔ)空間并實(shí)時(shí)回收可用空間、虛擬存儲(chǔ)技術(shù)的實(shí)現(xiàn)等
功能。1/0設(shè)備管理子系統(tǒng)實(shí)現(xiàn)外部設(shè)備的分配與回收、緩沖存儲(chǔ)的實(shí)現(xiàn)、多進(jìn)
程對(duì)磁盤I/O訪問的請(qǐng)求與服務(wù)等功能。文件管理子系統(tǒng)實(shí)現(xiàn)文件的組織、文件
目錄管理、為文件分配磁盤存儲(chǔ)空間等功能。上述諸功能的實(shí)現(xiàn)依賴各類數(shù)據(jù)結(jié)
構(gòu),例如進(jìn)程控制塊PCB、進(jìn)程頁表、設(shè)備分配表、文件分配表等,以及大量
算法,如進(jìn)程調(diào)度、頁面置換、磁盤調(diào)度等算法。
模塊化思想是計(jì)算思維的基本要素之一。以操作系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)為例,訓(xùn)
殊學(xué)生如何將一個(gè)大型軟件劃分為若干較小的模塊,再對(duì)各模塊進(jìn)行需求分析和
功能設(shè)計(jì)。
(2)隊(duì)列與調(diào)度
超市結(jié)賬、銀行辦理業(yè)務(wù)、乘車排隊(duì)等生活中的排隊(duì)現(xiàn)象司空見慣。一般
地,按照約定俗成,排在隊(duì)首者優(yōu)先獲得服務(wù),這其實(shí)就是一種調(diào)度算法一先來
先服務(wù)。計(jì)算機(jī)中存在很多隊(duì)列,如進(jìn)程隊(duì)列(阻塞隊(duì)列、就緒隊(duì)列、I/O等待
隊(duì)列等)、作業(yè)隊(duì)列等。凡是存在隊(duì)列的地方,都需要某種調(diào)度策略,以服務(wù)于
隊(duì)列中的各對(duì)象。因此,操作系統(tǒng)中需要講解進(jìn)程調(diào)度、作業(yè)調(diào)度、磁盤調(diào)度等
調(diào)度算法。
如何更好地講解各種調(diào)度算法,訓(xùn)練學(xué)生的計(jì)算思維呢?筆者認(rèn)為,操作系
統(tǒng)中出現(xiàn)的各類調(diào)度算法本身不難,重點(diǎn)是通過學(xué)習(xí),讓學(xué)生學(xué)會(huì)如何研究算法、
評(píng)價(jià)其性能,并進(jìn)行改進(jìn),在這樣的學(xué)習(xí)過程中訓(xùn)練學(xué)生的科研能力和計(jì)算思維。
因此,此類內(nèi)容適合于讓學(xué)生預(yù)習(xí)自學(xué),完成相關(guān)模擬實(shí)驗(yàn),并組織學(xué)生互動(dòng)討
論,啟發(fā)學(xué)生從日常生活中提出簡(jiǎn)單的調(diào)度算法,再逐步改進(jìn)完善,進(jìn)行研究性
學(xué)習(xí)。歷經(jīng)數(shù)年的教學(xué)改革實(shí)踐證明,該方法切實(shí)可行,部分學(xué)生完全有能力通
過自學(xué),以研究方式設(shè)計(jì)、改進(jìn)調(diào)度算法,完成噗擬實(shí)驗(yàn)。通過互動(dòng)討論交流,
其學(xué)習(xí)經(jīng)驗(yàn)對(duì)其他同學(xué)亦具有激勵(lì)和示范作用。
(3)多道程序設(shè)計(jì)技術(shù):并發(fā)與并行
現(xiàn)代計(jì)算機(jī)系統(tǒng)一般都支持多道程序設(shè)計(jì)技術(shù),即允許多道程序(進(jìn)程)同
時(shí)駐留內(nèi)存,在單處理器系統(tǒng)中,某時(shí)刻只允許一道程序運(yùn)行(稱為多任務(wù)并發(fā))。
當(dāng)正在運(yùn)行的那道程序(進(jìn)程)因?yàn)槟撤N原因(比如等待輸入或輸出數(shù)據(jù))暫時(shí)
不能繼續(xù)運(yùn)行時(shí),系統(tǒng)將自動(dòng)地啟動(dòng)另一道程序(進(jìn)程)運(yùn)行;一旦原因消除(比
如數(shù)據(jù)已經(jīng)到達(dá)或數(shù)據(jù)已經(jīng)輸出完畢),暫時(shí)停止運(yùn)行的那道程序(進(jìn)程)在將
來某個(gè)時(shí)候還可以被調(diào)度繼續(xù)運(yùn)行。在多處理器系統(tǒng)中,某時(shí)刻允許多個(gè)任務(wù)同
時(shí)運(yùn)行,稱為多任務(wù)并行。與傳統(tǒng)的支持單道程序設(shè)計(jì)技術(shù)的系統(tǒng)相比,支持多
道程序設(shè)計(jì)技術(shù)的計(jì)算機(jī)系統(tǒng)能顯著提高效率。
單處理器系統(tǒng)中的并發(fā)實(shí)質(zhì)上是一種串行技術(shù),通過進(jìn)程調(diào)度實(shí)現(xiàn)處理器的
快速切換,在一段時(shí)間內(nèi)完成多個(gè)任務(wù)。可見,在個(gè)人計(jì)算機(jī)中同時(shí)打開多個(gè)
QQ窗口、播放音樂、收發(fā)電子郵件等任務(wù),都是通過CPU快速切換執(zhí)行各應(yīng)用
程序完成的。
多道程序設(shè)計(jì)技術(shù)是現(xiàn)代操作系統(tǒng)的核心技術(shù)之一,也是一種非常重要的計(jì)
算思維。教學(xué)中,首先分析多道程序設(shè)計(jì)技術(shù)的概念,剖析其實(shí)現(xiàn)技術(shù),區(qū)分單
處理器和多處理器系統(tǒng)中的實(shí)現(xiàn)差異。要求學(xué)生掌握單處理器多道程序系統(tǒng)中,
如何控制進(jìn)程并發(fā)執(zhí)行,如何實(shí)現(xiàn)進(jìn)程同步與互斥。操作系統(tǒng)課程將進(jìn)程的同步
與互斥抽象成生產(chǎn)者/消費(fèi)者、讀者/寫者以及哲學(xué)家進(jìn)餐三類經(jīng)典問題,以此為
例,訓(xùn)練學(xué)生如何實(shí)現(xiàn)多進(jìn)程同步與互斥的算思維能力。
(4)緩沖與多級(jí)存儲(chǔ)體系
人們外出時(shí),通常會(huì)攜帶一個(gè)隨身包,其中裝有一些日常必備用品,或裝一
些外出辦事臨時(shí)的資料用品等,這就是一種緩沖技術(shù)。緩沖技術(shù)是現(xiàn)代計(jì)算機(jī)系
統(tǒng)中常用的技術(shù),它利用多余的空間存儲(chǔ)一些最近常用的數(shù)據(jù),以加速數(shù)據(jù)的訪
問速率。計(jì)算機(jī)中存在各種各樣的緩沖區(qū),例如,由于CPU的處理速度比訪問
內(nèi)存的速度快,在CPU中配置高速寄存器,存儲(chǔ)CPU最近經(jīng)常處理的數(shù)據(jù)和指
令,避免每次訪問內(nèi)存而降低計(jì)算機(jī)的效率。再如,由于內(nèi)存的訪問速率比磁盤
的訪問速率快,在內(nèi)存配置緩沖區(qū),用于存儲(chǔ)輸出到磁盤或從磁盤輸入內(nèi)存的數(shù)
據(jù)。由于本地磁盤的訪訶速率比網(wǎng)絡(luò)存儲(chǔ)訪問速率快,在本地磁盤中配置緩沖區(qū),
存儲(chǔ)最近訪問網(wǎng)絡(luò)的數(shù)據(jù)等。
利用緩沖技術(shù),尺多余的空間換取時(shí)間,可以構(gòu)建計(jì)算機(jī)的多極存儲(chǔ)體系。
下圖示意了現(xiàn)代計(jì)算機(jī)金字塔結(jié)構(gòu)的多級(jí)存儲(chǔ)體系,即以容量小、價(jià)格昂貴、訪
問速度快的寄存器為塔尖,以容量大、價(jià)格便宜、訪問速度慢的外部存儲(chǔ)器(如
磁盤)為塔基,塔身由存儲(chǔ)容量、價(jià)格、訪問速率等逐步變化的各級(jí)緩存和物理
內(nèi)存構(gòu)成。
昂貴、快速、小容量寄存器(Register)
CPU內(nèi)高速緩存儲(chǔ)(Cache)
CPU外高速緩存儲(chǔ)(Cache)
主存儲(chǔ)器(PrimaivStorage)
廉價(jià)、低速、大容量外部存儲(chǔ)器(SecondaryStorage)
圖現(xiàn)代計(jì)算機(jī)的多級(jí)存儲(chǔ)體系
操作系統(tǒng)負(fù)責(zé)管理計(jì)算機(jī)系統(tǒng)中的各類緩沖存儲(chǔ)區(qū),包括緩沖區(qū)的分配與回
收、緩沖區(qū)內(nèi)容的更新與置換等。該部分教學(xué)主要訓(xùn)練學(xué)生理解緩沖技術(shù)的基本
原理、緩沖技術(shù)的應(yīng)用、緩沖區(qū)內(nèi)容的置換算法等計(jì)算思維能力和方法,并啟發(fā)
學(xué)生將緩沖技術(shù)從單機(jī)系統(tǒng)拓展到網(wǎng)絡(luò)環(huán)境,將緩沖技術(shù)提升為一種計(jì)算思維。
(5)中斷技術(shù)
現(xiàn)代計(jì)算機(jī)利用中斷技術(shù),支持多任務(wù)并發(fā)執(zhí)行。當(dāng)前正在執(zhí)行的任務(wù)因?yàn)?/p>
某種原因被中斷,計(jì)算機(jī)必須保存中斷時(shí)的所有信息(稱為中斷現(xiàn)場(chǎng)),以便恢
復(fù)中斷執(zhí)行。例如,當(dāng)CPU執(zhí)行到某程序的一條數(shù)據(jù)輸入指令時(shí),程序執(zhí)行被
中斷,CPU保存該任務(wù)的中斷現(xiàn)場(chǎng),并給相應(yīng)的輸入設(shè)備發(fā)出數(shù)據(jù)輸入命令,
CPU調(diào)度另外一個(gè)任務(wù)執(zhí)行。當(dāng)指定設(shè)備完成數(shù)據(jù)輸入,向CPU發(fā)送一個(gè)中斷
信號(hào),告知其數(shù)據(jù)輸入完畢。CPU將在適當(dāng)時(shí)候,恢復(fù)被中斷任務(wù)的現(xiàn)場(chǎng),繼
續(xù)其執(zhí)行。
中斷技術(shù)也屬于計(jì)算思維訓(xùn)練的核心技術(shù)之一。正是基于中斷技術(shù),現(xiàn)代計(jì)
算機(jī)系統(tǒng)才能支持多道程序設(shè)計(jì)技術(shù),才能實(shí)現(xiàn)處理器與I/O設(shè)備并行工作,以
及多任務(wù)并發(fā)執(zhí)行。本部分應(yīng)訓(xùn)練學(xué)生掌握中斷處理技術(shù),比較Windows和Linux
操作系統(tǒng)的中斷技術(shù)異同,理解為什么Linux操作系統(tǒng)改進(jìn)中斷接收和處理方式
以后能快速響應(yīng)實(shí)時(shí)任務(wù)。
(6)索引與冗余
文件是計(jì)算機(jī)系統(tǒng)中常用的數(shù)據(jù)組織形式,文件管理子系統(tǒng)負(fù)責(zé)文件的創(chuàng)
建、查找、分配存儲(chǔ)空間等功能。一個(gè)大文件包含大批量數(shù)據(jù),若順序查找或插
入某條記錄,效率非常低。因此,必須采用某種技術(shù)加快查找速度。一般,可以
采用折半查找、冒泡查找等技術(shù),也可以為源數(shù)據(jù)建立索引。相對(duì)于源數(shù)據(jù),索
引數(shù)據(jù)屬于冗余信息。若考慮計(jì)算機(jī)的存儲(chǔ)成本,冗余數(shù)據(jù)需要額外的存儲(chǔ)空間。
然而,冗余的索引數(shù)據(jù)有利于提高檢索速率。此外,有時(shí)為了確保數(shù)據(jù)安全,需
要增加數(shù)據(jù)備份,或保存源數(shù)據(jù)的校驗(yàn)信息,這些也是冗余數(shù)據(jù),但同樣有益。
可見,操作系統(tǒng)既追求提高資源利用率,也會(huì)利用冗余信息提高檢索速率或
增加數(shù)據(jù)可靠性等,這就需要在存儲(chǔ)空間利用率和檢索效率或可靠性等性能之間
尋找一種平衡。事實(shí)上,討論操作系統(tǒng)原理與實(shí)現(xiàn)技術(shù)時(shí),很多地方都需要考慮
理論與工程實(shí)現(xiàn)之間的折中與平衡,這屬于典型的計(jì)算思維。
(7)虛擬技術(shù)
虛擬技術(shù)是一種對(duì)計(jì)算機(jī)資源進(jìn)行抽象模擬的技術(shù)。它可以在已有計(jì)算機(jī)硬
件資源的基礎(chǔ)上,抽象化模擬出一整套或一部分虛擬的硬件資源,如CPU、內(nèi)
存、I/O設(shè)備等。一個(gè)多用戶多任務(wù)的單機(jī)系統(tǒng)中,物理上只裝配了一個(gè)CPU,
通過多進(jìn)程并發(fā),讓每個(gè)用戶感覺到獨(dú)占了一個(gè)CPU。這樣,CPU被虛擬了。
基于虛擬技術(shù),可以將外存的一部分虛擬為內(nèi)存使用,讓用戶感覺擴(kuò)大了內(nèi)存空
間,這就是虛擬存儲(chǔ)技術(shù)。同理,基于虛擬和網(wǎng)絡(luò)技術(shù),一臺(tái)打印機(jī)也可以被虛
擬為多臺(tái)打印機(jī)。
從計(jì)算思維的角度,不僅需要綜合講解操作系統(tǒng)中的虛擬技術(shù),還應(yīng)該進(jìn)行
思維拓展,將虛擬技術(shù)延伸到網(wǎng)絡(luò)環(huán)境,結(jié)合云計(jì)算、虛擬現(xiàn)實(shí)等其它相關(guān)領(lǐng)域,
開拓學(xué)生的思維,激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)其解決工程、科學(xué)等實(shí)際問題的能
力。
《計(jì)算機(jī)操作系統(tǒng)》屬于理論與工程實(shí)踐并重的課程。目前呈現(xiàn)兩大類教學(xué)
方式,一類鑒于實(shí)踐環(huán)境搭建困難或深入操作系統(tǒng)內(nèi)核的難度等因素阻礙,偏向
于理論講授,導(dǎo)致很多學(xué)生感覺這是一門偏文科類課程,抽象且難以掌握。另一
類教學(xué)注重工程實(shí)踐,要求學(xué)生進(jìn)行某操作系統(tǒng)源碼分析、改寫或補(bǔ)充部分功能
模塊,這對(duì)實(shí)踐環(huán)境、教師和學(xué)生都有非常高的要求,很多學(xué)生難以完成任務(wù)。
我?!队?jì)算機(jī)操作系統(tǒng)》課程組注重計(jì)算思維訓(xùn)練,以理論講授為主,配套不同
層次和難度的實(shí)驗(yàn)和課程設(shè)計(jì)。要求全體學(xué)生掌握操作系統(tǒng)中的部分關(guān)鍵技術(shù)、
原理及其實(shí)現(xiàn),規(guī)定難度適中的課程實(shí)驗(yàn)和課程設(shè)計(jì)題目,并鼓勵(lì)少數(shù)對(duì)操作系
統(tǒng)感興趣的優(yōu)秀學(xué)生攻克難度較高的工程和科研任務(wù)。歷經(jīng)數(shù)年的教學(xué)改革實(shí)
踐,獲得了同行和廣大學(xué)生的一致認(rèn)可和好評(píng)。當(dāng)然,計(jì)算思維訓(xùn)練是一個(gè)系統(tǒng)
工程,不僅僅屬于某一門課程的責(zé)任,需要貫穿于計(jì)算機(jī)基礎(chǔ)、專業(yè)、學(xué)科的各
門課程和各個(gè)環(huán)節(jié)。在計(jì)算機(jī)類課程教學(xué)中,教師應(yīng)將計(jì)算思維訓(xùn)練作為教學(xué)的
主要目的之一,并以此深化教育教學(xué)改革,幫助學(xué)生提升計(jì)算思維能力。而且,
不僅計(jì)算機(jī)專業(yè)的學(xué)生,非計(jì)算機(jī)專業(yè)的學(xué)生也同樣需要提升計(jì)算思維能力。
下面按照課程章節(jié)分模塊列舉各部分的重點(diǎn)和難點(diǎn),以及操作系統(tǒng)中若干經(jīng)
典問題的有效解決辦法。期望有助于幫助同學(xué)們學(xué)習(xí)該課程。
第一章計(jì)算機(jī)操作系統(tǒng)概述
重點(diǎn)難點(diǎn)學(xué)習(xí)指南
]、重點(diǎn)與難點(diǎn)
概M理解g區(qū)別,包括并發(fā)與并行、多道程序設(shè)計(jì)技術(shù)、操作系統(tǒng)的功能與
性能要素、執(zhí)行模式(雙模式)等。
2、解決辦法
反復(fù)揣摩、理解、結(jié)合實(shí)際應(yīng)用,如將多道程序設(shè)計(jì)技術(shù)與Web服務(wù)器的
工作方式,或個(gè)人PC機(jī)可以同時(shí)播放音樂、打印文檔、上網(wǎng)聊天等操作關(guān)聯(lián)起
來,形象實(shí)在,從日常應(yīng)用的直觀感受,逐漸建立起操作系統(tǒng)的抽象概念,樹立
系統(tǒng)觀和工程觀。
第二章進(jìn)程管理
重點(diǎn)難點(diǎn)學(xué)習(xí)指南
1、重點(diǎn)與難點(diǎn)
本章是該課程最重要,也是難度最大的部分,占用了最多的學(xué)時(shí)。重點(diǎn)與難
點(diǎn):
①概念理解與區(qū)別
進(jìn)程狀態(tài)轉(zhuǎn)換、進(jìn)程切換與模式切換、進(jìn)程與線程、同步與互斥。
②問題與解決
并發(fā)控制是多道程序系統(tǒng)的難點(diǎn),操作系統(tǒng)O有一系列的解決方法,如硬件
方法、信號(hào)量方法、管程方法和消息傳遞方法等。課程通過經(jīng)典進(jìn)程同步與互斥
問題:生產(chǎn)者消費(fèi)者問題、讀者寫者問題以及哲學(xué)家進(jìn)餐問題等,生動(dòng)呈現(xiàn)多進(jìn)
程并發(fā)執(zhí)行過程中遇到的同步與互斥問題,借助經(jīng)典問題的解決,學(xué)會(huì)實(shí)現(xiàn)進(jìn)程
的并發(fā)控制;多進(jìn)程并發(fā)的另一問題即死鎖問題,課程系統(tǒng)介紹了如何預(yù)防死鎖、
如何避免死鎖、及如何檢測(cè)和解除死鎖的具體方法.
、反復(fù)體會(huì)教學(xué)錄像內(nèi)容、結(jié)合操作系統(tǒng)實(shí)例分析,體會(huì)案例教學(xué)。親身感受
(建議自己寫程序?qū)崿F(xiàn))多進(jìn)程并發(fā)執(zhí)行、動(dòng)態(tài)演示進(jìn)程狀態(tài)轉(zhuǎn)換的過程,不同
狀態(tài)進(jìn)程排隊(duì)的過程;進(jìn)程調(diào)度算法;銀行家算法;將進(jìn)程死鎖與交通阻塞聯(lián)系
起來,將進(jìn)程調(diào)度與超市排隊(duì)結(jié)賬聯(lián)系起來,將信號(hào)量方法與交通燈聯(lián)系起來等
等,有望收到理想的效果。
進(jìn)程調(diào)度問題相而獨(dú)立,但非常重要。建議采用研究性學(xué)習(xí)方法,通過現(xiàn)實(shí)
生活中的排隊(duì)問題解決方案,提出多進(jìn)程調(diào)度算法,并評(píng)價(jià)算法性能,再逐步改
進(jìn)。課程錄像中展示了我校學(xué)生如何研究性學(xué)習(xí)該部分內(nèi)容,供學(xué)生們參考借鑒。
第三章存儲(chǔ)管理
重點(diǎn)難點(diǎn)學(xué)習(xí)指南
本模塊的重要程度和難度與進(jìn)程部分相當(dāng),也占用了較多的學(xué)時(shí)。
1、重點(diǎn)與難點(diǎn)
①原理理解與應(yīng)用
局部性原理的深入理解及其在各級(jí)存儲(chǔ)體系中的應(yīng)用(datacache,TLB,disk
cache,I/Obuffer)0
②問題與解決
分區(qū)/分頁/分段/段頁式存儲(chǔ)管理技術(shù)及實(shí)現(xiàn)、虛擬分頁系統(tǒng)的實(shí)現(xiàn)、頁面置
換算法。
2辦法
、重點(diǎn)講解局部性原理,作為理解現(xiàn)代操作系統(tǒng)存儲(chǔ)體系架構(gòu),提高系統(tǒng)效率
的重要的原理基礎(chǔ)。它在計(jì)算機(jī)網(wǎng)絡(luò)、Internet中也廣泛采用,也是虛擬存儲(chǔ)技
術(shù)實(shí)現(xiàn)的理論基礎(chǔ)。逋過動(dòng)態(tài)演示存儲(chǔ)分區(qū)、分葉、分段技術(shù),以及相應(yīng)的地址
轉(zhuǎn)換技術(shù)使學(xué)生理解。
第四章設(shè)備管理
重點(diǎn)難點(diǎn)學(xué)習(xí)指南
本章因?yàn)橛?jì)算機(jī)外部設(shè)備的多樣性、復(fù)雜性,而顯得缺乏邏輯性與系統(tǒng)性。
課程主要講授與操作系統(tǒng)相關(guān)的部分,如設(shè)備管理子系統(tǒng)的結(jié)構(gòu)、緩沖存儲(chǔ)技術(shù)、
操作系統(tǒng)與設(shè)備驅(qū)動(dòng)程序之間的接口、磁盤調(diào)度算法等,而非具體設(shè)備的管理與
I/O實(shí)現(xiàn)細(xì)節(jié)。
1、重點(diǎn)與難點(diǎn)
①問題與解決
OS設(shè)備管理模塊的結(jié)構(gòu)、I/O緩沖技術(shù)、SPOOLing技術(shù)及其應(yīng)用。
②算法與實(shí)現(xiàn)
各類磁盤調(diào)度算法的實(shí)現(xiàn)。
2、解決辦法
從系統(tǒng)(子系統(tǒng))設(shè)計(jì)的角度分析操作系統(tǒng)設(shè)備管理子系統(tǒng)的結(jié)構(gòu),從個(gè)人
PC機(jī)及計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境等講解緩沖技術(shù)的實(shí)現(xiàn)與應(yīng)用,從局域網(wǎng)環(huán)境中的打印
機(jī)共享講解SPOOLing技術(shù),及多種方式的磁盤調(diào)度技術(shù)??梢?,理論聯(lián)系實(shí)際
是本模塊講授的主要策略。
第五章文件管理
重點(diǎn)難點(diǎn)學(xué)習(xí)指南
本章介紹操作系統(tǒng)的軟件資源管理功能,內(nèi)容量不如進(jìn)程和存儲(chǔ)管理模塊部
分,重點(diǎn)與難點(diǎn)在于講解文件的邏輯組織結(jié)構(gòu)、文件在外存的分配技術(shù)、索引結(jié)
點(diǎn)的使用與好處、文件共享的實(shí)現(xiàn)、文件目錄的組織與管理等。本模塊因?yàn)樾枰?/p>
介紹文件在外部存儲(chǔ)空間的存儲(chǔ)管理,故與存儲(chǔ)管理模塊有很多共性。我們將此
部分與存儲(chǔ)管理結(jié)合、對(duì)比講解,如磁盤整理與動(dòng)態(tài)分區(qū)緊湊技術(shù),外存空間分
配管理與內(nèi)存分配管理技術(shù)對(duì)比介紹;將文件管理系統(tǒng)與數(shù)據(jù)庫管理系統(tǒng)比較講
解,效果顯著。
第六章操作系統(tǒng)安全
重點(diǎn)難點(diǎn)學(xué)習(xí)指南
本章簡(jiǎn)要概述計(jì)算機(jī)操作系統(tǒng)安全的概念、安全機(jī)制的實(shí)施:文件保護(hù)機(jī)制、
訪問矩陣、訪問矩陣的修改、訪問矩陣的實(shí)現(xiàn)。主要了解安全系統(tǒng)的模型、設(shè)計(jì)、
可信度驗(yàn)證。理解:操作系統(tǒng)安全的概念、安全機(jī)制的實(shí)施。掌握:文件保護(hù)、
訪問矩陣、訪問矩陣的修改、訪問矩陣的實(shí)現(xiàn)。
實(shí)踐教學(xué)與學(xué)習(xí)指南
《計(jì)算機(jī)操作系統(tǒng)》課程是一門理論和實(shí)踐并重的課程,必須配備相應(yīng)的實(shí)
驗(yàn)環(huán)節(jié)。該門課程的實(shí)驗(yàn)環(huán)節(jié)由兩部分構(gòu)成:課內(nèi)實(shí)驗(yàn)和課外實(shí)驗(yàn)。目前我們的
配備情況是64學(xué)時(shí)課堂講授+8學(xué)時(shí)課內(nèi)實(shí)驗(yàn)+8學(xué)時(shí)課外實(shí)驗(yàn)+若干學(xué)時(shí)的課程
設(shè)計(jì)。當(dāng)然,如果將小項(xiàng)目類型的作業(yè)計(jì)算在內(nèi),實(shí)驗(yàn)數(shù)應(yīng)當(dāng)更多。
為了在實(shí)踐過程中充分發(fā)揮師生互動(dòng)作用,課程組充分利用“實(shí)驗(yàn)室課堂”
和“案例庫”,完成相應(yīng)實(shí)踐過程,達(dá)到能力訓(xùn)練和啟發(fā)創(chuàng)新的目的。本課程的實(shí)
踐教學(xué)環(huán)節(jié)包括三個(gè)大的部分,即:課程實(shí)驗(yàn)、應(yīng)用實(shí)驗(yàn)和綜合實(shí)驗(yàn),并分成高、
中、低幾個(gè)層次。其中,課程實(shí)驗(yàn)主要解決《計(jì)算機(jī)操作系統(tǒng)》學(xué)習(xí)后對(duì)原理、
算法的理解和設(shè)計(jì)能力。應(yīng)用實(shí)驗(yàn)主要介紹現(xiàn)代主流操作系統(tǒng)(如UNIX/Linux
等)及其系統(tǒng)編程技術(shù),訓(xùn)練學(xué)生在操作系統(tǒng)平臺(tái)下的動(dòng)手能力。綜合實(shí)驗(yàn)(含
課程設(shè)計(jì))。主要促使學(xué)生理解操作系統(tǒng)內(nèi)核,開源碼分析,內(nèi)核和應(yīng)用模塊設(shè)
計(jì)等。是難度較大的實(shí)踐環(huán)節(jié),通過案例復(fù)現(xiàn)和模塊替換實(shí)驗(yàn)等,掌握技術(shù)實(shí)現(xiàn)
和模塊設(shè)計(jì)的方法與技巧。為有能力和有興趣的同學(xué)提供了技術(shù)提高環(huán)節(jié)。
實(shí)驗(yàn)課程與《計(jì)算機(jī)操作系統(tǒng)》課堂教學(xué)有機(jī)結(jié)合,相輔相成。在課堂教學(xué)
中,比較全面、概括性地講述操作系統(tǒng)基本概念,以及進(jìn)程管理、處理機(jī)調(diào)度與
死鎖、存儲(chǔ)器管理、設(shè)備管理、文件管理等知識(shí)。課程實(shí)驗(yàn)要求完成并發(fā)程序設(shè)
計(jì)、進(jìn)程同步與死鎖、存儲(chǔ)器分配與回收以及文件管理方法等,在計(jì)算機(jī)上模擬
實(shí)現(xiàn),使學(xué)生能夠達(dá)到以下教學(xué)目標(biāo):
(1)掌握計(jì)算機(jī)操作系統(tǒng)管理進(jìn)程、處理機(jī)、存儲(chǔ)器、文件系統(tǒng)的基本方法。
(2)了解進(jìn)程的創(chuàng)建、撤消和運(yùn)行,進(jìn)程并發(fā)執(zhí)行;自行設(shè)計(jì)解決哲學(xué)家就餐問題
的并發(fā)線程,了解線程(進(jìn)程)調(diào)度方法;掌握內(nèi)存空間的分配與回收的基本
原理;通過模擬文件管理的工作過程,了解文件操作命令的實(shí)質(zhì)。
(3)了解現(xiàn)代計(jì)算機(jī)操作系統(tǒng)的工作原理,具有初步分析、設(shè)計(jì)操作系統(tǒng)的能力。
(4)通過在計(jì)算機(jī)上編程實(shí)現(xiàn)操作系統(tǒng)中的名種管理功能,在系統(tǒng)程序設(shè)計(jì)能力方
面得到提升。
根據(jù)實(shí)驗(yàn)教學(xué)目標(biāo),我們將實(shí)驗(yàn)題目分為三類:驗(yàn)證性(例如上述第一類)、
設(shè)計(jì)性(例如上述第二類)、綜合性(例如上述后兩類)。由于驗(yàn)證性實(shí)驗(yàn)題目比
較簡(jiǎn)單,一般由學(xué)生獨(dú)立完成;設(shè)計(jì)性題目有一定的靈活性,一般安排2-3協(xié)作
完成;對(duì)于綜合性題目,由于工作量較大,具有較高的難度和靈活性,因此我們
安排2-4人合作完成。
圍繞課程大綱,設(shè)計(jì)了驗(yàn)證性、設(shè)計(jì)性和綜合性三大類實(shí)驗(yàn)任務(wù),具體描述
如下:
(1)驗(yàn)證性:
i.實(shí)驗(yàn)項(xiàng)目名稱:進(jìn)程調(diào)度算法設(shè)計(jì)實(shí)踐
實(shí)驗(yàn)項(xiàng)目的目的和任務(wù):通過該實(shí)驗(yàn),加深對(duì)多道系統(tǒng)中調(diào)度算法的認(rèn)識(shí)。
實(shí)現(xiàn)FIFO,RR(q=l),SPN,SRT,HRRN,FB六種調(diào)度算法。并通過輸入一組進(jìn)程
序列計(jì)算出每種算法的輸出進(jìn)程序列。
上機(jī)實(shí)驗(yàn)內(nèi)容:
I)實(shí)現(xiàn)主程序及六種調(diào)度算法。
2)輸入一組進(jìn)程序列,對(duì)序列中的每一個(gè)進(jìn)程,定義不同的優(yōu)先級(jí)、總執(zhí)
行時(shí)間,用六種調(diào)度算法輸出調(diào)度最終的排序結(jié)果。序列例;
進(jìn)程號(hào)12345678
優(yōu)先級(jí)42213343
運(yùn)行時(shí)間206036597182345
ii.實(shí)驗(yàn)項(xiàng)目名稱:線程間同步與互斥
實(shí)驗(yàn)項(xiàng)目的目的和任務(wù):通過多線程并發(fā)程序設(shè)計(jì),掌握同步與互斥的設(shè)計(jì)
方法。實(shí)現(xiàn)一個(gè)生產(chǎn)者、消費(fèi)者的兩線程同步算法。
上機(jī)實(shí)驗(yàn)內(nèi)容:
1)申請(qǐng)10個(gè)緩沖區(qū)。
2)編制生產(chǎn)者線程:首先產(chǎn)生一個(gè)隨機(jī)數(shù),寫入到一個(gè)緩沖區(qū)中。其次將該
緩沖區(qū)置“滿”標(biāo)志。
3)編制消費(fèi)者線程:取一個(gè)“滿”標(biāo)志的緩沖區(qū)中數(shù)據(jù),打印輸出,然后將該
緩沖區(qū)置“空”標(biāo)志。
4)添加相應(yīng)的同步互斥控制代碼。
iii.實(shí)驗(yàn)項(xiàng)目名稱:內(nèi)存分配與回收設(shè)計(jì)
實(shí)驗(yàn)項(xiàng)目的目的和任務(wù):學(xué)習(xí)內(nèi)存管理的實(shí)現(xiàn)原理。實(shí)現(xiàn)一個(gè)基于伙伴算法
的內(nèi)存分配回收算法,并通過輸入一組內(nèi)存請(qǐng)求與回收序列驗(yàn)證該算法執(zhí)行
情況。
上機(jī)實(shí)驗(yàn)內(nèi)容:
1)實(shí)現(xiàn)主程序及伙伴算法(設(shè)內(nèi)存總量為1M)。
2)用如下請(qǐng)求和釋放序列驗(yàn)證該算法執(zhí)行情況。
請(qǐng)求100k——>請(qǐng)求240k——>請(qǐng)求64k——>請(qǐng)求256k——>釋放
240k——>釋放100k——>請(qǐng)求75k——>釋放64k——>釋放75k——>釋放
256k
試輸出每次請(qǐng)求和釋放動(dòng)作產(chǎn)生后的內(nèi)存狀杰。
iv.實(shí)驗(yàn)項(xiàng)目名稱:文件復(fù)制
實(shí)驗(yàn)項(xiàng)目的目的和任務(wù):掌握文件系統(tǒng)的系統(tǒng)調(diào)用的使用。產(chǎn)生兩個(gè)文件A
和B,并將這兩個(gè)文件內(nèi)容交叉復(fù)制到文件C中,并輸出文件C的結(jié)果。
上機(jī)實(shí)驗(yàn)內(nèi)容:
1)產(chǎn)生一個(gè)1k的文件A,其內(nèi)容為數(shù)字。
2)產(chǎn)生一個(gè)1k的文件B,其內(nèi)容為字母。
3)以100字節(jié)為單位,將A、B兩文件的內(nèi)容交替復(fù)制到文件C中。最后
輸出C的結(jié)果。
(2)設(shè)計(jì)性:
i.實(shí)驗(yàn)項(xiàng)目名稱:Linux系統(tǒng)調(diào)用分析與實(shí)現(xiàn)
實(shí)驗(yàn)項(xiàng)目的目的和任務(wù):理解操作系統(tǒng)內(nèi)核與應(yīng)用程序的接口關(guān)系:加深對(duì)
內(nèi)核空間和用戶空間的理解;學(xué)會(huì)增加新的系統(tǒng)調(diào)用。
上機(jī)實(shí)驗(yàn)內(nèi)容:
1)增加系統(tǒng)調(diào)用函數(shù)
直接在原有程序文件中增加,減少修改Makefile文件的麻煩。該函數(shù)的名稱
應(yīng)該是新的系統(tǒng)調(diào)用名稱前面加上sys_標(biāo)志。例如新加的系統(tǒng)調(diào)用為
mycall(intnumber),i/usr/src/linux/kernel/sys.c文件中添加源代碼,如下所示:
asmlinkageintsys_mycall(intnumber)
(
printkf'callnumberis%d\n”,number);
returnnumber;
)
2)連接新的系統(tǒng)調(diào)用
添加新的系統(tǒng)調(diào)用后,下一個(gè)任務(wù)是使Linux內(nèi)核的其余部分知道該系統(tǒng)調(diào)
用的存在。為了從已有的內(nèi)核程序中增加到新的系統(tǒng)調(diào)用函數(shù)的連接,需要
編輯兩個(gè)文件。
第一個(gè)要修改的文件是:
/usr/src/linux/include/asm-i386/unistd.h
該文件中包含系統(tǒng)調(diào)用清單,用來給每個(gè)系統(tǒng)調(diào)用分配一個(gè)唯一的號(hào)碼。將
新增的系統(tǒng)調(diào)用名稱加到清單最后,并給它分配號(hào)碼序列中下一個(gè)可用的系
統(tǒng)調(diào)用號(hào)。例如:
#definc_NR_mycall239
系統(tǒng)調(diào)用號(hào)為239,之所以系統(tǒng)調(diào)用號(hào)是239,是因?yàn)閮?nèi)核自身的系統(tǒng)調(diào)用
號(hào)碼已經(jīng)用到238。
第二個(gè)要修改的文件是:/usr/src/1inux/arch/i386/kernel/entry.S
該文件中有類似如下的清單:
longSYMBOL_NAME()
該清單用來對(duì)sys_caH_table口數(shù)組進(jìn)行初始化。該數(shù)組包含指向內(nèi)核中每個(gè)
系統(tǒng)調(diào)用的指針。這樣就在數(shù)組中增加了新的內(nèi)核函數(shù)的指針。在清單最后
添加一行:
longSYMBOL_NAME(sys_mycall)
3)重建新的Linux內(nèi)核,作以下命令
makemcnuconfig配置內(nèi)核選項(xiàng)
makedep生成依賴關(guān)系
makeclean清除舊的編譯結(jié)果
makebzlmagenew編譯內(nèi)核映象
makemodules編譯內(nèi)核模塊
makeinodulesjnslall安裝內(nèi)核模塊
4)用新的內(nèi)核啟動(dòng)系統(tǒng)
修改/etc/lilo.conf文件,添加新的引導(dǎo)內(nèi)核:
image=/boot/bzlmage-new
label-liiiux-new
root=/dcv/hdb1
read-only
添加完畢后,為了使用新的lilo.conf配置文件,還應(yīng)執(zhí)行下面的命令:
#cp/usr/src/linux/arch/i386/boot/zlmage/boot/bzlmage-new
其次配置lilo:
#/sbin/lilo
當(dāng)重新引導(dǎo)系統(tǒng)時(shí),在boot:提示符后面有三種選擇:linux-new、linux、dos。
選擇linux-new即可以新內(nèi)核啟動(dòng)。用新內(nèi)核啟動(dòng)后則可使用新的系統(tǒng)調(diào)用。
5)使用新的系統(tǒng)調(diào)用
編寫應(yīng)用程序使用新添加的系統(tǒng)調(diào)用mycallo
(3)綜合性
ii.實(shí)驗(yàn)項(xiàng)目名稱:內(nèi)核模塊機(jī)制和新模塊編寫
實(shí)驗(yàn)項(xiàng)目的目的和任務(wù):理解Linux操作系統(tǒng)模塊機(jī)制,學(xué)會(huì)使用模塊設(shè)計(jì)
系統(tǒng)的方法,學(xué)習(xí)編寫一個(gè)新的內(nèi)核模塊。
上機(jī)實(shí)驗(yàn)內(nèi)容:
1)設(shè)計(jì)一個(gè)在/proc中實(shí)現(xiàn)clock文件的模決,該文件只支持文件的read()
操作。當(dāng)調(diào)用read。操作時(shí),返回一個(gè)單一的ASCH字符串,其中包括用一
個(gè)空格分開的兩個(gè)數(shù)字子串。例如,若系統(tǒng)時(shí)間變量xtime設(shè)置為:
xtime.tv_sec=923264577xtime.tv_usec=234438,則該模塊必須返回如下形式
的一個(gè)字符串:923264577234438
2)寫一個(gè)空內(nèi)核模塊,編譯測(cè)試。
編輯:
#include<linux/kernel.h>
#include<linux/module.h>
intinit_module(){
printkC'Itisanullkernelmodule'rT);
return0;
voidcleanup_module(){
printkfiamexitingnow...\n,,);
編譯?
gcc-c-Wall-D_KERNEL_-DMODULEtestmodule.c
運(yùn)行:
insmodtestmodule.o〃裝入模塊
Ismod//檢查裝入是否成功
rmmodtcstmodulc〃卸載模塊
Ismod〃檢查卸載是否成功
3)生成一proc文件,以用于讀取系統(tǒng)時(shí)鐘。在模塊中使用
proc_register()和proc_unregister()注冊(cè)和注銷。它們引用一個(gè)struct
proc_dir_entry數(shù)據(jù)結(jié)構(gòu),將該結(jié)構(gòu)中g(shù)etjnfo指針指向自己構(gòu)造的讀函數(shù)。
模版如下:
#include<linux/proc_fs.h>
int【
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專屬2024年商品銷售代表協(xié)議版
- 專業(yè)倉儲(chǔ)及配送服務(wù):2024協(xié)議范本版A版
- 科技驅(qū)動(dòng):公司未來發(fā)展
- 2025年度彩鋼房拆除與綠色建筑認(rèn)證服務(wù)合同范本4篇
- 2025年度影視基地場(chǎng)地借用及拍攝制作合同4篇
- 2025年度科研實(shí)驗(yàn)場(chǎng)地使用權(quán)出讓及研發(fā)支持服務(wù)合同4篇
- 二零二五年度抽沙船租賃及海洋環(huán)境監(jiān)測(cè)協(xié)議3篇
- 2025年度新型工業(yè)園區(qū)土地使用權(quán)交易合同范本4篇
- 2025年智能工廠設(shè)備租賃居間合同示范文本4篇
- 2025年度長(zhǎng)租公寓運(yùn)營(yíng)管理服務(wù)合同4篇
- 領(lǐng)導(dǎo)溝通的藝術(shù)
- 發(fā)生用藥錯(cuò)誤應(yīng)急預(yù)案
- 南潯至臨安公路(南潯至練市段)公路工程環(huán)境影響報(bào)告
- 綠色貸款培訓(xùn)課件
- 大學(xué)生預(yù)征對(duì)象登記表(樣表)
- 主管部門審核意見三篇
- 初中數(shù)學(xué)校本教材(完整版)
- 父母教育方式對(duì)幼兒社會(huì)性發(fā)展影響的研究
- 新課標(biāo)人教版數(shù)學(xué)三年級(jí)上冊(cè)第八單元《分?jǐn)?shù)的初步認(rèn)識(shí)》教材解讀
- (人教版2019)數(shù)學(xué)必修第一冊(cè) 第三章 函數(shù)的概念與性質(zhì) 復(fù)習(xí)課件
- 重慶市銅梁區(qū)2024屆數(shù)學(xué)八上期末檢測(cè)試題含解析
評(píng)論
0/150
提交評(píng)論