freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

關(guān)于linux操作系統(tǒng)設(shè)計(jì)研究畢業(yè)論文(已修改)

2025-07-04 03:50 本頁(yè)面
 

【正文】 關(guān)于Linux操作系統(tǒng)設(shè)計(jì)研究畢業(yè)論文目 錄中文摘要 1ABSTRACT 2第1章 Linux概述 3 Linux操作系統(tǒng)的誕生和發(fā)行版 3 Linux系統(tǒng)的誕生 3 Linux 發(fā)行版 3 Linux應(yīng)用和特性 4 linux 的應(yīng)用 4 linux 的特性 4第2章 Tiny210開(kāi)發(fā)板 6 Tiny210 簡(jiǎn)介 6 Tiny210硬件配置 6 軟件支持 7第3章 移植前準(zhǔn)備 8 8 虛擬機(jī)的安裝 8 Red Hat linux 的安裝 8 軟件包和源碼包的準(zhǔn)備和下載 8第4章 Linux 內(nèi)核 9第5章 RTC芯片 10 RTC芯片簡(jiǎn)述 10 I2C總線簡(jiǎn)介 10第6章 字符設(shè)備驅(qū)動(dòng)相關(guān)知識(shí) 11 模塊機(jī)制 11 字符設(shè)備開(kāi)發(fā)基本步驟 12 主設(shè)備號(hào)和次設(shè)備號(hào) 12 實(shí)現(xiàn)字符驅(qū)動(dòng)程序 13第7章 RTC驅(qū)動(dòng)實(shí)現(xiàn) 16 設(shè)計(jì)思路 16 RTC程序?qū)崿F(xiàn) 16 RTC基本數(shù)據(jù)結(jié)構(gòu) 16 16 定義操作函數(shù) 17 函數(shù)聲明 18 18 實(shí)際運(yùn)行及結(jié)果 18第8章 結(jié)論 20謝 辭 21參 考 文 獻(xiàn) 22附錄A RTC驅(qū)動(dòng)程序 23附錄B Makefile文件 41附錄C 應(yīng)用層測(cè)試程序 4121蚌埠學(xué)院本科畢業(yè)設(shè)計(jì)(論文)第1章 Linux概述 Linux操作系統(tǒng)的誕生和發(fā)行版 Linux系統(tǒng)的誕生 1981年IBM推出了微型計(jì)算機(jī)IBM PC。在它推出的前10年內(nèi),MSDOS操作系統(tǒng)主宰了整個(gè)計(jì)算機(jī)操作系統(tǒng)界。而在當(dāng)時(shí),計(jì)算機(jī)硬件的價(jià)格在不斷下跌,但軟件仍處于高位。蘋(píng)果的操作系統(tǒng)MacOS的是無(wú)疑是最好的性能,但價(jià)格高,沒(méi)有人可以輕易接近。到1991年,隨著GNU計(jì)劃開(kāi)發(fā)出來(lái)了一些工具,以及GNU C編譯器的發(fā)布。甚至MINIX也因?yàn)榘鏅?quán)開(kāi)始需要購(gòu)買(mǎi)才能獲得源代碼。在GNU HURD操作系統(tǒng)的開(kāi)發(fā)工作卻不是能在幾年內(nèi)完成的。對(duì)于萊納斯來(lái)說(shuō),已經(jīng)等不及了。起初,他只是為了學(xué)習(xí)386架構(gòu)的編程技術(shù),但隨后的Linux開(kāi)發(fā)過(guò)程已經(jīng)徹底改變了他的主意。在1991年初,萊納斯在學(xué)習(xí)MINIX的操作系統(tǒng)的時(shí)候產(chǎn)生了開(kāi)發(fā)一個(gè)新的屬于自己的理想中的操作系統(tǒng)的想法。最早與Linux(當(dāng)然此時(shí)還不叫Linux 這個(gè)名稱(chēng))。而在萊納斯8 月25 日發(fā)布的消息中,他第一次向外界透露出有開(kāi)發(fā)免費(fèi)的操作系統(tǒng)的意向,可是它并不會(huì)象GNU 那種現(xiàn)在已經(jīng)在行業(yè)中成型的系統(tǒng)那樣專(zhuān)業(yè),而代碼量不會(huì)很大[1]。直到1991 年的10 月5 日, 新聞組上發(fā)布消息,正式向外宣布Linux 內(nèi)核系統(tǒng)的誕生(Free minixlike kernel sources for 386AT)。這段消息就是直到今日都廣為流傳的被稱(chēng)為L(zhǎng)inux的誕生宣言。因此對(duì)Linux 社區(qū),及其所用用戶來(lái)說(shuō),10月5日都是一個(gè)特殊的日子。直到今天,包括現(xiàn)在的Red Hat公司在內(nèi)的很多公司都會(huì)在發(fā)布許多Linux 的新版本時(shí)選擇了這個(gè)日子。 Linux是一種源于UNIX的操作系統(tǒng),雖然從嚴(yán)格意義上講,Linux這個(gè)詞實(shí)際上是指Linux內(nèi)核,但實(shí)際上人們已經(jīng)習(xí)慣了把整個(gè)基于Linux內(nèi)核以及在此基礎(chǔ)上的各種工具的操作系統(tǒng)統(tǒng)稱(chēng)為L(zhǎng)inux。 Linux 發(fā)行版 通常來(lái)講,一個(gè)Linux的發(fā)行版不僅僅是指Linux內(nèi)核,還包括了使用Linux的軟件的安裝工具,以及各種工具軟件,而在一些特定的版本中中也有一些特定軟件,只不過(guò)現(xiàn)在都習(xí)慣于把它們統(tǒng)稱(chēng)為L(zhǎng)inux發(fā)行版。每一種發(fā)行版的開(kāi)發(fā)都是針對(duì)著不同的目標(biāo),像是支持不同計(jì)算機(jī)結(jié)構(gòu),更強(qiáng)調(diào)實(shí)時(shí)應(yīng)用,和專(zhuān)門(mén)面向嵌入式系統(tǒng)等。主流的Linux發(fā)型版有Ubuntu,Red Hat等等。 Linux應(yīng)用和特性 Linux 的應(yīng)用Linux的基本思想就是——萬(wàn)物皆文件,因此它擁有極高的靈活性和可移植性,再加上它的UNIX背景,使它Linux在服務(wù)器的操作系統(tǒng)方面具有廣泛運(yùn)用。直到現(xiàn)在,Linux還是提供網(wǎng)站服務(wù)供應(yīng)商最常使用的平臺(tái)。雖然因?yàn)樾碌木幊陶Z(yǔ)言的興起,它的市場(chǎng)份額在不斷減少,但在嵌入式行業(yè),Linux基于其低廉成本與小體積依然是不可動(dòng)搖的霸主,像在機(jī)頂盒、手機(jī)及移動(dòng)裝置等硬件平臺(tái)上,Linux已經(jīng)是不可或缺的[3]。 Linux 的特性⑴ 完全兼容 ,所以一些常見(jiàn)的Windows的程序完全可以在Linux上無(wú)障礙運(yùn)行,這也為用戶從Windows轉(zhuǎn)到Linux提供了方便。因?yàn)楝F(xiàn)在Windows的巨大影響力,許多用戶在使用Linux前,都會(huì)因?yàn)橐郧癢indows的使用習(xí)慣而擔(dān)心能否適應(yīng)新的環(huán)境,而這一點(diǎn)就使他們不在顧慮。⑵ 完全免費(fèi),發(fā)展迅速 Linux是一款完全免費(fèi)的操作系統(tǒng)。因?yàn)長(zhǎng)inux社區(qū)的存在,所有的Linux用戶都可以輕易的得到當(dāng)前任意版本的Linux的源代碼,并按照自己的意愿來(lái)修改它。正是由于這一點(diǎn),每時(shí)每刻,每一次的技術(shù)進(jìn)步,每一種新平臺(tái)面世,都有來(lái)自世界各地的精英都參與了Linux的更新和實(shí)現(xiàn),無(wú)數(shù)的靈感跟不斷進(jìn)步的技術(shù)與編程思想,讓Linux有了無(wú)窮的可能性,并在無(wú)數(shù)程序員的努力下不斷壯大。  ?、?多用戶、多任務(wù) 正如當(dāng)今世界發(fā)展的主流那樣,Linux也支持多用戶。這保證了各用戶的相對(duì)獨(dú)立,之間互不影響,都對(duì)于自己的文件設(shè)備有自己的權(quán)利。而多任務(wù)則是現(xiàn)在各種智能設(shè)備的主要特點(diǎn),為了節(jié)省運(yùn)行時(shí)間和解放更多的系統(tǒng)資源,實(shí)現(xiàn)了多進(jìn)程的并行執(zhí)行,Linux操作系統(tǒng)就是其中的典范。⑷ 良好的界面 因?yàn)楝F(xiàn)在Windows系統(tǒng)的強(qiáng)烈影響,Linux同時(shí)具有可以通過(guò)鍵盤(pán)輸入相應(yīng)的指令來(lái)進(jìn)行操作的字符界面和類(lèi)似Windows圖形界面的XWindow系統(tǒng)提供的圖形界面。后者使用戶可以類(lèi)似于Windows操作系統(tǒng)使用鼠標(biāo)對(duì)其進(jìn)行操作,而不會(huì)因?yàn)檗D(zhuǎn)換了操作系統(tǒng)感到不適應(yīng)。⑸ 豐富的網(wǎng)絡(luò)功能 Unix最大的優(yōu)勢(shì)就是其強(qiáng)大的網(wǎng)絡(luò)功能,而從Unix衍生出來(lái)的Linux系統(tǒng)也繼承了它在網(wǎng)絡(luò)功能上的優(yōu)勢(shì)。Linux的網(wǎng)絡(luò)功能和其內(nèi)核緊密相連,在這方面它要比其他操作系統(tǒng)更有優(yōu)勢(shì)。 ⑹ 可靠的安全、穩(wěn)定性能 Linux采取了許多安全技術(shù)措施為內(nèi)部信息安全提供了保障。而且Linux的極高的穩(wěn)定性使它在對(duì)要應(yīng)用到網(wǎng)絡(luò)服務(wù)器這類(lèi)有較高穩(wěn)定性要求的服務(wù)上有非常高的適應(yīng)性?! 、?支持多種平臺(tái) Linux作為一種嵌入式操作系統(tǒng),在各種移動(dòng)裝置上應(yīng)用廣泛。Linux因?yàn)槠溟_(kāi)源的特性使它基本可以在市場(chǎng)上絕大部分的硬件平臺(tái)上運(yùn)行,這也使它精簡(jiǎn)體積小的內(nèi)核可以方便地移植多種嵌入式處理器上。 第2章 Tiny210開(kāi)發(fā)板 Tiny210 簡(jiǎn)介T(mén)iny210是一款高性能的Cortex A8核心板,它由廣州友善之臂設(shè)計(jì)、生產(chǎn)和發(fā)行銷(xiāo)售。它采用三星S5PV210作為主處理器,運(yùn)行主頻可高達(dá)1GHz。S5PV210內(nèi)部集成了PowerVR SGX540高性能圖形引擎,支持3D圖形流暢運(yùn)行,并可流暢播放1080P大尺寸視頻[4]。,引出CPU大部分常用功能引腳,并力求和Tiny6410核心板三排引腳兼容(P1,P2,CON2) [5]。 Tiny210硬件配置如圖21: 軟件支持 ⑴ Superboot210 ⑵ Android + ⑶ Android ⑷ WindowsCE6 第3章 移植前準(zhǔn)備 虛擬機(jī)的安裝在有了硬件平臺(tái)的支持下(Tiny210開(kāi)發(fā)板)開(kāi)始進(jìn)行軟件平臺(tái)的搭建。在pc機(jī)上安裝一個(gè)虛擬機(jī),本文選用的虛擬機(jī)是VMware Workstation 。虛擬機(jī)其實(shí)就是在主機(jī)中占用一塊內(nèi)存在主機(jī)的硬件平臺(tái)上搭建一個(gè)類(lèi)似主機(jī)的運(yùn)行環(huán)境,在 VMware中,你可以在一個(gè)以主機(jī)的分割的內(nèi)存為基礎(chǔ)的窗口中加載一臺(tái)虛擬機(jī),運(yùn)行自己的操作系統(tǒng)和應(yīng)用程序,而不影響主機(jī)任何操作。 Red Hat Linux 的安裝在安裝了Vmware Workstation 的條件下,創(chuàng)建一個(gè)虛擬機(jī)給它分配20G的磁盤(pán)大小。512M的內(nèi)存空間。然后從網(wǎng)上下載Red Hat Linux 操作系統(tǒng)安裝包iso文件,我下載的是Red Hat Linux5的iso文件,相對(duì)來(lái)說(shuō)是版本比較高的內(nèi)核。在獲得Red Hat的iso文件后,在創(chuàng)建的虛擬機(jī)中安裝該Linux操作系統(tǒng)。 軟件包和源碼包的準(zhǔn)備和下載需要的軟件有交叉編譯器armLinuxgcc ,我選用的交叉編譯器為T(mén)iny210的開(kāi)發(fā)自帶的交叉編譯器,正是由于我即將下載內(nèi)核源碼版本比較高,因此我們選用的交叉編譯器的版本也是相對(duì)來(lái)說(shuō)比較高的。 。Boot Loader 是在硬件平臺(tái)運(yùn)行之前完成對(duì)硬件的初始化病喚醒操作系統(tǒng)的程序。就是通過(guò)Boot Loader來(lái)實(shí)現(xiàn)初始化硬件設(shè)備,從而給操作系統(tǒng)提供了一個(gè)合適的軟硬件環(huán)境,并為調(diào)用它做好準(zhǔn)備。我選擇的Boot Loader是U_boot[6]。 第4章 Linux 內(nèi)核現(xiàn)在自己的當(dāng)前目錄,即~目錄下,解壓自己的內(nèi)核源代碼: tar xvzf 解壓Linux內(nèi)核源碼包,這就是該內(nèi)核的所有實(shí)現(xiàn)代碼。Linux的內(nèi)核的目錄包含很多個(gè)文件夾,分別用于實(shí)現(xiàn)不同的功能(如圖41)[7]。():圖41 Linux根目錄 其中有幾個(gè)比較重要的需要著重了解: ⑴ /drivers 驅(qū)動(dòng)目錄,該目錄是所有被加載到內(nèi)核的設(shè)備驅(qū)動(dòng)的程序。其中又把設(shè)備驅(qū)動(dòng)進(jìn)一步劃分成幾類(lèi),如字符設(shè)備驅(qū)動(dòng),塊設(shè)備驅(qū)動(dòng)等。 ⑵ /include 該目錄包括編譯核心所需要的大部分頭文件,也是Linux下程序編譯的查找默認(rèn)路徑。⑶ /net 該目錄里不用說(shuō)就是核心的網(wǎng)絡(luò)層代碼。⑷ /init 該目錄中包含內(nèi)核的所有硬件初始化代碼,這是內(nèi)核所有工作的起點(diǎn),同時(shí)也是是所有進(jìn)程的最初父進(jìn)程。 ⑸ /kernel 該內(nèi)核管理的核心代碼放在這里,也就是通常所說(shuō)的內(nèi)核的具體實(shí)現(xiàn),一般除了內(nèi)核裁剪都不需要對(duì)它進(jìn)行操作。 ⑹ /documentation 該目錄下是對(duì)每個(gè)目錄作用的具體說(shuō)明的文檔以及一些功能的實(shí)例,就相當(dāng)于產(chǎn)品說(shuō)明書(shū)。⑺ /ipc 該目錄包含了核心進(jìn)程間的通信代碼,是Linux多任務(wù)特性具體實(shí)現(xiàn)。⑻ /lib 該目錄是編譯默認(rèn)路徑,包含了內(nèi)核絕大部分的庫(kù)文件與代碼。 ⑼/modules 該目錄存放了已建好的、可動(dòng)態(tài)加載的模塊,裁剪內(nèi)核的主要工作目標(biāo)。 第5章 RTC芯片 RTC芯片簡(jiǎn)述 RTC(real time clock)實(shí)時(shí)時(shí)鐘,顧名思義,擁有真實(shí)時(shí)間的時(shí)鐘,其實(shí)它的主要作用就是在操作系統(tǒng)沒(méi)有工作的時(shí)候自主維護(hù)時(shí)間表,并在需要的時(shí)候給操作系統(tǒng)提供系統(tǒng)時(shí)間。開(kāi)發(fā)板的時(shí)間系統(tǒng)可以分成兩種,分別是系統(tǒng)時(shí)間和硬件時(shí)間。硬件時(shí)間指的就是RTC芯片自主維護(hù)的時(shí)間,因?yàn)镽TC芯片是電池供電的,所以在硬件平臺(tái)掉電后時(shí)間表不會(huì)丟失。Linux內(nèi)核就把RTC芯片當(dāng)作“離線”的時(shí)間與日期維護(hù)器。當(dāng)Linux內(nèi)核啟動(dòng)時(shí),都要通過(guò)RTC來(lái)進(jìn)行初始化,從RTC中讀取時(shí)間保存到系統(tǒng)中,得到系統(tǒng)時(shí)間。而在運(yùn)行期間,內(nèi)核以軟件的形式維護(hù)系統(tǒng)的當(dāng)前時(shí)間與日期,并在關(guān)機(jī)或必要的時(shí)候?qū)r(shí)間回寫(xiě)RTC芯片,由它自主維護(hù)。另外如果RTC擁有了IRQ中斷并且可以定時(shí),那么RTC還可以作為一個(gè)鬧鐘用來(lái)在內(nèi)核睡眠時(shí)喚醒內(nèi)核。Linux有兩種RTC驅(qū)動(dòng)的接口,一個(gè)是老的接口,專(zhuān)門(mén)用在PC機(jī)上的。另外一鐘新接口是基于Linux設(shè)備驅(qū)動(dòng)程序的。而后者創(chuàng)建了一個(gè)RTC驅(qū)動(dòng)模型,并注冊(cè)到RTC核心中,把所有工作交由RTC芯片完成。 I2C總線簡(jiǎn)介I2C總線是一種由Philips公司開(kāi)發(fā)的兩線式串行總線標(biāo)準(zhǔn),用于鏈接微控制器及其外圍設(shè)備。I2C有100K和400K兩種工作速率,它支持多機(jī)通訊和多主控模塊設(shè)計(jì),并且每個(gè)電路模塊都有唯一的地址,還允許每個(gè)在I2C總線上的期間都可以使用獨(dú)立的電源。本文就是介紹基于I2C總線的Linux字符設(shè)備驅(qū)動(dòng)。I2C由數(shù)據(jù)線(SDA)和時(shí)鐘線(SCL)構(gòu)成的同步串行總線,可發(fā)送和接受數(shù)據(jù),在處理器與控制芯片之間、芯片與芯片之間進(jìn)行雙向傳送[8]。I2C總線在傳送數(shù)據(jù)過(guò)程中共有三種類(lèi)型信號(hào),它們分別是開(kāi)始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)[9]。 第6章 字符設(shè)備驅(qū)動(dòng)相關(guān)知識(shí) Linux提供了一種被稱(chēng)為模塊(Module)的機(jī)制提供了對(duì)許多模塊支持,設(shè)備驅(qū)動(dòng)每個(gè)模塊由不同代碼組成,實(shí)現(xiàn)不同功能[10](所有的模塊在一起才是一個(gè)可執(zhí)行程序)。insmod 將模塊動(dòng)態(tài)加載到正在運(yùn)行內(nèi)核;rmmod 程序移除模塊;Linux內(nèi)核模塊的程序結(jié)構(gòu): ⑴ module_init()——加載模塊函數(shù)(必須) 使用insmod命令加載模塊時(shí),內(nèi)核就會(huì)執(zhí)行該模塊的加載函數(shù),也就是說(shuō)這就是整個(gè)模塊函數(shù)的入口,就是通過(guò)它來(lái)完成模塊的初始化相關(guān)工作。 ⑵ module_exit()——卸載模塊函數(shù)(必須) 當(dāng)使用rmmod命令卸載某模塊時(shí),內(nèi)核就會(huì)執(zhí)行該這段函數(shù),完成對(duì)模塊的刪除和空間的釋放。 ⑶ MODULE_LICENSE()——模塊許可證聲明(必須) 這一段函數(shù)就是描述內(nèi)核將要加載的模塊的工作權(quán)限,如果在加載模塊時(shí)不聲明LICENSE,內(nèi)核就會(huì)報(bào)警:kernel tainted,意思就是內(nèi)核被污染。 ⑷ module_param()——模塊參數(shù)(可選) 這個(gè)函數(shù)括號(hào)內(nèi)放置著模塊內(nèi)部聲明的全局變量,對(duì)應(yīng)著在加載模塊時(shí)rommod命令后面跟著的參數(shù),這些參數(shù)就會(huì)被傳入模塊內(nèi)。 ⑸ EXPORT_SYMBOL()——模塊導(dǎo)出符號(hào)(可選) 這個(gè)函數(shù)括號(hào)內(nèi)也放置著數(shù)量不等參數(shù),也就是符號(hào)(可以是函數(shù)或變量),而在這個(gè)模塊結(jié)束之后,其他模塊就可以通過(guò)這個(gè)符號(hào)使用本模塊中這些到處的參數(shù),變量或函數(shù)。⑹ 其他一些聲明MODULE_XXXXX()——模塊聲明(可選)不同的聲明對(duì)應(yīng)著不同的功能選項(xiàng),視實(shí)際情況而定。 模塊加載函數(shù):static int __init
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1