加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 当进程在执行系统调用时切换时会发生什么?

发布时间:2020-12-14 01:42:26 所属栏目:Linux 来源:网络整理
导读:当该进程调用的系统调用正在运行时,如果调用系统调用的进程进入休眠状态或被抢占状态,会发生什么? 如果系统调用被抢占,它是如何重新加载并返回该进程的? 解决方法 系统维护每个进程的状态,它保存暂停和稍后重新启动进程所需的所有内容.大部分都是你想象的
当该进程调用的系统调用正在运行时,如果调用系统调用的进程进入休眠状态或被抢占状态,会发生什么?

如果系统调用被抢占,它是如何重新加载并返回该进程的?

解决方法

系统维护每个进程的状态,它保存暂停和稍后重新启动进程所需的所有内容.大部分都是你想象的 – 你的地图
内存实际驻留,文件句柄列表等.

系统进程正在进行不会立即完成的长期事务,必须非常仔细地编写以确保所有资源都被考虑,所有锁都被释放等.这显然是I / O的情况,但其他的东西可以也涉及特殊
资源.

大多数系统调用并不是特别的,它们是由普通库实现的,这些库只是您的过程的一部分.真正的系统调用处于最低级别,这会使得缓慢的事情被构造为“让我睡觉并在……时唤醒我”,因此进入睡眠状态会自动但无形地成为过程的一部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读