嵌入式操作系统内核原理和开发(实时调度).docVIP

  • 3
  • 0
  • 约7.27万字
  • 约 8页
  • 2017-01-02 发布于贵州
  • 举报

 嵌入式操作系统内核原理和开发(实时调度).doc

嵌入式操作系统内核原理和开发(实时调度) 和很多通用的操作系统相比, 实时操作系统有自己的一个特点,那就是实时调度。通用操作系统的线程优先级一般是可以变化的,而实时系统的线程优先级却是不变的。之所以这么设计,是为了保证高优先级的任务在第一时间获得调度,这样才能保证调度的实时性。因为实时系统是严格按照优先级搞定调度的,所以不管什么时候,我们只要寻找到最高优先级的任务即可。 rawos系统可以支持256个优先级,对任务的创建个数也没有限制,所以就会出现多个任务共享一个优先级的情况。因此系统本身对同优先级的任务分配了定额的时间片,一旦该任务时间片用完,就会被放到优先级的末尾,直到获得下一次的调度机会,下面的代码就说明了这一情况,它是在时钟中断的时候被调度的, [cpp] view plaincopy void caculate_time_slice() { RAW_TASK_OBJ *task_ptr; LIST *head; RAW_SR_ALLOC(); task_ptr = raw_task_active; head = raw_ready_queue.task_ready_list[task_ptr-priority]; RAW_CRITICAL_ENT

文档评论(0)

1亿VIP精品文档

相关文档