您的位置:首页 > 其它

Windows程序设计-Win32程序运行原理

2008-10-17 14:48 375 查看
80386三种工作模式:
1.实模式
2.保护模式
3.虚拟86模式
实模式和虚拟86模式是为了和8086处理器兼容而设置的,保护模式是80386处理器的主要工作模式。
多任务的实现:
进程是正在运行的程序的实例
线程是进程内代码的执行单元,但用CPU时间片
同一时间内会有多个活动的进程,在CPU的支持下,每个进程都被给予它自己的私有地址空间,当进程内的线程运行时,该线程仅仅能够访问属于它的进程的内存,而属于其他进程的内存被屏蔽了起来,不能够被这个线程访问。
举个例子:进程A在它的地址空间0x12345678地址处有个数据结构,进程B能够在它的地址空间的0x12345678处存储一个完全不同的数据,A访问0x12345678是访问的是进程A的数据,B访问0x12345678是访问进程B的数据,进程A中运行的线程不允许访问进程B的内存空间,反之亦然。
虚拟内存:
32的操作系统可寻址4GB地址空间。允许一个指针有4 294 967 296个不同的取值,覆盖了整个4GB的范围。
CPU保护模式下支持虚拟存储,即虚拟内存,它帮助操作系统将磁盘空间当作内存空间来使用,在磁盘上用于这一机制的文件被称为页文件(paging file),它包含了对所有进程都有效的虚拟内存。
Windows虚拟内存机制就是基于32的线性地址空间,
Windows将此空间的前半部分留给进程作为私有存储,自己使用后一部分。
各个空间被分为用户空间和系统空间
用户空间是进程私有地址空间,进程不能以任何方式读写其他进程此部分空间中的数据。
系统空间部分在所有进程中是共享的。

内核模式和用户模式
当应用程序调用一个系统函数的时候,用户的应用程序会从用户模式切换到内核模式去执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: