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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

1.方便性

2.有效性

3.可擴充性

4.開放性

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

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

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

1.OS作為用戶與計算機硬件之間的接口

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

20

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

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

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

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

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

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

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

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

24

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

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

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

27

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

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

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

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

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

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

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

34

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

IBM的1401和7094,就是這樣的實例:

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

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

(1)自動性。

(2)順序性。

(3)單道性。

441.2.3多道批處理系統(tǒng)(進入操作系統(tǒng)時代)

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

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

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

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

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

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

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

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

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

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

:IBM的OS/360,它運行在IBM的第三代計算機System/360、System/370、System/4300上;OS/360在技術和理念上都有劃時代的意義,但在商業(yè)上沒有使用,因為它有很多在所難免的錯誤。IBM隨后對OS/360進行了完善,逐漸演變成一個功能強大、性能可靠的操作系統(tǒng)。53

1.2.4分時系統(tǒng)

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

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

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

1.2.4分時系統(tǒng)

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

(1)人—機交互。

(2)多個用戶共享主機。

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

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

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

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

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

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

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

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

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

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

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

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

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

1.3.1并發(fā)(Concurrence)

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

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

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

1.3.2共享(Sharing)

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

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

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

81

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

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

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

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

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

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

1.3.3虛擬(Virtual)

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

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

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

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

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

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

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

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

1.4.1處理機管理

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

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

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

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

操作系統(tǒng)是一個十分復雜的大型系統(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)設計

1.無結(jié)構(gòu)操作系統(tǒng)在早期開發(fā)操作系統(tǒng)時,設計者只是把他的注意力放在功能的實現(xiàn)和獲得高的效率上,缺乏首尾一致的設計思想。107此時的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)設計

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論