假装自己在努力 2023-04-08 16:13 采纳率: 0%
浏览 6

操作系统中的未解之谜

当一个进程从就绪态进入运行态,在执行原语操作申请到io设备后,该进程是进入阻塞态吗?
如果时那进程时怎么让自己进入阻塞态的?就比如在记录型信号量中 进行wait原语操作时,只有当前资源(value)<0的时候才会自我阻塞(使用block原语).
求解析一下。想了半天,搜了半天也没搜到

  • 写回答

2条回答 默认 最新

  • 个人练习生xx 2023-04-08 16:34
    关注

    当一个进程从就绪态进入运行态,在执行原语操作申请到io设备后,该进程会因为等待I/O完成而进入阻塞态。此时,进程将不再消耗CPU时间且处于无法继续执行的状态。

    进程可以通过系统调用发出 I/O 请求,以进入阻塞态等待相关的I/O操作完成。例如,可以使用read()函数请求从文件或其他I/O设备读取数据,当I/O操作完成时,将触发中断并唤醒进程。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月8日

悬赏问题

  • ¥15 求推荐发表需要付费的深度学习遥感场景分类SCI期刊
  • ¥15 无法在java控制台录入文字
  • ¥15 flutter网页应用用python的http服务器访问速度慢
  • ¥15 VESTA绘图原子颜色显示异常
  • ¥15 天翼云搭建多ip l2tp
  • ¥15 python实现CAD识图
  • ¥15 如何实现在renpy中创建并应用不同大小尺寸对话框?
  • ¥15 table表格有一列是固定列 滑动到最下面时 固定的那一列有几行没显示出来
  • ¥20 单细胞数据注释时报错
  • ¥15 vscode编译ros找不到头文件,cmake.list文件出问题,如何解决?(语言-c++|操作系统-linux)