操作系统课设实验七---Nachos内存地址扩展

这次我们实验要求是一直做到实验七为止,但是比较难受的就是按照实验七的要求内存地址空间扩展部分即使做完了也没法验证,因为如果想验证就需要等到实验八做完才能验证,这里为了通过增加部分代码的方式来对实验七进行了验证,很多实现也参考了写完实验八的那位学长的博客。
山东大学操作系统课设实验nachos系统(6)系统调用Exec()和Exit()

一、实验要求重述

扩展地址空间,使其能够运行多个用户程序。

通过查看实验指导书中的Things to Do,可以知道在本次试验中,我们需要扩展地址空间使其能够运行多个用户程序,此外就是通过对Exec函数的处理,使得我们能够观察到扩展地址空间之后的结果。

二、地址空间扩展部分

首先我们来处理地址空间的扩展,通过对相关代码的分析,我们知道与空间分配有关的代码均在AddrSpace这个类中,在修改之前虚拟地址页到物理地址帧之间的映射是一对一的,这样也无法运行多个用户进程,所以我们需要对其进行修改,根据提示,我们知道这里在分配物理地址单位的时候可以用到bitmap这个数据结构,而这个数据结构可能在整个系统运行过程中都需要,因此我们可以把它设置为一个静态变量,这里我写到了addrspace.h中,如图:
bitmap的添加
我们曾经在文件系统的扩展中用过这个数据结构,那时将其写到磁盘上的时候只占了一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值