資源簡介
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
- 上一篇:局域網神探,探測IP地址
- 下一篇:redis-3.2.8.tar.gz
評論
共有 條評論