必威电竞|足球世界杯竞猜平台

操作系統(tǒng)
來(lái)源:互聯(lián)網(wǎng)

操作系統(tǒng)(英文:Operating System,簡(jiǎn)稱:OS)是管理計(jì)算機(jī)硬件的程序,為應(yīng)用程序提供基礎(chǔ),也是用戶與硬件的接口。從用戶角度看,操作系統(tǒng)處于用戶和硬件系統(tǒng)之間,用戶通過(guò)它來(lái)使用計(jì)算機(jī)。從資源管理上看,在一個(gè)計(jì)算機(jī)系統(tǒng)中,通常都含有多種硬件和軟件資源,歸納起來(lái)可將這些資源分為四類:處理機(jī)、存儲(chǔ)器、I/O設(shè)備以及文件(數(shù)據(jù)和程序)。操作系統(tǒng)的主要功能是對(duì)這些資源進(jìn)行有效管理。從資源抽象上看,操作系統(tǒng)是建立在硬件之上的軟件集合,不僅增強(qiáng)了系統(tǒng)功能,也隱藏了硬件操作細(xì)節(jié),實(shí)現(xiàn)了對(duì)硬件的多層次抽象。

操作系統(tǒng)的發(fā)展歷史包括多個(gè)里程碑,從最早的批處理操作系統(tǒng)到多任務(wù)操作系統(tǒng),再到分布式操作系統(tǒng)和實(shí)時(shí)操作系統(tǒng)。不同類型的操作系統(tǒng)適用于不同的應(yīng)用場(chǎng)景,例如,適用于桌面和服務(wù)器環(huán)境的 WindowsMac OSLinux,適用于手持移動(dòng)設(shè)備Android和iOS。隨著技術(shù)的發(fā)展,操作系統(tǒng)也在不斷地更新?lián)Q代,以提高性能、安全性、易用性。操作系統(tǒng)的進(jìn)步極大地推動(dòng)了計(jì)算機(jī)的發(fā)展,也促進(jìn)了互聯(lián)網(wǎng)時(shí)代的到來(lái),在計(jì)算機(jī)系統(tǒng)中扮演著極其重要的角色。

操作系統(tǒng)定義

操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的核心組成部分,它充當(dāng)著管理和協(xié)調(diào)計(jì)算機(jī)硬件與軟件資源的橋梁,管理著計(jì)算機(jī)的內(nèi)存、進(jìn)程、文件系統(tǒng)、網(wǎng)絡(luò)通信等,為用戶程序提供接口與環(huán)境,使其可以方便地訪問(wèn)計(jì)算機(jī)硬件資源。

計(jì)算機(jī)系統(tǒng)的組成

隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,計(jì)算機(jī)系統(tǒng)的硬件和軟件資源越來(lái)越豐富。從功能上,可把計(jì)算機(jī)系統(tǒng)劃分為四個(gè)層次:硬件、操作系統(tǒng)、實(shí)用程序和應(yīng)用程序。這四層的關(guān)系表現(xiàn)為一種單向調(diào)用關(guān)系,即外層軟件必須按照事先約定的方式調(diào)用內(nèi)層軟件或硬件提供的服務(wù)。通常把這種約定稱為界面或接口。

硬件層由計(jì)算機(jī)的硬件資源組成,包括中央處理器、存儲(chǔ)器和I/O設(shè)備。其中存儲(chǔ)器包括主存儲(chǔ)器和輔助存儲(chǔ)器,輔助存儲(chǔ)器又叫外存,包括磁盤、磁帶、光盤等。

操作系統(tǒng)是整個(gè)計(jì)算機(jī)系統(tǒng)的管理和控制中心。一個(gè)計(jì)算機(jī)系統(tǒng)如果沒(méi)有操作系統(tǒng),整個(gè)系統(tǒng)將無(wú)法工作。

實(shí)用程序通常是常駐在磁盤上的程序,包括各種語(yǔ)言編譯程序、文本編輯程序、調(diào)試排錯(cuò)程序、連接裝配和裝入程序等各類程序。這些實(shí)用程序?yàn)橛脩籼峁┝艘粋€(gè)良好的使用計(jì)算機(jī)系統(tǒng)的環(huán)境。

應(yīng)用程序是計(jì)算機(jī)系統(tǒng)的最外層軟件,主要負(fù)責(zé)解決用戶的實(shí)際問(wèn)題,這些程序通常由用戶或?qū)iT的軟件公司編制,種類比較豐富。

關(guān)鍵概念

進(jìn)程

進(jìn)程又叫做任務(wù),是操作系統(tǒng)中最基本、最重要的概念之一。進(jìn)程的引入是為了描述系統(tǒng)中并發(fā)執(zhí)行的各種活動(dòng),對(duì)于操作系統(tǒng)的理解、描述和設(shè)計(jì)都具有十分重要的意義。進(jìn)程具有動(dòng)態(tài)的特性,區(qū)別與程序的靜態(tài)特點(diǎn),進(jìn)程有以下幾種不同定義方式:

線程

線程是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。一個(gè)進(jìn)程可以包含多個(gè)線程,它們共享進(jìn)程的資源和地址空間。相較于進(jìn)程,線程之間的切換開(kāi)銷更小,且可有效利用多核 CPU。線程允許一個(gè)應(yīng)用程序并行執(zhí)行多個(gè)任務(wù)。

線程需要進(jìn)程提供運(yùn)行所需的資源,但線程之間可獨(dú)立執(zhí)行。線程擁有自己的程序計(jì)數(shù)器、寄存器和棧,線程切換只需要保存和恢復(fù)此狀態(tài)。線程可分為用戶線程和內(nèi)核線程。用戶線程需要在用戶空間管理,可移植性強(qiáng),但需要進(jìn)程內(nèi)調(diào)度。內(nèi)核線程由內(nèi)核管理調(diào)度,可直接調(diào)用系統(tǒng)調(diào)用,但不方便移植。

地址空間

操作系統(tǒng)地址空間是操作系統(tǒng)管理和分配給各個(gè)進(jìn)程的內(nèi)存地址范圍。地址空間由操作系統(tǒng)內(nèi)核創(chuàng)建和管理,為每個(gè)進(jìn)程分配獨(dú)立的地址空間,以實(shí)現(xiàn)進(jìn)程間的隔離。

地址空間通常被劃分為以下幾個(gè)區(qū)域:

通過(guò)對(duì)地址空間的劃分和保護(hù),操作系統(tǒng)可以實(shí)現(xiàn)對(duì)每個(gè)進(jìn)程的內(nèi)存隔離,保證一個(gè)進(jìn)程無(wú)法訪問(wèn)其他進(jìn)程的內(nèi)存,從而提高系統(tǒng)安全性和穩(wěn)定性。

文件

所有的計(jì)算機(jī)應(yīng)用程序都需要存儲(chǔ)和檢索信息,這些信息在計(jì)算機(jī)系統(tǒng)中通過(guò)磁盤、光盤等物理介質(zhì)進(jìn)行存儲(chǔ)。操作系統(tǒng)為信息存儲(chǔ)和訪問(wèn)提供了標(biāo)準(zhǔn)的使用界面,為信息定義邏輯存儲(chǔ)實(shí)體單元,稱之為文件。同時(shí),操作系統(tǒng)還負(fù)責(zé)將文件映射到物理設(shè)備當(dāng)中。

輸入/輸出

所有的計(jì)算機(jī)都有用來(lái)獲取輸入和產(chǎn)生輸出的物理設(shè)備,輸入/輸出(I/O)系統(tǒng)負(fù)責(zé)在計(jì)算機(jī)系統(tǒng)內(nèi)核和外部設(shè)備之間傳輸數(shù)據(jù)。I/O系統(tǒng)將外部設(shè)備抽象為文件,應(yīng)用程序通過(guò)文件I/O接口訪問(wèn)設(shè)備。設(shè)備驅(qū)動(dòng)程序負(fù)責(zé)控制硬件并實(shí)現(xiàn)文件I/O接口。

I/O的主要特性是外部設(shè)備速度慢,上傳輸時(shí) CPU必須等待I/O完成。操作系統(tǒng)通過(guò)緩沖區(qū)CPU緩存、中斷、DMA等技術(shù)改進(jìn)I/O性能。I/O系統(tǒng)還必須處理不同設(shè)備的數(shù)據(jù)表示,以及支持網(wǎng)絡(luò)分布式文件系統(tǒng)的遠(yuǎn)程I/O操作。

shell

shell是操作系統(tǒng)的用戶界面,提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口。shell作為命令行解釋器,可接受用戶輸入的命令,然后調(diào)用相應(yīng)的應(yīng)用程序。shell還提供了許多內(nèi)建命令,如 ls, cp 等。Shell通過(guò)進(jìn)程控制、輸入輸出重定向、管道等機(jī)制,連接多個(gè)命令實(shí)現(xiàn)強(qiáng)大功能。

現(xiàn)在,許多個(gè)人計(jì)算機(jī)使用圖形用戶界面GUI。事實(shí)上,GUI與shell 類似,GUI 只是一個(gè)運(yùn)行在操作系統(tǒng)頂部的程序。在 Linux 系統(tǒng)中,這個(gè)事實(shí)更加明顯,因?yàn)橛脩艨梢栽趦蓚€(gè)GUI 中選擇一個(gè):Gnome和KDE, 或者使用終端視窗。在Windows 中也可以用不同的程序代替標(biāo)準(zhǔn)的GUI桌面(Windows Explorer), 這可以通過(guò)修改注冊(cè)表中的某些數(shù)值實(shí)現(xiàn),不過(guò)極少有人這樣做。

內(nèi)核

操作系統(tǒng)內(nèi)核是操作系統(tǒng)的核心部件,它負(fù)責(zé)管理系統(tǒng)的進(jìn)程、內(nèi)存、設(shè)備驅(qū)動(dòng)、文件系統(tǒng)以及其它關(guān)鍵組件,提供底層的系統(tǒng)服務(wù)。內(nèi)核通常以內(nèi)核空間的形式存在,與用戶空間分離。當(dāng)應(yīng)用程序需要系統(tǒng)服務(wù)時(shí),它們通過(guò)系統(tǒng)調(diào)用接口請(qǐng)求內(nèi)核提供服務(wù)。

常見(jiàn)的內(nèi)核有:

發(fā)展歷史與分類

手工操作階段

計(jì)算機(jī)技術(shù)起源于20世紀(jì)30年代,1946年誕生了世界上首臺(tái)數(shù)字型計(jì)算機(jī),開(kāi)啟了計(jì)算機(jī)發(fā)展的道路。早期的計(jì)算機(jī)系統(tǒng)僅由硬件和應(yīng)用軟件組成,用戶直接控制使用計(jì)算機(jī)硬件系統(tǒng),沒(méi)有操作系統(tǒng),稱為“手工操作”階段。隨后計(jì)算機(jī)速度的提高和外部設(shè)備的進(jìn)步,為提高計(jì)算機(jī)資源的利用率和用戶的上機(jī)便利,逐步引入了操作系統(tǒng)。

隨著操作系統(tǒng)的發(fā)展,出現(xiàn)了多種不同的操作系統(tǒng)分類體系。根據(jù)用戶的使用環(huán)境與功能特性、操作系統(tǒng)的體系結(jié)構(gòu)以及操作系統(tǒng)的內(nèi)核機(jī)構(gòu)可采取不同的分類方式。

單道批處理系統(tǒng)時(shí)代(20世紀(jì)20年代)

單道批處理系統(tǒng)的設(shè)計(jì)思想是:設(shè)計(jì)一個(gè)常駐主存儲(chǔ)器的程序Monitor,操作員有選擇地把若干用戶作業(yè)合成一批,安裝到輸入設(shè)備上并啟動(dòng)Monitor,Monitor首先把第一道作業(yè)調(diào)入主存并啟動(dòng)該作業(yè),一道作業(yè)運(yùn)行結(jié)束后再把下一道作業(yè)調(diào)入主存并啟動(dòng)運(yùn)行。單批量加工體系在1955至1965年間首先采用了匯編語(yǔ)言,例如 Fortran和 Job,同時(shí)也是第一次采用操作系統(tǒng),即 FMS, IBMSYS ,其在科學(xué)工程計(jì)算中的作用尤為突出,特別是在線批量和離線批量加工。。

多道批處理與分時(shí)、實(shí)時(shí)系統(tǒng)時(shí)代(20 世紀(jì) 60 年代初)

多道批處理系統(tǒng)即在系統(tǒng)中同時(shí)存放多道作業(yè),多道作業(yè)分時(shí)輪流占用處理器運(yùn)行。在早期的批處理系統(tǒng)中,處理器與外部設(shè)備以串行方式工作,兩者的利用率較低。隨著外部設(shè)備功能加強(qiáng),能夠與處理器并行工作,外部設(shè)備工作完后通過(guò)“中斷”通知處理器去做 I/0 后續(xù)工作。這樣處理器在外設(shè) I/0 的時(shí)候能夠去運(yùn)行其他程序,因此引入了“多道程序設(shè)計(jì)”的思想,使單道批處理系統(tǒng)發(fā)展為多道批處理系統(tǒng)。多道批處理系統(tǒng)在1965-1980期間非常流行,它的操作系統(tǒng)表現(xiàn)出了復(fù)雜性和巨大的特征,因?yàn)樗梢酝瑫r(shí)存儲(chǔ)多個(gè)任務(wù)。它使用了一些新的技術(shù),例如multiprogram-ming, SpooLing等。

分時(shí)系統(tǒng)中所謂的“分時(shí)”占用與“并發(fā)”運(yùn)行的含義是:一臺(tái)計(jì)算機(jī)與多臺(tái)終端相連接,用戶通過(guò)各自的終端和終端命令以交互的方式使用計(jì)算機(jī)系統(tǒng)。結(jié)合多道程序設(shè)計(jì)技術(shù),系統(tǒng)使每個(gè)用戶都能感覺(jué)到好像是自己在獨(dú)占地使用計(jì)算機(jī)系統(tǒng),而操作系統(tǒng)負(fù)責(zé)協(xié)調(diào)多個(gè)用戶任務(wù)輪流占用處理器。在協(xié)調(diào)用戶分享處理器時(shí),操作系統(tǒng)通常采用“時(shí)間片輪轉(zhuǎn)”原則分配處理器給用戶程序。分時(shí)技術(shù)是從70年代開(kāi)始的,麻省理工學(xué)院的 Compatible 時(shí)間 Sharing System的分時(shí)系統(tǒng),開(kāi)創(chuàng)了一個(gè)多用戶共享電腦資源的新時(shí)代。

RTOS系統(tǒng)是指對(duì)來(lái)自外部的信息能在規(guī)定的時(shí)限內(nèi)做出處理的系統(tǒng)。“實(shí)時(shí)”應(yīng)用可分為兩類:一類是實(shí)時(shí)控制,把計(jì)算機(jī)用于諸如飛行器的飛行自動(dòng)控制。這類系統(tǒng)必須確保實(shí)時(shí)任務(wù)在確定時(shí)間內(nèi)完成,又稱強(qiáng)實(shí)時(shí)系統(tǒng)。各類控制系統(tǒng)計(jì)算機(jī)上運(yùn)行的“嵌入式操作系統(tǒng)”都屬于實(shí)時(shí)控制類實(shí)時(shí)系統(tǒng)。另一類是實(shí)時(shí)事務(wù)處理,是把計(jì)算機(jī)用于鐵路訂票系統(tǒng)、銀行管理系統(tǒng)等需要及時(shí)響應(yīng)的系統(tǒng)。

多方式通用操作系統(tǒng)時(shí)代(20 世紀(jì) 60-70 年代)

多方式通用操作系統(tǒng)是在實(shí)時(shí)系統(tǒng)之后出現(xiàn)的,是同時(shí)兼有批處理、分時(shí)和實(shí)時(shí)功能中兩種或三種的系統(tǒng)。在實(shí)際應(yīng)用中,同時(shí)具有上述三種功能的系統(tǒng)不多見(jiàn),通常是實(shí)時(shí)與批處理結(jié)合,或分時(shí)與批處理結(jié)合。此時(shí),通常將批處理任務(wù)作為后臺(tái)任務(wù),實(shí)時(shí)或分時(shí)任務(wù)作為前臺(tái)任務(wù),從而形成所謂的前后臺(tái)系統(tǒng)。當(dāng)代同時(shí)具備兩種上述功能的系統(tǒng)有很多,例如UNIX操作系統(tǒng),Linux甲骨文公司公司的Solaris微軟公司的Windows系列等等。

個(gè)人桌面操作系統(tǒng)是一種單用戶、多任務(wù)的操作系統(tǒng),屬于多方式通用操作系統(tǒng)的范疇。個(gè)人桌面操作系統(tǒng)主要供個(gè)人使用,采用圖形化界面進(jìn)行人機(jī)交互,界面友好且方便使用。常見(jiàn)的個(gè)人桌面操作系統(tǒng)有WindowsMac OSUbuntu等。

Windows系統(tǒng)是由美國(guó) 微軟 開(kāi)發(fā)的商用操作系統(tǒng),其具有良好的用戶界面、精美的窗口和易于學(xué)習(xí)的特點(diǎn)。同時(shí),公司具有良好的生態(tài)系統(tǒng),可為用戶提供多種應(yīng)用程序。該系統(tǒng)具有門類齊全、功能齊全、使用方便、實(shí)用的特點(diǎn)。所以,Windows系統(tǒng)是當(dāng)今電腦臺(tái)式機(jī)中使用最多的一種。

Ubuntu由英國(guó) Canonical 公司發(fā)布并提供商業(yè)支持,是著名的Linux發(fā)行版之一,也是目前最多使用者的Linux版本。

Mac OS 是一套由蘋果公司公司在 Macintosh系列電腦上運(yùn)行的操作系統(tǒng)。macOS是第一款在商業(yè)應(yīng)用中取得成功的 GUI系統(tǒng)。

網(wǎng)絡(luò)與分布式系統(tǒng)時(shí)代(20 世紀(jì) 70 年代后期)

NSO是實(shí)現(xiàn)網(wǎng)絡(luò)通信與網(wǎng)絡(luò)資源管理的操作系統(tǒng)。作為集團(tuán)、單位和個(gè)人使用的計(jì)算機(jī),其本身的信息資源是有限的,且都是分散和孤立在各地的,資源和數(shù)據(jù)無(wú)法相互利用和共享。為了實(shí)現(xiàn)異地計(jì)算機(jī)之間的數(shù)據(jù)通信和資源共享,需要將分布各地的計(jì)算機(jī)和終端設(shè)備通過(guò)數(shù)據(jù)通信系統(tǒng)聯(lián)結(jié)在一起,形成計(jì)算機(jī)網(wǎng)絡(luò)。網(wǎng)絡(luò)操作系統(tǒng)一般建立在各個(gè)主機(jī)的本地操作系統(tǒng)基礎(chǔ)之上,網(wǎng)絡(luò)中的各臺(tái)計(jì)算機(jī)都配有各自獨(dú)立的操作系統(tǒng),網(wǎng)絡(luò)操作系統(tǒng)的功能是實(shí)現(xiàn)網(wǎng)絡(luò)操作、資源共享和保護(hù),以及提供網(wǎng)絡(luò)服務(wù)和網(wǎng)絡(luò)接口等。

分布式操作系統(tǒng)可分為兩類:一類是建立在緊耦合分布式系統(tǒng)基礎(chǔ)之上的,另一類是建立在松散耦合計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)之上的。分布式計(jì)算機(jī)系統(tǒng)簡(jiǎn)稱分布系統(tǒng),是由多個(gè)分散的計(jì)算機(jī)經(jīng)網(wǎng)絡(luò)連接而成的統(tǒng)一的計(jì)算機(jī)系統(tǒng)。近幾年隨著網(wǎng)絡(luò)技術(shù)發(fā)展而火爆出現(xiàn)的云操作系統(tǒng),便是以分布式操作系統(tǒng)的概念為基礎(chǔ),實(shí)現(xiàn)了分布式計(jì)算、分布式文件存儲(chǔ)等功能。

多機(jī)系統(tǒng)時(shí)代(20世紀(jì) 90 年代)

多機(jī)系統(tǒng)也叫多處理機(jī)操作系統(tǒng),是指具有兩個(gè)以上的處理機(jī),并在其上建立的操作系統(tǒng)。多處理機(jī)操作系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng),它主要反映在多處理機(jī)的并發(fā)控制上,因此多處理機(jī)環(huán)境需要配備專門的操作系統(tǒng),目前多處理機(jī)系統(tǒng)已經(jīng)被服務(wù)器廣泛采用。多處理機(jī)操作系統(tǒng)主要有兩種類型:

嵌入式系統(tǒng)(21世紀(jì)初)

OSE是運(yùn)行在嵌入式系統(tǒng)環(huán)境中的系統(tǒng)軟件,是面向用戶、產(chǎn)品、應(yīng)用的系統(tǒng)。嵌入式系統(tǒng)對(duì)整個(gè)嵌入式系統(tǒng)及其所操作、控制的各種部件裝置等資源進(jìn)行統(tǒng)一協(xié)調(diào)、調(diào)度、指揮和控制。常見(jiàn)的嵌入式操作系統(tǒng)包括 AndroidIOS 等。

虛擬化與云計(jì)算(21世紀(jì)10年代)

虛擬化是一種將軟件技術(shù)從運(yùn)行環(huán)境中抽離出來(lái)的技術(shù),云計(jì)算則是一種利用虛擬化和其他技術(shù)實(shí)現(xiàn)大規(guī)模數(shù)據(jù)中心部署、監(jiān)控和控制的方法,虛擬化和云計(jì)算兩個(gè)術(shù)語(yǔ)在一些場(chǎng)景下含義會(huì)重疊。通過(guò)在云計(jì)算環(huán)境中使用虛擬化,可以在一系列通用計(jì)算硬件上以受控且一致的方法靈活地部署應(yīng)用程序工作負(fù)載。通過(guò)在虛擬機(jī)中實(shí)現(xiàn)Web服務(wù)器等應(yīng)用程序,可以動(dòng)態(tài)地?cái)U(kuò)展在線計(jì)算能力,以匹配變化的負(fù)載。

2006年谷歌提出“Google 101 計(jì)劃”,并正式提出“云”的概念和理論。2006年8月,亞馬遜基于開(kāi)源虛擬化平臺(tái)Xen,推出了彈性計(jì)算云服務(wù)(英文:Elastic Compute Cloud,簡(jiǎn)稱:EC2)的公眾測(cè)試版本,被認(rèn)為是云計(jì)算技術(shù)的開(kāi)端。

微內(nèi)核結(jié)構(gòu)系統(tǒng)

微內(nèi)核的設(shè)計(jì)思路是,除了必須放在內(nèi)核空間中運(yùn)行的,盡可能將操作系統(tǒng)與服務(wù)置于用戶空間。微核架構(gòu)將系統(tǒng)代碼優(yōu)化壓縮到最小,最大限度保留核心部分。操作系統(tǒng)的功能主要通過(guò)用戶進(jìn)程實(shí)現(xiàn),即用戶進(jìn)程將請(qǐng)求發(fā)送到服務(wù)器,服務(wù)器完成操作后通過(guò)某種渠道反饋給用戶進(jìn)程。在微核架構(gòu)下,操作系統(tǒng)核心負(fù)責(zé)處理客戶端和服務(wù)器間的通信。系統(tǒng)包含若干模塊,每個(gè)模塊提供文件服務(wù)、業(yè)務(wù)流程、終端服務(wù)等功能,規(guī)模較小、易于管理。這些服務(wù)以用戶程序?yàn)榛A(chǔ),不在內(nèi)核中操作,也不能直接訪問(wèn)硬件。因此即使某個(gè)服務(wù)器故障或被攻擊,也不會(huì)影響系統(tǒng),僅導(dǎo)致相應(yīng)服務(wù)器崩潰。

單體內(nèi)核結(jié)構(gòu)系統(tǒng)

隨著科技發(fā)展,硬件和平臺(tái)性能大幅提升,操作系統(tǒng)種類和數(shù)量也在增加,其復(fù)雜度和功能不斷提高。在此背景下,單體內(nèi)核結(jié)構(gòu)的操作系統(tǒng)誕生并被廣泛應(yīng)用,如unix和Windows NT/XP。

單內(nèi)核架構(gòu)的操作系統(tǒng)通常包含文件管理、內(nèi)存管理、設(shè)備驅(qū)動(dòng)、CPU調(diào)度和網(wǎng)絡(luò)協(xié)議處理等功能。隨著內(nèi)核越來(lái)越復(fù)雜,模塊化成為主流,將內(nèi)核劃分為文件管理、內(nèi)存管理、驅(qū)動(dòng)、CPU調(diào)度、網(wǎng)絡(luò)協(xié)議等模塊。這些模塊地址空間與核心相同,通過(guò)功能調(diào)用實(shí)現(xiàn)模塊間通信。采用模塊化后,通信接口不變時(shí),結(jié)構(gòu)變動(dòng)不會(huì)影響其他模塊,便于系統(tǒng)維護(hù)和升級(jí)。

盡管單內(nèi)核系統(tǒng)采用模塊化設(shè)計(jì),但所有模塊在硬件基礎(chǔ)上,以操作系統(tǒng)核心為支撐,為應(yīng)用軟件提供服務(wù)。模塊之間沒(méi)有級(jí)別差異。

操作系統(tǒng)功能

操作系統(tǒng)通過(guò)管理計(jì)算機(jī)資源,提供計(jì)算機(jī)的基本功能。從資源管理的角度看,操作系統(tǒng)要對(duì)計(jì)算機(jī)系統(tǒng)內(nèi)所有的資源進(jìn)行有效和自動(dòng)的管理,實(shí)現(xiàn)資源合理分配與高效使用。從用戶角度來(lái)看,用戶只需要通過(guò)操作系統(tǒng)所提供的簡(jiǎn)單接口就可以使用計(jì)算機(jī)中的資源。通常操作系統(tǒng)的基本功能包括以下4方面:存儲(chǔ)管理,進(jìn)程管理,設(shè)備管理,文件管理。

存儲(chǔ)管理

存儲(chǔ)管理的主要內(nèi)容存儲(chǔ)管理的主要任務(wù)式為多道程序的運(yùn)行提供運(yùn)行空間,方便用戶使用存儲(chǔ)器,并提高內(nèi)存的利用率。在計(jì)算機(jī)體系架構(gòu)中,存儲(chǔ)器存在一個(gè)層次體系。頂層的存儲(chǔ)器(寄存器)讀寫(xiě)速度較高,然而空間小,底層則相反。寄存器和手機(jī)CPU速度相當(dāng),然而容量比較小,大約在KB級(jí)別。存儲(chǔ)管理包括內(nèi)存分配、存儲(chǔ)保護(hù)、地址映射、內(nèi)存擴(kuò)充四方面內(nèi)容。

內(nèi)存分配

內(nèi)存分配的主要任務(wù)式為每道用戶程序分配一定的內(nèi)存空間。操作系統(tǒng)必須記錄整個(gè)內(nèi)存的使用情況,處理用戶提出的申請(qǐng),按照某種策略實(shí)施分配或回收空間。內(nèi)存必須容納操作系統(tǒng)以及各種用戶進(jìn)程。早期的內(nèi)存分配方式是連續(xù)內(nèi)存分配,該方式下每個(gè)進(jìn)程包含在一個(gè)獨(dú)立的內(nèi)存區(qū)域,下一個(gè)區(qū)域會(huì)容納另一個(gè)進(jìn)程。然而連續(xù)內(nèi)存分配的方式下,由于會(huì)產(chǎn)生大量的“碎片”,導(dǎo)致了內(nèi)存使用效率不高,盡管引入了類似“緊湊”的處理碎片的方法,其引起的系統(tǒng)開(kāi)銷一般會(huì)很大。于是之后有了“分頁(yè)存儲(chǔ)管理”以及“段頁(yè)式存儲(chǔ)管理”等不連續(xù)的空間分配方法。

連續(xù)內(nèi)存分配包括以下三種具體的方式:

此外,在動(dòng)態(tài)分區(qū)分配的方法中,當(dāng)一個(gè)進(jìn)程加載到內(nèi)存中時(shí),操作系統(tǒng)需要判定將哪個(gè)空閑塊分配給該進(jìn)程,這個(gè)判定過(guò)程常用到的算法有:首次適應(yīng)法、最佳適應(yīng)法、最壞適應(yīng)法。

分頁(yè)存儲(chǔ)管理假設(shè)將內(nèi)存劃分為等長(zhǎng)的固定大小的簇,進(jìn)程也按簇劃分成“頁(yè)”,頁(yè)分配到可用的內(nèi)存簇“框”或“頁(yè)框”中。

存儲(chǔ)保護(hù)

在多道程序設(shè)計(jì)環(huán)境下,每道程序都在自己的內(nèi)存空間中運(yùn)行,各道程序之間互不侵犯,互不干擾。存儲(chǔ)管理需要保證每道程序自身的代碼與數(shù)據(jù)的安全。存儲(chǔ)保護(hù)包括防止訪問(wèn)地址越界和控制正確存取,相應(yīng)地有地址越界保護(hù)和信息存取保護(hù)兩種方式。每道程序的地址空間限定了自己的合法訪問(wèn)范圍。每道程序只能訪問(wèn)自己的主存儲(chǔ)器區(qū)而不能跳轉(zhuǎn)到另一進(jìn)程中的指令,尤其不能訪問(wèn)操作系統(tǒng)的任何部分。無(wú)特別許可,一個(gè)進(jìn)程也不能訪問(wèn)其他進(jìn)程的數(shù)據(jù)區(qū)。地址越界保護(hù)是指對(duì)進(jìn)程執(zhí)行時(shí)產(chǎn)生的所有主存訪問(wèn)地址進(jìn)行檢查,確保進(jìn)程僅訪問(wèn)自己的主存區(qū)。信息存取保護(hù)是指進(jìn)程訪問(wèn)自己的主存區(qū)時(shí),對(duì)訪問(wèn)權(quán)限進(jìn)行檢查,從而確保數(shù)據(jù)的安全性和完整性,防止有意或無(wú)意的誤操作而破壞主存信息。

地址映射

邏輯地址指的是一個(gè)內(nèi)存位置,該位置與指派給當(dāng)前數(shù)據(jù)的實(shí)際地址無(wú)關(guān)。物理地址則是指絕對(duì)地址,是在內(nèi)存中的實(shí)際位置。在多道程序設(shè)計(jì)環(huán)境下,每道程序都是動(dòng)態(tài)加載進(jìn)內(nèi)存的。此外,為便于管理和提高內(nèi)存的使用效率,每道程序都具有邏輯地址空間與物理地址空間。在程序運(yùn)行過(guò)程中,必須將代碼和數(shù)據(jù)的邏輯地址轉(zhuǎn)換為內(nèi)存的物理地址。這種邏輯地址到物理空間地址的轉(zhuǎn)換稱為地址映射。

內(nèi)存擴(kuò)充

內(nèi)存的容量是有限的。為滿足用戶的需要,可通過(guò)建立虛擬的存儲(chǔ)系統(tǒng)來(lái)實(shí)現(xiàn)內(nèi)存容量的邏輯擴(kuò)充。其中,虛擬內(nèi)存是現(xiàn)代操作系統(tǒng)中實(shí)現(xiàn)內(nèi)存擴(kuò)充功能的一項(xiàng)重要技術(shù)。但該功能并非是從物理上實(shí)際地?cái)U(kuò)大內(nèi)存的容量,而是從邏輯上實(shí)現(xiàn)對(duì)內(nèi)存容量的擴(kuò)充,使得用戶所感覺(jué)到的內(nèi)存容量比實(shí)際內(nèi)存容量大得多。于是便可以讓比內(nèi)存空間更大的程序運(yùn)行,或者讓更多的用戶程序并發(fā)運(yùn)行。分頁(yè)存儲(chǔ)管理是實(shí)現(xiàn)虛擬存儲(chǔ)器的重要手段。

進(jìn)程管理

在多道程序或者多用戶的環(huán)境下,要組織多個(gè)作業(yè)同時(shí)運(yùn)行,就要解決處理器管理的問(wèn)題。在多道程序系統(tǒng)中,處理機(jī)的分配和運(yùn)行都是以進(jìn)程為單位的,所以對(duì)處理機(jī)的管理可歸結(jié)為對(duì)進(jìn)程的管理。進(jìn)程管理則主要包括四方面:進(jìn)程控制,進(jìn)程同步,進(jìn)程通信和進(jìn)程調(diào)度。

進(jìn)程控制

對(duì)進(jìn)程進(jìn)行管理,首先需要建立一個(gè)專用數(shù)據(jù)結(jié)構(gòu)來(lái)描述進(jìn)程的相關(guān)信息,這個(gè)數(shù)據(jù)結(jié)構(gòu)稱為進(jìn)程控制塊(英文:Process Control Block,簡(jiǎn)稱:PCB),該數(shù)據(jù)結(jié)構(gòu)包含了管理進(jìn)程所需要的信息。進(jìn)程通常包括運(yùn)行(Running)、就緒(Ready)、等待/阻塞(Blocked)、創(chuàng)建(New)、結(jié)束(Exit)五種狀態(tài),各種狀態(tài)之間的轉(zhuǎn)換見(jiàn)。進(jìn)程控制主要包括進(jìn)程的創(chuàng)建、終止、掛起和恢復(fù)操作。進(jìn)程可以通過(guò)系統(tǒng)調(diào)用或者fork操作來(lái)實(shí)現(xiàn)創(chuàng)建,也可以通過(guò)exec系統(tǒng)調(diào)用來(lái)加載并運(yùn)行程序。當(dāng)進(jìn)程完成任務(wù)或者發(fā)生錯(cuò)誤時(shí),可以通過(guò)exit系統(tǒng)調(diào)用終止進(jìn)程。操作系統(tǒng)還可以通過(guò)信號(hào)來(lái)中斷或掛起一個(gè)正在運(yùn)行的進(jìn)程,并在需要時(shí)將其恢復(fù)。

進(jìn)程同步

由于進(jìn)程間會(huì)共享操作系統(tǒng)的資源,所以需要進(jìn)程同步來(lái)協(xié)調(diào)它們之間的操作順序。最基本的同步原語(yǔ)是互斥量(Mutex),通過(guò)獲取和釋放互斥量可以實(shí)現(xiàn)對(duì)共享資源的互斥訪問(wèn)。另一個(gè)重要的同步機(jī)制是條件變量,進(jìn)程在某條件不滿足時(shí)等待,在條件改變時(shí)通過(guò)信號(hào)通知進(jìn)程。

進(jìn)程通信

進(jìn)程通信(英文:Inter-Process Communication,縮寫(xiě):IPC)機(jī)制允許進(jìn)程間傳輸信息。其中管道是最簡(jiǎn)單的通信方式,它通過(guò)一個(gè)寫(xiě)入端和讀取端在進(jìn)程間傳遞數(shù)據(jù),在Linux系統(tǒng)中,pipe()函數(shù)調(diào)用是一種常見(jiàn)的管道操作。FIFO有時(shí)候也稱為命名管道,相比于一般的管道,F(xiàn)IFO具有多個(gè)進(jìn)程可以打開(kāi)并進(jìn)行讀寫(xiě)的文件名。信號(hào)量也可以用于進(jìn)程間的同步與互斥。共享內(nèi)存允許進(jìn)程訪問(wèn)統(tǒng)一內(nèi)存區(qū)域,當(dāng)一個(gè)進(jìn)程改變了這塊內(nèi)存中的內(nèi)容時(shí),其他進(jìn)程就會(huì)察覺(jué)到這個(gè)更改,可以高效地傳輸大量數(shù)據(jù)。消息隊(duì)列則通過(guò)內(nèi)核中的隊(duì)列傳遞消息,不需要命名管道中的同步操作。實(shí)踐中常使用 mgsget() 函數(shù)來(lái)創(chuàng)建和訪問(wèn)消息隊(duì)列列,使用msgsnd()函數(shù)把消息添加到消息隊(duì)列中,使用 msgrcv() 函數(shù)函數(shù)來(lái)從消息隊(duì)列中獲取消息,使用msgctl()函數(shù)來(lái)控制消息隊(duì)列列。哲學(xué)家進(jìn)餐問(wèn)題、讀者-寫(xiě)者問(wèn)題、理發(fā)師睡覺(jué)問(wèn)題等都是經(jīng)典的IPC問(wèn)題。

進(jìn)程調(diào)度

操作系統(tǒng)需要對(duì)進(jìn)程進(jìn)行調(diào)度,將調(diào)度資源CPU時(shí)間分配給不同的進(jìn)程。長(zhǎng)期調(diào)度根據(jù)進(jìn)程對(duì)資源的需求,將暫時(shí)不需要運(yùn)行的進(jìn)程交換到輔存中。短期調(diào)度則頻繁地在就緒狀態(tài)的進(jìn)程間切換,確保每個(gè)進(jìn)程都獲取了一定的執(zhí)行時(shí)間。調(diào)度算法會(huì)考慮進(jìn)程的優(yōu)先級(jí)和公平性等因素。常用處理調(diào)度算法有先來(lái)先服務(wù)、非搶占及搶占的短進(jìn)程優(yōu)先、高響應(yīng)比優(yōu)先、時(shí)間片輪轉(zhuǎn)、多級(jí)反饋隊(duì)列及立即搶占的多級(jí)反饋隊(duì)列等。

設(shè)備管理

設(shè)備管理是指操作系統(tǒng)管理和控制外部設(shè)備的功能。外部設(shè)備也稱I/O設(shè)備,在計(jì)算機(jī)系統(tǒng)中這部分設(shè)備大致可分為三類:人機(jī)交互類外部設(shè)備、存儲(chǔ)類外部設(shè)備、網(wǎng)絡(luò)通信類外部設(shè)備。,操作系統(tǒng)需要控制計(jì)算機(jī)的所有I/O設(shè)備,必須向設(shè)備發(fā)送命令,捕捉中斷,并處理設(shè)備的各種錯(cuò)誤。此外它還應(yīng)該在設(shè)備和系統(tǒng)的其他部分之間提供簡(jiǎn)單且易于使用的接口。操作系統(tǒng)的硬件管理主要討論的是如何對(duì)硬件編程。實(shí)現(xiàn)I/O可采取的三種方式分別為:程序控制I/O、中斷驅(qū)動(dòng)I/O、使用DMA的I/O,這些實(shí)現(xiàn)方式對(duì)應(yīng)各自的I/O軟件,軟件層與包括了具體的設(shè)備,以及相應(yīng)的設(shè)備控制器硬件層相連接。

具體的I/O操作由硬件層來(lái)完成,中斷處理程序用于保存被中斷進(jìn)程的CPU環(huán)境,設(shè)備驅(qū)動(dòng)程序負(fù)責(zé)實(shí)現(xiàn)系統(tǒng)對(duì)設(shè)備發(fā)出的操作指令,以及驅(qū)動(dòng)設(shè)備工作的驅(qū)動(dòng)程序,與設(shè)備無(wú)關(guān)的操作系統(tǒng)軟件即內(nèi)核I/O軟件,是操作系統(tǒng)在設(shè)備管理中十分重要的一個(gè)部分,其負(fù)責(zé)實(shí)現(xiàn)與設(shè)備驅(qū)動(dòng)器的統(tǒng)一接口、命名設(shè)備、設(shè)備的保護(hù)以及設(shè)備的分配與釋放等。用戶層的軟件則是實(shí)現(xiàn)了操作系統(tǒng)與用戶交互的接口。

磁盤作為存儲(chǔ)設(shè)備是計(jì)算機(jī)系統(tǒng)中的一種重要資源,同時(shí)也是操作最頻繁的十分重要的設(shè)備。磁盤被組織成柱面,每一個(gè)柱面包含若干磁道,磁道數(shù)與垂直堆疊的磁頭個(gè)數(shù)相同。磁道又被分成若干扇區(qū),軟盤上大約每條磁道有8~32個(gè)扇區(qū),HDD上每條磁道上扇區(qū)的數(shù)目可以多達(dá)幾百個(gè)。常用的磁盤調(diào)度算法有先來(lái)先服務(wù)、最短尋道時(shí)間優(yōu)先、掃描算法、循環(huán)掃描算法、NStepSCAN以及FSCAN調(diào)度算法等。

時(shí)鐘 又稱為定時(shí)器,由于各種各樣的原因決定了它對(duì)千任何多道程序設(shè)計(jì)系統(tǒng)的操作都是至關(guān)重要的。時(shí)鐘負(fù)責(zé)維護(hù)時(shí)間,并且防止一個(gè)進(jìn)程壟斷 CPU 。此外,時(shí)鐘還具有維持正確的日時(shí)間、防止進(jìn)程超時(shí)運(yùn)行、CPU記賬等幾方面的功能。

文件管理

操作系統(tǒng)對(duì)文件的文件基本操作包括創(chuàng)建、讀取、寫(xiě)入和刪除等,以及針對(duì)不同用戶設(shè)置文件訪問(wèn)權(quán)限等權(quán)限管理。

文件創(chuàng)建是指在文件系統(tǒng)中新增一個(gè)文件,操作系統(tǒng)會(huì)為新文件分配存儲(chǔ)空間,并在目錄中增加一個(gè)目錄項(xiàng)。讀取文件則是指程序邏輯打開(kāi)某個(gè)存在的文件,并從中獲取數(shù)據(jù)。寫(xiě)入文件是指程序邏輯向打開(kāi)的文件中寫(xiě)入新的數(shù)據(jù),如追加內(nèi)容或覆蓋原有內(nèi)容。刪除文件是指從文件系統(tǒng)中將某個(gè)文件刪除,釋放其占用的存儲(chǔ)空間。

針對(duì)不同用戶,操作系統(tǒng)可以設(shè)置文件訪問(wèn)權(quán)限,如只讀、讀寫(xiě)或執(zhí)行等權(quán)限。通過(guò)訪問(wèn)控制列表(ACL)為每個(gè)用戶賦予文件訪問(wèn)權(quán)限,達(dá)到權(quán)限管理的目的。ACL 可以控制單個(gè)用戶對(duì)文件或目錄的訪問(wèn)權(quán)限。通過(guò)設(shè)置文件所有者、所屬組及其他用戶的讀寫(xiě)執(zhí)行權(quán)限,實(shí)現(xiàn)訪問(wèn)控制。對(duì)不同類型的文件也可以設(shè)置默認(rèn)的訪問(wèn)權(quán)限,如數(shù)據(jù)文件默認(rèn)對(duì)所有用戶讀寫(xiě),而可執(zhí)行文件默認(rèn)只有所有者可執(zhí)行。權(quán)限管理是操作系統(tǒng)保證系統(tǒng)安全和文件安全的重要手段。

文件系統(tǒng)是操作系統(tǒng)中實(shí)現(xiàn)對(duì)文件實(shí)施管理、控制與操作的一組軟件,可以視為用戶與計(jì)算機(jī)物理層面之間的一種映射,文件系統(tǒng)的傳統(tǒng)模型為層次模型,每一層會(huì)使用下一層的功能特性來(lái)創(chuàng)建新的功能。

文件目錄是一種記錄了所有文件的名字及其存放的輔助空間地址信息的一種數(shù)據(jù)結(jié)構(gòu),能夠?qū)崿F(xiàn)對(duì)文件的“按名存取”,提高文件訪問(wèn)的速度。在現(xiàn)代操作系統(tǒng)中,最通用且實(shí)用的文件目錄無(wú)疑是樹(shù)形結(jié)構(gòu)目錄,充分利用樹(shù)形邏輯結(jié)構(gòu)的特點(diǎn),將主目錄作為根目錄,把數(shù)據(jù)文件作為樹(shù)葉,其它的目錄均作為樹(shù)的結(jié)點(diǎn)。在每個(gè)文件目錄中,只能有一個(gè)根目錄,每個(gè)文件和每個(gè)目錄都只能有一個(gè)父目錄。

文件分配管理是文件管理的主要功能之一,即如何在外部存儲(chǔ)介質(zhì)上為創(chuàng)建文件而分配空間、為刪除文件而回收空間、對(duì)空閑空間進(jìn)行管理。有效利用外存空間與提高對(duì)文件的訪問(wèn)速度是文件分配管理的核心問(wèn)題。通常的分配方式包括連續(xù)分配、鏈接分配與索引分配三種。連續(xù)文件分配易于實(shí)現(xiàn),在創(chuàng)建文件時(shí)在磁盤上分配連續(xù)的塊。鏈接分配采取離散的分配方式,能夠解決連續(xù)文件分配中容易出現(xiàn)的“碎片”問(wèn)題,微軟公司的FAT32文件系統(tǒng)即是鏈接分配的典型案例。索引分配為每個(gè)文件分配一個(gè)索引塊,再將分配給該文件的所有盤塊號(hào)記錄于索引塊中,便能同時(shí)解決連續(xù)文件分配的碎片問(wèn)題與鏈接分配的直接存取效率低的問(wèn)題。

用戶界面

用戶通過(guò)操作系統(tǒng)提供的接口使用計(jì)算機(jī)的系統(tǒng)資源,以用戶的視角可將操作系統(tǒng)接口分為兩種類型:一種是提供給操作計(jì)算機(jī)的用戶的操作接口,另一種是提供給編程人員使用的低級(jí)接口——系統(tǒng)調(diào)用。命令行形式的命令解釋程序,用戶友好的圖形用戶接口和使用批處理系統(tǒng)或分時(shí)系統(tǒng)時(shí)的作業(yè)運(yùn)行控制命令是操作接口的三種主要形式。系統(tǒng)調(diào)用則是用戶態(tài)的程序調(diào)用操作系統(tǒng)內(nèi)核服務(wù)或請(qǐng)求系統(tǒng)資源的接口,進(jìn)程控制、文件管理、設(shè)備管理等都可以由用戶通過(guò)系統(tǒng)調(diào)用來(lái)實(shí)現(xiàn)。

命令解釋程序即常見(jiàn)的命令行界面,只提供文字命令,用戶需要通過(guò)鍵入命令來(lái)操作計(jì)算機(jī)。其優(yōu)點(diǎn)是對(duì)系統(tǒng)資源消耗少,運(yùn)行迅速,可以進(jìn)行批處理和自動(dòng)化操作。缺點(diǎn)是需要記憶大量命令,不直觀,對(duì)新手不友好。早期的DOS系統(tǒng)和Unix系統(tǒng)采用命令行界面。

圖形用戶接口(英文:Graphical User Interface,簡(jiǎn)稱:GUI)通過(guò)圖形元素如窗口、圖標(biāo)、菜單和指針進(jìn)行操作。其優(yōu)點(diǎn)是直觀和易于上手,操作簡(jiǎn)單方便。缺點(diǎn)是消耗更多系統(tǒng)資源。當(dāng)代大多數(shù)操作系統(tǒng)如Windows、Mac OS和Linux的桌面環(huán)境都采用圖形用戶界面。

命令行界面適合執(zhí)行特定任務(wù)的高效操作;圖形用戶界面更直觀易用,可以降低新用戶的學(xué)習(xí)成本。此外作業(yè)運(yùn)行控制命令通常用于對(duì)各種正在運(yùn)行的進(jìn)程進(jìn)行監(jiān)控和管理,自動(dòng)完成復(fù)雜的作業(yè),unix的shell程序是典型的作業(yè)運(yùn)行控制命令。

操作系統(tǒng)安全

安全問(wèn)題與防范策略

系統(tǒng)的活動(dòng)程序組按照規(guī)定策略來(lái)使用系統(tǒng)資源是可靠系統(tǒng)必需的要求,同時(shí)還需要防止用戶有意地、惡意地違反訪問(wèn)限制,對(duì)操作系統(tǒng)的進(jìn)程必須加以保護(hù),以便免受其他進(jìn)程活動(dòng)的干擾。同時(shí)操作系統(tǒng)的安全還需要考慮到系統(tǒng)運(yùn)行的外部環(huán)境。

常見(jiàn)的安全問(wèn)題包括有注冊(cè)表等系統(tǒng)文件讀寫(xiě)、安全漏洞造成的病毒入侵以及磁盤管理策略造成的寫(xiě)文件隱患等。針對(duì)通用操作系統(tǒng),傳統(tǒng)的安全保護(hù)方法有鏡像法與主動(dòng)還原法,其中鏡像法有簡(jiǎn)單鏡像法與HPA鏡像法,該方法存在無(wú)法預(yù)防的問(wèn)題。主動(dòng)還原法是在鏡像法上的改進(jìn),每次啟動(dòng)均主動(dòng)進(jìn)行鏡像或備份還原。針對(duì)網(wǎng)絡(luò)操作系統(tǒng),相應(yīng)的操作系統(tǒng)安全對(duì)策包括漏洞掃描技術(shù)、信息數(shù)據(jù)加密技術(shù)、防火墻、入網(wǎng)訪問(wèn)控制等。

用戶權(quán)限管理與訪問(wèn)控制

操作系統(tǒng)通過(guò)用戶賬戶和訪問(wèn)控制機(jī)制來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)資源的權(quán)限管理。用戶賬戶用于標(biāo)識(shí)合法用戶,每個(gè)賬戶配置用戶名和密碼,注冊(cè)時(shí)可以配置賬戶類型,如管理員、普通用戶等。管理員賬戶擁有最高權(quán)限,可以訪問(wèn)系統(tǒng)中的全部資源;普通用戶只被授予訪問(wèn)部分資源的權(quán)限。

訪問(wèn)控制以用戶賬戶為基礎(chǔ),通過(guò)賬戶的身份識(shí)別來(lái)控制用戶對(duì)資源的訪問(wèn)。主要的訪問(wèn)控制機(jī)制有以下幾種:

訪問(wèn)控制機(jī)制需要區(qū)分不同的訪問(wèn)操作,如讀、寫(xiě)、執(zhí)行等,針對(duì)文件系統(tǒng)、內(nèi)存等不同類型的資源設(shè)置相應(yīng)的訪問(wèn)控制列表,達(dá)到權(quán)限管理的目的。

應(yīng)用領(lǐng)域

大型機(jī)操作系統(tǒng)

用于大型機(jī)的操作系統(tǒng)位于操作系統(tǒng)的高端,這些巨大的計(jì)算機(jī)通常可見(jiàn)于大型公司的數(shù)據(jù)中心。它們與personal computer最主要的區(qū)別在于其強(qiáng)大的I/O處理能力,擁有1000個(gè)磁盤和數(shù)百萬(wàn)吉字節(jié)的數(shù)據(jù)存儲(chǔ)的大型機(jī)十分普遍。

大型機(jī)廣泛應(yīng)用于高端Web服務(wù)器、大型電子商務(wù)服務(wù)站點(diǎn)和事務(wù)交易服務(wù)器領(lǐng)域。這些操作系統(tǒng)主要提供三類服務(wù):批處理、事務(wù)處理和分時(shí)。

批處理系統(tǒng)用于處理不需要交互式用戶干預(yù)的周期性作業(yè),例如,保險(xiǎn)公司的索賠處理或連鎖商店的銷售報(bào)告;事務(wù)處理系統(tǒng)則處理大量小型請(qǐng)求,例如銀行的支票處理或航班預(yù)訂,每秒可能需要處理成百上千個(gè)業(yè)務(wù);分時(shí)系統(tǒng)則允許多個(gè)遠(yuǎn)程用戶同時(shí)在計(jì)算機(jī)上運(yùn)行作業(yè),例如在大型數(shù)據(jù)庫(kù)上的查詢。

服務(wù)器操作系統(tǒng)

服務(wù)器操作系統(tǒng)是大型機(jī)操作系統(tǒng)的下一個(gè)層次。它們?cè)诜?wù)器上運(yùn)行,服務(wù)器可以是較大型的personal computer工作站,甚至是大型機(jī)。它們通過(guò)網(wǎng)絡(luò)同時(shí)為若干個(gè)用戶服務(wù),并且允許用戶共享硬件和軟件資源。服務(wù)器可提供打印服務(wù)、文件脹務(wù)或Web服務(wù)。 Internet提供商運(yùn)行抒許多臺(tái)服務(wù)器機(jī)器,為用戶提供支持,使Web站點(diǎn)保存Web頁(yè)面井處理進(jìn)來(lái)的請(qǐng)求。典型的服務(wù)器操作系統(tǒng)有SolarisFreeBSDLinux和Windows Server 201x。

個(gè)人計(jì)算機(jī)操作系統(tǒng)

個(gè)人計(jì)算機(jī)操作系統(tǒng)是最廣為人知的一類操作系統(tǒng)。現(xiàn)代personal computer操作系統(tǒng)都支持多道程序處理,通常幾十個(gè)程序開(kāi)始運(yùn)行,為單個(gè)用戶提供良好的支持。這類操作系統(tǒng)廣泛用于文字處理、電子表格、游戲和Internet訪問(wèn)。

掌上計(jì)算機(jī)

隨著系統(tǒng)越來(lái)越小型化,相繼出現(xiàn)了平板電腦、智能手機(jī)和其他的掌上計(jì)算機(jī)系統(tǒng),即可以手持操作的小型計(jì)算機(jī)。目前這部分市場(chǎng)由谷歌的Android系統(tǒng)和蘋果公司IOS主導(dǎo)。

嵌入式操作系統(tǒng)

OSE在用于控制設(shè)備的計(jì)算機(jī)中運(yùn)行,這種類型的計(jì)算機(jī)不同于一般意義上的計(jì)算機(jī),不允許用戶安裝軟件,典型的例子有微波爐、電視機(jī)、汽車、DVD錄刻機(jī)、MP3播放器等。主要的嵌入式操作系統(tǒng)有linux嵌入式應(yīng)用QNXvxworks等。

傳感器節(jié)點(diǎn)操作系統(tǒng)

傳感器是一種內(nèi)建有無(wú)線電的電池驅(qū)動(dòng)的小型計(jì)算機(jī),它們能源有限,必須長(zhǎng)時(shí)間工作在無(wú)人的戶外環(huán)境中,通常所處的條件比較惡劣。在建筑物周邊保護(hù)、國(guó)土邊界保衛(wèi)、森林火災(zāi)探測(cè)、氣象預(yù)測(cè)測(cè)量溫度和降水等場(chǎng)景下都會(huì)使用到這類傳感器。

實(shí)踐中需要為這些傳感器配置微小傳感器節(jié)點(diǎn)網(wǎng)絡(luò),而每個(gè)節(jié)點(diǎn)是一種可以彼此通信且使用無(wú)線通信基站的微型計(jì)算機(jī),節(jié)點(diǎn)上運(yùn)行著一個(gè)小型但真實(shí)的操作系統(tǒng),通常這個(gè)操作系統(tǒng)是事件驅(qū)動(dòng)的,可以響應(yīng)外部事件,必須小且簡(jiǎn)單。一種用于傳感器節(jié)點(diǎn)的知名操作系統(tǒng)是TinyOS。

實(shí)時(shí)操作系統(tǒng)

實(shí)時(shí)操作系統(tǒng)的特征是將時(shí)間作為關(guān)鍵參數(shù),且必須滿足嚴(yán)格的最終時(shí)限。這類系統(tǒng)在工業(yè)控制、民用航空、軍事以及類似應(yīng)用中發(fā)揮作用。這些領(lǐng)域內(nèi),對(duì)操作系統(tǒng)的實(shí)時(shí)性要求很高,例如汽車在裝配線上移動(dòng)時(shí),必須在限定時(shí)間內(nèi)完成規(guī)定的操作,如果焊接機(jī)器人焊接操作太遲或太早,都會(huì)毀壞汽車。

發(fā)展趨勢(shì)

操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中至關(guān)重要的組成部分,它們不斷地發(fā)展演進(jìn)以滿足不斷增長(zhǎng)的計(jì)算需求和新技術(shù)的挑戰(zhàn)。隨著云計(jì)算人工智能大數(shù)據(jù)、物聯(lián)網(wǎng)等新技術(shù)的快速發(fā)展,操作系統(tǒng)也呈現(xiàn)出新的發(fā)展趨勢(shì)。未來(lái)操作系統(tǒng)的發(fā)展會(huì)呈現(xiàn)出專用化、小型化、網(wǎng)絡(luò)化、虛擬化以及智能化的趨勢(shì)。

專用化趨勢(shì)

計(jì)算機(jī)技術(shù)在各個(gè)行業(yè)的延伸可快速發(fā)展,對(duì)移動(dòng)計(jì)算機(jī)、網(wǎng)絡(luò)計(jì)算機(jī)等技術(shù)的發(fā)展起到了很大的推動(dòng)性作用。在計(jì)算機(jī)高速發(fā)展的背景下,也對(duì)操作系統(tǒng)的專用化提出了新的要求,需要科學(xué)分類各個(gè)組成部分,提升計(jì)算機(jī)的工作效率,深化計(jì)算機(jī)在各個(gè)行業(yè)的作用。 在未來(lái),專用的通信設(shè)備,嵌入式的操作系統(tǒng)將會(huì)出現(xiàn)在人們的生活 當(dāng)中。雖然嵌入式的操作系統(tǒng)與通用操作系統(tǒng)有著很大的相似度,但 是嵌入式的操作系統(tǒng)單獨(dú)存在于其他領(lǐng)域。在人們的日常生活中,利 用一臺(tái)計(jì)算機(jī)可以控制家中所有的電氣,有效的聯(lián)通家庭電氣,為使 用者提供更大的便利。

小型化趨勢(shì)

過(guò)去的傳統(tǒng)的計(jì)算機(jī)體型龐大,之后隨著科技的進(jìn)步,其體型被逐步的縮小,筆記本電腦平板電腦都是體型較小的計(jì)算機(jī)。計(jì)算機(jī)的操作系統(tǒng)也是如此,目前占據(jù)絕大多數(shù)的仍然是通用型的操作系統(tǒng), 但是在面對(duì)社會(huì)多樣化需求的背景下,計(jì)算機(jī)操作系統(tǒng)的規(guī)模將會(huì)日 益縮小,且納米技術(shù)的出現(xiàn),更是為操作系統(tǒng)的小型化提供了可行的 實(shí)施條件。

網(wǎng)絡(luò)化趨勢(shì)

在人們的日常生活中,網(wǎng)絡(luò)已經(jīng)逐漸滲透進(jìn)人們的日常生活當(dāng)中, 隨著網(wǎng)絡(luò)技術(shù)的進(jìn)一步發(fā)展和創(chuàng)新,操作系統(tǒng)的應(yīng)用也網(wǎng)絡(luò)的依賴性 也會(huì)逐步的增強(qiáng)。在未來(lái)發(fā)展中,網(wǎng)絡(luò)操作計(jì)算機(jī)系統(tǒng)將會(huì)出現(xiàn),可以更加高效的實(shí)現(xiàn)網(wǎng)絡(luò)資源共享。

虛擬化趨勢(shì)

操作系統(tǒng)虛擬化允許多個(gè)不同的應(yīng)用在共享操作系統(tǒng)內(nèi)核的環(huán)境中隔離運(yùn)行,作為一種輕量級(jí)虛擬化技術(shù),操作系統(tǒng)虛擬化在很多應(yīng)用領(lǐng)域都具有巨大的潛力。在保證應(yīng)用性能的同時(shí),虛擬化的系統(tǒng)開(kāi)銷很小,并且有效地提升了系統(tǒng)資源利用率,使得在單一主機(jī)上同時(shí)運(yùn)行數(shù)千個(gè)容器成為可能。未來(lái)的操作系統(tǒng)虛擬化技術(shù)將致力于解決應(yīng)用兼容性、鏡像體積與資源隔離的問(wèn)題,在目前的操作系統(tǒng)虛擬化具有啟動(dòng)快速、部署方便、資源占用少、運(yùn)行效率高等優(yōu)點(diǎn)的基礎(chǔ)上,開(kāi)發(fā)操作系統(tǒng)更高的性能潛力。

智能化趨勢(shì)

人工智能作為信息時(shí)代發(fā)展的產(chǎn)物,其快速發(fā)展能夠在極大程度上推進(jìn)社會(huì)生產(chǎn)力的提高。人工智能的應(yīng)用范圍也在不斷拓寬,在未來(lái),人工智能技術(shù)仍將得到進(jìn)一步優(yōu)化及完善。人工智能操作系統(tǒng)具有學(xué)習(xí)、推理等認(rèn)知能力,使其能應(yīng)用于種類繁多的家用機(jī)器人;人工智能操作系統(tǒng)還具有支持微型MCU和眾多傳感器的特性,使其能應(yīng)用于教育機(jī)器人領(lǐng)域;人工智能操作系統(tǒng)的實(shí)時(shí)性特點(diǎn)還使其能夠廣泛應(yīng)用于軍事、宇航和工業(yè)領(lǐng)域。未來(lái)的人工智能操作系統(tǒng)應(yīng)具有通用操作系統(tǒng)所具備的所有功能,并且包括語(yǔ)音識(shí)別、機(jī)器視覺(jué)執(zhí)行器系統(tǒng)和認(rèn)知行為系統(tǒng)等。

參考資料 >

生活家百科家居網(wǎng)