Linux常見面試題_第1頁
Linux常見面試題_第2頁
Linux常見面試題_第3頁
Linux常見面試題_第4頁
Linux常見面試題_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Linux常見面試題1 .嵌入式系統(tǒng)的定義以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ)的,并且軟件硬件是可剪 裁的,能滿足應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等 指標(biāo)的嚴(yán)格要求的專用計算機系統(tǒng)。它可以實現(xiàn)對其他設(shè)備 的控制、監(jiān)視或管理等功能。2 .嵌入式系統(tǒng)的特點?1系統(tǒng)內(nèi)核小。2專用性強。3系統(tǒng)精簡。4高實時性的系統(tǒng) 軟件(OS)是嵌入式軟件的基本要求。 而且軟件要求固態(tài)存儲, 以提高速度;軟件代碼要求高質(zhì)量和高可靠性。5嵌入式軟件開發(fā)要想走向標(biāo)準(zhǔn)化,就必須使用多任務(wù)的操作系統(tǒng)。6嵌入式系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境7硬件與軟件的互相依賴性強8采用專用的嵌入式微處理器 9多種技術(shù)間結(jié)合更 加緊密10系統(tǒng)

2、對用戶透明11系統(tǒng)資源有限12應(yīng)用方面廣 泛3 .嵌入式系統(tǒng)有哪幾個組成部分?嵌入式系統(tǒng)通常由嵌入式處理機、嵌入式外圍設(shè)備、嵌入式 操作系統(tǒng)和嵌入式應(yīng)用軟件等幾大部分組成。一個嵌入式系 統(tǒng)裝置一般都由嵌入式計算機系統(tǒng)和執(zhí)行裝置組成,嵌入式 計算機系統(tǒng)是整個嵌入式系統(tǒng)的核心,由硬件層、中間層、 系統(tǒng)軟件層和應(yīng)用軟件層組成。硬件層中包含嵌入式微處理 器、存儲器(SDRAM、ROM、Flash等)、通用設(shè)備接口和 I/O接口( A/D、D/A、I/O等),中間層包含相關(guān)底層硬件的 初始化、數(shù)據(jù)的輸入/輸由操作和硬件設(shè)備的配置功能。系統(tǒng)軟件層由實時多任務(wù)操作系統(tǒng)、文件系統(tǒng)、圖形用戶接口、 網(wǎng)絡(luò)系統(tǒng)及通

3、用組件模塊組成。RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺。4 .試說明嵌入式操作系統(tǒng)與通用的計算機系統(tǒng)的區(qū)別?1 .面向特定應(yīng)用,一般都有實時要求2 .集先進的計算機技術(shù)、半導(dǎo)體工藝、電子技術(shù)和通信網(wǎng)絡(luò)技術(shù)于一體的并且在不斷創(chuàng)新的知識集成系統(tǒng)。3 .嵌入式系統(tǒng)是和具體應(yīng)用對象有機地結(jié)合在一起,因而其升級換代也是和具體的產(chǎn)品同步進行的。4 .嵌入式系統(tǒng)的軟硬件設(shè)計著重于高效率性。在最大限度滿 足應(yīng)用需求的前提下,降低成本是必需要考慮的主要問題。5 .嵌入式系統(tǒng)軟件一般都固化在存儲器芯片或單片機本身 中,而不是存貯于磁盤等載體中。6 .嵌入式系統(tǒng)通常是面向特定應(yīng)用的嵌入式CPU與通用型的最大不同就

4、是嵌入式 CPU大多工作在為特定用戶群設(shè)計的 系統(tǒng)中,它通常都具有低功耗、體積小、集成度高等特點, 能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部, 從而有利于嵌入式系統(tǒng)設(shè)計趨于小型化,移動能力大大增 強,跟網(wǎng)絡(luò)的耦合也越來越緊密。7 .嵌入式系統(tǒng)和具體應(yīng)用有機地結(jié)合在一起,它的升級換代 也是和具體產(chǎn)品同步進行,因此嵌入式系統(tǒng)產(chǎn)品一旦進入市 場,具有較長的生命周期。8 .嵌入式系統(tǒng)本身不具備自舉開發(fā)能力,即使設(shè)計完成以后 用戶通常也是不能對其中的程序功能進行修改的,必須有一 套開發(fā)工具和環(huán)境才能進行開發(fā)9 .RTOS實時操作系統(tǒng)中強調(diào)的實時是什么概念?RTOS,實時系統(tǒng)(Real-tim

5、e operating system),實時系統(tǒng)能 夠在指定或者確定的時間內(nèi)完成系統(tǒng)功能和外部或內(nèi)部、同 步或異步時間做由響應(yīng)的系統(tǒng)。它的正確性不僅依賴系統(tǒng)計 算的邏輯結(jié)果,還依賴于產(chǎn)生這個結(jié)果的時間。因此實時系 統(tǒng)應(yīng)該在事先定義的時間范圍內(nèi)識別和處理離散事件的能 力;系統(tǒng)能夠處理和儲存控制系統(tǒng)所需要的大量數(shù)據(jù)。根據(jù) 操作系統(tǒng)的工作特性,實時是指物理進程的真實時間。實時 操作系統(tǒng)具有實時性,能從硬件方面支持實時控制系統(tǒng)工作 的操作系統(tǒng)。其中實時性是第一要求,需要調(diào)度一切可利用 的資源完成實時控制任務(wù),其次才著眼于提高計算機系統(tǒng)的 使用效率,重要特點是要滿足對時間的限制和要求,實時指 的是特定操

6、作所消耗的時間(以及空間)的上限是可預(yù)知的。 操作系統(tǒng)能夠在規(guī)定響應(yīng)時間內(nèi)完成客戶服務(wù)程序? ? ? 6. Linux指的是什么,有什么區(qū)別?Linux是指由Linux本人維護并不斷更新的內(nèi)核。一個嵌入式Linux系統(tǒng)指的是一個基于Linux內(nèi)核的,但不包含有關(guān)這個內(nèi)核的任何專業(yè)的庫或是用戶工具的嵌入式系統(tǒng)。Linux最初是專門為基于Intel處理器的個人計算機而設(shè)計的。Linux的前身指的是由Linus Torvald維護開發(fā)的開放源代碼 的類Unix操作系統(tǒng)的內(nèi)核。目前大多數(shù)人用它來表示以Linux內(nèi)核為基礎(chǔ)的整個操作系統(tǒng)。從這種意義講,Linux指的是源碼開放,包含內(nèi)核和系統(tǒng)工具、完整的

7、開發(fā)環(huán)境和應(yīng) 用的類Unix操作系統(tǒng)。7 .為什么要采用Linux內(nèi)核來構(gòu)建嵌入式操作系統(tǒng)?內(nèi)核本身小而且簡單,易于理解,易于維護。各種特殊的模 塊(如文件系統(tǒng)等)、設(shè)備驅(qū)動乃至中斷處理程序,都可以 作為獨立的進程開發(fā),既簡單又容易調(diào)試,并且容易在其他 環(huán)境下模擬。系統(tǒng)的配置也變得更方便靈活。以微內(nèi)核為基 礎(chǔ)的系統(tǒng)的擴充就比較靈活、方便,或者說可裁減性較好。程度代碼是可以獲取的;有完整的源碼,軟件豐富并且免費;得到眾多硬件生產(chǎn)家的廣泛支持;包括cpu、計算機外圍設(shè)備;完善的通信協(xié)議、軟件標(biāo)準(zhǔn)和文件管理機制;提供完全免費且優(yōu)秀的開發(fā)工具; 廣泛的社群支持;無需購買licence,是 免費的;不依

8、賴特定廠商、供應(yīng)商;成本相對低廉。8 .簡要說明linux內(nèi)核的基本構(gòu)成?(結(jié)構(gòu)模塊表示)MMU :內(nèi)存管理單元,完成地址映射(應(yīng)用虛擬地址方式)VFS:虛擬文件管理系統(tǒng),提供了統(tǒng)一管理計算機資源的途 徑。使統(tǒng)一規(guī)范計算機資源的使用格式成為可能,方便傳輸SCHED :進程調(diào)用單元。支持多任務(wù)運行。利用軟件中斷的 特點,將CPU的時間線劃分給各個任務(wù),完成多任務(wù)管理IPC:進程間通信單元。實現(xiàn)多個不同程序在運行時可以進 行數(shù)據(jù)交換、通信。NET:網(wǎng)絡(luò)。網(wǎng)絡(luò)不做為通用設(shè)備,以特定工作單元存在。 負責(zé)計算機系統(tǒng)與其他計算機相互通信的接口。? ? ? 9.試簡要敘述嵌入式 Linux系統(tǒng)的類型10.通

9、??刹捎媚膸追N方式來開發(fā)嵌入式Linux系統(tǒng)?給由連接示意圖。方式有:(1)連接型(宿主機/目標(biāo)板鏈接開發(fā))(2)可移動連接型(利用可移動的存儲器作為宿主機/目標(biāo)板之間的中介)(3)標(biāo)準(zhǔn)化(在開發(fā)板上進行獨立開發(fā))11試簡要說明Linux系統(tǒng)在目標(biāo)板上的啟動過程?用戶打開PC的電源,BIOS開機自檢,按BIOS中設(shè)置的啟 動設(shè)備(通常是硬盤)啟動,接著啟動設(shè)備上安裝的引導(dǎo)程序 lilo或grub開始引導(dǎo)Linux , Linux首先進行內(nèi)核的引導(dǎo),接下來執(zhí)行init程序,init程序調(diào)用了 rc.sysinit和rc等程序, rc.sysinit和rc,當(dāng)完成系統(tǒng)初始化和運行服務(wù)的任務(wù)后,返

10、回init; init啟動了 mingetty后,打開了終端供用戶登錄系統(tǒng), 用戶登錄成功后進入了Shell,這樣就完成了從開機到登錄的整個啟動過程。12 .試解釋建立交叉開發(fā)平臺的必要性 ?嵌入式系統(tǒng)的硬件一般有很大的局限性,或者處理器頻率很 低,或者存儲空間很小,或者沒有鍵盤、鼠標(biāo)設(shè)備,所以一 般不可能在這種嵌入式目標(biāo)硬件平臺上直接編譯構(gòu)建Linux系統(tǒng),因此開發(fā)者提由了交叉開發(fā)環(huán)境模型。它滿足兼容性 要求;目標(biāo)系統(tǒng)對其可用的編譯工具沒有本地設(shè)置;主機資 源比目標(biāo)系統(tǒng)快的多,或具有多得多的可用資源也是其建立的原因13 .GNU提供的開發(fā)工具鏈有哪些工具程序,試舉由 2、3例編輯器:vi ,

11、 emacs代碼打補丁工具:diff & patch :項目構(gòu)建工具:make(Makefile) , autotool(包括 Autoconf,Automake 和 Libtool)版本控制工具:cvs, subversion, GNU Arch: GNU, git:C 庫: glibc , uclibc , newlib , diet libc二進制和目標(biāo)文件處理工具:binutils編譯器:gcc源代碼調(diào)試器:gdb內(nèi)存管理檢查器:valgrind調(diào)用KR蹤器:strace, Itrace:, truss性能分析器:gprof, qprof, oprofile(編譯開發(fā)工具:即能

12、夠把一個源程序編譯生成一個可執(zhí)行 程序的軟件,如gcc等。調(diào)試工具:即能夠?qū)?zhí)行程序進行源碼或匯編級調(diào)試的軟件,如gdb等。軟件工程工具:用于協(xié)助多人開發(fā)或大型軟件項目的管理的軟件,如 make、cvs等。)14 .為什么要配置內(nèi)核?為何要重新編譯內(nèi)核?內(nèi)核,是個操作系統(tǒng)的核心。他負責(zé)管理系統(tǒng)的進程、內(nèi)存、 設(shè)備驅(qū)動程式、文件和網(wǎng)絡(luò)系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定 性,Linux不同發(fā)行版、甚至同發(fā)行版但不同內(nèi)核之間的驅(qū) 動都很難兼容。根據(jù)用戶需求量體裁衣、使內(nèi)核更小,而且 更穩(wěn)定、更高效。Linux。內(nèi)核版本不斷更新。新的內(nèi)核修訂了舊內(nèi)核的bug,并增加了許多新的特性。如果用戶想要使用這些新特性

13、,或 想根據(jù)自己的系統(tǒng)度身制定一個更高效,更穩(wěn)定的內(nèi)核,就 需要重新編譯內(nèi)核。通常,更新的內(nèi)核會支持更多的硬件, 具有更好的進程管理能力,運行速度更快、更穩(wěn)定,并且一般會修復(fù)老版本中發(fā)現(xiàn)的許多漏洞等,經(jīng)常性地選擇升級 更新的系統(tǒng)內(nèi)核是 Linux使用者的必要操作內(nèi)容。支持新硬 件,解決bug,提升效率,支持新功能,主要面向網(wǎng)絡(luò)、開 發(fā)、服務(wù)應(yīng)用的。15什么是根文件系統(tǒng)?在構(gòu)建嵌入式Linux系統(tǒng)時,其根文件系統(tǒng)必須包含哪些目錄?Linux引導(dǎo)啟動時,默認使用的文件系統(tǒng)是根文件系統(tǒng),是Linux系統(tǒng)的安裝點,它是一種目錄結(jié)構(gòu),包括 Linux啟動時所必須的目錄和關(guān)鍵性的文件。其中一般都包括這樣一

14、些子 目錄: /etc, /dev, /proc, /lib, /usr, /bin, /sbin, /var, /tmp;等16VFS指的是什么?它在 Linux內(nèi)核中的主要作用是什么?Virtual File System虛擬文件系統(tǒng),也稱為虛擬文件系統(tǒng)開關(guān) (Virtual Filesystem Switch ) ., Linux 檔案系統(tǒng)對外的接口,是物理文件系統(tǒng)與服務(wù)之間的接口層,任何要使用檔案系統(tǒng) 的程序都必須經(jīng)由這層接口來使用它。通過VFS,可以為訪問文件系統(tǒng)的系統(tǒng)調(diào)用提供一個統(tǒng)一的 抽象接口。VFS的作用就是采用標(biāo)準(zhǔn)的 Linux系統(tǒng)調(diào)用讀寫 位于不同物理介質(zhì)上的不同文件系統(tǒng)。

15、在Linux下,通過VFS, 一個抽象的通用訪問接口屏蔽了底層文件系統(tǒng)和物理 介質(zhì)的差異性,記錄可用的文件系統(tǒng)類型,將設(shè)備同對應(yīng)的 文件系統(tǒng)聯(lián)系起來,處理一些面向文件的通用操作,涉及到 針對文件系統(tǒng)的操作時,VFS把它們影射到與控制文件、目 錄以及inodeo使統(tǒng)一規(guī)范計算機資源的使用格式成為可能, 方便傳輸。17.試解釋根文件目錄中/bin和/sbin及/usr/bin和/usr/sbin的區(qū) 別?用戶和管理員必備的二進制文件,就會放在/bin。系統(tǒng)管理員必備,但是一般用戶根本不會用到的二進制文件,就會放 在/sbin。相對而言,不是用戶必備的二進制文件,多半會放 在/usr/bin ;如果

16、不是系統(tǒng)管理員必備的工具,多半會放在 /usr/sbin. /bin里面一般是普通可執(zhí)行程序,而/sbin里多為系統(tǒng)管理程序和服務(wù)程序,后者是給超級用戶或者系統(tǒng)管理員進 行系統(tǒng)維護使用的,普通用戶沒有使用它們的權(quán)限,二者區(qū) 別關(guān)鍵還是在于他們的權(quán)限不同。? ? ? 18. Linux內(nèi)核中的設(shè)備驅(qū)動程序的一般編程模式是什么?模塊編程模式#include 所有模塊都需要的頭文件#include / init&exit 相關(guān)宏MODULE_LICENSE("GPL');static int init hello_init (void)printk( "Hello module inin" );return 0;static void exit hello_exit (void)printk( "Hello module exn" );module_init(hello_init);module_exit(hello_exit);? ? ? 19根文件系統(tǒng)可按幾種類型分類?鏈接庫、內(nèi)核模塊、內(nèi)核映像、設(shè)備文件、主要系統(tǒng)應(yīng)用程 序、定制用戶應(yīng)用程序20.bootloader是什么?試解釋它的主要作用?Boo

溫馨提示

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

評論

0/150

提交評論