关注
进程从阻塞状态(Blocked或Waiting状态)转到运行状态(Running)是不直接的,中间需要经历就绪状态(Ready)。这是因为当进程被阻塞时,通常是因为它在等待某些事件(比如I/O操作、获取某些资源)的完成。当这个等待事件发生且完成时,操作系统会将其状态从阻塞状态改为就绪状态,此时进程已经准备好运行,但是实际上没有运行,因为它必须等待CPU资源的分配。只有当调度程序将CPU分配给这个在就绪队列中的进程时,它才会转为运行状态。
这个由阻塞到就绪再到运行状态的变化,确保了操作系统资源的有效管理和公平分配,因为可能有多个进程同时变为就绪状态,它们需要按照调度算法来竞争CPU资源。如果进程能够直接从阻塞转为运行,并占用CPU,这将无视其他可能已经在就绪队列中等待较长时间的进程,这样会打破CPU资源分配的公平性,造成所谓的饥饿问题。 因此,现代操作系统设计中都采用这种有中间状态的转换机制。
来自 gpt4 的回答
查看原帖
5 1
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客吐槽大会 #
3369次浏览 69人参与
# 机械人你知道哪些单休企业 #
83149次浏览 415人参与
# 今年春招是金一银二嘛? #
8929次浏览 119人参与
# 参加完秋招的机械人,还参加春招吗? #
103805次浏览 686人参与
# 1月小结:你过的开心吗? #
2084次浏览 53人参与
# 抛开难度不谈,你最想去哪家公司? #
4896次浏览 118人参与
# 为什么有人零实习也能进大厂? #
5537次浏览 132人参与
# AI求职实录 #
4112次浏览 112人参与
# AI时代的工作 VS 传统时代的工作,有哪些不同? #
8837次浏览 207人参与
# 机械人春招想让哪家公司来捞你? #
379375次浏览 3141人参与
# 当你问AI“你会取代我的工作吗”,它说_? #
4022次浏览 141人参与
# 你的第一家实习公司是什么档次? #
4538次浏览 75人参与
# 没关系,至少我的__很曼妙 #
3874次浏览 65人参与
# 赚钱的意义在这一刻具象化 #
4241次浏览 99人参与
# 你的landing期是如何度过的? #
9091次浏览 176人参与
# 除了Java,最推荐学什么技术? #
6271次浏览 151人参与
# 我发现了面试通关密码 #
1600279次浏览 19679人参与
# 一人一道大厂面试题 #
114194次浏览 1263人参与
# 你觉得什么岗位会被AI替代 #
36949次浏览 256人参与
# 你在职场上见过哪些“水货”同事 #
30849次浏览 168人参与
滴滴公司福利 1829人发布
查看10道真题和解析