- 因?yàn)椴](méi)有時(shí)間進(jìn)行系統(tǒng)的學(xué)習(xí)柱宦,所以會(huì)存在理解誤差以及錯(cuò)誤的地方些椒,在這里記錄是為了給自己一定的督促學(xué)習(xí)的作用,也希望大家發(fā)現(xiàn)我的錯(cuò)誤多多指正
第一章 操作系統(tǒng)的概念
一捷沸、計(jì)算機(jī)系統(tǒng)
-
計(jì)算機(jī)(硬件)
-
五大組成部分
硬件組成
控制器
運(yùn)算器
存儲(chǔ)器
-
輸入
獲取數(shù)據(jù)
加工數(shù)據(jù)
-
輸出
- 返回結(jié)果
由這五大組成部分組成的叫做裸機(jī) 摊沉,這是計(jì)算機(jī)運(yùn)行的基礎(chǔ)
計(jì)算機(jī)的運(yùn)行還需要操作系統(tǒng)實(shí)現(xiàn)功能,例如輸入輸出
-
-
系統(tǒng)(軟件)
-
操作系統(tǒng)
管理硬件與軟件 痒给,整個(gè)計(jì)算機(jī)為操作系統(tǒng)管理
指揮協(xié)調(diào)硬件間的配合
計(jì)算機(jī)系統(tǒng)中集中了資源管理功能和程序控制功能(宏觀)
軟件系統(tǒng)
計(jì)算機(jī)系統(tǒng)是一種可以按用戶的要求接收和存儲(chǔ)信息 说墨、自行進(jìn)行數(shù)據(jù)處理并輸出結(jié)果信息的系統(tǒng)
-
負(fù)責(zé)硬件間的配合鍵盤的輸入 可視化界面的反饋
-
系統(tǒng)軟件
操作系統(tǒng)
編譯軟件
-
支撐軟件
數(shù)據(jù)庫(kù)
網(wǎng)絡(luò)
多媒體
-
應(yīng)用軟件
office
PS
-
-
二、操作系統(tǒng)的定義
操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的一個(gè)系統(tǒng)軟件苍柏,它是這樣的一些軟件集合:他們能有效地組織和管理計(jì)算機(jī)系統(tǒng)中的硬件及軟件資源尼斧,合理組織計(jì)算機(jī)工作流程,控制程序的執(zhí)行试吁,并向用戶提供各種服務(wù)功能棺棵,使得用戶能夠靈活、方便熄捍、有效地使用計(jì)算機(jī)烛恤,并使整個(gè)計(jì)算機(jī)系統(tǒng)高效的運(yùn)行。
操作系統(tǒng)分配CPU等硬件的工作細(xì)節(jié)余耽,盡可能的保證資源高效利用
操作系統(tǒng)為用戶提供操作界面
-
重點(diǎn)
資源管理缚柏,硬件和軟件資源
組織計(jì)算機(jī)的工作流程以及程序的執(zhí)行
向用戶提供各種服務(wù)功能方便用戶使用
三、操作系統(tǒng)的特征
-
并發(fā)性
單處理器
某一時(shí)刻內(nèi)只進(jìn)行一個(gè)進(jìn)程
-
并行性
多處理器
某一時(shí)刻內(nèi)同時(shí)進(jìn)行多個(gè)進(jìn)程
-
共同點(diǎn)
- 都是多個(gè)進(jìn)程在進(jìn)行
-
共享性
-
中央處理器(CPU)
- 進(jìn)程的運(yùn)行依賴處理器的計(jì)算
-
內(nèi)存存儲(chǔ)
- 進(jìn)程及操作中所需的數(shù)據(jù)依賴內(nèi)存存儲(chǔ)
-
外存儲(chǔ)器
- 硬盤碟贾、光盤币喧、U盤等...
-
外部設(shè)備
- 打印機(jī)轨域、掃描儀等...
-
互斥共享與同時(shí)共享
-
互斥共享
某一時(shí)刻內(nèi)只進(jìn)行一個(gè)任務(wù)
如 :打印機(jī)、掃描儀
-
同時(shí)共享
某一時(shí)刻內(nèi)同時(shí)進(jìn)行多個(gè)任務(wù)
如:硬盤杀餐、內(nèi)存干发、音響
-
-
-
隨機(jī)性
任務(wù)何時(shí)發(fā)生,任務(wù)時(shí)間長(zhǎng)短無(wú)法預(yù)測(cè)
-
多處理器與多核
-
多核
- 一個(gè)處理器 多個(gè)核心 每個(gè)核心代表一個(gè)工作人員 如四核 則四個(gè)核心協(xié)同工作達(dá)成目標(biāo)
-
多處理器
- 一個(gè)處理器代表一個(gè)發(fā)號(hào)施令的總部 史翘,多處理器則相當(dāng)于多個(gè)總部分別進(jìn)行不同的任務(wù)
-
四枉长、研究操作系統(tǒng)的觀點(diǎn)
-
軟件的觀點(diǎn)
-
大型軟件系統(tǒng),它是多種功能程序的集合
- 外在特性:外在表現(xiàn)恶座,即它的命令定義集和它的界面搀暑,完全確定了操作系統(tǒng)的使用方式。
-
內(nèi)在特性
- 具有一般軟件的結(jié)構(gòu)特點(diǎn)跨琳,而它因?yàn)槭窍到y(tǒng)軟件又具有特殊的結(jié)構(gòu)
-
-
資源管理的觀點(diǎn)
-
計(jì)算機(jī)系統(tǒng)資源 (硬件資源自点、軟件資源)
- 對(duì)計(jì)算機(jī)系統(tǒng)資源進(jìn)行管理
-
-
進(jìn)程的觀點(diǎn)
進(jìn)程 :正在進(jìn)行中的程序 ,未進(jìn)行的程序不能稱為進(jìn)程
-
并發(fā)運(yùn)行
- 操作系統(tǒng)對(duì)并發(fā)進(jìn)程的管理 任務(wù)排隊(duì)(多進(jìn)程)
-
-
虛擬機(jī)的觀點(diǎn)
操作系統(tǒng)為硬件提供了一定的自動(dòng)化能力 脉让,虛擬機(jī)(操作系統(tǒng))為用戶自動(dòng)完成了一些操作
例如打印功能桂敛,虛擬機(jī)自動(dòng)為用戶調(diào)動(dòng)打印機(jī)進(jìn)行打印
五、操作系統(tǒng)的功能
-
進(jìn)程管理(處理器管理)
- 進(jìn)程的控制溅潜、同步术唬、通信、調(diào)度
-
存儲(chǔ)管理
內(nèi)存的分配與回收滚澜、存儲(chǔ)保護(hù)粗仓、內(nèi)存擴(kuò)充(虛擬存儲(chǔ)技術(shù))
java與c++的最大區(qū)別在于C++自己管理內(nèi)存 、java則有java虛擬機(jī)管理
-
文件管理
- 文件存儲(chǔ)空間的管理设捐、目錄管理借浊、文件系統(tǒng)的安全性
-
作業(yè)管理
- 進(jìn)程的運(yùn)行管理
-
設(shè)備管理
- 處理器和內(nèi)存之外的設(shè)備、中斷技術(shù)萝招、通道技術(shù)蚂斤、虛擬設(shè)備技術(shù)和緩存技術(shù)
分割線
二、操作系統(tǒng)的體系結(jié)構(gòu)
-
Window操作系統(tǒng)的體系結(jié)構(gòu)
-
最底層 硬件
- 輸入輸出設(shè)備 槐沼、buses接口曙蒸、緩存控制...
-
硬件的抽象層
- 可以理解為硬件的驅(qū)動(dòng)程序
-
內(nèi)核層
內(nèi)核 :操作系統(tǒng)中提供最基本操作的功能集合稱為內(nèi)核
為接口提供基本功能調(diào)用
-
系統(tǒng)服務(wù)的分發(fā)器
根據(jù)ntdll.dll這個(gè)組件來(lái)進(jìn)行一些接口、功能的調(diào)用
系統(tǒng)線程是在系統(tǒng)服務(wù)分發(fā)器上運(yùn)行的
-
內(nèi)核模式
- 內(nèi)核模式由操作系統(tǒng)進(jìn)行岗钩、調(diào)用功能
-
用戶模式
- 由用戶調(diào)用的功能接口
services.msc為用戶系統(tǒng)上所運(yùn)行的所有服務(wù)
- image-20210406222048374.png
Ntdll.dll以上為用戶模式 纽窟,以下為內(nèi)核模式
系統(tǒng)進(jìn)程、系統(tǒng)線程(用戶海)
-
-
Unix操作系統(tǒng)的體系結(jié)構(gòu)
貝爾實(shí)驗(yàn)室開(kāi)發(fā)的操作系統(tǒng)
基于C語(yǔ)言進(jìn)行開(kāi)發(fā)的操作系統(tǒng)
-
層次分布
硬件層(無(wú)法操作)
-
內(nèi)核層
提供硬件兼吓、shell的接口
-
進(jìn)程控制子系統(tǒng) :對(duì)處理器和存儲(chǔ)器管理
存儲(chǔ)管理主要指內(nèi)存管理
進(jìn)程獲取cpu執(zhí)行權(quán)臂港,內(nèi)存分配一定的存儲(chǔ)空間調(diào)用指令
-
文件控制子系統(tǒng) : 設(shè)備和文件
- unix系統(tǒng)將外部的設(shè)備都當(dāng)做文件進(jìn)行管理
-
系統(tǒng)調(diào)用層
提供可以使用的命令用于調(diào)用內(nèi)核層指令集
系統(tǒng)調(diào)用層向上為應(yīng)用程序功能接口
向下則調(diào)用內(nèi)核接口
供程序員設(shè)計(jì)、開(kāi)發(fā)應(yīng)用程序是調(diào)用。
包括:進(jìn)程管理趋艘、文件管理、終端管理
-
應(yīng)用層
- 開(kāi)發(fā)工具凶朗、高級(jí)語(yǔ)言瓷胧、網(wǎng)絡(luò)通信處理程序等運(yùn)行在shell之上
-
-
Liunx操作系統(tǒng)的體系結(jié)構(gòu)
Linux層級(jí)分布于unix基本相同
內(nèi)核層
shell層
-
文件系統(tǒng)層
文件管理
FAT格式(通常為系統(tǒng)盤)
EXT格式(Linux只支持EXT格式和FAT)
系統(tǒng)調(diào)用層
應(yīng)用層
-
Andriod操作系統(tǒng)的體系結(jié)構(gòu)
起初用到手機(jī)上、后來(lái)用到家具上(電視棚愤、冰箱等等)
Linux內(nèi)核
C搓萧、C++本地環(huán)境和Android運(yùn)行時(shí)環(huán)境
Andriod應(yīng)用框架
Andriod應(yīng)用程序
操作系統(tǒng)的發(fā)展
-
手工操作
- 早期計(jì)算機(jī),用于數(shù)值計(jì)算
-
監(jiān)控程序
- 早期的批處理
- 設(shè)定程序運(yùn)行宛畦,通過(guò)監(jiān)控程序按照順序運(yùn)行
-
多道批處理
- 通道概念:輸入和輸出時(shí)的過(guò)程被稱為通道
- 輸入時(shí)瘸洛,數(shù)據(jù)將存入內(nèi)存,CPU執(zhí)行到輸入指令時(shí)從內(nèi)存獲取
- CPU計(jì)算完成的結(jié)果將存入內(nèi)存次和,再通過(guò)內(nèi)存輸出至外部設(shè)備
- 通道概念:輸入和輸出時(shí)的過(guò)程被稱為通道
-
分時(shí)與實(shí)時(shí)系統(tǒng)
- 分時(shí)操作系統(tǒng)
- 時(shí)間片輪轉(zhuǎn)
- 例如一臺(tái)單芯片計(jì)算機(jī)掛載5個(gè)程序(同一時(shí)間只能運(yùn)行一個(gè)程序)反肋,但要保證程序都能正常的持續(xù)運(yùn)轉(zhuǎn)將通過(guò)循環(huán)運(yùn)行程序達(dá)到程序看起來(lái)都在同時(shí)運(yùn)行的視覺(jué)效果(歸功于CPU計(jì)算的足夠快)
- 時(shí)間片輪轉(zhuǎn)
- 實(shí)時(shí)操作系統(tǒng)
- 硬實(shí)時(shí)
- 對(duì)運(yùn)行時(shí)間有嚴(yán)格要求,規(guī)定一秒運(yùn)行完成的程序一定要一秒完成
- 軟實(shí)時(shí)
- 對(duì)運(yùn)行時(shí)間的限制并不嚴(yán)格限制踏施,超時(shí)程序會(huì)出現(xiàn)錯(cuò)誤但并不致命
- 硬實(shí)時(shí)
- 分時(shí)操作系統(tǒng)