嵌入式Linux实时操作系统及应用编程代码与复习资料.docx
《嵌入式Linux实时操作系统及应用编程代码与复习资料.docx》由会员分享,可在线阅读,更多相关《嵌入式Linux实时操作系统及应用编程代码与复习资料.docx(99页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、嵌入式Linux实时操作系统及应用编程嵌入式Linux实时操作系统及应用编程嵌入式Linux实时操作系统及应用编程嵌入式Linux实时操作系统及应用编程附录A 习题参考答案嵌入式Linux实时操作系统及应用编程第1章1嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简洁的说就是系统的应用软件及系统的硬件一体化,类似及BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特殊合适于要务实时的和多任务的体系。依据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于限制、监视或者协助操作机器和设备的装置”(原文为devices used to control, mon
2、itor, or assist the operation of equipment, machinery or plants)。简洁地讲就是嵌入到对象体中的专用计算机系统。嵌入式系统一般有3个主要的组成部分:硬件、实时操作系统以及应用软件。图1.1 嵌入式系统三个组成部分硬件:包括处理器、存储器(ROM、RAM)、输入输出设备、其他部分协助系统等。实时操作系统(Real-Time Operating System,RTOS):用于管理应用软件,并供应一种机制,使得处理器分时地执行各个任务并完成肯定的时限要求。应用软件:实现具体业务逻辑功能。2嵌入式系统的三要素是嵌入、专用、计算机;其中嵌入性
3、指的是嵌入到对象体系中,有对象环境要求;专用性是指软、硬件按对象要求裁减;计算机指实现对象的智能化功能。广义地说一个嵌入式系统就是一个具有特定功能或用处的计算机软硬件集合体。即以应用为中心、以计算机技术为根底、软件硬件可裁剪、适应应用系统对功能、牢靠性、本钱、体积、功耗严格要求的专用计算机系统 。3嵌入式实时操作系统(Real-Time Operating System,RTOS)是指操作系统本身要能在一个固定时限内对程序调用(或外部事务)做出正确的反响,亦即对时序及稳定性的要求特别严格。目前国际较为知名的有:VxWorks、NeutrinoRTOS、Nucleus Plus、 OS/9、VR
4、TX、LynuxOS,RTLinux、BlueCat RT等。4嵌入式系统一般由硬件层、中间层、软件层和功能层组成。其作用分别如下:(1)硬件层 :由嵌入式微处理器、外围电路和外设组成。外围电路有:电源电路、复位电路、调试接口和存储器电路,就构成一个嵌入式核心限制模块。操作系统和应用程序都可以固化在ROM或者Flash中。为便利运用,有的模块在此根底上增加了LCD、键盘、USB接口,以及其他一些功能的扩展电路。(2)中间层 :硬件层及软件层之间为中间层,也称为BSP(Board Support Package,板级支持包)。作用:将系统软件及底层硬件部分隔离,使得系统的底层设备驱动程序及硬件无
5、关;功能:一般应具有相关硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。BSP是主板硬件环境和操作系统的中间接口,是软件平台中具有硬件依靠性的那一部分,主要目的是为了支持操作系统,使之可以更好地运行于硬件主板上。(3)软件层 :主要是操作系统,有的还包括文件系统、图形用户接口和网络系统等。操作系统是一个标准的内核,将中断、I/O、定时器等资源都封装起来,以便利用户运用。(4)功能层 :由基于操作系统开发的应用程序组成,用来完成对被控对象的限制功能。功能层是面对被控对象和用户的,为了便利用户操作,往往须要具有友好的人机界面。5非占先式调度法也称作合作型多任务(cooperative m
6、ultitasking),各个任务彼此合作共享一个CPU。中断效劳可以使一个高优先级的任务由挂起状态变为就绪状态。但中断效劳以后限制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的运用权时,那个高优先级的任务才能获得CPU的运用权。当系统响应时间很重要时,要运用占先式(preemptive)内核。最高优先级的任务一旦就绪,总能得到CPU的限制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU运用权就被剥夺了,或者说被挂起了,那个高优先级的任务立即得到了CPU的限制权。6在实时系统中,假如系统在指定的时间内未能实现某个确定的任务,会导致系统的全面失败,这样的
7、系统被称为强实时系统或硬实时系统。强实时系统响应时间一般在毫秒或微秒级。在弱实时系统中,虽然响应时间同样重要,但是超时却不会发生致命的错误。其系统响应时间在毫秒至秒的数量级上,其实时性的要求比强实时系统要差一些。7嵌入式系统的设计步骤及各部分的主要工作如下。(1)需求分析阶段,罗列出用户的需求;(2)体系构造设计阶段,描绘系统的功能如何实现;(3)具体设计阶段,进展硬件系统及软件系统的分类划分,以确定哪些功能用硬件实现,哪些用软件实现;(4)系统集成,把系统的软件、硬件和执行装置集成在一起,进展调试,发觉并改良在设计过程中的错误;(5)系统测试,对设计好的系统进展测试,看其是否满意给定的要求。
8、8Linux作为嵌入式操作系统的优势主要有以下几点: (1)可应用于多种硬件平台。Linux已经被移植到多种硬件平台,这对于经费,时间受限制的探讨及开发工程是很有吸引力的。原型可以在标准平台上开发后移植到 具体的硬件上,加快了软件及硬件的开发过程。Linux采纳一个统一的框架对硬件进展管理,从一个硬件平台到另一个硬件平台的改动及上层应用无关。(2)Linux的高度模块化使添加部件特别简洁。本身内置网络支持,而目前嵌入式系统对网络支持要求越来越高。(3)Linux是一个和Unix相像、以内核为根底的、具有完全的内存访问限制,支持大量硬件(包括X86,Alpha、ARM和Motorola等现有的大
9、 部分芯片)等特性的一种通用操作系统。(4)Linux可以随意地配置,不须要任何的答应证或商家的合作关系。其程序源码全部公开,任何人可以修改并在GUN通用公共答应证(GNU General Public License)下发行。这样,开发人员可以对操作系统进展定制,适应其特殊须要。(5)Linux带有Unix用户熟识的完善的开发工具,几乎全部的Unix系统的应用软件都已移植到了Linux上。其强大的语言编译器GCC,C+等也可以很简洁得到,不但成熟完善,而且运用便利。9(参考答案)Linux执行进程调度一般是在以下状况发生的:(1)正在执行的进程运行完毕;(2)正在执行的进程调用堵塞原语将自己
10、堵塞起来进入等待状态;(3)正在执行的进程调用了P原语操作,从而因资源缺乏而被堵塞;或调用了V原语操作激活了等待资源的进程队列;(4)执行中的进程提出I/O恳求后被堵塞;(5)系统安排的时间片已经用完;以上都是CPU为不行剥夺方式下的引起进程调度的缘由。在CPU方式是可剥夺时,还有下面的缘由:(6)就绪队列中的某个进程的优先级变得高于当前运行进程的优先级,从而也将引起进程调度。嵌入式Linux实时操作系统及应用编程第2章 一.填空题:1、变更书目位置至用户的工作书目2、变更书目位置至相对途径user 的书目下3、查看当前书目下的文件 4、查看文件.bash_profile的内容5、分页查看in
11、ittab文件内容6、将书目/tmp 下的文件file1 复制到当前书目下,文件名为f i l e 27、将文件file1移到书目dir1 下,文件名仍为file18、建立一新书目d i r 19、删除书目dir1,但dir1 下必需没有文件存在,否则无法删除10、删除文件名中有五个字符且前四个字符为file 的全部文件11、文件config的内容依次显示到屏幕上12、以分页方式查看文件名file1 的内容13、以分页方式查看文件名file1 的内容14、显示书目dir1 的总容量15、对于书目d i r 1,设定成任何运用者皆有读取及执行的权利,但只有全部者可做修改16、对于文件f i l
12、e 1,设定只有全部者可以读、写和执行的权利。17、将文件file4 链接至文件f i l e 3。18、找寻文件f i l e 1中包含字符串abc 所在行的文本内容。19、自根书目下找寻文件file1 的途径。20、比拟书目dir1 及dir2 内各文件的不同之处。二、单项选择题1.A 2.B 3.D 4.C 5.B 6.C 7.A 8.C 9.D 10.B11.A 12.D 13.D 14.B 15.B 16.B 17.A 18.D 19.B 20.B嵌入式Linux实时操作系统及应用编程第3章一.填空题:1 next2吩咐形式3预处理、编译、汇编和连接4. step next5. 末行
13、形式6.预处理 链接7.汇编8. w test.txt 二、综合题1参考答案:pr1: prog.o subr.ogcc o pr1 prog.o subr.oprog.o: prog.c prog.hgcc c o prog.o prog.csubr.o: subr.csubr.hgcc c o subr.o subr.c2.(1)hello: main.o list.o symbol.o table.o gcc -o prog main.o list.o symbol.o table.omain.o: main.c table.h symbol.h list.h gcc -c -o mai
14、n.o main.clist.o: list.c list.h gcc -c -o list.o list.csymbol.o: symbol.c symbol.h gcc -c -o symbol.o symbol.ctable.o: table.c table.h symbol.h list.hgcc -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 # in
15、clude hello.hint main (int argc,char *argv)printf(Hello World!n);message();return 0;hello.h:void message(void);message.c:# include void message (void)printf(This is a message!n);三选择题1 C2 A3 B 4 B 5B6C 7C8. D 9D10A11A嵌入式Linux实时操作系统及应用编程第4章一选择题1. A2 C 3 D 4. D 5. C 6 B7 C 8. A9. D 10. D 11D12D 13D 14B
16、 15 D16B17A18C19C20C 二.简答题1、Linux 内核的编译菜单有好几个版本,运行:(1)make config:进入吩咐行,可以一行一行的配置,但运用不特别便利。(2)make menuconfig:大多数开发人员运用的Linux 内核编译菜单,运用便利。(3)make xconfig:在2.4.X 以及以前版本中xconfig 菜单是基于TCL/TK 的图形库的。2、在完成内核的裁减之后,内核的编译就只要执行以下几条吩咐:make clean编译内核之前先把环境给清理干净。有时你也可以用makerealclean 或make mrproper 来彻底去除相关依靠,保证没有
17、不正确的.o 文件存在。make dep 编译相关依靠文件make zImage 创立内核镜像文件make modules 创立内核模块,若不创立内核模块,这步可以不要。make install 把相关文件拷贝到默认的书目。在给嵌入式设备编译时这步可以不要。因为具体的内核安装还须要你手工进展。3、此吩咐是装载压缩映像文件zImage到flash存储器中,地址是kernel分区,并采纳xmodem传输协议。4、此吩咐是设置网卡1的地址192.168.1.1,掩码为255.255.255.0,不写netmask参数则默认为255.255.255.0。5、此吩咐将nfs效劳的共享书目sharedir
18、加载到/mnt/nfs。6、此吩咐是装载根文件系统root.cramfs到flash存储器中,地址是根文件系统分区,并采纳xmodem传输协议。7、这个吩咐的操作同时进展了分区和格式化,0128K存放vivi,128K192K存放VIVI限制台指令,192K1216K存放kernel,1216K4288K存放root,其余部分存放应用程序。嵌入式Linux实时操作系统及应用编程第5章一选择题1B2 C3 C 4C5 D 6C二.综合应用题1.Tom is my friendJack is my friendHarry is my friend2.(1)程序注释#!/bin/sh 定义好用的sh
19、ell# /etc/rc.d/rc. d 注释行,但凡以星号开场的行均为注释行。# Start/stop/restart the Apache web server.# To make Apache start automatically at boot, make this # : chmod 755 /etc/rc.d/rc. dcase $1 in #case构造开场,推断“位置参数”确定执行的操作。本程序携带一个“位置参数”,即$1start) #若位置参数为start/usr/sbin/apachectl start ; #启动 d进程stop) #若位置参数为stop/usr/sb
20、in/apachectl stop ; #关闭 d进程restart) #若位置参数为stop/usr/sbin/apachectl restart ; #重新启动 d进程*) #若位置参数不是start、stop或restart时echo usage $0 start|stop|restart ; #显示吩咐提示信息:程序的调用方法esac #case构造完毕(2)程序的功能是启动,停顿或重新启动 d进程(3)程序的调用方式有三种:启动,停顿和重新启动。3.#!/bin/shecho “Input :”read if -c $ thencp $ /devfi4.#/bin/bashtypes
21、et first secondread -p Input the first number: firstread -p Input the second number: secondresult=$first+$secondecho result is : $resultexit 05、#!/bin/shi=1while i -le 50 doif -d /userdata ;thenmkdir -p /userdata/user$ichmod 754 /userdata/user$iecho user$ilet i = i + 1 (或i=$($i1)elsemkdir /userdatam
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 实时 操作系统 应用 编程 代码 复习资料
限制150内