色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区


嵌入式linux內(nèi)核的五個子系統(tǒng)

分享到:
           

    Linux內(nèi)核主要由進(jìn)程調(diào)度(SCHED)、內(nèi)存管理(MM)、虛擬文件系統(tǒng)(VFS)、網(wǎng)絡(luò)接口(NET)和進(jìn)程間通信(IPC)5個子系統(tǒng)組成,如圖1所示。

    
圖1 Linux內(nèi)核的組成部分與關(guān)系

    1.進(jìn)程調(diào)度

    進(jìn)程調(diào)度控制系統(tǒng)中的多個進(jìn)程對CPU的訪問,使得多個進(jìn)程能在CPU中“微觀串行,宏觀并行”地執(zhí)行。進(jìn)程調(diào)度處于系統(tǒng)的中心位置,內(nèi)核中其他的子系統(tǒng)都依賴它,因為每個子系統(tǒng)都需要掛起或恢復(fù)進(jìn)程。

    
圖2 Linux進(jìn)程狀態(tài)轉(zhuǎn)換

    如上圖2所示,Linux的進(jìn)程在幾個狀態(tài)間進(jìn)行切換。在設(shè)備驅(qū)動編程中,當(dāng)請求的資源不能得到滿足時,驅(qū)動一般會調(diào)度其他進(jìn)程執(zhí)行,并使本進(jìn)程進(jìn)入睡眠狀態(tài),直到它請求的資源被釋放,才會被喚醒而進(jìn)入就緒態(tài)。睡眠分成可被打斷的睡眠和不可被打斷的睡眠,兩者的區(qū)別在于可被打斷的睡眠在收到信號的時候會醒。

    在設(shè)備驅(qū)動編程中,當(dāng)請求的資源不能得到滿足時,驅(qū)動一般會調(diào)度其他進(jìn)程執(zhí)行,其對應(yīng)進(jìn)程進(jìn)入睡眠狀態(tài),直到它請求的資源被釋放,才會被喚醒而進(jìn)入就緒態(tài)。

    設(shè)備驅(qū)動中,如果需要幾個并發(fā)執(zhí)行的任務(wù),可以啟動內(nèi)核線程,啟動內(nèi)核線程的函數(shù)為:

    pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);

    2.內(nèi)存管理

    內(nèi)存管理的主要作用是控制多個進(jìn)程安全地共享主內(nèi)存區(qū)域。當(dāng)CPU提供內(nèi)存管理單元(MMU)時,Linux內(nèi)存管理完成為每個進(jìn)程進(jìn)行虛擬內(nèi)存到物理內(nèi)存的轉(zhuǎn)換。Linux 2.6引入了對無MMU CPU的支持。

    如下圖3所示,一般而言,Linux的每個進(jìn)程享有4GB的內(nèi)存空間,0~3GB屬于用戶空間,3~4GB屬于內(nèi)核空間,內(nèi)核空間對常規(guī)內(nèi)存、I/O設(shè)備內(nèi)存以及高端內(nèi)存存在不同的處理方式。

    
圖3 Linux進(jìn)程地址空間

    3.虛擬文件系統(tǒng)

    如下圖4所示,Linux虛擬文件系統(tǒng)(VFS)隱藏各種了硬件的具體細(xì)節(jié),為所有的設(shè)備提供了統(tǒng)一的接口。而且,它獨(dú)立于各個具體的文件系統(tǒng),是對各種文件系統(tǒng)的一個抽象,它使用超

    
圖4 Linux文件系統(tǒng)

    級塊super block存放文件系統(tǒng)相關(guān)信息,使用索引節(jié)點(diǎn)inode存放文件的物理信息,使用目錄項dentry存放文件的邏輯信息。

    4.網(wǎng)絡(luò)接口

    網(wǎng)絡(luò)接口提供了對各種網(wǎng)絡(luò)標(biāo)準(zhǔn)的存取和各種網(wǎng)絡(luò)硬件的支持。如下圖5所示,在Linux中網(wǎng)絡(luò)接口可分為網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)驅(qū)動程序,網(wǎng)絡(luò)協(xié)議部分負(fù)責(zé)實(shí)現(xiàn)每一種可能的網(wǎng)絡(luò)傳輸協(xié)議,網(wǎng)絡(luò)設(shè)備驅(qū)動程序負(fù)責(zé)與硬件設(shè)備通信,每一種可能的硬件設(shè)備都有相應(yīng)的設(shè)備驅(qū)動程序。

    
圖5 Linux網(wǎng)絡(luò)體系結(jié)構(gòu)

    5.進(jìn)程通信

    進(jìn)程通信支持提供進(jìn)程之間的通信,Linux支持進(jìn)程間的多種通信機(jī)制,包含信號量、共享內(nèi)存、管道等,這些機(jī)制可協(xié)助多個進(jìn)程、多資源的互斥訪問、進(jìn)程間的同步和消息傳遞。

    Linux內(nèi)核的5個組成部分之間的依賴關(guān)系如下。

    ·進(jìn)程調(diào)度與內(nèi)存管理之間的關(guān)系:這兩個子系統(tǒng)互相依賴。在多道程序環(huán)境下,程序要運(yùn)行必須為之創(chuàng)建進(jìn)程,而創(chuàng)建進(jìn)程的第一件事情,就是將程序和數(shù)據(jù)裝入內(nèi)存。

    ·進(jìn)程間通信與內(nèi)存管理的關(guān)系:進(jìn)程間通信子系統(tǒng)要依賴內(nèi)存管理支持共享內(nèi)存通信機(jī)制,這種機(jī)制允許兩個進(jìn)程除了擁有自己的私有空間,還可以存取共同的內(nèi)存區(qū)域。

    ·虛擬文件系統(tǒng)與網(wǎng)絡(luò)接口之間的關(guān)系:虛擬文件系統(tǒng)利用網(wǎng)絡(luò)接口支持網(wǎng)絡(luò)文件系統(tǒng)(NFS),也利用內(nèi)存管理支持RAMDISK設(shè)備。

    ·內(nèi)存管理與虛擬文件系統(tǒng)之間的關(guān)系:內(nèi)存管理利用虛擬文件系統(tǒng)支持交換,交換進(jìn)程(swapd)定期由調(diào)度程序調(diào)度,這也是內(nèi)存管理依賴于進(jìn)程調(diào)度的惟一原因。當(dāng)一個進(jìn)程存取的內(nèi)存映射被換出時,內(nèi)存管理向文件系統(tǒng)發(fā)出請求,同時,掛起當(dāng)前正在運(yùn)行的進(jìn)程。

    除了這些依賴關(guān)系外,內(nèi)核中的所有子系統(tǒng)還要依賴于一些共同的資源。這些資源包括所有子系統(tǒng)都用到的例程,如分配和釋放內(nèi)存空間的函數(shù)、打印警告或錯誤信息的函數(shù)及系統(tǒng)提供的調(diào)試?yán)痰取?/p>

   熱點(diǎn)鏈接:

   1、如何分析Linux內(nèi)核源碼
   2、嵌入式linux內(nèi)核數(shù)據(jù)結(jié)構(gòu)之循環(huán)鏈表
   3、嵌入式linux內(nèi)核數(shù)據(jù)結(jié)構(gòu)之雙向鏈表
   4、嵌入式linux內(nèi)核數(shù)據(jù)結(jié)構(gòu)之單向鏈表
   5、Linux內(nèi)核模塊程序結(jié)構(gòu)

更多新聞>> 

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 日韩在线观看你懂的| 日韩视频在线一区| 一区二区三区视频在线| 日韩电影免费观看在线| 日韩精品小视频| 久久电影一区二区| 久久久亚洲福利精品午夜| 国产精品久久91| 九九视频直播综合网| 国产精品精品视频| 日韩中文字幕在线| 91九色单男在线观看| 欧美激情一级精品国产| 国产网站欧美日韩免费精品在线观看 | 久热精品视频在线观看| 91久久综合亚洲鲁鲁五月天| 日韩欧美aaa| 色婷婷久久av| 成人性教育视频在线观看| 韩国v欧美v日本v亚洲| 日韩在线免费av| 日韩精品视频在线播放| 国产精品视频xxxx| 欧美亚洲视频一区二区| 黄色一区二区三区| 久久国产精品偷| 久久99视频免费| 久久精品亚洲94久久精品| 亚洲欧洲激情在线| 亚洲精品一区二区三区婷婷月| 亚洲国产精品久久久久| 欧美日韩国产中字| 亚洲国产美女精品久久久久∴| 91大神福利视频在线| 色av中文字幕一区| 久久精品人人做人人爽| 欧美精品电影免费在线观看 | 日韩美女在线观看| 国产欧美中文字幕| 91久久中文字幕| 在线精品高清中文字幕|