⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 这是一个操作系统中模拟内存管理的程序。主要展示内存的三种分配算法
💻 C
字号:
//main.c 虚拟内存管理主程序
//2007.12.12

#include <stdio.h>
#include <malloc.h>
#include "mem.h"
#include "init.c"
#include "display.c"
#include "set_mem.c"
#include "algorithm.c"
#include "process.c"

int mem_size=DEFAULT_MEM_SIZE;       /*内存大小*/
int ma_algorithm = MA_FF;            /*当前分配算法*/
static int pid = 0;                          /*初始pid*/
struct free_block_type *free_block;			/*指向内存中空闲分区链表的首指针*/
struct allocated_area *allocated_block = NULL;		/*进程分配内存块链表的首指针*/
int flag_m=1;

//测试内存是否可更改
test_flag()
{
    if(allocated_block==NULL)
    flag_m=1;
    else flag_m=0;
}

main()
{
    char choice;
    free_block = init_free_block(mem_size); //初始化空闲区
    for(;;){
        page_c();
		display_menu();	//显示菜单
		choice=getche();	//获取用户输入
		switch(choice){
			case '1': test_flag();set_mem_size(); break; 	//设置或修改内存大小
			case '2': set_algorithm(); break;	//设置分配算法
			case '3': new_process(); break;		//创建新进程
			case '4': kill_process(); break;	//删除进程
			case '5': display_mem_usage(free_block,allocated_block); break;	//显示内存使用
            case '6': display_all();break;		//显示概况 
			case '0': do_exit(); exit(0);		//释放链表并退出	
			default: break;
        }
    } 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -