可变分区说明表:区号,始址,大小,状态
固定分区说明表:区号,始址,大小,状态,使用大小
页表寄存器:页表始址,页长
页表:页号,块号
由于此模拟系统的工作所涉及到的数据库彼此不存在依赖关系
4.1.1 可变分区说明表
本系统可变分区表结构如图4.1所示
图4.1 可变分区结构图
4.1.2 固定分区说明表
本系统固定分区表结构如图4.1所示
图4.2 可变分区结构图
4.1.3 页表说明表
本系统页表说明表结构如图4.3所示
图4.3页表说明表结构图
4.1.4 页表寄存器说明表
本系统页表寄存器说明表结构如图4.3所示
4.4页表寄存器说明表结构图
4.2 人机界面设计
4.2.1 系统调用
系统调用界面主要是为了能过方便用户快速的打开所需的算法模拟模块。其功能就是快速的找到本系统下属子程序的并将其打开。界面如图4.5所示:
4.5系统调用界面
4.2.2 重定位界面
进入重定位界面用户输入载入程序大小和内存始址,以及载入程序所需的数据点击载入便可以观察到程序在通过重定位算法载入内存所产生的变化。有两个重定位类型按钮可以切换不同的载入形式。重定位界面图如图4.6所示。
4.6重定位界面
4.2.3 可变分区管理
本系统关于固定分区分配算法包含(分配和释放)两部分,其中分配算法采用又包含4种其操作流程基本一致。界面如4.7所示:
4.7可变分区管理界面
4.2.4 固定分区管理
本系统关于固定分区分配算法包含(分配和释放)两部分,其中分配算法采用最先适应性算法。界面如4.8所示:
4.8固定分区界面
4.2.5 页面置换
本系统关于分页存储管理方式的置换算法有三个部分,其中有先进先出置换算法、最佳置换算法、最近最久未使用置换算法。界面如图4.9所示
4.9页面置换界面
5. 系统实现
5.1 系统调用模块实现
系统调用模块主要是给用户在快速打开各个小程序的一个快捷方法,根据查找特定目录下的EXE文件,并判断其是否运行。如果其没运行按钮会访问该地址并打开运行进程。如果已运行则不坐任何操作 其流程图如图5.1所示:
图5.1系统调用模块流程图
5.2 重定位模块实现
重定位算法模拟包含(动态重定位,静态重定位)两部分。两者都是在程序载入内存的过程中关于各个地址有关的项的变动。所以为了体现重定位的特点,设置的内存特点设置的载入内存的设置为页面地址寄存器,跳转的语句。 Load R1,XX
静态重定位即在程序装入内存的过程中完成,是指在程序开始运行前,程序中的各个地址有关的项均已完成重定位,地址变换通常是在装入时一次完成的,以后不再改变。
静态重定位模块流程图如图5.2所示:
图5.2静态重定位模块流程图
动态重定位即在程序运行过程中要访问数据时再进行逻辑地址与物理地址的变换(即在逐条指令执行时完成地址映射。一般为了提高效率,此工作由硬件地址映射机制来完成。硬件支持,软硬件结合完成) 硬件上需要一对寄存器的支持。
动态重定位模块流程图如图5.3所示:
图5.3动态重定位模块流程图 C#操作系统课件设计算法模拟模块算法模拟系统(10):http://www.751com.cn/jisuanji/lunwen_1414.html