第二版序言
第二版前言
本书的前版-《自己动手写嵌入式操作系统》,是基于Hello China V1.0的实现完成的,而本书,则是基于China V1.5版本完成的。相对于V1.0版本,V1.5版本做了如下的改进或增强:
1、对于V1.0的核心线程调度程序做了修改,修改为严格基于优先级的调度方式,这样符合嵌入式系统的应用;
2、对于V1.0的线程切换方式做了改进,V1.5的线程切换方式更加简洁、高效;
3、对核心线程的调度时机做了增强。在V1.5的实现中,在任何可能的时机,都进行一个线程重调度操作,以最大可能的缩短高优先级线程的等待时间。而V1.0的实现中,则只是在系统时钟中断后才会调度核心线程;
4、对系统同步对象(如事件对象、MUTEX对象等)的实现做了增强,增加了安全删除、超时等待、递归等待、状态探测等功能;
5、增加了核心线程的CPU利用率统计功能;
6、增加了系统回调机制,使得V1.5版本可很容易支持浮点运算;
7、实现了一个基于COM接口的通信程序,可模拟一个超级终端;
8、对一些系统核心对象的实现做了加强,使得可支持多CPU构架(SMP);
9、对代码的组织结构做了完善,并优化了注释。
总之,如果说V1.0版本仅仅是一个嵌入式操作系统的demo的话,那么V1.5版本就是一个可实际使用的嵌入式操作系统内核了。作者是从事电信网络工作的,曾经用V1.5附带的超级终端小程序,完成了一台高端路由器的配置:-)。
本书就是基于V1.5的实现完成的,相对本书的第一版,本书除了对V1.5的新功能做了详细的描述外,还在下列地方做了改进:
1、更改了原书代码中的一些纰漏;
2、对源代码的分发方式,也特别通过附加光盘的形式发行。
很多第一版的读者,给作者反馈了宝贵的修改意见,在此表示感谢。同时再次感谢电子工业出版社的同仁们给予的支持和帮助。作者特地在CSDN上神情了一个blog,本书读者或其他对Hello China感兴趣的朋友,可登陆上去探讨技术问题。该blog的地址是:http://blog.csdn.net/hellochina15/
另,与第一版一样,本书所得稿费的一半,仍将用于支援贫困山区的失学儿童。
作者
2007年12月 于杭州