課程地址
南京大學(xué)的駱斌老師主講的逻族,考研可能會(huì)用得上
計(jì)算機(jī)系統(tǒng)的組成
- 計(jì)算機(jī)系統(tǒng):包括硬件子系統(tǒng)和軟件子系統(tǒng)
- 硬件:借助電温技、磁茁彭、光国瓮、機(jī)械等原理構(gòu)成的各 種物理部件的有機(jī)組合,是系統(tǒng)工作的實(shí)體
- CPU播瞳,主存儲(chǔ)器掸刊,I/O控制系統(tǒng),外圍設(shè)備
- 軟件:各種程序和文件赢乓,用于指揮計(jì)算機(jī)系統(tǒng) 按指定的要求進(jìn)行協(xié)同工作
包括系統(tǒng)軟件忧侧、支撐軟件和應(yīng)用軟件
關(guān)鍵系統(tǒng)軟件是:操作系統(tǒng)與語(yǔ)言處理程序
計(jì)算機(jī)系統(tǒng)的用戶(hù)視圖
計(jì)算機(jī)硬件系統(tǒng)組成
- 中央處理器
運(yùn)算單元 控制單元 :解譯機(jī)器指令
- 主存儲(chǔ)器
- 外圍設(shè)備
輸入設(shè)備 輸出設(shè)備 存儲(chǔ)設(shè)備 網(wǎng)絡(luò)通信設(shè)備
- 總線
存儲(chǔ)程序計(jì)算機(jī)體系結(jié)構(gòu)
存儲(chǔ)器是這個(gè)模型的核心
- 以運(yùn)算單元為中心,控制流由指令流產(chǎn)生
- 采用存儲(chǔ)程序原理牌芋,面向主存組織數(shù)據(jù)流
- 主存是按地址訪問(wèn)蚓炬、線性編址的空間
- 指令由操作碼和地址碼組成
- 數(shù)據(jù)以二進(jìn)制編碼
總線
- 總線(Bus)是計(jì)算機(jī)各種功能部件之間傳 送信息的公共通信干線,它是CPU躺屁、內(nèi)存肯夏、 輸入輸出設(shè)備傳遞信息的公用通道
- 計(jì)算機(jī)的各個(gè)部件通過(guò)總線相連接,外圍設(shè)備通過(guò)相應(yīng)的接口電路再與總線相連接,從而形成了計(jì)算機(jī)硬件系統(tǒng)
- 按照所傳輸?shù)男畔⒎N類(lèi)驯击,總線包括一組控制線烁兰、一組數(shù)據(jù)線和一組地址線
- 內(nèi)部總線:用于CPU芯片內(nèi)部連接各元件
- 系統(tǒng)總線:用于連接CPU、存儲(chǔ)器和各種 I/O模塊等主要部件
- 通信總線:用于計(jì)算機(jī)系統(tǒng)之間通信(網(wǎng)絡(luò))
為了加快通信效率余耽,系統(tǒng)總線也是分級(jí)的,PCI連接塊設(shè)備(較快)苹熏,E(ISA)總線連接字符設(shè)備(較慢)碟贾。
中央處理器(CPU)
中央處理器是計(jì)算機(jī)的運(yùn)算核心(Core)和 控制單元( Control Unit),主要包括:
- 運(yùn)算邏輯部件:一個(gè)或多個(gè)協(xié)運(yùn)算器
- 寄存器部件:包括通用寄 存器轨域、控制與狀態(tài)寄存器袱耽,以及高速緩沖存儲(chǔ)器(Cache)
- 控制部件:實(shí)現(xiàn)各部件間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的內(nèi)部總線干发;負(fù)責(zé)對(duì)指令譯碼朱巨、 發(fā)出為完成每條指令所要執(zhí)行操作的控制信號(hào)、實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)裙δ艿牟考?br>
存儲(chǔ)器
L0 L1 L2 L3 L4都是揮發(fā)性存儲(chǔ)枉长,加電存儲(chǔ)冀续,斷電失效
外圍設(shè)備
- 設(shè)備類(lèi)型
輸入設(shè)備 輸出設(shè)備 存儲(chǔ)設(shè)備 機(jī)機(jī)通信設(shè)備(本質(zhì)上屬于輸入輸出設(shè)備,但是不同網(wǎng)絡(luò)設(shè)備塊大小不一致(包必峰,塊洪唐,字))
- 設(shè)備控制方式
輪詢(xún)方式:CPU忙式控制+數(shù)據(jù)交換
中斷方式:CPU啟動(dòng)外圍設(shè)備/中斷+數(shù)據(jù)交換
DMA方式:CPU啟動(dòng)/中斷,DMA獨(dú)立進(jìn)行數(shù)據(jù)交換
軟件系統(tǒng)組成
- 系統(tǒng)軟件:操作系統(tǒng)吼蚁、實(shí)用程序凭需、語(yǔ)言處理程 序、數(shù)據(jù)庫(kù)管理系統(tǒng)
操作系統(tǒng)實(shí)施對(duì)各種軟硬件資源的管理控制
實(shí)用程序?yàn)榉奖阌脩?hù)所設(shè)肝匆,如文本編輯等
語(yǔ)言處理程序把用匯編語(yǔ)言/高級(jí)語(yǔ)言編寫(xiě) 的程序粒蜈,翻譯成可執(zhí)行的機(jī)器語(yǔ)言程序
- 支撐軟件有接口軟件、工具軟件旗国、環(huán)境數(shù)據(jù)庫(kù)枯怖, 支持用戶(hù)使用計(jì)算機(jī)的環(huán)境,提供開(kāi)發(fā)工具
- 應(yīng)用軟件是用戶(hù)按其需要自行編寫(xiě)的專(zhuān)用程序
軟件開(kāi)發(fā)的不同層次
- 計(jì)算機(jī)硬件系統(tǒng):機(jī)器語(yǔ)言
- 操作系統(tǒng)之資源管理:機(jī)器語(yǔ)言+廣義指令(擴(kuò)充了硬件資源管理)
- 操作系統(tǒng)之文件系統(tǒng):機(jī)器語(yǔ)言+系統(tǒng)調(diào)用(擴(kuò)充了信息資源管理)
- 數(shù)據(jù)庫(kù)管理系統(tǒng):+數(shù)據(jù)庫(kù)語(yǔ)言(擴(kuò)充了功能更強(qiáng)的信息資源管理)
- 語(yǔ)言處理程序:面向問(wèn)題的語(yǔ)言
計(jì)算機(jī)程序的執(zhí)行過(guò)程
操作系統(tǒng)的概念
OS是計(jì)算機(jī)系統(tǒng)最基礎(chǔ)的系統(tǒng)軟件能曾,管理軟硬件 資源嫁怀、控制程序執(zhí)行,改善人機(jī)界面借浊,合理組織計(jì) 算機(jī)工作流程塘淑,為用戶(hù)使用計(jì)算機(jī)提供良好運(yùn)行環(huán) 境
- 從用戶(hù)角度看,OS管理計(jì)算機(jī)系統(tǒng)的各種 資源蚂斤,擴(kuò)充硬件的功能存捺,控制程序的執(zhí)行
- 從人機(jī)交互看,OS是用戶(hù)與機(jī)器的接口, 提供良好的人機(jī)界面捌治,方便用戶(hù)使用計(jì)算機(jī)岗钩, 在整個(gè)計(jì)算機(jī)系統(tǒng)中具有承上啟下的地位
- 從系統(tǒng)結(jié)構(gòu)看,OS是一個(gè)大型軟件系統(tǒng)肖油, 其功能復(fù)雜兼吓,體系龐大,采用層次式森枪、模塊 化的程序結(jié)構(gòu)
- 操作系統(tǒng)組成
進(jìn)程調(diào)度子系統(tǒng)
進(jìn)程通信子系統(tǒng)
內(nèi)存管理子系統(tǒng)
設(shè)備管理子系統(tǒng)
文件管理子系統(tǒng)
網(wǎng)絡(luò)通信子系統(tǒng)
作業(yè)控制子系統(tǒng)
- 從操作控制方式分類(lèi)
多道批處理操作系統(tǒng)视搏,脫機(jī)控制方式
分時(shí)操作系統(tǒng),交互式控制方式
實(shí)時(shí)操作系統(tǒng)
- 從應(yīng)用領(lǐng)域分類(lèi)
服務(wù)器操作系統(tǒng)县袱、并行操作系統(tǒng)
網(wǎng)絡(luò)操作系統(tǒng)浑娜、分布式操作系統(tǒng)
個(gè)人機(jī)操作系統(tǒng)、手機(jī)操作系統(tǒng)
嵌入式操作系統(tǒng)式散、傳感器操作系統(tǒng)
計(jì)算機(jī)的資源
- 硬件資源 處理器筋遭、內(nèi)存、外設(shè)
- 信息資源 數(shù)據(jù)暴拄、程序
資源的共享與分配方式
- 資源共享方式
獨(dú)占使用方式
并發(fā)使用方式
- 資源分配策略
靜態(tài)分配方式
動(dòng)態(tài)分配方式
資源搶占方式
多道程序同時(shí)計(jì)算
- CPU速度與I/O速度不匹配的矛盾漓滔,非常突出
- 只有讓多道程序同時(shí)進(jìn)入內(nèi)存爭(zhēng)搶CPU運(yùn)行,才 可以夠使得CPU和外圍設(shè)備充分并行乖篷,從而提高 計(jì)算機(jī)系統(tǒng)的使用效率
- 多道程序設(shè)計(jì)的特點(diǎn)
CPU與外部設(shè)備充分并行
外部設(shè)備之間充分并行
發(fā)揮CPU的使用效率
提高單位時(shí)間的算題量
- 多道程序的實(shí)現(xiàn)
為進(jìn)入內(nèi)存執(zhí)行的程序建立管理實(shí)體:進(jìn)程
如何使用資源:調(diào)用操作系統(tǒng)提供的服務(wù)例程(如何陷入操作系統(tǒng))
如何復(fù)用CPU:調(diào)度程序(在CPU空閑時(shí)讓其他程序運(yùn)行)
如何使CPU與I/O設(shè)備充分并行:設(shè)備控制器與通 道(專(zhuān)用的I/O處理器)
如何讓正在運(yùn)行的程序讓出CPU:中斷(中斷正在 執(zhí)行的程序次和,引入OS處理)
計(jì)算機(jī)的操作方式
OS規(guī)定了合理操作計(jì)算機(jī)的工作流程
OS的操作接口——系統(tǒng)程序 OS提供給用戶(hù)的功能級(jí)接口,為用戶(hù)提供的解決操作計(jì)算機(jī)和計(jì)算共性問(wèn)題的所有服務(wù)的集合
OS的兩類(lèi)作業(yè)級(jí)接口
- 脫機(jī)作業(yè)控制方式:作業(yè)控制語(yǔ)言
- 聯(lián)機(jī)作業(yè)控制方式:操作控制命令
脫機(jī)作業(yè)的控制方式
- OS:提供作業(yè)說(shuō)明語(yǔ)言
- 用戶(hù):編寫(xiě)作業(yè)說(shuō)明書(shū)那伐,確定作業(yè)加工控制步驟踏施, 并與程序數(shù)據(jù)一并提交
- 操作員:通過(guò)控制臺(tái)輸入作業(yè)
- OS:通過(guò)作業(yè)控制程序自動(dòng)控制作業(yè)的執(zhí)行
- 例:批處理OS的作業(yè)控制方式,UNIX的shell程序罕邀, DOS的bat文件
聯(lián)機(jī)作業(yè)控制方式
- 計(jì)算機(jī):提供終端(鍵盤(pán)/顯示器)
- 用戶(hù):登錄系統(tǒng)
- OS:提供命令解釋程序
- 用戶(hù):聯(lián)機(jī)輸入命令畅形,直接控制作業(yè)步的執(zhí)行
- 例:分時(shí)OS的交互控制方式
命令解釋程序
- 命令解釋程序:接受和執(zhí)行一條用戶(hù)提 出的對(duì)作業(yè)的加工處理命令
- 當(dāng)一個(gè)新的批作業(yè)被啟動(dòng),或新的交互 型用戶(hù)登錄進(jìn)系統(tǒng)時(shí)诉探,系統(tǒng)就自動(dòng)地執(zhí)行命令解釋程序日熬,負(fù)責(zé)讀入控制卡或命令行,作出相應(yīng)解釋?zhuān)⒂枰詧?zhí)行
- 會(huì)話語(yǔ)言:可編程的命令解釋程序 (shell)
- 圖形化的命令控制方式
- 多通道交互的命令控制方式
命令解釋程序的處理過(guò)程
- OS啟動(dòng)命令解釋程序肾胯,輸出命令提示符竖席,等待鍵盤(pán)中斷/鼠標(biāo)點(diǎn)擊/多通道識(shí)別
- 每當(dāng)用戶(hù)輸入一條命令(暫存在命令緩沖區(qū))并 按回車(chē)換行時(shí),申請(qǐng)中斷
- CPU響應(yīng)后敬肚,將控制權(quán)交給命令解釋程序毕荐, 接著讀入命令緩沖區(qū)內(nèi)容,分析命令艳馒、接受 參數(shù)憎亚,執(zhí)行處理代碼
- 前臺(tái)命令執(zhí)行結(jié)束后员寇,再次輸出命令提示符, 等待下一條命令
- 后臺(tái)命令處理啟動(dòng)后第美,即可接收下條命令
操作系統(tǒng)的程序接口
操作系統(tǒng)的程序接口——系統(tǒng)調(diào)用
操作系統(tǒng)實(shí)現(xiàn)的完成某種特定功能的過(guò)程蝶锋;為所有 運(yùn)行程序提供訪問(wèn)操作系統(tǒng)的接口
系統(tǒng)調(diào)用的實(shí)現(xiàn)機(jī)制
- 陷入處理機(jī)制:計(jì)算機(jī)系統(tǒng)中控制和實(shí)現(xiàn)系統(tǒng)調(diào)用 的機(jī)制
- 陷入指令:也稱(chēng)訪管指令,或異常中斷指令什往,計(jì)算機(jī)系統(tǒng)為實(shí)現(xiàn)系統(tǒng)調(diào)用而引起處理器中斷的指令
- 每個(gè)系統(tǒng)調(diào)用都事先規(guī)定了編號(hào)扳缕,并在約定寄存器 中規(guī)定了傳遞給內(nèi)部處理程序的參數(shù)
系統(tǒng)調(diào)用實(shí)現(xiàn):
- 編寫(xiě)系統(tǒng)調(diào)用處理程序
- 設(shè)計(jì)一張系統(tǒng)調(diào)用入口地址表,每個(gè)入口地址指向 一個(gè)系統(tǒng)調(diào)用的處理程序别威,并包含系統(tǒng)調(diào)用自帶參 數(shù)的個(gè)數(shù)
-
陷入處理機(jī)制需開(kāi)辟現(xiàn)場(chǎng)保護(hù)區(qū)躯舔,以保存發(fā)生系統(tǒng)調(diào)用時(shí)的處理器現(xiàn)場(chǎng)
操作系統(tǒng)的系統(tǒng)結(jié)構(gòu)
-OS構(gòu)件 內(nèi)核、進(jìn)程兔港、線程庸毫、管程等
- 設(shè)計(jì)概念 模塊化仔拟、層次式衫樊、虛擬化
- 內(nèi)核設(shè)計(jì)是OS設(shè)計(jì)中最為復(fù)雜的部分
操作系統(tǒng)內(nèi)核
- 單內(nèi)核:內(nèi)核中各部件雜然混居的形態(tài),始 于1960年代利花,廣泛使用科侈;如Unix/Linux,及 Windows(自稱(chēng)采用混合內(nèi)核的CS結(jié)構(gòu))
- 微內(nèi)核:1980年代始炒事,強(qiáng)調(diào)結(jié)構(gòu)性部件與功 能性部件的分離臀栈,大部分OS研究都集中在此
- 混合內(nèi)核:微內(nèi)核和單內(nèi)核的折中,較多組 件在核心態(tài)中運(yùn)行挠乳,以獲得更快的執(zhí)行速度
-
外內(nèi)核:盡可能減少內(nèi)核的軟件抽象化和傳 統(tǒng)微內(nèi)核的消息傳遞機(jī)制权薯,使得開(kāi)發(fā)者專(zhuān)注 于硬件的抽象化;部分嵌入式系統(tǒng)使用
層次結(jié)構(gòu)
操作系統(tǒng)的規(guī)模
- 在計(jì)算機(jī)軟件發(fā)展史上睡扬,OS是第一個(gè)大規(guī)模的軟件系統(tǒng)
- 1960年代盟蚣,由OS開(kāi)發(fā)所衍生的體系結(jié)構(gòu)、模塊化 開(kāi)發(fā)卖怜、測(cè)試與驗(yàn)證屎开、演化與維護(hù)等研究,直接催生 了軟件工程這一新興研究領(lǐng)域(另一個(gè)催生來(lái)源是 DB應(yīng)用引發(fā)的需求與規(guī)格)