計(jì)算機(jī)操作系統(tǒng)的概念功能和特點(diǎn)
計(jì)算機(jī)操作系統(tǒng)的概念功能和特點(diǎn)
計(jì)算機(jī)的操作系統(tǒng)的基本概念和特點(diǎn)相信很多人都不太了解,下面由學(xué)習(xí)啦小編為大家整理了計(jì)算機(jī)操作系統(tǒng)概念功能和特點(diǎn)的相關(guān)知識(shí),希望對(duì)大家有幫助!
一、計(jì)算機(jī)操作系統(tǒng)的基本概念
在信息化時(shí)代,軟件被稱(chēng)為計(jì)算機(jī)系統(tǒng)的靈魂。而作為軟件核心的操作系統(tǒng),已經(jīng)與現(xiàn)代計(jì)算機(jī)系統(tǒng)密不可分、融為一體。計(jì)算機(jī)系統(tǒng)自下而上可粗分為四個(gè)部分:硬件、操作系 統(tǒng)、應(yīng)用程序和用戶(hù)(這里的劃分與計(jì)算機(jī)組成原理的分層不同)。操作系統(tǒng)管理各種計(jì)算機(jī)硬件,為應(yīng)用程序提供基礎(chǔ),并充當(dāng)計(jì)算機(jī)硬件與用戶(hù)之間的中介。
硬件,如中央處理器、內(nèi)存、輸入/輸出設(shè)備等,提供了基本的計(jì)算資源。應(yīng)用程序, 如字處理程序、電子制表軟件、編譯器、網(wǎng)絡(luò)瀏覽器等,規(guī)定了按何種方式使用這些資源來(lái)解決用戶(hù)的計(jì)算問(wèn)題。操作系統(tǒng)控制和協(xié)調(diào)各用戶(hù)的應(yīng)用程序?qū)τ布姆峙渑c使用。
在計(jì)算機(jī)系統(tǒng)的運(yùn)行過(guò)程中,操作系統(tǒng)提供了正確使用這些資源的方法。
綜上所述,操作系統(tǒng)(Operating System, OS)是指控制和管理整個(gè)計(jì)算機(jī)系統(tǒng)的硬件和軟件資源,并合理地組織調(diào)度計(jì)算機(jī)的工作和資源的分配,以提供給用戶(hù)和其他軟件方便的接口和環(huán)境的程序集合。計(jì)算機(jī)操作系統(tǒng)是隨著計(jì)算機(jī)研究和應(yīng)用的發(fā)展逐步形成并發(fā)展起來(lái)的,它是計(jì)算機(jī)系統(tǒng)中最基本的系統(tǒng)軟件。
二、計(jì)算機(jī)操作系統(tǒng)的特點(diǎn)
操作系統(tǒng)是一種系統(tǒng)軟件,但與其他的系統(tǒng)軟件和應(yīng)用軟件有很大的不同,它有自己的特殊性即基本特征。操作系統(tǒng)的基本特征包括并發(fā)、共享、虛擬和異步。這些概念對(duì)理解和掌握操作系統(tǒng)的核心至關(guān)重要,將一直貫穿于各個(gè)章節(jié)中。
并發(fā)(Concurrence)
并發(fā)是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。操作系統(tǒng)的并發(fā)性是指計(jì)算機(jī)系統(tǒng)中同時(shí)存在多個(gè)運(yùn)行著的程序,因此它具有處理和調(diào)度多個(gè)程序同時(shí)執(zhí)行的能力。在操作系統(tǒng) 中,引入進(jìn)程的目的是使程序能并發(fā)執(zhí)行。
注意同一時(shí)間間隔(并發(fā))和同一時(shí)刻(并行)的區(qū)別。在多道程序環(huán)境下,一段時(shí)間內(nèi),宏觀上有多道程序在同時(shí)執(zhí)行,而在每一時(shí)刻,單處理機(jī)環(huán)境下實(shí)際僅能有一道程序執(zhí)行,故微觀上這些程序還是在分時(shí)地交替執(zhí)行。橾作系統(tǒng)的并發(fā)性是通過(guò)分時(shí)得以實(shí)現(xiàn)的。
注意,并行性是指系統(tǒng)具有可以同時(shí)進(jìn)行運(yùn)算或操作的特性,在同一時(shí)刻完成兩種或兩種以上的工作。并行性需要有相關(guān)硬件的支持,如多流水線(xiàn)或多處理機(jī)硬件環(huán)境。
共享(Sharing)
資源共享即共享,是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用。共享可分為以下兩種資源共享方式:
1) 互斥共享方式
系統(tǒng)中的某些資源,如打印機(jī)、磁帶機(jī),雖然它們可以提供給多個(gè)進(jìn)程使用,但為使所打印或記錄的結(jié)果不致造成混淆,應(yīng)規(guī)定在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問(wèn)該資源。
為此,當(dāng)進(jìn)程A訪問(wèn)某資源時(shí),必須先提出請(qǐng)求,如果此時(shí)該資源空閑,系統(tǒng)便可將之分配給進(jìn)程A使用,此后若再有其他進(jìn)程也要訪問(wèn)該資源時(shí)(只要A未用完)則必須等待。僅當(dāng)進(jìn)程A訪問(wèn)完并釋放該資源后,才允許另一進(jìn)程對(duì)該資源進(jìn)行訪問(wèn)。我們把這種資源共享方式稱(chēng)為互斥式共享,而把在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問(wèn)的資源稱(chēng)為臨界資源或獨(dú)占資源。計(jì)算機(jī)系統(tǒng)中的大多數(shù)物理設(shè)備,以及某些軟件中所用的棧、變量和表格,都屬于臨界資源,它們都要求被互斥地共享。
2) 同時(shí)訪問(wèn)方式
系統(tǒng)中還有另一類(lèi)資源,允許在一段時(shí)間內(nèi)由多個(gè)進(jìn)程“同時(shí)”對(duì)它們進(jìn)行訪問(wèn)。這里所謂的“同時(shí)”往往是宏觀上的,而在微觀上,這些進(jìn)程可能是交替地對(duì)該資源進(jìn)行訪問(wèn)即 “分時(shí)共享”。典型的可供多個(gè)進(jìn)程“同時(shí)”訪問(wèn)的資源是磁盤(pán)設(shè)備,一些用重入碼編寫(xiě)的文件也可以被“同時(shí)”共享,即若干個(gè)用戶(hù)同時(shí)訪問(wèn)該文件。
并發(fā)和共享是操作系統(tǒng)兩個(gè)最基本的特征,這兩者之間又是互為存在條件的:
資源共享是以程序的并發(fā)為條件的,若系統(tǒng)不允許程序并發(fā)執(zhí)行,則自然不存在資源共享問(wèn)題;
若系統(tǒng)不能對(duì)資源共享實(shí)施有效的管理,也必將影響到程序的并發(fā)執(zhí)行,甚至根本無(wú)法并發(fā)執(zhí)行。
虛擬(Virtual)
虛擬是指把一個(gè)物理上的實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物。物理實(shí)體(前者)是實(shí)的,即實(shí)際存在的;而后者是虛的,是用戶(hù)感覺(jué)上的事物。用于實(shí)現(xiàn)虛擬的技術(shù),稱(chēng)為虛擬技術(shù)。在操作系統(tǒng)中利用了多種虛擬技術(shù),分別用來(lái)實(shí)現(xiàn)虛擬處理器、虛擬內(nèi)存和虛擬外部設(shè)備等。
在虛擬處理器技術(shù)中,是通過(guò)多道程序設(shè)計(jì)技術(shù),讓多道程序并發(fā)執(zhí)行的方法,來(lái)分時(shí)使用一個(gè)處理器的。此時(shí),雖然只有一個(gè)處理器,但它能同時(shí)為多個(gè)用戶(hù)服務(wù),使每個(gè)終端用戶(hù)都感覺(jué)有一個(gè)中央處理器(CPU)在專(zhuān)門(mén)為它服務(wù)。利用多道程序設(shè)計(jì)技術(shù),把一個(gè)物理上的CPU虛擬為多個(gè)邏輯上的CPU,稱(chēng)為虛擬處理器。
類(lèi)似地,可以通過(guò)虛擬存儲(chǔ)器技術(shù),將一臺(tái)機(jī)器的物理存儲(chǔ)器變?yōu)樘摂M存儲(chǔ)器,以便從邏輯上來(lái)擴(kuò)充存儲(chǔ)器的容量。當(dāng)然,這時(shí)用戶(hù)所感覺(jué)到的內(nèi)存容量是虛的。我們把用戶(hù)所感覺(jué)到的存儲(chǔ)器(實(shí)際是不存在的)稱(chēng)為虛擬存儲(chǔ)器。
還可以通過(guò)虛擬設(shè)備技術(shù),將一臺(tái)物理I/O設(shè)備虛擬為多臺(tái)邏輯上的I/O設(shè)備,并允許每個(gè)用戶(hù)占用一臺(tái)邏輯上的I/O設(shè)備,這樣便可以使原來(lái)僅允許在一段時(shí)間內(nèi)由一個(gè)用戶(hù)訪問(wèn)的設(shè)備(即臨界資源),變?yōu)樵谝欢螘r(shí)間內(nèi)允許多個(gè)用戶(hù)同時(shí)訪問(wèn)的共享設(shè)備。
因此,操作系統(tǒng)的虛擬技術(shù)可歸納為:時(shí)分復(fù)用技術(shù),如處理器的分時(shí)共享;空分復(fù)用技術(shù),如虛擬存儲(chǔ)器(注:學(xué)到后續(xù)內(nèi)容再慢慢領(lǐng)悟)。
異步(Asynchronism)
在多道程序環(huán)境下,允許多個(gè)程序并發(fā)執(zhí)行,但由于資源有限,進(jìn)程的執(zhí)行不是一貫到底,而是走走停停,以不可預(yù)知的速度向前推進(jìn),這就是進(jìn)程的異步性。
異步性使得操作系統(tǒng)運(yùn)行在一種隨機(jī)的環(huán)境下,可能導(dǎo)致進(jìn)程產(chǎn)生與時(shí)間有關(guān)的錯(cuò)誤 (就像對(duì)全局變量的訪問(wèn)順序不當(dāng)會(huì)導(dǎo)致程序出錯(cuò)一樣)。但是只要運(yùn)行環(huán)境相同,操作系統(tǒng)必須保證多次運(yùn)行進(jìn)程,都獲得相同的結(jié)果。
三、計(jì)算機(jī)操作系統(tǒng)的目標(biāo)和功能
為了給多道程序提供良好的運(yùn)行環(huán)境,操作系統(tǒng)應(yīng)具有以下幾方面的功能:處理機(jī)管理、 存儲(chǔ)器管理、設(shè)備管理和文件管理。為了方便用戶(hù)使用操作系統(tǒng),還必須向用戶(hù)提供接口。同時(shí)操作系統(tǒng)可用來(lái)擴(kuò)充機(jī)器,以提供更方便的服務(wù)、更高的資源利用率。
操作系統(tǒng)作為計(jì)算機(jī)系統(tǒng)資源的管理者
1) 處理機(jī)管理
在多道程序環(huán)境下,處理機(jī)的分配和運(yùn)行都以進(jìn)程(或線(xiàn)程)為基本單位,因而對(duì)處理機(jī)的管理可歸結(jié)為對(duì)進(jìn)程的管理。并發(fā)時(shí)在計(jì)算機(jī)內(nèi)同時(shí)運(yùn)行多個(gè)進(jìn)程,所以,進(jìn)程何時(shí)創(chuàng)建、何時(shí)撤銷(xiāo)、如何管理、如何避免沖突、.合理共享就是進(jìn)程管理的最主要的任務(wù)。進(jìn)程管理的主要功能有:進(jìn)程控制、進(jìn)程同步、進(jìn)程通信、死鎖處理、處理機(jī)調(diào)度等。
2) 存儲(chǔ)器管理
存儲(chǔ)器管理是為了給多道程序的運(yùn)行提供良好的環(huán)境,方便用戶(hù)使用以及提高內(nèi)存的利用率,主要包括內(nèi)存分配、地址映射、內(nèi)存保護(hù)與共享和內(nèi)存擴(kuò)充等功能。
3) 文件管理
計(jì)算機(jī)中的信息都是以文件的形式存在的,操作系統(tǒng)中負(fù)責(zé)文件管理的部分稱(chēng)為文件系統(tǒng)。文件管理包括文件存儲(chǔ)空間的管理、目錄管理及文件讀寫(xiě)管理和保護(hù)等。
4) 設(shè)備管理
設(shè)備管理的主要任務(wù)是完成用戶(hù)的I/O請(qǐng)求,方便用戶(hù)使用各種設(shè)備,并提高設(shè)備的利用率,主要包括緩沖管理、設(shè)備分配、設(shè)備處理和虛擬設(shè)備等功能。