unix操作系統(tǒng)-廣西大學(xué)計(jì)算機(jī)與電子信息學(xué)院_第1頁
已閱讀1頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、UNIX操作系統(tǒng),主講:陳笑蓉貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,UNIX操作系統(tǒng)是一個(gè)功能很強(qiáng)而且是十分靈活的操作系統(tǒng)和計(jì)算機(jī)環(huán)境 ;是使用非常方便的軟件開發(fā)環(huán)境; 是當(dāng)代最有代表性的多用戶多任務(wù)分時(shí)系統(tǒng)。,主要內(nèi)容,UNIX操作系統(tǒng)的發(fā)展和特點(diǎn) UNIX的系統(tǒng)結(jié)構(gòu) UNIX進(jìn)程管理 進(jìn)程調(diào)度 進(jìn)程通信 UNIX存儲管理 UNIX設(shè)備管理 UNIX操作系統(tǒng)的文件管理,9.1 UNIX操作系統(tǒng)的發(fā)展和特點(diǎn),20世紀(jì)60~

2、70年代,AT&T的Bell實(shí)驗(yàn)室的Ken Thompson和Dennis Ritchie(1983 ACM TURING AWARD);C語言的誕生,為了寫UNIX1978年UNIX V7產(chǎn)生,1982年UNIX System III(V7+PWB+UNIX/RT)1978年Berkeley分校發(fā)布3BSD(虛擬存儲器支持、按需分頁支持),1979年4BSD(internet支持),1993年4.4BSD(新文件系統(tǒng)),

3、,4.3BSD,4.3BSD,4.3BSD Tahoe,SVR3.1,SVR3.0,4.4BSD,,,,,,SVR3.2,SVR4,POSIX.1,ANSI C,XPG3,1986,1987,1988,1989,1990,1991,1992,,,,,,,,,,,,,,,SVR: SYSTEM V,UNIX標(biāo)準(zhǔn)化,80年代UNIX版本的劇增以及各種UNIX版本之間的差別不斷擴(kuò)大導(dǎo)致了許多用戶(例如美國政府)要求對其標(biāo)準(zhǔn)化,以增強(qiáng)各種應(yīng)用程

4、序在這些UNIX操作系統(tǒng)之間的可移植性。其中幾個(gè)重要的標(biāo)準(zhǔn)包括:ANSI C、IEEE POSIX以及X/Open XPG。所有這些標(biāo)準(zhǔn)只是界面的規(guī)格說明(例如,網(wǎng)絡(luò)界面,進(jìn)程間的通信,系統(tǒng)管理等),而具體實(shí)施則留給制造商。,UNIX的基本特點(diǎn),多用戶多任務(wù)的分時(shí)系統(tǒng) 良好的界面 可移植性強(qiáng) 配置靈活 具有一個(gè)可裝卸的分層樹型結(jié)構(gòu)文件系統(tǒng) 安全機(jī)制完善 豐富的網(wǎng)絡(luò)功能,UNIX 的界面,UNIX有兩種界面,一個(gè)是命令控制界

5、面,一個(gè)是編程界面。命令控制界面是通過Shell提供給用戶使用。編程界面是UNIX系統(tǒng)的系統(tǒng)調(diào)用以標(biāo)準(zhǔn)實(shí)用子程序形式提供給用戶編程中使用,從而減少用戶程序設(shè)計(jì)和編程難度,節(jié)省用戶的程序設(shè)計(jì)和編程時(shí)間。,基本命令控制界面包括:系統(tǒng)訪問命令,例如 login ,logout 等。編輯和文件管理命令,例如 vi ,emacs , cp ,rm 和ls 等。 編程、鏈接命令,例如 cc , link 等。 維護(hù)、管理命令,例如 ad

6、duser , chown 等調(diào)試命令,例如 dbx 等。記帳、日期等命令,例如 date 等。網(wǎng)絡(luò)通信命令,例如 mailx 等。,特殊命令包括 :后臺命令“&” 文件名生成符號“*”和“?” 輸入輸出重定向符號“<”、“>”和“>>” 管道命令 “∣”,編程界面: 文件操作類:open();fopen();write();read();close();fclose()進(jìn)程控制類: fork();wait()

7、;kill();signal();pipe();sleep();信號與時(shí)間類:time();stime();date(); 具體使用請用man 幫助。如man fopen,9.2 UNIX的系統(tǒng)結(jié)構(gòu),UNIX系統(tǒng)結(jié)構(gòu)分為三層:最內(nèi)層是UNIX操作系統(tǒng)核心,它包括文件控制系統(tǒng)和進(jìn)程控制系統(tǒng)兩大部分。中間層是shelll命令解釋層、實(shí)用程序、庫函數(shù)。該層中的shell解釋程序是用戶和UNIX操作系統(tǒng)的界面。最外層是用戶程序,包括許

8、多應(yīng)用軟件。UNIX的系統(tǒng)結(jié)構(gòu)如下圖( 9-2) 所示,,UNIX 系統(tǒng)核心的體系結(jié)構(gòu),在UNIX操作系統(tǒng)的核心部分有兩個(gè)子系統(tǒng):文件子系統(tǒng)進(jìn)程控制子系統(tǒng)核外程序通過引用兩組被明確定義的系統(tǒng)調(diào)用與核心交往,其中一組用于與文件系統(tǒng)的交互作用,另一組與進(jìn)程控制子系統(tǒng)的交互作用。如圖9 -3 所示.。,系統(tǒng)調(diào)用接口 :系統(tǒng)調(diào)用接口是操作系統(tǒng)提供給編程人員的接口。編程人員通過系統(tǒng)調(diào)用使用操作系統(tǒng)內(nèi)核提供的各種功能。系統(tǒng)調(diào)用的執(zhí)行不同

9、于一般用戶程序的執(zhí)行。系統(tǒng)調(diào)用執(zhí)行是在核心態(tài)下執(zhí)行系統(tǒng)子程序,而用戶程序則是在用戶態(tài)下執(zhí)行。,UNIX的系統(tǒng)調(diào)用由一條訪管指令———陷阱或陷阱指令實(shí)現(xiàn)(trap)。該指令是一條機(jī)器指令,其操作數(shù)部分對應(yīng)于系統(tǒng)調(diào)用的編號。另外,在系統(tǒng)中有一張系統(tǒng)調(diào)入口表,用來指示各系統(tǒng)調(diào)用處理程序的入口地址。,文件子系統(tǒng) 文件管理 :用于為文件分配存儲空間,管理空閑盤塊,控制對文件的存取,以及為用戶檢索數(shù)據(jù)。 高速緩沖機(jī)制 :緩沖機(jī)制與I/

10、O設(shè)備驅(qū)動(dòng)程序間交互作用,以控制各種外設(shè)到核心的數(shù)據(jù)傳送和核心到外設(shè)的數(shù)據(jù)傳送。 設(shè)備驅(qū)動(dòng)程序 :用以控制I/O 設(shè)備進(jìn)行操作的核心模塊,進(jìn)程控制子系統(tǒng) 進(jìn)程控制:fork,exec,exit,… 進(jìn)程通信 :原語,軟中斷,管道,socket,…存儲器管理:采用了段頁存儲管理方式;進(jìn)程調(diào)度:多級反饋輪轉(zhuǎn)調(diào)度算法。,9.3 UNIX進(jìn)程管理,整個(gè)UNIX系統(tǒng)就是一個(gè)進(jìn)程家族,有一個(gè)最高的祖先。一般情況下,UNIX系統(tǒng)的進(jìn)程家

11、族樹如下圖9-4所示,0#進(jìn)程和1#進(jìn)程是UNIX系統(tǒng)中兩個(gè)最重要的進(jìn)程,其中0#進(jìn)程是UNIX系統(tǒng)中唯一只在核心態(tài)下運(yùn)行的進(jìn)程。它有三種功能:調(diào)度分配處理器、管理進(jìn)程交換和創(chuàng)建1#進(jìn)程,所有其他進(jìn)程都由1#進(jìn)程直接或間接創(chuàng)建。,進(jìn)程的數(shù)據(jù)結(jié)構(gòu) 在UNIX系統(tǒng)V中,把PCB 分成兩部分,一是進(jìn)程表項(xiàng),稱為proc結(jié)構(gòu)。其中含有最常用的信息,由核心對它們進(jìn)行存取;另一部分是U區(qū),稱為user結(jié)構(gòu)。存放進(jìn)程表項(xiàng)的一些擴(kuò)充信息,它只能被

12、運(yùn)行在核心態(tài)的進(jìn)程所存取。,UNIX系統(tǒng)把一個(gè)進(jìn)程的虛擬地址空間劃分為若干個(gè)連續(xù)的邏輯區(qū),有正文區(qū)、數(shù)據(jù)區(qū)、棧區(qū)等。為了對區(qū)進(jìn)行管理,在核心中設(shè)置了一個(gè)系統(tǒng)區(qū)表(簡稱區(qū)表),各表項(xiàng)中記錄了描述活動(dòng)區(qū)的有關(guān)信息。進(jìn)程區(qū)表中每一項(xiàng)記錄一個(gè)區(qū)的起始虛地址及指向系統(tǒng)區(qū)表中對應(yīng)的區(qū)表項(xiàng)。,表項(xiàng)區(qū),進(jìn)程的狀態(tài),用戶態(tài)運(yùn)行 在CPU上執(zhí)行用戶程序;核心態(tài)運(yùn)行 在CPU上執(zhí)行核心程序;在內(nèi)存就緒 具備運(yùn)行條件,只要內(nèi)

13、核調(diào)度就能執(zhí)行;在內(nèi)存睡眠 進(jìn)程處于內(nèi)存中,只有等到某事件發(fā)生后才能執(zhí)行;在外存就緒 進(jìn)程處于就緒狀態(tài),但是在其被內(nèi)核調(diào)度去執(zhí)行之前必須被交換進(jìn)內(nèi)存;在外存上睡眠 進(jìn)程在等待某事件發(fā)生,并被交換到外存上;被剝奪狀態(tài) 被調(diào)度程序剝奪了處理機(jī)后的進(jìn)程狀態(tài);創(chuàng)建態(tài) 新進(jìn)程被創(chuàng)建,還不能運(yùn)行;終止態(tài) 進(jìn)程終止自己。,進(jìn)程上下文,用戶級上下文:由進(jìn)程的用戶程序段部分編譯而成

14、的用戶正文段、用戶數(shù)據(jù)、用戶段和共享存儲器組成。共享存儲區(qū)用于實(shí)現(xiàn)進(jìn)程間的通信. 寄存器上下文;系統(tǒng)級上下文 :靜態(tài)級上下文和動(dòng)態(tài)級兩部分。靜態(tài)部分包括:PCB 結(jié)構(gòu)(proc結(jié)構(gòu)和user結(jié)構(gòu))、進(jìn)程區(qū)表項(xiàng)、系統(tǒng)區(qū)表項(xiàng)和頁表以及核心棧,區(qū)表和頁表用于實(shí)現(xiàn)進(jìn)程的虛地址到物理地址的轉(zhuǎn)換,核心棧主要用來裝載進(jìn)程中所使用系統(tǒng)調(diào)用的調(diào)用序列。動(dòng)態(tài)部分包括:進(jìn)程在執(zhí)行時(shí)使用的核心棧、若干層寄存器上下文,9.4 進(jìn)程調(diào)度,UNIX系統(tǒng)是分時(shí)系統(tǒng)

15、,因而未設(shè)置作業(yè)調(diào)度。對進(jìn)程的調(diào)度采用多級反饋隊(duì)列輪轉(zhuǎn)調(diào)度方式。相應(yīng)地,在系統(tǒng)中便為就緒進(jìn)程設(shè)置了多個(gè)就緒隊(duì)列。調(diào)度程序在進(jìn)行調(diào)度時(shí),總是先從最高優(yōu)先級隊(duì)列中,取出排在隊(duì)列最前面的進(jìn)程。僅當(dāng)最高優(yōu)先隊(duì)列中沒有進(jìn)程時(shí),才從次高優(yōu)先級隊(duì)列中找出其隊(duì)首進(jìn)程,令他執(zhí)行一個(gè)時(shí)間片后,又剝奪該進(jìn)程的執(zhí)行,將該進(jìn)程放到下一個(gè)優(yōu)先級隊(duì)列的末尾,再從優(yōu)先級最高的隊(duì)列中取出下一個(gè)就緒進(jìn)程投入運(yùn)行。,9.5 進(jìn)程通信,UNIX System V的進(jìn)程通信有

16、三種方式:信號:是對硬件中斷的一種模擬,也稱為軟中斷。這種方式是利用軟中斷信號實(shí)現(xiàn)同一用戶的各進(jìn)程之間的通信。這種通信的目的是通知對方發(fā)生了異步事件。 管道:一個(gè)管道的執(zhí)行將用到兩個(gè)file 數(shù)據(jù)結(jié)構(gòu),它們其中一個(gè)進(jìn)程可以向管道寫,而另一個(gè)進(jìn)程從管道讀. IPC機(jī)制(進(jìn)程間通信):IPC機(jī)制包括消息隊(duì)列、共享內(nèi)存和信號量三種.,9.6 UNIX存儲管理,UNIX系統(tǒng)V中采用了請求分頁存儲管理機(jī)制和對換機(jī)制。這樣,當(dāng)進(jìn)程運(yùn)行時(shí)不

17、必整個(gè)進(jìn)程的映象都在內(nèi)存,而只需在內(nèi)存保留當(dāng)前用到的頁面。當(dāng)進(jìn)程訪問到某些尚未在內(nèi)存的頁面時(shí),就由核心把這些頁面裝入內(nèi)存。,緩存技術(shù),UNIX 采用了一系列涉及到高速緩存的內(nèi)存管理技術(shù)。緩沖區(qū)緩存 頁緩存 交換緩存 硬件緩存,UNIX使用最近最少使用策略(LRU)決定把哪個(gè)頁面換出。頁面的“年齡”變量表示頁面的被訪問次數(shù)。初始值默認(rèn)為3,每訪問一次,值增加3,直到最大值20;每當(dāng)交換進(jìn)程嘗試換出一頁時(shí),年齡值減1,直到0。變

18、量“年齡”值越小,頁面越“老”,老的頁面,首先被換出。,9.7 UNIX設(shè)備管理,UNIX系統(tǒng)中也將設(shè)備分為兩類,塊設(shè)備和字符設(shè)備。對這些設(shè)備管理的目的之一是使特定硬件設(shè)備的特性與用戶無關(guān),這種特征稱為透明性,在UNIX中,大部分I/O設(shè)備的特性由于I/O系統(tǒng)的緣故甚至對內(nèi)核也是透明的。I/O系統(tǒng)是由一個(gè)超高速緩存系統(tǒng)、一般設(shè)備的驅(qū)動(dòng)程序和特殊設(shè)備的驅(qū)動(dòng)程序構(gòu)成的、現(xiàn)又增加了一種網(wǎng)絡(luò)界面,主要用于支持網(wǎng)絡(luò)的I/O操作。,設(shè)備驅(qū)動(dòng)程序,

19、UNIX系統(tǒng)中每類設(shè)備都有一個(gè)驅(qū)動(dòng)程序,設(shè)備驅(qū)動(dòng)程序是驅(qū)動(dòng)物理設(shè)備和DMA控制器或I/O控制器等直接進(jìn)行I/O操作的子程序集合。它們負(fù)責(zé)設(shè)置相應(yīng)設(shè)備有關(guān)寄存器的值,啟動(dòng)設(shè)備進(jìn)行I/O操作,指定操作的類型和數(shù)據(jù)流向等。,9.8 文件管理,UNIX文件系統(tǒng)具有四個(gè)顯著特點(diǎn):1.有層次的多級樹型目錄結(jié)構(gòu),而且還是可以靈活裝卸的文件系統(tǒng);2.把輸入/輸出的硬件和特別文件連接起來;3.對I/O設(shè)備的存取和對普通磁盤文件的存取一樣看待,統(tǒng)

20、一化為文件處理,從而簡化了用戶的操作;4.對文件提供了良好的保護(hù)機(jī)構(gòu)。,文件系統(tǒng)存儲結(jié)構(gòu),索引點(diǎn)是指在UNIX的文件系統(tǒng)中,每一個(gè)文件都有一個(gè)且僅有一個(gè)主結(jié)點(diǎn),簡稱i結(jié)點(diǎn)。i結(jié)點(diǎn)中包含的是對應(yīng)文件的特征參數(shù),如文件類型,文件長度,文件存放位置等。所有文件的i結(jié)點(diǎn)組成系統(tǒng)的i結(jié)點(diǎn)表,它存放了該文件系統(tǒng)中的所有i結(jié)點(diǎn),主結(jié)點(diǎn)從0號開始依次向后編號.,文件的尋址,1.直接尋址方式2.一次間接尋址方式3.多次間接尋址方式(二次間接尋址

21、、三次間接尋址),空閑盤塊的管理,UNIX系統(tǒng)采用成組鏈接法對空閑磁盤加以組織,系統(tǒng)將若干空閑塊組成一個(gè)組,將每組中的盤 .,目錄文件,文件的常用命令,1.   文件管理命令ls 列當(dāng)前目錄文件; cp 復(fù)制文件; 2.   文本加工命令cat 顯示文件內(nèi)容; pr 打印機(jī)打印文件內(nèi)容; 3.   軟件開發(fā)cc

22、C語言編譯程序; vi 全屏幕編輯程序。4.   進(jìn)程管理ps 顯示當(dāng)前各進(jìn)程狀況; kill 終止進(jìn)程;sleep 使進(jìn)程睡眠; & 使命令在后臺執(zhí)行。5.   通信6.    系統(tǒng)維護(hù)和服務(wù)mount 安裝文件卷到指定目錄; unmount 拆文件卷 who 顯示系

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論