第1章操作系統(tǒng)引論_第1頁
第1章操作系統(tǒng)引論_第2頁
第1章操作系統(tǒng)引論_第3頁
第1章操作系統(tǒng)引論_第4頁
第1章操作系統(tǒng)引論_第5頁
已閱讀5頁,還剩124頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

計(jì)算機(jī)操作系統(tǒng)08網(wǎng)絡(luò)1、22010.9-2011.11《操作系統(tǒng)》課程簡介一.《操作系統(tǒng)》是重要的專業(yè)基礎(chǔ)課和主干課二.先修課:計(jì)算機(jī)組成原理、數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)、C/C++程序設(shè)計(jì)語言2參考資料推薦1.《操作系統(tǒng)習(xí)題與解析》第3版曾平曾林等著清華大學(xué)出版社3課程安排教學(xué)安排:講解教材第1章-第8章,自學(xué)第9章-第13章課時(shí)安排:1-16周平均每周3節(jié)上課,1節(jié)上機(jī),學(xué)分:4分考核方式:考試最終成績:期末成績+期中成績+考勤+實(shí)驗(yàn)成績+作業(yè)4課程引子買回一臺新的計(jì)算機(jī)之后,毫無例外地,你要做的第一件事是什么?5課程引子1.你使用過或聽說過哪些操作系統(tǒng)?如果要建立一個(gè)企業(yè)網(wǎng)站,讓Internet上的用戶都能夠訪問它,那么該Web服務(wù)器是否一定要裝操作系統(tǒng)?裝什么樣的操作系統(tǒng)?2.你認(rèn)為操作系統(tǒng)有什么用?3.為什么要學(xué)習(xí)操作系統(tǒng)這門課?6幾個(gè)硬件概念(一)計(jì)算機(jī)的5大部件:控制器、運(yùn)算器、存儲器、輸入設(shè)備和輸出設(shè)備。組成計(jì)算機(jī)的部件(另一種提法):中央處理器CPU(運(yùn)算器、控制器)存儲器輸入輸出設(shè)備。這些部件之間通過總線相連,它們通過總線來傳送數(shù)據(jù)信息、地址信息和控制信息。7幾個(gè)硬件概念(二)控制器主要用來實(shí)現(xiàn)計(jì)算機(jī)本身運(yùn)行過程的自動化,即實(shí)現(xiàn)程序的自動執(zhí)行。在控制器的控制下,從輸入設(shè)備輸入程序和數(shù)據(jù),并自動存放在存儲器中,然后由控制器指揮各部件(運(yùn)算器、存儲器……)協(xié)同工作以執(zhí)行程序,最后將結(jié)果打印輸出。8幾個(gè)硬件概念(三)計(jì)算機(jī)中的存儲器分為主存儲器和和輔助存儲器兩大類。主存儲器用來存放正在使用或需要立即使用的程序和數(shù)據(jù),要求存取速度快,通常由半導(dǎo)體存儲器構(gòu)成——為易失性存儲器。輔助存儲器用于存放當(dāng)前不需要立即使用的信息,一旦需要,再和主存成批地交換數(shù)據(jù)。輔存作為主存的后備和補(bǔ)充,是主機(jī)的外部設(shè)備,因此又稱為外存儲器——為非易失存儲器。9或者從另一個(gè)角度分類存儲器:主存儲器(主存、內(nèi)存):中央處理機(jī)能直接訪問的存儲器稱為主存儲器,用來存放正在或?qū)⒁獔?zhí)行的系統(tǒng)及用戶的程序和數(shù)據(jù)(還包括程序執(zhí)行時(shí)要求的臨時(shí)存儲空間)。輔存儲器(輔存、外存):中央處理機(jī)不能直接訪問的存儲器,如磁盤、磁帶、光盤等,用來存放大量的數(shù)據(jù)信息。10幾個(gè)硬件概念(四)輸入設(shè)備主要完成輸入程序、數(shù)據(jù)和操作命令的功能,也是進(jìn)行人機(jī)對話的主要部件。鍵盤是目前使用最普遍的一種輸入設(shè)備,與顯示器一起組成終端設(shè)備。鼠標(biāo)以其快捷、準(zhǔn)確、直觀的屏幕定位和選擇能力備受歡迎,已成為微機(jī)必備的輸入設(shè)備。掃描儀、操縱桿、觸摸屏、照相機(jī)、語音輸入設(shè)備等也屬于輸入設(shè)備。11輸出設(shè)備顯示器、打印機(jī)等都是典型的輸出設(shè)備。12幾個(gè)硬件概念(五)主機(jī)與外設(shè):在計(jì)算機(jī)的幾大部件中,有時(shí)把CPU和存儲器(即內(nèi)存)合起來稱為“主機(jī)”,把余下的其它部分稱為外部設(shè)備,即“外設(shè)”。13第一章操作系統(tǒng)引論1.1操作系統(tǒng)的目標(biāo)和任務(wù)1.2操作系統(tǒng)的發(fā)展過程1.3操作系統(tǒng)的基本特征1.4操作系統(tǒng)的主要功能1.5操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)141.1操作系統(tǒng)的目標(biāo)和作用系統(tǒng)軟件和應(yīng)用軟件的概念:一個(gè)計(jì)算機(jī)系統(tǒng)由兩部分構(gòu)成:即軟件系統(tǒng)和硬件系統(tǒng)硬件系統(tǒng)是計(jì)算機(jī)系統(tǒng)中那些“硬的”物理設(shè)施,是物質(zhì)基礎(chǔ)軟件系統(tǒng)是計(jì)算機(jī)系統(tǒng)必須配置的程序和數(shù)據(jù)集合,??煞譃閮纱箢悾合到y(tǒng)軟件和應(yīng)用軟件151.1操作系統(tǒng)的目標(biāo)和作用系統(tǒng)軟件用于計(jì)算機(jī)的管理、維護(hù),支持應(yīng)用程序的開發(fā)以及控制和運(yùn)行程序。如操作系統(tǒng)、多種語言處理程序(匯編和編譯程序等)、多種工具軟件、數(shù)據(jù)庫管理系統(tǒng)等都是系統(tǒng)軟件。其中操作系統(tǒng)是最復(fù)雜、最典型的系統(tǒng)軟件。161.1操作系統(tǒng)的目標(biāo)和作用

應(yīng)用軟件是為完成某一具體的應(yīng)用而開發(fā)的軟件如我們一直在用的學(xué)生選課系統(tǒng)、成績查詢系統(tǒng)、火車售票系統(tǒng)等等,都是典型的應(yīng)用軟件。171.1操作系統(tǒng)的目標(biāo)和作用1.1.1操作系統(tǒng)的目標(biāo)

目前存在著多種類型的OS(OpreatingSystem),不同類型的OS,其目標(biāo)各有所側(cè)重。通常在計(jì)算機(jī)硬件上配置的OS,其目標(biāo)有以下幾點(diǎn):

1.方便性

2.有效性

3.可擴(kuò)充性

4.開放性

181.1操作系統(tǒng)的目標(biāo)和作用

1.1.2操作系統(tǒng)的作用操作系統(tǒng)是為改善計(jì)算機(jī)系統(tǒng)的性能、提高計(jì)算機(jī)的利用率、方便用戶使用計(jì)算機(jī)而配備的一種最基本的底層系統(tǒng)軟件,是計(jì)算機(jī)系統(tǒng)的核心。其作用可以概括如下:

191.1.2操作系統(tǒng)的作用

1.OS作為用戶與計(jì)算機(jī)硬件之間的接口

OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間接口的含義是:OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過OS來使用計(jì)算機(jī)系統(tǒng)?;蛘哒f,用戶在OS幫助下,能夠方便、快捷、安全、可靠地操縱計(jì)算機(jī)硬件和運(yùn)行自己的程序。應(yīng)注意,OS是一個(gè)系統(tǒng)軟件,因而這種接口是軟件接口。

20

1.1.2操作系統(tǒng)的作用操作系統(tǒng)提供給用戶的接口有兩大類:脫機(jī)用戶接口和聯(lián)機(jī)用戶接口脫機(jī)用戶接口主要是為批處理系統(tǒng)中的脫機(jī)用戶準(zhǔn)備的。用戶在提交作業(yè)時(shí),不僅要提交源程序和初始數(shù)據(jù),還要將反映控制意圖的說明書“作業(yè)控制說明書”一并交給計(jì)算機(jī)系統(tǒng)。這時(shí)操作系統(tǒng)提供給用戶的接口稱為“作業(yè)控制語言(JCL)”,“作業(yè)控制說明書”就是用這種語言寫成的。21

聯(lián)機(jī)用戶接口:又可分為命令接口、程序接口(又叫系統(tǒng)調(diào)用)和圖形用戶接口。俗稱命令口、程序口和圖形口。

1.1.2操作系統(tǒng)的作用22

1.OS作為用戶與計(jì)算機(jī)硬件之間的接口(續(xù))

(1)命令接口。這是指由OS提供了一組聯(lián)機(jī)命令(語言),用戶可通過鍵盤輸入有關(guān)命令,來直接操縱計(jì)算機(jī)系統(tǒng)。

(2)程序接口。又稱“系統(tǒng)調(diào)用”或應(yīng)用程序編程接口(API)。OS提供了一組系統(tǒng)調(diào)用,用戶可以在自己的程序中通過使用系統(tǒng)調(diào)用,來獲得操作系統(tǒng)的底層服務(wù),訪問系統(tǒng)的各種軟硬件資源。

(3)圖形接口。用戶通過屏幕上的窗口和圖標(biāo)來操縱計(jì)算機(jī)系統(tǒng)和運(yùn)行自己的程序。

23圖1-1OS作為接口的示意圖

24

1.1.2操作系統(tǒng)的作用

2.OS作為計(jì)算機(jī)系統(tǒng)資源的管理者在一個(gè)計(jì)算機(jī)系統(tǒng)中,通常都含有各種各樣的硬件和軟件資源。歸納起來可將計(jì)算機(jī)資源分為四類:處理器、存儲器、

I/O設(shè)備信息(數(shù)據(jù)和程序)。25相應(yīng)地,OS的主要功能也正是針對這四類資源進(jìn)行有效的管理,即:(1)處理機(jī)管理:用于分配和控制處理機(jī);(2)存儲器管理:主要負(fù)責(zé)內(nèi)存的分配與回收;(3)I/O設(shè)備管理:負(fù)責(zé)I/O設(shè)備的分配與操縱;(4)文件管理:負(fù)責(zé)文件的存取、共享和保護(hù)。26可見,OS確是計(jì)算機(jī)系統(tǒng)資源的管理者。事實(shí)上,當(dāng)今世界上廣為流行的一個(gè)關(guān)于OS作用的觀點(diǎn),正是把OS作為計(jì)算機(jī)系統(tǒng)的資源管理者。

27

1.1.2操作系統(tǒng)的作用3.OS用作擴(kuò)充機(jī)器對于一臺完全無軟件的計(jì)算機(jī)系統(tǒng)(即裸機(jī)),即使其功能再強(qiáng),也必定是難于使用的。如果我們在裸機(jī)上覆蓋上一層I/O設(shè)備管理軟件,用戶便可利用它所提供的I/O命令,來進(jìn)行數(shù)據(jù)輸入和打印輸出。此時(shí)用戶所看到的機(jī)器,將是一臺比裸機(jī)功能更強(qiáng)、使用更方便的機(jī)器。28

通常把覆蓋了軟件的機(jī)器稱為擴(kuò)充機(jī)器或虛機(jī)器。如果我們又在第一層軟件上再覆蓋上一層文件管理軟件,則用戶可利用該軟件提供的文件存取命令,來進(jìn)行文件的存取。29此時(shí),用戶所看到的是臺功能更強(qiáng)的虛機(jī)器。如果我們又在文件管理軟件上再覆蓋一層面向用戶的窗口軟件,則用戶便可在窗口環(huán)境下方便地使用計(jì)算機(jī),形成一臺功能更強(qiáng)的虛機(jī)器。

301.1.3推動操作系統(tǒng)發(fā)展的主要動力

不斷提高計(jì)算機(jī)資源利用率2.方便用戶3.器件的不斷更新?lián)Q代4.計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展311.2操作系統(tǒng)的發(fā)展過程

1.2.1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)

1.人工操作方式從第一臺計(jì)算機(jī)誕生(1945年)到50年代中期的計(jì)算機(jī),屬于第一代,這時(shí)還未出現(xiàn)OS。

32這時(shí)的計(jì)算機(jī)操作是由用戶(即程序員)采用人工操作方式直接使用計(jì)算機(jī)硬件系統(tǒng),即由程序員將事先已穿孔(對應(yīng)于程序和數(shù)據(jù))的紙帶(或卡片)裝入紙帶輸入機(jī)(或卡片輸入機(jī)),再啟動它們將程序和數(shù)據(jù)輸入計(jì)算機(jī),然后啟動計(jì)算機(jī)運(yùn)行。33當(dāng)程序運(yùn)行完畢并取走計(jì)算結(jié)果后,才讓下一個(gè)用戶上機(jī)。這種人工操作方式有以下兩方面的缺點(diǎn):(1)用戶獨(dú)占全機(jī)。(2)CPU等待人工操作?!?.浪費(fèi)資源太大

34

1.2.1無操作系統(tǒng)的計(jì)算機(jī)2.脫機(jī)輸入/輸出(Off-LineI/O)方式為了解決人機(jī)矛盾及CPU和I/O設(shè)備之間速度不匹配的矛盾,20世紀(jì)50年代末出現(xiàn)了脫機(jī)輸入輸出技術(shù)。該技術(shù)是指事先將裝有用戶程序和數(shù)據(jù)的紙帶或卡片裝入紙帶輸入機(jī),在一臺外圍設(shè)備的控制下,把紙帶(卡片)上的數(shù)據(jù)輸入到高速設(shè)備磁帶上,當(dāng)CPU需要這些程序和數(shù)據(jù)時(shí),再從磁帶上高速地調(diào)入內(nèi)存。35類似地,當(dāng)CPU需要輸出時(shí),可由CPU直接高速地把數(shù)據(jù)從內(nèi)存送到磁帶上,然后再在另一個(gè)外圍設(shè)備的控制下,將磁帶上的結(jié)果通過相應(yīng)的輸出設(shè)備輸出。361.2.1無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)由于程序和數(shù)據(jù)的輸入輸出都是在外圍機(jī)的控制下而不是在主機(jī)的控制下完成的,所以叫“脫機(jī)輸入輸出”。若輸出輸出操作是在主機(jī)的控制下進(jìn)行的,就叫“聯(lián)機(jī)輸入輸出”。37這種脫機(jī)I/O方式的主要優(yōu)點(diǎn)如下:減少了CPU的空閑時(shí)間。提高I/O速度。381.2.2單道批處理系統(tǒng)是計(jì)算機(jī)對一批作業(yè)進(jìn)行自動處理的技術(shù)早期的計(jì)算機(jī)資源非常昂貴,為了充分利用資源,應(yīng)盡量讓系統(tǒng)連續(xù)執(zhí)行。為此,把一批作業(yè)以脫機(jī)的方式輸入到磁帶上,并在系統(tǒng)中配置監(jiān)督程序。391.2.2單道批處理系統(tǒng)(續(xù))在監(jiān)督程序的控制下,先把磁帶上的第一個(gè)作業(yè)裝入內(nèi)存,并把運(yùn)行控制權(quán)交給該作業(yè),當(dāng)該作業(yè)處理完后,又把控制權(quán)交還給監(jiān)督程序,由監(jiān)督程序再把第二個(gè)作業(yè)裝入內(nèi)存,直至一批作業(yè)處理完。磁帶上的作業(yè)就這樣一個(gè)接一個(gè)地被處理,便形成了早期的批處理系統(tǒng)40

IBM的1401和7094,就是這樣的實(shí)例:

(1)用戶將自己的程序編在卡片或紙帶上,交給計(jì)算機(jī)管理員;(2)管理員收到一定數(shù)量的用戶程序后,將卡片上的數(shù)據(jù)通過IBM1401機(jī)器讀入,并寫到磁帶上,這樣每盤磁帶通常會含有多個(gè)用戶程序;(3)操作員將這盤磁帶加載到IBM7094上,一個(gè)一個(gè)地運(yùn)行用戶程序,運(yùn)行結(jié)果寫在另一個(gè)磁帶上。(4)程序都結(jié)束后,將結(jié)果磁帶取下,連接到IBM1041機(jī)器上打印結(jié)果,然后就可以交給各個(gè)用戶了。41注意,這時(shí)候文件的概念已經(jīng)出現(xiàn)。因?yàn)榈搅伺幚頃r(shí)代,磁帶上的多個(gè)用戶程序必須以某種方式進(jìn)行隔離,用戶的程序可以以文件的形式實(shí)現(xiàn)隔離。此時(shí)的操作系統(tǒng)還能夠管理讀卡機(jī)、磁帶、打印機(jī)等。此時(shí)操作系統(tǒng)的任務(wù)就是加載一個(gè)程序,運(yùn)行,打印結(jié)果,然后執(zhí)行下一個(gè)程序。42當(dāng)時(shí)單道批處理系統(tǒng)的重要實(shí)例有:IBM開發(fā)的FORTRAN監(jiān)視系統(tǒng)FMS,用在IBM709上;IBM開發(fā)的基于磁帶的工作監(jiān)控系統(tǒng)IBSYS,用在IBM7090和IBM7094上;密西根大學(xué)開發(fā)的UMES,被用在IBM7094上。43

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

(1)自動性。

(2)順序性。

(3)單道性。

441.2.3多道批處理系統(tǒng)(進(jìn)入操作系統(tǒng)時(shí)代)

1.多道程序設(shè)計(jì)的基本概念在單道批處理系統(tǒng)中,內(nèi)存中僅有一道作業(yè),它無法充分利用系統(tǒng)中的所有資源,致使系統(tǒng)性能較差。為了進(jìn)一步提高資源的利用率和系統(tǒng)吞吐量,在60年代中期又引入了多道程序設(shè)計(jì)技術(shù),由此而形成了多道批處理系統(tǒng)(MultiprogrammedBatchProcessingSystem)。45在OS中引入多道程序設(shè)計(jì)技術(shù)可帶來以下好處:(1)提高CPU的利用率。

當(dāng)內(nèi)存中僅有一道程序時(shí),CPU和I/O操作是串行的。每逢該程序在運(yùn)行中發(fā)出I/O請求后,CPU空閑,必須在其I/O完成后才繼續(xù)運(yùn)行;尤其因I/O設(shè)備的低速性,更使CPU的利用率顯著降低。46而在引入多道程序設(shè)計(jì)技術(shù)后,由于同時(shí)在內(nèi)存中裝有若干道程序,并使它們交替地運(yùn)行。這樣,當(dāng)正在運(yùn)行的程序因I/O而暫停執(zhí)行時(shí),系統(tǒng)可調(diào)度另一道程序運(yùn)行,從而保持了CPU處于忙碌狀態(tài)。47(2)可提高內(nèi)存和I/O設(shè)備的利用率。為了能運(yùn)行較大的作業(yè),通常內(nèi)存都具有較大容量,但由于80%以上的作業(yè)都屬于中小型,因此在單道程序環(huán)境下,也必定造成內(nèi)存的浪費(fèi)。類似地,對于系統(tǒng)中所配置的多種類型的I/O設(shè)備,在單道程序環(huán)境下也不能充分利用。如果允許在內(nèi)存中裝入多道程序,并允許它們并發(fā)執(zhí)行,則無疑會大大提高內(nèi)存和I/O設(shè)備的利用率。48

(3)增加系統(tǒng)吞吐量。在保持CPU、I/O設(shè)備不斷忙碌的同時(shí),也必然會大幅度地提高系統(tǒng)的吞吐量,從而降低作業(yè)加工所需的費(fèi)用。492.多道批處理系統(tǒng)的特征

多道性。(2)無序性。(3)調(diào)度性。

503.多道批處理系統(tǒng)的優(yōu)缺點(diǎn)

資源利用率高。(2)系統(tǒng)吞吐量大。

(3)平均周轉(zhuǎn)時(shí)間長。(4)無交互能力。

514.多道批處理操作系統(tǒng)需要解決的問題就多了許多:(1)對處理機(jī)進(jìn)行管理。

(2)對內(nèi)存進(jìn)行管理。

(3)對I/O設(shè)備進(jìn)行管理。(4)對文件進(jìn)行管理。(5)對作業(yè)進(jìn)行管理。52典型的多道批處理操作系統(tǒng)是IBM的OS/360

:IBM的OS/360,它運(yùn)行在IBM的第三代計(jì)算機(jī)System/360、System/370、System/4300上;OS/360在技術(shù)和理念上都有劃時(shí)代的意義,但在商業(yè)上沒有使用,因?yàn)樗泻芏嘣谒y免的錯(cuò)誤。IBM隨后對OS/360進(jìn)行了完善,逐漸演變成一個(gè)功能強(qiáng)大、性能可靠的操作系統(tǒng)。53

1.2.4分時(shí)系統(tǒng)

1.分時(shí)系統(tǒng)(Time-SharingSystem)的產(chǎn)生

如果說,推動多道批處理系統(tǒng)形成和發(fā)展的主要動力,是提高資源利用率和系統(tǒng)吞吐量,那么,推動分時(shí)系統(tǒng)形成和發(fā)展的主要動力,則是用戶的需求。

或者說,分時(shí)系統(tǒng)是為了滿足用戶需求所形成的一種新型OS。它與多道批處理系統(tǒng)之間,有著截然不同的性能差別。54

1.2.4分時(shí)系統(tǒng)

用戶的需求具體表現(xiàn)在以下幾個(gè)方面:

(1)人—機(jī)交互。

(2)多個(gè)用戶共享主機(jī)。

(3)便于用戶上機(jī)?!黾右粋€(gè)概念:計(jì)算機(jī)終端

55歷史上最有名的分時(shí)操作系統(tǒng)是MULTICS和UNIX。推動它們出現(xiàn)還有個(gè)小故事:IBM將其當(dāng)時(shí)最先進(jìn)的機(jī)子IBM7094贈予密歇根大學(xué)(UM)和麻省里工學(xué)院(MIT)一遇帆船比賽必須停下一切工作為IBM服務(wù)從而有了程序的保存、多個(gè)用戶使用機(jī)器的需求出現(xiàn)562.分時(shí)系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵問題為實(shí)現(xiàn)分時(shí)系統(tǒng),最關(guān)鍵的問題是如何使用戶能與自己的作業(yè)進(jìn)行交互,即當(dāng)用戶在自己的終端上鍵入命令時(shí),系統(tǒng)應(yīng)能及時(shí)接收并及時(shí)處理該命令,再將結(jié)果返回給用戶。57此后,用戶可繼續(xù)鍵入下一條命令,此即人—機(jī)交互。應(yīng)強(qiáng)調(diào)指出,即使有多個(gè)用戶同時(shí)通過自己的鍵盤鍵入命令,系統(tǒng)也應(yīng)能全部地及時(shí)接收并處理即做到(1)及時(shí)接收。

(2)及時(shí)處理。58其次還有一個(gè)重要問題要解決:如何將資源公平分配這在分時(shí)系統(tǒng)中尤其重要在分時(shí)操作系統(tǒng)中,常采用時(shí)間片輪轉(zhuǎn)的方法解決(當(dāng)然還可能還要考慮優(yōu)先級)此系統(tǒng)在這個(gè)時(shí)候已經(jīng)變得相當(dāng)復(fù)雜起來59目前分時(shí)操作系統(tǒng)最典型的例子就是Unix和Linux的操作系統(tǒng)。其可以同時(shí)連接多個(gè)終端并且每隔一秒重新掃描進(jìn)程,重新分配進(jìn)程的優(yōu)先級,動態(tài)分配系統(tǒng)資源。

603.分時(shí)系統(tǒng)的特征.

多路性。(2)獨(dú)立性。(3)及時(shí)性。(4)交互性。61

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

應(yīng)用需求:實(shí)時(shí)控制、實(shí)時(shí)信息處理根據(jù)對截止時(shí)間的要求分為:硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)62對于實(shí)時(shí)操作系統(tǒng),它除了要滿足應(yīng)用的功能需求以外,更重要的是還要滿足應(yīng)用提出的實(shí)時(shí)性要求而組成一個(gè)應(yīng)用的眾多實(shí)時(shí)任務(wù)對于實(shí)時(shí)性的要求是各不相同的,此外實(shí)時(shí)任務(wù)之間可能還會有一些復(fù)雜的關(guān)聯(lián)和同步關(guān)系,如執(zhí)行順序限制、共享資源的互斥訪問要求等,這就為系統(tǒng)實(shí)時(shí)性的保證帶來了很大的困難。63因此,實(shí)時(shí)操作系統(tǒng)所遵循的最重要的設(shè)計(jì)原則是:采用各種算法和策略,始終保證系統(tǒng)行為的可預(yù)測性(predictability)??深A(yù)測性是指在系統(tǒng)運(yùn)行的任何時(shí)刻,在任何情況下,實(shí)時(shí)操作系統(tǒng)的資源調(diào)配策略都能夠?yàn)闋帄Z資源(包括CPU、內(nèi)存、網(wǎng)絡(luò)帶寬等)的多個(gè)實(shí)時(shí)任務(wù)合理地分配資源,使每個(gè)實(shí)時(shí)任務(wù)的實(shí)時(shí)性要求都能得到滿足

64實(shí)時(shí)操作系統(tǒng)注重的不是系統(tǒng)的平均表現(xiàn),而是要求每個(gè)實(shí)時(shí)任務(wù)在最壞情況下都要滿足其實(shí)時(shí)性要求,也就是說,實(shí)時(shí)操作系統(tǒng)注重的是個(gè)體表現(xiàn),更準(zhǔn)確地講是個(gè)體最壞情況表現(xiàn)。舉例來說,如果實(shí)時(shí)操作系統(tǒng)采用標(biāo)準(zhǔn)的虛存技術(shù),則一個(gè)實(shí)時(shí)任務(wù)執(zhí)行的最壞情況是每次訪存都需要調(diào)頁,如此累計(jì)起來的該任務(wù)在最壞情況下的運(yùn)行時(shí)間是不可預(yù)測的,因此該任務(wù)的實(shí)時(shí)性無法得到保證。從而可以看出在通用操作系統(tǒng)中廣泛采用的虛存技術(shù)在實(shí)時(shí)操作系統(tǒng)中不宜直接采用。

653.實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)特征的比較(1)多路性。(2)獨(dú)立性。(3)及時(shí)性。(4)交互性。(5)可靠性。66通用操作系統(tǒng)把具有多種類型操作特征的操作系統(tǒng)稱作通用操作系統(tǒng)。一個(gè)通用操作系統(tǒng)可同時(shí)兼有多道批處理、分時(shí)、實(shí)時(shí)處理的功能,或只具有其中兩種的功能。

67例如:實(shí)時(shí)處理+批處理=實(shí)時(shí)批處理系統(tǒng)。首先保證優(yōu)先處理實(shí)時(shí)任務(wù),插空進(jìn)行批處理作業(yè)。常把實(shí)時(shí)任務(wù)稱為前臺作業(yè),批作業(yè)稱為后臺作業(yè)。

再如:批處理+分時(shí)處理=分時(shí)批處理系統(tǒng)。即:時(shí)間要求不強(qiáng)的作業(yè)放入“后臺”(批處理)處理,需頻繁交互的作業(yè)在“前臺”(分時(shí))處理,處理機(jī)會優(yōu)先運(yùn)行“前臺”作業(yè)。68

1.2.6現(xiàn)代操作系統(tǒng)(1980年之后)各種新計(jì)算機(jī)、新操作系統(tǒng)不斷出現(xiàn)尤其是隨著微處理器的出現(xiàn),微型計(jì)算機(jī)誕生計(jì)算機(jī)開始走向普通家庭涌現(xiàn)出許多熟知的操作系統(tǒng),如有DOS、MACOS、Windows系列、Unix、Linux等等。隨著網(wǎng)絡(luò)的出現(xiàn)和普及,現(xiàn)在又出現(xiàn)了網(wǎng)絡(luò)操作系統(tǒng)和分布式操作系統(tǒng)。到現(xiàn)在為止,操作系統(tǒng)發(fā)展的腳步一刻也沒有停止。。。。。。69目前人們習(xí)慣上把操作系統(tǒng)分為以下幾種不同的類型:單用戶單任務(wù)操作系統(tǒng)(如DOS)單用戶多任務(wù)操作系統(tǒng)(如WindowsXP)多用戶多任務(wù)操作系統(tǒng)(Unix、Linux)701.3操作系統(tǒng)的基本特性多道批處理系統(tǒng)、分時(shí)系統(tǒng)、實(shí)時(shí)系統(tǒng)是三種基本的操作系統(tǒng)雖然三種操作系統(tǒng)都有各自的特征——

批處理具有成批處理的特征、分時(shí)系統(tǒng)具有交互特征、實(shí)時(shí)系統(tǒng)具有實(shí)時(shí)特征,但它們都具有并發(fā)、共享、虛擬和異步四種基本特征。71曾以填空、簡答、判斷的形式出過題:如操作系統(tǒng)有哪幾種基本特征?簡述它們的含義。721.3操作系統(tǒng)的基本特性

1.3.1并發(fā)(Concurrence)

并行性和并發(fā)性是既相似又有區(qū)別的兩個(gè)概念,并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生;而并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。73

在多道程序環(huán)境下,并發(fā)性是指在一段時(shí)間內(nèi),宏觀上有多個(gè)程序在同時(shí)運(yùn)行,但在單處理機(jī)系統(tǒng)中,每一時(shí)刻卻僅能有一道程序執(zhí)行,故微觀上這些程序只能是分時(shí)地交替執(zhí)行。741.3操作系統(tǒng)的基本特性倘若在計(jì)算機(jī)系統(tǒng)中有多個(gè)處理機(jī),則這些可以并發(fā)執(zhí)行的程序便可被分配到多個(gè)處理機(jī)上,實(shí)現(xiàn)并行執(zhí)行,即利用每個(gè)處理機(jī)來處理一個(gè)可并發(fā)執(zhí)行的程序,這樣,多個(gè)程序便可同時(shí)執(zhí)行。

75曾有考題曰:要想實(shí)現(xiàn)真正的并行處理,系統(tǒng)中至少要配置幾個(gè)處理機(jī)?系統(tǒng)中只有一個(gè)處理機(jī),能實(shí)現(xiàn)真正的并發(fā)嗎?并行呢?761.3操作系統(tǒng)的基本特性

1.3.2共享(Sharing)

在操作系統(tǒng)環(huán)境下,所謂共享是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用。由于資源屬性的不同,進(jìn)程對資源共享的方式也不同,目前主要有以下兩種資源共享方式:互斥共享方式和同時(shí)訪問方式771.3操作系統(tǒng)的基本特性

1.互斥共享方式系統(tǒng)中的某些資源,如打印機(jī)、磁帶機(jī),雖然它們可以提供給多個(gè)進(jìn)程(線程)使用,但為使所打印或記錄的結(jié)果不致造成混淆,應(yīng)規(guī)定在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程(線程)訪問該資源。78為此,當(dāng)一個(gè)進(jìn)程A要訪問某資源時(shí),必須先提出請求,如果此時(shí)該資源空閑,系統(tǒng)便可將之分配給請求進(jìn)程A使用,此后若再有其它進(jìn)程也要訪問該資源時(shí)(只要A未用完)則必須等待。79

1.3操作系統(tǒng)的基本特性僅當(dāng)A進(jìn)程訪問完并釋放該資源后,才允許另一進(jìn)程對該資源進(jìn)行訪問。我們把這種資源共享方式稱為互斥式共享,而把在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問的資源稱為臨界資源或獨(dú)占資源。80計(jì)算機(jī)系統(tǒng)中的大多數(shù)物理設(shè)備,以及某些軟件中所用的棧、變量和表格,都屬于臨界資源,它們要求被互斥地共享。

81

2.同時(shí)訪問方式系統(tǒng)中還有另一類資源,允許在一段時(shí)間內(nèi)由多個(gè)進(jìn)程“同時(shí)”對它們進(jìn)行訪問。

這里所謂的“同時(shí)”往往是宏觀上的,而在微觀上,這些進(jìn)程可能是交替地對該資源進(jìn)行訪問。

82典型的可供多個(gè)進(jìn)程“同時(shí)”訪問的資源是磁盤設(shè)備,一些用重入碼編寫的文件,也可以被“同時(shí)”共享,即若干個(gè)用戶同時(shí)訪問該文件。831.3操作系統(tǒng)的基本特性

并發(fā)和共享是操作系統(tǒng)的兩個(gè)最基本的特征,它們又是互為存在的條件。

一方面,資源共享是以程序(進(jìn)程)的并發(fā)執(zhí)行為條件的,若系統(tǒng)不允許程序并發(fā)執(zhí)行,自然不存在資源共享問題;另一方面,若系統(tǒng)不能對資源共享實(shí)施有效管理,協(xié)調(diào)好諸進(jìn)程對共享資源的訪問,也必然影響到程序并發(fā)執(zhí)行的程度,甚至根本無法并發(fā)執(zhí)行。

841.3操作系統(tǒng)的基本特性

1.3.3虛擬(Virtual)

操作系統(tǒng)中的所謂“虛擬”,是指通過某種技術(shù)把一個(gè)物理實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對應(yīng)物。物理實(shí)體(前者)是實(shí)的,即實(shí)際存在的;而后者是虛的,是用戶感覺上的東西。相應(yīng)地,用于實(shí)現(xiàn)虛擬的技術(shù),稱為虛擬技術(shù)。85

在OS中利用了多種虛擬技術(shù),分別用來實(shí)現(xiàn)虛擬處理機(jī)、虛擬內(nèi)存、虛擬外部設(shè)備和虛擬信道等。861.3操作系統(tǒng)的基本特性

在虛擬處理機(jī)技術(shù)中,是通過多道程序設(shè)計(jì)技術(shù),讓多道程序并發(fā)執(zhí)行的方法,來分時(shí)使用一臺處理機(jī)的。此時(shí),雖然只有一臺處理機(jī),但它能同時(shí)為多個(gè)用戶服務(wù),使每個(gè)終端用戶都認(rèn)為是有一個(gè)CPU在專門為他服務(wù)。87

亦即,利用多道程序設(shè)計(jì)技術(shù),把一臺物理上的CPU虛擬為多臺邏輯上的CPU,也稱為虛擬處理機(jī),我們把用戶所感覺到的CPU稱為虛擬處理器。

881.3操作系統(tǒng)的基本特性類似地,可以通過虛擬存儲器技術(shù),將一臺機(jī)器的物理存儲器變?yōu)樘摂M存儲器,以便從邏輯上來擴(kuò)充存儲器的容量。此時(shí),雖然物理內(nèi)存的容量可能不大(如128MB),但它可以運(yùn)行比它大得多的用戶程序(如200MB)。891.3操作系統(tǒng)的基本特性這使用戶所感覺到的內(nèi)存容量比實(shí)際內(nèi)存容量大得多,認(rèn)為該機(jī)器的內(nèi)存至少也有200MB。當(dāng)然這時(shí)用戶所感覺到的內(nèi)存容量是虛的。我們把用戶所感覺到的存儲器稱為虛擬存儲器。901.3操作系統(tǒng)的基本特性我們還可以通過虛擬設(shè)備技術(shù),將一臺物理I/O設(shè)備虛擬為多臺邏輯上的I/O設(shè)備,并允許每個(gè)用戶占用一臺邏輯上的I/O設(shè)備,這樣便可使原來僅允許在一段時(shí)間內(nèi)由一個(gè)用戶訪問的設(shè)備(即臨界資源),變?yōu)樵谝欢螘r(shí)間內(nèi)允許多個(gè)用戶同時(shí)訪問的共享設(shè)備。911.3操作系統(tǒng)的基本特性例如,原來的打印機(jī)屬于臨界資源,而通過虛擬設(shè)備技術(shù),可以把它變?yōu)槎嗯_邏輯上的打印機(jī),供多個(gè)用戶“同時(shí)”打印。此外,也可以把一條物理信道虛擬為多條邏輯信道(虛信道)。在操作系統(tǒng)中,虛擬的實(shí)現(xiàn)主要是通過分時(shí)使用的方法。921.3操作系統(tǒng)的基本特性1.3.4異步性(Asynchronism)

在多道程序環(huán)境下,允許多個(gè)進(jìn)程并發(fā)執(zhí)行,但只有進(jìn)程在獲得所需的資源后方能執(zhí)行。在單處理機(jī)環(huán)境下,由于系統(tǒng)中只有一個(gè)處理機(jī),因而每次只允許一個(gè)進(jìn)程執(zhí)行,其余進(jìn)程只能等待。931.3操作系統(tǒng)的基本特性比如,當(dāng)正在執(zhí)行的進(jìn)程提出某種資源要求,如打印請求,而若此時(shí)打印機(jī)正在為其它某進(jìn)程打印,由于打印機(jī)屬于臨界資源,因此正在執(zhí)行的這個(gè)進(jìn)程必須等待,且放棄處理機(jī),直到打印機(jī)空閑,并再次把處理機(jī)分配給該進(jìn)程時(shí),該進(jìn)程方能繼續(xù)執(zhí)行。94等待其它資源也同樣??梢?,由于資源等因素的限制,使進(jìn)程的執(zhí)行通常都不是“一氣呵成”,而是以“停停走走”的方式運(yùn)行。951.3操作系統(tǒng)的基本特性內(nèi)存中的每個(gè)進(jìn)程在何時(shí)能獲得處理機(jī)運(yùn)行,何時(shí)又因提出某種資源請求而暫停,以及進(jìn)程以怎樣的速度向前推進(jìn),每道程序總共需多少時(shí)間才能完成,等等,這些因素都是不可預(yù)知的。96還有,由于各用戶程序性能不同,比如,有的側(cè)重于計(jì)算而較少需要I/O;而又有的程序其計(jì)算少而I/O多,這樣,很可能是先進(jìn)入內(nèi)存的作業(yè)后完成;而后進(jìn)入內(nèi)存的作業(yè)先完成。971.3操作系統(tǒng)的基本特性換句話說,進(jìn)程(先當(dāng)作業(yè)看吧)是以人們不可預(yù)知的速度向前推進(jìn),此即進(jìn)程的異步性。

盡管如此,但只要運(yùn)行環(huán)境相同,作業(yè)經(jīng)多次運(yùn)行,都會獲得完全相同的結(jié)果。因此,異步運(yùn)行方式是允許的,它也是操作系統(tǒng)的一個(gè)重要特征。

981.4操作系統(tǒng)的主要功能操作系統(tǒng)的主要任務(wù),就是為多道程序的運(yùn)行提供良好的運(yùn)行環(huán)境,以保證多道程序能有條不紊、高效地運(yùn)行,并能最大程度地提高系統(tǒng)中各種資源的利用率,且方便用戶的使用。99為實(shí)現(xiàn)上述任務(wù),操作系統(tǒng)應(yīng)具備這樣幾方面的功能:處理機(jī)管理、存儲器管理、設(shè)備管理和文件管理——又有題曰:操作系統(tǒng)的四大管理功能是什么?操作系統(tǒng)的五大管理功能是什么?(再加上作業(yè)管理)100

1.4.1處理機(jī)管理

(1)進(jìn)程控制:為作業(yè)創(chuàng)建進(jìn)程、撤消已結(jié)束的進(jìn)程,以及控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換。(2)進(jìn)程同步:為多個(gè)進(jìn)程(含線程)的運(yùn)行進(jìn)行協(xié)調(diào)。(3)進(jìn)程通信:進(jìn)程通信的任務(wù)就是用來實(shí)現(xiàn)在相互合作的進(jìn)程之間的信息交換。(4)調(diào)度1011.4操作系統(tǒng)的主要功能1.4.2存儲器管理功能內(nèi)存分配、內(nèi)存保護(hù)、地址映射、內(nèi)存擴(kuò)充。1021.4操作系統(tǒng)的主要功能1.4.3設(shè)備管理功能設(shè)備管理用于管理計(jì)算機(jī)系統(tǒng)中所有的輸入輸出設(shè)備(外圍設(shè)備),它的一個(gè)重要作用就是按照一定的算法在進(jìn)程間調(diào)度和分配設(shè)備。設(shè)備管理還要按用戶要求啟動具體設(shè)備,完成數(shù)據(jù)傳輸操作,并且處理設(shè)備的中斷。

1031.4操作系統(tǒng)的主要功能

1.4.4文件管理功能計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)是以文件的形式保存在外存上的。文件系統(tǒng)主要負(fù)責(zé)對外存上的信息進(jìn)行組織、管理、存取和保護(hù)。

具體包括文件存儲空間的管理、目錄管理、文件的讀/寫管理和保護(hù)等等。1041.5操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)

操作系統(tǒng)是一個(gè)十分復(fù)雜的大型系統(tǒng)軟件,其結(jié)構(gòu)已經(jīng)經(jīng)歷了四代變革:第一代:無結(jié)構(gòu)的操作系統(tǒng)第二代:模塊式結(jié)構(gòu)第三代:層次式結(jié)構(gòu)第四代:微內(nèi)核結(jié)構(gòu)105第一代至第三代的OS結(jié)構(gòu),稱為傳統(tǒng)的OS結(jié)構(gòu),而把微內(nèi)核的OS結(jié)構(gòu)稱為現(xiàn)代OS結(jié)構(gòu)。1061.5操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)

1.無結(jié)構(gòu)操作系統(tǒng)在早期開發(fā)操作系統(tǒng)時(shí),設(shè)計(jì)者只是把他的注意力放在功能的實(shí)現(xiàn)和獲得高的效率上,缺乏首尾一致的設(shè)計(jì)思想。107此時(shí)的OS是為數(shù)眾多的一組過程的集合,各過程之間可以相互調(diào)用,在操作系統(tǒng)內(nèi)部不存在任何結(jié)構(gòu),因此,這種OS是無結(jié)構(gòu)的,也有人把它稱為整體系統(tǒng)結(jié)構(gòu)1081.5操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)

1.無結(jié)構(gòu)操作系統(tǒng)(續(xù))此時(shí)程序設(shè)計(jì)的技巧,只是如何編制緊湊的程序,以便于有效地利用內(nèi)存、對GOTO語句的使用不加任何限制。這樣,設(shè)計(jì)出的操作系統(tǒng)既龐大又雜亂,缺乏清晰的程序結(jié)構(gòu)。109這一方面會使所編制出的程序錯(cuò)誤很多,給調(diào)試工作帶來很多困難;另一方面也使程序難以閱讀和理解,增加了維護(hù)人員的負(fù)擔(dān)。

1101.5操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)

2.模塊化OS結(jié)構(gòu)

模塊化程序設(shè)計(jì)技術(shù),是最早(20世紀(jì)60年代)出現(xiàn)的一種程序設(shè)計(jì)技術(shù)。該技術(shù)是基于“分解”和“模塊化”原則來控制大型軟件的復(fù)雜度的。111為使OS具有較清晰的結(jié)構(gòu),OS不再是由眾多的過程直接構(gòu)成,而是將OS按其功能劃分為若干個(gè)具有一定獨(dú)立性和大小的模塊。112圖1-5模塊化操作系統(tǒng)結(jié)構(gòu)

1131.5操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)3.分層式OS結(jié)構(gòu)這種結(jié)構(gòu)從改進(jìn)設(shè)計(jì)方式上說,應(yīng)使我們的每一步設(shè)計(jì)都是建立在可靠的基礎(chǔ)上。114從物理機(jī)器開始,在其上面先添加一層具有一定功能的軟件A1,由于A1是建立在完全確定的物理機(jī)器上的,在經(jīng)過精心設(shè)計(jì)和幾乎是窮盡無遺的測試后,可以認(rèn)為A1是正確的;然后再在A1上添加一層新軟件A2,……,如此一層一層地自底向上增添軟件層,每一層都實(shí)現(xiàn)若干功能,最后總能構(gòu)成一個(gè)能滿足需要的OS。1151.5操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)4微內(nèi)核OS結(jié)構(gòu)為了提高OS的靈活性和可擴(kuò)充性而將OS劃分為兩部分:

一部分是用于提供各種服務(wù)的一組服務(wù)器(進(jìn)程),另一部分是內(nèi)核,用來處理客戶和服務(wù)器之間的通信.

此外,在內(nèi)核中還應(yīng)具有其它一些機(jī)構(gòu),用于實(shí)現(xiàn)與硬件緊密相關(guān)的和一些較基本的功能。

116微內(nèi)核OS采用的技術(shù)(1).客戶/服務(wù)器模式(Client-Server)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論