摘要:《操作系统》银行家等算法的设计与实现是关于操作系统算法的程序设计。本文通过对操作系统几个过程的模拟,使读者了解了操作系统的实际工作过程,进而使读者对操作系统有了更深的认识和理解。
本文在广泛查阅国内外有关操作系统算法资料的基础上,对银行家算法、分区式内存管理、进程调度算法和设备的分配与回收这四个过程进行了设计与实现。其中,银行家算法包括输入原始资源数、判断分配是否安全和给出安全序列;分区式内存管理包括显示分区状态、最先适应算法分配空间、最优适应算法分配空间和最坏适应算法分配空间;进程调度算法包括静态优先权算法、动态优先权算法和时间片轮转法;设备的分配与回收包括设备的显示、设备的分配和设备的回收等内容。本文使用Visual Studio 2005作为开发工具,使用C#作为编程语言。
关键词 银行家算法;分区式内存管理;进程调度算法;设备的分配与回收
目录
摘要
Abstract
1 绪论-1
1.1 课题研究背景及意义-1
1.2 开发平台简介-1
1.2.1 .NET Framework和C#-1
1.2.2 Visual Studio 2005-1
1.3 本文研究的主要内容-2
2 总体设计-3
2.1 系统设计目标-3
2.2 系统模块设计-3
2.2.1 银行家算法-3
2.2.2 分区式内存管理-3
2.2.3 进程调度算法演示-3
2.2.4 设备的分配与回收-3
2.3 系统功能结构图-3
2.4 本章小结-4
3 银行家算法的设计与实现-5
3.1 银行家算法简介-5
3.2 银行家算法原理-5
3.3 银行家算法思路-6
3.3.1 基本要求-6
3.3.2 算法思路-6
3.4 银行家算法步骤-6
3.4.1 步骤-6
3.4.2 算法流程图-6
3.5 详细设计-7
3.5.1 界面的设计-7
3.5.2 代码的实现-8
3.6 银行家算法的测试-8
3.6.1 测试用例-8
3.6.2 测试过程及结果-9
3.7 本章小结-9
4 分区式内存管理的设计与实现-11
4.1 分区分配操作-11
4.1.1 分配内存-11
4.1.2 回收内存-12
4.2 分区分配算法的介绍及原理-12
4.2.1 首次适应算法-12
4.2.2 最佳适应算法-12
4.2.3 最坏适应算法-12
4.3 分区分配算法的算法思路-12
4.3.1 基本要求-12
4.3.2 算法思路-13
4.4 分区分配和回收算法步骤-13
4.4.1 首次适应算法步骤-13
4.4.2 最佳适应算法步骤-14
4.4.3 最坏适应算法步骤-14
4.4.4 回收步骤-15
4.5 代码的实现-16
4.6 分区式内存管理的测试-17
4.6.1 测试用例-17
4.6.2 测试过程及结果-17
4.7 本章小结-19
5 进程调度算法演示的设计与实现-21
5.1 进程调度-21
5.1.1 进程调度的功能-21
5.1.2 进程调度的方式-21
5.1.3 进程调度的算法-22
5.2 进程调度算法思路-22
5.2.1 基本要求-22
5.2.2 静态优先权算法思路-22
5.2.3 动态优先权算法思路-23
5.2.4 时间片轮转法思路-23
5.3 进程调度算法步骤-23
5.3.1 静态优先权算法步骤-23
5.3.2 动态优先权算法步骤-23
5.3.3 时间片轮转法步骤-24
5.4 界面设计-24
5.5 进程调度算法演示的测试-26
5.6 本章小结-28
6 设备的分配与回收的设计与实现-29
6.1 设备分配-29
6.1.1 设备的固有属性-29
6.1.2 设备分配算法-29
6.1.3 设备分配中的安全性-30
6.2 独占设备的分配程序-30
6.2.1 数据结构-30
6.2.2 分配步骤-30
6.2.3 设备回收-31
6.3 设备的分配与回收的测试-31
6.4 本章小结-32
结论-34
致谢-35
参考文献-36