版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章操作系統(tǒng)實(shí)例二:Linux教學(xué)目標(biāo):本章的重點(diǎn):了解Linux操作系統(tǒng)的特點(diǎn)、進(jìn)程通信和調(diào)度、三級(jí)頁(yè)式虛擬存儲(chǔ)器管理、VFS和ext2文件系統(tǒng)以及Linux的安全機(jī)制等內(nèi)容。
教學(xué)提示:Linux是可免費(fèi)獲得的多用戶、多任務(wù)操作系統(tǒng),是可以自由使用的UNIX兼容產(chǎn)品,這就是學(xué)習(xí)Linux的主要原因。了解Linux操作系統(tǒng)的特點(diǎn)、核心技術(shù)和實(shí)現(xiàn)方法有助于該系統(tǒng)進(jìn)一步的開(kāi)發(fā)和應(yīng)用。1ppt課件.第8章操作系統(tǒng)實(shí)例二:Linux教學(xué)目標(biāo):本章的重點(diǎn):8.1Linux概述
8.1.1學(xué)習(xí)Linux操作系統(tǒng)的意義8.1.2Linux系統(tǒng)的特點(diǎn)8.1.3Linux系統(tǒng)的發(fā)展2ppt課件.8.1Linux概述8.1.1學(xué)習(xí)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的進(jìn)程管理
8.2.1Linux進(jìn)程的組成Linux系統(tǒng)中的進(jìn)程都具有以下4個(gè)要素。(1)有一個(gè)程序正文段供其執(zhí)行。(2)有進(jìn)程專用的系統(tǒng)堆??臻g。(3)有一個(gè)進(jìn)程描述符,即在內(nèi)核中的一個(gè)task_struct數(shù)據(jù)結(jié)構(gòu)。有了這個(gè)數(shù)據(jù)結(jié)構(gòu),進(jìn)程才能成為內(nèi)核調(diào)度的一個(gè)基本單位,接受內(nèi)核的調(diào)度。同時(shí),該結(jié)構(gòu)還記錄著進(jìn)程所占用的各項(xiàng)資源。(4)有一個(gè)獨(dú)立的地址空間,即擁有專有的用戶空間和專用的用戶空間堆棧。
5ppt課件.8.2Linux的進(jìn)程管理8.2.1Linux進(jìn)程8.2.2Linux進(jìn)程的狀態(tài)
Linux的進(jìn)程狀態(tài)共有6種。(1)TASK_RUNNING:正在運(yùn)行(己獲得CPU)或準(zhǔn)備運(yùn)行(就緒態(tài)——等待獲得CPU)的進(jìn)程。(2)TASK_INTERRUPTIBLE:可中斷等待狀態(tài)。進(jìn)程處于等待隊(duì)列中,一旦資源可用時(shí)被喚醒,也可以由其他進(jìn)程通過(guò)信號(hào)(SIGNAL)或中斷喚醒。(3)TASK_UNINTERRUPTIBLE:不可中斷等待狀態(tài)。進(jìn)程處于等待隊(duì)列中,一旦資源可用時(shí)被喚醒,但不可以由其他進(jìn)程通過(guò)信號(hào)(SIGNAL)或中斷喚醒。(4)TASK_ZOMBIE:進(jìn)程僵死狀態(tài)。進(jìn)程停止運(yùn)行但是尚未釋放PCB。(5)TASK_STOPPED:進(jìn)程停止?fàn)顟B(tài)??赡鼙惶囟ㄐ盘?hào)終止,也可能是受其他進(jìn)程的跟蹤調(diào)用而暫時(shí)將CPU出讓給跟蹤它的進(jìn)程。(6)TASK_SWAPPING:頁(yè)面被交換出內(nèi)存的進(jìn)程。6ppt課件.8.2.2Linux進(jìn)程的狀態(tài)Linux的進(jìn)程狀態(tài)共有7ppt課件.7ppt課件.8.2.3進(jìn)程狀態(tài)的切換時(shí)機(jī)第一類是隱式地主動(dòng)放棄CPU。這往往是因?yàn)樾枰馁Y源目前不能獲取,如執(zhí)行read()、selec()等系統(tǒng)調(diào)用的過(guò)程中。第二類是進(jìn)程顯式地主動(dòng)放棄CPU,如系統(tǒng)調(diào)用sched_yield()、sched_setscheduler()及pause()均會(huì)導(dǎo)致當(dāng)前進(jìn)程讓出CPU。
8ppt課件.8ppt課件.8.2.4Linux的進(jìn)程控制進(jìn)程的創(chuàng)建
Linux操作系統(tǒng)中,除初始化進(jìn)程外,其他進(jìn)程都是用系統(tǒng)調(diào)用fork()和clone()創(chuàng)建的,調(diào)用fork()和clone()的進(jìn)程是父進(jìn)程,被生成的進(jìn)程是子進(jìn)程。9ppt課件.8.2.4Linux的進(jìn)程控制9ppt課件.2.進(jìn)程的等待父進(jìn)程可用系統(tǒng)調(diào)用wait3()等待它的任何一個(gè)子進(jìn)程終止,也可以用系統(tǒng)調(diào)用wait4()等待某個(gè)特定的子進(jìn)程終止。10ppt課件.10ppt課件.3.進(jìn)程的終止當(dāng)命令執(zhí)行完,希望終止自己時(shí),可在其程序末尾使用系統(tǒng)調(diào)用exit()。11ppt課件.3.進(jìn)程的終止11ppt課件.4.進(jìn)程上下文切換改變進(jìn)程上下文的工作很復(fù)雜,是由系統(tǒng)調(diào)用execve()實(shí)現(xiàn)的。它用一個(gè)可執(zhí)行文件的副本覆蓋該進(jìn)程的內(nèi)存空間。12ppt課件.4.進(jìn)程上下文切換12ppt課件.8.2.5Linux線程
Linux并不確切區(qū)分進(jìn)程與線程,或者說(shuō)沒(méi)有真正意義上的線程概念,但通過(guò)clone()系統(tǒng)調(diào)用,可以支持輕量級(jí)進(jìn)程(LightweightProcess)。13ppt課件.8.2.5Linux線程13ppt課件.8.2.6PCB(進(jìn)程控制塊)
Linux內(nèi)核利用一個(gè)數(shù)據(jù)結(jié)構(gòu)(task_struct)標(biāo)志一個(gè)進(jìn)程的存在。task_struct也就是Linux進(jìn)程控制塊PCB14ppt課件.8.2.6PCB(進(jìn)程控制塊)14ppt課件.8.2.7進(jìn)程的調(diào)度
Linux中實(shí)現(xiàn)了3種進(jìn)程調(diào)度策略。
SCHED_FIFO:先進(jìn)先出(FirstInFirstOut)策略。
SCHED_RR:輪轉(zhuǎn)調(diào)度(RoundRobin)策略。
SCHED_OTHER:其他策略。15ppt課件.8.2.7進(jìn)程的調(diào)度15ppt課件.8.8.2.8Linux進(jìn)程通信信號(hào)是UNIX系統(tǒng)中最古老的進(jìn)程間通信機(jī)制,它主要用來(lái)向進(jìn)程發(fā)送異步的事件信號(hào)。
Linux中,信號(hào)種類的數(shù)目和具體的平臺(tái)有關(guān),因?yàn)閮?nèi)核用一個(gè)字代表所有的信號(hào),因此字的位數(shù)就是信號(hào)種類的最多數(shù)目。對(duì)32位的i386平臺(tái)而言,一個(gè)字為32位,因此信號(hào)有32。16ppt課件.8.8.2.8Linux進(jìn)程通信16ppt課件.8.2.9信號(hào)量與PV操作信號(hào)量也用來(lái)保護(hù)關(guān)鍵代碼或數(shù)據(jù)結(jié)構(gòu)(即臨界資源)。Linux利用信號(hào)量實(shí)現(xiàn)對(duì)關(guān)鍵代碼和數(shù)據(jù)的互斥訪問(wèn)。
Linux信號(hào)量數(shù)據(jù)結(jié)構(gòu)中包含的信息主要有。
count(計(jì)數(shù))waking(等待喚醒計(jì)數(shù))3)等待隊(duì)列4)lock(鎖)17ppt課件.8.2.9信號(hào)量與PV操作17ppt課件.8.2.10管道管道是Linux中最常用的進(jìn)程間通信IPC機(jī)制。利用管道時(shí),一個(gè)進(jìn)程的輸出可成為另外一個(gè)進(jìn)程的輸入。當(dāng)輸入輸出的數(shù)據(jù)量特別大時(shí),這種IPC機(jī)制非常有用。18ppt課件.8.2.10管道18ppt課件.8.2.11共享存儲(chǔ)區(qū)與消息隊(duì)列通信機(jī)制
1.Linux進(jìn)程間的共享存儲(chǔ)區(qū)通信19ppt課件.8.2.11共享存儲(chǔ)區(qū)與消息隊(duì)列通信機(jī)制19ppt課件2.Linux進(jìn)程間的消息隊(duì)列進(jìn)行通信
Linux進(jìn)程間的通信也可以通過(guò)消息隊(duì)列進(jìn)行。消息隊(duì)列可以是單消息隊(duì)列,也可以是多消息隊(duì)列(按消息類型);既可以單向,也可以雙向通信;既可以僅和兩個(gè)進(jìn)程有關(guān),也可以被多個(gè)進(jìn)程使用。20ppt課件.2.Linux進(jìn)程間的消息隊(duì)列進(jìn)行通信20ppt課件.8.3.1Linux的虛擬內(nèi)存管理
Linux的虛擬內(nèi)存管理功能可以概括為以下幾點(diǎn)。(1)地址空間擴(kuò)充。(2)進(jìn)程保護(hù)。(3)內(nèi)存映射。(4)物理內(nèi)存分配。8.3Linux存儲(chǔ)器管理
21ppt課件.8.3.1Linux的虛擬內(nèi)存管理8.3Linux8.3.2Linux系統(tǒng)采用三級(jí)頁(yè)表22ppt課件.8.3.2Linux系統(tǒng)采用三級(jí)頁(yè)表22ppt課件.8.3.3內(nèi)存頁(yè)的分配與釋放
Linux系統(tǒng)的物理內(nèi)存頁(yè)分配采用鏈表和位圖相結(jié)合的方法。23ppt課件.8.3.3內(nèi)存頁(yè)的分配與釋放23ppt課件.8.3.4內(nèi)存交換當(dāng)系統(tǒng)出現(xiàn)內(nèi)存不足時(shí),Linux內(nèi)存管理子系統(tǒng)就要釋放一些內(nèi)存頁(yè),從而增加系統(tǒng)中空閑內(nèi)存頁(yè)的數(shù)量。此任務(wù)是由內(nèi)核的交換守護(hù)進(jìn)程kswapd完成的。24ppt課件.8.3.4內(nèi)存交換24ppt課件.8.3.5內(nèi)存的共享和保護(hù)Linux中內(nèi)存共享是以頁(yè)共享的方式實(shí)現(xiàn)的Linux可以對(duì)虛存段中的任一部分加鎖或保護(hù)。25ppt課件.8.3.5內(nèi)存的共享和保護(hù)25ppt課件.8.3.6缺頁(yè)中斷磁盤(pán)中的可執(zhí)行文件映像一旦被映射到一個(gè)進(jìn)程的虛擬空間,它就開(kāi)始執(zhí)行。由于一開(kāi)始只有該映像區(qū)的開(kāi)始部分被調(diào)入內(nèi)存,因此,進(jìn)程遲早會(huì)執(zhí)行那些未被裝入內(nèi)存的部分。當(dāng)一個(gè)進(jìn)程訪問(wèn)了一個(gè)還沒(méi)有有效頁(yè)表項(xiàng)的虛擬地址時(shí),處理器將產(chǎn)生缺頁(yè)中斷,通知操作系統(tǒng),并把缺頁(yè)的虛擬地址(保存在CR2寄存器中)和缺頁(yè)時(shí)訪問(wèn)虛存的模式一并傳給Linux的缺頁(yè)中斷處理程序。26ppt課件.8.3.6缺頁(yè)中斷26ppt課件.8.4Linux文件管理
8.4.1Linux文件系統(tǒng)的目錄結(jié)構(gòu)
Linux采用的是樹(shù)型目錄結(jié)構(gòu)管理文件。最上層是根目錄,其他的所有目錄都是從根目錄出發(fā)而生成的。27ppt課件.8.4Linux文件管理8.4.1Linux文件系8.4.2Linux文件系統(tǒng)的實(shí)現(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)的實(shí)現(xiàn)有一定的難度。為支持上述的各種文件系統(tǒng),Linux在實(shí)現(xiàn)文件系統(tǒng)時(shí)采用了兩層結(jié)構(gòu)。第一層是虛擬文件系統(tǒng)(VirtualFileSystem,VFS),它把各種實(shí)際文件系統(tǒng)的公共結(jié)構(gòu)抽象出來(lái),建立統(tǒng)一的以i_node為中心的組織結(jié)構(gòu),為實(shí)際文件系統(tǒng)提供兼容性。它的作用是屏蔽各類文件系統(tǒng)的差異,給用戶、應(yīng)用程序和Linux的其他管理模塊提供統(tǒng)一的接口。第二層是Linux支持的各種實(shí)際文件系統(tǒng)。28ppt課件.8.4.2Linux文件系統(tǒng)的實(shí)現(xiàn)28ppt課件.8.4.3虛擬文件系統(tǒng)虛擬文件系統(tǒng)(VFS)是物理文件系統(tǒng)與服務(wù)之間的一個(gè)接口層,它對(duì)每一個(gè)具體的文件系統(tǒng)的所有細(xì)節(jié)進(jìn)行抽象,使得Linux用戶能夠用同一個(gè)接口使用不同的文件系統(tǒng)。29ppt課件.8.4.3虛擬文件系統(tǒng)29ppt課件.8.4.4EXT2文件系統(tǒng)擴(kuò)展文件系統(tǒng)EXT和第二代擴(kuò)展文件系統(tǒng)EXT2是專門(mén)為L(zhǎng)inux設(shè)計(jì)可擴(kuò)展的文件系統(tǒng)。30ppt課件.8.4.4EXT2文件系統(tǒng)30ppt課件.8.4.5Linux的文件操作系統(tǒng)調(diào)用
1.文件的打開(kāi)主要函數(shù)有sys_open()和sys_creat()。
2.文件的關(guān)閉
3.文件指針移動(dòng)
4.讀寫(xiě)文件操作
5.文件屬性控制
6.文件上鎖
7.文件的I/O控制
8.各種其他文件操作31ppt課件.8.4.5Linux的文件操作系統(tǒng)調(diào)用31ppt課件.8.5Linux設(shè)備管理
8.5.1Linux設(shè)備驅(qū)動(dòng)程序
Linux核心具體負(fù)責(zé)I/O設(shè)備的操作,這些管理和控制硬件設(shè)備控制器的程序代碼稱為設(shè)備驅(qū)動(dòng)程序,它們是常駐內(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省昆明八中2025年高考物理模擬試卷(含答案)
- 安徽省聯(lián)考2024-2025學(xué)年高一上學(xué)期1月期末英語(yǔ)試題(無(wú)答案)
- 生物-內(nèi)蒙古鄂爾多斯市西四旗2024-2025學(xué)年2025屆高三第一(上)學(xué)期期末聯(lián)考試卷試題和答案
- 2024重慶離婚協(xié)議書(shū)格式范文
- 2024自動(dòng)售貨機(jī)租賃合同
- 2025年度5G通信基站建設(shè)與維護(hù)合同范本3篇
- 2025年度寵物貓寄養(yǎng)與寵物用品租賃一體化協(xié)議3篇
- 2024頤和園職工制服采購(gòu)環(huán)保責(zé)任及回收利用合同3篇
- 2024甲乙雙方關(guān)于購(gòu)買(mǎi)房產(chǎn)的合同
- 2024版公私合營(yíng)養(yǎng)老院服務(wù)協(xié)議示范文本版B版
- 2024年萍鄉(xiāng)衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)參考答案
- 中國(guó)農(nóng)業(yè)銀行信用借款合同
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之9:“5領(lǐng)導(dǎo)作用-5.3創(chuàng)新戰(zhàn)略”(雷澤佳編制-2025B0)
- 江蘇省連云港市2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 2024智能變電站新一代集控站設(shè)備監(jiān)控系統(tǒng)技術(shù)規(guī)范部分
- 2024年建筑業(yè)10項(xiàng)新技術(shù)
- 語(yǔ)文七年級(jí)下字帖打印版
- 機(jī)房設(shè)備搬遷解決方案
- 二年級(jí)上冊(cè)音樂(lè)課件---選唱歌曲-我們和祖國(guó)最親親-西師大版(共8張PPT)
- 設(shè)備租賃服務(wù)方案
- 最新中石油帶壓作業(yè)技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論