2021-07-16 22:23:32 星期五 ##一、裸机系统与多任务系统 裸机系统 轮询系统 在裸机编程时先初始化好相关的硬件,然后让主程序在一个死循环里面不断循环,顺序地做各种事情,实时性差。 前后台系统 在轮询系统的基础上加入了中断。外部事件的响应在中断里完成,事件的处理仍然回到轮询系统中完 Read More
2021-07-22 11:04:30 星期四 ##五、时间戳 ####什么是时间戳? 时间戳实际上就是一个时间点。 在操作系统中,代码加入了时间测量的功能,比如任务关中断时间,关调度器时间等。 知道了代码的运行时间便可知道该代码的执行效率。 在代码运行前记录一个时间点start,在代码运行完记录一 Read More
2021-07-27 18:07:03 星期二 ##十一、任务的挂起和恢复 让OS的任务支持挂起和恢复的功能,挂起就相当于暂停,暂停后任务从就绪列表中移除,恢复即重新将任务插入就绪列表。一个任务挂起多少次就要恢复多少次才能重新运行。 ###1、定义任务的状态 在任务实现挂起和恢复的时候,要根据任务的 Read More
2021-07-24 10:04:51 星期六 ##九、实现时基列表 ###什么是时基列表 时基列表是与时间相关的,处于延时的任务和等待事件有超时限制的任务都会从就绪列表中移除,然后插入时基列表。 时基列表在OSTimeTIck中更新,如果任务的延时时间结束或者超时到期, 就会让任务就绪,从时基列表 Read More
2021-07-23 09:40:45 星期五 ##七、就绪列表 在μC/OS-III中,任务被创建后,任务的TCB会被放入就绪列表中,表示任务在就绪,随时可能被运行。 就绪列表包含一个表示任务优先级的优先级表,一个存储任务TCB的TCB双向链表。 ###1、优先级表 优先级表在代码层面上来看,就是 Read More