22、操作系统的任务和时钟节拍

1、 任务,通常指交派的工作,担负的责任。在现代计算机中,“任务”也是其基本工作单位的专业术语。

在设计一个较为复杂的应用程序时,也通常把一个大型的任务分解成多个小任务,然后在计算机中通过运行小任务,最终完成大任务的目的。由于这种方法可以使系统并发的运行多个任务,从而提高处理器的利用率,加快程序的执行速度。

2、多任务系统

(1)简单的说就是用一个处理器,并发(不是同时)的运行多个程序的计算机管理系统

(2)并发:由同一个处理器轮换地 运行多个程序。或者说是由多个 程序轮班地占用处理器这个资源。 且在占用这个资源期间,并不一 定能够把程序运行完毕。

3、μC/OS-II中 的任务管理

(1)任务控制块

一个任务的任务控制块的主要作用就是保存该任务的虚拟处理器的堆栈指针寄存器SP。其实,随着任务管理工作的复杂性的提高,它还应该保存一些其他信息。

a.  识别一个人任务最直接的方法就是为每一个任务起一个名称,由于uC/OS-II中的任务都有一个唯一的优先级别,因此            uC/OS-II是用任务的优先级来作为任务的标识的。所以任务控制块还要来保存任务的优先级别。

b.  另外,一个任务在不同时刻还处于不同的状态,显然,记录了任务状态的数据也应该保存到任务控制块中。

c.  因此,系统必须为每个任务创建一个保存与该任务有关的相关信息的数据结构,这个数据结构叫做该任务的任务控制块           (TCB)。

(2)任务在内存中的结构

(3)用户任务代码的一般结构

(4)系统提供的空闲任务

a.  在多任务系统运行时,系统经常会在某个时间内无用户任务课运行而处于所谓的空闲状态,为了使CPU在没有用户任务可执      行的时候有事可做,uc/OS-II提供了一个叫做空闲任务OSTaskldle()的系统任务。

b.  μC/OS-II规定,一个用户应用程序必须使用这个空闲任务,而且这个任务是不能用软件来删除的

(5) 统计任务

μC/OS-II提供的另一个系统任务是统计任务OSTaskStat( )。这个统计任务每秒计算一次CPU在单位时间内被使用的时间,并把计算结果以百分比的形式存放在变量OSCPUsage中,以便应用程序通过访问它来了解CPU的     利用率,所以这个系统任务OSTaskStat( )叫做统计任务

(6) 任务的优先级别

a.   uC/OS_II把任务的优先权分为64个优先级别,每一个级别都用一个数字来表示。数字0表示任务的优先级别最高,数字越       大则表示任务的优先级别越低。

b.   用户可以根据应用程序的需要,在文件OS_CFG.H中通过给表示最低优先级别的常熟OS_LOWEST_PRIO赋值的方法,来      说明应用程序中任务优先级别的数目。该常数一旦被定义,则意味着系统中可供使用的优先级别为0,1,2....,                    OS_LOWEST_PRIO,共OS_LOWEST_PRIO+1个。

c.  固定地,系统总是把最低优先级别OS_LOWEST_PRIO自动赋给空闲任务。如果应用程序中还使用了统计任务,系统则会把      优先级别OS_LOWEST_PRIO-1自动赋给统计任务,因此用户任务可以使用的优先级别是:0,1,2…                             OS_LOWEST_PRIO-2,共OS_LOWEST_PRIO-1个

(7)任务堆栈

a.

b.

c.

d.

(8)任务堆栈的初始化

a.

b.

c.

d.

e.

(9)任务就绪表及任务调度

a.

b.

c.

d

(10)UCOS的系统时钟

a.

b.

c.

d.

时间: 2024-10-20 05:28:33

22、操作系统的任务和时钟节拍的相关文章

FreeRTOS 系统时钟节拍和时间管理

FreeRTOS 的时钟节拍任何操作系统都需要提供一个时钟节拍,以供系统处理诸如延时. 超时等与时间相关的事件.时钟节拍是特定的周期性中断,这个中断可以看做是系统心跳. 中断之间的时间间隔取决于不同的应用,一般是 1ms – 100ms.时钟的节拍中断使得内核可以将任务延迟若干个时钟节拍,以及当任务等待事件发生时,提供等待超时等依据.时钟节拍率越快,系统的额外开销就越大.对于 Cortex-M3 内核的 STM32F103 和 Cortex-M4 内核的 STM32F407 以及 F429,教程

usosiii时钟节拍

在APP组里的os_cfg_app.h文件可以设置系统时钟SysTick的时钟节拍频率(还可以设置它的任务优先级,任务栈大小,时间片数组大小),一般使用1000Hz,也就是节拍周期为1ms. #define OS_CFG_TICK_RATE_HZ 1000u /* Tick rate in Hertz (10 to 1000 Hz) */ #define OS_CFG_TICK_TASK_PRIO 10u /* Priority */ #define OS_CFG_TICK_TASK_STK_S

[stm32][ucos] 1、基于ucos操作系统的LED闪烁、串口通信简单例程

* 内容简述: 本例程操作系统采用ucos2.86a版本, 建立了5个任务            任务名                                             优先级            APP_TASK_START_PRIO                               2            主任务                          Task_Com1_PRIO                                

【转】FPGA中的建立时间和保持时间的关系以及影响时钟的因素

时钟是整个电路最重要.最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错:因而明确FPGA设计中决定系统时钟的因素,尽量较小时钟的延时对保证设计的稳定性有非常重要的意义. 1.1 建立时间与保持时间 建立时间(Tsu:set up time)是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器:保持时间(Th:hold time)是指数据稳定后保持的

【转】OAL之系统时钟

1. 系统时钟与内核的关系 WinCE 5.0采用基于时间片的抢占式多任务的实时内核,而且每个线程可以根据需要自行设定线程时间片的大小(参考CeSetThreadQuantum函数),默认为100ms,这个默认值dwDefaultThreadQuantum也可以在OEMInit()时自行设定.在内核源文件中,与单词Quantum有关的变量名一般是指时间片,WinCE内核定义了几个与时钟有关的全局变量,他们也是内核与OAL接口的一部分: 1) dwReschedTime,这个变量在内核的调度程序中

window ce操作系统的启动过程

一 当bootloader启动任务完成后,内核kernel接管了cpu的控制权,cpu的执行将跳转到内核的入口函数kernelStart.KernelStart负责配置虚拟内存管理器,初始化中断向量表,然后,kernelStart向下回调HAL(硬件抽象层),执行OEMInit例程. 二 oeminit由oem提供.oeminit的工作是初始化oem硬件,包括挂起中断,初始化中断向量表等.oeminit调用initclock()设置时钟为操作系统的滴答时钟.调用initdisplay()初始化l

mini2440裸机试炼之—RTC闹钟中断,节拍中断

环境搭建 硬件环境:J-link v8.mini2440.J-link转接板.串口转USB线 软件环境:windows7(32位).开发板uboot(NandFlash).J-link驱动(J-Link ARM V4.10i).SecureCRT.ADS1.2 其中ADS里的AXD设置:加载JlinkRDI.dll+Options->Configure Interface...,在Session File一页中选择"Run Configuration Script",将该name

影响FPGA设计中时钟因素的探讨【转】

Crazy Bingo Learn to walk first before you want to run- 影响FPGA设计中时钟因素的探讨 http://www.fpga.com.cn/advance/skill/speed.htm http://www.fpga.com.cn/advance/skill/design_skill3.htm 时钟是整个电路最重要.最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错

STM32时钟库函数RCC_DeInit介绍

void RCC_DeInit(void) { RCC->CR |= (uint32_t)0x00000001; //开启内部8MHz时钟 #ifndef STM32F10X_CL //STM32F10X_CL指的是STM32互联系列微处理器 RCC->CFGR &= (uint32_t)0xF8FF0000; //其它类型处理器的CFGR寄存器中27-31位是保留位,24-26为MCO位 #else //而互联型处理器的CFGR寄存器中,28-31位是保留位,24-27位属MCO R