日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件

第二章 Linux內(nèi)核

1 內(nèi)核開發(fā)特點
1)內(nèi)核編譯時不能訪問C庫;
2)浮點數(shù)很難使用;
3)內(nèi)核只有一個定長堆棧;
4)注意同步和并發(fā)。


第三章 進(jìn)程管理

1current宏:查找當(dāng)前運(yùn)行進(jìn)程的進(jìn)程描述符。

2 進(jìn)程狀態(tài)(5種)
TASK_RUNNING :1)正在運(yùn)行;2)在運(yùn)行隊列中等待執(zhí)行。
TASK_INTERRUPTIBLE:進(jìn)程正在睡眠,可以被信號喚醒。
TASK_UNINTERRUPTIBLE:進(jìn)程正在睡眠,不會收到信號被喚醒。
TASK_ZOMBIE:僵死態(tài),進(jìn)程已經(jīng)結(jié)束,父進(jìn)程未使用wait4()。
TASK_STOPPED

3 進(jìn)程上下文
進(jìn)程進(jìn)入內(nèi)核空間時,current宏依然有效,內(nèi)核“代表進(jìn)程執(zhí)行”。

4 進(jìn)程創(chuàng)建
1)fork():拷貝當(dāng)前進(jìn)程創(chuàng)建一個子進(jìn)程。
2)exec():讀取可執(zhí)行文件并載入地址空間開始運(yùn)行。
3)寫時拷貝(copy-on-wrtie):推遲數(shù)據(jù)拷貝,在需要寫入數(shù)據(jù)時,數(shù)據(jù)才會被復(fù)制。
4)vfork():不拷貝父進(jìn)程的頁表項,子進(jìn)程作為父進(jìn)程的一個線程在它的地址空間運(yùn)行,父進(jìn)程被阻塞直至子進(jìn)程退出,子進(jìn)程不能向地址塊空間寫入數(shù)據(jù)。

5 線程
Linux把所有的線程都當(dāng)作進(jìn)程來實現(xiàn)。

6 內(nèi)核線程:獨立運(yùn)行在內(nèi)核中的標(biāo)準(zhǔn)進(jìn)程。內(nèi)核線程沒有獨立的地址空間,只能在內(nèi)核空間中運(yùn)行,創(chuàng)建內(nèi)核線程用kernel_thread()。

7 進(jìn)程終結(jié)
1)釋放資源;
2)進(jìn)入TASK_ZOMBIE;
3)等待wait4()。




本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉