linux考试复习题.doc
《linux考试复习题.doc》由会员分享,可在线阅读,更多相关《linux考试复习题.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章1什么是嵌入式系统?它由哪几部分组成?嵌入式系统是一应用为中心,以计算机技术为基础,切软硬件可裁减,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统一般有3 个主要的组成部分:硬件、实时操作系统以及应用软件。 硬件:包括处理器、存储器(ROM、RAM)、输入输出设备、其他部分辅助系统等。 实时操作系统(Real-Time Operating System、RTOS):用于管理应用软件,并提供一种机制,使得处理器分时地执行各个任务并完成一定的时限要求 。 应用软件:实现具体业务逻辑功能2嵌入式系统的三要素是什么?嵌入式系统的三要素是嵌入、专用、计算机。其中嵌入性指的是
2、嵌入到对象体系中,有对象环境要求;专用性是指软、硬件按对象要求裁减;计算机指实现对象的智能化功能。3列出5中以上的嵌入式实时操作系统。嵌入式实时操作系统(Real-Time Operating System,RTOS)是指操作系统本身要能在一个固定时限内对程序调用(或外部事件)做出正确的反应亦即对时序与稳定性的要求十分严格。目前国际较为知名的有:VxWorks、NeutrinoRTOS、Nucleus Plus、 OS/9、VRTX、LynuxOS、RTLinux、BlueCat RT 等。4嵌入式系统一般由几层组成?简单介绍其作用。嵌入式系统一般由硬件层、中间层、软件层和
3、功能层组成。其作用分别如下:(1)硬件层 :由嵌入式微处理器、外围电路和外设组成。外围电路有:电源电路、复位电路、调试接口和存储器电路,就构成一个嵌入式核心控制模块。操作系统和应用程序都可以固化在ROM 或者Flash 中。为方便使用,有的模块在此基础上增加了LCD、键盘、USB 接口以及其他一些功能的扩展电路。(2)中间层 :硬件层与软件层之间为中间层,也称为BSP(BoardSupporPackage,板级支持包)。作用:将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。功能:一般应具有相关硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。BS
4、P 是主板硬件环境和操作系统的中间接口,是软件平台中具有硬件依赖性的那一部分。主要目的是为了支持操作系统,使之能够更好地运行于硬件主板上。(3)软件层 :主要是操作系统,有的还包括文件系统、图形用户接口和网络系统等。操作系统是一个标准的内核将中断、I/O、定时器等资源都封装起来,以方便用户使用。(4)功能层 :由基于操作系统开发的应用程序组成,用来完成对被控对象的控制功能。功能层是面向被控对象和用户的,为了方便用户操作,往往需要具有友好的人机界面。5简述嵌入式系统中非占先式与占先式调度法的区别。非占先式调度法也称作合作型多任务(cooperative multitaskin
5、g),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU 的使用权时,那个高优先级的任务才能获得CPU 的使用权。当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务一旦就绪总能得到CPU 的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU 使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU 的控制权。6简述什么是硬实时操作系统、软实时操作系统以及两者的区别。在实时系统中,如果系统在
6、指定的时间内未能实现某个确定的任务,会导致系统的全面失败,这样的系统被称为强实时系统或硬实时系统。强实时系统响应时间一般在毫秒或微秒级。在弱实时系统中,虽然响应时间同样重要,但是超时却不会发生致命的错误。其系统响应时间在毫秒至秒的数量级上,其实时性的要求比强实时系统要差一些。7嵌入式系统的设计步骤有哪些?各部分主要工作是什么?嵌入式系统的设计步骤及各部分的主要工作如下。(1)需求分析阶段,罗列出用户的需求。(2)体系结构设计阶段,描述系统的功能如何实现。(3)详细设计阶段,进行硬件系统与软件系统的分类划分,以决定哪些功能用硬件实现,哪些用软件实现。(4)系统集成把系统的软件
7、、硬件和执行装置集成在一起,进行调试,发现并改进在设计过程中的错误。(5)系统测试对设计好的系统进行测试看其是否满足给定的要求。8.Linux作为嵌入式操作系统的优势有哪些?Linux 作为嵌入式操作系统的优势主要有以下几点:(1)可应用于多种硬件平台。Linux 已经被移植到多种硬件平台,这对于经费、时间受限制的研究与开发项目是很有吸引力的。原型可以在标准平台上开发后移植到 具体的硬件上,加快了软件与硬件的开发过程。Linux 采用一个统一的框架对硬件进行管理,从一个硬件平台到另一个硬件平台的改动与上层应用无关。(2)Linux 的高度模块化使添加部件
8、非常容易。本身内置网络支持,而目前嵌入式系统对网络支持要求越来越高。(3)Linux 是一个和Unix 相似、以内核为基础的、具有完全的内存访问控制,支持大量硬件(包括X86、Alpha、ARM 和Motorola 等现有的大 部分芯片)等特性的一种通用操作系统。(4)Linux 可以随意地配置,不需要任何的许可证或商家的合作关系。其程序源码全部公开任何人可以修改并在GUN 通用公共许可证(GNU General Public License)下发行。这样,开发人员可以对操作系统进行定制,适应其特殊需要。(5)Linux 带有Unix 用户熟悉的完善的开发工具,几乎所有的U
9、nix 系统的应用软件都已移植到了Linux 上。其强大的语言编译器GCC、C+等也可以很容易得到,不但成熟完善,而且使用方便。9简述Linux需要进行进程调度的时机。Linux 执行进程调度一般是在以下情况发生的:(1)正在执行的进程运行完毕。(2)正在执行的进程调用阻塞原语将自己阻塞起来进入等待状态。(3)正在执行的进程调用了P 原语操作从而因资源不足而被阻塞,或调用了V 原语操作激活了等待资源的进程队列。(4)执行中的进程提出I/O 请求后被阻塞。(5)系统分配的时间片已经用完。以上都是CPU 为不可剥夺方式下的引起进程调度的原因。在CPU 方式是可剥夺时Й
10、277;还有下面的原因:(6)就绪队列中的某个进程的优先级变得高于当前运行进程的优先级,从而也将引起进程调度。第二章1、(man)命令可以知道Shell命令的用法。2、Linux分区类型默认的是(Ext2/Ext3)。3、(shutdown r now)命令行可用来马上关闭正在运行的Linux系统。4、重定向的符号“”表示(输出重定向,原来的文件会被改写)。5、下面(touch myfile)命令可用来确保文件myfile存在。6、要给文件file1加上其他人可执行属性的命令是(chmod o+x)。7、用“useradd jerry”命令添加一个用户,这个用户的主目录是(/home/jerr
11、y)。8、如果忘记了ls命令的用法,可以采用(man ls)命令获得帮助。9、某文件的组外成员的权限为只读;所有者有全部权限,组内权限为读写,则该文件的权限为(764)。10、删除当前目录abc以及下面的所有子目录和文件,并不要求提示任何确认信息的命令是(rm rf abc)。11、文件exer1的访问权限为rw-rr-,现在要添加所有用户的执行权限和同组用户的写权限,命令是(chmod a+x g+w exer1)、(chmod 0775 exerl)12、在/home/stud1/wang 目录下有一个文件file,使用(cat filefile.copy)可实现在后台执行命令,此命令将f
12、ile文件中的内容输出到file.copy文件中。13、删除文件命令为(rm)。14、(chmod)命令可更改一个文件的权限设置。15、系统中有用户user1和user2,同属于users组。在user1用户目录下有一个文件file1,他拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,file1应拥有(664)。16、为查看linux启动信息,可以用(dmesg)命令。17、可用(cat /proc/meminfo)命令查看linux使用了多少内存。18、下列说法是正确的是(D)。A.ln s a.txt b.txt ,作用是制作文件b.txt的符号链接,其名称
13、为a.txt。Bdf命令可以查看当前目录占用磁盘空间的大小。C.comm命令用来打印两个文本文件中的相同内容。D.rm命令可以用来删除目录。19、为了查找当前用户运行的所有进程的信息,可以使用(ps -u)命令。20.为了保证在启动服务器时自动启动DHCP进程,应对(/etc/rc.d/inet1)文件进行编辑。 第三章二、综合应用题1、已知C语言程序有主要程序模块prog.c、proc.h,其中调用了另一模块subr.c、subr.h中的功能。试写出一个可将这两个模块编译成可执行文件pr1的Makefile。pr1:prog.o subr.ogcc o pr1 prog.o subr.opr
14、og.o:prog.c prog.hgcc c o prog.o prog.csubr.o:subr.c subr.hgcc c o subr.o subr.c2、假定目录/home/arm下有一个C语言程序,它由几个单独的文件组成,而这几个文件又分别包含了其他文件,如下表所示。文件包含文件main.cstdio.h,table.hlist.clist.hsymbol.csymbol.htable.ctable.htable.hsymbol.h,list.h完成下列任务(1) 编写Makefile文件,最终的目标文件为hello,交叉编译器为arm-linux-gcc。hello:main.o
15、 list.o symbol.o table.oarm-linux-gcc o hello main.o list.o symbol.o table.omain.o:main.c stdio.h table.h symbol.h list.harm-linux-gcc -c o main.o main.clist.o:list.c list.harm-linux-gcc c o list.o list.csymbol.o:symbol.c symbol.h arm-linux-gcc c o symbol.o symbol.ctable.o:table.c table.h symbol.h l
16、ist.harm-linux-gcc c o table.o table.cclear: rm f hello *.o(2) 在目标机上通过网络文件系统挂载/mnt到宿主机上的/home/arm目录。mount t nfs o nolock IP地址:/home/arm /mnt3.在Linux操作系统下,编程实现以下功能。(1)主程序hello.c(打印“hello world!”)。(2)主程序通过头文件hello.h调用message函数。(3)message函数有message.c定义(打印“This is a message!”)。/hello.h#ifndef HELLO_H#de
17、fine HELLO_Hvoid message();#endif/message.c#include#include”hello.h”void message() printf(“this is a message!”);/hello.c#include#include#include#include”hello.h”void main(int argc,char *argv)printf(“hello world!n”);message();return 0;三、选择题1、一般可以用(make)实现自动编译。2假使当前目录下有文件Makefile,其内容如下。pr1:prog.o subr
18、.ogcc o pr1 prog.o subr.oprog.o:prog.c prog.hgcc c o prog.o prog.csubr.o:subr.c subr.hgcc c o subr.o subr.cclear:rm f pr1 *.o现在执行命令make clear,实际执行的命令是(rm f pr1 *.o)。3、嵌入式系统应用软件一般在宿主机上开发,在目标机上运行,因此需要的一个(交叉编译)环境。4、假设用vi编辑器编写了一个脚本文件shell.sh,现想将该文件名称修改为shell2.sh,(mv shell.sh shell2.sh)命令可以实现。5、在使用GCC编辑器
19、的过程中,(-o)选项可用来指定生成的目标文件名。6、假设当前目录下有文件Makefile,其内容如下。pr1:prog.o subr.ogcc o pr1 prog.o subr.oprog.o:prog.c prog.hgcc c o prog.o prog.csubr.o:subr.c subr.hgcc c o subr.o subr.cclear:rm f pr1 *.o现在执行命令make subr.o,实际执行的命令是(gcc c o subr.o subr.c)。7、为了使生成的目标文件能够用于GDB调试,在编译时GCC应使用(-g)选项。8、存盘并退出vi的指令是(wq)。9
20、、在Linux下使用GCC编译器时,有命令gcc g test.c o test,其中参数-g的作用是(生成文件包含调试信息)。10、fstab文件存放在(/ect)目录中。11、init启动进程需要读取(/etc/inittab)配置文件。第四章1. LINUX支持网络文件系统NFS, (mount -t nfs 192.168.1.4:/opt/sirnfs /mnt/sirnfs)命令实现了将位于 192.168.1.4机器上的 /opt/sirnfs 目录挂载到本机/mnt/sirnfs下。2、以下叙述中正确的是(C)A、宿主机与目标机之间只需要建立逻辑连接即可。B、在嵌入式系统中,调
21、试器与被调试程序一般位于同一台机器上C、在嵌入式系统开发中,通常采用的是交叉编译器。D、宿主机与目标机之间的通信方式只有串口和并口两种3、以下做法不利于嵌入式应用软件的移植的是 D 。A) 在软件设计上,采用层次化设计和模块化设计B) 在软件体系结构上,在操作系统和应用软件之间引入一个虚拟机层,把一些通用的、共性的操作系统API接口函数封装起来C) 将不可移植的部分局域化,集中在某几个特定的文件之中D) 在数据类型上,尽量直接使用C语言的数据类型4. 如果Boot Loader、内核、启动参数以及其他的系统映像四部分在固态存储设备上分别独立存放,则其存储结构的分配顺序应当是(Bootloade
22、r、启动参数、内核、文件系统)。 5. Boot Loader 的stage2通常使用C语言实现,以完成复杂的功能,并增加可读性和可移植性,以下哪一步骤属于stage2的内容:(D) A . 为加载 Boot Loader 的 stage2 准备 RAM 空间B . 设置好堆栈C . 硬件设备初始化D . 将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中6、在Linux 2.4或者2.6内核中,和ARM体系结构相关的中断处理程序的C代码在源码树的(arch/arm/kernel/irq.c)文件中7、下面对于BootLoader的描述不正确的是(C)A、上电后运行的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 考试 复习题
限制150内