时间片轮询多任务操作系统

合集下载

时间片轮转调度算法

时间片轮转调度算法

时间片轮转调度算法
时间片轮转调度算法(Round-Robin Scheduling Algorithm)是一种常用的进程调度算法,它将所有可运行进程放入一个队列中,每个进程可以有一个等待时间,在等待时间结束后,当前进程运行完毕,就会被下一个进程替代,如此循环,直至所有进程运行完毕。

时间片轮转调度算法的优点在于它简单易行,可以有效的解决多进程的调度问题。

它的基本原理是,将系统中所有可运行的进程放入一个队列,然后每个进程可以有一个等待时间,在等待时间结束后,当前进程运行完毕,就会被下一个进程替代,如此循环,直至所有进程运行完毕。

时间片轮转调度算法还有一个优点,就是它可以更好地满足公平性原则。

由于每个进程只能运行一个固定的时间片,因此,每个进程都会有相同的机会得到处理器的资源,从而更能满足公平性原则。

时间片轮转调度算法的缺点在于它对响应时间的要求比较高,因为每个进程只能有一个固定的时间片,在等待时间结束后,它又要等待队列中其他进程运行完毕才能再次被调度,这样就会使得它的响应时间变长。

总的来说,时间片轮转调度算法是一种简单易行、可以满足公平性原则的进程调度算法,但是它对响应时间的要求较高,在实际应用
中,需要根据实际情况来进行选择和优化。

计算机中多任务的名词解释

计算机中多任务的名词解释

计算机中多任务的名词解释在计算机领域中,多任务是指在同一时间段内,计算机系统能够同时运行多个程序或任务的能力。

与单任务(即一次只能执行一个程序)相比,多任务能够更充分地利用计算机系统的资源,提高计算机的效率和响应能力。

一、多任务的实现方式计算机实现多任务有多种方式,其中最常见的是时间片轮转和优先级调度。

1. 时间片轮转:这种方式下,计算机系统将时间划分为若干个相等的时间片,每个时间片都预留给一个任务使用。

当一个任务的时间片用完后,系统会暂停该任务的执行,并切换到下一个任务,轮流执行,以此类推。

这种方式保证了所有任务都能以一定的频率得到执行,实现了多任务的同时运行。

2. 优先级调度:这种方式下,每个任务都会被分配一个优先级。

系统根据任务的优先级来调度任务的执行顺序,优先级越高的任务越先执行。

这种方式在某些特定场景下,如实时任务的处理,具有重要意义。

通过合理设置不同任务的优先级,可以确保关键任务得到及时响应。

二、多任务的优势与挑战多任务的引入极大地提升了计算机系统的效率和灵活性,同时也带来了一系列的挑战。

1. 提高计算机效率:多任务可以充分利用计算机系统的处理器和内存资源,提高系统的利用率,让计算机能够在同一时间内同时执行多个任务,提高整体效率。

2. 增强用户体验:多任务使得用户可以在同一时间内运行多个程序,执行不同的任务。

例如,在浏览器中同时打开多个网页,可以边听音乐边阅读新闻,提升了用户的使用体验。

3. 复杂的任务调度:在多任务环境下,计算机需要智能地调度任务,合理分配资源。

任务之间的相互影响和资源冲突可能导致性能下降和程序运行错误等问题。

因此,设计高效的任务调度算法和资源管理策略是一个重要的挑战。

4. 系统资源分配冲突:多任务会引发资源的竞争和冲突问题。

例如,多个任务同时要求访问某一资源,由于资源有限,可能导致死锁或资源饥饿等问题。

为了解决这些问题,需要科学合理地进行资源分配和冲突处理。

三、多任务应用领域多任务在计算机领域的应用非常广泛,几乎涵盖了计算机的各个领域,其中一些典型的应用包括:1. 操作系统:操作系统是多任务的典型应用。

操作系统的多任务处理

操作系统的多任务处理

操作系统的多任务处理多任务处理是现代操作系统的重要特性之一,它使得计算机可以同时执行多个任务。

通过合理的任务切换和资源分配,操作系统能够提高计算机的利用率和效率。

本文将介绍操作系统的多任务处理原理、策略和应用。

一、多任务处理原理多任务处理是指在一个计算机系统中同时执行多个任务的能力。

操作系统通过任务调度算法和进程管理来实现多任务处理。

在单核处理器系统中,操作系统通过时间片轮转等算法按照一定的时间片轮询切换任务,使得任务在人眼看来是同时执行的。

而在多核处理器系统中,操作系统可以将多个任务分配给多个处理器核心并行执行。

二、多任务处理策略1. 抢占式调度抢占式调度是指操作系统可以随时中断正在执行的任务,将处理器分配给其他高优先级任务的调度策略。

当有更高优先级的任务就绪时,操作系统可以立即切换到该任务并执行,以保证高优先级任务的及时响应。

2. 合作式调度合作式调度是指任务执行必须主动释放处理器资源,才能让其他任务执行的调度策略。

在合作式调度中,每个任务都需要遵守一定的规则,如不可长时间占用处理器资源,否则会影响其他任务的执行。

3. 多级反馈队列调度多级反馈队列调度算法将任务分为多个优先级队列,每个队列具有不同的时间片大小。

当任务执行完成后,如果没有新任务到达,则继续执行该队列的下一个任务;如果有新任务到达,则将该任务插入到更高优先级队列中。

这种调度策略既能保证高优先级任务优先执行,又能公平地分配处理器资源。

三、多任务处理的应用1. 多媒体播放操作系统的多任务处理能力使得计算机可以同时播放多个媒体文件,如音频、视频等。

用户可以在观看视频的同时听音乐,提高了用户体验。

2. 并行计算通过多任务处理和多核处理器,操作系统可以将大型计算任务分解为多个子任务,然后利用不同核心并行执行这些任务,提高计算速度和效率。

3. 虚拟化技术多任务处理为虚拟化技术的实现提供了基础。

操作系统可以将物理资源虚拟化为多个虚拟机,每个虚拟机可以独立运行不同的任务,实现资源的有效利用和管理。

时间片轮转调度

时间片轮转调度

时间片轮转调度
简介
时间片轮转调度是一种常见的进程调度算法,通常用于处理多任务系统中的进
程调度。

它的主要特点是每个进程都会分配一个时间片段,当时间片段用完后,系统会自动切换到下一个进程,从而实现多个进程之间的公平共享CPU时间。

原理
时间片轮转调度的原理比较简单。

系统会为每个进程分配一个固定长度的时间片,当进程开始执行时,系统会计时,当时间片用完后,系统会发出时钟中断,此时会触发调度器将CPU分配给下一个进程。

被切换出去的进程会被放到就绪队列
的末尾,等待下次轮到它执行。

优点
1.公平性:每个进程都有机会获得CPU时间,避免某个进程长时间占
用CPU资源而导致其他进程无法执行。

2.响应时间短:由于时间片固定,当进程被切换到时,可以及时响应,
提高系统的交互性。

缺点
1.时间片长短选择问题:如果时间片过短,频繁的切换会增加调度器的
开销;如果时间片过长,可能会导致部分进程长时间占用CPU,降低公平性。

2.公平性问题:虽然时间片轮转调度可以保证每个进程都能获得CPU
时间,但对于一些实时性要求较高的应用来说,可能无法满足其需求。

应用场景
时间片轮转调度适用于对公平性要求较高,但对实时性要求不是特别高的场景,比如多用户系统、批处理系统等。

在这些场景下,时间片轮转调度可以充分利用系统资源,保证每个进程都能得到执行。

总结
时间片轮转调度是一种简单而有效的进程调度算法,通过合理设置时间片长度,可以实现多任务系统中的进程公平调度。

在合适的场景下,时间片轮转调度可以提高系统的整体性能,保证每个进程都能得到执行,从而提高系统的稳定性和可靠性。

操作系统时间片轮转算法与优先级调度算法

操作系统时间片轮转算法与优先级调度算法

操作系统时间片轮转算法与优先级调度算法操作系统作为计算机的核心,需要负责管理和分配系统资源的功能。

其中,调度算法是操作系统中非常重要的一个功能,它决定了如何分配CPU时间,因此直接影响系统的性能和响应速度。

本文将介绍两种操作系统中常用的调度算法:时间片轮转算法和优先级调度算法。

时间片轮转算法时间片轮转算法(Round Robin)是一种基本的调度算法,它是多道程序设计中常用的一种算法。

在内存中同时存放多个进程,并根据每个进程的优先级轮流分配 CPU 时间,以保证每个进程都能得到一定的CPU时间片,从而保证操作系统的公平性和系统的稳定性。

基本思想时间片轮转算法的基本思想是:将每个进程分配相同长度的CPU时间片,一旦时间片用完,立即将该进程挂起,并将 CPU 分配给下一个进程。

这样就可以保证每个进程都有相同的机会获得 CPU 时间,避免了某个进程长时间霸占CPU而导致其他进程无法运行的情况。

算法流程时间片轮转算法的具体实现过程如下:1.将所有待运行的进程加入到就绪队列中;2.从就绪队列中取出第一个进程,将其运行指定时间片长度的时间;3.如果该进程在运行时间片结束之前自己退出,那么直接将其从就绪队列中取出,释放资源;4.如果该进程在运行时间片结束之前没有自己退出,那么将其挂起放到队列的尾部,然后将 CPU 分配给下一个进程,重复2-4步骤,直到所有进程执行完毕。

算法优点时间片轮转算法的优点如下:1.公平:每个进程都能得到相同长度的时间片,避免了某个进程长时间霸占CPU的情况,从而保证了每个进程都会运行;2.适用:时间片轮转算法适用于多任务并发的环境下,可以有效地避免死锁和饥饿现象;3.高效:时间片轮转算法可以保证 CPU 的高效利用,能够最大限度地提高 CPU 的性能。

算法缺点时间片轮转算法的缺点如下:1.精度问题:时间片长度不能太长,否则会导致某些进程长时间等待CPU时间片;2.资源浪费:如果一个进程只需要很短的时间就可以完成任务,但由于时间片的限制而占用CPU的时间,这就是一种资源浪费。

5.1—TinyOS51嵌入式操作系统微小内核

5.1—TinyOS51嵌入式操作系统微小内核
如下图所示:
8
第5章 TinyOS51嵌入式操作系统 时间轮询调度为每个任务提供同份额的cpu执行 时间。由于纯粹的时间轮询调度不能满足实时性系统 要求,取而代之的是基于优先级抢占式调度扩充时间 轮询调度,即对同样优先级的任务使用时间片获得相 等的cpu分配时间,不同优先级的具有抢占权。
9
第5章 TinyOS51嵌入式操作系统 4、任务状态 无论用户任务还是系统任务,在如何时候,每个 任务至少包含:就绪(ready)、运行(running)、阻塞 (blocked)在内的状态。随着实时系统的运行,每个 任务根据简单的有限状态自动机(FSM)逻辑,从一 个状态迁移到另一个状态。 虽然内核可以定义多个任务状态组,但典型的OS 中至少有3个主要的状态: 就绪状态 ;运行状态; 阻塞状态
表 5.1 setjmp()函数 名称 所属类别 格式 输入参数 setjmp() 流程控制 #include<setjmp.h> int setjmp(jmp_ buf environment) environment:用于保存当前环境的jmp_buf数组
21
第5章 TinyOS51嵌入式操作系统 bp是在SDCC中定义的一个虚拟寄存器,用于 简化重入操作。书P186,对局部变量与bp做了描述 说明以及在堆栈中的变化如下图所示,可参考。
调度器从一个任务切换到另一个任务所开销的 时间则称之为上下文切换时间。
16
第5章 TinyOS51嵌入式操作系统
图5.5 上下文切换示意图
17
第5章 TinyOS51嵌入式操作系统 8、可重入性(Reentrant)
由于任务的并发性,因此经常会出现调用同一个 函数的情况,如果一段程序可以被多个任务同时调用, 而不必担心数据被破坏,那么这样的程序就是可重入 的程序。

时间片轮转调度算法例题详解

时间片轮转调度算法例题详解

时间片轮转调度算法例题详解操作系统是计算机系统中的一个重要组成部分,它负责管理计算机系统的各种资源,协调各种应用程序的运行,保证计算机系统的高效稳定运行。

操作系统中的进程调度是其中的一个重要内容,它决定了进程在CPU上的运行顺序,直接影响到计算机系统的性能。

本文将详细介绍时间片轮转调度算法,并通过例题进行详解。

一、时间片轮转调度算法时间片轮转调度算法是一种基于时间片的进程调度算法,它将CPU时间片分配给各个正在运行的进程,每个进程在一个时间片内运行一定的时间,然后被挂起,等待下一次调度。

如果进程在一个时间片内没有完成运行,那么它将被挂起,等待下一次调度。

这种调度算法适用于多道程序并发执行的情况,可以避免进程长时间占用CPU,保证进程的公平性和响应性。

时间片轮转调度算法的基本思想是将所有就绪进程按照先来先服务的原则排队,每个进程在一个时间片内运行一定的时间,然后被挂起,等待下一次调度。

时间片的大小可以根据系统的负载情况进行调整,一般情况下,时间片的大小为10ms~100ms之间。

当一个进程在一个时间片内运行完成,它将被移到队列的末尾,等待下一次调度。

如果进程在一个时间片内没有完成运行,那么它将被挂起,等待下一次调度。

这样,所有进程都有机会获得CPU时间,避免了某个进程长时间占用CPU的情况。

时间片轮转调度算法的优点是简单易懂,易于实现,可以保证进程的公平性和响应性。

缺点是时间片的大小对系统的性能有较大影响,时间片过小会导致进程切换频繁,影响系统性能;时间片过大会导致进程响应时间增加,影响用户体验。

二、时间片轮转调度算法例题下面通过一个例题来详细介绍时间片轮转调度算法的实现过程。

题目描述:有3个进程P1、P2、P3,它们的运行时间分别为24ms、3ms、3ms,它们的到达时间分别为0ms、0ms、0ms。

时间片大小为4ms。

请计算它们的平均等待时间和平均周转时间。

解题思路:首先,按照到达时间的先后顺序将进程排队。

时间片轮转调度算法例题详解

时间片轮转调度算法例题详解

时间片轮转调度算法例题详解在计算机操作系统中,调度算法是非常重要的一部分。

调度算法的作用是决定哪个进程可以获得 CPU 的使用权。

其中,时间片轮转调度算法是一种常见的调度算法,它可以保证每个进程都能够获得一定的 CPU 时间,从而避免了某个进程长时间占用 CPU 的情况。

本文将对时间片轮转调度算法进行详细的介绍,并通过实例来说明如何使用该算法进行进程调度。

一、时间片轮转调度算法的原理时间片轮转调度算法是一种抢占式的调度算法,它将 CPU 的使用时间划分为若干个时间片,每个进程在一个时间片内可以占用CPU 的时间是固定的。

当一个进程占用 CPU 的时间超过了一个时间片,系统会将该进程挂起,并将 CPU 分配给下一个进程。

时间片轮转调度算法的优点在于可以保证公平性,每个进程都能够获得一定的 CPU 时间,从而避免了某个进程长时间占用 CPU 的情况。

另外,该算法的实现比较简单,适用于多任务环境下的进程调度。

二、时间片轮转调度算法的实现时间片轮转调度算法的实现需要使用一个队列来保存所有等待CPU 时间的进程。

每个进程在队列中占据一个时间片的位置,当轮到该进程时,系统会将该进程从队列头部取出,并将其放到队列尾部。

如果一个进程占用 CPU 的时间超过了一个时间片,系统会将该进程挂起,并将其放到队列尾部。

下面是时间片轮转调度算法的具体实现步骤:1. 将所有等待 CPU 时间的进程放入一个队列中。

2. 设置一个时间片的长度,例如 10 毫秒。

3. 从队列头部取出一个进程,并将其放到 CPU 中执行。

4. 如果该进程在一个时间片内没有执行完毕,将其挂起,并将其放到队列尾部。

5. 从队列头部取出下一个进程,并将其放到 CPU 中执行。

6. 重复步骤 4 和步骤 5,直到所有进程都执行完毕。

三、时间片轮转调度算法的实例下面通过一个实例来说明如何使用时间片轮转调度算法进行进程调度。

假设有三个进程 P1、P2、P3,它们需要使用 CPU 的时间如下表所示:| 进程 | 到达时间 | 需要 CPU 时间 ||------|----------|---------------|| P1 | 0 | 20 || P2 | 0 | 25 || P3 | 0 | 10 |假设时间片的长度为 5 毫秒,现在需要使用时间片轮转调度算法对这三个进程进行调度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

•1 •时间片轮询
•2 •优先级调度
•3 •带优先级调度的时间片轮

• 这种调度算法情况较复杂,类型 较多,自己去学习了解。
PPT文档演模板
时间片轮询多任务操作系统
任务切换时机
•使用时间片轮询调度的操作系统中,会在两种下进行任务切换。
•1 •任务主动请求调度
• 任务在调用操作系统提供的“管理”类服 务(如删除任务等)和“等待”类服务(如延 时、获取信号量、等待消息等)时,会主动请 求调度。
•与任务控制块相关代码:
•#define __TN_TASK_FLG_DEL •#define __TN_TASK_FLG_RDY •#define __TN_TASK_FLG_DLY
0x00 0x01
0x02
// 任务被删除 // 任务就绪 // 任务延时
•struct tn_os_tcb {
• jmp_buf
•void tnOsInit (void) •{ • TN_OS_TASK_HANDLE thTask;
// 操作的任务
• for (thTask = 0; thTask < TN_OS_MAX_TASKS; thTask++) {

__GtcbTasks[thTask].ucTaskStat = __TN_TASK_FLG_DEL; // 任务初始处于删除状态
jbTaskContext;
• unsigned char ucTaskStat;
• unsigned int uiTicks;
•};
•typedef struct tn_os_tcb TN_OS_TCB;
// 任务上下文 // 任务状态 // 任务延时时间
•static data TN_OS_TCB __GtcbTasks[TN_OS_MAX_TASKS]; // 任务控制块数组
PPT文档演模板
时间片轮询多任务操作系统
TinyOS51从V1.0到V1.1的改变
•TinyOS51 V1.0和TinyOS51 V1.1的API不同点
TinyOS51 V1.0
TinyOS51 v1.1
任务调度函数 任务延时函数
tnOsSched() 无
__tnOsSched() tnOsTimeDly()
时钟节拍处理函数

tnOsTimeTick()
• 提供操作系统的一种基本服务——延时服务,延 时以时钟节拍为单位。
• 在TinyOS51中,时钟节拍中断由用户实现,在时 钟节拍中断处理函数中调用tnOsTimeTick()。
PPT文档演模板
时间片轮询多任务操作系统
资源配置与示例
• 全局变量定义
•static idata unsigned char __GucTaskStk[2][32];
时间片轮询多任务操作系统
时钟节拍中断
• 大多数操作系统中的延时管理和中断服务程序中的任务切换功能,分 别是用两个函数实现的,由于TinyOS51 V1.1是纯粹的时间片轮询操作系统, 非时钟节拍中断的中断服务程序不进行任务切换操作,因此将二者合二为一。
•1 •延时管理 •2 •任务切换
•for (thTask = 0; thTask < TN_OS_MAX_TASKS;thTask++) {
PPT文档演模板
•••••即 •••••v{oi••••••••••d/v{}****TTTTTEwtoa/MLHRF一_iThs••••••••d_k00/v{}0i00***O*lG个}t0oewa/_(D用并isu••••••••••v(d_h简k1/v{coG****i*===户调t=t1=)=olTini/_单eu(dm231i{a0(O011vd_0实用c)...T(s;x;e;oG的x1Ts初创启tttkmMr0innnT0)a现tu0d00nOOOa任0si{O始建动cI)+m;kiO;S时Tsssn+D0务ITTeRa(化任系sn。+vT钟aasT(&i+,kossvit系务统ickk(0i;mo节)dk0CC无+i;统)(dex+rr拍)T)Fee;限/;/////aa//0i_//中ctt)_中循初初eeki((|断(ntt断0环始始)aat。xess服kkr。0中化化r011务u,,;让时tpi__函tm1__钟GGe数r节uu0,cc,拍TTaasskkSSttkks[1[0])];;
•tnOsSched()
•TinyOS51 V1.0
பைடு நூலகம்
•保护临界资源
•开/关中断代码
•__tnOsSched()
•TinyOS51 V1.1
PPT文档演模板
时间片轮询多任务操作系统
目录
PPT文档演模板
•6 •启动多任务环境 •7 •任务调度
•8 •时钟节拍中断
•9 •longjmpInIsr() •10 •任务延时
目录
PPT文档演模板
•5 •创建任务 •6 •启动多任务环境
•7 •任务调度
•8 •时钟节拍中断 •9 •longjmpInIsr()
时间片轮询多任务操作系统
__tnOsSched()
• 任务调度函数__tnOsSched()中也要操作TCB,因此也需要加入开/关中 断代码包含临界区。另外,__tnOsSched()不再提供给任务直接调用,仅供内 部调用,因此添加前缀“__”。
•协作式 •多任务系

•TinyOS51 V1.0
•时间片轮询 调度算法
•时间片轮询 多任务
•操作系统
•TinyOS51 V1.1
• TinyOS51 V1.1采用最简单的时间片轮询调度算法,在每个时钟节拍中 断时调度,即分配给任务的时间片为一个时钟节拍。
• 这样,在任务控制块中不仅不需要保存时钟任务剩余的时钟节拍,而 且也不必编写计算任务的剩余时间和设置任务时间片的代码。
调度算法
•1 •时间片轮询 •2 •优先级调度
•任务A •+ 低优先级 •任务B •+ 中优先级 •任务C •+ 高优先级
•3 •带优先级调度的时间片轮询
•t
•高优先级任务先运行
•t
•高优先级任务抢占低优先级任务
•不同任务不同对待,优先级高任务的先运行。
PPT文档演模板
时间片轮询多任务操作系统
调度算法
// 允许中断
•}
PPT文档演模板
时间片轮询多任务操作系统
目录
PPT文档演模板
•4 •内部变量初始化 •5 •创建任务
•6 •启动多任务环境
•7 •任务调度 •8 •时钟节拍中断
时间片轮询多任务操作系统
tnOsStart()
• 在TinyOS51 V1.1中,如果不允许中断,则时钟节拍中断服务程序不会 运行,因此,在tnOsStart()中增加允许中断的代码。
•static unsigned char
__GucTask0;
•static unsigned char
__GucTask1;
• 函数实现
•// 分配任务堆栈 •// 任务0测试变量 •// 任务1测试变量
任务函数 •task0()和task1() 时钟节拍中断服务函数 •timer0ISR() main函数 •main()
握。
•协作式多任务系统的特点
PPT文档演模板
时间片轮询多任务操作系统
调度算法
•1 •时间片轮询 •2 •优先级调度 •3 •带优先级调度的时间片轮

PPT文档演模板
时间片轮询多任务操作系统
调度算法
•1 •时间片轮询
•任务A •任务B •任务C
•2 •优先级调度
•3 •带优先级调度的时间片轮询
•时间片长度Δt一般为1~10ms

__GtcbTasks[thTask].uiTicks = 0;
// 设置初值
•}

• __GthTaskCur = 0;
// 初始运行0号任务
•}
PPT文档演模板
时间片轮询多任务操作系统
目录
PPT文档演模板
•3 •任务控制块 •4 •内部变量初始化
•5 •创建任务
•6 •启动多任务环境 •7 •任务调度
时间片轮询多任务操作系统
创建任务函数tnOsTaskCreate()
• 由于tnOsTaskCreate()要操作TCB,而时钟节拍中断中也要操作TCB,因 此tnOsTaskCreate()中操作TCB的代码为临界区代码,要避免被时钟节拍中断 打断。
• TinyOS51中采用开/关中断的方式解决此问题。
时间片轮询多任务操作 系统
PPT文档演模板
2020/11/16
时间片轮询多任务操作系统
目录
•1 •概述 •2 •整体规划 •3 •任务控制块 •4 •内部变量初始化 •5 •创建任务 •6 •启动多任务环境
PPT文档演模板
•7 •任务调度 •8 •时钟节拍中断 •9 •longjmpInIsr() •10 •任务延时 •11 •删除任务
PPT文档演模板
时间片轮询多任务操作系统
目录
PPT文档演模板
•2 •整体规划 •3 •任务控制块
•4 •内部变量初始化
•5 •创建任务 •6 •启动多任务环境
时间片轮询多任务操作系统
tnOsInit()
• 由于TCB增加了一个uiTicks,则在tnOsInit()中进行初始化。
•OS初始化函数代码:
• void tnOsStart (void)
•{

EA = 1;

longjmp (__GtcbTask[0].jbTaskContext);
相关文档
最新文档