我正在参加一个操作系统课程,我们已经讨论过什么是一个过程控制块,它存储在什么内容中,它服务的目的是什么,我理解所有这些,但我们并没有真正触及过实际使用什么数据结构来实现它。在谷歌搜索之后,我遇到了两种结构:使用链表或数组。我意识到结构可能因操作系统的不同而有所不同,但我想知道究竟是用什么数据结构创建一个,特别是在Unix操作系统中(因为我使用的是Unix机器)?
答案 0 :(得分:4)
doubly-linked list
数据结构通常使用'实施过程控制块!在UNIX中,PCB也实现为双向链表。
但是,如果您的操作系统(谈论自定义操作系统)是轻量级的,那么您可以通过使用更简单的数据结构(例如数组)来实现!但是,一般来说,PCB是一个非常大的数据结构,因此,建议存储在双向链表中,该列表可以适用于任何级别的任何进程(存储所有可能的有关进程的信息)。 / p>
另外,检查我的this answer,这里也是我在最后一行中提到的相同答案......