VC入门必备--基础知识(一)
首先我们要了解以下概念:
应用程序(Application),他就是由指令(Instruction)组成的可以运行的文件。
进程(Process),有时和应用程序的意思一样,但在通常的情况下,进程是指一个正在运行的应用程序,正因为这样,进程由以下部分组成:
1、一个可以执行的程序
2、位于内存(Memory)中的私有地址空间
3、系统资源(System Resource),例如文件(File), 管道(Pipe), 通讯端口(Communications Port), 信号(Semaphore)
4、至少还要有1个线程(Thread), 线程是最基本的执行单位。
因为多个进程是可以同时存在时,所以Windows操作系统(Operating System)必须给进程提供保护,以防止他们冲突。
物理内存(Physical Memory),即你的计算机的实际内存,例如我现在用的电脑的内存是128M,物理内存的容量是达不到程序的要求的,于是就产生了虚拟内存(Virtual Memory)。
虚拟内存(Virtual Memory), 不是真正的内存,它通过映射(Map)的方法,使可用的虚拟地址(Virtual Address)达到4G(2的32次方),每个应用程序可以被分配2G的虚拟地址,剩下的2G留给操作系统自己用。在Windows NT中,应用程序可以有3G的虚拟地址。简单的说,虚拟内存的实现方法和过程是:
1、当一个应用程序被启动时,操作系统就创建一个新进程, 并给每个进程分配了2G的虚拟地址(不是内存,只是地址);
2、虚拟内存管理器(Virtual Memory Manager)将应用程序的代码(Code)映射到那个应用程序的虚拟地址中的某个位置,并把当前所需要的代码读取到物理地址中。注意,虚拟地址和应用程序代码在物理内存中的位置是没有关的;
3、如果你有使用动态链接库(Dynamic-Link Library,即DLL)的话,DLL也被映射到进程的虚拟地址空间,在有需要的时候才被读入物理内存;
多谢你阅读我的csdn blog,我已经建立了个人博客,基本把这里的文章都转到个人博客了,欢迎交流指教!
VC入门必备--基础知识(一)
http://www.jeanva.cn/post/58.html