Anatomy of a Program in Memory 在一个多任务OS中,每个进程都运行在它自己的内存沙箱中.这个沙箱就是虚拟地址空间,在32位下就是一块容量为4GB的内存地址.内核将这些虚拟地址按页表(page table)映射为物理内存,并交由CPU访问.每个进程有自己的页表集,但有一点要注意.虚拟地址一旦被启用,就会应用到机器上所有运行的程序上,也包括内核自己.因此虚拟地址空间必须为内核预留一部分(否则就没办法和内核交互了): 给内核预留那么多空间,并不是说内核真的使用了那么多物理…
前一段时间再次拜读<Inside the C++ Object Model> 深入探索C++对象模型,有了进一步的理解,因此我也写了四篇博文算是读书笔记: Program Transformation Semantics (程序转换语义学) The Semantics of Copy Constructors(拷贝构造函数之编译背后的行为) The Semantics of Constructors: The Default Constructor (默认构造函数什么时候会被创建出来) The…
原文标题:Anatomy of a Program in Memory 原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下.一来自己复习,二来与大家分享.] 内存管理模块是操作系统的心脏:它对应用程序和系统管理非常重要.今后的几篇文章中,我将着眼于实际的内存问题,但也不避讳其中的技术内幕.由于不少概念是通用的,所以文中大部分例子取自32位x86平台的Linux和Windows系统.本系列第一篇文章讲述应用程序的内存…
原文:linux系统进程的查看与控制 一.什么是进程? 进程就是系统未完成并且正在进行的工作. 二.查看系统进程 1.图形方式查看 gnome-system-monitor 2.进程查看命令 ps -A ##所有进程 -a ##在当前环境中运行的进程,不包含环境信息 -u ##显示进程用户信息 a ##在当前环境中运行的进程 x ##列出系统中所有运行包含tty输出设备 f ##显示进程的父子关系 e ##显示进程的详细信息(系统资源的调用) ps常用组合: ps aux ##显示系统中所有进程…