preemption

    1热度

    2回答

    在Autosar中,可运行参数映射到任务。由于优先级,任务可以被抢占。 抢占点在哪里?抢先发生在可运行的程序之间吗? 是可运行的原子执行,还是可以在其执行过程中被抢占?

    0热度

    1回答

    根据POSIX standard,写入管道保证是原子的(如果数据大小小于PIPE_BUF)。 据我所知,这意味着任何试图写入管道的线程将永远不会在另一个线程的写入过程中访问管道。我不清楚这是如何实现的,以及这种原子性保证是否有其他含义。 这是否仅仅意味着写入线程在写入函数内部的某处获取了锁? 是否写入管道的线程保证在写入操作期间永远不会被调度超出上下文?

    0热度

    1回答

    我有一个内核模块。它有一个IOCTL,它分配页面,然后使用kmap_atomic一次一页地映射到内核。 当我运行通过一个测试应用程序行使这种IOCTL,我得到以下调度BUG: [41216.007065] BUG: scheduling while atomic: app/1242/0x00000002 [41216.007403] Modules linked in: allocato

    -1热度

    1回答

    在同一CPU内核上运行有两个进程(P-A和P-B)。进程B是多线程的。我希望进程A在进程B的线程每2微秒后被抢占。 在固定的时间间隔(以微秒为单位)之后,是否可以编写一个计时器中断(或其他)来抢占进程A?

    0热度

    3回答

    我写在需要 等待串行使用select() 读取串行数据(RS232数据采访节目115200波特), 时间戳它(clock_gettime()), 读取的ADC上SPI, 解释它, 在另一个tty设备 循环发送新数据,并重复 的ADC是无关紧要的了。 在循环结束时,我再次使用select()和0超时轮询并查看数据是否已经可用,如果这意味着我有溢出,即,即。我期望循环在更多数据之前结束,并且在循环开始

    1热度

    2回答

    我在玩perf以了解如何找出进程进入“D”(不间断睡眠)状态的原因。 我使用PERF命令: perf record -g -p 4710 -e sched:sched_stat_iowait,sched:sched_stat_blocked sleep 60 其中4710是我进程的PID叫meetmaker。 然后我在看perf script输出是 meetmaker-3.0.0 4710 [

    0热度

    1回答

    从document我知道Pod必须由一个调度程序调度。如调度程序A计划程序包a和调度程序B计划程序包b。 问题是:可以a抢先b如果b已经在运行?哪个调度程序将执行此操作?

    -1热度

    1回答

    我有这个问题涉及到嵌入式系统中,这种表达我在调度员的一个源文件中发现: What is a multi-rate non preemptive OS/Dispatcher ? 我了解一些基于我的研究等调度,非抢占系统RTOS ..但我没有找到合并的表达。 我可以理解的是,分派器是负责向运行队列添加进程/线程的实体。非抢占意味着任务开始运行时,任务不能由其他任务停止,直到完成并且多速率意味着调度

    0热度

    1回答

    对于这种情况:进程B将等待进程A释放自旋,因此预先排好? Process A: -->spin lock --> do strict call --> before unlock time int Time int ISR: --> Process A time slice finished --> need schedule -->ISR ret --> schedule to Process

    1热度

    1回答

    当RT_PREEMPT补丁发布Linux内核4.11,最新稳定的Linux内核? 我知道我可以在主线Linux内核使CONFIG_PREEMPT但什么是这个主线PREEMPT和RT_PREEMPT补丁之间的区别是什么? 后者是否做得更好?