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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16、不是系統(tǒng)管理員必備的工具,多半會(huì)放在 /usr/sbin. /bin里面一般是普通可執(zhí)行程序,而/sbin里多為系統(tǒng)管理程序和服務(wù)程序,后者是給超級(jí)用戶(hù)或者系統(tǒng)管理員進(jìn) 行系統(tǒng)維護(hù)使用的,普通用戶(hù)沒(méi)有使用它們的權(quán)限,二者區(qū) 別關(guān)鍵還是在于他們的權(quán)限不同。? ? ? 18. Linux內(nèi)核中的設(shè)備驅(qū)動(dòng)程序的一般編程模式是什么?模塊編程模式#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)可按幾種類(lèi)型分類(lèi)?鏈接庫(kù)、內(nèi)核模塊、內(nèi)核映像、設(shè)備文件、主要系統(tǒng)應(yīng)用程 序、定制用戶(hù)應(yīng)用程序20.bootloader是什么?試解釋它的主要作用?Boo

溫馨提示

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

評(píng)論

0/150

提交評(píng)論