还剩3页未读,继续阅读
文本内容:
常见面试题Linux嵌入式系统的定义L以应用为中心,以计算机技术为基础的,并且软件硬件是可剪裁的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统它可以实现对其他设备的控制、监视或管理等功能.嵌入式系统的特点?2系统内核小专用性强系统精简高实时性的系统软件()是嵌入式软件1234OS的基本要求而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统嵌入式系统开发56需要开发工具和环境硬件与软件的互相依赖性强采用专用的嵌入式微处理器多789种技术间结合更加紧密系统对用户透明系统资源有限应用方面广泛
101112.嵌入式系统有哪几个组成部分?3嵌入式系统通常由嵌入式处理机、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成硬件层中包含嵌入式微处理器、存储器(、、等)、通SDRAM ROMFlash用设备接口和接口(、、等),中间层包含相关底层硬件的初始化、I/O A/D D/A I/O数据的输入/输出操作和硬件设备的配置功能系统软件层由实时多任务操作系统、文件系统、图形用户接口、网络系统及通用组件模块组成是嵌入式应用软件的RTOS基础和开发平台.试说明嵌入式操作系统与通用的计算机系统的区别?4面向特定应用,一般都有实时要求L.集先进的计算机技术、半导体工艺、电子技术和通信网络技术于一体的并且在不断2创新的知识集成系统.嵌入式系统是和具体应用对象有机地结合在一起,因而其升级换代也是和具体的产3品同步进行的.嵌入式系统的软硬件设计着重于高效率性在最大限度满足应用需求的前提下,降4低成本是必需要考虑的主要问题.嵌入式系统软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载5体中.嵌入式系统通常是面向特定应用的嵌入式与通用型的最大不同就是嵌入式6CPU CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式CPU系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,7因此嵌入式系统产品一旦进入市场,具有较长的生命周期.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对8其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发实时操作系统中强调的实时是什么概念?
5.RT0S实时系统()实时系统能够在指定或者确定的时间内RTOS,Real-time operatingsystem,完成系统功能和外部或内部、同步或异步时间做出响应的系统它的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间因此实时系统应该在事先定义的时间范围内识别和处理离散事件的能力;系统能够处理和储存控制系统所需要的大量数据根据操作系统的工作特性,实时是指物理进程的真实时间实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求,实时指的是特定操作所消耗的时间(以及空间)的上限是可预知的操作系统能够在规定响应时间内完成客户服务程序指的是什么,有什么区别?
6.Linux是指由本人维护并不断更新的内核一个嵌入式系统指的是一个基Linux Linux Linux于内核的,但不包含有关这个内核的任何专业的库或是用户工具的嵌入式系统Linux最初是专门为基于处理器的个人计算机而设计的的前身指的是由Linux IntelLinux Linus维护开发的开放源代码的类操作系统的内核目前大多数人用它来表示Torvald Unix以内核为基础的整个操作系统从这种意义讲,指的是源码开放,包含内Linux Linux核和系统工具、完整的开发环境和应用的类操作系统Unix.为什么要采用内核来构建嵌入式操作系统?7Linux内核本身小而且简单,易于理解,易于维护各种特殊的模块(如文件系统等)、设备驱动乃至中断处理程序,都可以作为独立的进程开发,既简单又容易调试,并且容易在其他环境下模拟系统的配置也变得更方便灵活以微内核为基础的系统的扩充就比较灵活、方便,或者说可裁减性较好程度代码是可以获取的;有完整的源码,软件丰富并且免费;得到众多硬件生产家的广泛支持;包括、计算机外围设备;完善的cpu通信协议、软件标准和文件管理机制;提供完全免费且优秀的开发工具;广泛的社群支持;无需购买是免费的;不依赖特定厂商、供应商;成本相对低廉licence,.简要说明内核的基本构成?(结构模块表示)8linux内存管理单元,完成地址映射(应用虚拟地址方式)MMU虚拟文件管理系统,提供了统一管理计算机资源的途径使统一规范计算机资源VFS的使用格式成为可能,方便传输进程调用单元支持多任务运行利用软件中断的特点,将的时间线划SCHED CPU分给各个任务,完成多任务管理进程间通信单元实现多个不同程序在运行时可以进行数据交换、通信IPC NET网络网络不做为通用设备,以特定工作单元存在负责计算机系统与其他计算机相互通信的接口.试简要叙述嵌入式系统的类型9Linux.通常可采用哪几种方式来开发嵌入式系统?给出连接示意图10Linux方式有()连接型(宿主机/目标板链接开发)1()可移动连接型(利用可移动的存储器作为宿主机/目标板之间的中介)2()标准化(在开发板上进行独立开发)
3.试简要说明系统在目标板上的启动过程?11Linux用户打开的电源,开机自检,按中设置的启动设备(通常是硬盘)启PC BIOSBIOS动,接着启动设备上安装的引导程序或开始引导首先进行内核的lilo grubLinux,Linux引导,接下来执行程序,程序调用了和等程序,和当完init initrc.sysinit rcrc.sysinit rc,成系统初始化和运行服务的任务后,返回;启动了后,打开了终端供init initmingetty用户登录系统,用户登录成功后进入了这样就完成了从开机到登录的整个启动过Shell,程.试解释建立交叉开发平台的必要性?12嵌入式系统的硬件一般有很大的局限性,或者处理器频率很低,或者存储空间很小,或者没有键盘、鼠标设备,所以一般不可能在这种嵌入式目标硬件平台上直接编译构建系统,因此开发者提出了交叉开发环境模型它满足兼容性要求;目标系统对Linux其可用的编译工具没有本地设置;主机资源比目标系统快的多,或具有多得多的可用资源也是其建立的原因提供的开发工具链有哪些工具程序,试举出、例
13.GNU23编辑器vi,emacs代码打补丁工具diffpatch项目构建工具()(包括和)版make Makefile,autotool Autoconf,Automake Libtool本控制工具:cvs,subversion,GNU ArchGNU,git库C glibc,uclibc,newlib,diet libc二进制和目标文件处理工具binutils编译器gcc源代码调试器gdb内存管理检查器valgrind调用跟踪器strace,Itrace,truss性能分析器gprof,qprof,oprofile(编译开发工具即能够把一个源程序编译生成一个可执行程序的软件,如等gcc调试工具即能够对执行程序进行源码或汇编级调试的软件,如等gdb软件工程工具用于协助多人开发或大型软件项目的管理的软件,如、等)make cvs.为什么要配置内核为何要重新编译内核?14内核,是个操作系统的核心他负责管理系统的进程、内存、设备驱动程式、文件和网络系统,决定着系统的性能和稳定性,不同发行版、甚至同发行版但不同内Linux核之间的驱动都很难兼容根据用户需求量体裁衣、使内核更小,而且更稳定、更图效内核版本不断更新新的内核修订了旧内核的并增加了许多新的特性如Linuxo bug,果用户想要使用这些新特性,或想根据自己的系统度身制定一个更高效,更稳定的内核,就需要重新编译内核通常,更新的内核会支持更多的硬件,具有更好的进程管理能力,运行速度更快、更稳定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是使用者的必要操作内容支持新硬件,解决Linux bug,提升效率,支持新功能,主要面向网络、开发、服务应用的什么是根文件系统?在构建嵌入式系统时,其根文件系统必须包含哪些目录?15Linux引导启动时,默认使用的文件系统是根文件系统,是系统的安装点,Linux Linux它是一种目录结构,包括启动时所必须的目录和关键性的文件其中一般都包括Linux这样一些子目录;等/etc,/dev,/proc,/lib,/usr,/bin,/sbin,/var,/tmp指的是什么?它在内核中的主要作用是什么?16VFS Linux虚拟文件系统,也称为虚拟文件系统开关Virtual FileSystemVirtual Filesystem档案系统对外的接口,是物理文件系统与服务之间的接口层,任何要使用SwitchLinux档案系统的程序都必须经由这层接口来使用它通过可以为访问文件系统的系统调用提供一个统一的抽象接口的作用就是采VFS,VFS用标准的系统调用读写位于不同物理介质上的不同文件系统在下,通LinuxLinux过一个抽象的通用访问接口屏蔽了底层文件系统和物理介质的差异性,记录可用VFS,的文件系统类型,将设备同对应的文件系统联系起来,处理一些面向文件的通用操作,涉及到针对文件系统的操作口寸,把它们影射到与控制文件、目录以及使VFS inode统一规范计算机资源的使用格式成为可能,方便传输.试解释根文件目录中和及和的区别?17/bin/sbin/usr/bin/usr/sbin用户和管理员必备的二进制文件,就会放在系统管理员必备,但是一般用户/bin根本不会用到的二进制文件,就会放在相对而言,不是用户必备的二进制文件,/sbin多半会放在;如果不是系统管理员必备的工具,多半会放在里面/usr/bin/usr/sbin./bin一般是普通可执行程序,而里多为系统管理程序和服务程序,后者是给超级用户/sbin或者系统管理员进行系统维护使用的,普通用户没有使用它们的权限,二者区别关键还是在于他们的权限不同内核中的设备驱动程序的一般编程模式是什么?
18.Linux模块编程模式〃所有模块都需要的头文件include相关宏#include//initexit;MODULE_LICENSE“GPL”static int_init hellojnitvoidprintk Hello module init\n;return0;static voidexit hello_exit void一printk uHellomoduleexit\n;}module_inithello_init;module_exithello_exit;根文件系统可按几种类型分类?19链接库、内核模块、内核映像、设备文件、主要系统应用程序、定制用户应用程序是什么?试解释它的主要作用?
20.bootloader就是在操作系统内核运行之前运行的一段小程序,是与系统硬件环境高BootLoader度相关的初始化软件通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,它担负着初始化硬件和引导操作系统的双重责任,它负责完成硬件初始化、操作系统引导和系统配制等移植是在特定硬件平台上操作系统移植至关重要的一Bootloader步系统是通过引导启动的一上电,就要执行来初始Linux BootloaderBootloader化系统。
个人认证
优秀文档
获得点赞 0