【问题标题】:What are the data structures used to implement the Process Control Block in Unix?Unix 中用于实现进程控制块的数据结构是什么?
【发布时间】:2014-09-22 20:29:35
【问题描述】:

我正在学习操作系统课程,我们已经讨论过进程控制块是什么、存储在其中的内容、服务器的用途,我了解所有这些,但我们并没有真正触及哪些数据结构实际上是用来制作它的。谷歌搜索后,我遇到了两种结构:使用链表或数组。我意识到该结构可能因操作系统而异,但我想知道究竟使用什么数据结构来创建一个,特别是在 Unix 操作系统中(因为我使用的是 Unix 机器)?

【问题讨论】:

  • 嗯,你可以看看源代码。我相信这会有所帮助...

标签: operating-system


【解决方案1】:

doubly-linked list 数据结构“通常”用于实现过程控制块!在 UNIX 中,PCB 也是作为双向链表实现的。

但是,如果您的操作系统(谈论自定义操作系统)是轻量级的,那么您可以通过使用更简单的数据结构(如数组)来摆脱困境!但是,一般来说,PCB 是一个非常大的数据结构,因此建议将其存储在双向链表中,该列表可以适应任何级别的任何进程(存储有关进程的所有可能类型的信息)。

另外,检查我的this answer,我在最后一行也提到了相同的答案......

【讨论】:

  • 非常感谢!我会投票给你,但我没有足够的声誉。
猜你喜欢
  • 2019-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-09
  • 2014-04-06
  • 1970-01-01
  • 2023-03-17
相关资源
最近更新 更多