Cjiajia_010 2024-03-15 14:52 采纳率: 88.6%
浏览 33

如果一个进程通过系统调用使用打印机分析进程状态

我有个问题,如果进程进行系统调用用打印机,如果打印机在被其他进程占用。那么进程应该进入阻塞态,但是系统调用想用打印机是cpu核心态吧,那么不能调用会直接返回用户态吗?

  • 写回答

3条回答 默认 最新

  • 忽然之间1204 2024-06-18 23:09
    关注

    “用户态”和“核心态”是CPU的状态,即到底是用户程序代码在CPU上跑,还是操作系统程序代码在CPU上跑。当用户进程申请I/O资源时,执行的P原语操作是操作系统代码,这时CPU工作在核心态,先把信号量-1,在判断如果信号量<0,说明打印机资源不足,P原语阻塞用户进程,此时用户进程就下CPU了,进入阻塞态的用户进程,就谈不上什么用户态核心态了。
    要搞清楚:阻塞、就绪、运行三态是进程的状态,而用户态、核心态是CPU的状态。这里不能混淆。是用户态还是核心态的前提是它得是运行态。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月15日

悬赏问题

  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令