《linux常见面试题.docx》由会员分享,可在线阅读,更多相关《linux常见面试题.docx(5页珍藏版)》请在优知文库上搜索。
1、1.inux常见面试题1 .嵌入式系统的定义以应用为中心,以计算机技术为魅础的,并且软件硬件是可剪裁的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。它可以实现对其他设备的控制、监视或管理等功能。2 .嵌入式系统的特点?1系统内核小。2专用性强。3系统精简。4高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储.以提高速度:软件代码要求高质量和高可靠性05嵌入式软件开发耍想走向标准化,就必须使用多任务的操作系统。6嵌入式系统开发需要开发工具和环境7硬件与软件的互相依赖性强8采用专用的嵌入式微处理器9多种技术间结合更加紧密10系统对用户透明11
2、系统资源有限12应用方面广泛3 .嵌入式系统有哪几个倒成部分?战入式系统通常由鼓入式处理机、嵌入式外围设备、嵌入式操作系统和放入式应用软件等几大部分组成。个嵌入式系统装身般都由战入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件展、中间层.系统软件层和应用软件层组成。硬件层中包含嵌入式微处理器、存:储器(SDRAM、ROM、FIaSh等)、通用设备接口和I/O接口(A/D、D/A、I/O等),中间层包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。系统软件乂由实时多任务操作系统,文件系统、图形用户接口、网络系统及通用组件模块组成。RTOS是嵌入式应用
3、软件的基础和开发平台。4 .试说明嵌入式掾作系统与通用的计算机系统的区别?1 .面向特定应用,一般都有实时要求2 .集先进的计算机技术、半导体工艺、电子技术和通信网络技术于一体的并且在不断创新的知识集成系统。3 .嵌入式系统是和具体应用对象有机地结合在起,因而其升级换代也是和具体的产品同步进行的.4 .嵌入式系统的软硬件设计若Iii于高效率性。在最大限度满足应用需求的前提下,降低成本是必需要考虑的主要问题。5 .嵌入式系统软件般都固化在存储错芯片或单片机本身中,而不是存贮于磁盘等载体中。6 .嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计
4、的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋下小型化,移动能力大大增强,跟网络的耦合也越来越紧密.7 .嵌入式条统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品旦进入市场,具有较长的生命周期。8 .嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。5 .RT0S实时操作系统中强调的实时是什么概念?RTOS,实时系统(ReaI-timeoperatingsystem),实时系统能蟆在指定或者
5、确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。它的正确性不仅依赖系统计豫的逻辑结果,还依赖于产牛.这个结果的时间。因此实时系统应该在事先定义的时间范用内识别和处理离散联件的能力;系统能够处理和储存控制系统所需要的大量数据.根据操作系统的工作特性,实时是指物理进程的其实时间。实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统。其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求,实时指的是特定操作所消耗的时间(以及空间)的上限是可预知的.操作系统能修在规定响应时间内完成客户服
6、务程序6 .IJnUX指的是什么,有什么区别?1.inux是指由1.inux本人维护并不断更新的内核.一个嵌入式1.inux系统指的是一个基于1.inux内核的,但不包含有关这个内核的任何专业的库或是用户工具的嵌入式系统。1.irWX最初是专门为基于Intel处理器的个人计-算机而设计的,1.inux的前身指的是由1.inusTorvaId维护开发的开放源代码的类Unix操作系统的内核,目前大多数人用它来表示以1.inux内核为基础的整个操作系统,从这种意义讲,IJnUX指的是源码开放,包含内核和系统工具、完整的开发环境和应用的类UniX操作系统。7为什么要采用UnUX内核来构建嵌入式操作系统
7、?内核本身小而且简单,易于理解,易于维护。各种特殊的模块(如文件系统等)、设备骈动乃至中断处理程序,都可以作为独立的进程开发,既荷单又容易调试,并Il容易在其他环境下模拟。系统的配置也变得更方便灵活。以微内核为基础的系统的扩充就比较灵活、方便,或者说可裁减性较好.程度代码是可以获取的;有完整的源码,软件丰交并且免费;得到众多硬件生产家的广泛支持:包括CPU、计.算机外围设备;完善的通信协议、软件标准和文件管理机制:提供完全免费且优秀的升发工具:广泛的社群支持;无需购买Iicence,是免费的:不依赖特定厂商、供应商:成本相对低廉.8.简要说明Iinux内核的基本构成?(结构模块表示)MMU:内
8、存管理单元,完成地址映射(应用虚拟地址方式)VFS:虚拟文件管理系统,提供f统一管理计钵机资源的途径使统一规范计算机资源的使用格式成为可能,方便传输SCHED:进程调用单元。支持多任务运行。利用软件中断的特点,将CPU的时间线划分给各个任务,完成多任务管理IPC:进程间通信单元.实现多个不同程序在运行时可以进行数据交换、通信.NET:网络。网络不做为通用设备,以特定工作单元存在。负责计算机系统与其他计算机相互通信的接口。9试倚妥叙述嵌入式1.inux系统的类型10 .通常可采用哪几种方式来开发嵌入式1.inux系统?给出连接示怠图.方式有:(1)连接型(宿主机/目标板链接开发)(2)可移动连接
9、型(利用可移动的存储器作为宿主机/目标板之间的中介)(3)标准化(在开发板上进行独立开发)11 .试筒要说明UnUX系统在目标板上的启动过程?用户打开PC的电源,BIOS开机自检,按BIoS中设巴的启动设备(通常是硬盘)启动,接着启动设备上安装的引导耳序川。或grub开始引导1.inux.UnUX首先进行内核的引导,接下来执行init程序,init程序调用了Einit和rc等程序,rc.sysinit和rc,当完成系统初始化和运行服务的任务后,返回init:init启动了mingetty后,打开了终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。12
10、.试解狎建立交叉开发平台的必要性?嵌入式系统的硬件一般有很大的局限性,或者处理器频率很低,或者存储空间很小,或者没有键盘、鼠标设备,所以一般不可能在这种嵌入式目标硬件平台上直接编译构建1.inUX系统.因此开发者提出了交叉开发环境模型。它满足兼容性耍求:目标系统对其可用的编译工具没有本地设置:主机资源比目标系统快的多,或具有多得多的可用资源也是其建立的原因。13 .GNU提供的开发工具博有哪些工具程序,试举出2、3例编辑器:vi,emacs代码打补丁工具:diff&patch:项目构建工具:make(Makefile.aUtotool(1tAutoconf,Automake和1.ibtl)版本
11、控制工具:cvs,subversion.GNUArch:GNU.git:C库:glibc.uclibc.newlib.dietIibc二进制和目标文件处理工具:binutils编译潺:gcc源代码调试器:gdb内存管理检查器:valgrind调用跟踪器:strace,!trace:,truss性能分析潺:gprof.qprof,profile(编译开发工具:即能够把个源程序编译生成一个可执行程序的软件,如gcc等。调试工具:即能够对执行程序进行源码或正编级调试的软件,如gdb等。软件工程工具:用于协助多人开发或大型软件项目的管理的软件,如make、cvs等。)14 .为什么要配置内核?为何要新
12、编译内核?内核,是个悚作系统的核心。他负贪管理系统的进程、内存、设备邨动程式、文件和网络系统,决定着系统的性能和稳定性,Unux不同发行版、甚至同发行版但不同内核之间的驱动都很难兼容.根据用户需求员体战衣、使内核更小,而且更稳定、更高效.1.inuxo内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身制定个更高效,更稔定的内核,就需耍重新编译内核。通常,更新的内核会支持更多的硬件,具有更好的进程管理能力,运行速度更快、更稳定,并且一般会修豆老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是1.inux使用者的必要操作
13、内容。支持新硬件,解决bug,提升效率,支持新功能,主要而向网络、开发、服务应用的。15什么是根文件系统?在构建嵌入式1.inux系统时,其根文件系统必须包含舞些目录?1.inUX引导后动时,默认使用的文件系统是根文件系统,是UnUX系统的安装点,它是一种目录结构,包括1.inUX启动时所必须的目录和关键性的文件。其中一般都包括这样一些子目录:/etc,dev./proc,/lib.usr./bin.sbin.var,/tmp:等。16VFS指的是什么?它在1.inux内核中的主要作用是什么?VirtualFileSystem虚拟文件系统,也称为虚拟文件系统开关(VirtUaIFileSySt
14、emSWitCh).1.inUX档案系统对外的接口,是物理文件系统与服务之间的接口层,任何耍使用档案系统的程序都必须经由这屋接口来使用它.通过VFS,可以为访问文件系统的系统调用提供一个统一的抽缴接口。VFS的作用就是采用标准的1.inux系统调用读写位于不同物理介质上的不同文件系统。在1.inux下,通过VFS.一个抽象的通用访问接口屏蔽了底层文件系统和物理介质的差异性,记录可用的文件系统类型,将设备同对应的文件系统联系起来,处理一些面向文件的通用悚作,涉及到针对文件系统的操作时,VFS把它们影射到与控制文件、目录以及inode。使统一规范计算机资源的使用格式成为可能,方便传输.17 .试解
15、狎根文件目录中/bin和sbin及usrbin和usrsbin的区别?用户和管理员必备的二进制文件,就会放在/bin。系统管理员必备,但是一般用户根本不会用到的二进制文件,就会放在sbin相对而言,不是用户必备的二进制文件,多半会放在/usr/bin:如果不是系统管理员必备的工具,多半会放在usrsbin.bin里面一般是普通可执行程序,而sbin里多为系统管理程序和服务程序,后者是给超级用户或者系统管理员进行系统维护使用的,普通用户没有使用它们的权限,二者区别关键还是在于他们的权限不同。18 .Iinux内核中的设备驱动程序的一般编程模式是什么?模块编程模式include所有模块都需要的头文件1include/init&exit相关宏MODU1.E_1.ICENSE(44GP1.);staticint_inithellojnit(void)printk(t*Hellomoduleinitn);returnO;staticvoid_exithello-exit(void)(printk(*,Hellomoduleexitn);)module_init(hello_init);module_exit(hello_exit);19根文件系统可按几种类型分类?链接库、内核模块、内核映像、设备文件、主要系统应用程序、定制用户应用程序20.bootloader是什么?试解释它的主要作用?B