官术网_书友最值得收藏!

1.2.1 操作系統(tǒng)的形成

1.無(wú)操作系統(tǒng)時(shí)的計(jì)算機(jī)系統(tǒng)

(1)人工操作方式。第一代計(jì)算機(jī)時(shí)期(1945年至20世紀(jì)50年代中期)沒(méi)有操作系統(tǒng)。這時(shí)的計(jì)算機(jī)操作是由用戶(即程序員)采用人工操作方式直接使用計(jì)算機(jī)硬件系統(tǒng),即由程序員將事先已穿孔(對(duì)應(yīng)于程序和數(shù)據(jù))的紙帶(或卡片)裝入紙帶輸入機(jī)(或卡片輸入機(jī)),再啟動(dòng)它們將程序和數(shù)據(jù)輸入計(jì)算機(jī),然后啟動(dòng)計(jì)算機(jī)運(yùn)行。當(dāng)程序運(yùn)行完畢并取走計(jì)算結(jié)果后,才讓下一個(gè)用戶上機(jī)。這種人工操作方式有以下兩個(gè)缺點(diǎn):

①用戶獨(dú)占全機(jī)。一臺(tái)計(jì)算機(jī)的全部資源只能由一個(gè)用戶獨(dú)占。

②處理機(jī)等待人工操作。當(dāng)用戶進(jìn)行裝帶(卡)、卸帶(卡)等人工操作時(shí),處理機(jī)是空閑的。

人工操作方式嚴(yán)重降低了計(jì)算機(jī)資源的利用率。隨著處理機(jī)速度的提高、系統(tǒng)規(guī)模的擴(kuò)大,人機(jī)矛盾變得日趨嚴(yán)重。

此外,隨著處理機(jī)速度的迅速提高而I/O設(shè)備的速度卻提高緩慢,又使處理機(jī)與I/O設(shè)備之間速度不匹配的矛盾更加突出。為了緩和此矛盾,先后出現(xiàn)了通道技術(shù)、緩沖技術(shù),但未能很好地解決上述矛盾,后來(lái)引入的脫機(jī)I/O方式獲得了令人滿意的結(jié)果。

(2)脫機(jī)I/O方式。為了解決人機(jī)矛盾及處理機(jī)和I/O設(shè)備之間速度不匹配的矛盾,20世紀(jì)50年代末出現(xiàn)了脫機(jī)I/O技術(shù)。該技術(shù)是指事先將裝有用戶程序和數(shù)據(jù)的紙帶(或卡片)裝入紙帶(或卡片)輸入機(jī),在一臺(tái)外圍機(jī)的控制下把紙帶(卡片)上的數(shù)據(jù)(程序)輸入到磁帶盤上。當(dāng)處理機(jī)需要這些程序和數(shù)據(jù)時(shí)再?gòu)拇艓ПP上高速地調(diào)入內(nèi)存。

類似地,當(dāng)處理機(jī)需要輸出時(shí)可由處理機(jī)直接高速地把數(shù)據(jù)從內(nèi)存送到磁帶上,然后再在另一臺(tái)外圍機(jī)的控制下,將磁帶上的結(jié)果通過(guò)相應(yīng)的輸出設(shè)備輸出。圖1-2所示為脫機(jī)I/O示意圖。由于程序和數(shù)據(jù)的輸入與輸出都是在外圍機(jī)的控制下完成的,或者說(shuō)它們是在脫離主機(jī)的情況下進(jìn)行的,故稱為脫機(jī)I/O方式;反之,在主機(jī)的直接控制下進(jìn)行I/O的方式稱為聯(lián)機(jī)I/O方式。

圖1-2 脫機(jī)I/O示意圖

這種脫機(jī)I/O方式的主要優(yōu)點(diǎn)有以下兩方面:

①減少了處理機(jī)的空閑時(shí)間。裝帶(卡)、卸帶(卡)、將數(shù)據(jù)從低速I/O設(shè)備送到高速的磁帶(盤)上,都是在脫機(jī)情況下進(jìn)行的,它們不占用主機(jī)時(shí)間,從而有效地減少了處理機(jī)的空閑時(shí)間,緩和了人機(jī)矛盾。

②提高I/O速度。當(dāng)處理機(jī)在運(yùn)行中需要數(shù)據(jù)時(shí),是直接從高速的磁帶(盤)上將數(shù)據(jù)調(diào)入內(nèi)存的,不再是從低速I/O設(shè)備上調(diào)入,從而大大緩和了處理機(jī)和I/O設(shè)備不匹配的矛盾,進(jìn)一步減少了處理機(jī)的空閑時(shí)間。

2.單道批處理操作系統(tǒng)

(1)批處理系統(tǒng)的處理過(guò)程。早期的計(jì)算機(jī)系統(tǒng)非常昂貴,為了能充分地利用它,應(yīng)盡量讓該系統(tǒng)連續(xù)地運(yùn)行,以減少空閑時(shí)間。為此,通常是把一批作業(yè)以脫機(jī)輸入方式輸入到磁帶(盤)上,并在系統(tǒng)中配上監(jiān)督程序,在監(jiān)督程序的控制下使這批作業(yè)能一個(gè)接一個(gè)地連續(xù)處理。其自動(dòng)批處理過(guò)程是:首先,由監(jiān)督程序?qū)⒋艓ВūP)上的第一個(gè)作業(yè)裝入內(nèi)存,并把運(yùn)行控制權(quán)交給該作業(yè)。當(dāng)該作業(yè)處理完成時(shí)又把控制權(quán)交還給監(jiān)督程序,然后由監(jiān)督程序?qū)⒋艓ВūP)上的第二個(gè)作業(yè)調(diào)入內(nèi)存。計(jì)算機(jī)系統(tǒng)就這樣自動(dòng)地一個(gè)作業(yè)一個(gè)作業(yè)地進(jìn)行處理,直至磁帶(盤)上的作業(yè)全部完成,這樣便形成了早期的批處理系統(tǒng)。

需要說(shuō)明的是,作業(yè)是一個(gè)比程序更廣的概念。作業(yè)通常是指用戶在一次計(jì)算過(guò)程中或者一次事物處理過(guò)程中要求計(jì)算機(jī)系統(tǒng)所做的工作的集合,也就是把一次計(jì)算過(guò)程或者事務(wù)處理過(guò)程中,從輸入開(kāi)始到輸出結(jié)束,用戶要求計(jì)算機(jī)所做的全部工作稱為作業(yè)。要讓計(jì)算機(jī)知道用戶如何處理它的程序和數(shù)據(jù),就需要用戶寫出一份作業(yè)控制說(shuō)明書。作業(yè)控制說(shuō)明書是采用特定的命令來(lái)編寫的。所以,作業(yè)由程序、數(shù)據(jù)和作業(yè)控制說(shuō)明書組成。作業(yè)的概念一般用于早期批處理系統(tǒng)和現(xiàn)在的大型機(jī)、巨型機(jī)系統(tǒng)中,對(duì)于廣為流行的微機(jī)和工作站系統(tǒng),現(xiàn)在較少使用作業(yè)的概念。

由于系統(tǒng)對(duì)作業(yè)的處理都是成批地進(jìn)行的,且在內(nèi)存中始終只保持一個(gè)作業(yè),故稱為單道批處理系統(tǒng)。圖1-3顯示了單道批處理系統(tǒng)的處理流程。

單道批處理系統(tǒng)是在解決人機(jī)矛盾和處理機(jī)與I/O設(shè)備速率不匹配的矛盾的過(guò)程中形成的。也就是說(shuō),批處理系統(tǒng)旨在提高系統(tǒng)資源的利用率和系統(tǒng)吞吐量。但這種單道批處理系統(tǒng)仍然不能很好地利用系統(tǒng)資源,現(xiàn)在已很少使用。

圖1-3 單道批處理系統(tǒng)的處理流程

(2)單道批處理系統(tǒng)的特征。單道批處理系統(tǒng)是最早出現(xiàn)的一種操作系統(tǒng)。嚴(yán)格地說(shuō),它只能算是操作系統(tǒng)的前身而并非是現(xiàn)在人們所理解的操作系統(tǒng)。盡管如此,該系統(tǒng)比起人工操作方式已有很大的進(jìn)步。其主要特征如下:

①自動(dòng)性。在順利的情況下,在磁帶上的一批作業(yè)能自動(dòng)地逐個(gè)程序依次運(yùn)行,而無(wú)須人工干預(yù)。

②順序性。磁帶上的各道作業(yè)是順序地進(jìn)入內(nèi)存,各道作業(yè)完成的順序與它們進(jìn)入內(nèi)存的順序在正常情況下應(yīng)當(dāng)完全相同,即先調(diào)入內(nèi)存的作業(yè)先完成。

③單道性。內(nèi)存中僅有一道作業(yè)并使之運(yùn)行,即監(jiān)督程序每次從磁帶上只調(diào)入一道作業(yè)進(jìn)入內(nèi)存運(yùn)行,僅當(dāng)該作業(yè)完成或發(fā)生異常情況時(shí),才調(diào)入其后繼作業(yè)進(jìn)入內(nèi)存運(yùn)行。

3.多道批處理操作系統(tǒng)

(1)多道批處理系統(tǒng)的基本概念。在早期的單道批處理系統(tǒng)中,內(nèi)存中僅有一道作業(yè),這使得系統(tǒng)中仍有較多的空閑資源,致使系統(tǒng)的性能較差。為了進(jìn)一步提高資源的利用率和增加系統(tǒng)的吞吐量,在20世紀(jì)60年代中期引入了多道程序設(shè)計(jì)技術(shù),由此而形成了多道批處理系統(tǒng)。

在多道批處理系統(tǒng)中,用戶所提交的作業(yè)都先存放在外存并排成一個(gè)隊(duì)列,該隊(duì)列稱為“后備隊(duì)列”;然后,由作業(yè)調(diào)度程序按一定的算法從后備隊(duì)列中選擇若干個(gè)作業(yè)調(diào)入內(nèi)存,使它們共享處理機(jī)和系統(tǒng)中的各種資源,以達(dá)到提高資源利用率和系統(tǒng)吞吐量的目的。在操作系統(tǒng)中引入多道程序設(shè)計(jì)可帶來(lái)以下好處:

①提高處理機(jī)的利用率。當(dāng)內(nèi)存中僅存放一道程序時(shí),每逢該程序在運(yùn)行中發(fā)出I/O請(qǐng)求后,處理機(jī)空閑,必須在其I/O完成后才繼續(xù)運(yùn)行;尤其是I/O設(shè)備的低速性,更使處理機(jī)的利用率顯著降低。

圖1-4(a)顯示了單道程序的運(yùn)行情況。從圖中可以看出:在t2~t3、t6~t7時(shí)間間隔內(nèi)處理機(jī)空閑。在引入多道程序設(shè)計(jì)技術(shù)后,由于可同時(shí)把若干道程序裝入內(nèi)存,并可使它們交替地執(zhí)行,這樣,當(dāng)正在運(yùn)行的程序因I/O而暫停執(zhí)行時(shí),系統(tǒng)可調(diào)度另一道程序運(yùn)行,從而保持處理機(jī)處于忙碌狀態(tài)。圖1-4(b)顯示了4道程序的運(yùn)行情況。

圖1-4 單道和多道程序的運(yùn)行情況

②可提高內(nèi)存和I/O設(shè)備利用率。為了能運(yùn)行較大作業(yè),通常內(nèi)存都具有較大容量,但由于80%以上的程序都屬于中小型,因此在單道程序環(huán)境下也必定會(huì)造成內(nèi)存的浪費(fèi)。類似地,對(duì)于系統(tǒng)中所配置的多種類型的I/O設(shè)備,在單道程序環(huán)境下也不能充分利用。如果允許在內(nèi)存中裝入多道程序,并允許它們并發(fā)執(zhí)行,則會(huì)大大提高內(nèi)存利用率和I/O設(shè)備的利用率。

③增加系統(tǒng)吞吐量。在保持處理機(jī)、I/O設(shè)備不斷忙碌的同時(shí),也必然會(huì)大幅度地提高系統(tǒng)的吞吐量,從而降低作業(yè)加工所需的費(fèi)用。

(2)多道批處理系統(tǒng)的特征。在操作系統(tǒng)中引入多道程序設(shè)計(jì)技術(shù)后,系統(tǒng)具有以下特征:

①多道性。在內(nèi)存中可同時(shí)駐留多道程序,并允許它們并發(fā)執(zhí)行,從而有效地提高了資源利用率和增加系統(tǒng)吞吐量。

②無(wú)序性。多個(gè)作業(yè)完成的先后順序與它們進(jìn)入內(nèi)存的順序之間并無(wú)嚴(yán)格的對(duì)應(yīng)關(guān)系,即先進(jìn)入內(nèi)存的可能較后甚至最后完成,而后進(jìn)入內(nèi)存的又可能先完成。

③調(diào)度性。作業(yè)從提交給系統(tǒng)開(kāi)始直至完成,需要經(jīng)過(guò)以下兩次調(diào)度:

● 作業(yè)調(diào)度。指按一定的作業(yè)調(diào)度算法,從外存的后備程序隊(duì)列中選擇若干個(gè)作業(yè)調(diào)入內(nèi)存。

● 進(jìn)程調(diào)度。指按一定的進(jìn)程調(diào)度算法,從已在內(nèi)存的作業(yè)中選擇一個(gè)作業(yè),將處理機(jī)分配給它,使之執(zhí)行。

(3)多道批處理系統(tǒng)的優(yōu)缺點(diǎn)。雖然早在20世紀(jì)60年代便出現(xiàn)了多道批處理系統(tǒng),但至今它仍是三大基本操作系統(tǒng)類型之一。在大多數(shù)的大、中、小型計(jì)算機(jī)中都配置了它,說(shuō)明它具有一定的優(yōu)點(diǎn)。

多道批處理系統(tǒng)的主要優(yōu)點(diǎn)如下:

①資源利用率高。由于在內(nèi)存中裝入了多道程序,使它們共享資源,保持資源處于忙碌狀態(tài),從而使各種資源得以充分利用。

②系統(tǒng)吞吐量大。系統(tǒng)吞吐量是指系統(tǒng)在單位時(shí)間內(nèi)所完成的總工作量。能提高系統(tǒng)吞吐量的原因可歸結(jié)為:第一,處理機(jī)和其他資源保持“忙碌”狀態(tài);第二,僅當(dāng)作業(yè)完成或運(yùn)行不下去時(shí)才進(jìn)行切換,系統(tǒng)開(kāi)銷小。

多道批處理系統(tǒng)的主要缺點(diǎn)如下:

①平均周轉(zhuǎn)時(shí)間長(zhǎng)。作業(yè)的周轉(zhuǎn)時(shí)間是指從作業(yè)進(jìn)入系統(tǒng)開(kāi)始,直至其完成并退出系統(tǒng)為止所經(jīng)歷的時(shí)間。在批處理系統(tǒng)中,由于作業(yè)要排隊(duì)依次進(jìn)行處理,因而作業(yè)的周轉(zhuǎn)時(shí)間較長(zhǎng),通常需幾小時(shí)甚至幾天。

②無(wú)交互能力。用戶一旦把作業(yè)提交給系統(tǒng)后直至作業(yè)完成,用戶都不能與自己的作業(yè)進(jìn)行交互,這對(duì)修改和調(diào)試程序都是極不方便的。

(4)多道批處理系統(tǒng)需要解決的問(wèn)題。多道批處理系統(tǒng)是一種有效但又十分復(fù)雜的系統(tǒng)。為使系統(tǒng)中的多道程序間能協(xié)調(diào)地運(yùn)行,必須解決下述的一系列問(wèn)題:

①處理機(jī)管理問(wèn)題。在多道程序之間應(yīng)如何分配被它們共享的處理機(jī),使處理機(jī)既能滿足各程序的需要,又能提高處理機(jī)的利用率,以及一旦將處理機(jī)分配給某程序后又應(yīng)在何時(shí)收回等一系列問(wèn)題。

②內(nèi)存管理問(wèn)題。包括應(yīng)如何為每道程序分配必要的內(nèi)存空間,使它們“各得其所”且不致因互相重疊而丟失信息,以及應(yīng)如何防止因某道程序出現(xiàn)異常情況而破壞其他程序等問(wèn)題。

③I/O設(shè)備管理問(wèn)題。系統(tǒng)中可能具有多種類型的I/O設(shè)備供多道程序共享,應(yīng)如何分配這些I/O設(shè)備,如何做到既方便用戶對(duì)設(shè)備的使用、又能提高設(shè)備的利用率。

④文件管理問(wèn)題。在現(xiàn)代的計(jì)算機(jī)系統(tǒng)中,通常都存放著大量的程序和數(shù)據(jù)。應(yīng)如何組織它們才能便于用戶使用,并能保證數(shù)據(jù)的安全性和一致性。

⑤作業(yè)管理問(wèn)題。對(duì)于系統(tǒng)中的各種應(yīng)用程序,例如:有的屬于計(jì)算型,即以計(jì)算為主的程序;有的屬于I/O型,即以I/O為主的程序;有些作業(yè)既重要又緊迫,有的又要求系統(tǒng)能及時(shí)響應(yīng),這時(shí)應(yīng)如何對(duì)它們進(jìn)行組織。

為此,應(yīng)在計(jì)算機(jī)系統(tǒng)中增加一組軟件,用以對(duì)上述問(wèn)題進(jìn)行妥善、有效的處理。這組軟件應(yīng)包括能控制和管理四大資源的軟件,合理地對(duì)各類作業(yè)進(jìn)行調(diào)度的軟件,以及方便用戶使用計(jì)算機(jī)的軟件。正是這樣一組軟件構(gòu)成了批處理操作系統(tǒng)。

4.分時(shí)系統(tǒng)

(1)分時(shí)系統(tǒng)的產(chǎn)生。如果說(shuō),推動(dòng)多道批處理系統(tǒng)形成和發(fā)展的主要?jiǎng)恿κ翘岣哔Y源利用率和增加系統(tǒng)吞吐量,那么,推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿t是用戶的需要。具體地說(shuō),用戶需要表現(xiàn)在以下幾個(gè)方面:

①人機(jī)交互。對(duì)于一個(gè)程序員來(lái)說(shuō),每當(dāng)編寫好一個(gè)新程序時(shí),都需要上機(jī)進(jìn)行調(diào)試。由于新編程序難免有些錯(cuò)誤或不當(dāng)之處需要修改,因而希望能像早期使用計(jì)算機(jī)一樣,獨(dú)占全機(jī)并對(duì)它進(jìn)行直接控制,以便能方便地修改錯(cuò)誤。換言之,希望能夠進(jìn)行人機(jī)交互。

②共享主機(jī)。在20世紀(jì)60年代計(jì)算機(jī)十分昂貴,不可能像現(xiàn)在這樣每人獨(dú)占一臺(tái)計(jì)算機(jī),而只能是多個(gè)用戶共享一臺(tái)計(jì)算機(jī),但用戶在用機(jī)時(shí)應(yīng)能夠像自己獨(dú)占計(jì)算機(jī)一樣,不僅可以隨時(shí)與計(jì)算機(jī)交互,而且應(yīng)感覺(jué)不到其他用戶也在使用該計(jì)算機(jī)。

③便于用戶上機(jī)。在多道批處理系統(tǒng)中,用戶上機(jī)前必須把自己的作業(yè)郵寄或親自送到機(jī)房,這對(duì)于用戶尤其是異地用戶來(lái)說(shuō)十分不便。用戶希望能通過(guò)自己的終端直接將作業(yè)傳送到計(jì)算機(jī)上進(jìn)行處理,并能對(duì)自己的作業(yè)進(jìn)行控制。

分時(shí)系統(tǒng)恰是為了滿足上述的用戶需要所形成的一種新型操作系統(tǒng)。它與多道批處理系統(tǒng)有著截然不同的性能。分時(shí)系統(tǒng)是指一臺(tái)主機(jī)上連接了多個(gè)帶有顯示器和鍵盤的終端,同時(shí)允許多個(gè)用戶共享主機(jī)中的資源,每個(gè)用戶都可通過(guò)自己的終端以交互方式使用計(jì)算機(jī)。

(2)分時(shí)系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵問(wèn)題。為了實(shí)現(xiàn)分時(shí)系統(tǒng)必須解決一系列問(wèn)題,其中最關(guān)鍵的問(wèn)題是如何使用戶能與自己的作業(yè)交互,即當(dāng)用戶在自己的終端輸入命令時(shí)系統(tǒng)應(yīng)能及時(shí)接收和及時(shí)處理該命令,并將處理結(jié)果返回給用戶。接著用戶可輸入下一條命令,此即人機(jī)交互。應(yīng)當(dāng)強(qiáng)調(diào)指出,即使有多個(gè)用戶同時(shí)通過(guò)自己的鍵盤輸入命令,系統(tǒng)也應(yīng)能全部地及時(shí)接收并及時(shí)處理。

①及時(shí)接收。要及時(shí)接收用戶輸入的命令或數(shù)據(jù)并不困難,只需在系統(tǒng)中配置一個(gè)多路卡。例如,當(dāng)要在主機(jī)上連接8個(gè)終端時(shí),須配置一個(gè)8用戶的多路卡。多路卡的作用是使主機(jī)能同時(shí)接收用戶從各個(gè)終端上輸入的數(shù)據(jù)。此外,還需為每個(gè)終端配置一個(gè)緩沖區(qū),用來(lái)暫存用戶輸入的命令。

②及時(shí)處理。人機(jī)交互的關(guān)鍵是使用戶輸入命令后能及時(shí)地控制自己的程序運(yùn)行或修改自己的程序。為此,各個(gè)用戶的程序都必須在內(nèi)存中,且應(yīng)能頻繁地獲得處理機(jī)而運(yùn)行;否則,用戶輸入的命令將無(wú)法作用到自己的程序上。批處理系統(tǒng)是無(wú)法實(shí)現(xiàn)人機(jī)交互的,因?yàn)橥ǔ4蠖鄶?shù)作業(yè)都是駐留在外存上,即使調(diào)入內(nèi)存的作業(yè)也經(jīng)常要經(jīng)過(guò)較長(zhǎng)時(shí)間的等待后方能運(yùn)行,因而用戶輸入的命令很難及時(shí)地作用到自己的作業(yè)上。可見(jiàn),為了實(shí)現(xiàn)人機(jī)交互應(yīng)該做到:使所有的用戶程序都直接進(jìn)入內(nèi)存;在不長(zhǎng)的時(shí)間內(nèi),就能使每個(gè)程序都運(yùn)行一次(較短的時(shí)間),這樣方能使用戶輸入的命令獲得及時(shí)處理。

(3)分時(shí)系統(tǒng)的實(shí)現(xiàn)方法。為了確保系統(tǒng)能及時(shí)處理,必須徹底改變?cè)瓉?lái)批處理系統(tǒng)的運(yùn)行方式。

一方面用戶程序不能先進(jìn)入磁盤,然后再調(diào)入內(nèi)存。因?yàn)槌绦蛟诖疟P上不能運(yùn)行,當(dāng)然用戶也就無(wú)法與程序進(jìn)行交互,因此,程序應(yīng)直接進(jìn)入內(nèi)存;另一方面不允許一個(gè)程序長(zhǎng)期占用處理機(jī)直至它運(yùn)行結(jié)束或發(fā)生I/O請(qǐng)求后,才調(diào)度其他程序運(yùn)行。應(yīng)該規(guī)定每個(gè)程序只運(yùn)行一個(gè)很短的時(shí)間(例如,0.1s,通常把這段時(shí)間稱為時(shí)間片),然后便暫停該程序的運(yùn)行并立即調(diào)度下一個(gè)程序運(yùn)行。如果在不長(zhǎng)的時(shí)間(例如3s)內(nèi),能使所有的用戶程序都執(zhí)行一次(一個(gè)時(shí)間片時(shí)間),便可使每個(gè)用戶都能及時(shí)地與自己的程序交互,從而可使用戶的請(qǐng)求及時(shí)得到響應(yīng)。

具體的方法有以下幾種:

①單道分時(shí)系統(tǒng)。在20世紀(jì)60年代初期,由美國(guó)麻省理工學(xué)院建立的第一個(gè)分時(shí)系統(tǒng)CTSS便屬于單道分時(shí)系統(tǒng)。在該系統(tǒng)中內(nèi)存只駐留一道程序,其余程序都在外存上。每當(dāng)內(nèi)存中的程序運(yùn)行一個(gè)時(shí)間片后,便被調(diào)至外存(稱為調(diào)出),再?gòu)耐獯嫔线x一個(gè)程序裝入內(nèi)存(稱為調(diào)入)并運(yùn)行一個(gè)時(shí)間片,以此方法使所有的程序都能在一個(gè)規(guī)定的時(shí)間內(nèi)輪流運(yùn)行一個(gè)時(shí)間片,這樣便能使所有的用戶都能與自己的程序交互。由于單道分時(shí)系統(tǒng)只有一道程序駐留在內(nèi)存,在多個(gè)程序的輪流運(yùn)行過(guò)程中,每個(gè)程序往往可能頻繁地被調(diào)入/調(diào)出多次,開(kāi)銷很大,因此系統(tǒng)性能較差。

②具有“前臺(tái)”和“后臺(tái)”的分時(shí)系統(tǒng)。在單道批處理系統(tǒng)中,作業(yè)調(diào)入/調(diào)出時(shí),處理機(jī)空閑;內(nèi)存中的作業(yè)在執(zhí)行I/O請(qǐng)求時(shí)處理機(jī)也空閑。為了充分利用處理機(jī)而引入了“前臺(tái)”和“后臺(tái)”的概念。在具有前、后臺(tái)的系統(tǒng)中,內(nèi)存被固定地劃分為“前臺(tái)區(qū)”和“后臺(tái)區(qū)”兩部分,“前臺(tái)區(qū)”存放按時(shí)間片“調(diào)入”和“調(diào)出”的交互式程序,“后臺(tái)區(qū)”存放批處理作業(yè)。僅當(dāng)前臺(tái)調(diào)入/調(diào)出時(shí),或前臺(tái)已無(wú)程序可運(yùn)行時(shí),才運(yùn)行“后臺(tái)區(qū)”中的作業(yè)。

③多道分時(shí)系統(tǒng)。在分時(shí)系統(tǒng)中引入多道程序設(shè)計(jì)技術(shù)后,可在內(nèi)存中同時(shí)存放多道程序,每道程序無(wú)固定位置,如果程序都較小,內(nèi)存中便可多裝入幾道程序,由系統(tǒng)把已具備運(yùn)行條件的所有程序排成一個(gè)隊(duì)列,使它們以此輪流地獲得一個(gè)時(shí)間片來(lái)運(yùn)行。由于切換程序就在內(nèi)存,不用花費(fèi)調(diào)入、調(diào)出開(kāi)銷,故多道分時(shí)系統(tǒng)具有較好的系統(tǒng)性能。現(xiàn)代的分時(shí)系統(tǒng)都屬于多道分時(shí)系統(tǒng)。

(4)分時(shí)系統(tǒng)的特征。分時(shí)系統(tǒng)與多道批處理系統(tǒng)相比,具有完全不同的特征。

①多路性。允許在一臺(tái)主機(jī)上同時(shí)連接多臺(tái)聯(lián)機(jī)終端,系統(tǒng)按分時(shí)原則為每個(gè)用戶服務(wù)。宏觀上,是多個(gè)用戶同時(shí)工作,共享系統(tǒng)資源;微觀上,則是每個(gè)用戶程序輪流運(yùn)行一個(gè)時(shí)間片。多路性,亦即同時(shí)性,它提高了資源利用率,從而促進(jìn)了計(jì)算機(jī)更廣泛的應(yīng)用。

②獨(dú)立性。每個(gè)用戶各占一個(gè)終端,彼此獨(dú)立操作、互不干擾。因此,用戶會(huì)感覺(jué)到就像一人獨(dú)占主機(jī)。

③及時(shí)性。用戶的請(qǐng)求能在很短時(shí)間內(nèi)獲得響應(yīng),此時(shí)間間隔是以人們所能接受的等待時(shí)間來(lái)確定的,通常為2~3s。

④交互性。用戶可通過(guò)終端與系統(tǒng)進(jìn)行廣泛的人機(jī)對(duì)話。其廣泛性表現(xiàn)在:用戶可以請(qǐng)求系統(tǒng)提供各方面的服務(wù),如文件編輯、數(shù)據(jù)處理和資源共享等。

5.實(shí)時(shí)系統(tǒng)

(1)實(shí)時(shí)系統(tǒng)的引入。雖然多道批處理系統(tǒng)和分時(shí)系統(tǒng)已獲得了令人較為滿意的資源利用率和響應(yīng)時(shí)間,從而使計(jì)算機(jī)的應(yīng)用范圍日益擴(kuò)大,但它們?nèi)匀徊荒軡M足以下兩個(gè)領(lǐng)域的需要:

①實(shí)時(shí)控制。當(dāng)把計(jì)算機(jī)用于生產(chǎn)過(guò)程的控制以形成以計(jì)算機(jī)為中心的控制系統(tǒng)時(shí),系統(tǒng)要求能實(shí)時(shí)采集現(xiàn)場(chǎng)數(shù)據(jù),并對(duì)所采集的數(shù)據(jù)進(jìn)行及時(shí)處理,進(jìn)而自動(dòng)地控制相應(yīng)的執(zhí)行機(jī)構(gòu),使某些(個(gè))參數(shù)(例如溫度、壓力、方位等)能按預(yù)定的規(guī)律變化,以保證產(chǎn)品的質(zhì)量和提高產(chǎn)量。類似地,也可將計(jì)算機(jī)用于武器的控制,例如火炮的自動(dòng)控制系統(tǒng)、飛機(jī)的自動(dòng)駕駛系統(tǒng),以及導(dǎo)彈的制導(dǎo)系統(tǒng)等。通常把要求進(jìn)行實(shí)時(shí)控制的系統(tǒng)統(tǒng)稱為實(shí)時(shí)控制系統(tǒng)。

②實(shí)時(shí)信息處理。通常把要求對(duì)信息進(jìn)行實(shí)時(shí)處理的系統(tǒng)稱為實(shí)時(shí)信息處理系統(tǒng)。該系統(tǒng)由一臺(tái)或多臺(tái)主機(jī)通過(guò)通信線路連接成百上千個(gè)遠(yuǎn)程終端,主機(jī)接收從遠(yuǎn)程終端發(fā)來(lái)的服務(wù)請(qǐng)求,根據(jù)用戶提出的問(wèn)題,對(duì)信息進(jìn)行檢索和處理,并在很短的時(shí)間內(nèi)為用戶做出正確的回答。典型的實(shí)時(shí)信息處理系統(tǒng)有飛機(jī)訂票系統(tǒng)、情報(bào)檢索系統(tǒng)等。

實(shí)時(shí)控制系統(tǒng)和實(shí)時(shí)信息處理系統(tǒng)統(tǒng)稱為實(shí)時(shí)系統(tǒng)。所謂“實(shí)時(shí)”,是表示“及時(shí)”“即時(shí)”;而實(shí)時(shí)系統(tǒng)是指系統(tǒng)能及時(shí)(或即時(shí))響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。

(2)實(shí)時(shí)任務(wù)的類型。在實(shí)時(shí)系統(tǒng)中必須存在著若干個(gè)實(shí)時(shí)任務(wù),由它們反映或控制某個(gè)(些)外部事件,因而帶有某種程度的緊迫性。可從不同的角度對(duì)實(shí)時(shí)任務(wù)加以分類。

①按任務(wù)執(zhí)行時(shí)是否呈現(xiàn)周期性來(lái)劃分,包括:周期性實(shí)時(shí)任務(wù),要求按指定的周期循環(huán)執(zhí)行,以便周期性地控制某個(gè)外部事件;非周期性實(shí)時(shí)任務(wù),任務(wù)的執(zhí)行無(wú)明顯的周期性,但都必須聯(lián)系著一個(gè)截止時(shí)間。它又可分為:開(kāi)始截止時(shí)間,任務(wù)在某事件以前必須開(kāi)始執(zhí)行;完成截止時(shí)間,任務(wù)在某事件以前必須完成。

②根據(jù)對(duì)截止時(shí)間的要求來(lái)劃分,包括:強(qiáng)實(shí)時(shí)任務(wù),系統(tǒng)必須滿足任務(wù)對(duì)截止時(shí)間的要求,否則可能出現(xiàn)難以預(yù)測(cè)的結(jié)果;弱實(shí)時(shí)任務(wù),它也聯(lián)系著一個(gè)截止時(shí)間,但并不嚴(yán)格,若錯(cuò)過(guò)了任務(wù)的截止時(shí)間,計(jì)算結(jié)果的可用性會(huì)下降,但對(duì)系統(tǒng)產(chǎn)生的影響不會(huì)太大。

(3)實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)的比較。下面從多路性、獨(dú)立性、及時(shí)性、交互性和可靠性5個(gè)方面對(duì)它們進(jìn)行比較。

①多路性。實(shí)時(shí)信息處理系統(tǒng)與分時(shí)系統(tǒng)一樣具有多路性,系統(tǒng)按分時(shí)原則為多個(gè)終端用戶服務(wù);而對(duì)實(shí)時(shí)控制系統(tǒng),其多路性主要表現(xiàn)在經(jīng)常對(duì)多路的現(xiàn)場(chǎng)信息進(jìn)行采集以及對(duì)多個(gè)對(duì)象或多個(gè)執(zhí)行機(jī)構(gòu)進(jìn)行控制。

②獨(dú)立性。實(shí)時(shí)信息處理系統(tǒng)與分時(shí)系統(tǒng)一樣具有獨(dú)立性,每個(gè)終端用戶在向?qū)崟r(shí)系統(tǒng)提出服務(wù)請(qǐng)求時(shí),彼此獨(dú)立地操作,互不干擾;而在實(shí)時(shí)控制系統(tǒng)中信息的采集和對(duì)對(duì)象的控制,也都是彼此互不干擾。

③及時(shí)性。實(shí)時(shí)信息系統(tǒng)對(duì)實(shí)時(shí)性的要求與分時(shí)系統(tǒng)類似,都是以人們所能接受的等待時(shí)間來(lái)確定;而實(shí)時(shí)控制系統(tǒng)的及時(shí)性,則是以控制對(duì)象所要求的開(kāi)始截止時(shí)間或完成截止時(shí)間來(lái)確定的,一般為秒級(jí)、百毫秒級(jí)直至毫秒級(jí)。

④交互性。實(shí)時(shí)信息處理系統(tǒng)雖然也具有交互性,但這里人與系統(tǒng)的交互,僅限于訪問(wèn)系統(tǒng)中某些特定的專用服務(wù)程序。它不像分時(shí)系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)處理、資源共享等服務(wù)。

⑤可靠性。分時(shí)系統(tǒng)雖然也要求系統(tǒng)可靠,但相比之下,實(shí)時(shí)系統(tǒng)則要求系統(tǒng)高度可靠。因?yàn)槿魏尾铄e(cuò)都可能帶來(lái)巨大的經(jīng)濟(jì)損失,甚至無(wú)法預(yù)料的災(zāi)難性后果。因此,在實(shí)時(shí)系統(tǒng)中,往往都采取了多級(jí)容錯(cuò)措施,以此保證系統(tǒng)的安全及數(shù)據(jù)的安全。

批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)是3種基本的操作系統(tǒng)類型。而一個(gè)實(shí)際的操作系統(tǒng),可能兼有三者或其中兩者的功能。

主站蜘蛛池模板: 东山县| 福安市| 华坪县| 平顺县| 东海县| 儋州市| 腾冲县| 清苑县| 张家川| 新营市| 嵩明县| 广德县| 囊谦县| 根河市| 老河口市| 揭阳市| 那坡县| 友谊县| 淮北市| 新龙县| 保康县| 武胜县| 阜宁县| 莱芜市| 弥渡县| 闽清县| 崇左市| 孟村| 永仁县| 兰西县| 托克托县| 南江县| 丽水市| 盐城市| 乐至县| 嵩明县| 鄂尔多斯市| 延安市| 临潭县| 房山区| 乌苏市|