秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

嵌入式操作系統(tǒng)原理

上傳人:tia****nde 文檔編號(hào):253081447 上傳時(shí)間:2024-11-28 格式:PPT 頁(yè)數(shù):39 大小:990.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
嵌入式操作系統(tǒng)原理_第1頁(yè)
第1頁(yè) / 共39頁(yè)
嵌入式操作系統(tǒng)原理_第2頁(yè)
第2頁(yè) / 共39頁(yè)
嵌入式操作系統(tǒng)原理_第3頁(yè)
第3頁(yè) / 共39頁(yè)

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《嵌入式操作系統(tǒng)原理》由會(huì)員分享,可在線閱讀,更多相關(guān)《嵌入式操作系統(tǒng)原理(39頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,嵌入式操作系統(tǒng)原理,嵌入式LINUX操作系統(tǒng)開發(fā),體系結(jié)構(gòu)概覽,進(jìn)程與調(diào)度管理,內(nèi)存管理,文件系統(tǒng),系統(tǒng)調(diào)用,體系結(jié)構(gòu)概覽,體系結(jié)構(gòu)概覽,內(nèi)核的功能,進(jìn)程控制(process management),內(nèi)存管理(Memory management),文件系統(tǒng)管理(Filesystem management),設(shè)備驅(qū)動(dòng)程序(Device control),網(wǎng)絡(luò)(Networking),內(nèi)核層次,內(nèi)核在系統(tǒng)中的位置,用戶進(jìn)程,系統(tǒng)調(diào)用接口,內(nèi)核,硬件,什么是Linux內(nèi)核?,從程序員的角度,從用戶的角度,系統(tǒng)調(diào)

2、用,內(nèi)核提供的一套C語(yǔ)言函數(shù)庫(kù)稱為系統(tǒng)調(diào)用,應(yīng)用程序使用系統(tǒng)調(diào)用完成編程任務(wù),系統(tǒng)調(diào)用分類,進(jìn)程管理,進(jìn)程間通信(IPC),文件系統(tǒng)管理,網(wǎng)絡(luò)編程(Socket),Linux結(jié)構(gòu),Linux進(jìn)程管理,Linux是一個(gè)多任務(wù)多用戶操作系統(tǒng),一個(gè)任務(wù)(task)就是一個(gè)進(jìn)程(process),每一個(gè)進(jìn)程都具有一定的功能和權(quán)限,它們都運(yùn)行在各自獨(dú)立的虛擬地址空間。,在Linux中,進(jìn)程是系統(tǒng)資源分配的基本單位,也是使用CPU運(yùn)行的基本調(diào)度單位。,Linux進(jìn)程概述,程序映像,存放在磁盤上的可執(zhí)行文件的代碼和數(shù)據(jù)的集合稱為可執(zhí)行映象(Executable Image),即程序,當(dāng)一個(gè)程序(可執(zhí)行映象)

3、裝入系統(tǒng)中運(yùn)行時(shí),它就形成了一個(gè)進(jìn)程,進(jìn)程映像,進(jìn)程是由正文段(text)、用戶數(shù)據(jù)段(user segment)和系統(tǒng)數(shù)據(jù)段(system segment)組成的一個(gè)動(dòng)態(tài)實(shí)體。,正文段中存放著進(jìn)程要執(zhí)行的指令代碼,具有只讀的屬性,,用戶數(shù)據(jù)段是進(jìn)程在運(yùn)行過(guò)程中處理數(shù)據(jù)的集合,它們是進(jìn)程直接進(jìn)行操作的所有數(shù)據(jù),以及進(jìn)程使用的進(jìn)程堆棧。,系統(tǒng)數(shù)據(jù)段存放著進(jìn)程的控制信息。其中包括進(jìn)程控制塊PCB。,進(jìn)程控制塊PCB,進(jìn)程控制塊PCB是名字為task_struct的數(shù)據(jù)結(jié)構(gòu),稱為任務(wù)結(jié)構(gòu)體,任務(wù)結(jié)構(gòu)體中容納了一個(gè)進(jìn)程的所有信息,是系統(tǒng)對(duì)進(jìn)程進(jìn)行管理和控制的有效手段,是系統(tǒng)實(shí)現(xiàn)進(jìn)程調(diào)度的主要依據(jù),當(dāng)一

4、個(gè)進(jìn)程被創(chuàng)建時(shí),系統(tǒng)就為該進(jìn)程建立一個(gè)task_struct任務(wù)結(jié)構(gòu)體。當(dāng)進(jìn)程運(yùn)行結(jié)束時(shí),系統(tǒng)撤消該進(jìn)程的任務(wù)結(jié)構(gòu)體,Linux在內(nèi)存空間中開辟了一個(gè)專門的區(qū)域存放所有進(jìn)程的任務(wù)結(jié)構(gòu)體,在操作系統(tǒng)的內(nèi)核空間設(shè)置了一個(gè)task數(shù)組,該數(shù)組的每一個(gè)元素是一個(gè)指向任務(wù)結(jié)構(gòu)體的指針,所以task數(shù)組又稱為task向量。,進(jìn)程的任務(wù)結(jié)構(gòu)體是進(jìn)程存在的唯一標(biāo)志,調(diào)度程序維護(hù)current指針,它指向當(dāng)前正在運(yùn)行的進(jìn)程。,Linux調(diào)度分析,Linux進(jìn)程的狀態(tài)變化,進(jìn)程狀態(tài),運(yùn)行態(tài):進(jìn)程正在使用CPU運(yùn)行的狀態(tài)。處于運(yùn)行態(tài)的進(jìn)程又稱為當(dāng)前進(jìn)程(current process),可運(yùn)行態(tài):進(jìn)程已分配到除CP

5、U外所需要的其它資源,等待系統(tǒng)把CPU分配給它之后即可投入運(yùn)行,等待態(tài):又稱睡眠態(tài),它是進(jìn)程正在等待某個(gè)事件或某個(gè)資源時(shí)所處的狀態(tài)。等待態(tài)進(jìn)一步分為可中斷的等待態(tài)和不可中斷的等待態(tài)。處于可中斷等待態(tài)的進(jìn)程可以由信號(hào)(signal)解除其等待態(tài)。處于不可中斷等待態(tài)的進(jìn)程,一般是直接或間接等待硬件條件。它只能用特定的方式來(lái)解除,例如使用喚醒函數(shù)wake_up()等,暫停態(tài):進(jìn)程需要接受某種特殊處理而暫時(shí)停止運(yùn)行所處的狀態(tài)。通常進(jìn)程在接受到外部進(jìn)程的某個(gè)信號(hào)進(jìn)入暫停態(tài),例如,正在接受調(diào)試的進(jìn)程就處于這種狀態(tài)。,僵死態(tài):進(jìn)程的運(yùn)行已經(jīng)結(jié)束,但它的任務(wù)結(jié)構(gòu)體仍在系統(tǒng)中。,核心態(tài)和用戶態(tài),Linux的進(jìn)程

6、處理機(jī)上運(yùn)行時(shí),處理機(jī)提供了兩種不同的的執(zhí)行狀態(tài),核心態(tài)(kernel mode)和用戶態(tài)(user mode)。,核心態(tài)又稱系統(tǒng)態(tài),它具有較高的特權(quán),能執(zhí)行所有的機(jī)器指令,包括由操作系統(tǒng)執(zhí)行的特權(quán)指令,能訪問(wèn)所有的寄存器和存儲(chǔ)區(qū)域,能直接控制所有的系統(tǒng)資源。Linux在執(zhí)行內(nèi)核程序時(shí)是處于核心態(tài)下。,用戶態(tài)是進(jìn)程的普通執(zhí)行狀態(tài),在用戶態(tài)下進(jìn)程具有較低的特權(quán),只能執(zhí)行規(guī)定的機(jī)器指令,不能執(zhí)行特權(quán)指令。進(jìn)程在用戶態(tài)下只能訪問(wèn)進(jìn)程的存儲(chǔ)空間。在用戶態(tài)下進(jìn)程不能與系統(tǒng)硬件相互作用,不能訪問(wèn)系統(tǒng)資源。,Linux進(jìn)程調(diào)度方式,Linux系統(tǒng)采用搶占調(diào)度方式,又稱可剝奪調(diào)度方式。采用這種調(diào)度方式時(shí),對(duì)于

7、當(dāng)前運(yùn)行的進(jìn)程而言,當(dāng)有更緊急的進(jìn)程到來(lái)時(shí),系統(tǒng)將剝奪當(dāng)前進(jìn)程使用處理機(jī)的權(quán)利,立即停止它在處理機(jī)上的運(yùn)行,而把處理機(jī)分配給那個(gè)更緊急的進(jìn)程。,Linux采用時(shí)間片輪轉(zhuǎn)法。對(duì)某個(gè)運(yùn)行中的進(jìn)程,當(dāng)它的時(shí)間片用完時(shí),系統(tǒng)將停止它的運(yùn)行并把處理機(jī)分配給其它進(jìn)程。,Linux進(jìn)程調(diào)度方法,Linux進(jìn)程調(diào)度采用動(dòng)態(tài)優(yōu)先級(jí)法,調(diào)度對(duì)象是可運(yùn)行隊(duì)列,,可運(yùn)行隊(duì)列中優(yōu)先級(jí)大的進(jìn)程首先得到CPU投入運(yùn)行。,進(jìn)程在運(yùn)行中,counter的代表進(jìn)程的動(dòng)態(tài)優(yōu)先級(jí)。,Linux采取了加權(quán)的方法來(lái)保證實(shí)時(shí)進(jìn)程優(yōu)先于普通進(jìn)程。,進(jìn)程調(diào)度時(shí)機(jī),時(shí)機(jī)1進(jìn)程狀態(tài)發(fā)生變化時(shí)。,處于運(yùn)行態(tài)下的進(jìn)程要等待某種資源,,運(yùn)行態(tài)下的進(jìn)程在

8、程序執(zhí)行完畢后,一般通過(guò)調(diào)用內(nèi)核函數(shù)do_exit()終止運(yùn)行并轉(zhuǎn)入僵死態(tài)。,處于等待態(tài)的進(jìn)程被喚醒后,將加入到可運(yùn)行隊(duì)列中時(shí)。,進(jìn)程從運(yùn)行態(tài)轉(zhuǎn)入暫停態(tài)時(shí)。,進(jìn)程從暫停態(tài)成為可運(yùn)行態(tài)時(shí)。,時(shí)機(jī)2當(dāng)前進(jìn)程時(shí)間片用完時(shí)。,時(shí)機(jī)3進(jìn)程從系統(tǒng)調(diào)用返回到用戶態(tài)時(shí)。,時(shí)機(jī)4中斷處理后,進(jìn)程返回到用戶態(tài)時(shí)。,Linux內(nèi)存管理模式,MMU內(nèi)存管理,MMU是內(nèi)存管理單元,內(nèi)存的管理單位是頁(yè)(page),通常是4K或8K,虛擬地址與物理地址,物理地址可以位于RAM/FLASH/DISK,經(jīng)過(guò)MMU,虛擬地址可以轉(zhuǎn)化成物理地址,MMU可以在轉(zhuǎn)換過(guò)程中檢查權(quán)限,以保護(hù)內(nèi)存不受非法訪問(wèn),如果沒(méi)有MMU,進(jìn)程與內(nèi)核之間

9、無(wú)法隔離和保護(hù),系統(tǒng)容易崩潰,17,Linux的三級(jí)目錄,Linux采用三級(jí)目錄底層MMU支持實(shí)現(xiàn)存儲(chǔ)管理,可以適應(yīng)64/32位CPU,三級(jí)目錄是頁(yè)面目錄、中間目錄和頁(yè)表,進(jìn)程空間和內(nèi)核空間,進(jìn)程名義上有4G的空間,實(shí)際上只有3G屬于進(jìn)程本身,虛擬系統(tǒng)空間占據(jù)高位1G,Linux內(nèi)核啟動(dòng)分析,搭建開發(fā)環(huán)境,宿主機(jī)和目標(biāo)機(jī),交叉編譯,編譯引導(dǎo)程序(u-boot或者vivi),編譯內(nèi)核(mizi linux),編譯根文件系統(tǒng),使用JTAG將編譯好的映像寫入目標(biāo)板,可以寫入到Nor Flash當(dāng)中,可以寫入到Nand Flash當(dāng)中,Linux內(nèi)核啟動(dòng)分析,上電,CPU根據(jù)設(shè)置讀取Flash中的Bo

10、otloader,Bootloader作兩段式加載,Bootload將控制權(quán)移交給內(nèi)核,Bootloader事先檢測(cè)硬件參數(shù),例如物理地址,Bootloader加載壓縮的內(nèi)核映像,內(nèi)核自解壓,內(nèi)核將自身定位到正確的物理地址,內(nèi)核啟動(dòng)流程,執(zhí)行init初始化進(jìn)程,啟動(dòng)一個(gè)shell,執(zhí)行啟動(dòng)腳本文件,顯示登錄提示符等待登錄,嵌入式LINUX操作系統(tǒng)內(nèi)核,選擇內(nèi)核,內(nèi)核配置,編譯內(nèi)核,安裝內(nèi)核,Linux內(nèi)核源碼,內(nèi)核目錄結(jié)構(gòu):,/usr/src/Linux-*,/arch(重點(diǎn)),/drivers,/fs,/include,/init,/ipc,/kernel,/mm,/net,內(nèi)核配置,進(jìn)入到

11、內(nèi)核源代碼目錄,cd/usr/src/linux-2.*,make config,make xconfig,make menuconfig,make,編譯生成的文件,vmlinux,未壓縮的Linux內(nèi)核,varch/boot/zImage,經(jīng)zlib壓縮后的Linux內(nèi)核,varch/boot/bzImage,經(jīng)zlib壓縮后的Linux內(nèi)核,b是指big,壓縮狠,/boot/vmlinuz-,經(jīng)zlib壓縮后的Linux內(nèi)核,編譯生成的文件,v/boot/System.map-,內(nèi)核符號(hào)地址,/boot/initrd-.img,ramdisk,要掛載的根文件系統(tǒng),/lib/modules/

12、,模塊,vmodules.dep,模塊依賴文件,裁剪Linux,目的是創(chuàng)建嵌入式Linux,嵌入式硬件資源有限,所以要裁剪軟件,裁剪的對(duì)象包括:,Linux內(nèi)核,庫(kù),守護(hù)進(jìn)程,GUI,裁剪Linux,選擇合適的文件系統(tǒng),ext2,ext3,jffs2,模塊機(jī)制,網(wǎng)絡(luò)協(xié)議,無(wú)用的驅(qū)動(dòng)程序,調(diào)試信息,裁剪的技術(shù)要求,能省就省,能小就小,能快就快,安裝內(nèi)核,移植相關(guān)的文件,相關(guān)文件和目錄,arch/arm/config.in,arch/arm/Makefile,arch/arm/boot/Makefile,arch/arm/mach-s3c2410/*,include/asm-arm/arch-s3

13、c2410/*,arch/arm/tools/mach-types,arch/arm/boot/compressed/head-s3c2410.S,arch/arm/boot/compressed/Makefile,嵌入式Linux內(nèi)核調(diào)試,Printk(),Oops消息,/proc文件系統(tǒng),Kgdb,追蹤工具(strace,ltt,gprof,gcov,memwatch),Linux調(diào)試工具,Linux系統(tǒng)察看和調(diào)參,/proc文件系統(tǒng),用戶空間工具,:,內(nèi)存工具:MEMWATCH 和 YAMD,strace,GNU 調(diào)試器(gdb),內(nèi)核工具,:,內(nèi)核源代碼級(jí)調(diào)試器(kgdb),內(nèi)建內(nèi)核調(diào)

14、試器(kdb),Oops,/proc文件系統(tǒng),/proc內(nèi)存文件系統(tǒng),記錄系統(tǒng)相關(guān)信息,可以直接使用cat得到相關(guān)信息,也可以編程通過(guò)文件方式得到相關(guān)信息,通過(guò)/proc獲取進(jìn)程信息,找到相關(guān)進(jìn)程號(hào),找到相關(guān)/proc子目錄,獲取特定參數(shù),通過(guò)/proc獲取硬件信息,找到相關(guān)硬件標(biāo)識(shí),在/proc中找到相關(guān)硬件目錄,查找特定硬件信息,通過(guò)/proc獲取內(nèi)核信息,內(nèi)核信息一般存放于/proc/sys,可以讀取相關(guān)內(nèi)核信息,也可以修改內(nèi)核參數(shù)來(lái)對(duì)內(nèi)核調(diào)優(yōu),修改內(nèi)核一定要慎重!,/proc獲取文件系統(tǒng)信息,獲取文件系統(tǒng)信息,獲取分區(qū)信息,獲取文件鎖定信息,/proc獲取系統(tǒng)狀態(tài)信息,獲取系統(tǒng)時(shí)間,謝謝大家,問(wèn)題,建議,反饋,后續(xù),資源,

展開閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!