在RTOS中,线程与调度是两个Zui重要概念,本节首先阐述这两个概念,然后给出RTOS的其他相关术语,简单地分为内核类与线程类的相关术语,理解这些基本概念是学习RTOS的关键一环。这里的内核是指RTOS的核心部分,是RTOS厂家提供的程序,而线程则是指应用程序设计者编制的程序,它在内核的调度下运行。
线程与调度是RTOS中两个不可分割的重要的基本概念,透彻地理解它们,对RTOS的学习至关重要。
1.线程的基本含义
线程是RTOS中Zui重要的概念之一。在RTOS下,把一个复杂的嵌入式应用工程按一定规则分解成一个个功能清晰的小工程,然后设定各个小工程的运行规则,交给RTOS管理,这就是基于RTOS编程的基本思想。这一个个小工程被称为线程(Thread),RTOS管理这些线程,被称为调度(Scheduling)。
要给RTOS中的线程下一个准确而完整的定义并不十分容易,可以从不同视角理解线程。从线程调度视角理解,可以认为,RTOS中的线程是一个功能清晰的小程序,是RTOS调度的基本单元;从RTOS的软件设计视角来理解,就是在软件设计时,需要根据具体应用,划分出独立的、相互作用的程序集合,这样的程序集合就被称为线程,每个线程都被赋予一定的优先级;从CPU视角理解,在单CPU下,某一时刻CPU只会处理(执行)一个线程,或者说只有一个线程占用CPU。RTOS内核的关键功能就是以合理的方式为系统中的每个线程分配时间(即调度),使之得以运行。
实际上,根据特定的RTOS,线程可能被称为任务(Task),也可能使用其他名词,含义或许稍有差异,但本质不变,也不必花过多精力追究其jingque语义,因为学习RTOS的关键在于掌握线程设计方法、理解调度过程、提高编程鲁棒性、理解底层驱动原理、提高程序规范性、可移植性与可复用性、提高嵌入式系统的实际开发能力等。要真正理解与掌握利用线程进行基于RTOS的嵌入式软件开发,需要从线程的状态、结构、优先级、调度、同步等视角来认识,将在后续章节中详细阐述。
2.调度的基本含义
多线程系统中,RTOS内核(Kernel)负责管理线程,或者说为每个线程分配CPU时间,并且负责线程间的通信。
调度(Scheduling)就是决定该轮到哪个线程运行了,它是内核Zui重要的职责。每个线程根据其重要程度不同,被赋予一定的优先级。不同的调度算法对RTOS的性能有较大影响,基于优先级的调度算法是RTOS常用的调度算法,其核心思想是,总是让处于就绪态的、优先级Zui高的线程先运行。然而何时高优先级线程掌握CPU的使用权,由使用的内核类型确定,基于优先级的内核有不可抢占型和可抢占型两种类型。
- 内核类其他基本概念 2024-11-05
- 线程类其他基本概念 2024-11-05
- 漫话过程自动化行业无线通信标准的统一 2024-11-05
- ROTS实践案例——互斥量测试 2024-11-05
- 工业人工智能驱动的流程工业智能制造 2024-11-05
- 科学挑战与关键技术 2024-11-05
- 认知科学的兴起 2024-11-05
- 认知科学的研究内容 2024-11-05
- 40个变频器常见问题,收藏熟记还有啥搞不定的故障 2024-11-05
- 失速防止功能是什么意思? 2024-11-05
- 为什么不能在6-60Hz全区域连续运转使用? 2024-11-05
- 计算机控制系统采用的技术和发展趋势(一) 2024-11-05
- 自适应控制 2024-11-05
- 人工智能 2024-11-05
- 智能控制的产生 2024-11-05