操作系统实验报告

发布时间 : 星期二 文章操作系统实验报告更新完毕开始阅读

5.int main() 主函数

e.运行结果截图

4.结果分析与小结 多个进程同时运行时,系统根据各类系统资源的最大需求和各类系统的剩余资源为进程安排安全序列,使得系统能快速且安全地运行进程,不至发生死锁。银行家算法是避免死锁的主要方法,其思路在很多方面都非常值得我们来学习借鉴。

实验三 动态分区分配方式的模拟

1.实验目的

了解动态分区分配方式中的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解

2.实验要求

1. 用C语言分别实现采用首次适应算法和最佳适应算法的动态分区分配过程和

回收过程。其中,空闲分区通过空闲分区链(表)来管理;在进行内存分配时,系统优先使用空闲区低端的空间。

2. 假设初始状态下,可用的内存空间为640KB,并有下列的请求序列:

请求顺序 作业1 作业2 作业3 作业2 作业4 作业3 作业1 作业5 作业6 作业7 作业8 操作 申请 申请 申请 释放 申请 释放 释放 申请 申请 申请 申请 请求内存大小(KB) 130 60 100 60 200 100 130 140 60 50 60 3. 要求每次分配和回收后显示出作业分配情况及空闲内存分区链的情况。

3.实验内容 a.算法原理

(1)首次适应算法: 最先适应算法的基本思想是空闲区表中的空闲区按地址大小递增顺序排列。当要求分配一个容量S的区域时,在空闲区表中从头开始比较。直到找到X>=S为止。如果满足,则从X中分配S,剩余部分保留在空闲区表中原来位置,否则分配失败。

(2)最佳适应算法: 最佳适应算法的基本思想是空闲区表中空闲区按其容量以递增次序排列,即X1<=X2<=X3<=.......<=Xn 。当要求一个空闲区时,由小到大进行查找。如果要求分配一个容量为S的分区,则从X1开始比较,直至S<=X1;然后从Xi分配S,若有剩余,则作为一个空余区插入适当位置,否则分配失败。

联系合同范文客服:xxxxx#qq.com(#替换为@)