文章目錄
- 前言
- 一、作業系統引論/緒論
- 1.1作業系統的目標和作用
- 1.1.1 作業系統的目標
- 1.1.2 os的作用
- 1.1.3 推動os發展的主要動力,
- 1.2 作業系統的發展程序
- 1.2.1 為配置作業系統的計算機系統
- 1.人工操作方式
- 2. 脫機輸入/輸出(Off/Line I/O)方式
- 1.2.2 單道批處理系統
- 1.單道批處理系統(Simple Batch Processing System)的處理程序
- 1.2.3 多道批處理系統(Multiprogrammed Batch Processing System)
- 1. 多道程式設計的基本概念
- 2. 多道批處理系統的優缺點
- 作業系統的定義
- 1.2.4 分時系統(Time-Sharing System)
- 1. 分時系統的引入
- 2. 分時系統現實中的關鍵問題
- 3.分時系統的特征
前言
本篇博客為博主在學習計算機作業系統時個人學習的一些筆記與概要的記載,應為在作業系統的學習中只會有一篇的博客在錄,所以本篇博客為個人整個作業系統的學習博客,
一、作業系統引論/緒論
此處為整個作業系統的緒論部分,會大概介紹到作業系統的目標和作用,發展程序,基本特性,,主要功能和os的結構設計,
1.1作業系統的目標和作用
作業系統(Operation System, 簡稱OS),是配置在計算機上的第一層軟體,是對計算機硬體系統的首次擴充,其主要作用是管理好這些設備,提高他們的利用率并提高系統的吞吐量,為用戶和應用程式提供一個簡單的介面方便用戶使用,
系統吞吐量:指單位時間內系統處理的檔案數量,
1.1.1 作業系統的目標
在計算機上配置作業系統,其主要目標是:方便性,有效性,可擴充性,開放性,
- 方便性:當計算機內配置了os(作業系統)時,用戶可直接通過os提供的命令操縱計算機系統,
- 有效性:其一為提高系統資源的利用率:應為在裸機狀態時,例如處理機,I/O設備大多處于空閑狀態,各種資源無法得到充分的利用,由此提高系統資源的利用率成為作業系統的目標之一,其二為提高系統的吞吐量,os可以合理的組織計算機的作業流程,加速程式的運行,縮短程式運行周期,從而提高系統的吞吐量,
- 可擴充性:(可擴充性在軟體工程領域是指:設計良好的代碼允許更多的功能在必要時可以被插入到適當的位置中,這樣做的目的的是為了應對未來可能需要進行的修改,而造成代碼被過度工程化地開發,)為適用計算機硬體,體系結構和計算機應用發展的要求,os必須具備很好的可擴充性,
- 開放性:指系統能遵循世界標準規范,并且凡遵循國際標準所開發的軟體,都能彼此兼容,方便的實作互聯,
1.1.2 os的作用
- os作為用戶與計算機硬體系統之間的介面:用戶在os的幫助下能夠方便,快捷可靠的操縱計算機硬體和運行自己的程式,

由圖可知,用戶可通過系統呼叫,命令方式,圖示–視窗方式來實作與作業系統的通信并取得其服務, - os作為計算機系統資源的管理者:計算機系統資源大概可分為四類:處理機,存盤器,I/O設備,檔案(資料和程式),*處理機管理是用于分配和控制處理機;儲存器的管理主要負責記憶體的分配與回收;I/O設備的管理是是負責其分配,回收與操縱;檔案管理是用于實作對檔案的存取,共享和保護,*當一臺計算機系統同事供多個用戶使用時,諸多用戶對系統中共享資源的需求(包括數量和時間)有可能發生沖突,所以os必須對使用資源的請求進行授權,以協呼叫戶們對共享資源的使用,
- os實作了對計算機的抽象:例如,為了方便用戶使用I/O設備,人們在裸機上覆寫一層I/O設備管理軟體,如下圖所示,

由它來實作對I/O設備操作的細節,并向上將I/O設備抽象為為一組資料結構以及一組I/O操作命令,如此用戶可以通過這樣一組資料結構和命令來進行資料的輸入和輸出而無需關心I/O設備是如何具體實作,或者說在裸機上鋪設的I/O軟體隱藏了I/O設備的具體細節,向上提供了一組抽象的I/O設備,
我們通常把覆寫了上述軟體的機器統稱為擴充機或虛擬機,它向用戶提供了一個隊硬體操作的抽象模型,使用戶可以通過該模型提供的介面來使用計算機而無需了解其物理介面實作的細節,讓用戶更加容易的使用計算機的硬體資源,
并且為了方便用戶使用檔案系統,又可以在第一層軟體(I/O設備)上再覆寫一層用于檔案管理的軟體,由它來實作對檔案操作的細節,并向上提供一組實作對檔案進行存盤操作的資料結構和命令,用戶就可以通過該軟體提供的資料結構和命令對檔案進行存取操作了,可以理解為檔案管理軟體實作了對檔案資源管理的第二個層次的抽象,以此類推在檔案管理軟體的基礎上再覆寫一層面向用戶的視窗軟體,則用戶可以在視窗的環境下方面的使用計算機管理檔案,如此就形成了一臺功能更加強大的虛擬機了,
所以作業系統(os)是鋪設在計算機硬體上的多層軟體的集合,它不僅增強了系統的功能,還隱藏了對硬體操作的具體細節,實作了對計算機硬體操作的多個層次的抽象模型,
值得注意的是,不僅可以在底層對一個硬體資源加以抽象,還可以對該資源底層已抽象的模型再次進行抽象,形成更高層的抽象模型,如此,抽象介面所提供的功能會更加強大,而且可以讓用戶使用的更加簡單方便,
1.1.3 推動os發展的主要動力,
- 不斷提高計算機資源利用率
- 方面用戶
- 器件的不斷更新換代
- 計算機體系結構的不斷發展
- 不斷提出新的應用要求:隨著VLSI的發展,計算機芯片的體積越來越小,價格也越來越便宜,大量的智能設備應運而生,使嵌入式作業系統(嵌入式作業系統多數也是實時作業系統)的產生和發展成為一種必然,
VLSI:very large scale integration 超大規模集成電路
1.2 作業系統的發展程序
1.2.1 為配置作業系統的計算機系統
1.人工操作方式
早期的操作方式是由程式員將事先已經穿孔的紙袋裝入紙袋運輸機,再啟動它們將紙袋上的程式和資料輸入計算機,然后啟動計算機運行,僅當程式運行完畢并取走結果后才允許下一個用戶上機,而且會出現cpu的速度迅速提高但是I/O設備的速度提高緩慢,使cpu與I/O設備之間的速度不匹配的矛盾更加突出,
缺點:
1. 用戶獨占計算機,即一臺計算機上的額全部資源由上機用戶獨占,
2. CPU等待人工操作,當人工操作時,CPU及記憶體都是空閑的,
人機矛盾:人工操作嚴重降低了計算機資源的利用率,
2. 脫機輸入/輸出(Off/Line I/O)方式
為了解決CPU和I/O的矛盾,后來引入了脫機I/O技術,即事先把用戶程式和資料的紙帶輸入紙帶運輸機,在一臺外圍機的控制下,把紙帶上的資料輸入到磁帶上,當CPU需要這些資料和程式時,再從磁帶上高速的調入記憶體,
類似的,當CPU需要輸出時,可先由CPU 把資料直接從記憶體高速的輸送到磁帶上,然后在另外一臺外圍機的控制下,再將磁帶上的資料通過相應的設備輸出,

由于程式和資料的輸入和輸出都是在外圍機的控制下完成的,即是在脫離主機的情況下進行的,所以叫脫機輸入/輸出方式,
反之,把在主機直接控制下進行輸入/輸出的方式稱為聯機輸入/輸出(On-Lune I/O)方式,
優點:
- 減少了CPU的空閑時間,裝帶,卸帶,以及將資料從低速I/O設備送到高速磁帶上的操作,都是在脫機情況下,由外圍機完成的,并不占用主機時間,從而有效減少了CPU的占用時間,
- 提高了I/O速度,當CPU在運行至那個需要輸入資料時,是直接從高速的磁帶上將資料輸入到記憶體中的,這極大地提高了I/O的速度,進一步減少了CPU的空閑時間,
可以理解為新增了一個外圍機,以磁帶為媒介解決了原來I/O設備效率低的問題,
1.2.2 單道批處理系統
為了提高計算機的利用率,使其盡量保持系統的連續運行,即在處理完一個作業后,緊接著處理下一個作業,以減少機器的空閑等待時間,
1.單道批處理系統(Simple Batch Processing System)的處理程序
首先由監督程式將磁帶上的第一個作業裝入記憶體,并把運行控制權交給該作業;當該作業處理完成時,又把控制權交還給監督程式,再由監督程式把磁帶上的第二個作業調入記憶體,計算機系統就這樣自動地一個作業緊接一個作業地進行處理,直至磁帶上的所有作業全部完成,這樣便形成了早期的批處理系統,雖然系統對作業的處理是成批進行的,但在記憶體中始終只保持一道作業,故稱為單道批處理系統

單道批處理系統在一定程度上提高了系統資源的利用率,和系統吞吐量,但其仍然不能充分的利用系統資源,現已較少使用,

由上圖可見,在t2-t3 和t6-t7時cpu處于空閑狀態,
缺點:
系統中的資源得不到充分的利用,這是因為在記憶體中僅有一道程式,每逢該程式在運行中發出I/O請求后,CPU便處于等待狀態,必須在其I/O完成后才繼續運行,又因I/O設備的低速性,更使CPU的利用率顯著降低,
1.2.3 多道批處理系統(Multiprogrammed Batch Processing System)
1. 多道程式設計的基本概念
- 多道:系統內可同時容納多個作業,這些作業放在外存中,組成一個后備佇列,系統按一定的調度原則每次從后備作業佇列中選取一個或多個作業進入記憶體運行,運行作業結束、退出運行和后備作業進入運行均由系統自動實作,從而在系統中形成一個自動轉接的、連續的作業流,
- 成批:在系統運行程序中,不允許用戶與其作業發生互動作用,即:作業一旦進入系統,用戶就不能直接干預其作業的運行,

想比較于單道的,在程式A的I/O請求開始和完成的程序中程式B開始運行,在程式B的I/O請求的開始和完成中程式C開始運行,同理程式D開始運行,
2. 多道批處理系統的優缺點
- 系統利用率高:由于在記憶體中駐留了多道程式,它們共享資源,可保持資源處于忙碌狀態,從而使各種資源得以充分利用,
- 系統吞吐量大:能提高系統吞吐量的主要原因可歸結為:第一,CPU和其它資源保持“忙碌”狀態; 第二,僅當作業完成時或運行不下去時才進行切換,系統開銷小,
- 平均周轉時間長:作業的周轉時間是指從作業進入系統開始,直至其完成并退出系統為止所經歷的時間,在批處理系統中,由于作業要排隊,依次進行處理,因而作業的周轉時間較長,通常需幾個小時,甚至幾天,
- 無互動能力:用戶一旦把作業提交給系統后,直至作業完成,用戶都不能與自己的作業進行互動,這對修改和除錯程式是極不方便的,
作業系統的定義
作業系統就是一組能有效的組織和管理計算機硬體和軟體資源,合理的對各類作業進行調度,以及方便用戶使用的程式的集合,
1.2.4 分時系統(Time-Sharing System)
1. 分時系統的引入
為了滿足用戶對人–機互動的需求,由此形成了一種新型os
- 人–機互動 :用戶希望能像早期使用計算機一樣,獨占全機并對其進行直接控制,例如可以方便的對程式中的錯誤進行修改,
- 共享主機:一臺主機上連接了多個配有顯示幕和鍵盤的終端由此組成的系統,
2. 分時系統現實中的關鍵問題
-
及時接收:要做到及時接收多個用鍵入的命令和資料,需要配置一個多路卡(實作分時多路復用)主機以很快的速度周期性的掃描各個終端,在每個終端處停留很短的時間(例如30ms),用來接收從終端發來的資料,為了能對終端上輸入的資料依次處理,還需要設定一個緩沖區,用來暫存用戶鍵入的命令,
-
及時處理
- 因為作業在磁盤上不能運行,所以作業直接進入記憶體
- 采用輪轉運行方式:引入時間片的概念,一個時間片就是很短的一段時間(例如30ms),系統規定每個作業只能運行一個時間片然后就必須轉入到下一個作業的運行,如果能在較短的時間內對所有的作業都能運行一個時間片的時間,便可以使每一個用戶都可以及時的與自己的作業進行互動,從而可使用戶的請求得到及時的回應,
3.分時系統的特征
分為以下四個方面
- 多路性:系統允許將多臺終端連接到一個主機上,并按照分時原則對每個用戶進行服務,多路性允許多個用戶共享一臺計算機,顯著的提高了資源利用率,
- 獨立性:每個用戶都在各自的終端上進行操作,彼此之間互不干擾,
- 及時性:用戶的請求能在很短的時間內得到回應
- 互動性:用戶可以通過終端與系統進行廣泛的人機對話,廣泛性體現在用戶可以請求系統提供多方面的服務,例如進行檔案編輯和資料處理,訪問系統中的檔案系統和資料庫系統等,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/267175.html
標籤:其他
上一篇:【游戲開發崗面經總結5】(面相物件和面相程序的區別,多型,CG,設計模式,行程執行緒協程,記憶體區域存放,協程的原理,指標和參考的區別,防止物件被拷貝)
下一篇:關于軟體的思考
