先行阅读:Linux 内存管理机制(内核空间层面分析) 内部碎片与外部碎片 在内存管理中 内部碎片是已经被分配出去(能明确指出属于哪个进程)的内存空间,却不能被利用的内存空间.(就是已经被分配出去的内存空间大于请求所需的内存空间,而导致有些内存自己不使用,别的也不能使用) 外部碎片是指还没有分配出去,但是由于大小太小而无法分配给申请空间的新进程的内存空间空闲块。 伙伴,别名Buddy(较好的解... 作者:liushengxi_root 发表于 2019/03/10 22:15:59 原文链接 https://blog.csdn.net/liushengxi_root/article/details/88377620 阅读:12 继续阅读 >>


刘生玺 19/03/10 22:15:59
作者:liushengxi_root 发表于 2019/02/22 18:28:12 原文链接 https://blog.csdn.net/liushengxi_root/article/details/86761511 阅读:37 继续阅读 >>


刘生玺 19/02/22 18:28:12
什么是MMU? 摘自维基百科:    内存管理单元(英语:memory management unit,缩写为MMU),有时称作分页内存管理单元(英语:paged memory management unit,缩写为PMMU)。它是一种负责处理中央处理器(CPU)的内存访问请求的计算机硬件。它的功能包括虚拟地址到物理地址的转换(即虚拟内存管理)[1]、内存保护、中央处理器高速缓存的控制,在较为简单... 作者:liushengxi_root 发表于 2019/01/25 19:16:19 原文链接 https://blog.csdn.net/liushengxi_root/article/details/86641327 阅读:83 继续阅读 >>


刘生玺 19/01/25 19:16:19
首先,所有应用程序对于硬件的所有操作都必须通过操作系统来完成。 我们可以把操作系统理解为在硬件和应用程序之间插入的一层软件 操作系统由两个基本功能:(1)防止硬件被关注的应用程序滥用.(2)向应用程序提供简单一致的机制来控制复杂而又通常大不相同的第及硬件设备。操作系统通过几个基本的抽象概念(进程,虚拟内存和文件)来实现这几个功能,在本文中只讨论虚拟内存. 文件是对I/O设备的抽象表示,虚拟内存是... 作者:dream0130__ 发表于 2019/01/22 16:08:06 原文链接 https://blog.csdn.net/dream0130__/article/details/86596391 阅读:34 继续阅读 >>


吕海东 19/01/22 16:08:06
(堆和栈又统称为动态存储区!!!!!) 1、栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) :一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事, 分配方式倒是类似于链表 3、全局区(静态存储区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变... 作者:liushengxi_root 发表于 2018/12/07 22:47:58 原文链接 https://blog.csdn.net/liushengxi_root/article/details/84888467 阅读:34 继续阅读 >>


刘生玺 18/12/07 22:47:58
文章目录前言原理初探共享内存的创建过程系列 API 的使用ftokshmgetshmatshmdtshmctl共享内存实例 前言 总结一下最近对于共享内存的学习, 可能比较浅显或者有疏漏, 欢迎指正! 原理初探 我们知道, 进程空间相互隔离, 互相对立, 但是共享内存允许多个进程可以访问同一块内存来达到进程间通信的目的. 共享内存是最高效的 IPC 机制, 它不涉及任何进程间的数据传输, 而且... 作者:weixin_36888577 发表于 2018/11/08 23:11:47 原文链接 https://blog.csdn.net/weixin_36888577/article/details/83870225 阅读:57 继续阅读 >>


吕子健 18/11/08 23:11:47
共享内存 共享内存简介 共享内存是所有进程间通信(IPC)手段中速度最快的,不同进程间使用事实上的同一内存区域,这样使得进程间使用信息时免去“复制”这一流程,减少开销。 以下面“进程A从文件f中读取数据,进行加工之后,将数据传递给进程B”这种场景为例,若使用其他的IPC形式,我们至少需要以下步骤: 1. 从文件f中复制数据到进程A的内存中; 2. 加工数据; 3. 将加工好的数据通过系统调用拷贝到... 作者:hepangda 发表于 2018/10/31 22:56:59 原文链接 https://blog.csdn.net/hepangda/article/details/83592270 阅读:107 继续阅读 >>


娄泽豪 18/10/31 22:56:59
1、brk释放内存和sbrk分配内存 #include<unistd.h> int brk(void *end_data_segment); 成功返回0,否则为-1 将内存边界设置为参数所指定位置 void *sbrk(intptr_t increment); 成功返回之前的内存边界,失败返回(void*)-1 增加内存边界,返回为新分配内存的起始位置(sbrk(0)就是获得堆... 作者:m0_37787222 发表于 2018/08/13 15:41:54 原文链接 https://blog.csdn.net/m0_37787222/article/details/81629276 阅读:90 评论:2 查看评论 继续阅读 >>


陈文浩 18/08/13 15:41:54
一、运行时的数据区域 程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每个线程都有一个独立的程序计数器,彼此间计数器互不影响,独立存储,即是“线程私有”的内存。 在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、跳转、循坏、异常处理、线程恢复等... 作者:ldx19980108 发表于 2018/08/08 08:20:41 原文链接 https://blog.csdn.net/ldx19980108/article/details/81501493 阅读:38 继续阅读 >>


李猛 18/08/08 08:20:41
一起来学习JVM吧 我们在学习C++的时候知道,每一个new操作都要对应相应的delete操作,否则会出现内存泄漏的问题,同理C语言的malloc和free也是如此。那么对于Java这门语言,我们却无需这样做,这一切都归结于JVM的强大,在虚拟机自动内存管理机制的帮助下,我们一般只需创建对象(申请内存),而不需要关注或者主动的销毁对象。不过,也正是因为我们把内存控制的权力交给了JVM,一旦出现内... 作者:hxllhhy 发表于 2018/07/27 01:18:40 原文链接 https://blog.csdn.net/hxllhhy/article/details/81230134 阅读:101 继续阅读 >>


贺含悦 18/07/27 01:18:40