作業系統基礎知識
阿新 • • 發佈:2020-10-26
作業系統的演進
多道程式設計
多道程式設計:多道程式設計是指在計算機中同時存放多個程式;多道程式在計算機的管理程式之下相互穿插執行。 對多道程式的管理也是作業系統的重要功能。作業系統有以下五大功能:
程序管理: ①程序管理之程序實體; ②程序管理之五狀態模型; ③程序管理之程序同步; ④Linux的程序管理; 作業管理: ①作業管理之程序排程; ②作業管理之死鎖; 儲存管理 ①儲存管理之記憶體分配與回收; ②儲存管理之段頁式儲存管理; ③儲存管理之虛擬記憶體; ④Linux的儲存管理; 檔案管理 ①Linux的檔案系統; ②Linux檔案的基本操作; 裝置管理: ①作業系統的裝置管理;
作業系統概覽
What&Why ①作業系統是管理計算機硬體和軟體資源的計算機程式; ②管理配置記憶體、決定資源供需順序、控制輸入輸出裝置等; ③作業系統提供讓使用者和系統互動的作業系統; ④作業系統的種類是多種多樣的,不侷限於計算機; ⑤從手機到超級計算機,作業系統可簡單也可複雜; ⑥在不同的裝置上,作業系統可向使用者呈現多種操作手段; ⑦我們不可能直接操作計算機硬體; ⑧裝置種類繁多複雜、,需要同一介面; ⑨作業系統的簡易性使得更多人能夠使用計算機。
作業系統的基本功能
作業系統統一管理著計算機資源;
作業系統實現了對計算機資源的抽象;
作業系統提供了使用者與計算機之間的介面;
作業系統相關概念
併發性:
併發:是指兩個或多個事件可以在同一時刻發生; 並行:是指兩個或多個事件可以在同一時間間隔發生;
共享性:表現為作業系統的資源可供多個併發的程式共同使用;這種共同使用的形式稱之為資源共享。 多個程式可以同時使用主存資源;資源共享根據屬性可分為兩種形式:互斥共享形式,同時訪問形式;
互斥共享形式:當資源被A佔用時,其他想使用的話只有等待;只有程序A使用完以後,其他程序才可以使用該資源。如:印表機。
同時訪問形式:某種資源在一段時間內併發的被多個程式訪問;這種"同時"是巨集觀的,從巨集觀去看該資源可以被同時訪問。如:硬碟。
虛擬性 虛擬性-時分複用技術 ①資源在時間上進行復用,不同程式併發使用; ②多道程式分時使用計算機的硬體資源; ③提高資源的利用率; 虛擬性-時分複用技術-虛擬處理器技術 ①藉助多道程式設計技術; ②為每個程式建立程序; ③多個程式分時複用處理器; 虛擬性-時分複用技術-虛擬裝置技術 ①物理裝置虛擬為多個邏輯裝置; ②每個程式佔用一個邏輯裝置; ③多個程式通過邏輯裝置併發訪問; 虛擬性-空分複用技術 ①空分複用技術用來實現虛擬磁碟、虛擬記憶體等; ②提高資源的利用率,提升程式設計效率; 虛擬性-空分複用技術-虛擬磁碟技術 ①物理磁碟虛擬為邏輯磁碟; ②C、D、E等邏輯盤; ③使用起來更加安全、方便; 虛擬性-空分複用技術-虛擬記憶體技術 ①在邏輯上擴大程式的儲存容量; ②使用比實際記憶體更大的容量; ③大大提升程式設計效率;
非同步性 ①在多道程式環境下,允許多個程序併發執行; ②程序在使用資源時可能需要等待或放棄; ③程序的執行並不是一氣呵成的,而是以走走停停的形式推進;
程序管理之程序實體
由於多道程式設計的原因: ①程序是系統進行資源分配和排程的基本單位; ②程序作為程式獨立執行的載體保障程式正常執行; ③程序的存在使得作業系統資源的利用率大幅提升;
識別符號:識別符號唯一標記一個程序,用於區別其他程序(程序ID就是唯一的識別符號!); 狀態:標記程序的程序狀態,如執行狀態、阻塞狀態等; 程式計數器:程式即將被執行的下一條指令的地址; 記憶體指標:程式程式碼、程序資料相關指標; 上下文資料:程序執行時處理器儲存的資料; IO狀態資訊:被程序IO操作所佔用的檔案列表; 記賬資訊:使用處理器時間、時鐘數總和等。