操作系統原理
隨著(zhù)計算機技術(shù)的日益發(fā)展,用戶(hù)直接使用大型機器并獨占機器,無(wú)論是對機器的效率來(lái)說(shuō)還是對方便用戶(hù)來(lái)說(shuō)都不適宜。人們創(chuàng )造出一類(lèi)依靠計算機來(lái)管理自己和管理用戶(hù)的程序,叫做操作系統。操作系統是隨著(zhù)硬件和軟件的不斷發(fā)展而逐漸形成的一套軟件系統,用來(lái)管理計算機資源(如處理器、內存、外部設備和各種編譯、應用程序)和自動(dòng)調度用戶(hù)的作業(yè)程序,而使多個(gè)用戶(hù)能有效地共用一套計算機系統。
操作系統是一個(gè)大型的程序系統,它負責計算機系統軟、硬件資源的分配和管理;控制和協(xié)調并發(fā)活動(dòng);提供用戶(hù)接口,使用戶(hù)獲得良好的工作環(huán)境。
以多道程序設計為基礎的操作系統具備的主要特征是并發(fā)與共享。另外。由于操作系統要隨時(shí)處理各種事件,所以它也具備不確定性。
操作系統具有的資源管理功能包括:處理機分配、存儲管理、設備管理、軟件資源管理。操作系統資源管理的目標是提高系統資源的利用率和方便用戶(hù)使用。
操作系統的核心任務(wù)是系統資源分配、控制和協(xié)調并發(fā)活動(dòng)。
批量操作系統的主要特征是“批量”,優(yōu)點(diǎn)是系統的吞吐率高,缺點(diǎn)是對用戶(hù)的響應時(shí)間較長(cháng),用戶(hù)不能及時(shí)了解自己程序的運行情況并加以控制。
分時(shí)操作系統一般采用時(shí)間片輪轉的辦法,使一臺計算機同時(shí)為多個(gè)終端用戶(hù)服務(wù),該系統對每個(gè)用戶(hù)都能保證足夠快的響應時(shí)間,并提供交互會(huì )話(huà)功能。分時(shí)系統與批量系統的主要差別在于,所有用戶(hù)界面都是通過(guò)像電傳打字機或CRT聯(lián)機終端那樣的設備產(chǎn)生的。每個(gè)用戶(hù)通過(guò)各自的終端使用計算機。分時(shí)系統具有的特點(diǎn):并行性:共享一臺計算機的眾多聯(lián)機用戶(hù)可以在各自的終端上同時(shí)處理自己的程序;獨占性:分時(shí)操作系統采用時(shí)間片輪轉的方法使一臺計算機同時(shí)為許多終端用戶(hù)服務(wù);交互性:用戶(hù)與計算機之間可以進(jìn)行“對話(huà)”,用戶(hù)可以根據運算結果提出下一步要求,直到全部工作完成。
(批量操作系統、分時(shí)操作系統的出現標志著(zhù)操作系統的初步形成。)
實(shí)時(shí)操作系統能夠對外部輸入的信息在規定的時(shí)間內(截止期限deadline)處理完畢并作出反應。其另一個(gè)重要的特征是可預測性分析。操作系統功能應該具有有限的、已知的執行時(shí)間。對實(shí)時(shí)應用進(jìn)程的CPU調度應該是基于時(shí)間約束的,以滿(mǎn)足截止期限的要求。主存管理,即使有虛擬主存,也不能采用異步和無(wú)法預測的頁(yè)面或段的換進(jìn)換出。而文件在磁盤(pán)上的物理結構一般應采用連續分配方式,以避免耗時(shí)的、不可確定的文件操作,如動(dòng)態(tài)確定磁盤(pán)柱面的搜尋操作。實(shí)時(shí)系統按其使用方式分為實(shí)時(shí)控制和實(shí)時(shí)信息處理。實(shí)時(shí)系統要求有高可靠性和安全性,系統的效率(靈活性)則放在第二位,系統通常是采用雙工方式工作的。實(shí)時(shí)操作系統沒(méi)有分時(shí)操作系統那樣強的交互會(huì )話(huà)功能,通常不允許用戶(hù)通過(guò)實(shí)時(shí)終端設備去編寫(xiě)新的程序或修改已有的程序。
在個(gè)人計算機和工作站領(lǐng)域有兩種主流操作系統:一個(gè)是微軟公司的磁盤(pán)操作系統(MS-DOS)和具有圖形用戶(hù)界面的視窗操作系統(Windows);另一個(gè)是UNIX系統和Linux系統。微軟公司用各種類(lèi)型的Windows系統替代了MS-DOS操作系統,IBM公司也將MS-DOS升級為多任務(wù)系統OS/2。UNIX系統是一個(gè)多用戶(hù)的、人機交互的分時(shí)操作系統,自問(wèn)世以來(lái)十分流行,它運行在從高檔個(gè)人計算機到大型機等各種不同處理能力的機器上,提供了良好的工作環(huán)境;它所有的實(shí)用程序層和核心層的90%代碼是用C語(yǔ)言寫(xiě)成的,具有可移植性、安全性,提供了很好的網(wǎng)絡(luò )支持功能,大量用于網(wǎng)絡(luò )服務(wù)器。而目前十分受歡迎的、開(kāi)放源碼的操作系統Linux,則是用于個(gè)人計算機的、類(lèi)似于UNIX的操作系統。
網(wǎng)絡(luò )操作系統除了具備一般操作系統應具有的功能模塊之外(如系統核心、設備管理、存儲管理、文件系統等),還要增加一個(gè)網(wǎng)絡(luò )通信模塊,該模塊由通信接口中斷處理程序、通信控制程序以及各級網(wǎng)絡(luò )協(xié)議等軟件組成。網(wǎng)絡(luò )操作系統提供的功能包括:允許用戶(hù)訪(fǎng)問(wèn)網(wǎng)絡(luò )主機中的各種資源;對用戶(hù)訪(fǎng)問(wèn)進(jìn)行控制,僅允許授權用戶(hù)訪(fǎng)問(wèn)特定的資源;對遠程資源的利用如同本地資源一樣;提供全網(wǎng)統一的記賬辦法;聯(lián)機地提供最近的網(wǎng)絡(luò )說(shuō)明資料;提供比單機更可靠的操作。
分布式系統又稱(chēng)為分布式計算機系統或分布式數據處理系統,是由多個(gè)相互連接的處理單元組成的計算機系統,分布式系統是一個(gè)一體化的系統。在整個(gè)系統中有一個(gè)全局的操作系統稱(chēng)為分布式操作系統,它負責全系統的資源分配和調度、任務(wù)劃分、信息傳輸、控制協(xié)調等工作,并為用戶(hù)提供一個(gè)統一的界面、標準的接口。
UNIX是多用戶(hù)交互式分時(shí)操作系統,在結構上分成核心層和實(shí)用層。其中,核心層小巧,設計得非常精干簡(jiǎn)潔,包括進(jìn)程管理、存儲管理、設備管理、文件系統幾個(gè)部分,主要算法經(jīng)過(guò)反復推敲,對其中包含的數據結構和程序進(jìn)行了精心設計,只需占用很小的存儲空間,并能常駐內存,保證了系統較高的工作效率;實(shí)用層豐富,是那些能從核心層分離出來(lái)的部分,包含豐富的語(yǔ)言處理程序和其他操作系統常見(jiàn)的實(shí)用程序(如編輯程序、調試程序、有關(guān)系統狀態(tài)監控和文件管理的實(shí)用程序等),它們以核外程序形式出現并在用戶(hù)環(huán)境下運行。
UNIX使用靈活的命令語(yǔ)言shell。shell屬于核外程序,同時(shí)作為一種程序設計語(yǔ)言,它具有許多高級語(yǔ)言所擁有的控制流能力,如if、for、while、until、case語(yǔ)句,以及對字符串變量的賦值、替換、傳遞參數、命令替換等能力。用戶(hù)可以根據這些功能用shell語(yǔ)言寫(xiě)出“shell”程序存入文件,以后用戶(hù)只要打入相應的文件名就能執行它,這種方法易于系統的擴充。
UNIX系統采用樹(shù)型目錄結構來(lái)組織各種文件及文件的目錄,這樣的組織方式有利于輔存空間分配及快速查找文件,也可以為不同用戶(hù)的文件提供文件共享和存取控制的能力,且保證用戶(hù)之間安全高效的合作。
UNIX系統中的文件是無(wú)結構的字節序列。在缺省情況下,文件都是順序存取的,但用戶(hù)如果需要的話(huà),也可為文件建立自己需要的結構,用戶(hù)可以通過(guò)改變讀/寫(xiě)指針對文件進(jìn)行隨機存取。UNIX將外部設備與文件一樣看待,外部設備如同磁盤(pán)上的普通文件一樣被訪(fǎng)問(wèn)、共享和保護。
UNIX系統所有的實(shí)用程序層和核心層的90%代碼是用C語(yǔ)言寫(xiě)成的,這使得UNIX成為一個(gè)可移植的操作系統。操作系統的課移植性帶來(lái)了應用程序的可移植性,因而用戶(hù)的應用程序既可用于小型機,又可用于其他的微型機或大型機,從而大大提高了用戶(hù)的工作效率。UNIX也鼓勵用戶(hù)用UNIX的工具開(kāi)發(fā)自己適合需要的環(huán)境,造成UNIX系統版本太多,應用程序的可移植性不能完全實(shí)現;UNIX的核心是無(wú)序模塊結構,不是層次式的,故顯得十分復雜,不易修改和擴充;UNIX也缺少諸如實(shí)時(shí)控制、分布式處理、網(wǎng)絡(luò )處理等能力,這一缺點(diǎn)也在不斷改進(jìn)中。
進(jìn)程是指一個(gè)具有獨立功能的程序關(guān)于某個(gè)數據集合的一次運行活動(dòng)。進(jìn)程是一個(gè)能獨立運行的單位,能與其他進(jìn)程并行的活動(dòng)。進(jìn)程是競爭計算機系統有限資源的基本單位,也是進(jìn)行處理機調度的基本單位。
進(jìn)程是程序在處理機上的一次執行過(guò)程,它是一動(dòng)態(tài)概念;程序是指令的有序集合,其本身沒(méi)有任何運行的含義,它是一個(gè)靜態(tài)概念。進(jìn)程是有一定生命期的,它能夠動(dòng)態(tài)地產(chǎn)生和消亡,即進(jìn)程可由“創(chuàng )建”而產(chǎn)生,由調度而執行,因得不到資源而暫停,以致最后由“撤銷(xiāo)”而消亡;程序可以作為一種軟件資料而長(cháng)期保存。
在支持多任務(wù)運行的操作系統中,活動(dòng)的最小單位是進(jìn)程。進(jìn)程一定包含一個(gè)程序,因為程序是進(jìn)程完成功能的邏輯描述;而一個(gè)程序可以對應多個(gè)進(jìn)程。如果同一程序同時(shí)運行于若干不同的數據集合上,它將屬于若干個(gè)不同的進(jìn)程;蛘哒f(shuō),若干不同的進(jìn)程可以包含相同的程序,即用同一程序對不同數據先后或同時(shí)加以處理,就對應于好幾個(gè)進(jìn)程。
文件的邏輯結構可分為兩種形式:無(wú)結構的流式文件、有結構的記錄式文件。
其中,無(wú)結構的流式文件是相關(guān)的有序字符的集合,文件長(cháng)度即為所含字符數。流式文件不分成記錄,而是直接由一連串信息組成。對流式文件而言,它是按信息的個(gè)數或以特殊字符為界進(jìn)行存取的。流式文件對操作系統而言,管理比較方便;對用戶(hù)而言,適于進(jìn)行字符流的正文處理,也可以不受約束地靈活組織其文件內部的邏輯結構。UNIX系統中的文件采用流式結構,但為了使用方便,UNIX將流式文件按512 B 的大小劃分為若干個(gè)邏輯記錄,從而將流式文件結構轉換為記錄式文件。
有結構的記錄式文件在邏輯上總是被看成一組連續順序的記錄的集合。每個(gè)記錄由彼此相關(guān)的域構成。定長(cháng)記錄文件的長(cháng)度可由記錄個(gè)數決定,變長(cháng)記錄文件的長(cháng)度為各記錄長(cháng)度之和。
【操作系統原理】相關(guān)文章:
linux操作系統原理知識06-12
操作系統原理相關(guān)介紹08-08
操作系統是什么原理06-28
linux操作系統原理知識01-24
天大15春《操作系統原理》作業(yè)07-04