最先适应算法.doc

最先适应算法.doc

ID:55707443

大小:43.50 KB

页数:12页

时间:2020-05-26

最先适应算法.doc_第1页
最先适应算法.doc_第2页
最先适应算法.doc_第3页
最先适应算法.doc_第4页
最先适应算法.doc_第5页
资源描述:

《最先适应算法.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、#include#include#include#include#include#include#include#defineMAX_THREAD3typedefstructfreearea{//表示空闲区域的数据结构structfreearea*next;//指向下一个结点的指针intstart_address;//空闲区起始地址intsize;//空闲区大小}FREEAREA;typedefstruct

2、require_memory{//记录线程申请内存的数据结构structrequire_memory*next;//指向下一个结点的指针charthread_name[10];//线程名intsize;//申请内存大小(以KB为单位)intduration;//在内存的驻留时间(以秒为单位)}REQUIRE_MEMORY;typedefstructthread_residence_memory{//描述线程驻留区的数据结构structthread_residence_memory*next;//指向下一个结点的指针charthre

3、ad_name[10];//线程名intstart_address;//驻留区起始地址intsize;//驻留区大小}THREAD_RESIDENCE_MEMORY;FREEAREAinit_free_area_table[5]={{NULL,10,10},{NULL,40,30},{NULL,80,5},{NULL,145,15},{NULL,180,20}};//测试数据:初始空闲区表REQUIRE_MEMORYinit_thread_require_memory_table[3]={{NULL,"thread_1",20,4

4、},{NULL,"thread_2",10,5},{NULL,"thread_3",5,6}};//测试数据:初始内存申请表THREAD_RESIDENCE_MEMORYinit_thread_residence_memory_table[5]={{NULL,"a",0,10},{NULL,"b",20,20},{NULL,"c",70,10},{NULL,"d",85,60},{NULL,"e",160,20}};//测试数据:初始线程驻留区表FREEAREA*p_free_area_list=NULL;//空闲区链首REQUI

5、RE_MEMORY*p_thread_require_memory_queue=NULL;//内存申请队列队首THREAD_RESIDENCE_MEMORY*p_thread_residence_memory_list=NULL;//线程驻留链首THREAD_RESIDENCE_MEMORY*tail_thread_residence_memory_list=NULL;//线程驻留区链尾CRITICAL_SECTIONCS_THREAD_MEMORY_LIST;//保护线程驻留区链表的临界区CRITICAL_SECTIONCS_S

6、CREEN;//保护屏幕的临界区CRITICAL_SECTIONCS_FREEAREA_LIST;//保护空闲区链表的临界区HANDLEh_thread[MAX_THREAD];//线程句柄数组voidprint_space(intnum);//输出若干个空格voiddisplay_thread_residence_memory_list();//显示线程驻留区表voiddisplay_freearea_list();//最先适应分配法的函数FREEAREA*FF_initialize_freearea_list(FREEAREA

7、*init_table,intnum);//初始化空闲区链表voidFF_delete_freearea_list();//删除空闲区链表REQUIRE_MEMORY*FF_initialize_require_memory_list(REQUIRE_MEMORY*init_table,intnum);//初始化内存申请链表voidFF_delete_require_memory_list();//删除内存申请链表THREAD_RESIDENCE_MEMORY*FF_initialize_thread_residence_memo

8、ry_list(THREAD_RESIDENCE_MEMORY*init_table,intnum);//初始化线程驻留区链表voidFF_delete_thread_residence_memory_list();//删除线程驻留区链表voidF

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

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

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