人工操作:單用戶、CPU. 內存長期空閒
脫機輸入/輸出(OFF-LINE I/0):裝好卡片再上機。節約CPU空閒時間、提高I/O速度
二、單道批操作系統
描述:有個監督程序將磁帶上的作業調入計算機
缺點:I/O太慢,CPU太快
三、多道批操作系統
描述:A在I/0,B趁機CPU
優點:肯定提高資源利用率、系統吞吐量變大
缺點:每個程序都要很久才處理完、無交互能力
未解難題:內存、外存、I/O、CPU、作業管理、接口
四、分時系統
描述:解決人機交互問題
優點:終於有人機交互、多用戶共享主機
實際問題:由於多用戶,所以要有“多路卡”、作業直接入內存、有個“時間片”調度作業
特徵:多路、獨立、及時(用戶可接受)、交互
五、實時系統
描述:工業(武器)控制系統、信息查詢系統、多媒體系統、嵌入式系統
類型1:週期性實時:真的很週期;非週期性實時:有開始截止時間和完成截止時間
類型2:硬實時:工業、武器系統;軟實時:信息查詢系統和多媒體系統
與分時系統比較: 多路、獨立、及時(毫秒級)、交互、可靠
六、微機時代
(一)單用戶單任務:8位機的CP/M、16位機的MS-DOS
(二)單用戶多任務:目前的32位系統,如Windows
(三)多用戶多任務:UNIX、Solaris、Linux
③操作系統共同特性:
一、併發
(一)併發和並行宏觀上一樣,
併發:單處理機系統,微觀上交替運行
並行:多處理機系統,微觀上同時運行
(二)引入進程
進程:在系統中能獨立運行並作爲資源分配的基本單位,由機器指令、數據和堆棧等組成,能獨立運行的活動實體
特點:用進程就可以併發執行了
二、共享
(一)互斥共享方式
例子:臨界資源,打印機、磁帶機
描述:你要先申請才能獲得資源
(二)同時訪問方式
描述:微觀上還是併發
例子:多用戶磁盤設備
條件:系統允許進程併發、系統能有效管理資源
三、虛擬
(一)時分複用技術
虛擬處理機技術:分身之術
虛擬設備:又是分身之術,騙用戶以爲有專人服務
時分複用:速度:≤1/N
(二)空分複用技術
描述:將程序、電話線分成若干部分,然後各部分分時進入內存運行
空分複用:空間:≤1/N
四、異步
描述:因爲要併發,所以需要一個機制調度進程
④操作系統主要功能
一、處理機管理功能
(一)控制進程
描述:要併發,就要進程、要進程,就要管理
(二)進程同步
進程互斥方式:臨界資源要互斥
進程同步方式:合作完成共同任務,同步機構要協調先後次序
(三)進程通信
描述:對合作進程而言,需要交換信息。當他們處於同一計算機系統時,通常採用直接通信的方式。
例子:輸入進程、計算進程、打印進程,需要信息交換
(四)調度
作業調度:選擇作業、建立進程、分配資源、插入就緒隊列
進程調度:從就緒隊列中選出進程,分配CPU
二、存儲器管理功能
(一)內存分配
任務:分配空間、減少碎片、追加內存空間
方式:靜態分配,裝入內存時確定,不允許追加、不允許移動;動態分配,允許追加、允許移動
(二)內存保護
任務1:每道程序只在自己的內存空間運行,互不干擾
任務2:不允許用戶程序訪問操作系統程序和數據、也不允許用戶程序轉移到非共享的其他用戶程序中執行
(三)地址映射
任務:存儲器要負責地址映射,在硬件支持下完成
(四)內存擴充
描述:用虛擬存儲技術,從邏輯上擴充內存容量
任務1:請求-調入功能
任務2:置換功能
三、設備管理功能
任務1:完成用戶進程的I/O請求:分配I/O設備,完成I/O操作
任務2:提高CPU和I/O利用率:提高I/O速度,方便用戶使用I/O設備
(一)緩衝管理
描述:在內存中設置緩衝區
例子:單緩衝機制、雙向同時傳送數據的雙緩衝機制、多個設備共同使用的公用“緩衝池”機制
(二)設備分配
描述:在系統中設置“設備控制表”、“控制器控制表”等數據結構,用於記錄設備和控制器等標識符和狀態。根據表就知道指定設備當前是否可用、忙碌。分配時,針對不同設備要有不同“分配方式”,對獨佔設備還要考慮分配後是否安全
(三)設備處理
描述:CPU向設備控制器發出I/O命令,要求完成I/O操作、反之,CPU接收控制器發出的中斷請求,並響應.處理
四、文件管理功能
描述:管理用戶、系統文件,方便使用;保證安全性
(一)文件儲存空間管理
背景:多用戶環境下,用戶自己管理文件存儲,會困難和低效
任務1:爲每個文件分配外存空間、提高外存利用率、進而提高存取速度
任務2:系統中設置數據結構,記錄文件存儲空間使用情況,以供分配時參考
任務3:分配和回收
(二)目錄管理
任務1:爲每個文件建立目錄項,包括文件名、屬性、物理位置等,以實現按名存取
任務2:實現文件共享。
任務3:提供目錄查詢手段
(三)文件讀/寫管理和保護
文件讀/寫管理:根據用戶請求,從外存中讀取數據,或將數據寫入外存
文件保護:防止未經覈準的用戶存取文件、防止冒名頂替存取文件、防止以不正確方式使用文件
五、操作系統與用戶之間的接口
(一)用戶接口
描述:方便用戶直接.間接控制自己的作業
聯機用戶接口:等待用戶鍵入命令
脫機用戶接口:一開始就提供作業說明書,直到作業結束語句
圖形用戶接口:移動鼠標選擇菜單項
(二)程序接口
描述:舊系統用彙編語言寫,所以只有彙編語言的才能直接使用系統調用;如果是高級語言,就用一一對應的庫函數
六、現代操作系統的新功能
(一)系統安全
描述:確保存儲和傳送數據的保密性、完整性和系統可用性,要用幾種技術
技術:認證技術、密碼技術、訪問控制技術、反病毒技術
(二)網絡的功能和服務
功能:網絡通信、資源管理、應用互操作
(三)支持多媒體
功能:接納控制功能、實時調度、多媒體文件的存儲
⑤OS結構設計
一、傳統操作系統結構
(一)無結構操作系統
又名:整體系統結構
(二)模塊化結構OS
基本概念:
又名:模塊-接口法
描述:有模塊、子模塊、接口
模塊獨立性:
標準:內聚性越高,模塊獨立性越高、耦合度越低,模塊獨立性越高
優點:提高設計正確性.可理解性和可維護性、增強可適應性、加快加速過程
缺點:接口難以滿足需求、無序
(三)分層式結構OS
基本概念:有序分層,自底向上法鋪設中間層
優點:易保證系統正確性、易擴充和易維護
缺點:系統效率降低
二、客戶/服務器模式(Client/Server Model)簡介
(一)客戶/服務器模式的由來、組成和類型
組成:客戶機、服務器、網絡系統
(二)客戶/服務器之間的交互
描述:客戶發送請求消息、服務器接收消息、服務器回送消息、客戶機接收消息
(三)客戶/服務器模式的優點
描述:數據分佈處理和存儲、便於集中管理、靈活性和可擴充性、易於改編應用軟件
三、面向對象的程序設計
(一)OOP的基本概念
描述:抽象,具體事物爲對象
對象:封裝好
對象類:創建多個相似對象
繼承:繼承父類,增加部分
(二)OOP的優點
描述:“重用”提高產品質量和生產率、使系統具有更好的易修改性和易擴展性、易於保證系統“正確性”和“可靠性”
四、微內核OS結構
描述:支持多處理機
例子:卡內基·梅隆的Mach OS、Windows 2000/XP
(一)基本概念
描述:足夠小的內核、基於C/S模式、應用“機制與策略分離”原理、採用OOP技術
(二)基本功能
描述:進程管理、低級存儲器管理、中斷和陷入處理
(三)優點
描述:提高可擴展性、增強可靠性、可移植性強、提供對分佈式系統的支持、融入OOP
(四)缺點
描述:效率降低