UNIX操作系統(tǒng) 廣西大學計算機與電子信息學院_第1頁
UNIX操作系統(tǒng) 廣西大學計算機與電子信息學院_第2頁
UNIX操作系統(tǒng) 廣西大學計算機與電子信息學院_第3頁
UNIX操作系統(tǒng) 廣西大學計算機與電子信息學院_第4頁
UNIX操作系統(tǒng) 廣西大學計算機與電子信息學院_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、UNIX操作系統(tǒng)主講:陳笑蓉貴州大學計算機科學與技術(shù)學院1.UNIX操作系統(tǒng)是一個功能很強而且是十分靈活的操作系統(tǒng)和計算機環(huán)境 ;是使用非常方便的軟件開發(fā)環(huán)境; 是當代最有代表性的多用戶多任務分時系統(tǒng)。 2.主要內(nèi)容UNIX操作系統(tǒng)的發(fā)展和特點 UNIX的系統(tǒng)結(jié)構(gòu) UNIX進程管理 進程調(diào)度 進程通信 UNIX存儲管理 UNIX設備管理 UNIX操作系統(tǒng)的文件管理 3.9.1 UNIX操作系統(tǒng)的發(fā)展和特點 20世紀6070年代,AT&T的Bell實驗室的Ken Thompson和Dennis Ritchie(1983 ACM TURING AWARD);C語言的誕生,為了寫UNIX1978年U

2、NIX V7產(chǎn)生,1982年UNIX System III(V7+PWB+UNIX/RT)1978年Berkeley分校發(fā)布3BSD(虛擬存儲器支持、按需分頁支持),1979年4BSD(internet支持),1993年4.4BSD(新文件系統(tǒng))4.4.3BSD4.3BSD4.3BSD TahoeSVR3.1SVR3.04.4BSDSVR3.2SVR4POSIX.1ANSI CXPG31986198719881989199019911992SVR: SYSTEM V5.UNIX標準化80年代UNIX版本的劇增以及各種UNIX版本之間的差別不斷擴大導致了許多用戶(例如美國政府)要求對其標準化,以

3、增強各種應用程序在這些UNIX操作系統(tǒng)之間的可移植性。其中幾個重要的標準包括:ANSI C、IEEE POSIX以及X/Open XPG。所有這些標準只是界面的規(guī)格說明(例如,網(wǎng)絡界面,進程間的通信,系統(tǒng)管理等),而具體實施則留給制造商。 6.UNIX的基本特點 多用戶多任務的分時系統(tǒng) 良好的界面 可移植性強 配置靈活 具有一個可裝卸的分層樹型結(jié)構(gòu)文件系統(tǒng) 安全機制完善 豐富的網(wǎng)絡功能 7.UNIX 的界面 UNIX有兩種界面,一個是命令控制界面,一個是編程界面。命令控制界面是通過Shell提供給用戶使用。編程界面是UNIX系統(tǒng)的系統(tǒng)調(diào)用以標準實用子程序形式提供給用戶編程中使用,從而減少用戶程

4、序設計和編程難度,節(jié)省用戶的程序設計和編程時間。 8.基本命令控制界面包括:系統(tǒng)訪問命令,例如 login ,logout 等。編輯和文件管理命令,例如 vi ,emacs , cp ,rm 和ls 等。 編程、鏈接命令,例如 cc , link 等。 維護、管理命令,例如 adduser , chown 等調(diào)試命令,例如 dbx 等。記帳、日期等命令,例如 date 等。網(wǎng)絡通信命令,例如 mailx 等。9.特殊命令包括 :后臺命令“&” 文件名生成符號“*”和“?” 輸入輸出重定向符號“”、“”和“” 管道命令 “” 進程1 pipe進程2 圖9 1 unix 的管道機制10.編程界面:

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

6、的系統(tǒng)結(jié)構(gòu)如下圖( 9-2) 所示 12.13.UNIX 系統(tǒng)核心的體系結(jié)構(gòu) 在UNIX操作系統(tǒng)的核心部分有兩個子系統(tǒng):文件子系統(tǒng)進程控制子系統(tǒng)核外程序通過引用兩組被明確定義的系統(tǒng)調(diào)用與核心交往,其中一組用于與文件系統(tǒng)的交互作用,另一組與進程控制子系統(tǒng)的交互作用。如圖9 3 所示.。 14. 系 統(tǒng) 調(diào) 用 接 口文 件 子 系 統(tǒng)進 程 控 制子 系 統(tǒng)進程內(nèi)部信進程調(diào)度內(nèi)存管理高速緩沖字符設備 塊設備 設備驅(qū)動器 硬 件 控 制圖 93 UNIX系統(tǒng)內(nèi)核框圖 內(nèi)核層硬 件硬件層內(nèi)核層用戶程序用戶層15.系統(tǒng)調(diào)用接口 :系統(tǒng)調(diào)用接口是操作系統(tǒng)提供給編程人員的接口。編程人員通過系統(tǒng)調(diào)用使用操作

7、系統(tǒng)內(nèi)核提供的各種功能。系統(tǒng)調(diào)用的執(zhí)行不同于一般用戶程序的執(zhí)行。系統(tǒng)調(diào)用執(zhí)行是在核心態(tài)下執(zhí)行系統(tǒng)子程序,而用戶程序則是在用戶態(tài)下執(zhí)行。 16.UNIX的系統(tǒng)調(diào)用由一條訪管指令陷阱或陷阱指令實現(xiàn)(trap)。該指令是一條機器指令,其操作數(shù)部分對應于系統(tǒng)調(diào)用的編號。另外,在系統(tǒng)中有一張系統(tǒng)調(diào)入口表,用來指示各系統(tǒng)調(diào)用處理程序的入口地址。17.文件子系統(tǒng) 文件管理 :用于為文件分配存儲空間,管理空閑盤塊,控制對文件的存取,以及為用戶檢索數(shù)據(jù)。 高速緩沖機制 :緩沖機制與I/O設備驅(qū)動程序間交互作用,以控制各種外設到核心的數(shù)據(jù)傳送和核心到外設的數(shù)據(jù)傳送。 設備驅(qū)動程序 :用以控制I/O 設備進行操作的

8、核心模塊 18.進程控制子系統(tǒng) 進程控制:fork,exec,exit, 進程通信 :原語,軟中斷,管道,socket,存儲器管理:采用了段頁存儲管理方式;進程調(diào)度:多級反饋輪轉(zhuǎn)調(diào)度算法。 19.9.3 UNIX進程管理 整個UNIX系統(tǒng)就是一個進程家族,有一個最高的祖先。一般情況下,UNIX系統(tǒng)的進程家族樹如下圖9-4所示,0進程和1進程是UNIX系統(tǒng)中兩個最重要的進程,其中0進程是UNIX系統(tǒng)中唯一只在核心態(tài)下運行的進程。它有三種功能:調(diào)度分配處理器、管理進程交換和創(chuàng)建1進程,所有其他進程都由1進程直接或間接創(chuàng)建。 20.交換進程 0#init進程 1#inetd進程syslog進程終端登

9、錄進程(login)用戶shell進程用戶子進程用戶子進程圖94 UNIX系統(tǒng)進程樹結(jié)構(gòu)21.進程的數(shù)據(jù)結(jié)構(gòu) 在UNIX系統(tǒng)V中,把PCB 分成兩部分,一是進程表項,稱為proc結(jié)構(gòu)。其中含有最常用的信息,由核心對它們進行存??;另一部分是U區(qū),稱為user結(jié)構(gòu)。存放進程表項的一些擴充信息,它只能被運行在核心態(tài)的進程所存取。 22.UNIX系統(tǒng)把一個進程的虛擬地址空間劃分為若干個連續(xù)的邏輯區(qū),有正文區(qū)、數(shù)據(jù)區(qū)、棧區(qū)等。為了對區(qū)進行管理,在核心中設置了一個系統(tǒng)區(qū)表(簡稱區(qū)表),各表項中記錄了描述活動區(qū)的有關(guān)信息。進程區(qū)表中每一項記錄一個區(qū)的起始虛地址及指向系統(tǒng)區(qū)表中對應的區(qū)表項。23.存儲盤區(qū)表A

10、BC物理盤區(qū)本進程區(qū)表虛地址(正文)1虛地址(數(shù)據(jù))2虛地址(棧)3進程控制表PCBU區(qū) 進程表ABC系統(tǒng)區(qū)表 擴充信息表項區(qū)24.進程的狀態(tài) 用戶態(tài)運行 在CPU上執(zhí)行用戶程序;核心態(tài)運行 在CPU上執(zhí)行核心程序;在內(nèi)存就緒 具備運行條件,只要內(nèi)核調(diào)度就能執(zhí)行;在內(nèi)存睡眠 進程處于內(nèi)存中,只有等到某事件發(fā)生后才能執(zhí)行;在外存就緒 進程處于就緒狀態(tài),但是在其被內(nèi)核調(diào)度去執(zhí)行之前必須被交換進內(nèi)存;在外存上睡眠 進程在等待某事件發(fā)生,并被交換到外存上;被剝奪狀態(tài) 被調(diào)度程序剝奪了處理機后的進程狀態(tài);創(chuàng)建態(tài) 新進程被創(chuàng)建,還不能運行;終止態(tài) 進程終止自己。 25.返回用戶消失睡眠系統(tǒng)調(diào)用,中斷喚醒喚

11、醒交換出交換出交換進436527198重新調(diào)度進程返回內(nèi)核運行搶占有足夠內(nèi)存fork睡眠,交換出睡眠,交換出用戶運行創(chuàng)建(內(nèi)存不夠)僵死被搶占中斷,中斷返回26.進程上下文 用戶級上下文:由進程的用戶程序段部分編譯而成的用戶正文段、用戶數(shù)據(jù)、用戶段和共享存儲器組成。共享存儲區(qū)用于實現(xiàn)進程間的通信. 寄存器上下文;系統(tǒng)級上下文 :靜態(tài)級上下文和動態(tài)級兩部分。靜態(tài)部分包括:PCB 結(jié)構(gòu)(proc結(jié)構(gòu)和user結(jié)構(gòu))、進程區(qū)表項、系統(tǒng)區(qū)表項和頁表以及核心棧,區(qū)表和頁表用于實現(xiàn)進程的虛地址到物理地址的轉(zhuǎn)換,核心棧主要用來裝載進程中所使用系統(tǒng)調(diào)用的調(diào)用序列。動態(tài)部分包括:進程在執(zhí)行時使用的核心棧、若干層

12、寄存器上下文 27.用戶級上下文進程正文用戶數(shù)據(jù)用戶棧 寄存器上下文PC的值PSW的值棧指針通用寄存器的值 系 統(tǒng) 級 上 下 文 靜態(tài)部分 動態(tài)部分 靜態(tài)部分proc結(jié)構(gòu)user結(jié)構(gòu)進程區(qū)表頁表核心棧第3層保護第2層的寄存器上下文核心棧第2層保護第1層的寄存器上下文核心棧第1層保護第0層的寄存器上下文第0層寄存器上下文28.9.4 進程調(diào)度UNIX系統(tǒng)是分時系統(tǒng),因而未設置作業(yè)調(diào)度。對進程的調(diào)度采用多級反饋隊列輪轉(zhuǎn)調(diào)度方式。相應地,在系統(tǒng)中便為就緒進程設置了多個就緒隊列。調(diào)度程序在進行調(diào)度時,總是先從最高優(yōu)先級隊列中,取出排在隊列最前面的進程。僅當最高優(yōu)先隊列中沒有進程時,才從次高優(yōu)先級隊列

13、中找出其隊首進程,令他執(zhí)行一個時間片后,又剝奪該進程的執(zhí)行,將該進程放到下一個優(yōu)先級隊列的末尾,再從優(yōu)先級最高的隊列中取出下一個就緒進程投入運行。 29.9.5 進程通信 UNIX System V的進程通信有三種方式:信號:是對硬件中斷的一種模擬,也稱為軟中斷。這種方式是利用軟中斷信號實現(xiàn)同一用戶的各進程之間的通信。這種通信的目的是通知對方發(fā)生了異步事件。 管道:一個管道的執(zhí)行將用到兩個file 數(shù)據(jù)結(jié)構(gòu),它們其中一個進程可以向管道寫,而另一個進程從管道讀. IPC機制(進程間通信):IPC機制包括消息隊列、共享內(nèi)存和信號量三種. 30.9.6 UNIX存儲管理 UNIX系統(tǒng)V中采用了請求分

14、頁存儲管理機制和對換機制。這樣,當進程運行時不必整個進程的映象都在內(nèi)存,而只需在內(nèi)存保留當前用到的頁面。當進程訪問到某些尚未在內(nèi)存的頁面時,就由核心把這些頁面裝入內(nèi)存。 31.緩存技術(shù) UNIX 采用了一系列涉及到高速緩存的內(nèi)存管理技術(shù)。緩沖區(qū)緩存 頁緩存 交換緩存 硬件緩存 32.UNIX使用最近最少使用策略(LRU)決定把哪個頁面換出。頁面的“年齡”變量表示頁面的被訪問次數(shù)。初始值默認為3,每訪問一次,值增加3,直到最大值20;每當交換進程嘗試換出一頁時,年齡值減1,直到0。變量“年齡”值越小,頁面越“老”,老的頁面,首先被換出。 33.9.7 UNIX設備管理 UNIX系統(tǒng)中也將設備分為

15、兩類,塊設備和字符設備。對這些設備管理的目的之一是使特定硬件設備的特性與用戶無關(guān),這種特征稱為透明性,在UNIX中,大部分I/O設備的特性由于I/O系統(tǒng)的緣故甚至對內(nèi)核也是透明的。I/O系統(tǒng)是由一個超高速緩存系統(tǒng)、一般設備的驅(qū)動程序和特殊設備的驅(qū)動程序構(gòu)成的、現(xiàn)又增加了一種網(wǎng)絡界面,主要用于支持網(wǎng)絡的I/O操作。 34.設備驅(qū)動程序 UNIX系統(tǒng)中每類設備都有一個驅(qū)動程序,設備驅(qū)動程序是驅(qū)動物理設備和DMA控制器或I/O控制器等直接進行I/O操作的子程序集合。它們負責設置相應設備有關(guān)寄存器的值,啟動設備進行I/O操作,指定操作的類型和數(shù)據(jù)流向等。 35.9.8 文件管理 UNIX文件系統(tǒng)具有四

16、個顯著特點:1有層次的多級樹型目錄結(jié)構(gòu),而且還是可以靈活裝卸的文件系統(tǒng);2把輸入/輸出的硬件和特別文件連接起來;3對I/O設備的存取和對普通磁盤文件的存取一樣看待,統(tǒng)一化為文件處理,從而簡化了用戶的操作;4對文件提供了良好的保護機構(gòu)。36.文件系統(tǒng)存儲結(jié)構(gòu) 索引點是指在UNIX的文件系統(tǒng)中,每一個文件都有一個且僅有一個主結(jié)點,簡稱i結(jié)點。i結(jié)點中包含的是對應文件的特征參數(shù),如文件類型,文件長度,文件存放位置等。所有文件的i結(jié)點組成系統(tǒng)的i結(jié)點表,它存放了該文件系統(tǒng)中的所有i結(jié)點,主結(jié)點從0號開始依次向后編號.37.38.文件的尋址 1直接尋址方式2一次間接尋址方式3多次間接尋址方式(二次間接尋址、三次間接尋址) 39.40.空閑盤塊的管理 UNIX系統(tǒng)采用成組鏈接法對空閑磁盤加以組織,系統(tǒng)將若干空閑塊組成一個組,將每組中的盤 .41.目錄文件 /dev/bin/lib/etc/usr/mnt

溫馨提示

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

評論

0/150

提交評論