C语言固定分区存储管理实验
本实验的目的是通过编写固定分区存储管理的模拟程序,来加深对操作系统存储管理功能中的固定分区管理方式、主存分配表等相应知识的理解。
1. 固定分区存储管理方式:
固定分区存储管理方式是操作系统中的一种常见的存储管理方式。这种方式将主存分成固定大小的分区,每个分区都有其固定的起始地址和长度。当一个作业需要申请存储空间时,操作系统会从这些固定分区中选择一个合适的分区来分配给该作业。
2. 主存分配表:
主存分配表是操作系统中用来记录主存的使用情况的数据结构。该表记录了每个分区的起始地址、长度和占用标志等信息。当一个作业申请或释放存储空间时,操作系统会根据主存分配表来分配或释放相应的存储空间。
3. 实验步骤:
在本实验中,我们将编写一个模拟固定分区存储管理的程序。该程序将模拟三个作业的存储空间申请和释放过程。具体来说,作业J3申请5K大小的存储空间,作业J4申请33K大小的存储空间,作业J1执行完毕,释放存储空间。我们的程序将根据这些请求,模拟固定分区存储管理的过程,并输出主存分配表的变化情况。
4. 程序设计:
我们的程序将使用C语言编写,使用结构体来表示分区信息。我们定义了一个结构体subarea,其中包含了起始地址、长度和占用标志三个成员变量。我们还定义了两个函数distribute1和distribute2,分别用于申请和释放存储空间。
函数distribute1将遍历所有的分区,查找一个合适的分区来分配给申请的作业。如果找到合适的分区,就将该分区的占用标志设置为申请的作业的标志,并输出主存分配表的变化情况。如果没有找到合适的分区,就输出“分配失败”。
函数distribute2将遍历所有的分区,查找要释放的作业的分区,并将该分区的占用标志设置为0,并输出主存分配表的变化情况。
在main函数中,我们将首先输入分区的个数,然后输入每个分区的信息。接着,我们将根据三个作业的请求,模拟固定分区存储管理的过程,并输出主存分配表的变化情况。
5. 实验结论:
通过本实验,我们可以更好地理解固定分区存储管理方式和主存分配表的工作原理,并掌握C语言编程的基本技能。同时,本实验也可以帮助我们更好地理解操作系统的存储管理机制,并为后续的学习和研究打下基础。