main.c

来自「这是一个操作系统中模拟内存管理的程序。主要展示内存的三种分配算法」· C语言 代码 · 共 48 行

C
48
字号
//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 + =
减小字号Ctrl + -
显示快捷键?