摘要:渐渐的,计算机以及物联网普及我们的身边各个领域,包括教学领域也开始了革新。但是在面对一些算法问题时,因为其不易理解的逻辑关系以及运行过程,给教学过程带来了不少问题。这时我们就需要使用可视化操作将算法以图形界面的方式呈现出来,因此算法的可视化就成了很重要的事情。而在我们计算机的学习中,操作系统是非常重要的原理,但因为书面的描述很难给人形象的理解,所以常常不能让读者对算法的过程在脑海中反映出具体的框架模型,所以本毕设就将从操作系统中的一些典型的算法问题,进行了可视化处理,让算法的过程透明化,给用户和学者更明朗的体验。
本文是从算法着手,将复杂的调度算法逻辑和过程呈现在用户眼前,学会算法调度的本质,随后还阐明了四类算法的逻辑和概念,进程调度、作业调度、内存调度、以及磁盘调度。此外还有哲学家进餐问题的动画演示。其中还有对应的算法对比和动态折线曲线图表显示。
关键词 C#;操作系统;进程调度;内存调度;作业调度;磁盘调度;可视化
目录
摘要
Abstract
1绪论-1
1.1研究背景-1
1.2研究意义-1
1.3国内外发展现状-1
2相关的开发技术及概述-3
2.1开发语言介绍-3
2.1.1C#介绍-3
2.1.2mysql数据库介绍-3
2.2开发工具介绍-4
2.2.1 Visual Studio2015介绍-4
2.2.2 GUI+技术介绍-4
2.2.3 多线程技术-5
3 需求分析-7
3.1系统的可行性分析-7
3.1.1可行性技术分析-7
3.1.2操作的可行性分析-7
3.1.3复杂性工程分析-7
3.2经典调度算法分析-8
3.2.1经典调度算法的层次-8
3.2.2经典算法的目标-9
4经典调度算法介绍-11
4.1作业调度及内存调度算法介绍-11
4.1.1 先来先服务调度算法(FCFS)-11
4.1.2 短进程优先调度算法(SJF)-12
4.1.3时间片轮转法(RR)-13
4.1.4高响应比优先调度算法(HRRF)-14
4.1.5 多级反馈队列调度算法(FB)-15
4.1.6 最早截止时间优先算法(EDF)-16
4.1.7 电梯调度算法(SCAN)-17
4.2 内存调度算法介绍-18
4.2.1 先入先出队列算法(FIFO)-18
4.2.2 最近最少使用算法(LRU)-19
4.2.3 最佳页面置换算法(OPTIMAL)-19
4.3 磁盘调度算法介绍-19
4.3.1 循环扫描调度算法(CSCAN)-19
4.3.2 扫描调度算法(SCAN)-20
4.3.3 先来先服务算法(FCFS)-20
4.3.4 最短寻找时间优先算法(SSTF)-20
4.4.4 哲学家进餐问题介绍-21
5 详细设计与实现-22
5.1基础界面功能设计-22
5.2系统架构-23
5.2.1系统架构流程-23
5.2.2系统功能流程-23
5.3各算法详细设计-24
5.3.1先来先服务进程调度算法-24
5.3.2优先级调度算法-25
5.3.3时间片轮转调度算法-25
5.3.4短进程优先调度算法-26
5.3.5高响应比优先调度算法-27
5.3.6多级反馈队列调度算法-27
5.3.7最早截止时间优先算法-28
5.3.8电梯调度算法-28
5.3.9 先入先出队列算法-29
5.3.10 最近最少使用算法-29
5.3.12 循环扫描算法-31
5.3.13 先来先服务算法-32
5.3.14 哲学家进餐问题-32
6软件测试-33
6.1功能测试-33
6.1.1单进程测试-33
6.1.2多进程测试-33
6.1.3内存及磁盘调度算法逻辑测试-34
7总结-35
参考文献-36
致 谢-37