• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-07
  • 语言: 其他
  • 标签: 内存管理  

资源简介

1、在该实验中,采用可变分区方式完成对存储空间的管理(即存储空间的分配与回收工作)。 2、设计用来记录主存使用情况的数据结构:已分区表和空闲分区表或链表。 3、在设计好的数据结构上设计一个主存分配算法。 4、在设计好的数据结构上设计一个主存回收算法。其中,若回收的分区有上邻空闲分区和(或)下邻空闲分区,要求合并为一个空闲分区登记在空闲分区表的一个表项里。 5、(附加)若需要可以实现程序的浮动,对内存空间进行紧凑。

资源截图

代码片段和文件信息

// OS3.cpp : Defines the entry point for the console application.
//

#include “stdafx.h“
#include 
#include 
#include 
#include 
#include 
#define maxsize 1000  //定义原始分配区的大小。
#include 
struct free
{
    unsigned m_size;  
    char* m_addr;   
    struct free *next*prior;  
}*head*start;

char * mmalloc(unsigned size){ 
    struct free *current=start; 
    char * c;
    do{
        if(start->m_size>size)
{ //有足够大的空闲区,有余。
             start->m_size-=size; 
             c=start->m_addr; 
             start->m_addr+=size; 
             return c;
        }
        else if(start->m_size==size)
{ //有正好大小的空闲区。
             start->next->prior=start->prior; 
             start->prior->next=start->next; 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4277  2011-05-11 21:28  OS 3\OS31.cpp

     目录          0  2011-05-11 21:31  OS 3

----------- ---------  ---------- -----  ----

                 4277                    2


评论

共有 条评论