刘超操作系统课程设计

发布 2022-10-05 13:10:28 阅读 2172

操作系统。

课程设计说明书。

题目: 设计一个可变式分区分配的存储管理方案,并模拟实现分区的分配和**过程。

院系: 计算机与科学工程学院

专业班级: 计算机09-3班

学号: 2009302863

学生姓名: 刘超。

指导教师: 王琳。

2024年 12月 18日。

安徽理工大学课程设计(**)任务书。

计算机科学与工程学院计算机科学与技术系。

2024年11月9日。

安徽理工大学课程设计(**)成绩评定表。

摘要。存储器是计算机系统的重要组成部分。近年来,存储器容量虽然一直在不断扩大,但仍不能满足现代软件发展的需要,因此,存储器仍然是一种宝贵而又紧俏的资源。

如何对它加以有效的管理,不仅直接影响到存储器的利用率,而且还对系统性能有重大影响,存储器管理的主要对象是内存。由于对外存的管理与对内存的管理相类似,只有他们的用途不同,即外存用来存放文件。

连续分配方式,是指为一个用户程序分配一个连续的内存空间。这种分配方式曾被广泛应用于20世纪60~70年代的os中,它至今仍在内存分配方式中占有一席之地;又可把连续分配方式进一步分为单一连续方式、固定分配方式、动态分区分配以及动态重定位分区分配四种方式。

其中,动态分区分配是根据进程的实际需要,动态地为之分配内存空间。在实现可变分区分配时,将涉及到分区分配中所用的数据结构,分区分配算法和分区分区的分配与**操作,分区分配算法将采用首次使用算法,简称ff。

关键词:存储器,连续分配方式,动态分区分配,首次适应算法。

目录。1.系统分析 1

1.1问题描述 1

1.2算法描述 1

1.3设计目的 1

1.4实验思路 1

2.系统设计 2

2.1设计要求 2

2.2设计原理 2

3.系统实现 4

3.1数据结构 4

3.2分区分配算法 4

3.3内存的分配与** 5

3.4实验结果 7

4.总结 10

参考文献 11

1.系统分析。

设计一个可变式分区分配的存储管理方案,并模拟实现分区的分配和**过程。对分区的管理可以是下面三种算法之一:首次适应算法、循环首次适应算法、最佳适应算法。

在熟练掌握计算机分区存储管理方式的原理的基础上,利用c程序设计。

语言在windows操作系统下模拟实现操作系统的可变分区存储管理的功能,一方面加深对原理的理解,另一方面提高根据已有原理通过编程解决实际问题的能力,为进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。

动态分区分配是根据进程的实际需要,动态地为之分配内存空间。在实现可变分区分配时,将涉及到分区中所用的数据结构、分区分配算法和分区的分配和**操作这样三个问题。

带着下面几个问题,对课题进行深入分析直至解决问题:

1.了解分区的动态分配;

2.了解为什么要进行动态分配;

3.掌握首次适应算法的数据结构和内存分区的**与分配;

4.了解算法的执行过程,加深对首次适应算法的理解。

用到的知识点是c语言中的结构体、指针、数组等与基本c程序设计技术的。

应用。需要设计合理的数据结构来描述存储空间,包括:被程序占用的存储空间、空闲的存储空间、多个程序的组织。

根据可变分区存储管理的基本原理,程序的实现主要包括以下几个部分:

内存的初始化:包括确定内存的起始地址、内存的大小等;

为程序分配存储空间:采用首次适应算法来实现;

记录和显示内存被程序占用的情况;

记录和显示内存中空闲块的情况;

**存储空间:程序运行完毕后,要及时**内存空间;

碎片拼接:当出现内存中总的空闲空间满足要申请程序的要求,但是每个空闲块都不能满足程序要求的时候,需要进行碎片拼接合并。

系统应用首次适应算法,从空闲分区表中找到所需大小的分区。设请求的分区大小为表中每个空闲分区的大小可表示为若<=size(size是事先规定的不再切割的剩余分区的大小),说明多余部分太小,可不再切割,将整个分区分配给请求者;否则(即多余部分超过size),从该分区中按请求者的大小划分出一块内存空间分配出去,余下的部分仍留在空闲分区表中。然后,将分配区的首地址返回给调用者。

下图示出了分配流程。

图2-1内存分配图。

由下图示所述在释放时的4种不同情况,在free_table时先用if语句对不同的情况做分类讨论,然后再各自进入所对应的支路。

图2-2内存**时的情况。

在系统设置一张空闲分区表和已分配区表,用于记录每个空闲分区的情况。每个空闲分区占一个表目,表目中包括分区标志位、分区起始地址、分区的大小以及分区的作业名字等数据项。

已分配区表:

struct

在动态分区存储管理方式中,主要的操作是分配内存和**内存。

void allocate(char *jobname,float length) /给jobname作业,采用首。

适应算法分配length大小的空间*/

int i,k;

float add;

k=-1;

for(i=0;i

操作系统课程设计

课程设计 河北大学工商学院。装。订。线。操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专 操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专业计算机类 学号 姓名。指导教师。年 6 月 24 日。设备管理 2 2.1设计任务2 2.2设计要求...

操作系统课程设计

银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...

操作系统课程设计

学生实习实训报告。实习类型 操作系统课程设计 学号 0901110005 学生姓名 田兴杰 指导教师 曹春梅 专业班级 信息安全技术0901班 院 部 电子信息系 2011年 1 月 7日。实习实训成绩评定表。目录。目录3 摘要4关键字4 1.1虚拟机简介5 1.1.1 一般意义的虚拟机5 1.1....