郝麗珍
(太原大學(xué)計算機 工程系,山西 太原 030009)
操作系統(tǒng)從主動到被動的演變
郝麗珍
(太原大學(xué)計算機 工程系,山西 太原 030009)
操作系統(tǒng)是管理計算機系統(tǒng)的大型軟件,并向微內(nèi)核方向或大而全的方向發(fā)展。文章通過對操作系統(tǒng)發(fā)展階段及其相應(yīng)技術(shù)特征的分析,提出操作系統(tǒng)也經(jīng)歷著從“主動”到“被動”的演變過程。
操作系統(tǒng);演變;主動;被動
操作系統(tǒng)是管理計算機系統(tǒng)的一個大型軟件。它能夠?qū)τ嬎銠C系統(tǒng)中的軟、硬件資源進行管理,還能夠為計算機的管理者和使用者提供一種便于操作的界面。其產(chǎn)生和演化是隨著計算機硬件系統(tǒng)和管理、應(yīng)用軟件的不斷發(fā)展而發(fā)展起來的。在計算機硬件及其周邊設(shè)備越來越繁雜的基礎(chǔ)上,計算機上能夠運行的軟件也越來越多,隨之而來的是操作系統(tǒng)的功能日益復(fù)雜。在這種趨勢下,操作系統(tǒng)的演變面臨著兩個方向:一是向微內(nèi)核的方向發(fā)展,對于一個操作系統(tǒng)最小可以做到10 M;二是向大而全的方向發(fā)展[1]。文章通過對現(xiàn)有操作系統(tǒng)發(fā)展特征的分析,認為操作系統(tǒng)也經(jīng)歷著從“主動”到“被動”的演變過程。
在計算機發(fā)展到第二代,出現(xiàn)了批處理操作系統(tǒng)。批處理操作系統(tǒng)的處理過程為:用戶首先將自己的作業(yè)編寫成程序,然后將程序做成卡片或紙帶,交給管理員。管理員接收到若干個用戶作業(yè)后,將這些信息一次性交給低端計算機IBM1401機,傳輸?shù)酱艓?;管理人員將這些磁帶放到高端的IBM7094機上完成運算,并由7094機將數(shù)據(jù)結(jié)果傳輸?shù)酱艓?;最后把存有計算結(jié)果的磁帶取下來,送到1401機上,通過打印機輸出。
對于批處理操作系統(tǒng),當(dāng)作業(yè)準(zhǔn)備好后,系統(tǒng)主動的接納這些作業(yè),然后給予處理。在分時操作系統(tǒng)階段,操作系統(tǒng)的這種純粹的主動性相對減弱。分時操作系統(tǒng)模式下,計算機系統(tǒng)的構(gòu)成模式為:一臺服務(wù)器連接多個終端,在終端部分僅有一個顯示器和鍵盤。為了能夠均衡處理每個用戶的請求,處理器時間被劃分成相同的時間片,每個用戶都在處理器上運行固定的時間,把所有的用戶處理一次之后,再重復(fù)的將每個用戶的請求順次處理一次,如此往復(fù)直到所有的用戶作業(yè)被處理完畢。這種操作系統(tǒng)對于用戶提出的請求,可以在有限的時間內(nèi)給予響應(yīng)。處理器在沒有用戶提出使用請求時,可以做原有的運算,只有用戶提出請求后才去解決用戶的請求。即分時操作系統(tǒng)只在有用戶信息發(fā)出請求時才為用戶分配時間片,進行用戶信息的處理。
當(dāng)操作系統(tǒng)發(fā)展到實時操作系統(tǒng)后,在其運行過程中,只有當(dāng)事件發(fā)生后,操作系統(tǒng)才根據(jù)已經(jīng)編寫好的功能處理模式,完成突發(fā)事件的處理,如果事件正常運行,操作系統(tǒng)則不需要主動查詢突發(fā)事件。
在進行數(shù)據(jù)傳送時,有以下兩種控制方式。
(1)程序直接控制方式。當(dāng)用戶進程控制內(nèi)存或CPU同外圍設(shè)備之間進行信息傳送時,也就是同外設(shè)備需要進行數(shù)據(jù)傳送時,把這個請求信號發(fā)送到寄存器,由處理器每過一段時間查詢各個外設(shè)的狀態(tài),發(fā)現(xiàn)有信號后,再做出相應(yīng)的處理。這一環(huán)節(jié)中,需要處理器不斷查詢外部設(shè)備的信號發(fā)送情況。
(2)中斷控制方式。當(dāng)外設(shè)的數(shù)據(jù)準(zhǔn)備好之后向處理器發(fā)送一個信號,CPU在適當(dāng)?shù)臅r候?qū)@個信號進行處理,然后CPU再轉(zhuǎn)而進行原有的計算。
可以發(fā)現(xiàn),在程序直接控制方式中,處理器需要主動查詢外部設(shè)備的信號,而無論這個信號是否存在。系統(tǒng)每過一段時間都要進行查詢,因而浪費了大量的處理器時間。但是引入中斷之后,處理器就可以在外部設(shè)備有數(shù)據(jù)傳送時才進行相應(yīng)的處理,這樣就可以節(jié)約大量的處理器時間,并且提高處理器和外設(shè)并行工作的能力。這一主動變被動的過程極大的提高了系統(tǒng)資源的利用效率。
在進行處理器控制時,需要引入進程。進程的運行具有并發(fā)性,這種特性雖然提高了系統(tǒng)資源的使用率,但是由于系統(tǒng)中的所有進程都在以其他進程不可預(yù)知的速度向前推進,因而遇到許多無關(guān)進程競爭同一資源的情況,或者進程需要協(xié)同完成某項工作的情況下,進程同進程之間就會產(chǎn)生制約關(guān)系。通過對于這種關(guān)系的分析,發(fā)現(xiàn)其核心問題是由于資源的不合理使用引起的,因而針對這種資源提出了臨界資源的概念。在臨界資源使用時,必須保證同一時刻只能有一個進程使用,對其使用提出的解決方案有兩種。
(1)加鎖和解鎖機制。這個機制為某一臨界區(qū)設(shè)置一個變量,這個變量的取值有兩個:0和1。當(dāng)有進程需要進入臨界區(qū),則判斷這個變量的值:如果為0則說明可以進入臨界區(qū);如果為1則說明有進程在臨界區(qū)中運行,當(dāng)前需要進入的進程變成阻塞狀態(tài)。每隔一段時間系統(tǒng)查詢這個變量的值,如果變成0則選擇新的進程進入臨界區(qū)運行。
(2)p、v操作,即用信號量來管理系統(tǒng)資源的可用量。如果需要申請資源,要執(zhí)行p操作,p操作中要對信號量先減1,之后如果判斷結(jié)果,結(jié)果小于0則將進程變?yōu)樽枞麪顟B(tài);v操作則要對信號量加1,如果加1后信號量小于等于0,則選擇一個阻塞進程,讓其編程變成就緒狀態(tài)。
比較兩者的執(zhí)行過程,可以發(fā)現(xiàn)前者在判斷是否能夠進入臨界區(qū)時,需要系統(tǒng)不斷的判斷其狀態(tài),但是后者系統(tǒng)只需要被動等待p、v操作的結(jié)果,然后完成臨界資源的使用即可。
目前的網(wǎng)絡(luò)操作系統(tǒng)會主動查詢連接到主機上的用戶,只有當(dāng)用戶連接到系統(tǒng)中時,才給予相應(yīng)的處理?;诓僮飨到y(tǒng)的以上演變規(guī)律,表面看操作系統(tǒng)不需要主動出擊,而只在需要的時刻完成必要的操作即可,其實說明了操作系統(tǒng)的構(gòu)成越來越龐大,而操作系統(tǒng)的功能也越來越強大,同時極大的提高了整個計算機系統(tǒng)的運行效率。即操作系統(tǒng)對于很多信息的處理,不需要浪費很多時間去查詢是否發(fā)生了相應(yīng)的事件,因為對于事件相應(yīng)的處理方式已經(jīng)比較成熟。只要相應(yīng)的事件發(fā)生,發(fā)出這個信號,便可以做出相應(yīng)的處理。
Evolvement of the OS from Active to Passive
HAO Li-zhen
(Department of Computer Science Taiyuan College,Taiyuan Shanxi 030009)
OS (Operating System)is the large-scale software formanagement of the Computer.Now it is considered that the OS is developing towardsmicrokernel OS and large and comprehensive OS.In this paper we analyze the development of OS,and put forwards that the OSalso goes through“active”to“passive”.
operating system;evolvement;active;passive
TP39
A
1673-2014(2011)02-0059-02
2010—12—05
郝麗珍(1977— ),女,山西原平人,講師,碩士,主要從事操作系統(tǒng)及計算機編程語言教學(xué)與研究。
(責(zé)任編輯 李學(xué)斌)