当前位置:文档之家› 嵌入式Linux系统期末考试简答题、运用题

嵌入式Linux系统期末考试简答题、运用题

简答题与应用题什么是嵌入式系统?主要有什么特点?以应用为中心,以计算机技术为基础的, 并且软件硬件是可剪裁的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。

他可以实现对其他设备的控制、监视或者管理等功能。

与通用的计算机系统相比,特点为:(1)(2)(5)嵌入式系统通常由嵌入式处理机、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成。

4、什么是Linux ?什么是嵌入式 Linux ?答:严格来讲,Linux 是指由Linux 本人维护并不断更新的内核 。

一个嵌入式Linux 系统指的是一个基于 Linux 内核的,但不包含有关这个内核的任何专业的库或是用户工具 的嵌入式系统。

Linux 内核构建嵌入式操作系统有什么优势(优良特性)?程度代码是可以获取的,可靠度高; 有完整的源码,软件丰富并且免费; 得到众多硬件生产家的广泛支持;包括 cpu 、计算机外围设备 完善的通信协议、软件标准和文件管理机制; 提供完全免费且优秀的开发工具; 广泛的社群支持 无需购买lice nee ,是免费的; 不依赖特定厂商、供应商; 成本相对低廉。

6、 RTOS (嵌入式操作系统)强调的实时是什么概念?与中断的关系?答:实时指的是特定操作所消耗的时间(以及空间)的上限是可预知的。

操作系统能够在规定响应时间内完成客 户服务程序。

中断程序响应中断并完成是在固定时间内。

7、什么是实时LinUX ?涉及到哪些软硬件内容?答:实时LinUX ( RT-Linux )通过在Linux 内核与硬件中断之间增加一个精巧的可抢先的实时内核,把标准的Linux内核作为实时内核的一个进程与用户进程一起调度,标准的Linux 内核的优先级最低,可以被实时进程抢断。

正常的Linux 进程仍可以在Linux 内核上运行,这样既可以使用标准分时操作系统即Linux 的各种服务,又能提供低延时的实时环境。

它在硬件上涉及到硬件中断,软件上涉及到对高优先级的实时硬件中断的快速响应。

能在规定的时间内完成对突发事件的处理的Linux 系统;软件:中断服务程序、进程调度程序,硬件:嵌入式系统所采用的中断管理硬件。

8、试简要说明Linux 内核构成,并简要说明各部分的功能?答:MMU :内存管理单元,完成地址映射(应用虚拟地址方式)VFS :虚拟文件管理系统,提供了统一管理计算机资源的途径。

使统一规范计算机资源的使用格式成为可能,方1、答:面向特定应用,一般都有实时要求; 集先进性的计算机技术、半导体工艺、电子技术和通信网络技术于一体的并且在不断创新的知识集 成系统;嵌入式系统是和具体应用对象有机结合在一起,因而其升级换代也是和具体的产品同步进行的。

嵌入式系统的软硬件设计着重于高效率性。

在最大限度满足应用需求的前提下,降低成本是必须要 考虑的主要问题。

嵌入式系统软件一般都固化在存储器芯片中。

(3) (4) 5、 用 答:( 1) (2)(3)(4)(5)(6)(7)(8) () 2、答:3、嵌入式操作系统的作用是什么?上运行的机器码。

2、C 语言库是必需的,必需提供能在专用 cpu 上运行的库的二进制代码。

以上两点要求便传输SCHED :进程调用单元。

支持多任务运行。

利用软件中断的特点,将 务管理 IPC :进程间通信单元。

实现多个不同程序在运行时可以进行数据交换、通信。

NET :网络。

网络不做为通用设备,以特定工作单元存在。

负责计算机系统与其他计算机相互通信的接口。

9、通常可采用哪几种方式来开发嵌入式 Linux 系统?给出示意图。

答:方式有:(1) 连接型(宿主机/目标板链接开发)(2) 可移动连接型(利用可移动的存储器作为宿主机 /目标板之间的中介)(3) 标准化(在开发板上进行独立开发)CPU 的时间线划分给各个任务,完成多任主机目标板 跨平台开 发环境引导加载程序内核 根文件系统目标板引导加载程序 内核主机目标板完整的根文件系统 跨平台开 发环境引导加载 程序固有的开发环境10、第二引导加载程序 内核 根文件系统(2)为什么要建立交叉开发平台?在何种情形下可以不必建立?答:嵌入式系统的构造决定。

嵌入式处理器多为专用的cpu , 1、必须将用 C 编写的程序编译成能在该专用平台(1)r15、同时就可以不建立交叉开发平台。

edit : main.o kbd.o comma nd.o dis play.o \in sert.o search.outils.occ -o edit main.o kbd.o comma nd.o dis pl ay.o \in sert.o search.outils.omai n.o : main .c defs.hcc -c mai n.ckbd.o : kbd.c defs.h comma nd.hcc -c kbd.ccomma nd.o : comma nd.c defs.h comma nd.hcc -c comma nd.cdis play.o : dis play.c defs.h buffer.h cc -c dis play.c in sert.o : in sert.c defs.h buffer.hcc -c in sert.csearch.o : search.c defs.h buffer.hcc -c search.cdefs.h buffer.h comma nd.hcc -cutils.o : utils.c defs.hcc -c utils.cclea n :rm edit mai n.o kbd.o comma nd.o dis play.o \ in sert.o search.o utils.o14、 答:提供C 语言里包含常用函数的源代码。

在嵌入式Linux 系统中是必不可少的。

整代码。

因为操作系统是用 C 语言编写的。

在设计嵌入式Linux 系统时为什么要配置内核?可用哪几种命令来配置?答:针对嵌入式系统,内核需要知道运行在怎么样的平台上,它要管理的硬件单元,这就需要我们重新组装内核 来达成上述目标。

因为完整的Linux 的内核比较庞大,不适合嵌入式系统这样的对速度、容量要求苛刻的系统上面运行,因此我们需要去掉那些与目标系统无关的、只编译系统需要的功能的代码。

试简要叙述GNU 及其所提供的开发工具链。

答:GNU 是“GNU's Not Unix ”的递归缩写,它是一个自由软件工程项目组织。

提供各种开源代码。

提供一 整套的开发工具链包括: GNU 工具链基础,内核头文件安装程序, Bin utils (二进制工具)的安装程序,引 导编译器安装程序,12、 试解释make 和答:使用make 就必须写 是一组规则,它指导 标和目标运行规则一旦建立, make 就会按此进行工作。

11、GNU 工具链基础,内核头文件安装程序, C 库安装程序,全编译器安装程序,完成工具链的设置。

makefile 的关系?简单举例说明。

makefile 文件,它描述工程中文件之间的关系,提供更新每个文件的命令。

make 程序的运行,告诉 make 需要做什么,多数情况是怎样编译和链接一个程序。

目 Makefile 就(此段为 Makefile )(此为make 执行上述Makefilemake clea n13、答:GcC 是由GNU 组织开发的一个免费的 C/C++编译工具,由它将高级语言转换为机器语言。

因为GCC 是什么?为什么说它是必不可少的?个交叉平台的编译器, 几乎所有主流CPU 处理平台上目标代码的变换,它有力的支持了 Linux规则)GCC 是-系统的发展。

C 库是什么概念?在嵌入式 LinUX 系统中对此有何要求?我们通常使用内核配置命令make config (字符界面);make oldconfig ; make menuconfig (文本图形界面);16、make xconfig (x-window 图形界面)来配置内核。

通常使用后两个命令,在图形界面下比较直观。

显然,在 makefile 中详细定义了界面是如何生成的,以及配置和编译内核的规则。

此外还有 make oldconfig 命令。

模块是什么概念?答:建立依存关系,建立内核,建立模块。

模块的概念:可动态、静态加载的二进制代码。

程中要加载的模块 17、 什么是根文件系统?Linux 内核启动与根文件系统的关系? 答:根文件系统是 Linux 系统的安装点,应该包括支持 Linux 系统正常运行的基本内容,包含着系统使用的软件 18、 在构建嵌入式Linux 系统时,对根文件系统的目录项有什么要求? 答:构建嵌入式操作系统时应包括的目录项有: /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 项可有可无。

19、 Linux 内核在目标板上启动过程(简要叙述)?需要考虑哪些因素? 答: 1、通过合适的bootloader 找到内核源代码,加载到内存2、内核源代码开始进行初始化3、内核源代码初始化完毕,开始调用和用户有关的进程。

用户进程初始化 选用和目标板相配的启动装载程序如何理解文件系统?常用的文件系统有哪几种? 20、 答: 文件系统是对一个存储设备上的数据和元数据进行组织的机制 另一种看待文件系统的方式是把它看作一个协议。

网络协议(比如 给出特定存储媒体上数据的意义。

常用的文件系统: CRAMFS ; JFFS2; Ext2 over NFTL ; Ext3 over NFTL ; Ext2 over RAM disk ; EXT4。

21、 什么是VFS?它在Linux 内核中的主要作用是什么? 答:VFS (虚拟文件系统)是物理文件系统与服务之间的接口层。

它对 Linux 的每个文件系统的所有细节进行抽 象,使得不同的文件系统在 Linux 核心以及系统中运行的其它进程看来,都是相同的。

文件系统类型,将设备同对应的文件系统联系起来, 操作时,VFS 把它们影射到与控制文件、目录以及22、 内核模块的编程和普通程序的编程有哪些区别?( 参考答案: 主要区别为: (1) 因为内核模块运行在内核态,所以包含的头文件是内核程序相关的头文件,而普通程序则包含的是 的头文件(1分)(2) 模块程序没有 main 函数,而是通过init_module 函数在加载后初始化。

相关主题