基于objective-c实现的操作系统内存分配模拟

本文介绍了一个名为Memory的类的设计与实现,该类用于管理内存分配与回收。它提供了四个核心函数:applyMemory用于申请内存空间;addMemory用于在指定地址加入任务;freeMemory用于释放特定任务占用的内存;clearMemory则用于清空所有任务并释放全部内存。Memory类通过两个链表形式的可变数组来跟踪空闲和已用内存块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二、程序设计图

主要的类有Memory类

该类共有4个对外主要功能的函数:

  • applyMemory(int memorySize)
    像内存申请一段大小为memorySize的空间,成功返回申请到的首地址,失败返回-1

  • addMemory(int idNumber,int memorySize,int start)
    在内存地址为start的地方加入编号为idNumber,且大小为memorySize的任务

  • freeMemroy(int idNumber)
    释放编号为idNumber的内存

  • clearMemory()
    释放当前所有的任务,清空内存。

Memroy有2个NsMutableArray(可变数组,这边被我改造成链表)的属性,freeMmeory和useMemory分别记录空闲的内存和已经被使用的内存。

useMemory和freeMemory中的元素为一个struct,包括以下变量:

  • int start:每一块空闲内存的起始位置

  • int memorySize:每一块空闲内存的大小

  • int idNumber:若是被使用,则idNumber为多少

点击此处下载文档和源码

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值