`
lobin
  • 浏览: 417570 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于os的一些整理:第四篇:再谈内存管理

阅读更多

再谈内存管理

上面说的内存管理指的是架构提供的内存管理机制,如x86。这里再谈到的内存管理指的是操作系统在各种架构上实现的内存管理,以及包括内存的分配和释放。

 

这里提到的内存管理主要是程序中需要动态分配内存的堆的内存管理。

 

我们在编写程序的时候,经常需要动态分配一段内存空间,如A a = new A,或者通过malloc去申请分配一段内存空间。

 

这篇是在https://www.iteye.com/blog/lobin-2377671的基础上来实现内存管理的。在介绍内存分配算法时同时也会提供一个对应模拟实现。

 

是否开启分页内存管理

 

分页

 

内存分配算法

 

伙伴系统算法

伙伴系统算法也就是我们常说的buddy算法。linux下就是采用的这种buddy算法。

 

按阶管理的内存分配

 

 

12阶

 

内存申请

 

内存释放

 

算法模拟实现

可以使用任何编程语言,我这里选择的是C语言。

 

申请一块足够大的内存空间用来模拟内存条,也就是后面可用来分配的物理内存空间。起始物理内存地址为申请的内存起始地址,物理内存大小为申请的内存空间大小。

 

还可以模拟内存映射地址区间描述符表。

 

 

0
0
分享到:
评论

相关推荐

    iOS Mac.OS.X cocoachina知识点整理 part02

    在“iOS Mac.OS.X cocoachina知识点整理 part02”这个资源中,我们可以期待学习到一系列关于iOS和Mac OS X开发的重要概念和技术。CocoaChina作为一个知名的开发者社区,提供了丰富的教程和资料,帮助开发者深入理解...

    Mac OS X Lion 10.7.5

    以下是关于Mac OS X Lion 10.7.5的一些关键知识点: 1. **多点触控手势增强**:Lion引入了更多基于触摸板的多点触控手势,如全屏切换、捏合滚动、平滑滚动以及应用切换等,这些功能使得用户在没有触控屏的Mac上也能...

    iOS Mac.OS.X cocoachina知识点整理 part01

    本知识点整理是针对CocoaChina上分享的内容的一部分,主要聚焦于iOS和Mac OS X开发的基础概念和核心技术。这部分内容是“part01”,意味着它可能是系列教程的第一部分,旨在为初学者提供坚实的入门基础。 1. **...

    zuoyediaodu.rar_os

    在操作系统(OS)中,内存管理是至关重要的一个部分,特别是在处理大容量内存时。动态分区分配方式是一种灵活且常见的内存管理策略,它允许系统在运行时根据需求动态地为进程分配内存空间。本主题主要关注动态分区...

    第一个讲了大机以及Z/OS概述,第二个讲了GDG,以及JCL,第三个跟第四个讲了PL/I,第五个讲COBOL,第三部分PL/I.学费180,000.本人精心整理

    Z/OS提供了丰富的管理工具和接口,使得系统管理员可以高效地监控和管理整个大机环境。 GDG(Generation Data Group)是IBM大机系统中的一个数据管理机制,它允许创建和管理数据集的多个版本。GDG通过创建一系列有序...

    OS_chapter1.rar

    标题“OS_chapter1.rar”表明这是一份关于操作系统(Operating System, OS)的资料,章节为第一章。根据描述“笔记整理”,我们可以推测这可能是某位学习者或教师整理的操作系统基础理论的笔记,可能包括了概念解释...

    操作系统教程第四版答案

    这本书的解答部分被整理成四个PDF文件,分别对应不同的章节,包括第1-2章、第3章、第4-5章以及第6-8章的内容。这些PDF文件为学习者提供了深入理解操作系统概念和机制的机会。 首先,让我们来探讨操作系统的基本概念...

    HCIA鸿蒙设备开发认证习题整理1

    "HCIA鸿蒙设备开发认证习题整理1" 本资源摘要信息对应的知识点主要涉及到HarmonyOS设备开发认证的相关知识领域,涵盖了操作系统、编程语言、开发工具、设备驱动、软件开发等方面。 一、操作系统 * HarmonyOS设备...

    ucGUI学习笔记 -- 仿真器

    内存管理的基本流程包括分配内存、释放内存和内存碎片整理: - 内存的分配:当ucGUI需要一块内存时,会调用内存管理函数,找到合适的空闲块并标记为已使用。 - 内存的释放:不再需要的内存块会被标记为可用,返回...

    电脑知识整理大全 菜鸟变高手

    这篇详尽的电脑知识整理旨在帮助初学者快速提升技能,从电脑的基本操作到高级应用,逐步成长为电脑高手。以下是系统学习电脑知识的一些关键点: 一、操作系统基础 操作系统是电脑的核心,它管理并协调硬件与软件...

    整理的计算机应用基础简答题.pdf

    以下是基于提供的内容整理的计算机应用基础简答题的关键知识点: 1. **计算机发展史**: - 第一代计算机使用电子管,主要应用于科学计算。 - 第二代计算机引入了晶体管和操作系统,开始处理事务。 - 第三代...

    操作系统电子课件

    - 功能:包括进程管理、内存管理、文件管理、设备管理和作业调度等。 2. 进程管理: - 进程:是程序的一次动态执行过程,包含程序、数据和执行状态。 - 进程创建、撤销、切换:操作系统负责创建新进程、撤销不再...

    动态分区分配存储管理

    5. 改进与优化:提出可能的改进措施,如引入更高级的内存整理算法,或者结合其他内存管理技术。 通过这个课程设计,学生不仅能够学习到动态分区分配的基本理论,还能掌握实际操作系统的内存管理机制,提升编程和...

    整理的一些学习Python的内容.zip

    这个名为"整理的一些学习Python的内容.zip"的压缩包,很可能是包含了一系列的教程、笔记、代码示例等资源,旨在帮助初学者或进阶者系统地掌握Python。下面,我们将详细探讨Python学习中的关键知识点。 1. **基础...

    操作系统实验心得(精选多篇).doc

    文章共分为两篇,第一篇是操作系统实验心得,第二篇是操作系统实验总结。 操作系统实验心得 1. 络真的很强大,用在学习上将是一个非常高效的助手。在学习操作系统实验时,需要善于使用络来快速找到相关资料,从 ...

    Mac OS X Mavericks系统的新特性.docx

    通过标签系统,用户可以更轻松地整理和查找文件,解决了文件管理混乱的问题。 3. 多显示支持:Mavericks改进了对多显示器的支持,让用户在第二个显示屏上能显示更多内容,提升了多任务处理能力,尤其适合需要大屏幕...

    Mac OS X 应该如何维护和保养.docx

    4. **清理磁盘碎片 (Defragment)**: Mac OS X使用HFS+文件系统,通常不需要手动整理磁盘碎片。但是,如果你发现系统运行缓慢,可以使用磁盘工具进行“优化存储”,这有助于整理文件布局。 5. **修复磁盘权限**: ...

Global site tag (gtag.js) - Google Analytics