操作系統(tǒng)原理——第一章操作系統(tǒng)引論

學(xué)習(xí)前的知識(shí)準(zhǔn)備

操作系統(tǒng)是計(jì)算機(jī)硬件和應(yīng)用之間的一層軟件。

操作系統(tǒng)管理那些硬件

CPU管理、內(nèi)存管理、終端管理、磁盤管理、文件管理(主要學(xué)習(xí)這五個(gè))、網(wǎng)絡(luò)管理、電源管理、多核管理

計(jì)算機(jī)執(zhí)行的原理:取址執(zhí)行

常見操作系統(tǒng)

1.Dos OS

? Disk Operating System,又稱DOS(簡(jiǎn)寫),中文全名“磁盤操作系統(tǒng)”。
? 它主要包括Shell(command.com),IO接口(io.sys)兩個(gè)部分。
? DOS分為核心啟動(dòng)程序和命令程序兩個(gè)部分。

2.Windows 7

? Windows 7,內(nèi)核版本號(hào):windows NT 6.1
? 2009年10月22日發(fā)布
? 版本:簡(jiǎn)易版、家庭普通版、家庭高級(jí)版、專業(yè)版、企業(yè)版、旗艦版、史蒂夫.鮑爾默旗艦版
? 2020年1月,微軟終止對(duì)windows 7所有技術(shù)支持

3.Windows 10

? 2015年11月12日正式發(fā)布
? Windows 10 采用全新的Modern UI
? 對(duì)于符合版本要求的Windows 7、Windows 8.1 和Windows Phone 8.1,可以直接通過Windows Update獲取補(bǔ)丁升級(jí)。

4.OS X (Mac OS X)

? 2011年7月20日Mac OS X已經(jīng)正式被蘋果改名為OS X。 ? Mac OS High Sierra
? 最新版本為10.13.6,2018年7月13日發(fā)布
? 四大優(yōu)點(diǎn)
? 全屏模式
? 任務(wù)控制
? 快速啟動(dòng)面板
? 應(yīng)用商店

5.Linux

? Linux是一套免費(fèi)使用和自由傳播的
類Unix操作系統(tǒng)
? 創(chuàng)始人:林納斯·托瓦茲 ? Linux這個(gè)詞本身只表示Linux內(nèi)核
? 應(yīng)用范圍:從手機(jī)、平板電腦、路由器和視頻游戲控制臺(tái),到臺(tái)式計(jì)算機(jī)、大型機(jī)和超級(jí)計(jì)算機(jī)

6.IOS

? 主要是給iPhone、iPod touch、iPad以及Apple TV使用。
? iOS的系統(tǒng)架構(gòu)分為四個(gè)層次:
? 核心操作系統(tǒng)層(the Core OS layer) 核心服務(wù)層(the Core Services layer) 媒體層(the Media layer) 可輕觸層(the Cocoa Touch layer)

7.Android

? (讀音:[‘?ndr?id])是一種以Linux為基礎(chǔ)的開放源碼操作系統(tǒng),主要使用于便攜設(shè)備。
? 使用Java作為編程語言,使接口到功能。
? 命名以甜點(diǎn)命名

1.1 操作系統(tǒng)的目標(biāo)和作用

1.1.1 操作系統(tǒng)的目標(biāo)
1.1.2 操作系統(tǒng)的作用
1.1.3 推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?/p>

1.1.1 操作系統(tǒng)的目標(biāo)

操作系統(tǒng)的概念

? 操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的一個(gè)系統(tǒng)軟件,是一些程序模塊的集合——它 們能以盡量有效、合理的方式組織和管理計(jì)算機(jī)的軟、硬件資源,合理的組織計(jì)算機(jī)的工作流程,控制程序的執(zhí)行并向用戶提供各種服務(wù)功能,使得用戶能夠靈活、方便、有效的使用計(jì)算機(jī),使整個(gè)計(jì)算機(jī)系統(tǒng)能高效地運(yùn)行。
? 操作系統(tǒng)是計(jì)算機(jī)與用戶之間的接口。

操作系統(tǒng)性質(zhì)

  1. 方便性
    系統(tǒng)將用戶使用的高級(jí)語言翻譯成機(jī)器代碼或通過OS提供的命令操
    作計(jì)算機(jī)系統(tǒng)。
  2. 有效性
    提高系統(tǒng)資源的利用率;提高系統(tǒng)的吞吐量。
  3. 可擴(kuò)充性
    便于修改和增加功能(如何設(shè)計(jì)?)微內(nèi)核結(jié)構(gòu)
  4. 開放性
    系統(tǒng)支持世界標(biāo)準(zhǔn)規(guī)范,特別是開發(fā)系統(tǒng)互聯(lián)OSI國(guó)際標(biāo)準(zhǔn)

1.1.2 操作系統(tǒng)的作用

作用1:OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口
作用2:OS作為計(jì)算機(jī)系統(tǒng)資源的管理者


image

作用3:OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象
? 操作系統(tǒng)隱藏硬件特性,作為擴(kuò)充機(jī)器
? I/O設(shè)備管理軟件實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件操作的第一層次抽象
? 文件管理軟件實(shí)現(xiàn)了對(duì)計(jì)算機(jī)硬件資源操作的第二層次抽象
? 操作系統(tǒng)采用分層擴(kuò)充方式

1.1.3 推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?/h2>

1、不斷提高計(jì)算機(jī)資源利用率
2、計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展(?單處理機(jī)OS-多處理機(jī)OS-網(wǎng) 絡(luò)OS-…)
3、方便用戶(用戶上機(jī)、調(diào)試程序不方便。如:GUI的出現(xiàn)。)
4、不斷提出新的應(yīng)用需求(工業(yè)控制——實(shí)時(shí)操作系統(tǒng),VLSI——嵌入式操作系統(tǒng))
4、器件的不斷更新?lián)Q代(CPU:8位-16位-32位-64
位-…)

1.2 操作系統(tǒng)的發(fā)展過程

1.2.1 未配置操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)
1.2.2 單道批處理系統(tǒng)
1.2.3 多道批處理系統(tǒng)
1.2.4 分時(shí)操作系統(tǒng)
1.2.5 實(shí)時(shí)操作系統(tǒng)
1.2.6 微機(jī)操作系統(tǒng)的發(fā)展
發(fā)展原因
內(nèi)因:受計(jì)算機(jī)硬件發(fā)展的驅(qū)動(dòng)
外因:受計(jì)算機(jī)應(yīng)用的刺激

1.2.1 未配置操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)

? 時(shí)間:1945年——1954年
1.人工方式
? 工作過程:
? 用戶1:紙帶 紙帶輸入機(jī) 計(jì)算機(jī) 紙帶輸出機(jī) 紙帶
? 用戶2:………
? 工作方式:
? 編程語言:機(jī)器語言。
? 輸入輸出:紙帶或卡片。
? 用戶:既是程序員,又是操作員;是計(jì)算機(jī)專業(yè)人員。
? 特點(diǎn):
①用戶獨(dú)占全機(jī):不出現(xiàn)資源被其他用戶占用的情況,資源利用率低;
② CPU等待用戶:計(jì)算前后,手工裝卸紙帶或卡片;CPU利用率低
[圖片上傳失敗...(image-e4c2a-1618312246056)]
2.脫機(jī)輸入/輸出方式
? 輸入輸出由外圍機(jī)完成。
? 優(yōu)點(diǎn):
(1)減少了CPU的空閑時(shí)間。
(2)提高了I/O速度。
[圖片上傳失敗...(image-781d97-1618312246056)]

1.2.2 單道批處理系統(tǒng)(Simple Batch Processing System(1955年——1965年))

1.單道批處理系統(tǒng)的處理流程

image

2. 提交的作業(yè)資料

? 用戶程序、數(shù)據(jù)和作業(yè)說明書(作業(yè)控制語言JCL)

3. 特征

? 自動(dòng)性、順序性、單道性


image

4.工作方式

? 編程語言:匯編語言、FORTRAN語言。
? 輸入輸出:磁帶。
? 用戶:第一次在程序員、操作員和維護(hù)員之間有了明確的分工。

5. 進(jìn)步之處

? 減少了CPU的空閑時(shí)間、提高了I/O速度,從而提高了CPU的利用率。

6. 不足之處

? 系統(tǒng)資源得不到充分的利用
? I/O速度仍顯慢,使CPU許多時(shí)間空閑,無交互能力

1.2.3 多道批處理系統(tǒng)(Multiprogrammed Batch Processing System(1966年——今))

1.多道程序設(shè)計(jì)的基本概念

? 多道:系統(tǒng)中同時(shí)駐留多個(gè)作業(yè),多個(gè)作業(yè)交替地運(yùn)行
image

2. 特點(diǎn)

? 多道性,無序性,調(diào)度性

3. 優(yōu)點(diǎn)

(1)資源利用率高。
(2)系統(tǒng)吞吐量大。

4. 缺點(diǎn)

(1)平均周轉(zhuǎn)時(shí)間長(zhǎng)。
(2)無交互能力。

5. 多道批處理系統(tǒng)需要解決的問題

(1) 處理機(jī)爭(zhēng)用問題。
(2) 內(nèi)存分配和保護(hù)問題。
(3) I/O設(shè)備分配問題。
(4) 文件的組織和管理問題。
(5) 作業(yè)管理問題。
(6) 用戶與系統(tǒng)的接口問題。

1.2.4 分時(shí)系統(tǒng)(Time-sharing System)

? “分時(shí)”的定義:指把計(jì)算機(jī)的系統(tǒng)資源(尤其是CPU時(shí)間)進(jìn)行時(shí)間上的分割,每個(gè)時(shí)間段稱為一個(gè)時(shí)間片,每個(gè)用戶依次輪流使用時(shí)間片 。

1.分時(shí)系統(tǒng)的引入

? 用戶的需求
? 共享主機(jī)

  1. 分時(shí)系統(tǒng)在實(shí)現(xiàn)中的關(guān)鍵問題
    ? 及時(shí)接收:多路卡和收入緩沖區(qū)
    ? 及時(shí)處理:作業(yè)直接進(jìn)入內(nèi)存,采用輪轉(zhuǎn)運(yùn)行方式
    3.分時(shí)系統(tǒng)的特征
    ? 多路性
    ? 獨(dú)立性
    ? 及時(shí)性 ? 交互性
  2. 典型的分時(shí)系統(tǒng):
    ? 早期:CTSS, MULTICS 現(xiàn)代:Windows,UNIX, Linux

1.2.5 實(shí)時(shí)系統(tǒng)(Real Time System)

? 實(shí)時(shí)系統(tǒng)是指系統(tǒng)能及時(shí)響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì) 該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。

1. 實(shí)時(shí)系統(tǒng)的分類

(1) 工業(yè)(武器)控制系統(tǒng)。
(2) 信息查詢系統(tǒng)。
(3) 多媒體系統(tǒng)。
(4) 嵌入式系統(tǒng)。

2. 實(shí)時(shí)任務(wù)的類型

(1)周期性任務(wù)劃分:
? 周期性實(shí)時(shí)任務(wù)
? 非周期性實(shí)時(shí)任務(wù)
(2) 軟硬任務(wù)劃分:
? 硬實(shí)時(shí)任務(wù)
? 軟實(shí)時(shí)任務(wù)

3. 實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)特征的比較

(1) 多路性(分時(shí):分時(shí)原則。實(shí)時(shí):周期性)
(2) 獨(dú)立性(分時(shí):多用戶互不干擾。實(shí)時(shí):對(duì)對(duì)象控制互不干擾)
(3) 及時(shí)性(分時(shí):能接受的時(shí)間。實(shí)時(shí):對(duì)象要求的截止時(shí)間,毫秒級(jí))
(4) 交互性(分時(shí):數(shù)據(jù)處理。實(shí)時(shí):實(shí)時(shí)命令 ) (5) 可靠性(分時(shí):可靠。實(shí)時(shí):高度可靠)

1.2.6 微機(jī)操作系統(tǒng)的發(fā)展

  1. 單用戶單任務(wù)操作系統(tǒng)
    ? CP/M(1974年) ? MS-DOS(1981年)
  2. 單用戶多任務(wù)操作系統(tǒng)
    ? Windows系列(1985年)
  3. 多用戶多任務(wù)操作系統(tǒng)
    ? Solaris OS(1982年) ? Linux OS(1991年)

1.3 操作系統(tǒng)的基本特性

1.3.1 并發(fā)(concurrence)
1.3.2 共享(Sharing)
1.3.3 虛擬(Virtual)
1.3.4 異步(Asynchronousm)

1.3.1 并發(fā)

1. 并行與并發(fā)

? 并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生。
? 并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。
? 并行是一種微觀的同時(shí)性概念。
? 并發(fā)是一種宏觀上的同時(shí)性概念:宏觀上并發(fā),微觀 上交替占用CPU運(yùn)行。[圖片上傳失敗...(image-c2dfd4-1618312246056)]

2.系統(tǒng)中的并發(fā)

? CPU與各個(gè)I/O設(shè)備之間的并行
? 各應(yīng)用程序“進(jìn)程”之間的并發(fā)

3.引入進(jìn)程

? 引入進(jìn)程是為了實(shí)現(xiàn)系統(tǒng)中的并發(fā)。
? 引入線程

1.3.2 共享

? 共享指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用。

1. 互斥共享方式

? 互斥就是排他性。在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問
? 臨界資源(獨(dú)占資源):在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問的資源。

2. 同時(shí)訪問方式

? 多個(gè)進(jìn)程同時(shí)訪問。宏觀上“同時(shí)”,微觀上“輪流”(交替訪問)
? 磁盤、可重入代碼

1.3.3 虛擬

? 虛擬指通過某種技術(shù)把一個(gè)物理設(shè)備實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物的功能。

1.時(shí)分復(fù)用技術(shù)

? 虛擬處理機(jī)技術(shù)
? 虛擬設(shè)備技術(shù)

2.空分復(fù)用技術(shù)

? 利用存儲(chǔ)器的空閑空間分區(qū)域存放和運(yùn)行程序。
? 磁盤分區(qū)方式

1.3.4 異步

? 異步性(Asynchronism)
? 異步性是指進(jìn)程以不可預(yù)知的速度向前推進(jìn)。
? 異步性是指在并發(fā)環(huán)境下程序的執(zhí)行順序、開始時(shí)間和執(zhí)行時(shí)間是不確定性(不可準(zhǔn)確預(yù)
知)。以“走走停?!狈绞竭\(yùn)行。
? 多道程序環(huán)境下程序的執(zhí)行是以異步方式進(jìn)行的,即每個(gè)程序在何時(shí)執(zhí)行,多個(gè)程序間的
執(zhí)行順序以及完成每個(gè)程序所需的時(shí)間都是不確定的,因而也是不可預(yù)知的

1.4 操作系統(tǒng)的主要功能

1.4.1 處理機(jī)管理功能
1.4.2 存儲(chǔ)器管理功能
1.4.3 設(shè)備管理功能
1.4.4 文件管理功能
1.4.5 操作系統(tǒng)與用戶之間接口
1.4.6 現(xiàn)代操作系統(tǒng)的新功能

1.4.1 處理機(jī)管理功能

1. 進(jìn)程控制

2. 進(jìn)程同步(重要)

? 進(jìn)程互斥方式
? 進(jìn)程同步方式

3. 進(jìn)程通信

4. 調(diào)度

? 作業(yè)調(diào)度
? 進(jìn)程調(diào)度
? 線程調(diào)度

1.4.2 存儲(chǔ)器管理功能

1. 內(nèi)存分配

? 內(nèi)存分配數(shù)據(jù)結(jié)構(gòu)
? 內(nèi)存分配功能:靜態(tài)分配方式和動(dòng)態(tài)分配方式
? 內(nèi)存回收功能

2. 內(nèi)存保護(hù)

3. 地址映射

4. 內(nèi)存擴(kuò)充

? 請(qǐng)求調(diào)入功能
? 置換功能

1.4.3 設(shè)備管理功能

1. 緩沖管理

? 緩和cpu和設(shè)備速度不匹配的矛盾

2. 設(shè)備分配

? 按照分配策略,為進(jìn)程分配所需的設(shè)備

3. 設(shè)備處理

? 設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)

1.4.4 文件管理功能

1. 文件存儲(chǔ)空間的管理

? 存儲(chǔ)空間的分配和回收

2. 目錄管理

? 樹形目錄,按名存取

3. 文件的讀/寫管理和保護(hù)

? 文件的讀/寫管理
? 文件的保護(hù)
? 防止未經(jīng)核準(zhǔn)的用戶存取文件
? 防止冒名頂替存取文件
? 防止以不正確的方式使用文件

1.4.5 操作系統(tǒng)與用戶之間的接口

1. 用戶接口

? 聯(lián)機(jī)用戶接口
? 脫機(jī)用戶接口
? 圖形用戶接口

2. 程序接口

? 為用戶程序在實(shí)行中訪問系統(tǒng)資源而設(shè)置的。

1.4.6 現(xiàn)代操作系統(tǒng)的新功能

1. 系統(tǒng)安全

(1) 認(rèn)證技術(shù)
(2) 密碼技術(shù)
(3) 訪問控制技術(shù)
(4) 反病毒技術(shù)。

2. 網(wǎng)絡(luò)的功能和服務(wù)

(1) 網(wǎng)絡(luò)通信
(2) 資源管理
(3) 應(yīng)用互操作

3. 支持多媒體

(1) 接納控制功能
(2) 實(shí)時(shí)調(diào)度
(3) 多媒體文件的存儲(chǔ)

1.5 OS結(jié)構(gòu)設(shè)計(jì)

1.5.1 傳統(tǒng)操作系統(tǒng)結(jié)構(gòu)
1.5.2 客戶/服務(wù)器模式簡(jiǎn)介
1.5.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)簡(jiǎn)介
1.5.4 微內(nèi)核OS結(jié)構(gòu)

1.5.1 傳統(tǒng)操作系統(tǒng)結(jié)構(gòu)

1. 無結(jié)構(gòu)操作系統(tǒng)

? 設(shè)計(jì)者只是把他的注意力放在功能的實(shí)現(xiàn)和獲得高的效率上,缺乏首尾一致的設(shè)計(jì)思想。
? 整個(gè)操作系統(tǒng)是一個(gè)過程集,每個(gè)過程完成某種功能。
? 每個(gè)過程都可以調(diào)用其它過程。 ? 存在問題:
? 系統(tǒng)龐大而雜亂,程序錯(cuò)誤較多
? 程序難以閱讀和理解

2. 模塊化結(jié)構(gòu)操作系統(tǒng)

? 通過“分解”和“模塊化”來控制大型軟件復(fù)雜度。
? 如:進(jìn)程模塊、內(nèi)存模塊…,各模塊內(nèi)進(jìn)一步劃分子模塊[圖片上傳失敗...(image-2f8efa-1618312246056)]
? 模塊獨(dú)立性(高內(nèi)聚低耦合)
????? 內(nèi)聚性
????? 耦合度
? 優(yōu)點(diǎn):
????? 提高了OS設(shè)計(jì)的可維護(hù)性
????? 增強(qiáng)的OS的可適應(yīng)性
????? 加速了OS的開發(fā)過程:并行開發(fā)模塊
? 缺點(diǎn):
????? 接口不易確定
????? 模塊依賴關(guān)系可能復(fù)雜(對(duì)于大型軟件而言)

3. 分層式結(jié)構(gòu)OS

? 將系統(tǒng)按照層次結(jié)構(gòu)劃分為若干“層”。某一層次上代碼只能調(diào)用低層次上的代碼,使模

塊間的調(diào)用有序化
image

? 優(yōu)點(diǎn):

????? 1)易保證系統(tǒng)的正確性
????? 2)易擴(kuò)充和易維護(hù)性
? 缺點(diǎn):
????? 降低了運(yùn)行效率;各系統(tǒng)對(duì)具體劃分多少層次有不同的看法。

1.5.2 客戶/服務(wù)器模式簡(jiǎn)介

1. 客戶/服務(wù)器模式的組成和類型

(1) 客戶機(jī) (2) 服務(wù)器
(3) 網(wǎng)絡(luò)系統(tǒng)

2. 客戶/服務(wù)器之間的交互

[圖片上傳失敗...(image-e61b55-1618312246056)]

3. 客戶/服務(wù)器模式的優(yōu)點(diǎn)

(1) 數(shù)據(jù)的分布處理和存儲(chǔ)
(2) 便于集中管理
(3) 靈活性和可擴(kuò)充性
(4) 易于改編應(yīng)用軟件

4. 客戶/服務(wù)器模式的缺點(diǎn)

? 存在不可靠性和瓶頸問題

1.5.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)

1. 面向?qū)ο蠹夹g(shù)的基本概念

? 對(duì)象
? 對(duì)象類
? 繼承

2. 面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn)

? 通過“重用”提高產(chǎn)品質(zhì)量和生產(chǎn)率
? 使系統(tǒng)具有更好的易修改性和易擴(kuò)展性
? 更易于保證系統(tǒng)的“正確性”和“可靠性”

1.5.4 微內(nèi)核OS結(jié)構(gòu)

1. 微內(nèi)核操作系統(tǒng)的基本概念

? 足夠小的內(nèi)核
? 基于客戶/服務(wù)器模式
? 應(yīng)用“機(jī)制與策略分離”原理
? 采用面向?qū)ο蠹夹g(shù)

2. 微內(nèi)核的基本功能

? 進(jìn)程(線程)管理
? 低級(jí)存儲(chǔ)器管理
? 中斷和陷入處理

3. 微內(nèi)核操作系統(tǒng)的優(yōu)點(diǎn)

? 提高系統(tǒng)的可擴(kuò)展性
? 增強(qiáng)了系統(tǒng)的可靠性
? 可移植性
? 提高了對(duì)分布式系統(tǒng)的支持
? 融入面向?qū)ο蠹夹g(shù)

4. 微內(nèi)核操作系統(tǒng)存在的問題

? 效率降低(上下文切換次數(shù)增多)


image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容