操作系統引論 | 操作系統的發展過程
在計算機剛出現的階段,並沒有操作系統,人們都是通過全手工的方式來操作計算機;當後來硬體技術出現了高速的磁碟和磁帶之後,才出現批處理技術;在硬體技術出現通道和中斷技術之後出現了多道程序設計技術,操作系統也發展成為了多道程序系統。後來隨著人們對計算機技術的更新的需求,才出現了現有的個人計算機操作系統、網路操作系統、嵌入式操作系統和分散式操作系統。
操作系統的概念:
操作系統是一組控制和管理計算機硬體和軟體資源,合理地對各類作業進行調度,以及方便用戶使用的程序的集合。
無操作系統的計算機系統
- 人工操作方式
- 卡帶/卡片 -> 輸入機 -> 計算機 -> 列印結果 -> 取走紙帶
- 缺點:
- CPU等待人工操作:人工干預
- 當CPU速度提高時,出現了 人機矛盾 。
- 用戶獨佔全機
- 串列性
- 離線輸入輸出技術
在這個系統中,當主機系統進行 I/O 操作時,其接觸的設備是快速的磁帶或磁碟,而不是低速的紙帶機和印表機,提高了主機進行 IO 操作的速度,減少了主機 CPU 的空閑等待時間,提高了 CPU 的利用率。
外圍機其實也是一台印表機,但是性能相較主機較弱,但足以應付輸入和輸出設備的需求。
單道批處理系統
使用離線輸入輸出技術後,減少了 CPU 的等待時間,但是啟動一次主機仍然只能執行一個程序。為了啟動一次主機能夠運行多道程序,於是我們設計了批處理系統。
- 作業的概念
- 用戶角度:是用戶定義的、由計算機完成的一個工作單位。作業由不同的順序相連的作業步(在一個作業的處理過程中,計算機所做的相對獨立的工作)組成。
- 系統角度: 作業=程序+數據+作業說明書
- 應用:作業概念一般用於早期批處理系統和現在的大型機、巨型機系統中。
- 單道批處理
- 程序員將作業提交到系統管理員,當系統管理員收集到了一批數據後,再通過離線輸入的方式,將一組作業存放到磁碟上,然後將這個裝著一批作業的磁碟安裝到主機上,接著啟動主機運行這一批作業,在主機上我們會常駐一個監督程序。對於監督程序的介紹可以觀察下圖。監督程序接管系統後,會從磁碟上先讀入當前第一個作業進入主機,按照作業說明書的要求對其進行操作。執行完成後在執行當前隊列的下一個作業(如果作業運行出錯,就將其保存到另外的一個磁碟上,接著運行下一個作業),直到這一批作業全部完成再關閉主機。
- 由於一次只有一個作業在主機中運行,所以叫做 單道批處理系統。關於該系統的處理流程圖可以看下圖:
- 單道批處理系統特點:自動性、順序性、單道性。
- 存在的問題:CPU 和 IO 設備使用忙閑不均,CPU 效率低。
- 當 CPU 進行計算操作的時候,外部設備空閑。
- 當外部設備進行 I/O 操作的時候,CPU 空閑。
- CPU 和外部設備是完全串列的工作狀態。
多道批處理系統
為了解決單道批處理系統存在的忙閑不均的問題,就出現了多道批處理系統。一次從磁帶或磁碟上同時裝入多個用戶作業到內存中,使這多個作業同時處於運行狀態。當該系統對計算硬體具有一定的要求,需要中斷技術和通道技術,對軟體要求多道程序設計技術。
- 多道程序設計技術
- 內存中同時駐留多個相互獨立的程序,它們在操作系統的控制下共享系統資源,相互穿插地運行。
- 舉個例子:
- 當有 A、B 兩道作業如下時:
- 我們就可以使用多道批處理技術合理分配處理時間如下,當作業A完成計算操作,CPU 空閑時,就會響應作業B的計算請求, 當輸入設備完成作業A時,就會響應作業B的輸入請求......
- 特徵:多道、宏觀並行、微觀串列、走走停停運行。
- 優點:
- 提高 CPU 的利用率
- 提供內存和 I/O 設備的利用率
- 增加系統吞吐量
- 需要解決的問題
- 在多個作業之間合理的分配資源。
- 解決這些問題的辦法
- 進程的引入與進程概念
- 進程狀態及控制
- 同步與互斥
- 進程調度
- 多道批處理系統
- 將用戶提交的作業排列在磁碟上(稱為後續隊列),由系統的調度程序按照一定的標準一次性選擇若干作業裝入主機內存,然後同時啟動多個作業的運行,共享系統資源,作業的運行結果保存到磁碟上,供之後突擊輸出。
- 多道批處理特點:多道性、無序性、調度性。
- 優點:資源利用率高、系統吞吐量大
- 缺點:作業平均周轉時間(從進入後備隊列到運行完成出系統所經歷的時間)較長;無交互能力,程序員不能以交互的方式來控制作業的運行。
分時系統
是指一台主機上連接了多個終端,同時允許多個用戶通過自己的終端,以交互的方式使用計算機,共享主機中的資源的系統。
為了保證每一個終端用戶都感覺是自己一個人在使用計算機資源,系統規定每個終端用戶的作業能連續使用CPU的最長時間叫做時間片。時間片一到,無論請求是否完成都會暫停請求的繼續執行,而去響應下一個請求。
- 分時系統實現中的關鍵問題
- 人機交互
- 要求:及時響應用戶請求(及時接收、及時處理、及時返回處理結果)
- 解決方法:
- 配置多路卡,同時接收多個終端用戶發送的請求,避免請求的丟失。
- 為每個終端配置輸入輸出緩衝區,用來暫時存放來不及處理的請求和輸出。
- 作業(終端用戶請求)提交時直接進內存,避免了請求在磁碟上的等待時間。
- 引入時間片的概念、多個作業分時共享CPU,保證在不太長的時間內每個用戶都用運行一次作業的機會。
- 時間片
- 舉個例子:如果作業一(J1)不能在一個時間片內完成作業,就會重新進入作業隊列的隊尾等待下次運行。如下圖所示,作業1、2、3都不能在一個時間片內完成作業,系統就會所有的作業都在 CPU 上運行完一次以後,再第二次為之前沒有運行的 J1、J2、J3 分配時間。對於運行時間不需要一個時間片的作業,如圖中紅色箭頭所指的第二次運行時的剩餘的 J1 和 J3,他們的運行時間就是實際運行時間而不是一個時間片的時間,為了提高系統運行的效率。
- 分時系統的特徵
- 多路性:系統允許多個用戶在多個終端上登錄系統,使用計算機資源。
- 獨立性:每個用戶能夠獨立的操作終端,但不能操作主機中的資源。
- 及時性:及時響應用戶請求,使用響應時間(用戶提交請求開始→得到系統響應)來描述。
- 交互性:用戶可以決定著系統的下一步操作。可以實現很多的操作,編譯源程序,鏈接一個程序,運行遊戲程序......
實時系統
系統能及時響應外部事件的請求,在規定的時間內完成對該事件的處理,並控制所有實時任務協調一致地運行。
- 實時系統應用需求
- 實時控制:生產過程式控制制、武器控制
- 實時信息處理:訂票系統、情報檢索系統
- 截止時間
- 開始截止時間
- 舉個例子:生產線上一個工作點,任務周期50s,任務需要時間30s。所以對於任務的允許的開始時間就是從 0s~20s 這樣的一個時間範圍。它的開始截止時間就是 20s。
- 完成截止時間
- 舉個例子:對於攔截導彈來說,可以在對方來彈的發射 2 分鐘後攔截,也可以在 3 分鐘後攔截,但是不能在導彈進入我方區域開始下降的時間內進行攔截,因為這樣會導致導彈在我方爆照。
- 實時任務的分類
- 按任務執行時是否呈現周期性劃分
- 周期性實時任務:工作生產線
- 非周期性實時任務:導彈攔截任務
- 根據對截止時間的要求來劃分
- 硬實時任務:必須保證截止時間,如導彈攔截系統。
- 軟實時任務:最好保證截止時間,但不是必須。如生產線,最大的後果就是產生次品。
- 實時系統與分時系統的比較
- 設計目標不同:實時系統是專用性的系統,而分時系統是通用性的系統,如Linux。
- 多路性:實時信息處理系統與分時系統類似
- 獨立性:實時信息處理系統與分時系統類似
- 及時性:實時系統更高
- 交互性:分時系統最強,可以實現各種的工作。而實時系統的任務卻是單一的,高壓鍋爐的操作系統,流水線的操作系統......
- 可靠性:實時系統要求高度可靠,如醫院病房的監測報警系統。
微機操作系統
- 單用戶單任務操作系統:
- 單用戶:在一段時間內只允許一個用戶登錄系統
- 單任務:在一段時間內只能運行一個任務,多個任務是以完全串列的方式依次完成的。
- 舉個例子:DOS
- 單用戶多任務操作系統:
- 多任務:引入多道程序設計技術,同時可以啟動多個程序的運行。
- 舉個例子:Windows
- 多用戶多任務操作系統:
- 多用戶:在一段時間內允許多個用戶通過不同的終端登錄系統,在各自的終端上向系統提交請求。
- Unix、Linux 這類的分時操作系統
多處理機系統
多處理機系統也稱並行系統(parallel system)或緊耦合系統。
- 定義
- 包含兩個或多個功能相當的處理器
- 所有處理器共享一個公共內存
- 所有處理器共享I/O通道、控制器和外圍設備
- 由一個操作系統控制
- 實現方式
- 非對稱多處理機模式(又稱主-從模式),主處理機運行操作系統,並且控制系統中的所有資源,為其餘的從處理器分配任務。從處理機只處理主處理分配的任務。但是如果主處理機出現問題,就會導致整個系統的崩潰,存在可靠性問題。
- 對稱多處理機模式,所有的處理機都運行操作系統,每個處理機完成自己的任務。
- 多處理機系統的特點
- 具有並行處理能力,效率高
- 緊耦合:存在瓶頸、可擴展性差
- 不支持大規模並行計算;不支持分布處理:將一個大的任務分為幾個小的任務進行分布執行,
網路操作系統
由線路將一些獨立自治的計算機相互連接形成的一個集合體稱為計算機網路。每個計算機的各自操作系統都可以不同。每一台都是獨立的。
- 計算機網路的特點
- 多個獨立計算機
- 無公共內存
- 具備消息通信機制
- 網路操作系統
- 網路操作系統除了具備一般操作系統應具有的功能模塊外 (如系統核心、設備管理、存儲管理、文件系統等),還要增加一個網路通信模塊。該模塊由通信介面中斷處理程序、通信控制程序以及各級網路協議軟體組成。
- 計算機網路的局限性
- 不能支持透明的資源存取
- 不能對網路資源進行有效、統一的管理
- 不能支持合作計算
分散式系統
- 定義
- 包含多個分布的通用資源部件,並經過通信網路相互作用;
- 有一個分散式操作系統對資源進行全局和動態的管理控制;
- 系統對用戶是透明的;用戶看到的是一台超級計算機,而不是 n 台計算機。
- 任務可以分布處理;
- 特點:
- 可擴展性:只需要增加與一個處理節點或者功能節點就可以增加一個相應的功能。
- 增加性能
- 高可靠性:一個分散式節點出現故障不會影響其餘節點的正常工作。
- 分散式系統與網路系統的區別
- 如下圖所示,左圖便是網路系統,右圖便是分散式系統。
- 在網路系統中,每一台計算機配置的是自己的操作系統。當一個用戶登錄在了網路中的計算機3上,如果要訪問計算機4,就要提高其的具體地址。
- 對於分散式系統,整個系統只安裝一個分散式系統,當用戶登錄這個計算機時看到的只是一個整合了整個網路上所有計算機資源的一台超級計算機。
嵌入式操作系統
是指將應用程序和OS與計算機硬體集成在一起的系統。
EOS負責嵌入式系統的全部軟、硬體資源的分配、調度工作、控制協調並發活動等
- 嵌入式系統舉例
- 手機操作系統等一系列嵌入式操作系統。
推薦閱讀:
※純UEFI+GPT實現Win7 Win10雙系統
※windows 10「詭異」的「Internet臨時文件」。
※蘋果電腦操作系統是什麼?
※系統調用的實現細節(用戶態)
※聯想一體機WIN10系統換WIN7系統
TAG:操作系統 |