是否所有process state
如新,已准备就绪,正在运行,正在等待和终止都被operating system
内核识别,还是为了方便理解?如果它被操作系统所认可,它将如何实现呢?操作系统是否知道进程状态?
1
A
回答
0
操作系统本身只需要你正在谈论的进程状态(与上下文相反,在某些文献中称为进程状态)。这是一种簿记工具。因此,它引入了额外的开销,希望在其他地方获得(a.o)的性能提升。例如,通过仅考虑就绪进程,操作系统可以避免切换到只会产生下一个进程的进程(会产生多余的上下文切换)。
该概念的实施可能会有所不同。并不总是PCB具有用于过程状态的显式数据字段。通常情况下,状态是由不同的队列实现的,其中进程按照不同的队列进行排序。有时,操作系统甚至会冗余表示进程状态。该表示是一个效率问题:例如,如果操作系统寻找一些准备好的进程(而不是关心哪一个进程),则队列的复杂度为O(1),而具有显式状态的PCB列表则需要O(n)。
总结:如果操作系统不知道进程状态,他们将是多余的。国家实施的方式和使用方式因系统而异。
0
问题在于这里的问题是该进程表示完全系统特定。
你的第一个问题在很大程度上是正确的,系统状态主要是“便于理解”的教学构造。
操作系统必须知道进程的状态。这可能会以各种方式进行维护,包括状态变量和队列。
相关问题
- 1. 操作系统状态图
- 2. 操作系统如何知道进程的执行时间
- 3. 是否有API知道当前的iOS/Mac是64位操作系统还是32位操作系统?
- 4. 操作系统:进程状态转换图
- 5. 操作系统和资源利用中的进程状态
- 6. 操作系统:进程状态转换图
- 7. 如何知道我目前的操作系统是否是C#中的Windows Vista?
- 8. 进程和线程在操作系统
- 9. Linux操作系统:将操作状态存取硬盘
- 10. 进程间通信,操作系统,管道
- 11. 使用procf知道进程状态/ <pid> /状态
- 12. 操作系统中的后台进程
- 13. 操作系统:实现进程ID
- 14. Firefox操作系统:进程,内存
- 15. 操作系统 - 一般进程创建
- 16. 网站是否依赖操作系统?
- 17. 是否有宏检测操作系统...?
- 18. 检查操作系统是否为Solaris
- 19. Android是否有“主机”操作系统?
- 20. 确定操作系统是否为Mac
- 21. 如何知道模块是否加载到系统的任何进程? C#
- 22. 如何知道2进程是否可以访问公用文件系统
- 23. PXE引导安装操作系统并使用程序获得其成功的操作系统安装状态
- 24. 是否有可能知道ydn-db放置操作的进度?
- 25. libumem是否仅在Solaris操作系统或其他操作系统中可用?
- 26. Docker - 容器操作系统是否需要与主机操作系统相同
- 27. 是否有可能知道SIM卡状态 - 对于iPhone编程
- 28. 如何知道线程是否处于死锁状态?
- 29. 操作系统线程调度程序是否被JVM覆盖?
- 30. 如何知道进程是否死亡
此评论仅适用于投票人选。我想知道为什么它被拒绝投票?它有什么问题? – sreepurna
如何在不需要的地方编写代码?你认为堆栈溢出只是一个用来回答编码问题的论坛吗?你认为像这样的核心技术深度驱动的情况是重要的要解决? – sreepurna
关于downvotes的另一个观点:你的问题含糊不清/不清楚。不知道你在谈论什么,有流程状态。此外,甚至不清楚你指的是什么操作系统。并且不清楚你最后要问的是,“它将如何做?”我已经阅读了几次,并重新阅读了这个问题,但仍然不清楚你在问什么。如果你觉得你可以澄清它,你应该相应地编辑你的问题。但是,不需要为了降低问题而生气。 –