微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

进程表是否与 UNIX 中的作业队列相同?

如何解决进程表是否与 UNIX 中的作业队列相同?

作为一个学习操作系统的学生,我了解到内核空间中有一个数据结构叫做“进程表”,它维护着进程的所有信息。

后来,当我谈到调度的话题时,我被告知所有进入系统的进程都会首先被放入一个名为“作业队列”的数据结构中,该数据结构似乎也维护了有关进程的一般信息。

这让我想到,这里的“进程表”是否与“作业队列”相同?也许这是一个微不足道的问题,只是想确保我理解正确。我知道我可能需要查看 Linux 内核源代码解决这个问题,但谁能给我一些快速的见解?

解决方法

进程表是否与 UNIX 中的作业队列相同?

不,它们不一样。

阅读有关操作系统的this textbook;以及 processes 上的维基页面。

Linux 操作系统大多是开源的。您可以下载 (here) 并研究其源代码,并查看 GNU bashGNU make 的源代码以更好地了解如何使用 syscalls(2)。你也可以玩strace(1)

另请参阅 kernelnewbiesOSDEV 网站。

当然,内核有很多数据结构(以及数百万行源代码)。阅读有关 kernel scheduler 的更多信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。