出版时间:2009-10 出版社:北京航空航天大学出版社 作者:任哲 页数:277
Tag标签:无
前言
时间过得真快,自本书第1版出版转眼已有4年。当得知要出第2版时,心里很高兴,既因为有越来越多的人加入了嵌入式系统研究和应用的行列,也因为拙作确实为嵌入式系统初学者提供了一些帮助。自本书第1版出版,作者陆续收到了很多读者的来信。这些来信除了褒奖和鼓励之外,也提出了一些问题。对于其中具有普遍性的问题,作者借此机会谈一谈自己的认识和看法,同时也介绍第2版内容上的变化。1. 学习μC/OSII,除了需要C语言之外还需要什么基础知识?目前,大多数操作系统都用C语言编写,所以在一定程度上掌握C语言是学习μC/OSII的必要基础。但要注意,因为操作系统毕竟是底层软件,所以还需要读者具有一定的汇编语言及一些数据结构的基础知识。当然,读者具有一定操作系统理论基础就更好。另外,从第1版读者的来信中看到,虽然有很多人具有一定的C语言基础,乃至一定的程序设计能力,但由于他们所设计的程序都比较小,尚未构成一个工程,所以都比较欠缺有关工程文件管理的相关知识(这可能是大多数在校学生的一个普遍问题)。为了方便读者的学习,第2版特别增加了一章(第2章)内容来介绍工程文件管理中经常要使用的工具make.exe 和make file文件的相关知识。2. 能否介绍一些学习嵌入式操作系统的方法?其实,学习嵌入式操作系统与学习其他操作系统没有什么区别,因为它们都是具有相同功能的系统软件,只不过根据应用特点,嵌入式系统在要求和设计上有一些特点。例如,嵌入式系统比较讲究效率,要有较强的可裁剪性;对于实时系统来说,嵌入式系统还有一些与通用操作系统不同的算法,等等。但从学习方法的角度来看,学习嵌入式操作系统并没有什么特别之处,大概也就是以下几点:由于操作系统是一种管理软件,它与人们在生活中使用各种表格、证件(也是一种表格)对事物进行管理的方式没有什么不同,也要用到大量类似的管理用表。操作系统中,这些管理用表就是一些数据结构(例如链表、队列、位图、结构、数组等),所以,学习操作系统的关键就是首先了解它的数据结构。一旦了解了它们,那么对于系统也就有了总体的把握。 对于μC/OSII这种规模比较小且源码开放的系统来说,按照自己的想法对它进行修改,然后通过实验来学习是一种极其有效的方法。特别是在有了μC/OSII基础后,在学习某些大型操作系统(如Linux)的过程中,按照这些大型系统的做法对μC/OSII做一些扩展,会使得学习效果更好。3. μC/OSII、Linux、Windows CE、Vx Works等都是嵌入式操作系统,难道都要学吗?如果要学,那么应该学习哪一个?这是读者问得最多、也最难回答的一个问题。作者认为,如果读者的学习目的是要真正了解操作系统的内核及其工作原理,那么就学习源码开放的μC/OSII和Linux;如果只是应用,那么就是工程项目要求用哪个操系统就学习哪个操作系统。但作为学生,或者是想真正成为一个嵌入式系统设计者,那么必须学习μC/OSII和Linux。4. 据说现在人们都学习和使用Linux,那么学习μC/OSII有意义吗?现在确实有很多嵌入式系统在使用Linux,之所以如此,其主要原因就在于它是源码开放的系统,加之它确实是一个很优秀的操作系统,所以真正研究嵌入式系统的人必须学习Linux。但Linux相当庞大,对于没有一定基础的人来说,直接学习Linux会遇到很大的困难。所以,先通过μC/OSII的学习来奠定一定的基础,再去学习Linux就会有事半功倍的效果。5. μC/OSII版本变化很快,对于学习者来说,是否需要学习它的最新版本?这是一个见仁见智的问题。的确,源码开放的操作系统都有版本变化快速的特点,以至于一个版本还未熟悉,一个新的版本又出来了。另外,与通用操作系统相比,μC/OSII很有些另类,这也就是它的信息量相当大,如果读者能不断地对它进行品味,将会在不同的学习阶段有不同的体会。参加本书编写的有任哲、赵洪玉和房红征,全书由任哲统稿。由于作者水平有限,书中难免存在不足乃至错误,希望读者在发现错误时能及时来信联系。本书例题代码可到北京航空航天大学出版社网站的下载中心去下载。
内容概要
μC/OS-Ⅱ是一个源码开放的嵌入式实时操作系统的内核。本书详细地介绍了嵌入式实时操作系统μC/OS-Ⅱ内核的任务管理和调度、系统时钟和节拍服务、时间管理、中断、任务的通信和同步、内存的简单管理原理,同时给出了大量的实例以帮助读者学习和理解。最后,还介绍了μC/OS-Ⅱ的移植方法。 本书可作为高等院校计算机、电子技术、自动化技术、仪器仪表等相关专业的教材,也可供对嵌入式操作系统感兴趣的工程技术人员参考。
书籍目录
第1章 嵌入式实时操作系统的基本概念 1.1 计算机操作系统 1.1.1 什么是计算机操作系统 1.1.2 操作系统的作用和功能 1.2 嵌入式系统和嵌入式操作系统 1.2.1 嵌入式系统的基本概念 1.2.2 嵌入式操作系统 1.2.3 实时操作系统需要满足的条件 1.2.4 嵌入式系统的任务及嵌入式实时操作系统 1.3 嵌入式实时操作系统μC/OS-Ⅱ简介 1.4 小结 1.5 练习题第2章 预备知识 2.1 开发工具 2.1.1 BorlandC3.1及其精简版 2.1.2 多文件程序的编译和连接 2.2 工程管理工具make及makefile 2.3 复杂工程项目的管理 2.3.1 批处理文件与makefile的综合使用 2.3.2 复杂工程管理示例 2.4 常用数据结构 2.4.1 程序控制块 2.4.2 控制块的组织~链表 2.4.3 位图 2.5 小结 2.6 练习题第3章 μC/OS-Ⅱ中的任务 3.1 任务的基本概念 3.1.1 任务及其内存结构 3.1.2 任务的状态 3.1.3 用户任务代码的一般结构 3.1.4 系统任务 3.1.5 任务的优先权及优先级别 3.2 任务堆栈 3.2.1 任务堆栈的创建 3.2.2 任务堆栈的初始化 3.3 任务控制块及其链表 3.3.1 任务控制块结构 3.3.2 任务控制块链表 3.3.3 任务控制块的初始化 3.4 任务就绪表及任务调度 3.4.1 任务就绪表结构 3.4.2 对任务就绪表的操作 3.4.3 任务调度 3.5 任务的创建 3.5.1 用函数OSTaskCreate()创建任务 3.5.2 用函数OSTaskCreateExt()创建任务 3.5.3 创建任务的一般方法 3.6 任务的挂起和恢复 3.6.1 挂起任务 3.6.2 恢复任务 3.7 其他任务管理函数 3.7.1 任务优先级别的修改 3.7.2 任务的删除 3.7.3 查询任务的信息 3.8 μC/OS-Ⅱ的初始化和任务的启动 3.8.1 μC/OS-Ⅱ的初始化 3.8.2 μC/OS-Ⅱ的启动 3.9 小结 3.10 练习题第4章 μC/OS-Ⅱ的中断和时钟 4.1 μC/OS-Ⅱ的中断 4.1.1 μC/OS-Ⅱ的中断过程 4.1.2 中断级任务切换函数 4.1.3 应用程序中的临界段 4.2 μC/OS-Ⅱ的时钟 4.3 时间管理 4.3.1 任务的延时 4.3.2 取消任务的延时 4.3.3 获取和设置系统时问 4.4 小结 4.5 练习题第5章 任务的同步与通信 5.1 任务的同步和事件 5.1.1 任务间的同步 5.1.2 事件 5.2 事件控制块及事件处理函数 5.2.1 事件控制块的结构 5.2.2 操作事件控制块的函数 5.2.3 空事件控制块链表 5.3 信号量及其操作 5.3.1 信号量 5.3.2 信号量的操作 5.4 互斥型信号量和任务优先级反转 5.4.1 任务优先级的反转现象 5.4.2 互斥型信号量 5.5 消息邮箱及其操作 5.5.1 消息邮箱 5.5.2 消息邮箱的操作 5.6 消息队列及其操作 5.6.1 消息队列 5.6.2 消息队列的操作 5.7 小结 5.8 练习题第6章 信号量集 6.1 信号量集的结构 ……第7章 动态内存管理第8章 在51单片机上移植μC/OS-Ⅱ第9章 基于ARM的μC/OS-Ⅱ第10章 μC/OS-Ⅱ在80x86上的移植第11章 μC/OS-Ⅱ可剪裁性的实现附录A 文件PC.C中的函数附录B μC/OS-Ⅱ中使用的数据类型附录C C51开发工具μVision 2简介参考文献
章节摘录
插图:第1章嵌入式实时操作系统的基本概念操作系统(Operating System.OS)是一种系统软件。它在计算机硬件与计算机应用程序之间,通过提供应用程序接口(Application Programming Interface,API),屏蔽了计算机硬件工作的一些细节,从而使应用程序的设计人员得以在一个友好的平台上进行应用程序的设计和开发,大大提高了应用程序的开发效率。嵌入式系统作为一种计算机系统,当然也需要一个合适的操作系统的支持,这种应用于嵌入式系统中的挺作系统就叫做嵌入式操作系统。本章的主要内容有:●计算机操作系统的基本概念;●嵌入式系统的基本概念;●实时操作系统的概念。1.1 计算机操作系统1.1.1 什么是计算机操作系统众所周知,计算机是一种功能强大的数字运算装置。作为一种装置,它需要由诸如中央微处理器(CPU)、存储器、接口及外部设备等一些实际物理装置来构成。这些构成计算机的实际物理装置,就是计算机的硬件系统。只由硬件构成的计算机叫做“裸机”。这种“裸机”是不能工作的.计算机必须在硬件的基础上配以相应的软件才能构成真正的计算机系统.才能完成人们所交付的各种计算任务。如果用人来做比喻的话,计算机的硬件就相当于人的骨骼、肌肉等看得见摸得着的实体,而计算机的软件就相当于人头脑中存储的思想.、方法等看不见摸不着的东西。显然,没有思想的人不能叫做一个“活人”,或者不能叫做一个“真正的人”,这样的人是什么工作也做不了的。
编辑推荐
《嵌入式实时操作系统μC/OS-II原理及应用(第2版)》:高等院校通用教材
图书封面
图书标签Tags
无
评论、评分、阅读与下载
嵌入式实时操作系统μC/OS-II原理及应用 PDF格式下载