一、多任务处理
内核是操作系统的核心组件。Linux 等通用操作系统采用的内核 允许多个用户看似同时访问计算机的处理器。这些用户可以各自执行多个程序,看起来像是并发运行。
每个执行的程序由操作系统控制下的一个或多个线程实现。如果操作系统能够以这种方式执行多个线程,则称为多任务处理。 像 FreeRTOS 这样的小型 RTOS 通常将线程称为任务,因为它们不支持虚拟内存,因此进程和线程之间没有区别。
使用多任务操作系统可以简化原本复杂的软件应用程序的设计:
- 操作系统的多任务处理和任务间通信功能允许将复杂的应用程序 划分为一组更小且更易于管理的任务。
- 这种划分可以简化软件测试,确保团队分工明确,并促进代码复用。
- 复杂的时序和排序细节将由 RTOS 内核负责,从而减轻了应用程序代码的负担。
二、多任务处理与并发
常规单核处理器一次只能执行一个任务,但多任务操作系统可以快速切换任务, 使所有任务看起来像是同时在执行。下图展示了 三个任务相对于时间的执行模式。任务名称用不同颜色标示,并写在左侧。时间从左向右移动, 彩色线条显示在特定时间执行的任务。上方展示了所感知的并发执行模式, 下方展示了实际的多任务执行模式。

三、调度
调度器是内核中负责决定在特定时间应执行什么任务的部分。内核 可以在任务的生命周期内多次暂停并恢复该任务。 如果任务 B 取代任务 A 成为当前执行的任务 (即任务 A 暂停,任务 B 恢复),我们就可以称任务 A “换出”,任务 B “换入

最低0.47元/天 解锁文章
2898

被折叠的 条评论
为什么被折叠?



