嵌入式linux实时操作系统及应用编程代码与答案

上传人:mg****85 文档编号:37207195 上传时间:2018-04-08 格式:DOC 页数:58 大小:492KB
返回 下载 相关 举报
嵌入式linux实时操作系统及应用编程代码与答案_第1页
第1页 / 共58页
嵌入式linux实时操作系统及应用编程代码与答案_第2页
第2页 / 共58页
嵌入式linux实时操作系统及应用编程代码与答案_第3页
第3页 / 共58页
嵌入式linux实时操作系统及应用编程代码与答案_第4页
第4页 / 共58页
嵌入式linux实时操作系统及应用编程代码与答案_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《嵌入式linux实时操作系统及应用编程代码与答案》由会员分享,可在线阅读,更多相关《嵌入式linux实时操作系统及应用编程代码与答案(58页珍藏版)》请在金锄头文库上搜索。

1、嵌入式 Linux 实时操作系统及应用编程嵌入式 Linux 实时操作系统及应用编程嵌入式 Linux 实时操作系统及应用编程嵌入式 Linux 实时操作系统及应用编程附录附录 A 习题参考答案习题参考答案嵌入式 Linux 实时操作系统及应用编程第 1 章1嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的 应用软件与系统的硬件一体化,类似与 BIOS 的工作方式。具有软件代码小,高度自动化, 响应速度快等特点。特别适合于要求实时的和多任务的体系。根据 IEEE(国际电气和电子 工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置” (原文为

2、 devices used to control, monitor, or assist the operation of equipment, machinery or plants) 。简单地讲就是嵌入到对象体中的专用计算机系统。 嵌入式系统一般有 3 个主要的组成部分:硬件、实时操作系统以及应用软件。 硬件:包括处理器、存储器(ROM、RAM) 、输入输出设备、其他部分辅助系统等。 实时操作系统(Real-Time Operating System,RTOS):用于管理应用软件,并提供一 种机制,使得处理器分时地执行各个任务并完成一定的时限要求 。 应用软件:实现具体业务逻辑功能。2嵌入

3、式系统的三要素是嵌入、专用、计算机;其中嵌入性指的是嵌入到对象体系中,有 对象环境要求;专用性是指软、硬件按对象要求裁减;计算机指实现对象的智能化功能。广 义地说一个嵌入式系统就是一个具有特定功能或用途的计算机软硬件集合体。即以应用为中 心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、 功耗严格要求的专用计算机系统 。3嵌入式实时操作系统(Real-Time Operating System,RTOS)是指操作系统本身要能在一 个固定时限内对程序调用(或外部事件)做出正确的反应,亦即对时序与稳定性的要求十分 严格。 目前国际较为知名的有:VxWorks、Neut

4、rinoRTOS、Nucleus Plus、 OS/9、VRTX、LynuxOS,RTLinux、BlueCat RT 等。图 1.1 嵌入式系统三个组成部分4嵌入式系统一般由硬件层、中间层、软件层和功能层组成。其作用分别如下:(1)硬件层)硬件层 :由嵌入式微处理器、外围电路和外设组成。外围电路有:电源电路、复位电路、调试接口和存储器电路,就构成一个嵌入式核心控制模块。操作系统和应用程序都可以固化在 ROM 或者 Flash 中。为方便使用,有的模块在此基础上 增加了 LCD、键盘、USB 接口,以及其他一些功能的扩展电路。(2)中间层)中间层 :硬件层与软件层之间为中间层,也称为 BSP(

5、Board Support Package,板级支持包) 。作用:将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关; 功能:一般应具有相关硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。 BSP 是主板硬件环境和操作系统的中间接口,是软件平台中具有硬件依赖性的那一部分,主 要目的是为了支持操作系统,使之能够更好地运行于硬件主板上。(3)软件层)软件层 :主要是操作系统,有的还包括文件系统、图形用户接口和网络系统等。操作系统是一个标准的内核,将中断、I/O、定时器等资源都封装起来,以方便用户使用。(4)功能层)功能层 :由基于操作系统开发的应用程序组成,用来完成对被控

6、对象的控制功能。功能层是面向被控对象和用户的,为了方便用户操作,往往需要具有友好的人机界面。5非占先式调度法也称作合作型多任务(cooperative multitasking) ,各个任务彼此合作共享 一个 CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后 控制权还是回到原来被中断了的那个任务,直到该任务主动放弃 CPU 的使用权时,那个高 优先级的任务才能获得 CPU 的使用权。当系统响应时间很重要时,要使用占先式 (preemptive)内核。最高优先级的任务一旦就绪,总能得到 CPU 的控制权。当一个运行着 的任务使一个比它优先级高的任务进入了就绪态,当前

7、任务的 CPU 使用权就被剥夺了,或 者说被挂起了,那个高优先级的任务立刻得到了 CPU 的控制权。6在实时系统中,如果系统在指定的时间内未能实现某个确定的任务,会导致系统的全面 失败,这样的系统被称为强实时系统或硬实时系统。强实时系统响应时间一般在毫秒或微秒 级。在弱实时系统中,虽然响应时间同样重要,但是超时却不会发生致命的错误。其系统响 应时间在毫秒至秒的数量级上,其实时性的要求比强实时系统要差一些。7嵌入式系统的设计步骤及各部分的主要工作如下。 (1)需求分析阶段,罗列出用户的需求; (2)体系结构设计阶段,描述系统的功能如何实现; (3)详细设计阶段,进行硬件系统与软件系统的分类划分,

8、以决定哪些功能用硬件实现, 哪些用软件实现; (4)系统集成,把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进在设 计过程中的错误; (5)系统测试,对设计好的系统进行测试,看其是否满足给定的要求。 8Linux 作为嵌入式操作系统的优势主要有以下几点: (1)可应用于多种硬件平台。Linux 已经被移植到多种硬件平台,这对于经费,时间受 限制的研究与开发项目是很有吸引力的。原型可以在标准平台上开发后移植到 具体的硬件 上,加快了软件与硬件的开发过程。Linux 采用一个统一的框架对硬件进行管理,从一个硬 件平台到另一个硬件平台的改动与上层应用无关。 (2)Linux 的高度模块化

9、使添加部件非常容易。本身内置网络支持,而目前嵌入式系统 对网络支持要求越来越高。 (3)Linux 是一个和 Unix 相似、以内核为基础的、具有完全的内存访问控制,支持大 量硬件(包括 X86,Alpha、ARM 和 Motorola 等现有的大 部分芯片)等特性的一种通用操作 系统。 (4)Linux 可以随意地配置,不需要任何的许可证或商家的合作关系。其程序源码全部 公开,任何人可以修改并在 GUN 通用公共许可证(GNU General Public License)下发行。这样, 开发人员可以对操作系统进行定制,适应其特殊需要。 (5)Linux 带有 Unix 用户熟悉的完善的开发

10、工具,几乎所有的 Unix 系统的应用软件都 已移植到了 Linux 上。其强大的语言编译器 GCC,C+等也可以很容易得到,不但成熟完善, 而且使用方便。9 (参考答案)Linux 执行进程调度一般是在以下情况发生的: (1)正在执行的进程运行完毕; (2)正在执行的进程调用阻塞原语将自己阻塞起来进入等待状态; (3)正在执行的进程调用了 P 原语操作,从而因资源不足而被阻塞;或调用了 V 原语操作 激活了等待资源的进程队列; (4)执行中的进程提出 I/O 请求后被阻塞; (5)系统分配的时间片已经用完; 以上都是 CPU 为不可剥夺方式下的引起进程调度的原因。在 CPU 方式是可剥夺时,

11、还有下 面的原因: (6)就绪队列中的某个进程的优先级变得高于当前运行进程的优先级,从而也将引起进程 调度。嵌入式 Linux 实时操作系统及应用编程第第 2 2 章章 一.填空题:1、改变目录位置至用户的工作目录2、改变目录位置至相对路径 user 的目录下 3、查看当前目录下的文件 4、查看文件.bash_profile 的内容 5、分页查看 inittab 文件内容 6、将目录/tmp 下的文件 file1 复制到当前目录下,文件名为 f i l e 27、将文件file1移到目录dir1 下,文件名仍为file18、建立一新目录d i r 19、删除目录dir1,但dir1 下必须没有

12、文件存在,否则无法删除10、删除文件名中有五个字符且前四个字符为file 的所有文件11、文件 config 的内容依次显示到屏幕上12、以分页方式查看文件名file1 的内容13、以分页方式查看文件名file1 的内容14、显示目录dir1 的总容量15、对于目录d i r 1,设定成任何使用者皆有读取及执行的权利,但只有所有者可做修改16、对于文件f i l e 1,设定只有所有者可以读、写和执行的权利。17、将文件file4 链接至文件f i l e 3。18、寻找文件f i l e 1中包含字符串abc 所在行的文本内容。19、自根目录下寻找文件file1 的路径。20、比较目录dir

13、1 与dir2 内各文件的不同之处。二、单项选择题1.A 2.B 3.D 4.C 5.B 6.C 7.A 8.C 9.D 10.B 11.A 12.D 13.D 14.B 15.B 16.B 17.A 18.D 19.B 20.B嵌入式 Linux 实时操作系统及应用编程第第 3 3 章章一.填空题:1 next 2命令模式 3预处理、编译、汇编和连接4. step next 5. 末行模式 6.预处理 链接7.汇编8. w test.txt 二、综合题1参考答案:pr1: prog.o subr.o gcc o pr1 prog.o subr.o prog.o: prog.c prog.h

14、gcc c o prog.o prog.c subr.o: subr.c subr.h gcc c o subr.o subr.c2. (1) hello: main.o list.o symbol.o table.ogcc -o prog main.o list.o symbol.o table.omain.o: main.c table.h symbol.h list.hgcc -c -o main.o main.clist.o: list.c list.hgcc -c -o list.o list.csymbol.o: symbol.c symbol.hgcc -c -o symbol.

15、o symbol.ctable.o: table.c table.h symbol.h list.h gcc -c -o table.o table.cclean: rm hello *.o(2) mount t nfs o noclock 192.168.0.10:/home/armtest/hello /mnt3. hello.c: # include # include # include # include “hello.h“ int main (int argc,char *argv) printf(“Hello World!n“);message();return 0; hello

16、.h: void message(void); message.c: # include void message (void)printf(“This is a message!n“); 三选择题1 C 2 A 3 B 4 B 5 B 6 C 7 C 8. D 9 D 10 A 11 A嵌入式 Linux 实时操作系统及应用编程第第 4 4 章章一选择题 1. A 2 C 3 D 4. D 5. C 6 B 7 C 8. A 9. D 10. D 11D 12D 13D 14B 15 D 16B 17A 18C 19C 20C 二.简答题1、Linux 内核的编译菜单有好几个版本,运行: (1)make config:进入命令行,可以一行一行的配置,但使用不十分方

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号