论文部分内容阅读
操作系统技术历来就是计算机系统的核心技术,不管是在大型的服务器系统,还是在家用PC机系统,都可以看出操作系统在计算机领域的地位。最近几年,在大型计算机系统进入相对成熟阶段后,小型实时嵌入式计算机系统迅速发展。在实时嵌入式领域内,操作系统也处于核心地位。虽然基于大型计算机系统的操作系统理论可以解决大部分实时嵌入式系统的问题,但实时嵌入式系统有其特殊性,应该引入新的理论或者改进的方法来满足这些特殊要求。
本课题的主要任务是结合当前的操作系统理论,研究并实现一个实时嵌入式操作系统内核原型,并在ARM7TDMI核的S3C44BOX芯片上运行。这个内核原型主要包括以下的5个部分:
1.内存管理,内存管理是操作系统内核提供的基本功能之一,在实时嵌入式系统中,内存利用率和实时性是评估该部分的主要因素。在内存管理实现中,本课题在基于常用的伙伴系统方式的基础上,对该方法进行了改进。该方法在将内存块由2的倍数大小改进成任意大小的基础上,使得该内存管理方式在保证伙伴系统方式的实时性和简单性的同时,显著提高了内存的利用率。
2.任务管理,该部分实现了所有实时内核必须支持的抢占特性。该部分的主要算法思想为:内核将所有任务按优先级高低分为64个组,并尽量保证高优先级的任务优先运行,对于同优先级的任务按照时间片的原则调度各个任务。
3.端口管理,这部分主要实现了对处理器中断的管理。为了便于移植,实现中摒弃了向量中断模式。为了支持抢占,高优先级任务可以在处理器中断态下直接抢占当前任务,这减少了内核对实时任务的响应时间。
4.任务互斥、同步与通信管理,该部分主要实现了任务间关系的处理方法,这些方法主要来源于传统操作系统理论,他们包括信号量,共享内存,邮箱和管道等技术。除此之外,还论述了自旋锁机制与事件机制,虽然内核未直接提供对它们的支持,但说明了利用当前内核中所实现的机制如何实现这两种机制。
5.内核移植与驱动,这部分主要将内核移植到ARM7TDMI核的S3C44BOX处理器,并利用内核提供的各种功能实现了串口驱动程序。