默认情况下,输出一个字符串到浏览器,经过3个阶段PHP buffer->Tcp buffer->浏览器(IE浏览器有的版本也存在buffer) PHP默认是打开输出缓冲的,在php.ini中可以配置output_buffering=4096(4kb,一个内存页),设置PHP输出缓冲大小 ?flush ...
分类:
Web程序 时间:
2016-07-06 17:56:59
阅读次数:
260
当一个线程调用函数fork的时候,整个进程地址空间会被拷贝到子进程中,在8.3节中有提到copy-on-write.子进程是一个与父进程完全不同的进程,但是如果父进程和子进程都没有对内存内容进行修改,那么该内存页就可以在父进程与子进程之间进行共享。 通过继承父进程的整个地址空间,子进程也会继承父进程... ...
分类:
编程语言 时间:
2016-07-02 20:15:59
阅读次数:
187
一 内存管理 默认情况下,运行在Linux系统上的每个进程都有各自的内存页面;进程不能访问其他进程正在使用的内存页面。 内核维护着自己的内存区域 用户进程不能访问内核进程的内存 可以创建一些共享内存页面,多个进程可在同一块共用内存区域进行读取和写入操作;内核负责维护和管理这块共用内存区域并控制每个进 ...
分类:
系统相关 时间:
2016-06-22 01:36:48
阅读次数:
199
这篇写的略为纠结,算法原理、库都是现成的,我就调用了几个函数而已,这有啥好写的?不过想了想,还是可以介绍一下LRU算法的原理及简单的用法。 LRU(Least Recently Used,最近最少使用)是一种内存页面置换算法。什么叫内存页面置换?我们知道,相对于内存的速度来讲,磁盘的速度是很慢的。我 ...
分类:
编程语言 时间:
2016-06-06 23:40:19
阅读次数:
503
实验要求: 1、编写一个内核模块,在模块中分配内存并访问 2、理解并验证kmalloc、vmalloc等函数的区别。 背景知识: 1、Linux内存页管理 Linux内核管理物理内存是通过分页机制实现的,它将整个内存划分成4K大小页,作为使分配和回收内存的基本单位。在分配内存时尽量分配连续内存,避免 ...
分类:
系统相关 时间:
2016-05-25 01:43:34
阅读次数:
397
虚拟内存地址 Windows所有的程序(Ring0和Ring3层)可以操作的都是虚拟内存。有一部分单元会和物理内存对应起来,但并非一一对应,多个虚拟内存页可以映射同一个物理内存页。还有一部分单元会被映射成磁盘上的文件,并标记为脏的。读取这段虚拟内存的时候,系统会发出一个异常,此时会出发异常处理函数, ...
Linux将随机存储RAM称为内存页。交换技术就是将一页内存复制到预先设定的硬盘上的交换空间,来释放该页占用内存。物理内存和交换空间的和就是可提供的虚拟内存的总量。...
分类:
系统相关 时间:
2016-05-07 07:37:40
阅读次数:
216
swap的功能与相应内核参数Linux将物理内存分为内存段的部分被称作“页面”。交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放用于页面的内存。物理内存和交换空间的总大小是可用的虚拟内存的总量。交换空间通常是一个磁盘分区(此分区在安装操作..
分类:
其他好文 时间:
2016-04-12 14:29:33
阅读次数:
262
学习内核的内存管理如果脱离了MMU的硬件原理,只去学习其软件逻辑,真的很难懂。说到底,软件代码的逻辑是为硬件服务,只是为了充分发挥硬件的各项功能,因此学习linux的内存管理机制,首先要学习下该处理器架构下MMU的工作原理,这样对我们理解页表机制的逻辑很有帮助...
分类:
系统相关 时间:
2016-04-05 17:46:52
阅读次数:
327
http://www.cnblogs.com/mutuan/archive/2012/03/18/2404957.html PHP中刷新输出缓冲buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数 ...
分类:
Web程序 时间:
2016-04-04 18:09:15
阅读次数:
206