0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
懒散之魂:进程从阻塞状态(Blocked或Waiting状态)转到运行状态(Running)是不直接的,中间需要经历就绪状态(Ready)。这是因为当进程被阻塞时,通常是因为它在等待某些事件(比如I/O操作、获取某些资源)的完成。当这个等待事件发生且完成时,操作系统会将其状态从阻塞状态改为就绪状态,此时进程已经准备好运行,但是实际上没有运行,因为它必须等待CPU资源的分配。只有当调度程序将CPU分配给这个在就绪队列中的进程时,它才会转为运行状态。
这个由阻塞到就绪再到运行状态的变化,确保了操作系统资源的有效管理和公平分配,因为可能有多个进程同时变为就绪状态,它们需要按照调度算法来竞争CPU资源。如果进程能够直接从阻塞转为运行,并占用CPU,这将无视其他可能已经在就绪队列中等待较长时间的进程,这样会打破CPU资源分配的公平性,造成所谓的饥饿问题。 因此,现代操作系统设计中都采用这种有中间状态的转换机制。
来自 gpt4 的回答
0 点赞 评论 收藏
分享
03-14 10:55
华中科技大学 golang 落巡风:兄弟这不好说,我舍友面完后,几天都是这个怀疑是挂了。我的一面完后也是这个,前天面的,都两天了还没有面试邀约怀疑也是挂了。但是你是昨天面的话,还有两天时间吧,听说三天没有动静大概率就寄了。
顺便问一下,佬你一面跟二面邀约隔了几天啊。
0 点赞 评论 收藏
分享
非本地放假:后面还解释了一下为什么问这么多语言层面,说是业务代码谁都会写,但他们做的方向上要做优化做到极致的话就是要考虑到语言特性和深入系统结构层面。
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
关注他的用户也关注了: