c - 如何在C中实现时钟页面替换算法?不是 C++

标签 c algorithm process operating-system clock

我是 C 语言的新手,我在实现这个应该模拟的程序时遇到了问题 用于将页面交换进出进程内存的时钟页面替换算法。

我不太清楚从哪里开始实现这个模拟。我假设要读取页码 0-99 的文件,然后从那里使用时钟页面替换算法来 模拟页面替换。谁能引导我朝着正确的方向前进,周末我一直在通过发现阅读 c,这样我就可以学习这门语言。任何帮助都会很棒。谢谢。附上算法。 Clock Page Replacement

最佳答案

要存储的数据的性质不清楚,是位域还是其他?对于位字段,每个数据项都将分配为原始整数类型(如 unsigned int,或者最好是 uint32_t)。在这种情况下,您可以使用位运算符来设置、清除或检查位。

如果数据是其他数据,您可以使用结构来定义每个数据项,并且该位可以表示为 bool 值。

在这两种情况下,整个“时钟”都可以分配为项目数组,您可以使用简单的 for 循环对其进行迭代。贴在时钟旁边的伪代码并不理想:只要事先知道项目的数量,就使用 for 循环。不需要“时钟指针”,使用循环迭代器。

关于c - 如何在C中实现时钟页面替换算法?不是 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24236822/

相关文章:

c++ - 如何通过屏幕右侧的输出而不是 C 中通常的左侧进行打印?

c - 循环中的 Malloc 导致内存泄漏

c - 如何关闭文件?

algorithm - 如何将树形成通往每片叶子的单独路径

vb.net - 如何在VB.NET中获取正在运行的进程名称的列表?

c# - 使用环境变量启动进程

c# - 如何在 Windows-CE 中终止进程?

c - 具有随机数的动态数组

algorithm - 这个数组的二分查找需要多少次比较?

algorithm - 如何在没有额外堆内存的情况下循环移动数组?