上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.4 本章小结
在实时操作系统下编程与无操作系统下编程相比有一个显著的优点,这个优点就是有个调度者,指挥、协调各个线程的运行,这样编程者可以把一个大工程分解成一个个小工程,交由实时操作系统管理,这符合软件工程的基本原理。
线程是实时操作系统中最重要的概念之一。在实时操作系统下,把一个复杂的嵌入式应用工程按一定规则分解成一个个功能清晰的小工程,然后设定各个小工程的运行规则,交给实时操作系统管理,这就是基于实时操作系统的基本编程思想。这一个个小工程被称为线程,实时操作系统管理这些线程,被称为调度。读者可以分别从线程调度、软件设计及CPU等不同视角来理解线程。从线程调度视角来看,实时操作系统中的线程是一个功能清晰的小程序,是实时操作系统调度的基本单元;从软件设计视角来看,线程是独立的、相互作用的程序集合;从CPU视角来看,任何时刻只有一个线程占用CPU。调度就是以合理的方式为每个线程分配时间,使之运行。
一个函数只有在给出其线程描述符及线程堆栈的情况下,才可以被称为线程,才能够被调度运行。线程一般有四种状态:终止态、阻塞态、就绪态和激活态。在任一时刻,线程被创建后所处的状态一定是以上四种状态之一。线程有三种基本形式,分别是单次执行线程、周期执行线程及资源驱动线程。