??
(一)課程性質(zhì)
本課程是計算機(jī)科學(xué)與技術(shù)專業(yè)的核心課程之一,屬于必修課程。
操作系統(tǒng)”是計算機(jī)系統(tǒng)不可缺少的組成部分,負(fù)責(zé)對系統(tǒng)中各種資源進(jìn)行有效的管理和對各種活動進(jìn)行正確的組織,使整個計算機(jī)系統(tǒng)協(xié)調(diào)一致且高效地工作,指揮計算機(jī)系統(tǒng)正常運行。操作系統(tǒng)基于硬件,并對硬件實施管理,并構(gòu)成對所有軟件運行的支持平臺,給用戶使用計算機(jī)而提供方便靈活友好的接口。
本課程的先修課為計算機(jī)組成原理、微機(jī)原理、數(shù)據(jù)結(jié)構(gòu)、高級語言程序設(shè)計;后續(xù)課程為數(shù)據(jù)庫系統(tǒng)原理、計算機(jī)網(wǎng)絡(luò)、分布式系統(tǒng)等。
(二)教學(xué)目的
通過本課程的學(xué)習(xí),使學(xué)生在深刻理解計算機(jī)系統(tǒng)整體概念的基礎(chǔ)之上,掌握操作系統(tǒng)的基本內(nèi)容及實現(xiàn)方法,掌握操作系統(tǒng)對計算機(jī)系統(tǒng)中各種資源的管理和控制功能,從而使學(xué)生具備一定的系統(tǒng)軟件開發(fā)技能,為以后從事的研究、開發(fā)工作(如設(shè)計、分析或改進(jìn)各種系統(tǒng)軟件和應(yīng)用軟件)提供必要的軟件基礎(chǔ)和基本技能。
(三)教學(xué)內(nèi)容
本課程內(nèi)容包括:緒論,是對操作系統(tǒng)的一般性描述,包括什么是操作系統(tǒng),操作系統(tǒng)在整個計算機(jī)系統(tǒng)的地位及其發(fā)展歷史,它的功能、分類等;作業(yè)管理和Linux用戶接口,介紹作業(yè)和操作系統(tǒng)用戶接口,包括作業(yè)的基本概念和作業(yè)的建立過程、Linux介紹和它所提供的用戶接口等;進(jìn)程管理,主要介紹進(jìn)程和線程的概念、進(jìn)程控制、進(jìn)程同步/互斥、死鎖、進(jìn)程間通信、線程等;處理機(jī)調(diào)度,主要介紹作業(yè)調(diào)度、進(jìn)程調(diào)度、各種調(diào)度算法及其評價等;存儲管理,介紹常見存儲管理的方法,虛擬存儲管理的實現(xiàn)等;Linux進(jìn)程和存儲管理;文件系統(tǒng),包括文件系統(tǒng)的概念、文件結(jié)構(gòu)和文件存取、文件目錄管理、Linux文件管理等;設(shè)備管理;面向?qū)ο蟮牟僮飨到y(tǒng)和分布式操作系統(tǒng)。
(四)教學(xué)時數(shù)
課內(nèi)學(xué)時:60
(五)教學(xué)方式
本課程的教學(xué)環(huán)節(jié)包括:課堂講授、習(xí)題課、課堂討論、批改作業(yè)、課外輔導(dǎo)、實驗相結(jié)合,并逐步采用CAI、網(wǎng)絡(luò)教學(xué)等教學(xué)手段。通過本課程各個教學(xué)環(huán)節(jié)的教學(xué),重點培養(yǎng)學(xué)生的自學(xué)能力、分析問題解決問題的能力。
教學(xué)方法:采用啟發(fā)式教學(xué),鼓勵學(xué)生自己針對某種操作系統(tǒng)進(jìn)行分析和研究,培養(yǎng)學(xué)生的自學(xué)能力,以“少而精”為原則,精選教學(xué)內(nèi)容,精講多練,調(diào)動學(xué)生學(xué)習(xí)的主觀能動性。
教學(xué)手段:開展電子教案、CAI課件的研制、引進(jìn)和應(yīng)用,研制多媒體教學(xué)系統(tǒng)。
考試環(huán)節(jié):考試形式采用筆試,考試題型分為:填空題、選擇題、判斷題、簡答題、分析設(shè)計題。
第1章 緒論
教學(xué)要點:
操作系統(tǒng)的概念及其發(fā)展歷史、分類,操作系統(tǒng)功能,研究操作系統(tǒng)的觀點。本章是對操作系統(tǒng)的一般性描述。
教學(xué)時數(shù):4學(xué)時
教學(xué)內(nèi)容:
1.1 操作系統(tǒng)概念 (0.5學(xué)時)
掌握操作系統(tǒng)的概念及其在計算機(jī)系統(tǒng)中的作用。
1.2 操作系統(tǒng)的發(fā)展歷史 (1學(xué)時)
了解操作系統(tǒng)的發(fā)展歷史。
1.3 操作系統(tǒng)的基本類型 (1學(xué)時)
理解批處理系統(tǒng)、分時操作系統(tǒng)、實時操作系統(tǒng)、個人計算機(jī)操作系統(tǒng)、網(wǎng)絡(luò)和分布式操作系統(tǒng)的特點。
1.4 操作系統(tǒng)的功能 (1學(xué)時)
掌握操作系統(tǒng)的處理機(jī)管理、存儲管理、設(shè)備管理、文件管理和用戶接口五大功能。
1.5 研究操作系統(tǒng)的幾種觀點 (0.5學(xué)時)
了解操作系統(tǒng)是計算機(jī)資源的管理者觀點,用戶界面觀點,進(jìn)程管理觀點。
考核要求:
1. 識記:什么是操作系統(tǒng),操作系統(tǒng)的分類。
2. 領(lǐng)會:操作系統(tǒng)的功能,操作系統(tǒng)的發(fā)展歷史及研究觀點。
第2章 作業(yè)管理和Linux用戶接口
教學(xué)要點:
作業(yè)的概念和建立過程,操作系統(tǒng)為用戶提供的接口,Linux用戶接口,Linux shell編程。
教學(xué)時數(shù):8學(xué)時
教學(xué)內(nèi)容:
2.1 作業(yè)的基本概念 (1學(xué)時)
掌握作業(yè)的定義,作業(yè)的組織。
2.2 作業(yè)的建立過程 (1學(xué)時)
掌握作業(yè)的輸入方式、JCB的建立;掌握SPOOLING系統(tǒng)。
2.3 用戶接口 (1學(xué)時)
掌握作業(yè)控制、系統(tǒng)調(diào)用;了解用戶接口的演變。
2.4 分時作業(yè)管理 (0.5學(xué)時)
了解分時作業(yè)管理。
2.5 Linux簡介 (1學(xué)時)
了解Linux的發(fā)展歷史和發(fā)展前景,Linux系統(tǒng)的特點,Linux系統(tǒng)結(jié)構(gòu)。
2.6 Linux的Shell (1.5學(xué)時)
理解Shell提供的命令種類,程序語言Shell,make命令。
2.7 Linux的系統(tǒng)調(diào)用 (1學(xué)時)
理解有關(guān)設(shè)備管理的系統(tǒng)調(diào)用,有關(guān)文件系統(tǒng)的系統(tǒng)調(diào)用,有關(guān)進(jìn)程控制的系統(tǒng)調(diào)用,有關(guān)進(jìn)程通信的系統(tǒng)調(diào)用,有關(guān)存儲管理的系統(tǒng)調(diào)用。
2.8 Linux桌面環(huán)境KDE介紹 (1學(xué)時)
了解Linux桌面環(huán)境KDE介紹。
考核要求:
1. 識記并領(lǐng)會:作業(yè)的概念,JCB的建立,SPOOLING系統(tǒng),操作系統(tǒng)用戶接口。
2. 分析:Linux的Shell,Linux的系統(tǒng)調(diào)用。
第3章 進(jìn)程管理
教學(xué)要點:
進(jìn)程的概念和描述,進(jìn)程的同步和互斥,進(jìn)程通信,死鎖。
教學(xué)時數(shù):10學(xué)時
教學(xué)內(nèi)容:
3.1 進(jìn)程和線程的概念 (1學(xué)時)
掌握程序的并發(fā)執(zhí)行、進(jìn)程的定義、作業(yè)和進(jìn)程的關(guān)系;了解線程的概念。
3.2 進(jìn)程的描述 (1學(xué)時)
掌握進(jìn)程控制塊PCB,進(jìn)程上下文。
3.3 進(jìn)程狀態(tài)及其轉(zhuǎn)換 (1學(xué)時)
掌握進(jìn)程的三種基本狀態(tài):執(zhí)行狀態(tài)、等待狀態(tài)、就緒狀態(tài),三種狀態(tài)間的轉(zhuǎn)換。
3.4 進(jìn)程控制 (1學(xué)時)
理解進(jìn)程的創(chuàng)建與撤消,進(jìn)程的阻塞與喚醒。
3.5 進(jìn)程互斥 (2學(xué)時)
掌握資源共享所引起的制約,互斥的加鎖實現(xiàn),信號量和P、V原語,用P、V原語實現(xiàn)進(jìn)程互斥。
3.6 進(jìn)程同步 (1學(xué)時)
掌握同步的概念,私用信號量,用P、V原語實現(xiàn)同步;理解生產(chǎn)者——消費者問題。
3.7 進(jìn)程通信 (1.5學(xué)時)
理解進(jìn)程的通信方式,消息緩沖機(jī)制,郵箱通信。
3.8 死鎖問題 (1.5學(xué)時)
掌握死鎖的概念,死鎖的排除方法,銀行家算法。
考核要求:
1. 識記:進(jìn)程的概念和描述,進(jìn)程的互斥和同步,死鎖的產(chǎn)生條件,線程的概念。
2. 領(lǐng)會:進(jìn)程控制,進(jìn)程通信, 死鎖的排除方法和各種算法。
第4章 處理機(jī)調(diào)度
教學(xué)要點:
作業(yè)調(diào)度,進(jìn)程調(diào)度,各種調(diào)度算法及其評價,多處理機(jī)調(diào)度機(jī)制。
教學(xué)時數(shù):6學(xué)時
教學(xué)內(nèi)容:
4.1 分級調(diào)度 (1學(xué)時)
作業(yè)的狀態(tài)和轉(zhuǎn)換,調(diào)度的層次。
4.2 作業(yè)調(diào)度 (1學(xué)時)
掌握作業(yè)調(diào)度功能,作業(yè)調(diào)度目標(biāo)與性能衡量。
4.3 進(jìn)程調(diào)度 (1學(xué)時)
掌握進(jìn)程調(diào)度的功能,進(jìn)程調(diào)度的時機(jī),進(jìn)程上下文切換;理解進(jìn)程調(diào)度性能評價。
4.4 調(diào)度算法 (1學(xué)時)
掌握先來先服務(wù)調(diào)度算法,輪轉(zhuǎn)法,多級反饋輪轉(zhuǎn)法,優(yōu)先級法,靜態(tài)優(yōu)先級,動態(tài)優(yōu)先級。
4.5 算法評價 (1學(xué)時)
理解FCFS方式的調(diào)度性能分析,輪轉(zhuǎn)法調(diào)度性能評價,線性優(yōu)先級法的調(diào)度性能。
4.6 多處理機(jī)調(diào)度 (1學(xué)時)
了解多處理機(jī)系統(tǒng)的概念,多處理機(jī)操作系統(tǒng)的分類,多處理機(jī)系統(tǒng)調(diào)度策略。
考核要求:
1. 識記:作業(yè)調(diào)度的功能和目標(biāo)。
2. 領(lǐng)會:進(jìn)程調(diào)度,調(diào)度算法的性能評價。
3. 分析及應(yīng)用進(jìn)程調(diào)度算法。
第5章 存儲管理
教學(xué)要點:
虛擬存儲器的概念,分區(qū)存儲管理,頁式存儲管理,段式與段頁式存儲管理。
教學(xué)時數(shù):12學(xué)時
教學(xué)內(nèi)容:
5.1 存儲管理的功能 (1.5學(xué)時)
掌握虛擬存儲器,內(nèi)外存數(shù)據(jù)傳輸?shù)目刂?,?nèi)存的分配與回收;理解地址變換,內(nèi)存信息的共享與保護(hù)。
5.2 單道環(huán)境下的存儲管理 (0.5學(xué)時)
理解單一連續(xù)區(qū)分配;了解單一連續(xù)區(qū)管理方式的優(yōu)缺點。
5.3 分區(qū)存儲管理 (2學(xué)時)
理解分區(qū)管理基本原理,分區(qū)的分配與回收。
5.4 覆蓋與交換技術(shù) (1學(xué)時)
理解覆蓋技術(shù),交換技術(shù)。
5.5 頁式管理 (3學(xué)時)
掌握頁式管理的基本原理,靜態(tài)頁面管理,動態(tài)頁式管理,存儲保護(hù);理解請求頁式管理中的置換算法;了解頁式管理的優(yōu)缺點。
5.6 段式與段頁式管理 (3學(xué)時)
掌握段式管理的基本思想,段頁式管理的基本思想;理解段式管理的實現(xiàn)原理,段頁式管理的實現(xiàn)原理;了解段式管理的優(yōu)缺點。
5.7 局部性原理和抖動問題 (1學(xué)時)
掌握局部性原理;理解工作集概念。
考核要求:
1. 識記:存儲管理的功能,虛擬存儲器的概念,頁式管理的基本原理,動態(tài)頁式管理,頁式管理存儲保護(hù),段式管理和段頁式管理的基本思想,局部性原理。
2. 領(lǐng)會:地址變換,分區(qū)管理的基本原理,分區(qū)的分配與回收,靜態(tài)頁式管理,段頁式管理的實現(xiàn)原理,工作集概念。
3. 應(yīng)用:請求頁式管理中的置換算法。
第6章 Linux進(jìn)程和存儲管理
教學(xué)要點:
Linux進(jìn)程結(jié)構(gòu)、進(jìn)程控制,Linux進(jìn)程調(diào)度與交換,進(jìn)程間通信,Linux存儲管理方式。
教學(xué)時數(shù):8學(xué)時
教學(xué)內(nèi)容:
6.1 Linux進(jìn)程和存儲管理介紹 (1學(xué)時)
6.2 Linux進(jìn)程結(jié)構(gòu) (1學(xué)時)
掌握Linux進(jìn)程的概念,進(jìn)程的虛地址結(jié)構(gòu),進(jìn)程上下文,進(jìn)程的狀態(tài)和狀態(tài)轉(zhuǎn)換。
6.3 Linux進(jìn)程控制 (1學(xué)時)
了解Linux啟動和進(jìn)程樹的形成,理解Linux進(jìn)程控制。
6.4 Linux進(jìn)程調(diào)度與交換 (1學(xué)時)
掌握Linux進(jìn)程調(diào)度,交換。
6.5 進(jìn)程間通信 (2學(xué)時)
掌握Linux的低級通信,進(jìn)程間通信IPC。
6.6 Linux存儲管理 (2學(xué)時)
掌握Linux虛存空間劃分和管理思想;理解Linux的內(nèi)存分配與釋放,地址變換過程,Linux的請求調(diào)頁技術(shù)。
考核要求:
1. 領(lǐng)會:Linux進(jìn)程控制,內(nèi)存的分配與釋放,Linux進(jìn)程結(jié)構(gòu)。
2. 分析:Linux進(jìn)程調(diào)度,進(jìn)程間通信,Linux的頁式存儲管理。
第7章 文件系統(tǒng)
教學(xué)要點:
文件系統(tǒng)的作用,文件的結(jié)構(gòu)與存取,文件的目錄管理。
教學(xué)時數(shù):12學(xué)時
教學(xué)內(nèi)容:
7.1 文件系統(tǒng)的概念 (1學(xué)時)
掌握文件系統(tǒng)的引入,文件與文件系統(tǒng)的概念,文件的分類。
7.2 文件的邏輯結(jié)構(gòu)與存取方法 (1學(xué)時)
理解文件的邏輯結(jié)構(gòu),存取方法,順序存取法,隨機(jī)存取法,按鍵存取法。
7.3 文件的物理結(jié)構(gòu)與存儲設(shè)備 (1學(xué)時)
理解文件的物理結(jié)構(gòu):連續(xù)文件,串聯(lián)文件,索引文件;理解文件存儲設(shè)備:順序存取設(shè)備,直接存取設(shè)備。
7.4 文件存儲空間管理 (1學(xué)時)
掌握三種不同的空閑塊管理方法:空閑文件目錄,空閑塊鏈,位示圖。
7.5 文件目錄管理 (2學(xué)時)
掌握文件的組成,文件目錄,可共享的文件目錄,目錄管理。
7.6 文件存取控制 (1學(xué)時)
理解文件存取控制的目標(biāo),存取控制方法。
7.7 文件的使用 (0.5學(xué)時)
了解文件的使用。
7.8 文件系統(tǒng)的層次模型 (0.5學(xué)時)
了解文件系統(tǒng)的層次模型。
7.9 Linux文件系統(tǒng)的特點與數(shù)據(jù)結(jié)構(gòu)、文件類別 (1.5學(xué)時)
掌握Linux文件系統(tǒng)的特點,Linux文件分類,文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)及其關(guān)系。
7.10 Linux文件系統(tǒng)的資源管理和地址映射 (1.5學(xué)時)
理解磁盤i-node的分配與釋放,內(nèi)存i-node的分配與釋放,系統(tǒng)打開文件表的分配與釋放,地址映射。
7.11 Linux系統(tǒng)中的目錄與搜索方法,以及文件系統(tǒng)的系統(tǒng)調(diào)用 (1學(xué)時)
理解散列搜索法,算法描述;理解Linux系統(tǒng)調(diào)用。
考核要求:
1. 識記:文件系統(tǒng)的功能,文件系統(tǒng)的層次模型。
2. 領(lǐng)會:文件的邏輯與物理結(jié)構(gòu),文件存取方法及其存取控制,文件目錄管理。
3. 分析:Linux文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)及其相互關(guān)系,Linux文件系統(tǒng)的資源管理和地址映射、系統(tǒng)中的目錄與搜索方法,Linux文件系統(tǒng)的系統(tǒng)調(diào)用。
4. 應(yīng)用層次:文件的使用。
第8章 設(shè)備管理
教學(xué)要點:
主要介紹設(shè)備管理的基本概念,包括中斷、緩沖、設(shè)備分配和控制。
教學(xué)時數(shù):8學(xué)時
教學(xué)內(nèi)容:
8.1 引言 (0.5學(xué)時)
掌握設(shè)備的類別,設(shè)備管理的功能和任務(wù)。
8.2 數(shù)據(jù)傳送控制方式 (1學(xué)時)
掌握程序直接控制方式,中斷方式,DMA方式,通道控制方式。
8.3 中斷技術(shù) (1學(xué)時)
掌握中斷的基本概念,中斷的分類與優(yōu)先級,軟中斷;理解中斷處理過程。
8.4 緩沖技術(shù) (1學(xué)時)
掌握緩沖的目標(biāo),緩沖的種類,緩沖池的管理。
8.5 設(shè)備分配 (1學(xué)時)
掌握設(shè)備分配用的數(shù)據(jù)結(jié)構(gòu),設(shè)備分配的原則,設(shè)備分配辦法。
8.6 I/O進(jìn)程控制與設(shè)備驅(qū)動程序 (0.5學(xué)時)
了解I/O控制的功能,I/O控制的實現(xiàn),設(shè)備驅(qū)動程序。
8.7 Linux的中斷和異常處理 (1學(xué)時)
理解中斷和異??偪剡^程,中斷分類和處理,異常處理。
8.8 Linux緩沖區(qū)管理 (1學(xué)時)
掌握Linux緩沖池結(jié)構(gòu),緩沖區(qū)的分配與釋放,緩沖區(qū)數(shù)據(jù)讀寫。
8.9 塊設(shè)備驅(qū)動與字符設(shè)備驅(qū)動 ( 1學(xué)時)
理解塊設(shè)備驅(qū)動:設(shè)備配置,設(shè)備驅(qū)動程序的接口;理解字符設(shè)備驅(qū)動:主要數(shù)據(jù)結(jié)構(gòu),包括緩沖區(qū)結(jié)構(gòu)、緩沖隊列的控制結(jié)構(gòu)、字符設(shè)備開關(guān)表。
考核要求:
1. 識記:數(shù)據(jù)傳送控制方式,緩沖技術(shù),設(shè)備分配。
2. 領(lǐng)會:中斷技術(shù),Linux緩沖區(qū)管理,Linux的中斷和異常處理。
第9章 面向?qū)ο?、網(wǎng)絡(luò)、分布式操作系統(tǒng)
教學(xué)要點:
介紹面向?qū)ο蟮牟僮飨到y(tǒng)和網(wǎng)絡(luò)操作系統(tǒng),以及分布式操作系統(tǒng)的概念。
教學(xué)時數(shù):4學(xué)時
教學(xué)內(nèi)容:
9.1 面向?qū)ο蠛筒僮飨到y(tǒng) (1學(xué)時)
了解面向?qū)ο蟮幕靖拍?,面向?qū)ο蟛僮飨到y(tǒng)的概念及其開發(fā)方法,面向?qū)ο蟛僮飨到y(tǒng)的分類。
9.2 網(wǎng)絡(luò)操作系統(tǒng) (1學(xué)時)
了解網(wǎng)絡(luò)操作系統(tǒng)的構(gòu)成,文件與打印服務(wù),電子郵件服務(wù)。
9.3 分布式操作系統(tǒng) (2學(xué)時)
了解進(jìn)程遷移,分布進(jìn)程同步,分布式進(jìn)程通信,分布式系統(tǒng)中的死鎖。
考核要求:
識記面向?qū)ο蟛僮飨到y(tǒng)的概念,分布式操作系統(tǒng)的基本概念;領(lǐng)會網(wǎng)絡(luò)操作系統(tǒng)的構(gòu)成與服務(wù)。