gpt4 book ai didi

operating-system - 在 RTOS 中,进程在内核空间中运行时可以被抢占吗

转载 作者:行者123 更新时间:2023-12-02 01:58:44 25 4
gpt4 key购买 nike

我知道进程在内核空间中运行时不能被抢占。如果这是真的,在 RTOS 中如何保证响应性(如果系统调用需要更多时间来执行)?即使进程在内核空间中运行,也可以为进程执行上下文切换吗?

最佳答案

一个进程能否被抢占取决于进程状态的设计。在 Linux 上,您有 UNITERUPTIBLE_SLEEP,其中进程仍在 sleep ,它请求的某个服务已完成。 (前读)。服务从未完成并且进程从未收到信号并无限休眠(占用系统资源)的情况可能会发生。

在 RTOS 的情况下,这种方法是不合理的,因为资源(Ex 内存)是稀缺的。因此,进程永远不会处于 UNITERUPTILBE 状态。因此,操作系统可以过早地向休眠/等待某些服务的进程发送信号。因此,操作系统可以更好地控制进程,从而也可以控制系统资源。

正如@Levente Kurusa 所指出的,操作系统可以在一个时间间隔后向进程发送一个信号,使其要么将控制权交给操作系统(时间片执行以确保良好的响应时间),要么在它等待时将其杀死长期服务。

关于operating-system - 在 RTOS 中,进程在内核空间中运行时可以被抢占吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18460205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com