首页 / 知识
关于嵌入式:vxWorks 如何处理两个优先级相同的任务?
2023-04-16 09:18:00

How does vxWorks deal with two tasks at the same priority?我们的 vxWorks 嵌入式系统中有两个任务(T1 和 T2)具有相同的优先级 (110)。 首先运行的任务是由 VxWorks 调度程序任务实现的最先产生的任务。 VxWorks 默认使用基于优先级的调度。因此,在您的情况下,由于 T1 和 T2 具有相同的优先级,因此首先获得 CPU 的任何一个都将无限期地继续运行,直到它被显式阻塞(使用 taskSuspend 或 taskDelay),此时另一个 READY 任务将执行直到它被阻塞, 等等。这应该由信号量或互斥体(互斥体?) 控制 这个确切的问题阐明了基于优先级的调度的主要问题。我们如何确定让这些任务运行多长时间?他们具有相同的优先级这一事实使事情变得复杂。另一个问题是具有高优先级(数字越小表示优先级越高)的 VxWorks 任务会抢占您必须在代码中准备的应用程序。这些问题可以通过使用循环调度来解决。轮询调度带来的额外问题和解决方案都在这里描述。 VxWorks 有 256 个优先级(0 为最高,255 为最低)。在任何给定时间,最高优先级的任务都在 CPU 上运行。每个优先级在概念上都有一个队列,多个任务排队等待执行。 我们有 3 个优先级相同的任务 A、B、C。假设 A 正在执行。 如果启用了循环调度(时间片),同样的概念也适用,但是当时间片结束时,任务会被放到队列的末尾。 请注意,被更高优先级任务抢占的任务不会影响队列的顺序。如果 A 正在运行并被抢占,它将在更高优先级的任务完成后继续执行。它不会被放在队列的末尾。 默认情况下,首先生成的那个将被执行,除非它放弃 CPU,否则另一个永远不会运行。 您可以显式启用循环,而不是时间片。 |
最新内容
相关内容
linux运行图形界命令?
linux运行图形界命令?,系统,密码,地址,电脑,图形界面,地方,工具,界面,终端,图形,linux图形化界面命令第一种方式比较简单,只需要选择相应的带图linux怎样运行命令?
linux怎样运行命令?,系统,工作,信息,基础,地址,命令,目录,工具,密码,一致,Linux系统基础操作指令1、linux常用命令有pwd命令、cd命令、ls命令linux编译完运行命令?
linux编译完运行命令?,系统,代码,环境,工具,信息,命令,文件,程序,终端,编辑,在linux中编译C输入完程序后输入个:wq然后按什么键就然后就回到了linux命令程序运行?
linux命令程序运行?,状态,系统,服务,情况,命令,进程,软件,数据,发行,时间,Linux中如何启动进程?进程调度命令有哪些?实现调度启动进程的方法有linux运行脚本命令?
linux运行脚本命令?,系统,代码,服务,文件,工具,平台,网站,脚本,命令,方法,Linux配置开机自启动执行脚本有哪些方法方法1:执行ntsysv命令,然后在linux命令后加运行?
linux命令后加运行?,状态,暂停,工具,单位,进程,环境,网络,系统,权威,第一,mv什么意思呢?1、MV就是音乐短片(Music Video),是指与音乐(通常大部分是ssh运行linux命令?
ssh运行linux命令?,地址,服务,系统,软件,工具,电脑,网络,密码,名称,命令,在linux命令中登陆ssh服务的命令是?步骤如下:查询\安装SSH服务 (1)登陆linux运行多个命令?
linux运行多个命令?,环境,软件,系统,工作,服务,连续,命令,指令,分号,冲突,linux多个用户同时执行命令会冲突吗不会冲突。解释:用户登录linux的linux运行命令查看?
linux运行命令查看?,系统,信息,状态,命令,名称,情况,地址,软件,进程,第一,linux查看进程命令首先打开xshell软件,连接上linux服务器,使用指令pslinux命令优先级设置?
linux命令优先级设置?,系统,时间,实时,策略,优先级,分时,管理,周期性,进程,命令,如何修改linux系统中进程的优先级1、优先级的值=优先系数+niclinux调整优先级命令?
linux调整优先级命令?,策略,系统,工作,时间,实时,信息,网络,优先级,命令,中心,linux下如何设置扩展网卡的优先级1、从桌面右下角,网络里面进入,linux中命令运行软件?
linux中命令运行软件?,软件,系统,名称,工具,电脑,位置,环境,中心,在线,初级,如何用命令行在Linux下安装软件?首先启动CentOS7,在VMware中点击上