我有个问题,如果进程进行系统调用用打印机,如果打印机在被其他进程占用。那么进程应该进入阻塞态,但是系统调用想用打印机是cpu核心态吧,那么不能调用会直接返回用户态吗?
3条回答 默认 最新
- 忽然之间1204 2024-06-18 23:09关注
“用户态”和“核心态”是CPU的状态,即到底是用户程序代码在CPU上跑,还是操作系统程序代码在CPU上跑。当用户进程申请I/O资源时,执行的P原语操作是操作系统代码,这时CPU工作在核心态,先把信号量-1,在判断如果信号量<0,说明打印机资源不足,P原语阻塞用户进程,此时用户进程就下CPU了,进入阻塞态的用户进程,就谈不上什么用户态核心态了。
要搞清楚:阻塞、就绪、运行三态是进程的状态,而用户态、核心态是CPU的状态。这里不能混淆。是用户态还是核心态的前提是它得是运行态。解决 1无用
悬赏问题
- ¥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命令