Linux进程虚拟内存中相关概念.pdfVIP

  • 10
  • 0
  • 约1.83万字
  • 约 29页
  • 2018-10-14 发布于浙江
  • 举报
Linux进程虚拟内存中相关概念.pdf

内存分配的原理__进程分配内存有两种方式,分 别由两个系统调用完成:brk 和 mmap (不考 虑共享内存)。 如何查看进程发生缺页中断的次数? 用 ps -o majflt,minflt -C program 命令查看。 majflt 代表 major fault,中文名叫大错误,minflt 代表 minor fault,中 文名叫小错误。 这两个数值表示一个进程自启动以来所发生的缺页中断的次数。 发成缺页中断后,执行了那些操作? 当一个进程发生缺页中断的时候,进程会陷入内核态,执行以下操 作: 1、检查要访问的虚拟地址是否合法 2、查找/分配一个物理页 3、填充物理页内容(读取磁盘,或者直接置 0,或者啥也不干) 4、建立映射关系(虚拟地址到物理地址) 重新执行发生缺页中断的那条指令 如果第 3 步,需要读取磁盘,那么这次缺页中断就是 majflt,否则就是 minflt。 内存分配的原理 从操作系统角度来看,进程分配内存有两种方式,分别由两个系统调用完成: brk 和 mmap (不考虑共享内存)。 1、brk 是将数据段(.data)的最高地址指针_edata 往高地址推; 2、mmap 是在进程的虚拟地址空间中(堆和栈中间,称为文件映射区域的地 方)找一块空闲的虚拟内存。 这

文档评论(0)

1亿VIP精品文档

相关文档