《計(jì)算機(jī)操作系統(tǒng)》MOOC筆記1-計(jì)算機(jī)系統(tǒng)概論

課程地址

南京大學(xué)的駱斌老師主講的,考研可能會用得上

計(jì)算機(jī)系統(tǒng)的組成

  • 計(jì)算機(jī)系統(tǒng):包括硬件子系統(tǒng)和軟件子系統(tǒng)
  • 硬件:借助電、磁、光、機(jī)械等原理構(gòu)成的各 種物理部件的有機(jī)組合,是系統(tǒng)工作的實(shí)體
  • CPU,主存儲器,I/O控制系統(tǒng),外圍設(shè)備
  • 軟件:各種程序和文件,用于指揮計(jì)算機(jī)系統(tǒng) 按指定的要求進(jìn)行協(xié)同工作

包括系統(tǒng)軟件、支撐軟件和應(yīng)用軟件
關(guān)鍵系統(tǒng)軟件是:操作系統(tǒng)與語言處理程序

計(jì)算機(jī)系統(tǒng)的用戶視圖

計(jì)算機(jī)硬件系統(tǒng)組成

  • 中央處理器

運(yùn)算單元 控制單元 :解譯機(jī)器指令

  • 主存儲器
  • 外圍設(shè)備

輸入設(shè)備 輸出設(shè)備 存儲設(shè)備 網(wǎng)絡(luò)通信設(shè)備

  • 總線

存儲程序計(jì)算機(jī)體系結(jié)構(gòu)


存儲器是這個(gè)模型的核心

  • 以運(yùn)算單元為中心,控制流由指令流產(chǎn)生
  • 采用存儲程序原理,面向主存組織數(shù)據(jù)流
  • 主存是按地址訪問、線性編址的空間
  • 指令由操作碼和地址碼組成
  • 數(shù)據(jù)以二進(jìn)制編碼

總線

  • 總線(Bus)是計(jì)算機(jī)各種功能部件之間傳 送信息的公共通信干線,它是CPU、內(nèi)存、 輸入輸出設(shè)備傳遞信息的公用通道
  • 計(jì)算機(jī)的各個(gè)部件通過總線相連接,外圍設(shè)備通過相應(yīng)的接口電路再與總線相連接,從而形成了計(jì)算機(jī)硬件系統(tǒng)
  • 按照所傳輸?shù)男畔⒎N類,總線包括一組控制線、一組數(shù)據(jù)線和一組地址線
  • 內(nèi)部總線:用于CPU芯片內(nèi)部連接各元件
  • 系統(tǒng)總線:用于連接CPU、存儲器和各種 I/O模塊等主要部件
  • 通信總線:用于計(jì)算機(jī)系統(tǒng)之間通信(網(wǎng)絡(luò))

    為了加快通信效率,系統(tǒng)總線也是分級的,PCI連接塊設(shè)備(較快),E(ISA)總線連接字符設(shè)備(較慢)。

中央處理器(CPU)

中央處理器是計(jì)算機(jī)的運(yùn)算核心(Core)和 控制單元( Control Unit),主要包括:

  • 運(yùn)算邏輯部件:一個(gè)或多個(gè)協(xié)運(yùn)算器
  • 寄存器部件:包括通用寄 存器、控制與狀態(tài)寄存器,以及高速緩沖存儲器(Cache)
  • 控制部件:實(shí)現(xiàn)各部件間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的內(nèi)部總線;負(fù)責(zé)對指令譯碼、 發(fā)出為完成每條指令所要執(zhí)行操作的控制信號、實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)裙δ艿牟考?br>

存儲器


L0 L1 L2 L3 L4都是揮發(fā)性存儲,加電存儲,斷電失效

外圍設(shè)備

  • 設(shè)備類型

輸入設(shè)備 輸出設(shè)備 存儲設(shè)備 機(jī)機(jī)通信設(shè)備(本質(zhì)上屬于輸入輸出設(shè)備,但是不同網(wǎng)絡(luò)設(shè)備塊大小不一致(包,塊,字))

  • 設(shè)備控制方式

輪詢方式:CPU忙式控制+數(shù)據(jù)交換
中斷方式:CPU啟動外圍設(shè)備/中斷+數(shù)據(jù)交換
DMA方式:CPU啟動/中斷,DMA獨(dú)立進(jìn)行數(shù)據(jù)交換

軟件系統(tǒng)組成

  • 系統(tǒng)軟件:操作系統(tǒng)、實(shí)用程序、語言處理程 序、數(shù)據(jù)庫管理系統(tǒng)

操作系統(tǒng)實(shí)施對各種軟硬件資源的管理控制
實(shí)用程序?yàn)榉奖阌脩羲O(shè),如文本編輯等
語言處理程序把用匯編語言/高級語言編寫 的程序,翻譯成可執(zhí)行的機(jī)器語言程序

  • 支撐軟件有接口軟件、工具軟件、環(huán)境數(shù)據(jù)庫, 支持用戶使用計(jì)算機(jī)的環(huán)境,提供開發(fā)工具
  • 應(yīng)用軟件是用戶按其需要自行編寫的專用程序

軟件開發(fā)的不同層次

  • 計(jì)算機(jī)硬件系統(tǒng):機(jī)器語言
  • 操作系統(tǒng)之資源管理:機(jī)器語言+廣義指令(擴(kuò)充了硬件資源管理)
  • 操作系統(tǒng)之文件系統(tǒng):機(jī)器語言+系統(tǒng)調(diào)用(擴(kuò)充了信息資源管理)
  • 數(shù)據(jù)庫管理系統(tǒng):+數(shù)據(jù)庫語言(擴(kuò)充了功能更強(qiáng)的信息資源管理)
  • 語言處理程序:面向問題的語言

計(jì)算機(jī)程序的執(zhí)行過程

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

OS是計(jì)算機(jī)系統(tǒng)最基礎(chǔ)的系統(tǒng)軟件,管理軟硬件 資源、控制程序執(zhí)行,改善人機(jī)界面,合理組織計(jì) 算機(jī)工作流程,為用戶使用計(jì)算機(jī)提供良好運(yùn)行環(huán) 境

  • 從用戶角度看,OS管理計(jì)算機(jī)系統(tǒng)的各種 資源,擴(kuò)充硬件的功能,控制程序的執(zhí)行
  • 從人機(jī)交互看,OS是用戶與機(jī)器的接口, 提供良好的人機(jī)界面,方便用戶使用計(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)

  • 從操作控制方式分類

多道批處理操作系統(tǒng),脫機(jī)控制方式
分時(shí)操作系統(tǒng),交互式控制方式
實(shí)時(shí)操作系統(tǒng)

  • 從應(yīng)用領(lǐng)域分類

服務(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)分配方式
動態(tài)分配方式
資源搶占方式

多道程序同時(shí)計(jì)算

  • CPU速度與I/O速度不匹配的矛盾,非常突出
  • 只有讓多道程序同時(shí)進(jìn)入內(nèi)存爭搶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è)備控制器與通 道(專用的I/O處理器)
如何讓正在運(yùn)行的程序讓出CPU:中斷(中斷正在 執(zhí)行的程序,引入OS處理)

計(jì)算機(jī)的操作方式

OS規(guī)定了合理操作計(jì)算機(jī)的工作流程
OS的操作接口——系統(tǒng)程序 OS提供給用戶的功能級接口,為用戶提供的解決操作計(jì)算機(jī)和計(jì)算共性問題的所有服務(wù)的集合
OS的兩類作業(yè)級接口

  • 脫機(jī)作業(yè)控制方式:作業(yè)控制語言
  • 聯(lián)機(jī)作業(yè)控制方式:操作控制命令

脫機(jī)作業(yè)的控制方式

  • OS:提供作業(yè)說明語言
  • 用戶:編寫作業(yè)說明書,確定作業(yè)加工控制步驟, 并與程序數(shù)據(jù)一并提交
  • 操作員:通過控制臺輸入作業(yè)
  • OS:通過作業(yè)控制程序自動控制作業(yè)的執(zhí)行
  • 例:批處理OS的作業(yè)控制方式,UNIX的shell程序, DOS的bat文件

聯(lián)機(jī)作業(yè)控制方式

  • 計(jì)算機(jī):提供終端(鍵盤/顯示器)
  • 用戶:登錄系統(tǒng)
  • OS:提供命令解釋程序
  • 用戶:聯(lián)機(jī)輸入命令,直接控制作業(yè)步的執(zhí)行
  • 例:分時(shí)OS的交互控制方式

命令解釋程序

  • 命令解釋程序:接受和執(zhí)行一條用戶提 出的對作業(yè)的加工處理命令
  • 當(dāng)一個(gè)新的批作業(yè)被啟動,或新的交互 型用戶登錄進(jìn)系統(tǒng)時(shí),系統(tǒng)就自動地執(zhí)行命令解釋程序,負(fù)責(zé)讀入控制卡或命令行,作出相應(yīng)解釋,并予以執(zhí)行
  • 會話語言:可編程的命令解釋程序 (shell)
  • 圖形化的命令控制方式
  • 多通道交互的命令控制方式

命令解釋程序的處理過程

  • OS啟動命令解釋程序,輸出命令提示符,等待鍵盤中斷/鼠標(biāo)點(diǎn)擊/多通道識別
  • 每當(dāng)用戶輸入一條命令(暫存在命令緩沖區(qū))并 按回車換行時(shí),申請中斷
  • CPU響應(yīng)后,將控制權(quán)交給命令解釋程序, 接著讀入命令緩沖區(qū)內(nèi)容,分析命令、接受 參數(shù),執(zhí)行處理代碼
  • 前臺命令執(zhí)行結(jié)束后,再次輸出命令提示符, 等待下一條命令
  • 后臺命令處理啟動后,即可接收下條命令

操作系統(tǒng)的程序接口

操作系統(tǒng)的程序接口——系統(tǒng)調(diào)用
操作系統(tǒng)實(shí)現(xiàn)的完成某種特定功能的過程;為所有 運(yùn)行程序提供訪問操作系統(tǒng)的接口
系統(tǒng)調(diào)用的實(shí)現(xiàn)機(jī)制

  • 陷入處理機(jī)制:計(jì)算機(jī)系統(tǒng)中控制和實(shí)現(xiàn)系統(tǒng)調(diào)用 的機(jī)制
  • 陷入指令:也稱訪管指令,或異常中斷指令,計(jì)算機(jī)系統(tǒng)為實(shí)現(xiàn)系統(tǒng)調(diào)用而引起處理器中斷的指令
  • 每個(gè)系統(tǒng)調(diào)用都事先規(guī)定了編號,并在約定寄存器 中規(guī)定了傳遞給內(nèi)部處理程序的參數(shù)

系統(tǒng)調(diào)用實(shí)現(xiàn):

  • 編寫系統(tǒng)調(diào)用處理程序
  • 設(shè)計(jì)一張系統(tǒng)調(diào)用入口地址表,每個(gè)入口地址指向 一個(gè)系統(tǒng)調(diào)用的處理程序,并包含系統(tǒng)調(diào)用自帶參 數(shù)的個(gè)數(shù)
  • 陷入處理機(jī)制需開辟現(xiàn)場保護(hù)區(qū),以保存發(fā)生系統(tǒng)調(diào)用時(shí)的處理器現(xiàn)場


操作系統(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(自稱采用混合內(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ī)制,使得開發(fā)者專注 于硬件的抽象化;部分嵌入式系統(tǒng)使用
    層次結(jié)構(gòu)


操作系統(tǒng)的規(guī)模

  • 在計(jì)算機(jī)軟件發(fā)展史上,OS是第一個(gè)大規(guī)模的軟件系統(tǒng)
  • 1960年代,由OS開發(fā)所衍生的體系結(jié)構(gòu)、模塊化 開發(fā)、測試與驗(yàn)證、演化與維護(hù)等研究,直接催生 了軟件工程這一新興研究領(lǐng)域(另一個(gè)催生來源是 DB應(yīng)用引發(fā)的需求與規(guī)格)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 第一章:操作系統(tǒng)引論 計(jì)算機(jī)系統(tǒng)是由硬件和軟件兩部分組成。操作系統(tǒng)是配置在計(jì)算機(jī)硬件上的第一層軟件,是對硬件系統(tǒng)的...
    Atomic_Gunner閱讀 10,571評論 2 31
  • 總線 計(jì)算機(jī)的各個(gè)功能部件通過總線連接在一起構(gòu)成完整的計(jì)算機(jī)系統(tǒng),總線是多個(gè)系統(tǒng)功能部件之間進(jìn)行數(shù)據(jù)傳送的公共通路...
    羅蓁蓁閱讀 4,904評論 0 10
  • 計(jì)算機(jī)組成原理課程在計(jì)算機(jī)系統(tǒng)中的位置 圖1描述了計(jì)算機(jī)系統(tǒng)抽象層的轉(zhuǎn)換。從圖1可以看出,計(jì)算機(jī)系統(tǒng)由不同的抽象層...
    開點(diǎn)工作室閱讀 3,413評論 16 55
  • 本篇開始,將介紹操作系統(tǒng)相關(guān)知識,這一部分的知識涵蓋操作系統(tǒng)通識到具體的平臺。和本系列前面所有文章一樣,力求精簡但...
    SniperPan閱讀 896評論 2 2
  • 之前就一直聽人們說,在一起的兩個(gè)人,性格往往都是互補(bǔ)的。的確,我們確實(shí)會經(jīng)常看到,許多伴侶的性格會形成鮮明的對比。...
    汲思廣溢閱讀 396評論 0 0