实践教学。兰州理工大学。
计算机与通信学院。
2023年秋季学期。
题目: 内存管理模拟系统。
专业班级: 05软件工程(2)班
姓名: 尹盼盼。
学号: 05240204
指导教师: 王旭阳
成绩。目录。
操作系统的内存管理是指系统软件对其他应用程序使用内存时所作的管理,是一种统筹关系。本设计采用活动分区方案,但不采用紧凑算法。假设系统内存容量为100kb。
能处理内存**的时候上下邻合并的问题;对随机出现的进程i申请jkb内存,程序能判断是否能分配;释放随机的首地址为handle的内存块;同时输出内存使用情况和空闲情况。
关键词:c语言、内存管理、操作系统、管理系统、内存的分配和**。
内存管理是计算机系统以一种优化性能的方式,在需要内存的不同进程(如操作系统或应用程序调用)之间将有限的内存进行分配的过程。执行这种任务的通用技术叫做虚拟内存技术,这项技术利用保留的磁盘空间存储不在物理内存中的对象,来模拟比实际可用的内存大得多的地址空间。此设计为了了解unix的命令及使用格式,熟悉unix/linux的常用基本命令,练习并掌握unix提供的vi编辑器来编译c程序,学会利用gcc、gdb编译、调试c程序,学会如何把学到的知识用于解决实际问题,培养学生的动手能力。
#include<>
#include<>
#include<>
#include<>
#define max10240
#define s 1
typedef struct
int i; /记录区号。
char *t;//记录区的起始地址。
int flag;//表明该区是否是空闲的。
page;typedef struct node
int c;//在头结点中存放的是该进程所占内存的大小。
int i;//在非头结点中存放的是进程号,在后续结点中存放的是该进程所占的内存的区号。
int fg;//表明该进程号已经存在,如果有新进程要编号必须用另外的编号。
struct node *next;
nd;nd *head[max/4];
page pg[max/4];
int init(char *)
int getm(int);
int releasem(int);
int display();
int sleep(int);
运行界面:自动演示界面:
手动管理界面:
显示内存状况:
内存不足释放界面:
经过本次课程设计,完成题目“内存管理模拟系统”, 熟悉了unix/linux的常用基本命令,理解并掌握了unix提供的vi编辑器来编译c程序,学会利用gcc、gdb编译、调试c程序。
操作系统原理课程设计
操作系统原理 课程设计。课题名称 进程调度算法。姓名 班级 学号 课程设计起止时间 2005年1月2日 2005年1月7日。指导教师成绩 课程设计任务书。进程调度算法。一 设计说明。该程序实现了进程的创建,且对该进程队列进行动态优先权抢占式和时间片轮转算法的调度。二 详细设计。1.流程图。2.程序运...
操作系统原理课程设计
操作系统原理 课程设计。一 课程设计题目 在linux操作系统下用c实现经典进程同步问题 生产者 消费者问题。二 课程设计目的 1 熟悉临界资源 信号量及pv操作的定义与物理意义。2 了解进程通信的方法。3 掌握进程互斥与进程同步的相关知识。4 掌握用信号量机制解决进程间的同步和互斥问题。5 实现生...
操作系统原理课程设计
1深入理解课程中有关多道程序设计 进程管理 内存管理。2熟悉程序设计 数据结构 软件设计。3体验软件开发的相关过程。假设一个机器,其有内存为64kb,系统采用请求页式系统进行存储管理,每个页面大小为1kb,另外其运行的os ksos本身需要占用占用16k,剩余空间留给了用户进程共享使用。模拟系统ks...