第一章、OS引论1
1.1 操作系統的目標和作用
1.1.1 操作系統的目標
- 計算機上安裝操作系統,主要目標是:方便性、有效性、可擴充性和開放性。
- 方便性:方便用戶,使計算機變得易學易用
- 有效性:提高系統資源(資源指CPU(處理機),存儲器,文件(數據和程序),外設)利用率和系統的吞吐量(吞吐量為單位時間完成的作業數量)
- 可擴充性:是為了適應計算機硬件、體系結構以及計算機應用發展,OS從早期的無結構化?\Rightarrow?模塊化結構?\Rightarrow?層次化結構?\Rightarrow?微內核結構。如今的微內核結構可以方便添加新的功能和模塊,易于擴充。
- 開放性:系統遵循世界標準規范,可以彼此兼容,方便互聯。
1.1.1 操作系統的作用
下面我們從用戶角度,資源管理角度和資源抽象角度進行敘述。
OS作為用戶與計算機硬件系統之間的接口(用戶角度)
用戶可以通過三種方式使用計算機
- 命令方式
- 系統調用方式
- 圖形—窗口方式
OS作為計算機系統資源的管理者(資源管理角度)
? 計算機系統的資源分為?\Longrightarrow?處理機(CPU),存儲器, 外設(I/O設備)以及文件(數據和程序), OS的主要功能也是對這四類資源進行有效的管理。
- CPU的分配和控制
- 內存的分配和回收
- I/O設備的分配和操控
- 文件的存取、共享和保護。
OS實現了對計算機資源的抽象(資源抽象角度)
? 操作系統OS是鋪設在計算機硬件上的多層軟件的集合,不僅增強了系統的功能,還隱藏了對硬件操作的具體細節,實現了對計算機硬件操作的多個層次的抽象模型。
? 虛擬機說白了就是:相同硬件基礎上,通過軟件進行擴充
1.1.3 推動操作系統的主要動力
不斷提高計算機資源利用率
方便用戶
器件的迭代更新
硬件推動軟件,軟件(遠遠)落后于硬件
計算機體系結構的不斷發展
單處理機系統–>多處理機系統,以及計算機網絡的出現,OS也不斷發展
人們不斷提出新的應用需求
1.2 操作系統的發展過程
操作系統默認不包括單任務操作系統(已經被淘汰了)
1.2.1 未配置操作系統的計算機系統
人工操作方式
- 人工操作方式直接使用計算機硬件系統,即由程序員將事先已穿孔(對應于程序和數據)的紙帶裝入紙帶輸入機,再啟動它們將程序和數據輸入計算機,然后啟動計算機運行,當程序運行完畢并取走計算結果之后,才讓下一個用戶上機。
- 缺點如下
- 用戶獨占全機。此時,計算機及其全部資源只能由上機用戶獨占。
- CPU等待人工操作。
- 嚴重降低了計算機資源的利用率,此即所謂的人機矛盾。隨著CPU速度的提高和系統規模的擴大,人機矛盾變得日趨嚴重。此外,隨著CPU速度的迅速提高而I/O設備的速度卻提高緩慢,這又使CPU與I/O設備之間速度不匹配的矛盾更加突出
脫機輸入輸出方式
- 事先將裝有用戶程序和數據的紙帶裝入紙帶輸入機,在一臺外圍機的控制下,把紙帶上的數據輸入到磁帶上。當CPU需要這些程序和數據時,再從磁帶上將其高速地調入內存。
如下圖所示:
?
- 由于程序和數據的輸入和輸出都是在外圍機的控制下完成的,即它們是在脫離主機的情況下進行的,故稱為脫機輸入/輸出方式;反之,在主機的直接控制下進行輸入/輸出的方式稱為聯機 。
- 優點
- 減少了CPU的空閑時間,緩和了人機矛盾。
- 提高了I/O速度。當CPU在運行中需要數據時,是直接從高速的磁帶或磁盤上將數據調入內存的,不再是從低速I/O設備上輸入,極大地提高了I/O速度,從而緩和了CPU和I/O設備速度不匹配的矛盾,進一步減少了CPU的空閑時間。
1.2.2 單道批處理系統
單道批處理系統的處理過程(Simple Batch Processing System)
單道批處理系統是最早出現的一種OS。嚴格地說,它只能算作是OS的前身而并非是現在人們所理解的OS。
- 自動性。在順利情況下,在磁帶上的一批作業能自動地逐個地依次運行,而無需人工干預。
- 順序性。磁帶上的各道作業是順序地進入內存,各道作業的完成順序與它們進入內存的順序,在正常情況下應完全相同,亦即先調入內存的作業先完成。
- 單道性。監督程序每次從磁帶上只調入一道程序進入內存運行,當該程序完成或發生異常情況時,才換入其后繼程序進入內存運行。即,內存中僅有一道程序運行。
1.2.3 多批處理系統(Multiprogrammed Batch Processing System)
多道程序設計的基本概念
單道批處理系統中,內存中僅有一道作業,它無法充分利用系統中的所有資源,致使系統性能較差
多道批處理系統中,用戶所提交的作業都先存放在外存上并排成一個隊列,稱為*“后備隊列”*。由作業調度程序按一定的調度算法從后備隊列中選擇若干個作業調入內存,使它們共享CPU和系統中的各種資源。
- 提高CPU的利用率
-
可提高內存和I/O設備利用率
-
增加系統吞吐量
- 吞吐量是指對網絡、設備、端口、虛電路或其他設施,單位時間內成功地傳送數據的數量(以比特、字節、分組等測量)。
多道批處理系統的優缺點
- 由于在內存中駐留了多道程序,它們共享資源,可保持資源處于忙碌狀態,從而使各種資源得以充分利用。
- 第一,CPU和其它資源保持“忙碌”狀態;
- 第二,僅當作業完成時或運行不下去時才進行切換,系統開銷小。
- 作業的周轉時間(cycling time)) : 從作業進入系統開始,直至其完成并退出系統為止所經歷的時間。
- 由于作業要排隊,依次進行處理,因而作業的周轉時間較長,通常需幾個小時,甚至幾天。
- 用戶一旦把作業提交給系統后,直至作業完成,用戶都不能與自己的作業進行交互,不利于修改和調試程序。
多道批處理系統需要解決的問題
? 多道批處理系統是一種有效、但十分復雜的系統。為使系統中的多道程序間能協調地運行,必須解決下述一系列問題。
處理機管理問題
- 多道程序之間,應如何分配共享的處理機,又應在何時收回
- 既能滿足程序運行需要,又提高處理機利用率
內存分配和保護問題
-
為每道程序分配必要的內存空間,不致因相互重疊而丟失信息
-
防止因某道程序出現異常情況而破壞其它程序
I/O設備分配問題
- 如何分配這些I/O設備,如何做到既方便用戶對設備的使用,又能提高設備的利用率
文件組織和管理問題
- 應如何組織程序和數據,才能使它們既便于用戶使用,又能保證數據的安全性和一致性
作業管理問題(調度)
- 對于系統中的各種應用程序,有各種各樣作業。其中有些作業既重要又緊迫;而有的作業則要求系統能及時響應,這時應如何組織這些作業
用戶與系統的接口問題
1.2.4 分時系統
-
分時系統的引入
? 分時系統(Time Sharing System)與多道批處理系統之間有著截然不同的性能差別,它能很好地將一臺計算機提供給多個用戶同時使用,提高計算機的利用率。
? 經常應用于查詢系統中,滿足許多查詢用戶的需要。用戶的需求具體表現在以下幾個方面:
- 人-機交互, eg:以邊運行邊修改的方式,對程序中的錯誤進行修改
- 共享主機, eg : 計算機非常昂貴,多個用戶共享一臺,而且用戶在使用機器時應能夠像自己獨占計算機一樣
- 便于用戶上機, eg : 用戶希望能通過自己的終端直接將作業傳送到機器上進行處理,并能對自己的作業進行控制
-
分時系統中實現的關鍵問題
-
及時接收
-
系統中配置一個多路卡
-
每個終端配置一個緩沖區,用來暫存用戶鍵入的命令
-
-
及時處理
- 各個用戶的作業都必須在內存中,且應能頻繁地獲得處理機而運行。批處理系統的運行方式無法實現。
- 作業應直接進入內存,規定每個作業只運行一個很短的時間
- 在不長的時間(如3秒)內能使所有的用戶作業都執行一次
- 從而,使用戶的請求得到及時響應
-
-
分時系統的特征
- 多路性
- 允許在一臺主機上同時聯接多臺聯機終端,系統按分時原則為每個用戶服務。
- 宏觀上,是多個用戶同時工作,共享系統資源;而微觀上,則是每個用戶作業輪流運行一個時間片。
- 多路性即同時性,它提高了資源利用率,降低了使用費用,從而促進了計算機更廣泛的應用。
- 獨立性
- 每個用戶各占一個終端,彼此獨立操作,互不干擾
- 及時性
- 用戶的請求能在很短的時間內獲得響應。
- 交互性
- 用戶可通過終端與系統進行廣泛的人機對話。
- 其廣泛性表現在:用戶可以請求系統提供多方面的服務,如文件編輯、數據處理和資源共享等。
- 多路性
1.2.5 實時系統
所謂“實時”,是表示“及時”,
? 實時系統**(Real Time System)**是指系統能及時響應外部事件的請求,在規定的時間內完成對該事件的處理,并控制所有實時任務協調一致地運行。
- 實時系統的類型
實時控制:
? 當把計算機用于生產過程的控制,以形成以計算機為中心的控制系統時,系統要求能實時采集現場數據,并對所采集的數據進行及時處理,進而自動地控制相應的執行機構,使某些(個)參數(如溫度、壓力、方位等)能按預定的規律變化,以保證產品的質量和提高產量。通常把用于進行實時控制的系統稱為實時系統。
實時信息處理:
? 人們把用于對信息進行實時處理的系統稱為實時信息處理系統。
? 該系統由一臺或多臺主機通過通信線路連接到成百上千個遠程終端上,計算機接收從遠程終端上發來的服務請求,根據用戶提出的請求對信息進行檢索和處理,并在很短的時間內為用戶做出正確的響應。
? 典型的實時信息處理系統有早期的飛機或火車的訂票系統、情報檢索系統
-
實時任務的類型
- 按照是否呈現出周期性劃分
- 周期性實時任務。
- 即外部設備周期性地發出激勵信號給計算機,要求它按指定周期循環執行,以便周期性地控制某外部設備。
- 非周期性實時任務。
- 外部設備所發出的激勵信號并無明顯的周期性,但都必須聯系著一個截止時間(Deadline)。
- 截止時間分為開始截止時間和完成截止時間。
- 周期性實時任務。
- 根據對截止時間的要求來劃分
- 硬實時任務(Hard real-time Task)。系統必須滿足任務對截止時間的要求,否則可能出現難以預測的結果
- 軟實時任務(Soft real-time Task)。它也聯系著一個截止時間,但并不嚴格,若偶爾錯過了任務的截止時間,對系統產生的影響也不會太大。
- 按照是否呈現出周期性劃分
-
實時系統與分時系統特征的比較
- 多路性。實時信息處理系統也按分時原則為多個終端用戶服務。實系統的多路性則主要表現在系統周期性地對多路現場時控制信息進行采集,以及對多個對象或多個執行機構進行控制。而分時系統中的多路性則與用戶情況有關,時多時少。多路性有著些許差別
- 獨立性。實時信息處理系統中的每個終端用戶在向實時系統提出服務請求時,是彼此獨立地操作,互不干擾;而實時控制系統中,對信息的采集和對對象的控制也都是彼此互不干擾。
- 及時性。實時信息處理系統對實時性的要求與分時系統類似,都是以人所能接受的等待時間來確定的;而實時控制系統的及時性,則是以控制對象所要求的開始截止時間或完成截止時間來確定的,一般為秒級到毫秒級,甚至有的要低于100微秒。
- 交互性。實時信息處理系統雖然也具有交互性,但這里人與系統的交互僅限于訪問系統中某些特定的專用服務程序。它不像分時系統那樣能向終端用戶提供數據處理和資源共享等服務。 即,分時系統的交互性更強。
- 可靠性。分時系統雖然也要求系統可靠,但相比之下,實時系統則要求系統具有高度的可靠性。因為任何差錯都可能帶來巨大的經濟損失,甚至是無法預料的災難性后果,所以在實時系統中,往往都采取了多級容錯措施來保障系統的安全性及數據的安全性。即,實時系統要求更高的可靠性
1.2.6 微機操作系統的發展
主要幾個大公司 : IBM, 微軟(MS), Apple
-
單用戶單任務操作系統
? 只允許一個用戶上機,且只允許用戶程序作為一個任務運行。
? 這是最簡單的微機操作系統,主要配置在8位和16位微機上。最有代表性的單用戶單任務微機操作系統是CP/M(8bitOS)、MS-DOS。
不但有MS Doc,其實還有 一個 IBM Dos
-
單用戶多任務操作系統
只允許一個用戶上機,但允許用戶把程序分為若干個任務,使它們并發執行,從而有效地改善了系統的性能。
主要是 Windows
-
多用戶多任務操作系統
允許多個用戶通過各自的終端使用同一臺機器,共享主機系統中的各種資源,每個用戶程序又可進一步分為幾個任務,使它們能并發執行,從而可進一步提高資源利用率和系統吞吐量
- Unix,因為各個大公司各自為政,造成了最大問題就是不兼容
- Linux 是 Unix 的一個變種,源碼公開,免費,沒有版權問題,Linux只能通過維護、提供服務賺錢。
1.3 操作系統的基本特性
1.3.1 并發性(concurrence)
并行與并發
- 并行性和并發性(Concurrence)是既相似又有區別
- 并行性是指兩個或多個事件在同一時刻發生
- 并發性是指兩個或多個事件在同一時間間隔內發生
- 并行的要求更高,需要多核。并發包括并行。
進程
- 為使多個程序能并發執行,系統必須分別為每個程序建立進程(Process)
- 程序的每一次執行形成一個進程,進程是指在系統中能獨立運行,并作為資源分配的基本單位,是由一組機器指令、數據和堆棧等組成的,是一個能獨立運行的活動實體。
- 多個進程之間可以并發執行和交換信息。一個進程在運行時需要一定的資源。
- 一個進程包括多個線程。
- 在引入線程的OS中,通常都是把進程作為分配資源的基本單位,而把線程作為獨立運行和獨立調度的基本單位。
1.3.2 共享性(sharing)
互斥共享方式
同時訪問方式
1.3.3 虛擬性(virtual)
時分復用技術
虛擬處理機技術
虛擬設備技術
空分復用技術
1.3.4 異步性(asynchronism)
總結
- 上一篇: 外星人装深度linux,17xR4深度拆
- 下一篇: 计算机考研英语什么时候考试,计算机考研: