![Linux操作系統(tǒng)課件_第1頁](http://file4.renrendoc.com/view/9405a1651ca594545b7dd6bd3daf2062/9405a1651ca594545b7dd6bd3daf20621.gif)
![Linux操作系統(tǒng)課件_第2頁](http://file4.renrendoc.com/view/9405a1651ca594545b7dd6bd3daf2062/9405a1651ca594545b7dd6bd3daf20622.gif)
![Linux操作系統(tǒng)課件_第3頁](http://file4.renrendoc.com/view/9405a1651ca594545b7dd6bd3daf2062/9405a1651ca594545b7dd6bd3daf20623.gif)
![Linux操作系統(tǒng)課件_第4頁](http://file4.renrendoc.com/view/9405a1651ca594545b7dd6bd3daf2062/9405a1651ca594545b7dd6bd3daf20624.gif)
![Linux操作系統(tǒng)課件_第5頁](http://file4.renrendoc.com/view/9405a1651ca594545b7dd6bd3daf2062/9405a1651ca594545b7dd6bd3daf20625.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第8章操作系統(tǒng)實例二:Linux教學目標:本章的重點:了解Linux操作系統(tǒng)的特點、進程通信和調(diào)度、三級頁式虛擬存儲器管理、VFS和ext2文件系統(tǒng)以及Linux的安全機制等內(nèi)容。
教學提示:Linux是可免費獲得的多用戶、多任務(wù)操作系統(tǒng),是可以自由使用的UNIX兼容產(chǎn)品,這就是學習Linux的主要原因。了解Linux操作系統(tǒng)的特點、核心技術(shù)和實現(xiàn)方法有助于該系統(tǒng)進一步的開發(fā)和應(yīng)用。1ppt課件.第8章操作系統(tǒng)實例二:Linux教學目標:本章的重點:8.1Linux概述
8.1.1學習Linux操作系統(tǒng)的意義8.1.2Linux系統(tǒng)的特點8.1.3Linux系統(tǒng)的發(fā)展2ppt課件.8.1Linux概述8.1.1學習Linux操作系8.1.4Linux體系結(jié)構(gòu)
3ppt課件.8.1.4Linux體系結(jié)構(gòu)3ppt課件.8.1.5Linux的用戶界面4ppt課件.8.1.5Linux的用戶界面4ppt課件.8.2Linux的進程管理
8.2.1Linux進程的組成Linux系統(tǒng)中的進程都具有以下4個要素。(1)有一個程序正文段供其執(zhí)行。(2)有進程專用的系統(tǒng)堆??臻g。(3)有一個進程描述符,即在內(nèi)核中的一個task_struct數(shù)據(jù)結(jié)構(gòu)。有了這個數(shù)據(jù)結(jié)構(gòu),進程才能成為內(nèi)核調(diào)度的一個基本單位,接受內(nèi)核的調(diào)度。同時,該結(jié)構(gòu)還記錄著進程所占用的各項資源。(4)有一個獨立的地址空間,即擁有專有的用戶空間和專用的用戶空間堆棧。
5ppt課件.8.2Linux的進程管理8.2.1Linux進程8.2.2Linux進程的狀態(tài)
Linux的進程狀態(tài)共有6種。(1)TASK_RUNNING:正在運行(己獲得CPU)或準備運行(就緒態(tài)——等待獲得CPU)的進程。(2)TASK_INTERRUPTIBLE:可中斷等待狀態(tài)。進程處于等待隊列中,一旦資源可用時被喚醒,也可以由其他進程通過信號(SIGNAL)或中斷喚醒。(3)TASK_UNINTERRUPTIBLE:不可中斷等待狀態(tài)。進程處于等待隊列中,一旦資源可用時被喚醒,但不可以由其他進程通過信號(SIGNAL)或中斷喚醒。(4)TASK_ZOMBIE:進程僵死狀態(tài)。進程停止運行但是尚未釋放PCB。(5)TASK_STOPPED:進程停止狀態(tài)??赡鼙惶囟ㄐ盘柦K止,也可能是受其他進程的跟蹤調(diào)用而暫時將CPU出讓給跟蹤它的進程。(6)TASK_SWAPPING:頁面被交換出內(nèi)存的進程。6ppt課件.8.2.2Linux進程的狀態(tài)Linux的進程狀態(tài)共有7ppt課件.7ppt課件.8.2.3進程狀態(tài)的切換時機第一類是隱式地主動放棄CPU。這往往是因為需要的資源目前不能獲取,如執(zhí)行read()、selec()等系統(tǒng)調(diào)用的過程中。第二類是進程顯式地主動放棄CPU,如系統(tǒng)調(diào)用sched_yield()、sched_setscheduler()及pause()均會導致當前進程讓出CPU。
8ppt課件.8ppt課件.8.2.4Linux的進程控制進程的創(chuàng)建
Linux操作系統(tǒng)中,除初始化進程外,其他進程都是用系統(tǒng)調(diào)用fork()和clone()創(chuàng)建的,調(diào)用fork()和clone()的進程是父進程,被生成的進程是子進程。9ppt課件.8.2.4Linux的進程控制9ppt課件.2.進程的等待父進程可用系統(tǒng)調(diào)用wait3()等待它的任何一個子進程終止,也可以用系統(tǒng)調(diào)用wait4()等待某個特定的子進程終止。10ppt課件.10ppt課件.3.進程的終止當命令執(zhí)行完,希望終止自己時,可在其程序末尾使用系統(tǒng)調(diào)用exit()。11ppt課件.3.進程的終止11ppt課件.4.進程上下文切換改變進程上下文的工作很復雜,是由系統(tǒng)調(diào)用execve()實現(xiàn)的。它用一個可執(zhí)行文件的副本覆蓋該進程的內(nèi)存空間。12ppt課件.4.進程上下文切換12ppt課件.8.2.5Linux線程
Linux并不確切區(qū)分進程與線程,或者說沒有真正意義上的線程概念,但通過clone()系統(tǒng)調(diào)用,可以支持輕量級進程(LightweightProcess)。13ppt課件.8.2.5Linux線程13ppt課件.8.2.6PCB(進程控制塊)
Linux內(nèi)核利用一個數(shù)據(jù)結(jié)構(gòu)(task_struct)標志一個進程的存在。task_struct也就是Linux進程控制塊PCB14ppt課件.8.2.6PCB(進程控制塊)14ppt課件.8.2.7進程的調(diào)度
Linux中實現(xiàn)了3種進程調(diào)度策略。
SCHED_FIFO:先進先出(FirstInFirstOut)策略。
SCHED_RR:輪轉(zhuǎn)調(diào)度(RoundRobin)策略。
SCHED_OTHER:其他策略。15ppt課件.8.2.7進程的調(diào)度15ppt課件.8.8.2.8Linux進程通信信號是UNIX系統(tǒng)中最古老的進程間通信機制,它主要用來向進程發(fā)送異步的事件信號。
Linux中,信號種類的數(shù)目和具體的平臺有關(guān),因為內(nèi)核用一個字代表所有的信號,因此字的位數(shù)就是信號種類的最多數(shù)目。對32位的i386平臺而言,一個字為32位,因此信號有32。16ppt課件.8.8.2.8Linux進程通信16ppt課件.8.2.9信號量與PV操作信號量也用來保護關(guān)鍵代碼或數(shù)據(jù)結(jié)構(gòu)(即臨界資源)。Linux利用信號量實現(xiàn)對關(guān)鍵代碼和數(shù)據(jù)的互斥訪問。
Linux信號量數(shù)據(jù)結(jié)構(gòu)中包含的信息主要有。
count(計數(shù))waking(等待喚醒計數(shù))3)等待隊列4)lock(鎖)17ppt課件.8.2.9信號量與PV操作17ppt課件.8.2.10管道管道是Linux中最常用的進程間通信IPC機制。利用管道時,一個進程的輸出可成為另外一個進程的輸入。當輸入輸出的數(shù)據(jù)量特別大時,這種IPC機制非常有用。18ppt課件.8.2.10管道18ppt課件.8.2.11共享存儲區(qū)與消息隊列通信機制
1.Linux進程間的共享存儲區(qū)通信19ppt課件.8.2.11共享存儲區(qū)與消息隊列通信機制19ppt課件2.Linux進程間的消息隊列進行通信
Linux進程間的通信也可以通過消息隊列進行。消息隊列可以是單消息隊列,也可以是多消息隊列(按消息類型);既可以單向,也可以雙向通信;既可以僅和兩個進程有關(guān),也可以被多個進程使用。20ppt課件.2.Linux進程間的消息隊列進行通信20ppt課件.8.3.1Linux的虛擬內(nèi)存管理
Linux的虛擬內(nèi)存管理功能可以概括為以下幾點。(1)地址空間擴充。(2)進程保護。(3)內(nèi)存映射。(4)物理內(nèi)存分配。8.3Linux存儲器管理
21ppt課件.8.3.1Linux的虛擬內(nèi)存管理8.3Linux8.3.2Linux系統(tǒng)采用三級頁表22ppt課件.8.3.2Linux系統(tǒng)采用三級頁表22ppt課件.8.3.3內(nèi)存頁的分配與釋放
Linux系統(tǒng)的物理內(nèi)存頁分配采用鏈表和位圖相結(jié)合的方法。23ppt課件.8.3.3內(nèi)存頁的分配與釋放23ppt課件.8.3.4內(nèi)存交換當系統(tǒng)出現(xiàn)內(nèi)存不足時,Linux內(nèi)存管理子系統(tǒng)就要釋放一些內(nèi)存頁,從而增加系統(tǒng)中空閑內(nèi)存頁的數(shù)量。此任務(wù)是由內(nèi)核的交換守護進程kswapd完成的。24ppt課件.8.3.4內(nèi)存交換24ppt課件.8.3.5內(nèi)存的共享和保護Linux中內(nèi)存共享是以頁共享的方式實現(xiàn)的Linux可以對虛存段中的任一部分加鎖或保護。25ppt課件.8.3.5內(nèi)存的共享和保護25ppt課件.8.3.6缺頁中斷磁盤中的可執(zhí)行文件映像一旦被映射到一個進程的虛擬空間,它就開始執(zhí)行。由于一開始只有該映像區(qū)的開始部分被調(diào)入內(nèi)存,因此,進程遲早會執(zhí)行那些未被裝入內(nèi)存的部分。當一個進程訪問了一個還沒有有效頁表項的虛擬地址時,處理器將產(chǎn)生缺頁中斷,通知操作系統(tǒng),并把缺頁的虛擬地址(保存在CR2寄存器中)和缺頁時訪問虛存的模式一并傳給Linux的缺頁中斷處理程序。26ppt課件.8.3.6缺頁中斷26ppt課件.8.4Linux文件管理
8.4.1Linux文件系統(tǒng)的目錄結(jié)構(gòu)
Linux采用的是樹型目錄結(jié)構(gòu)管理文件。最上層是根目錄,其他的所有目錄都是從根目錄出發(fā)而生成的。27ppt課件.8.4Linux文件管理8.4.1Linux文件系8.4.2Linux文件系統(tǒng)的實現(xiàn)
Linux支持多種不同類型的文件系統(tǒng),包括EXT、EXT2、MINIX、UMSDOS、NCP、IS09660、HPFS、MSDOS、NTFS、XIA、VFAT、PROC、NFS、SMB、SYSV、AFFS以及UFS等。由于每一種文件系統(tǒng)都有自己的組織結(jié)構(gòu)和文件操作函數(shù),并且相互之間的差別很大,Linux文件系統(tǒng)的實現(xiàn)有一定的難度。為支持上述的各種文件系統(tǒng),Linux在實現(xiàn)文件系統(tǒng)時采用了兩層結(jié)構(gòu)。第一層是虛擬文件系統(tǒng)(VirtualFileSystem,VFS),它把各種實際文件系統(tǒng)的公共結(jié)構(gòu)抽象出來,建立統(tǒng)一的以i_node為中心的組織結(jié)構(gòu),為實際文件系統(tǒng)提供兼容性。它的作用是屏蔽各類文件系統(tǒng)的差異,給用戶、應(yīng)用程序和Linux的其他管理模塊提供統(tǒng)一的接口。第二層是Linux支持的各種實際文件系統(tǒng)。28ppt課件.8.4.2Linux文件系統(tǒng)的實現(xiàn)28ppt課件.8.4.3虛擬文件系統(tǒng)虛擬文件系統(tǒng)(VFS)是物理文件系統(tǒng)與服務(wù)之間的一個接口層,它對每一個具體的文件系統(tǒng)的所有細節(jié)進行抽象,使得Linux用戶能夠用同一個接口使用不同的文件系統(tǒng)。29ppt課件.8.4.3虛擬文件系統(tǒng)29ppt課件.8.4.4EXT2文件系統(tǒng)擴展文件系統(tǒng)EXT和第二代擴展文件系統(tǒng)EXT2是專門為Linux設(shè)計可擴展的文件系統(tǒng)。30ppt課件.8.4.4EXT2文件系統(tǒng)30ppt課件.8.4.5Linux的文件操作系統(tǒng)調(diào)用
1.文件的打開主要函數(shù)有sys_open()和sys_creat()。
2.文件的關(guān)閉
3.文件指針移動
4.讀寫文件操作
5.文件屬性控制
6.文件上鎖
7.文件的I/O控制
8.各種其他文件操作31ppt課件.8.4.5Linux的文件操作系統(tǒng)調(diào)用31ppt課件.8.5Linux設(shè)備管理
8.5.1Linux設(shè)備驅(qū)動程序
Linux核心具體負責I/O設(shè)備的操作,這些管理和控制硬件設(shè)備控制器的程序代碼稱為設(shè)備驅(qū)動程序,它們是常駐內(nèi)存的底層硬件處理子程序,具有控制和管理I/O設(shè)備的作用。32ppt課件.8.5Linux設(shè)備管理8.5.1Linux設(shè)備驅(qū)8.5.2設(shè)備的管理在Linux操作系統(tǒng)中,輸入輸出設(shè)備可以分為字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。33ppt課件.
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級上數(shù)學教案-比一比 (7)-西師大版
- 2025年中國胭脂行業(yè)市場全景評估及投資策略咨詢報告
- 2025年個人借款合同模板集錦篇
- 2025年班組及管理人員司機合同
- 電子禮品卡在電商市場的發(fā)展趨勢
- 2025年借款合同固定資產(chǎn)技術(shù)改造借款合同
- 環(huán)保建筑教育的重要一環(huán)-酒店建筑設(shè)計教學
- 電子商務(wù)行業(yè)的數(shù)據(jù)分析與精準營銷
- 現(xiàn)代辦公環(huán)境的消防安全技術(shù)與創(chuàng)新發(fā)展研究報告
- 2025年電商平臺運營服務(wù)托管服務(wù)協(xié)議
- 2024年山東化工職業(yè)學院單招職業(yè)技能測試題庫及答案解析
- 方案偏離處理措施
- (2024年)剪映入門教程課件
- 《寵物飼養(yǎng)》課程標準
- 快餐品牌全案推廣方案
- IT總監(jiān)年終述職報告
- 環(huán)境衛(wèi)生整治推進行動實施方案
- 口腔醫(yī)院感染預防與控制1
- 2024年同等學力英語真題解析
- 2023年中考英語二輪復習:動詞的時態(tài)(附答案解析)
- 緒論中國文化概論張岱年
評論
0/150
提交評論