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