采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
1 下面分配的过程听得懂,就是不明白节点是指什么?每个固定的内存大小比如2K 4K里面的节点也都是固定的2K 4K吗?就是比如4K有6个节点就是内存中有6块4k大小的块吗? 2 刚才分配的内存伙伴在空闲链表上吗是什么意思?刚刚我们分配了100K内存,所以他的内存伙伴是谁?另一个块128K大小的内存吗?明明=在判断分配的过程中没有128K的啊,128K是从1M一步一步切割下来的啊,所以伙伴是谁呢?这里听不懂
节点指的是使用链表管理内存时,所对应的链表节点,这个可以和前面第五章的双向链表建立起联系。
伙伴指的是大小相同并且物理空间相邻的内存片段,这个称为伙伴,这个可以通过课程内容了解的哈,有相对清晰的解析,并且通过内存分配以及回收的过程也能理解这一点哦
希望对你有所帮助,加油!!
1 每个固定的内存大小比如2K 4K里面的节点也都是固定的2K 4K吗?就是比如4K有6个节点就是内存中有6块4k大小的块吗? 2 刚才分配的内存伙伴在空闲链表上吗是什么意思?刚刚我们分配了100K内存,所以他的内存伙伴是谁?另一个块128K大小的内存吗?明明=在判断分配的过程中没有128K的啊,128K是从1M一步一步切割下来的啊,所以伙伴是谁呢? 老师说的是定义全都是PPT里的。显然没回答我的问题
1. 是的,2k、4k、8k、16k,因为只有这样才能满足2的幂次,也才能让buddy算法运行。 2. 是另一块128k大小的内存,并且要求物理位置是相邻的,1M可以一步一步切成128k,首先1M可以切成相邻的两个512k,所以这两个512k是互为buddy,然后一个512k可以切成两个256k,他们互为buddy,以此类推。
所以,意思就是,实际上这个包含了分配的100k的128k内存块的伙伴,就是同为从这1M里面一步一步切割出来的另一个128k内存块,我这么理解是对的吧? 感觉你在这里描述地实在是过于模糊,如果我们不把我刚才说的这个掰清楚,是根本不能理解这个内容的。建议你在视频里这个地方,加一个详细点的说明。
登录后可查看更多问答,登录/注册
编程之前先学这门课,系统补足计算机基础知识,夯实编程地基
3.4k 17
1.7k 14
1.2k 13
1.4k 11