課程設(shè)計(論文)-linux內(nèi)核初起代碼分析

課程設(shè)計(論文)-linux內(nèi)核初起代碼分析

ID:6819175

大?。?14.50 KB

頁數(shù):20頁

時間:2018-01-27

課程設(shè)計(論文)-linux內(nèi)核初起代碼分析_第1頁
課程設(shè)計(論文)-linux內(nèi)核初起代碼分析_第2頁
課程設(shè)計(論文)-linux內(nèi)核初起代碼分析_第3頁
課程設(shè)計(論文)-linux內(nèi)核初起代碼分析_第4頁
課程設(shè)計(論文)-linux內(nèi)核初起代碼分析_第5頁
資源描述:

《課程設(shè)計(論文)-linux內(nèi)核初起代碼分析》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、Linux內(nèi)核初起代碼分析計算機科學(xué)與工程學(xué)院課程設(shè)計報告題目全稱:Linux內(nèi)核初起代碼分析學(xué)生學(xué)號:姓名:指導(dǎo)老師:職稱:指導(dǎo)老師評語:簽字:課程設(shè)計成績:設(shè)計過程表現(xiàn)設(shè)計報告質(zhì)量總分Linux內(nèi)核初起代碼分析目錄摘要1第一章引言11.1問題的提出11.2任務(wù)與分析1第二章代碼分析22.1系統(tǒng)初始化過程流程22.2數(shù)據(jù)結(jié)構(gòu)22.3常量和出錯信息的意義42.4調(diào)用關(guān)系圖42.5各模塊/函數(shù)的功能及詳細框圖52.5.1staticvoidtime_init(void)分析62.5.2voidmain(void)分析62.5.3pause()分析

2、82.5.4staticintprintf(constchar*fmt,...)分析82.5.5voidinit(void)分析9第三章內(nèi)核調(diào)試123.1運行環(huán)境123.2編譯內(nèi)核過程12第四章總結(jié)與體會15致謝16參考文獻17Linux內(nèi)核初起代碼分析摘要隨著計算機的普及,計算機發(fā)揮著越來越重要的作用,計算機的使用也越來越普遍,所以讓更多的人能夠更好的使用和掌握一些計算機方法顯得十分重要。充分發(fā)揮計算機的作用也顯得十分重要。操作系統(tǒng)應(yīng)運而生。操作系統(tǒng)是一種軟件,用來幫助其他的程序控制計算機并和用戶進行交互。因而,對操作系統(tǒng)的研究是很有必要的。

3、操作系統(tǒng)包含了多個部分或者組件,最核心的部分是內(nèi)核。其他的部分用來幫助內(nèi)核完成計算機資源的管理和應(yīng)用程序的控制。Linux操作系統(tǒng)是使用很廣泛的,高質(zhì)量的一個操作系統(tǒng)。此次起始代碼分析,我分析了init/main.c文件中的main()、init()以及編譯內(nèi)核代碼。main()中主要是關(guān)于起始的調(diào)用和設(shè)備和系統(tǒng)信息初始化,以及創(chuàng)建進程。此時中斷仍被禁止著,做完必要的設(shè)置后就將其開啟init()是創(chuàng)建進程,并檢測是否出錯,出錯則再次創(chuàng)建執(zhí)行并打印出出錯信息。init()函數(shù)運行在任務(wù)0第1次創(chuàng)建的子進程(任務(wù)1)中。它首先對第一個將要執(zhí)行的程序

4、(shell)的環(huán)境進行初始化,然后加載該程序并執(zhí)行之。對Linux初起代碼的分析有助于了解操作系統(tǒng)的啟動,可以更好地理解和認識操作系統(tǒng)是如何管理計算機資源的。關(guān)鍵詞:操作系統(tǒng);Linux;初起代碼Linux內(nèi)核初起代碼分析第一章引言1.1問題的提出操作系統(tǒng)是一種軟件,用來幫助其他的程序控制計算機并和用戶進行交互。操作系統(tǒng)包含了眾多程序用來控制計算機的核心功能,并且操作系統(tǒng)是鏈接用戶和計算機硬件的橋梁,便于人們有效管理。盡管在過去操作系統(tǒng)取得了長足的進步,但是基本的目標并未改變:通過使用操作系統(tǒng)來處理公共任務(wù),程序員便可以更容易地編寫應(yīng)用程序。

5、應(yīng)用程序是一種軟件,用來向計算機的用戶提供某種服務(wù),而不僅僅是控制計算機硬件。盡管在外觀上和功能上有所不同,但是所有的操作系統(tǒng)都具有一些相同之處:初始化計算機硬件,以便操作系統(tǒng)和其他持續(xù)可以正常工作;為使用操作系統(tǒng)的程序分配系統(tǒng)資源,如內(nèi)存和處理時間;跟蹤調(diào)試運行的多個程序;為所有使用系統(tǒng)設(shè)備的程序提供規(guī)范的訪問接口。操作系統(tǒng)包含了多個部分或者組件,最核心的部分是內(nèi)核。其他的部分用來幫助內(nèi)核完成計算機資源的管理和應(yīng)用程序的控制。操作系統(tǒng)控制了計算機上運行的各種應(yīng)用程序。沒有操作系統(tǒng)各類函數(shù)的調(diào)用,應(yīng)用程序就無法執(zhí)行。因而,對操作系統(tǒng)的研究是很有

6、必要的。Linux操作系統(tǒng)是使用很廣泛的,高質(zhì)量的一個操作系統(tǒng),而且作為一個開源的系統(tǒng),可以很方便的查看起代碼并進行分析,有利于更好的認識和了解操作系統(tǒng)。此次對Linux初起代碼的分析有助于了解操作系統(tǒng)的啟動,可以更好地理解和認識操作系統(tǒng)是如何管理計算機資源的。1.2任務(wù)與分析本課題主要的目的是了解一個操作系統(tǒng)的初起過程。根據(jù)操作系統(tǒng)的基礎(chǔ)知識,分析init/main.c中關(guān)于系統(tǒng)初起的相關(guān)代碼,了解一個操作系統(tǒng)的初起過程,得到相關(guān)的框圖,寫出設(shè)計說明書。1)代碼分析結(jié)果,包括但不限于:2)數(shù)據(jù)結(jié)構(gòu)3)常量和出錯信息的意義4)調(diào)用關(guān)系圖5)各模

7、塊/函數(shù)詳細框圖分析思路:1)了解基礎(chǔ)知識,找到相關(guān)的源碼;2)對代碼充分閱讀,先得到單個函數(shù)的數(shù)據(jù)結(jié)構(gòu)和框圖;3)將多個函數(shù)的框圖匯總,繪出整體的框圖;使用的源代碼是Linux/init/main.c(C)1991LinusTorvalds-17-Linux內(nèi)核初起代碼分析第二章代碼分析2.1系統(tǒng)初始化過程流程系統(tǒng)整個初始化過程見圖2.1所示:進程n進程1開始系統(tǒng)初始化對物理內(nèi)存各部分進行功能劃分和分配系統(tǒng)各個部分初始化,包括對任務(wù)0初始化移到任務(wù)0中執(zhí)行創(chuàng)建進程1(init)空閑時執(zhí)行pause()加載根文件系統(tǒng)設(shè)置終端標準IO創(chuàng)建進程2循

8、環(huán)等待進程2退出創(chuàng)建子進程循環(huán)等待進程結(jié)束任務(wù)進程0終端輸入定向到rc執(zhí)行shell退出設(shè)置終端標準IO執(zhí)行shell退出進程2圖2.1內(nèi)核初始化程序

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

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

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