实验四动态分区分配算法

实验四动态分区分配算法

ID:47541636

大小:27.55 KB

页数:14页

时间:2020-01-14

实验四动态分区分配算法_第1页
实验四动态分区分配算法_第2页
实验四动态分区分配算法_第3页
实验四动态分区分配算法_第4页
实验四动态分区分配算法_第5页
资源描述:

《实验四动态分区分配算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.实验内容:存储器管理实验一、    实验目的采用首次适应算法(FF),最佳适应算法(BF),最坏适应算法(WF)三种不同的算法,实现对系统空闲区的动态分区分配。二、实验题目给予顺序搜索的动态分区算法的程序。 三、实验要求读懂给出的核心代码,进行适当的修改,编译通过后,完成实验报告。四、核心代码#include#include#include//常量定义#definePROCESS_NAME_LEN32#defineMIN_SLICE10#defineDEFAULT_MEM_SIZE10

2、24#defineDEFAULT_MEM_START0#defineMA_FF1#defineMA_BF2#defineMA_WF3intmem_size=DEFAULT_MEM_SIZE;intma_algorithm=MA_FF;staticintpid=0;intflag=0;structfree_block_type{intsize;intstart_addr;structfree_block_type*next;};structfree_block_type*free_block;word范文.//描述已分配的内存块structall

3、ocated_block{intpid;intsize;intstart_addr;charprocess_name[PROCESS_NAME_LEN];structallocated_block*next;};structallocated_block*allocated_block_head=NULL;//函数声明structfree_block_type*init_free_block(intmem_size);voiddisplay_menu();intset_mem_size();voidset_algorithm();voidrea

4、rrange(intalgorithm);intrearrange_FF();intrearrange_BF();intrearrange_WF();intnew_process();intallocate_mem(structallocated_block*ab);voidkill_process();intfree_mem(structallocated_block*ab);intdispose(structallocated_block*free_ab);intdisplay_mem_usage();voiddo_exit();struc

5、tallocated_block*find_process(intpid);intmain(){charchoice;pid=0;free_block=init_free_block(mem_size);//初始化空闲区while(1){display_menu();//显示菜单fflush(stdin);choice=getchar();//获取用户输入switch(choice){case'1':set_mem_size();break;//设置内存大小case'2':set_algorithm();flag=1;break;//设置算法c

6、ase'3':new_process();flag=1;break;//创建新进程case'4':kill_process();flag=1;break;//删除进程case'5':display_mem_usage();flag=1;break;//显示内存使用case'0':do_exit();exit(0);//释放链表并退出default:break;}word范文.}return1;}structfree_block_type*init_free_block(intmem_size){structfree_block_type*fb;

7、fb=(structfree_block_type*)malloc(sizeof(structfree_block_type));if(fb==NULL){printf("Nomem");returnNULL;}fb->size=mem_size;fb->start_addr=DEFAULT_MEM_START;fb->next=NULL;returnfb;}voiddisplay_menu(){printf("");printf("1-Setmemorysize(default=%d)",DEFAULT_MEM_SIZE);pri

8、ntf("2-Selectmemoryallocationalgorithm");printf("3-Newprocess");printf(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。