linux2.6內(nèi)核代碼分析——進(jìn)程管理

linux2.6內(nèi)核代碼分析——進(jìn)程管理

ID:21984475

大?。?4.50 KB

頁數(shù):6頁

時間:2018-10-26

linux2.6內(nèi)核代碼分析——進(jìn)程管理_第1頁
linux2.6內(nèi)核代碼分析——進(jìn)程管理_第2頁
linux2.6內(nèi)核代碼分析——進(jìn)程管理_第3頁
linux2.6內(nèi)核代碼分析——進(jìn)程管理_第4頁
linux2.6內(nèi)核代碼分析——進(jìn)程管理_第5頁
資源描述:

《linux2.6內(nèi)核代碼分析——進(jìn)程管理》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、Linux2.6內(nèi)核代碼分析——進(jìn)程管理:隨著計算機(jī)開發(fā)以及教學(xué)工作的深入,大家也不可避免的要接觸到基于Linux內(nèi)核的各種操作系統(tǒng)。如何邁入Linux的大門,并充分利用Linux開源、靈活等特性呢?解讀內(nèi)核源碼無疑是理解并掌握linux的關(guān)鍵。本篇文章,主要是對Linux內(nèi)核進(jìn)程管理部分進(jìn)行籠統(tǒng)的解讀,幫助讀者快速掌握Linux進(jìn)程管理的主線,對讀者的理解起到拋磚引玉的作用。  關(guān)鍵詞:Linux2.6;內(nèi)核代碼;進(jìn)程管理    一  Linux是最受歡迎的自由電腦操作系統(tǒng)內(nèi)核。它是一個用C語言寫成,符合POSIX標(biāo)準(zhǔn)的類Unix操作系統(tǒng)。Linux最早是由芬蘭黑客LinusTor

2、valds為嘗試在英特爾x86架構(gòu)上提供自由免費(fèi)的類Unix操作系統(tǒng)而開發(fā)的。技術(shù)上說Linux是一個內(nèi)核。“內(nèi)核”指的是一個提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng),或是GNU/Linux?! inux內(nèi)核的主要模塊(或組件)分以下幾個部分:存儲管理、CPU和進(jìn)程管理、文件系統(tǒng)、設(shè)備管理和驅(qū)動、X絡(luò)通信,以及系統(tǒng)的初始化(引導(dǎo))、系統(tǒng)調(diào)用等。一般地,可以從Linux內(nèi)核版本號來區(qū)分系統(tǒng)是否是Linux穩(wěn)定版還是測試版。以版本2.4.0為例,2代表主版本號,4代表次版本號,

3、0代表改動較小的末版本號。在版本號中,序號的第二位為偶數(shù)的版本表明這是一個可以使用的穩(wěn)定版本,如2.2.5,而序號的第二位為奇數(shù)的版本一般有一些新的東西加入,是個不一定很穩(wěn)定的測試版本,如2.3.1。這樣穩(wěn)定版本于上一個測試版升級版本號,而一個穩(wěn)定版本發(fā)展到完全成熟后就不再發(fā)展。本文是針對2.4.0版本內(nèi)核進(jìn)行分析。有于篇幅有限閱讀前需要讀者自行下載相應(yīng)內(nèi)核源碼?! inux內(nèi)核可分為三類,即硬件(異常)中斷處理文件,系統(tǒng)調(diào)用服務(wù)文件,及通用功能文件。其中通用類程序包括以下五種:sched.c、mktime.c、panic.c、printk.c、vsprintf.c。這其中的sch

4、ed.c程序是內(nèi)核的核心調(diào)度程序,主要用作切換進(jìn)程或改變進(jìn)程執(zhí)行狀態(tài)。schedule.c下有l(wèi)inux內(nèi)核調(diào)用最頻繁的三個函數(shù),分別是:schedule()、sleep_on()、。若alarm

5、片和優(yōu)先權(quán)調(diào)度機(jī)制,來選擇隨后要執(zhí)行的任務(wù)。他首先循環(huán)檢測任務(wù)數(shù)組中所有任務(wù),根據(jù)每個就緒態(tài)任務(wù)剩余執(zhí)行時間(counter),選取最大counter值的任務(wù),并利用sBIE—一個已經(jīng)終止的但仍保留有任務(wù)結(jié)構(gòu)的進(jìn)程;TASK_RUNNING—就緒態(tài);TASK_INTERRUPTIBLE、TASK_UNITERRUPTIBLE—不同深度的睡眠態(tài);TASK_STOPPED—描述一個已經(jīng)停止的進(jìn)程,當(dāng)進(jìn)程接收到一個特殊信號或被使用ptrace系統(tǒng)調(diào)用的進(jìn)程監(jiān)控,并將控制權(quán)交給監(jiān)控進(jìn)程  (4)關(guān)于優(yōu)先級,prio是進(jìn)程的動態(tài)優(yōu)先級,是調(diào)度器選擇候選進(jìn)程next的主:隨著計算機(jī)開發(fā)以及教學(xué)工

6、作的深入,大家也不可避免的要接觸到基于Linux內(nèi)核的各種操作系統(tǒng)。如何邁入Linux的大門,并充分利用Linux開源、靈活等特性呢?解讀內(nèi)核源碼無疑是理解并掌握linux的關(guān)鍵。本篇文章,主要是對Linux內(nèi)核進(jìn)程管理部分進(jìn)行籠統(tǒng)的解讀,幫助讀者快速掌握Linux進(jìn)程管理的主線,對讀者的理解起到拋磚引玉的作用?! £P(guān)鍵詞:Linux2.6;內(nèi)核代碼;進(jìn)程管理    一  Linux是最受歡迎的自由電腦操作系統(tǒng)內(nèi)核。它是一個用C語言寫成,符合POSIX標(biāo)準(zhǔn)的類Unix操作系統(tǒng)。Linux最早是由芬蘭黑客LinusTorvalds為嘗試在英特爾x86架構(gòu)上提供自由免費(fèi)的類Unix操作系

7、統(tǒng)而開發(fā)的。技術(shù)上說Linux是一個內(nèi)核。“內(nèi)核”指的是一個提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng),或是GNU/Linux?! inux內(nèi)核的主要模塊(或組件)分以下幾個部分:存儲管理、CPU和進(jìn)程管理、文件系統(tǒng)、設(shè)備管理和驅(qū)動、X絡(luò)通信,以及系統(tǒng)的初始化(引導(dǎo))、系統(tǒng)調(diào)用等。一般地,可以從Linux內(nèi)核版本號來區(qū)分系統(tǒng)是否是Linux穩(wěn)定版還

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。