我对列表的初始版本做了一些调整,现在它满足了 Maziero 教授材料中规定的要求。我调整它以通过测试,并且我还决定使用 readapt for C。编译与可用的测试文件一起似乎这样问题较少。
重新访问此列表的代码,我需要重新访问双链接循环列表之前的更简单的列表,因此我能够在编码时整理出可靠的推理。
是一个结构体,其中每个节点包含三部分:Value、指向下一个节点的指针、指向上一个节点的指针。
允许双向导航,删除或添加节点只需调整上一个和下一个节点的点即可。
[head] [nó1] [nó2] [tail]
它可以是简单的链式(单面意义)或双链式(这就是我在该项目中使用的)。
列表中的最后一个节点与第一个节点相连,这意味着列表没有自然的结束点。
列表可以无限滚动,因为当到达末尾时,它会返回到开头。
使用循环双向链表使得操作系统具有循环调度的特性。
也就是说,最后一个进程执行完后,系统会回到第一个进程继续执行。
想象一个操作系统有三个进程:
[P1] [P2] [P3] [P1] ...
P3执行完时间后,链表会直接返回到P1,保证继续执行。
当前操作系统代码可以在这里找到。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3