当前位置:首页 >> 小学教育 >>

实验4操作系统上机实验


实验四、操作系统上机实验
——存储管理

操作系统上机实验
一、实验题目
动态分区存储管理

——采用首次匹配算法

二、目的与要求
通过消化理解模拟管理程序,了解存 储器的分配与回收过程,体会相关数据结 构在实现管理算法中的重要性。 输入一到两组实验数据,观察分配与 回收的处

理结果,特别是回收时邻接空闲 分区的合并处理,检测其算法的正确性。

三、数据结构
? 空闲分区链表

结点结构:

分区首地址 分区大小 链接指针 addr size next

struct linkk { int size; int addr; struct linkk * next; } struct linkk *PL;

三、数据结构(续)
? 作业表(记录作业情况)
jno 作业号 addr 内存地址 size flag 作业长度 标志

静态数组实现


struct jobtab { int jno; int size; int addr; int flag; }







struct jobtab tab[20];

例:内存分配情况 (假定总容量为640k)

空闲分区链表情况

作业表情况
0 1 2 3 4 5 6 7 8 9 80k 450k 160k 500k 350k 300k 30k 50k 140k 80k 90k 50k 0 0 0 1 1 1 0 1 1 1





四、算法思想
? 算法实现
? ? 分配:查空闲分区链表 回收:考虑邻接合并

? 实验过程:输入操作命令代码
1. 分配:输入作业号及作业长度(已建立作业不重复建 立)

2. 回收:输入作业号(不存在作业不释放空间)
3. 可查看空闲链表情况(检测分配、回收正确性) 4. 可查看作业表情况(检测分配、回收正确性)

五、算法流程
? 主程序(main()函数)
? 分配程序(allocm()函数)

? 回收程序(freem()函数)
? 显示空闲分区链表及作业表程序 (printlink()及printtab()函数)

? 主 程 序 ( ( ) 函 数 ) main

?
分 配 程 序 ( allocm ( ) 函 数



例:新建作业8,长度为90k,(输入8 => n,90 => l) 查链表,分区3够分配,一分为二。
空闲链表修改情况如下:

内存及作业表情况见前图(红线所示)

?回收程序(freem()函数)
有四种情形(假定回收区首地址 => addr,长 度 => length)

1.

空闲分区链表空,或不与任何空闲区邻接 => 分配新结点空间,写入回收作业首地 址及长度 插入空闲分区链(链首,链中,链尾)

2.

回收分区与后一空闲分区相邻接 => 进行后邻接合并 例:回收作业7空间(addr+length = 分区 4首地址) 修改分区4首地址及分区大小 (q?addr = addr; q?size = q?size+length;) 合并后空闲分区链表情况如下:

?回收程序(续)

3.

回收分区与前一空闲分区相邻接 例:作业4释放空间,与分区3合并 合并后空闲分区链情况如下:

4.

回收分区与前同时又与后空闲分区相 邻接 => 需进行三个分区合并,并删除一 个空闲分区结点 例:回收作业7后再回收作业4空间

注:除了修改空闲分区链表,还要修 改作业表(清除flag标志)

?显示空闲分区链表及作业表程序(printlink()及 printtab()函数)

=>上述三函数,同学们自己画出流程图

六、实验步骤
? 消化实验算法程序
? 组织上机实验数据
第一组:指定(见下页) 第二组:自定(要求能测试各种情形)

? 输入上机程序,编译,运行,记录各操作步骤的 运行结果(通过显示空闲分区链表及作业表)

指定操作数据
1.

(设内存总空闲容量为640K)

分配作业1(80k),作业3(30k),作业8(50k),作 业5(140k),作业9(50k),作业6(100k),作业4
(50k)

2.
3. 4.

观察(记录)空闲表及作业表情况
回收作业8,观察结果 分配作业7(80k),观察结果

5.
6. 7.

回收作业6, 回收作业1, 观察结果
分配作业10(120k),观察运行情况 回收作业7,作业3,作业5,观察各次结果

七、书写实验报告
1) 2) 3) 4) 实验题目 实验算法思想 算法流程 实验运行情况分析 (至少针对两组输入数据) 5) 实验体会(总结)


相关文章:
操作系统实验四
操作系统实验四_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 操作系统实验四_计算机软件及应用_IT/计算机_专业资料。贵州大学实验报告...
哈工大《操作系统》实验4
哈工大《操作系统》实验4_电脑基础知识_IT/计算机_专业资料。2014 级本科《操作...实验4操作系统上机实验 19页 1下载券 ©2016 Baidu 使用百度前必读 | 文库协...
操作系统实验四
Linux 基本操作与编程 实验环境 1、硬件环境: 计算机设备:P4+2G 内存 2、软件环境: VM+红帽子 Linux 5.5 《操作系统实验指导(四)内存管理算法模拟 (验证性...
操作系统实验报告4
操作系统实验报告实验序号: 学号 4 1207122219 1-418 姓 实验项目名称:进程控制 名 邝沃佳 李远敏 专业、班 实验时间软金二班 2014/10/21 实验地点 一...
操作系统实验指导4
操作系统实验指导4_计算机软件及应用_IT/计算机_专业资料。西农操作系统实验四 带优先级的时间片轮换的进程调度算法的实现实验学时:2 实验类型:设计 实验要求:必修...
操作系统实验4
操作系统实验4_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 操作系统实验4_计算机软件及应用_IT/计算机_专业资料。北京联合大学 信息...
苏州大学操作系统实验4
苏州大学操作系统实验4_工学_高等教育_教育专区。实验四进程的内存使用情况 实验目的:初步了解 windows 环境下内存的使用情况,通过使用 win32 下的 API 函数编写 ...
计算机操作系统实验四
计算机操作系统实验四_IT/计算机_专业资料。实验四:文件系统< 实验四:文件系统<一> [背景知识 背景知识] 背景知识 1. 选择文件系统 文件系统决定了操作系统能够对...
实验四 Windows操作系统安全
实验四实验目的 使用仪器 Windows 操作系统安全 通过实验掌握 Windows 账户与密码的安全设置、文件系统的保护和加密、安全策 略与安全模版的使用、审核和日志的启用,...
操作系统实验四
操作系统实验四 作业作业隐藏>> 2011 年 5 月 8 日 实验项目: 实验项目: 进程管理类命令的使用 实验目的:了解进程管理类命令的使用,熟悉进程管理类常用命令。 ...
更多相关标签:
操作系统上机实验 | 操作系统上机实验报告 | 操作系统上机实验代码 | 西电操作系统上机实验 | 哈工大操作系统实验4 | 操作系统实验4 | 操作系统实验报告4 | 操作系统2实验4 |