嵌入式linux題庫及答案_第1頁
嵌入式linux題庫及答案_第2頁
嵌入式linux題庫及答案_第3頁
嵌入式linux題庫及答案_第4頁
嵌入式linux題庫及答案_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、嵌入式linux期末測試什么是嵌入式系統(tǒng)?主要有什么特點?答:以應用為中心,以計算機技術為基礎的,并且軟件硬件是可剪裁的,能滿足應用系統(tǒng)對功能、可靠性、成本、體積、功耗等指標的嚴格要求的專用計算機系統(tǒng)。他可以實現(xiàn)對其他設備的控制、監(jiān)視或者管理等功能。與通用的計算機系統(tǒng)相比,特點為:面向特定應用,一般都有實時要求;集先進性的計算機技術、半導體工藝、電子技術和通信網(wǎng)絡技術于一體的并且在不斷創(chuàng)新的知識集成系統(tǒng);嵌入式系統(tǒng)是和具體應用對象有機結合在一起,因而其升級換代也是和具體的產(chǎn)品同步進行的。嵌入式系統(tǒng)的軟硬件設計著重于高效率性。在最大限度滿足應用需求的前提下,降低成本是必須要考慮的主要問題。嵌入式

2、系統(tǒng)軟件一般都固化在存儲器芯片中。嵌入式系統(tǒng)有哪幾個部分?答:嵌入式系統(tǒng)通常由嵌入式處理機、嵌入式外圍設備、嵌入式操作系統(tǒng)和嵌入式應用軟件等幾大部分組成。3、嵌入式操作系統(tǒng)的作用是什么?*實際是一組軟件模塊集合滿足多任務處理、穩(wěn)定運行 、安全可靠 、占用系統(tǒng)資源少 、特有的實時事件處理 、便于維護和管理、簡潔良好的用戶界面什么是Linux?什么是嵌入式Linux?答:嚴格來講,Linux是指由Linux本人維護并不斷更新的內(nèi)核 。一個嵌入式Linux系統(tǒng)指的是一個基于Linux內(nèi)核的,但不包含有關這個內(nèi)核的任何專業(yè)的庫或是用戶工具的嵌入式系統(tǒng)。用Linux內(nèi)核構建嵌入式操作系統(tǒng)有什么優(yōu)勢(優(yōu)良

3、特性)?答:(1)程度代碼是可以獲取的,可高度高;有完整的源碼,軟件豐富并且免費;得到眾多硬件生產(chǎn)家的廣泛支持;包括cpu、計算機外圍設備完善的通信協(xié)議、軟件標準和文件管理機制;提供完全免費且優(yōu)秀的開發(fā)工具;廣泛的社群支持無需購買licence,是免費的;不依賴特定廠商、供應商;成本相對低廉。RTOS(嵌入式操作系統(tǒng))強調的實時是什么概念?與中斷的關系?答:實時指的是特定操作所消耗的時間(以及空間)的上限是可預知的。操作系統(tǒng)能夠在規(guī)定響應時間內(nèi)完成客戶服務程序。中斷程序響應中斷并完成 是在固定時間內(nèi)。什么是實時Linux?涉及到哪些軟硬件內(nèi)容?答:實時Linux(RT-Linux)通過在Lin

4、ux內(nèi)核與硬件中斷之間增加一個精巧的可搶先的實時內(nèi)核,把標準的Linux內(nèi)核作為實時內(nèi)核的一個進程與用戶進程一起調度,標準的Linux內(nèi)核的優(yōu)先級最低,可以被實時進程搶斷。正常的Linux進程仍可以在Linux內(nèi)核上運行,這樣既可以使用標準分時操作系統(tǒng)即Linux的各種服務, 又能提供低延時的實時環(huán)境。它在硬件上涉及到硬件中斷,軟件上涉及到對高優(yōu)先級的實時硬件中斷的快速響應。能在規(guī)定的時間內(nèi)完成對突發(fā)事件的處理的Linux系統(tǒng);軟件:中斷服務程序、進程調度程序,硬件:嵌入式系統(tǒng)所采用的中斷管理硬件。試簡要說明Linux內(nèi)核構成,并簡要說明各部分的功能?答:MMU:內(nèi)存管理單元,完成地址映射(應

5、用虛擬地址方式)VFS:虛擬文件管理系統(tǒng),提供了統(tǒng)一管理計算機資源的途徑。使統(tǒng)一規(guī)范計算機資源的使用格式成為可能,方便傳輸SCHED:進程調用單元。支持多任務運行。利用軟件中斷的特點,將CPU 的時間線劃分給各個任務,完成多任務管理IPC:進程間通信單元。實現(xiàn)多個不同程序在運行時可以進行數(shù)據(jù)交換、通信。NET:網(wǎng)絡。網(wǎng)絡不做為通用設備,以特定工作單元存在。負責計算機系統(tǒng)與其他計算機相互通信的接口。通??刹捎媚膸追N方式來開發(fā)嵌入式Linux系統(tǒng)?給出示意圖。答:方式有:(1)連接型(宿主機/目標板鏈接開發(fā))(2)可移動連接型(利用可移動的存儲器作為宿主機/目標板之間的中介)(3)標準化(在開發(fā)板

6、上進行獨立開發(fā))主機跨平臺開發(fā)環(huán)境目標板引導加載程序內(nèi)核根文件系統(tǒng)主機跨平臺開發(fā)環(huán)境(1)目標板引導加載程序第二引導加載程序內(nèi)核根文件系統(tǒng)(2)目標板引導加載程序內(nèi)核完整的根文件系統(tǒng)固有的開發(fā)環(huán)境(3)為什么要建立交叉開發(fā)平臺?在何種情形下可以不必建立?答:嵌入式系統(tǒng)的構造決定。嵌入式處理器多為專用的cpu,1、必須將用C編寫的程序編譯成能在該專用平臺上運行的機器碼。2、C語言庫是必需的,必需提供能在專用cpu上運行的庫的二進制代碼。以上兩點要求有這么一種編譯工具能夠實現(xiàn)兩種CPU之間的交叉。當執(zhí)行應用程序的平臺和用來建立應用程序的平臺相同時就可以不建立交叉開發(fā)平臺。試簡要敘述GNU及其所提供

7、的開發(fā)工具鏈。答: GNU是“GNUs Not Unix”的遞歸縮寫,它是一個自由軟件工程項目組織。提供各種開源代碼。提供一整套的開發(fā)工具鏈包括:GNU工具鏈基礎,內(nèi)核頭文件安裝程序,Binutils(二進制工具)的安裝程序,引導編譯器安裝程序,C庫安裝程序,全編譯器安裝程序,完成工具鏈的設置。試解釋make和makefile的關系?簡單舉例說明。答:使用make就必須寫makefile文件,它描述工程中文件之間的關系,提供更新每個文件的命令。Makefile就是一組規(guī)則,它指導make程序的運行,告訴make需要做什么,多數(shù)情況是怎樣編譯和鏈接一個程序。目標和目標運行規(guī)則一旦建立,make就

8、會按此進行工作。edit : main.o kbd.o command.o display.o insert.o search.o files.o utils.o cc -o edit main.o kbd.o command.o display.o insert.o search.o files.o utils.o main.o : main.c defs.h cc -c main.c kbd.o : kbd.c defs.h command.h cc -c kbd.c command.o : command.c defs.h command.h cc -c command.c displa

9、y.o : display.c defs.h buffer.h cc -c display.c insert.o : insert.c defs.h buffer.h cc -c insert.c search.o : search.c defs.h buffer.h cc -c search.c files.o : files.c defs.h buffer.h command.h cc -c files.c utils.o : utils.c defs.h cc -c utils.c clean : rm edit main.o kbd.o command.o display.o inse

10、rt.o search.o files.o utils.o(此段為Makefile)make clean(此為make執(zhí)行上述Makefile規(guī)則)GCC是什么?為什么說它是必不可少的?答:GCC是由GNU組織開發(fā)的一個免費的C/C+編譯工具,由它將高級語言轉換為機器語言。因為GCC是一個交叉平臺的編譯器,幾乎所有主流CPU處理平臺上目標代碼的變換,它有力的支持了Linux系統(tǒng)的發(fā)展。沒有就無法獲得可執(zhí)行程序。C庫是什么概念?在嵌入式Linux系統(tǒng)中對此有何要求?答:提供C語言里包含常用函數(shù)的源代碼。在嵌入式Linux系統(tǒng)中是必不可少的。否則無法獲得可執(zhí)行程序的完整代碼。因為操作系統(tǒng)是用C語言

11、編寫的。在設計嵌入式Linux系統(tǒng)時為什么要配置內(nèi)核?可用哪幾種命令來配置?答:針對嵌入式系統(tǒng),內(nèi)核需要知道運行在怎么樣的平臺上,它要管理的硬件單元,這就需要我們重新組裝內(nèi)核來達成上述目標。因為完整的Linux的內(nèi)核比較龐大,不適合嵌入式系統(tǒng)這樣的對速度、容量要求苛刻的系統(tǒng)上面運行,因此我們需要去掉那些與目標系統(tǒng)無關的、只編譯系統(tǒng)需要的功能的代碼。我們通常使用內(nèi)核配置命令make config(字符界面);make oldconfig;make menuconfig(文本圖形界面);make xconfig(x-window圖形界面)來配置內(nèi)核。通常使用后兩個命令,在圖形界面下比較直觀。顯然,

12、在makefile中詳細定義了界面是如何生成的,以及配置和編譯內(nèi)核的規(guī)則。此外還有make oldconfig命令。重新編譯內(nèi)核應考慮哪幾個方面的因素? 模塊是什么概念?答:建立依存關系,建立內(nèi)核,建立模塊。模塊的概念:可動態(tài)、靜態(tài)加載的二進制代碼。什么是根文件系統(tǒng)?Linux內(nèi)核啟動與根文件系統(tǒng)的關系?答:根文件系統(tǒng)是Linux系統(tǒng)的安裝點,應該包括支持Linux系統(tǒng)正常運行的基本內(nèi)容,包含著系統(tǒng)使用的軟件和庫,以及所有用來為用戶提供支持構架和用戶使用的應用軟件。Linux內(nèi)核在運行期必須要用到的存儲代碼體系,與內(nèi)核同時存在,只在內(nèi)核運行時才存在于內(nèi)存中。根文件系統(tǒng)必須要能夠提供Linux內(nèi)

13、核啟動過程中要加載的模塊在構建嵌入式Linux系統(tǒng)時,對根文件系統(tǒng)的目錄項有什么要求?6.1答:構建嵌入式操作系統(tǒng)時應包括的目錄項有:/bin;/boot;/dev;/ect;/home;/lib;/mnt;/opt;/proc;/root;/sbin;/tmp;/usr;/var其中/bin;/dev;/ect;/lib;/proc;/sbin;/tmp;/usr;/var這9項必須包含,另外5項可有可無。Linux內(nèi)核在目標板上啟動過程(簡要敘述)?需要考慮哪些因素?答:1、通過合適的bootloader 找到內(nèi)核源代碼,加載到內(nèi)存2、內(nèi)核源代碼開始進行初始化3、內(nèi)核源代碼初始化完畢,開始調用和用戶有關的進程。用戶進程初始化選用和目標板相配的啟動裝載程序如何理解文件系統(tǒng)?常用的文件系統(tǒng)有哪幾種?答:文件系統(tǒng)是對一個存儲設備上的數(shù)據(jù)和元數(shù)據(jù)進行組織的機制另一種看待文件系統(tǒng)的方式是把它看作一個協(xié)議。網(wǎng)絡協(xié)議(比如 IP)規(guī)定了互聯(lián)網(wǎng)上傳輸?shù)臄?shù)據(jù)流的意義,同樣,文件系統(tǒng)會給出特定存儲媒體上數(shù)據(jù)的意義。常用的文件系統(tǒng):CRAMFS;JFFS2;Ext2 over NFTL;Ext3 over NFTL;Ext2 over RAM disk;EXT4。什么是VFS?它在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論