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