嵌入式操作系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问答题
1.什么是嵌入式系统,它由哪几部分组成?嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。根据IEEE的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。简单地讲就是嵌入到对象体中的专用计算机系统。嵌入式系统一般有3个主要的组成部分:硬件、实时操作系统以及应用软件。硬件:包括处理器、存储器、输入输出设备、其他部分辅助系统等。实时操作系统:用于管理应用软件,并提供一种机制,使得处理器分时地执行各个任务并完成一定的时限要求.应用软件:实现具体业务逻辑功能。
2.嵌入式系统的三要素是什么?嵌入式系统的三要素是嵌入、专用、计算机;其中嵌入性指的是嵌入到对象体系中,有对象环境要求;专用性是指软、硬件按对象要求裁减;计算机指实现对象的智能化功能。广义地说一个嵌入式系统就是一个具有特定功能或用途的计算机软硬件集合体。即以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3.列举五种以上的嵌入式实时操作系统?嵌入式实时操作系统是指操作系统本身要能在一个固定时限内对程序调用(或外部事件)做出正确的反应,亦即对时序与稳定性的要求十分严格。目前国际较为知名的有:VxWorks、NeutrinoRTOS、Nucleus Plus、OS/9、VRTX、LynuxOS,RTLinux、BlueCat RT等。
4.嵌入式系统一般由几层组成?简单介绍其作用?嵌入式系统一般由硬件层、中间层、软件层和功能层组成。其作用分别如下:(1)硬件层:由嵌入式微处理器、外围电路和外设组成。外围电路有:电源电路、复位电路、调试接口和存储器电路,就构成一个嵌入式核心控制模块。操作系统和应用程序都可以固化在ROM或者Flash中。为方便使用,有的模块在此基础上增加了LCD、键盘、USB接口,以及其他一些功能的扩展电路。(2)中间层:硬件层与软件层之间为中间层,也称为BSP(Board Support Package,板级支持包)。作用:将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关;功能:一般应具有相关硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。BSP是主板硬件环境和操作系统的中间接口,是软件平台中具有硬件依赖性的那一部分,主要目的是为了支持操作系统,使之能够更好地运行于硬件主板上。(3)软件层:主要是操作系统,有的还包括文件系统、图形用户接口和网络系统等。操作系统是一个标准的内核,将中断、I/O、定时器等资源都封装起来,以方便用户使用。(4)功能层:由基于操作系统开发的应用程序组成,用来完成对被控对象的控制功能。功能层是面向被控对象和用户的,为了方便用户操作,往往需要具有友好的人机界面。
5.简述嵌入式系统中非占先式与占先式调度算法的区别?非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。当系统响应时间很重要时,要使用占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。
6.硬实时操作系统,软实时操作系统以及两者的区别?在实时系统中,如果系统在指定的时间内未能实现某个确定的任务,会导致系统的全面失败,这样的系统被称为强实时系统或硬实时系统。强实时系统响应时间一般在毫秒或微秒级。在弱实时系统中,虽然响应时间同样重要,但是超时却不会发生致命的错误。其系统响应时间在毫秒至秒的数量级上,其实时性的要求比强实时系统要差一些。
7.嵌入式系统的设计步骤有哪些?各部分主要工作是什么?(1)需求分析阶段,罗列出用户的需求;(2)体系结构设计阶段,描述系统的功能如何实现;(3)详细设计阶段,进行硬件系统与软件系统的分类划分,以决定哪些功能用硬件实现,哪些用软件实现;(4)系统集成,把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进在设计过程中的错误;(5)系统测试,对设计好的系统进行测试,看其是否满足给定的要求。
8. 1)cd~user:改变目录位置至用户的工作目录2)cd:/user:改变目录位置至相对路径user 的目录下3)ls/root/-l:查看当前目录下的文件4)cat/root/.bash_profile:查看文件.ba
sh_profile的内容5more/etc/innittab:分页查看inittab文件内容6)cp/tmp/file1 file2:将目录/tmp 下的文件file1 复制到当前目录下,文件名为f i l e 2 7)mv file1 dir1:将文件file1移到目录dir1 下,文件名仍为file1 8)mkdir dir1:建立一新目录d i r 1 9)rmdir dir1:删除目录dir1,但dir1 下必须没有文件存在,否则无法删除10)rm file:删除文件名中有五个字符且前四个字符为file 的所有文件11)$ cat config:文件config的内容依次显示到屏幕上
12)more file1:以分页方式查看文件名file1 的内容13)cat file1| more:以分页方式查看文件名file1 的内容14)du -s dir1:显示目录dir1 的总容量15)chmod 755 dir1:对于目录d i r 1,设定成任何使用者皆有读取及执行的权利,但只有所有者可做修改16)chmod 700 file1:对于文件f i l e 1,设定只有所有者可以读、写和执行的权利17)ln -s file3 file4:将文件file4 链接至文件f i l e 3 18)grep abc file1:寻找文件f i l e 1中包含字符串abc 所在行的文本内容。
19)find/-name file1 -print:自根目录下寻找文件file1 的路径。20)diff -r dir1 dir2:比较目录dir1 与dir2 内各文件的不同之处。
9.利用GDB进行调试时,可通过step或next命令进行单步执行
10.VI三种模式:命令模式末行模式输入模式
11.使用GCC编译C程序生成可执行文件有时似乎是一步完成的,但实际要经历四步:预处理、编译、汇编和连接
12.Linux 内核的编译菜单有好几个版本,运行:1)make config:进入命令行,可以一行一行的配置,但使用不十分方便。2)make menuconfig:大多数开发人员使用的Linux 内核编译菜单,使用方便。3)make xconfig:在2.4.X 以及以前版本中xconfig 菜单是基于TCL/TK 的图形库的。
13.在完成内核的裁减之后,内核的编译就只要执行以下几条命令:
make clean 编译内核之前先把环境给清理干净。有时你也可以用make realclean 或make mrproper 来彻底清除相关依赖,保证没有不正确的.o 文件存在。
make dep 编译相关依赖文件make zImage 创建内核镜像文件
make modules 创建内核模块,若不创建内核模块,这步可以不要。
make install 把相关文件拷贝到默认的目录。在给嵌入式设备编译时这步可以不要。因为具体的内核安装还需要你手工进行。
14.何为虚拟内存?虚拟内存的管理有何作用?使用虚拟地址寻址整个系统的主存和辅存的方式在现代操作系统中被称为虚拟内存。MMU 便是实现虚拟内存的必要条件。嵌入式处理器如果存在MMU ,由于在MMU具备内存地址映射和寻址功能,操作系统会使用它完成从虚拟地址到物理地址的转换,所有的应用程序只需要使用虚拟地址寻址数据。虚拟内存的管理方法使系统既可以运行体积比物理内存还要大的应用程序,也可以实现“按需调页”策略,既满足了程序的运行速度,又节约了物理内存空间。