我自己设计了一个 内核内存管理的构想 请大家拍转!

[复制链接]
3363|15
 楼主| niuyi 发表于 2009-1-14 17:56 | 显示全部楼层 |阅读模式
如题:
http://www.niuos.cn/bbs/viewthread.php?tid=61&extra=page%3D1
db10 发表于 2009-1-15 15:21 | 显示全部楼层

。。。

 直接贴出来吧?还搞什么注册你的网站,就没有人看了。。。
 比较感兴趣,不知道你的怎么样,现在我仿着别人的思路写的程序可以实现了固定大小内存的申请与管理。。。 由于是固定大小所以内存碎片不存在。。。
db10 发表于 2009-1-15 15:22 | 显示全部楼层

希望能一起研究与学习

walnutcy 发表于 2009-1-18 09:56 | 显示全部楼层

LZ的不贴,懒得过去看了,

LS的兄弟可以研究下uc/gui 或freertos里的内存分配算法,

uc/gui里的算法采用固定链表,会耗一些资源, freertos链表为动态的,不过回收机制还不是特别完善,,需要改进
djyos 发表于 2009-1-18 22:13 | 显示全部楼层

去我那看看吧

到 www.djyos.com 上下载:
《都江堰操作系统与嵌入式系统设计》一书,里面有详细的内存分配方法说明,包括动态内存分配和固定块分配方法。
 楼主| niuyi 发表于 2009-1-19 22:04 | 显示全部楼层

db10,我之前实现了固定大小的内存算法。

是没有碎片,可是,难道你让客户自己去管理所分配的固定大小的内存吗?会造成很大的浪费。怀着这样的遗憾,我才做了现在这个设计。
目前这个设计不会浪费也没有碎片释放时,自动回收合并分配速度快,最慢65条C语句。
只要你申请,内存没有满,剩多少就分配给你适合你的大小。
分配大小从4,8,16,32,...4Gbytes
内存管理理论上占用大小:
172/4096(4-2048bytes 分配)=4.2%
172/4096K(4K-2048Kbytes 分配)=0.004%
172/4096M(4M-2048Mbytes 分配)=0.000004%


不过目前程序只做了个开始。等我验证了,公布于世.
bob.xue 发表于 2009-1-20 14:54 | 显示全部楼层

支持djyos

我也大概看了下文档,想必是作者多年经验的浓缩!

衷心祝愿它能发展成一个产品!
wangkj 发表于 2009-1-21 08:31 | 显示全部楼层

懒得去看

computer00 发表于 2009-1-21 11:22 | 显示全部楼层

我在想一个问题:没有MMU的处理器,如何合并小块RAM为大块

例如地址0开始有100K,但是地址100K处分配了2K,接着又有500K的空闲,那我怎么合并成一个600K的空间?
bob.xue 发表于 2009-1-21 21:07 | 显示全部楼层

在uclinux应该有源代码

没有研究过
xhtxzxw 发表于 2009-1-24 19:50 | 显示全部楼层

嘿嘿

有什么样的MMU,就应该有什么样的内存分配策略.
airwill 发表于 2009-1-25 23:35 | 显示全部楼层

oo的问题很实际

所以很多没有 mmu 的处理器上, 使用固定大小的内存块分配策略
Swd21ic 发表于 2009-1-28 11:26 | 显示全部楼层

.......

都江堰操作系统与嵌入式系统设计

兵马俑操作系统与嵌入式系统设计
**长城操作系统与嵌入式系统设计
黄河操作系统与嵌入式系统设计 
常来21ic 发表于 2009-2-4 17:24 | 显示全部楼层

都江堰操作系统与嵌入式系统设计

不错,不知道有没有出版

我发个迅雷下载的链接吧
http://58.251.57.206/down?cid=DF8AF07AB0D4BBE7A39A969F27D06FCCE6CE7CA6&t=3&fmt=
djyos 发表于 2009-2-5 10:50 | 显示全部楼层

关于出版

谢谢楼上支持。
因出版社不同意无条件共享,故本书不打算出版。
因本书会不定期更新版本,因此还是去主站下载好些,不要给迅雷链接,也不要上载到其他地方。
db10 发表于 2009-2-5 12:56 | 显示全部楼层

王奉瑾

 老王,那就跟你吧,给我点事情做。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

39

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部