操作系統(tǒng)
- 任務(wù): 為用戶(hù)進(jìn)程提供一個(gè)更好、更簡(jiǎn)單、更清晰的計(jì)算機(jī)模型,并管理主要硬件設(shè)備。
- 作為擴(kuò)展機(jī)器的操作系統(tǒng):隱藏硬件,呈現(xiàn)給程序(及程序員)良好、清晰、優(yōu)雅、一致的抽象。
-
作為資源管理者的操作系統(tǒng):在相互競(jìng)爭(zhēng)的程序之間有序地控制對(duì)處理器、存儲(chǔ)器以及其他I/O接口設(shè)備的分配。
- 在時(shí)間上復(fù)用,cpu運(yùn)行時(shí)間分配;
- 在空間上復(fù)用,如內(nèi)存空間分配;
硬件概要
- 處理器
- 任務(wù):從內(nèi)存中取出指令并執(zhí)行。
- 寄存器:
- 通用寄存器:因?yàn)樵L問(wèn)內(nèi)存以得到指令或數(shù)據(jù),比執(zhí)行指令費(fèi)時(shí),所以用它來(lái)保存。
- 程序計(jì)數(shù)器:保存將要取出的下一跳指令的內(nèi)存地址。
- 堆棧指針:指向內(nèi)存中當(dāng)前棧的頂端,該堆??蚣鼙4媪擞嘘P(guān)輸入?yún)?shù)、局部變量和臨時(shí)變量。
- 程序狀態(tài)字寄存器:條件碼位(?)、CPU優(yōu)先級(jí)、模式(用戶(hù)態(tài)或內(nèi)核態(tài))。
概念
- 進(jìn)程
- 本質(zhì):正在執(zhí)行的程序
- 一個(gè)掛起的進(jìn)程包括:進(jìn)程的地址空間(可執(zhí)行程序、程序的數(shù)據(jù)、程序的堆棧)和進(jìn)程相關(guān)資源集,通常包括寄存器及重啟進(jìn)程所需的其他信息。
- 地址空間
- 文件:抽象
- 輸入/輸出
- 保護(hù)
- shell
- 個(gè)體重復(fù)系統(tǒng)發(fā)育:
- 技術(shù)的變化會(huì)把一些“過(guò)時(shí)概念”帶回來(lái),重要的是理解為什么一個(gè)概念會(huì)過(guò)時(shí),而什么樣的環(huán)境的變化又會(huì)啟用“過(guò)時(shí)概念”。
系統(tǒng)調(diào)用
操作系統(tǒng)結(jié)構(gòu)
- 單體系統(tǒng)
- 層次式系統(tǒng)
- 微內(nèi)核
- 客戶(hù)機(jī)-服務(wù)器模式
- 虛擬機(jī)