
内存
文章平均质量分 85
wwena8
现为研一在读学生
展开
-
Linux内存探讨系列之一-Linux内存概述
内存是计算机的重要组成部分,是操作系统管理的一种重要资源。更好地利用内存做开发,是优秀程序员的必备素质。一 内存的概念内存是一种物理存储介质,介于磁盘与CPU之间,它的存取速度比CPU慢,比磁盘快。任何进程的运行,必须先加载到内存,然后CPU再从内存中执行操作指令。二 内存的管理目标目前的操作系统均支持多道程序处理,即同一个操作系统上要运行多个进程,那么如何保证进程之间相互独立运行,不会发生地址访...原创 2018-01-15 00:08:52 · 389 阅读 · 0 评论 -
oom_killer机制
在操作系统中,往往运行着多个进程,这些进程所占的真实的物理往往也不一样,为了保证大部分进程都能正常执行下去。操作系统往往要自己杀死一些进程来释放出内存资源,以供其他进程使用。这就是oom_killer。Linux oom_killer机制转载 2018-01-16 13:59:19 · 276 阅读 · 0 评论 -
Linux内存管理系列之二-物理内存分配机制
内存是计算机的重要组成部分,它是一种物理介质,它的存取速度介于cpu与磁盘之间。它的主要作用是用来交换数据,即将磁盘组的数据通过内存读入cpu,同时将cpu操作后的数据通过内存写入磁盘。在当下的Linux中,内存主要包括:内核空间内存与用户空间内存。这两部分的内存全部由Linux内核管理。我们首先来看内核是如何管理物理内存的。一 页与区的概念1:物理内存分页在linux中,内核通原创 2018-02-07 12:21:31 · 1312 阅读 · 0 评论 -
Linux内存管理系列之三-slab缓存机制
在计算机体系结构中,读写速度排序如下:CPU>CPU缓存>物理内存>物理磁盘。因此在处理物理内存时,CPU缓存往往能够起到提高速度的作用。这部分我们重点研究伙伴系统与slab机制。一 CPU三级缓存为了解决CPU与物理内存速度不匹配的问题,计算机系统引入了缓存,它的读写速度介于CPU与物理内存之间。主要利用程序局部性原理,采用预先读与延迟写的策略,让CPU尽可能少地访问物理内存。目前原创 2018-02-13 11:09:12 · 1532 阅读 · 0 评论 -
Linux内存管理系列之四-进程地址空间
前面3节重点讲解了在内核如何分配内核空间内存,而进程的用户空间的内存同样受到内核的控制,用户空间的地址内存称为进程地址空间。Linux采用虚拟内存技术使得系统可以同时运行多个内存,而且每一个进程的地址空间都为整个物理内存的大小。这一部分重点讲解内核如何管理进程地址空间。一 地址空间进程地址空间由进程可寻址的虚拟内存组成,内核允许进程使用这种虚拟内存的地址,通常情况下各个进程之间的内存地址相互独立,...原创 2018-02-27 00:29:32 · 329 阅读 · 0 评论 -
Linux内存管理系列之五-内存问题实战
前面几部分主要从原理上讲解了Linux内核如何管理内核态内存与用户态内存,这部分我们重点探究内存管理中一些实际工程上的性能问题。1 为何需要内存对齐?内存对齐是一种提供内存访问速度的策略,cpu在访问未对齐的内存需要经过两次内存访问,而经过内存对齐一次就可以。这是根据CPU位数决定的,32位CPU一次的取指能力为4个字节,如果不做内存对齐,很可能一个4字节的变量会处于两个4字节的内存块中,这样就需...原创 2018-02-27 00:32:50 · 303 阅读 · 0 评论