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