首页 > 其他 > 详细

程序员的自我修养 学习笔记(4)

时间:2014-06-13 15:58:22      阅读:349      评论:0      收藏:0      [点我收藏+]

        可执行文件只有装载到内存以后才能被CPU执行。程序就将是菜谱,CPU就像是厨师,计算机的其他硬件就像是厨具,整个炒菜的过程就是一个进程。同样的一份菜谱,不同人可以做出来不同的味道。这个类比真是巧妙。

    Linux下面,进程最大使用3G的虚拟空间

    Windows下面,进程最大使用2G的虚拟空间

 

现在计算机,配置超过4G的内存的电脑已经不是不可能了,在这种情况下,32位CPU能够访问到大于4G的空间吗?如果此空间指的是虚拟地址空间,由于32位CPU的指针只能是32位,最大寻址范围是0~4GB。如果此空间指的是实际内存空间,Intel的Pentium Pro CPU采用36位物理地址,可以访问高达64G的物理内存,这种机制叫做PAE(Physical Address Extension)。

    覆盖装入(Overlay):程序员必须手工将程序分割成若干块,然后编写一个小的辅助代码来管理这些模块何时应该驻留内存、何时应该被替换掉。

    页映射(Paging):是虚拟存储机制的一部分。

 

创建一个进程:

1. 创建一个独立的虚拟地址空间

2. 读取可执行文件头,并且建立虚拟空间与可执行文件的映射关系

3. 将CPU的指令寄存器设置成可执行文件的入口地址,启动运行

程序员的自我修养 学习笔记(4),布布扣,bubuko.com

程序员的自我修养 学习笔记(4)

原文:http://www.cnblogs.com/cherishui/p/3784702.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!