OS Algorithm Simulator是一个教育性应用程序,可让您模拟使操作系统(OS)正常运行的算法。
您可能知道,操作系统的主要目标是管理4种资源:
-CPU。
- 记忆。
-输入/输出(I / O)系统。
-文件系统。
每个操作系统都包含几种提供上述功能的算法。例如:
-CPU调度算法选择每个瞬间应占用CPU的进程。
-另一个算法负责在进程分配资源时不让死锁发生。
-内存管理算法将每个进程的内存划分为多个部分,而另一个则决定应交换哪些部分以及哪些部分应保留在RAM中。分配可以是连续的,也可以不是连续的。在后一种情况下,我们将拥有更现代的机制,例如分页或分段。然后,页面替换算法将决定哪些页面可以保留在内存中,哪些页面不能保留在内存中。
-另一个算法负责注意硬件可能对I / O系统产生的所有中断。
- 等等。
为了深入了解操作系统,必须知道这些算法如何工作以及为什么某些似乎合理的方法已被诸如Windows或Linux之类的著名操作系统所抛弃。本应用程序的目的是提供有关每种问题的不同方法的解释,并通过模拟说明每种算法的工作方式。为此,该应用程序包含一些示例,但它也允许您提供自己的数据集并检查每种算法如何对它们执行。同样重要的是,在大多数情况下,此应用程序不包含最新的算法,而是我们认为更适合学习过程的简化。
特征:
-几种抢占式和非抢占式流程调度算法:
*先到先得
*最短的工作优先
*最短的剩余时间优先
*基于优先级(非抢占式)
*基于优先级(抢先)
*循环赛
-死锁算法:
*避免死锁(银行家算法)。
-连续内存分配 *首先适合
* 最合适
*最不适合
-页面替换算法:
*最佳页面替换
*先进先出
*最近最少使用
*先进先出,第二次机会
*不经常使用
*老化
-对于每种算法:
*它允许创建用于仿真的自定义数据集。
*它包括测试模式以测试您的理解力。