文件名称:prj0.tar
- 所属分类:
- Linux/Unix编程
- 资源属性:
- [Linux] [C/C++] [源码]
- 上传时间:
- 2012-11-26
- 文件大小:
- 2kb
- 下载次数:
- 0次
- 提 供 者:
- chenk*****
- 相关连接:
- 无
- 下载说明:
- 别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容均来自于网络,请自行研究使用
linux 源代码: When free() is called, the memory cannot usually be returned to the OS, do to contiguity restrictions. So your implementation should simply put this memory on its own internal free list. When malloc() is called, your implementation should first check your internal free list. Only if the memory is not available there should your implementation call sbrk().
To manage your free list, you should keep a separate free list for every power of 2. Thus, you should have a free list for blocks of size 1, 2, 4, 8, etc., up to 2^31. When the user calls malloc(), you return a block of size up to the next power of 2. Thus, if a user requests 3 bytes, you check your free list of blocks of size 4. If there is a block available, you return that. If not, you call sbrk() to get another chunk of memory from the OS. -It gives you some idea of memory management at the user level. It is also designed to give you an idea of whether or not you wish to take this course. The goal is to implement a simple version of malloc() and its associated functions, free(), calloc(), and realloc().
To manage your free list, you should keep a separate free list for every power of 2. Thus, you should have a free list for blocks of size 1, 2, 4, 8, etc., up to 2^31. When the user calls malloc(), you return a block of size up to the next power of 2. Thus, if a user requests 3 bytes, you check your free list of blocks of size 4. If there is a block available, you return that. If not, you call sbrk() to get another chunk of memory from the OS. -It gives you some idea of memory management at the user level. It is also designed to give you an idea of whether or not you wish to take this course. The goal is to implement a simple version of malloc() and its associated functions, free(), calloc(), and realloc().
(系统自动生成,下载前可以参看下载内容)
下载文件列表
prj0.tar