工作队列
文章平均质量分 61
SylixOS中工作队列相关内容
ScilogyHunter
一码流年雨疏疏,莫道E人岁月蹴。。。
展开
-
SylixOS系统异常处理工作队列
概念SylixOS系统异常时(如需要删除异常线程)为了统一且归一化处理,使用了工作队列模式,统一提交至系统异常线程中处理。系统异常处理工作队列的实现原理,用法和中断延迟队列基本相同,但只被内核用于异常处理。接口/*********************************************************************************************************** 函数名称: _excJobAdd** 功能描述: 加入待处理异常消息*原创 2021-12-14 10:30:48 · 207 阅读 · 0 评论 -
SylixOS中断延迟队列
SylixOS 实现底半部的机制是中断延迟工作队列(InterDefer)原创 2021-12-14 09:39:04 · 597 阅读 · 0 评论 -
SylixOS 延时工作队列实现原理详解
这里的延时工作队列其实就是系统工作队列中具备延时时的实现,系统工作队列中还有简单工作队列的实现,为了便于讲解,这里只列出延时工作队列实现的代码。类型定义/********************************************************************************************************* 带有延迟属性作业队列控制结构*****************************************************原创 2020-12-23 20:24:17 · 287 阅读 · 0 评论 -
SylixOS 系统工作队列
1、概述在内核代码中,经常希望将部分工作推迟到将来的某个时间执行,这样做的原因有很多,比如:在持有锁的情况下做耗时操作;希望将工作集中起来以获取批处理的性能;调用了可能导致睡眠的函数。SylixOS 内核提供了一种机制来提供延迟执行的功能,即工作队列。工作队列是将操作延期执行的一种手段。工作队列可以把工作推后,交由一个内核线程去执行,并且工作队列是执行在进程上下文中,因此工作队列可以被重新调度和抢占甚至睡眠。工作队列的应用场景有很多:比如需要在中断(下半部)里面要做很多的耗时操作,这时就可以把原创 2020-09-14 20:48:36 · 503 阅读 · 1 评论 -
SylixOS 内核工作队列
1、概述本篇主要介绍SylixOS中异步工作队列(JobQueue)的原理及相关函数接口。2、简介异步工作队列是SylixOS中将工作推后执行的一种机制,该机制将推后的工作交由一个内核工作线程去执行,其特点在于它允许重新调度甚至睡眠。3、相关数据结构SylixOS中关于异步工作队列的相关数据结构和接口函数定义位于内核文件"libsylixos/SylixOS/kernel/core/_JobQueue.c"中。SylixOS内核中定义了两个用于管理工作队列的数据结构。3.1、工作队列管理的消息原创 2020-09-14 20:13:39 · 463 阅读 · 0 评论 -
工作队列 ( workqueue )
由来在内核代码中,经常会遇到不能或不合适去马上调用某个处理过程,此时希望将该工作推送给某个内核线程执行,这样做的原因有很多,比如:中断触发了某个过程的执行条件,而该过程执行时间较长或者会调用导致睡眠的函数,则该过程不应该在中断上下文中立即被调用。类似于中断,一些紧急性的任务不希望执行比较耗时的非关键过程,则需要把该过程提交到低优先级线程执行。比如一个轮询的通信接收线程,它需要快速完成检测和接收数据,而对数据的解析则应该交由低优先级线程慢慢处理。有时希望将一些工作集中起来以获取批处理的性能;或则合并原创 2020-11-18 12:01:08 · 5315 阅读 · 0 评论