如何理解PHP虚拟机

Posted by 夏泽民

1.从物理机说起 虚拟机也是计算机,设计思想和物理机有很多相似之处;



内存屏障原理分析

Posted by 夏泽民

1 速度不对等 Cpu的速度比cpu之间的互联性能及cpu试图要访问的内存性能,都要快上几个数量级 现代处理器基本都是多核,并且每个cpu都有自己独立的cache,不同cpu共享主内存,然后不同cpu通过总线互联,cpu -> cache -> memory 访问速度成大数量级递减,cpu最快,cache慢一点,memory更慢。 2 MESI协议 cpu从内存中加载数据到自己的cache,当不同的cpu都加载了同样的内存数据的时候,并且对数据进行操作的时候,需要维护数据在不同的cache 中的一致性视图就需要MESI协议,cache里面的缓存行有四种状态分别是Modified,Exclusive,Shared,Invalid。协议在每一个缓存行中维护 一个两位的状态“tag”, 这个“tag”附着在缓存行的物理地址或者数据后 ,标识着缓存行的状态



linux最大进程数、最大打开文件数

Posted by 夏泽民

ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。本文将在后面的章节中详细说明 ulimit 的功能,使用以及它的影响,并以具体的例子来详细地阐述它在限制资源使用方面的影响。



内存池

Posted by 夏泽民

从内核中的伙伴系统,页高速缓存系统,slab内存管理系统,常规内存高速缓存系统,到用户线性区管理,用户动态内存分配malloc/free,最终因时制宜选择自定义内存区管理策略,到底有哪些驱动力? 接下来我们来梳理一下 1.伙伴系统 伙伴系统是内核为解决外碎化问题引入的内存管理机制。在32位体系结构中,虚拟内存空间的第四个GB用来线性的映射物理内存开始的DMA和低端内存管理区。而内存管理的基本单位是页,一个页的大小为4kB。所谓的外碎化指的是多次申请多个页的内存并释放后,会导致内存中存在不间隔的无法集中利用的页,其基本单位仍然是页,只是没有办法找到连续的可用来分配的多个页框。为了应对这样的事情,伙伴系统应运而生。伙伴系统首先将内存分为11个不同的2指数个大小的内存对象集合,每个集合用双向链表表示。分配内存时从小到大选择第一个能够满足大小的内存对象(2的order指数个),在这个过程中,如果没有办法找到适配的块,则对于大块的内存需要分割,分割时候将剩下的2k-2order大小的内存区分别放入到k~order大小的内存对象集合中,如果发现伙伴(相邻的)中有空闲的内存块,则进行合并。释放内存块的时候同理。



rename

Posted by 夏泽民

rename命令用字符串替换的方式批量改变文件名。



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required