嵌入式系统linux模拟参考题一

更新时间:2024-04-25 13:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

嵌入式系统linux 模拟参考题

一、选择题

1、如下哪一个命令可以帮助你知道shell命令的用法: A man B pwd C help D more

答案:A

2、Linux分区类型默认的是: A. vfat

B. ext2/ext3 C. swap D. dos

答案:B

3. 下列哪种循环shell不能处理: A For B loop C while D until

答案: B

4、下面哪条命令可用来确保文件“myfile”存在 : A. cp myfile /dev/null B. touch myfile C. create myfile D. mkfile myfile

答案: B

5、 LILO的配置文件是: A. /etc/conf

B. /etc/lilo.conf C. /proc/kcore D. /usr/local/

答案: B

6、删除文件命令为:

A. mkdir B. rmdir C. mv D. rm 答案: D

7、用“useradd jerry”命令添加一个用户,这个用户的主目录是什么: A./home/jerry B./bin/jerry C./var/jerry D./etc/jerry

1

答案: A

8、不是shell具有的功能和特点的是:

A 管道 B 输入输出重定向 C 执行后台进程 D 处理程序命令

答案: A

9、在下列ARM处理器的各种模式中,只有_____模式不可以可以自由地改变处理器的工作模式。 A、用户模式(User) B、系统模式(System) C、终止模式(Abort) D、中断模式(IRQ)

答案:A

10、如何从当前系统中卸载一个已装载的文件系统: A. umount B. dismount

C. mount –u D. 从 /etc/fstab 中删除这个文件系统项

答案: A 11、()命令可更改一个文件的权限设置?

A. attrib B. chmod C. change D. file

答案: B

12、用命令ls -al显示出文件ff的描述如下所示,由此可知文件ff的类型为: -rwxr-xr-- 1 root root 599 Cec 10 17:12 ff

A. 普通文件 B. 硬链接 C. 目录 D. 符号链接 硬链接是一个指针,如果是硬链接则会显示大于2的数 答案: A

13、字符设备文件类型的标志是:

A. p B. c C. s D. l 答案: B

14、系统中有用户user1和user2,同属于users组。在user1用户目录下有一文件file1,它拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,应拥有( )权限。 A. 744 B. 664 C. 646 D. 746

644-110100100,表示自己可读可写,同组及其它可读。如果同组用户希望对本组其它用户的文件可读可写,则应该在组文件处拥有6权限。110110100 答案: B

15、下列关于/etc/fstab文件描述,正确的是: A. fstab文件只能描述属于linux的文件系统

2

B. CD_ROM和软盘必须是自动加载的

C. fstab文件中描述的文件系统不能被卸载 D 启动时按fstab文件描述内容加载文件系统

答案: D

16. 下列表达式或语句只存在于tcsh中的是: A if B shift C repeat D select

答案: C

17、通过文件名存取文件时,文件系统内部的操作过程是通过: A. 文件在目录中查找文件数据存取位置。

B. 文件名直接找到文件的数据,进行存取操作。

C. 文件名在目录中查找对应的I节点,通过I节点存取文件数据。

D. 文件名查找对应的超级块,在超级块查找对应i节点,通过i节点存取文件数据

答案: D

18. LINUX文件系统最基础的那些部件在开机引导启动的时候就会通过一下哪个文件自动挂载: A. /etc/fstab B. /etc/conf/bin C. /etc/auth/system D./etc/group

答案: A

19、通过makefile来安装已编译过的代码的命令是: A. make B. install C. make depend D. make install

答案: D

20. 在SDRAM的存储器空间分配中,blob_abs_base区域功能是: A、Blob将自身的第二阶段代码复制到SDRAM所在的区域 B、从Blob进行自升级或调试的区域 C、Blob第一阶段代码所在的区域

D、Blob将自身的第一阶段代码复制到SDRAM所在的区域

答案:A . blob_abs_base是Blob将自身的第二阶段代码复制到SDRAM所在的区域,而blob_base则是从Blob进行自升级或调试的区域。

21、以下关于GCC选项说法错误的是: A.-c 只编译并生成目标文件 B.-w生成警告信息 C.-g 生成调试信息

D.-o FILE 生成指定的输出文件

3

答案:B

22、以下哪种不是vi的工作模式:

A. 命令模式 B. 删除模式 C. 编辑模式 D. 末行模式

答案:B

23. linux系统命令包含在下列哪个目录中: A /sbin B / lib C /bin D /proc

答案:A

24. Boot Loader 的stage2通常使用C语言实现,以完成复杂的功能,并增加可读性和可移植性,以下哪一步骤属于stage2的内容:

A 为加载 Boot Loader 的 stage2 准备 RAM 空间 B 设置好堆栈 C 硬件设备初始化

D 将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中

答案:D

25、当使用vi编缉/etc/inittab文件时,在命令模式下查询shutdown字符串,使用的命令是: A. ?shutdown B. %shutdown C. =shutdown D. .shutdown

答案:A

26. 下面属于blob运行过程第一阶段的是: A 外围的硬件初始化(串口,USB等);

B 根据用户选择,进入命令行模块或启动kernel。 C 寄存器的初始化 D 堆栈的初始化

答案:C 第一阶段的代码在start.s中定义,大小为1KB,它包括从系统上电后在0x00000000地址开始执行的部分。这部分代码运行在Flash中,它包括对S3C44B0的一些寄存器的初始化和将Blob第二阶段代码从Flash拷贝到SDRAM中。

27.下列几种流行的嵌入式GUI中,没有采用分层设计的一种是; A.MiniGUI B. Qt/Embedded C. Nano-X Window D. OpenGUI

答案:B

28、相对于ARM指令集,Thumb指令集的特点是: A、指令执行速度快

B、16位指令集,可以得到密度更高的代码,对于需要严格控制成本的设计非常有意义

4

C、Thumb模式有自己独立的寄存器

D、16位指令集,代码密度高,加密性能好

答案:B

29 以下哪种技术不是嵌入式web服务器用于信息传递的接口技术: A. 元命令 B. CGI C. E-mail D. HTTP

答案:D

30、同CISC相比,下面哪一项不属于RISC处理器的特征:

A、采用固定长度的指令格式,指令规整、简单、基本寻址方式有2~3种。 B、减少指令数和寻址方式,使控制部件简化,加快执行速度。

C、数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率,同时简化处理器的设计。

D、RISC处理器都采用哈佛结构

答案:D

31、下面关于ARM处理器的体系结构描述哪一个是错误的: A、三地址指令格式 B、所有的指令都是单周期执行 C、指令长度固定 D、Load-Store结构

答案:B

32. 文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是。

A) chmod a+x g+w exer1 B) chmod 765 exer1 C) chmod o+x exer1 D) chmod g+w exer1

答案:A

36、按照ARM过程调用标准(APCS),栈指针使用____寄存器, A、R0 B、R13 C、R14 D、R15

答案:B

37、在ARM体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor),应采用何种方法?

A、直接修改CPU状态寄存器(CPSR)对应的模式

B、先修改程序状态备份寄存器(SPSR)到对应的模式,再更新CPU状态 C、使用软件中断指令(SWI) D、让处理器执行未定义指令

答案:C

38、ARM体系中,MMU的功能不包括:

5

A、实现地址映射,完成虚拟地址到实地址(物理地址)之间的转换 B、实现地址空间的保护和访问权限的控制

C、减少多任务操作系统任务切换的时间,提高处理器运行的效率 D、管理各个地址空间的高速缓存(Cache)模式

答案:C

39. 嵌入式系统加电或复位后,所有的 CPU 通常都从某个由 CPU 制造商预先安排的地址上取指令。例如:对于S3C44B0来说,Boot Loader会映射到______地址处 A 0x0c000000 B 0x00000000 C 0x00000018 D 0x40000018

答案:B

40. 32位体系结构的ARM处理器有____种不同的处理器工作模式,和____个主要用来标识CPU的工作状态和程序的运行状态的状态寄存器。 A、7、7 B、7、6 C、6、6 D、6、7

答案:B

41、MMU的TLB(Translation Lookaside Buffer,高速后备缓冲区)的作用是: A、可以缓存页表,提高MMU查表的映射转换的速度

B、对处理器要执行的指令进行缓存,提高处理器运行的速度

C、对要处理的数据进行缓存,减少对外存访问的等待周期,提高系统效率 D、保存所有的转换页表供MMU映射使用

答案:A

42、可加载模块一般位于系统的( )目录下: A. /lib/modules

B. /lib/modules/x.y.z(x.y.z是内核的版本号) C. /usr/lib

D. /usr/local/lib

答案:B

43、在ARM体系中,下面哪一个实地址可以作为MMU转换表的基地址? A、0xA0000C00 B、0x00000000 C、0xC0000C00 D、0xC0000000

答案:D

44、在ARM体系中,若MMU转换表的基地址为0xA0004000,需要在实地址______写入____数据才能实现,把0xA0000000-0xA00FFFFF的实地址空间,映射到0xC0000000-0xC00FFFFF中。 A、 0xA0006800 0xA0000C0E B、0xA0007000 0xA0000C0E

6

C、 0xA0004000 0xA0000C0F B、0xA0007000 0xA0000C0F

答案:A

45、在开启了MMU的ARM Linux系统中,异常向量表的起始地址是: A、0x00000000 B、0xFFFF0000 C、和具体的处理器相关 D、随Linux的移植版本,任意设置

答案:B

46、下面哪一个选项不是linux系统的进程类型: A. 交互进程 B. 批处理进程 C. 守护进程 D. 就绪进程

答案:D

47、通过修改下面文件哪个文件 ,可以设定开机时候自动安装的文件系统 : A. /etc/mta B. /etc/fastboot C. /etc/fstab D. /etc/inetd.conf

答案:C

48、启动init进程前,不需要经过( )步骤。 A.LILO加载内核 B.检测内存 C.加载文件系统 D.启动网络支持

答案:D

49、inittab文件存放在( )目录中。

A./etc B./boot C./sbin D./root

答案:A

50、根据说明中inittab文件的内容,系统引导成功后,工作在( )状态。 A.单用户字符模式 B.多用户字符模式 C.单用户图形模式 D.多用户图形模式

答案:D

51、在ARM体系构建的嵌入式系统中,由电平模式触发的中断,其对应的中断标准应该在何时被清除? A、当中断处理程序结束以后,才可以清除 B、进入相应的中断处理程序,即可以清除 C、产生IRQ中断的时候,处理器自动清除 D、任何时候都可以清除

7

答案:A

52、根据上述inittab文件的内容,系统在引导过程结束前,至少还要执行( )下的内容。 A. rc.sysinit

B. rc.sysinit 和 rc 5

C. rc.sysinit, rc0, rcl, rc2, rc3, re4, rc5和qlrc6 D. rc0, rcl, rc2, rc3, rc4, rc5和glrc6

答案:B

53、下面关于Shell的说法,不正确的是: A. 操作系统的外壳

B. 用户与Linux内核之间的接口程序 C. 一个命令语言解释器 D. 一种和C类似的程序语言

答案:D

54、在Linux系统中,下列哪个命令可以用来加载模块: A.insmod B.load

C.init D.installmod

答案:A

55、在Linux下,用mkfs.jffs2命令创建JFFS2文件系统(基本上是使用JFFS2的Ramdisk),关于mkfs.jffs2下列说法错误的是:

A.-e 选项确定闪存的擦除扇区大小(通常是 64 千字节) B.-p 选项用来在映像的剩余空间用零填充。

C.-f 选项用于输出文件,通常是 JFFS2 文件系统映像

D.一旦创建了 JFFS2 文件系统,它就被装入闪存中适当的位置(引导装载程序告知内核查找文件系统的地址)以便内核能挂装它。) 答案:C

56、以下叙述中,不符合RISC指令系统特点的是 B 。 A) 指令长度固定,指令种类少

B) 寻址方式种类丰富,指令功能尽量增强 C) 设置大量通用寄存器,访问存储器指令简单 D) 选取使用频率较高的一些简单指令

57、Linux文件权限一共10位长度,分成四段,第三段表示的内容是 C 。 A) 文件类型 B) 文件所有者的权限 C) 文件所有者所在组的权限 D) 其他用户的权限

58、在vi编辑器中的命令模式下,重复上一次对编辑的文本进行的操作,可使用 C 命令。 A) 上箭头 B) 下箭头 C) <.>; D) <*>;

59、以下做法不利于嵌入式应用软件的移植的是 D 。

8

A) 在软件设计上,采用层次化设计和模块化设计

B) 在软件体系结构上,在操作系统和应用软件之间引入一个虚拟机层,把一些通用的、共性的操作系统API接口函数封装起来

C) 将不可移植的部分局域化,集中在某几个特定的文件之中 D) 在数据类型上,尽量直接使用C语言的数据类型

60、系统中有用户user1和user2,同属于users组。在user1用户目录下有一文件file1,它拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,应拥有 B 权限。

A )744 B) 664 C) 646 D) 746

二、简答题

1、什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?

参考答案: [问题1]

链接分硬链接和符号链接。硬连接是指原文件和连接文件共享一个inode,所以本质上是一个文件,两个名字;而符号连接的文件具有自己的inode,通过inode指向的数据块指出所连接的文件。 [问题2]

符号链接可以建立对于文件和目录的链接。符号链接可以跨文件系统,即可以跨磁盘分区。符号链接的文件类型位是l,链接文件具有新的i节点。

硬链接不可以跨文件系统。它只能建立对文件的链接,硬链接的文件类型位是-,且硬链接文件的i节点同被链接文件的i节点相同。

2、假设现有三个 c 程序 main.c, mytool1.c, mytool2.c,其中主程序在 main.c中。可使用以下命令行编译:

gcc -c main.c gcc -c mytool1.c gcc -c mytool2.c

gcc -o main main.o mytool1.o mytool2.o 请依据以上命令写出相应的Makefile文件。(8分)

参考答案:(每行1分) # Makefile文件

main:main.o mytool1.o mytool2.o

gcc -o main main.o mytool1.o mytool2.o main.o:main.c mytool1.h mytool2.h gcc -c main.c

mytool1.o:mytool1.c mytool1.h gcc -c mytool1.c

mytool2.o: mytool2.c mytool2.h gcc -c mytool2.c

3. 简述Blob的具体移植的主要工作 答:

*屏蔽掉看门狗WTCON;

*配置寄存器SYSCFG,暂时关闭缓存,等Blob运行稳定后再开启;

9

*初始化I/O寄存器; *屏蔽中断;

*配置PLLCON寄存器,决定系统的主频;

*调用ledasm.s,在串口未初始化时led状态对于程序是否正常运行很重要;

*调用memsetup-s3c44b0.s中的memsetup进行初始化存储器空间,初始化SDRAM刷新速率等; *将第二阶段复制到SDRAM,并且跳转到第二阶段。

4、简述进程的启动方式。 参考答案:

在中启动一个进程有手工启动和调度启动两种方式 (1)手工启动

用户在输入端发出命令,直接启动一个进程的启动方式。可以分为: ①前台启动:直接在SHELL中输入命令进行启动。

②后台启动:启动一个目前并不紧急的进程,如打印进程。 (2)调度启动

系统员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系统会自动完成该任务。

经常使用的进程调度命令为:at、batch、crontab。 at,batch在指定時間執行命令

crontab設定計時器使在設定的時間執行命令 at -f /bin/ls -m 17:40

5、在linux中如何编译C程序,使之成为可执行文件?如何调试? 答案: [问题1]

1)检查程序中.h文件所在的目录,将其加入系统PATH中; 2)执行C编译:#gcc [源文件名] -o [目标文件名]

3)改变目标文件为可执行文件:#chmod +x [目标文件名]

4)如需将多个可执行文件连续执行,可用vi生成批处理文件,最后记得将该批处理文件属性改为可执行(同上一步) [问题2]

调试:在编译时使用-g参数,就可以使用gdb进行调试。

6、 什么是交叉编译,为什么要用使用交叉编译 答:

简单地说,交叉编译就是在一个平台上生成在另一个平台上执行的代码。这里的平台包括体系结构(Architecture)和操作系统(OS)。同一个体系结构可以运行不同的操作系统,同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,x86 Linux平台是Intel x86 体系结构和Linux for x86操作系统的统称。

使用交叉编译的原因主要有两个:一是目标平台所需要的bootloader以及OS核心还没有建立时,需要作交叉编译。二是目标机设备不具备一定的处理器能力和存储空间,即单独在目标板上无法完成程序开发,所以只好 求助宿主机。这样可以在宿主机上对即将在目标机上运行的应用程序进行编译,生成可以在目标机上运行的代码格式,然后移植到目标板上,也就是目前嵌入式程序开发的Host/Target模式。

7. 简述进程的启动、终止的方式。 答:

在Linux中启动一个进程有手工启动和调度启动两种方式:

10

(1)手工启动

用户在输入端发出命令,直接启动一个进程的启动方式。可以分为: ①前台启动:直接在SHELL中输入命令进行启动。

②后台启动:启动一个目前并不紧急的进程,如打印进程。 (2)调度启动

系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系统会自动完成该任务。

8、简述进程调度的功能 参考答案:

进程调度的功能包括:

(1)记录系统中所有进程的执行状况;

(2)根据一定的调度算法,从就绪队列中选出一个进程来,准备把CPU分配给它;

(3)把CPU分配给进程。将原来运行的进程的状态保存,并将新选择的进程的运行环境载入寄存器。

9. 简要描述嵌入式Web服务器的系统结构(可用图描述),并简单描述客户机与服务器的交互过程。 答:系统结构见图

工作过程:

1、客户机利用浏览器使用TCP/IP协议,与服务器建立连接,发送URL请求;

2、HTTP引擎使用一定的应用接口技术(如CGI)根据客户机传递的参数进行相应的信息处理,比如,交给一定的嵌入式设备进行处理。

3、应用接口技术将处理结果返回给HTTP引擎,从而得到动态数据信息。HTTP引擎也可以通过静态Web页面得到静态数据信息。

4、HTTP引擎使用TCP/IP协议栈把处理结果返回给客户机。

10. bootloader有哪些操作模式,具体说明两种方式 答:

大多数BootLoader都包含两种不同的操作模式。“启动加载”模式和“下载”模式,这种区别仅对于开发人

11

员才有意义。但从最终用户的角度看,BootLoader的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。

启动加载(Boot loading)模式:这种模式也称为“自主”(Autonomous)模式,也即BootLoader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。这种模式是BootLoader的正常工作模式。因此在嵌入式产品发布的时候,BootLoader显然必须工作在这种模式下. 下载(Down loading)模式:在这种模式下 目标机上的BootLoader将通过串口连接或网络连接等通信手段从主机下载文件,比如:下载应用程序、数据文件、内核映像等.从主机下载的文件通常首先被BootLoader保存到目标机的RAM中然后再被BootLoader写到目标机上的固态存储设备中。BootLoader的这种模式通常在系统更新时使用。工作于这种模式下的BootLoader通常都会向它的终端用户提供一个简单的命令行接口

三、问答题

请下列shell程序加注释,并说明程序的功能和调用方法: #!/bin/sh #

# /etc/rc.d/rc.httpd #

# Start/stop/restart the Apache web server. #

# To make Apache start automatically at boot, make this # file executable: chmod 755 /etc/rc.d/rc.httpd #

case \ 'start')

/usr/sbin/apachectl start ;; 'stop')

/usr/sbin/apachectl stop ;; 'restart')

/usr/sbin/apachectl restart ;; *)

echo \esac 答: 1)程序注释

#!/bin/sh 定义实用的shell #

# /etc/rc.d/rc.httpd 注释行,凡是以星号开始的行均为注释行。 #

# Start/stop/restart the Apache web server. #

# To make Apache start automatically at boot, make this # file executable: chmod 755 /etc/rc.d/rc.httpd #

12

case \结构开始,判断“位置参数”决定执行的操作。本程序携带一个“位置参数”,即$1 'start') #若位置参数为start

/usr/sbin/apachectl start ;; #启动httpd进程 'stop') #若位置参数为stop

/usr/sbin/apachectl stop ;; #关闭httpd进程 'restart') #若位置参数为stop

/usr/sbin/apachectl restart ;; #重新启动httpd进程 *) #若位置参数不是start、stop或restart时

echo \显示命令提示信息:程序的调用方法 esac #case结构结束

(2)程序的功能是启动,停止或重新启动httpd进程 (3)程序的调用方式有三种:启动,停止和重新启动。

四、设计题

用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。 答: #!/bin/sh FILENAME=

echo “Input file name:” read FILENAME if [ -c \ then

cp $FILENAME /dev fi

13

本文来源:https://www.bwwdw.com/article/q27p.html

Top