2010年自考工學(xué)類“操作系統(tǒng)原理”復(fù)習(xí)資料(9)

  • 發(fā)布時(shí)間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導(dǎo)讀:
  自學(xué)要求:在學(xué)習(xí)操作系統(tǒng)基本工作原理的基礎(chǔ)上,了解一個(gè)具體操作系統(tǒng)UNIX的實(shí)現(xiàn)方法。  本章不是重點(diǎn)章,學(xué)習(xí)時(shí)注意結(jié)合前面章節(jié)的內(nèi)容來領(lǐng)會?! ∫弧NIX系統(tǒng)結(jié)構(gòu)(領(lǐng)會)  1、UNIX的層次結(jié)構(gòu)?! NIX可以分為內(nèi)核層和外殼層兩部分。  內(nèi)核層是UNIX操作系統(tǒng)的核心,它實(shí)現(xiàn)存儲管理、文件管理、設(shè)備管理、

自學(xué)要求:在學(xué)習(xí)操作系統(tǒng)基本工作原理的基礎(chǔ)上,了解一個(gè)具體操作系統(tǒng)UNIX的實(shí)現(xiàn)方法。

本章不是重點(diǎn)章,學(xué)習(xí)時(shí)注意結(jié)合前面章節(jié)的內(nèi)容來領(lǐng)會。

一、UNIX系統(tǒng)結(jié)構(gòu)(領(lǐng)會)

1、UNIX的層次結(jié)構(gòu)。

UNIX可以分為內(nèi)核層和外殼層兩部分。

內(nèi)核層是UNIX操作系統(tǒng)的核心,它實(shí)現(xiàn)存儲管理、文件管理、設(shè)備管理、進(jìn)程管理等功能并為外殼層提供系統(tǒng)調(diào)用。

外殼層為用戶提供各種操作命令(UNIX把它們稱為shell命令)和程序設(shè)計(jì)環(huán)境。外殼層由shell解釋程序、支持程序設(shè)計(jì)的各種語言(如C、PASCAL和BASIC等)、編譯程序和解釋程序、實(shí)用程序和系統(tǒng)庫等組成。

2、UNIX系統(tǒng)的主要特點(diǎn)。

短小精悍

簡潔有效

易移植

可擴(kuò)充

開放性

3、UNIX的程序員接口和用戶接口。

UNIX的程序員接口就是其內(nèi)核提供的系統(tǒng)調(diào)用,它是內(nèi)核為外殼用戶程序提供的服務(wù)界面,也就是操作系統(tǒng)支持用戶程序正常工作的接口。

系統(tǒng)調(diào)用是用戶程序請求操作系統(tǒng)為其服務(wù)的唯一形式,UNIX規(guī)定用戶程序用 trap 指令請求服務(wù)。

UNIX的中粗略地分為三類:文件操作類、進(jìn)程控制類和信號與時(shí)間類。

shell命令是終端用戶與UNIX的接口。因?yàn)橛脩舨荒苤苯邮褂孟到y(tǒng)調(diào)用,而只能使用外殼層的用戶程序。一個(gè)在終端上登錄成功的用戶可以用UNIX提供的shell命令來得到用戶程序。

二、UNIX系統(tǒng)的進(jìn)程(領(lǐng)會)

1、進(jìn)程的組成:在UNIX系統(tǒng)中進(jìn)程由三部分組成:進(jìn)程控制塊、正文段和數(shù)據(jù)段。

2、進(jìn)程的狀態(tài)及狀態(tài)轉(zhuǎn)換:UNIX進(jìn)程在執(zhí)行過程中由于各種原因使其狀態(tài) 不斷發(fā)生變化,且當(dāng)內(nèi)存空間不夠時(shí)可把一些進(jìn)程換出到磁盤上,需要時(shí)又可把它換進(jìn)內(nèi)存。進(jìn)程的狀態(tài)有運(yùn)行狀態(tài)、就緒狀態(tài)、睡眠狀態(tài)、創(chuàng)建狀態(tài)、僵死狀態(tài)。

3、Shell進(jìn)程:UNIX系統(tǒng)初始起動(dòng)時(shí)為每個(gè)用戶創(chuàng)建一個(gè)shell進(jìn)程,每個(gè)shell進(jìn)程等待用戶輸入命令。當(dāng)shell進(jìn)程接收了用戶命令后再創(chuàng)建子進(jìn)程去解釋執(zhí)行命令,子進(jìn)程在執(zhí)行過程中可以按需要再創(chuàng)建子進(jìn)程。形成一棵進(jìn)程樹。

4)進(jìn)程的創(chuàng)建:一個(gè)進(jìn)程總是使用系統(tǒng)調(diào)用fork來創(chuàng)建新進(jìn)程,形成父子關(guān)系。父進(jìn)程與子進(jìn)程可以并發(fā)執(zhí)行,子進(jìn)程可以共享父進(jìn)程的正文段和已打開的文件。

5、進(jìn)程調(diào)度算法及其實(shí)現(xiàn):在內(nèi)存就緒的進(jìn)程中,當(dāng)處理器空閑時(shí)可以競爭處理器,UNIX系統(tǒng)對進(jìn)程的調(diào)度采用動(dòng)態(tài)優(yōu)先數(shù)調(diào)度算法,優(yōu)先數(shù)大的進(jìn)程其優(yōu)先權(quán)低,進(jìn)程調(diào)度總是讓優(yōu)先數(shù)小(優(yōu)先權(quán)高)的進(jìn)程先占用處理器。

6、利用管道設(shè)施pipe實(shí)現(xiàn)進(jìn)程間的通信:UNIX的管道機(jī)制pipe是連接在進(jìn)程間的共享文件,稱為pipe文件。通過管道機(jī)制對進(jìn)程讀寫pipe文件進(jìn)行操作,使得一個(gè)進(jìn)程可以把信息寫入pipe文件,別的進(jìn)程可以從pipe文件中讀取信息,實(shí)現(xiàn)進(jìn)程間的通信。

三、UNIX系統(tǒng)的存儲管理(領(lǐng)會)

1、對換(Swapping)技術(shù):這就是前面我們所學(xué)的虛擬存儲器在UNIX中的應(yīng)用。磁盤上設(shè)置開辟一個(gè)足夠大的區(qū)域,為對換區(qū)。當(dāng)內(nèi)存中的進(jìn)程要擴(kuò)大內(nèi)存空間,而當(dāng)前的內(nèi)存空間又不能滿足時(shí),則可把內(nèi)存中的某些進(jìn)程暫換出到對換區(qū)中,在適當(dāng)?shù)臅r(shí)候又可以把它們換進(jìn)內(nèi)存。因而,對換區(qū)可作為內(nèi)存的邏輯擴(kuò)充,用對換技術(shù)解決進(jìn)程之間的內(nèi)存競爭。UNIX對內(nèi)存空間和對換區(qū)空間的管理都采用最先適應(yīng)分配算法。

2、虛擬頁式存儲管理技術(shù)。UNIX把進(jìn)程的地址空間劃分成三個(gè)功能區(qū)段:系統(tǒng)區(qū)段、進(jìn)程控制區(qū)段、進(jìn)程程序區(qū)段。系統(tǒng)區(qū)段占用系統(tǒng)空間,系統(tǒng)空間中的程序和數(shù)據(jù)常駐內(nèi)存。其余兩個(gè)區(qū)段占用進(jìn)程空間,是進(jìn)程中非常駐內(nèi)存部分。通過頁表和硬件的地址轉(zhuǎn)換機(jī)構(gòu)完成虛擬地址和物理地址之間的轉(zhuǎn)換。

四、UNIX系統(tǒng)的文件系統(tǒng)(領(lǐng)會)

1、UNIX系統(tǒng)中的邏輯文件采用流式文件組織

在UNIX系統(tǒng)中,文件的邏輯結(jié)構(gòu)是由一串順序的字符組成的流式文件,即用戶文件是不劃分記錄的。文件的物理結(jié)構(gòu)是采用索引結(jié)構(gòu)方式,即把文件按一定的長度分塊后存放到磁盤上。UNIX的文件系統(tǒng)分成基本文件和可裝卸的子文件系統(tǒng)兩部分。

2、UNIX的樹形目錄結(jié)構(gòu):UNIX采用樹形目錄,因而從用戶角度來看,UNIX文件系統(tǒng)是一個(gè)倒樹形的層次結(jié)構(gòu)。UNIX把普通文件、目錄文件保存在磁盤上,一個(gè)具體的文件可以用路徑名確定。磁盤被分成塊(扇區(qū)),每塊為512個(gè)字節(jié)或1K字節(jié)

3、UNIX系統(tǒng)中的物理文件采用索引結(jié)構(gòu)組織。UNIX中的文件在磁盤上是按索引結(jié)構(gòu)組織的,每個(gè)文件都有一張索引表記錄文件占用的磁盤空間塊號。

4、UNIX的索引節(jié)點(diǎn)。UNIX中每個(gè)文件有一個(gè)唯一的索引節(jié)點(diǎn),索引節(jié)點(diǎn)靜態(tài)地存放在磁盤上,故稱為磁盤索引節(jié)點(diǎn)。當(dāng)建立一個(gè)新文件時(shí)就要為該文件分配一個(gè)索引節(jié)點(diǎn)號和存放索引節(jié)點(diǎn)的盤空間。

活動(dòng)索引節(jié)點(diǎn)是為了加快文件訪問速度而在內(nèi)存中對磁盤索引節(jié)點(diǎn)進(jìn)行復(fù)制而成。若要對文件進(jìn)行各種操作,則必須把相應(yīng)的磁盤索引節(jié)點(diǎn)復(fù)制到活動(dòng)索引表中,這樣才能根據(jù)文件的控制和管理信息實(shí)現(xiàn)相應(yīng)的操作。在活動(dòng)索引表中的節(jié)點(diǎn)被稱為活動(dòng)索引節(jié)點(diǎn)。

5、UNIX系統(tǒng)中基本文件操作:通過系統(tǒng)調(diào)用實(shí)現(xiàn),文件操作類的系統(tǒng)調(diào)用主要有creat(建立)、open(打開)、read(讀)、write(寫)、close(關(guān)閉)、link(鏈接)、unlink(刪除)等。

6、文件存儲空間 磁盤空間的管理(參閱第五章):UNIX中的每一個(gè)文件系統(tǒng)(基本文件系統(tǒng)或子文件系統(tǒng))的磁盤空間可分成幾個(gè)部分:一、引導(dǎo)塊二、超級塊三、索引節(jié)點(diǎn)區(qū)四、文件存儲區(qū)。

UNIX中可分配的磁盤空間有兩類:一類是索引節(jié)點(diǎn)區(qū),另一類是存放文件的存儲區(qū)UNIX對這兩類存儲空間采用不同的管理方法。

五、UNIX系統(tǒng)的I/O系統(tǒng)(領(lǐng)會)

1、塊設(shè)備和字符設(shè)備

塊設(shè)備以塊為單位每次與內(nèi)存交換一組信息。字符設(shè)備以字節(jié)為單位與內(nèi)存交換信息。塊設(shè)備是用來存儲信息的設(shè)備,進(jìn)程可以從塊設(shè)備上讀取所需的信息,也可以把信息保存到塊設(shè)備上。字符設(shè)備是計(jì)算機(jī)用來接收外部信息或把處理好的信息傳向外部的設(shè)備。塊設(shè)備包括硬盤、軟盤、磁帶等,字符設(shè)備包括終端、打印機(jī)等。

2、設(shè)備文件:UNIX系統(tǒng)把設(shè)備也當(dāng)作文件來對待,每個(gè)設(shè)備都有一個(gè)文件名,并對它像文件那樣進(jìn)行操作。

3、緩沖技術(shù):這個(gè)技術(shù)就是前面我們學(xué)過的虛擬設(shè)備(SPOOL技術(shù))在UNIX中的實(shí)際應(yīng)用UNIX采用緩沖技術(shù)實(shí)現(xiàn)設(shè)備的讀寫操作。對寫操作,驅(qū)動(dòng)程序分配一個(gè) 緩沖區(qū) ,先從用戶空間把信息拷貝到緩沖區(qū),再從緩沖區(qū)輸出到設(shè)備;對讀操作,先從設(shè)備接收信息到緩沖區(qū),再將信息拷貝到指定的用戶空間。這樣做的目的是為了減少啟動(dòng)設(shè)備的次數(shù),提高整個(gè)系統(tǒng)的吞吐率。

4、塊設(shè)備的管理:塊設(shè)備來與文件系統(tǒng)之間有一個(gè)接口實(shí)現(xiàn)對緩沖區(qū)的管理,通過啟動(dòng)驅(qū)動(dòng)程序完成相應(yīng)的打開、關(guān)閉、讀和寫等操作。

5、字符設(shè)備的管理:字符設(shè)備管理為各種字符設(shè)備設(shè)置了一些反映它們各自工作特性的數(shù)據(jù)結(jié)構(gòu):開關(guān)表、設(shè)備表和I/O隊(duì)列等。字符設(shè)備工作速度低,一次輸入輸出要求傳送的字節(jié)數(shù)少而且不固定。所以不適宜采用塊設(shè)備管理中的緩沖技術(shù),而是采用緩沖區(qū)容量較小的、易管理的字符緩沖技術(shù)。

相關(guān)閱讀