| DOS(.COM 和 .EXE) | Win16 (NE) | Win32 (PE) |
Winelib | |
| 多任务 | 某一时刻只运行一个程序 (TSR 除外) | 分时 | 抢占 | 抢占 |
| 地址空间 | 1 MB 内存空间,所有程 序在其中加载和卸载 | 保护模式,所有16位应用程 序公用一个单独的地址空间 | 每一个程序都拥有独立的地址 空间,需要CPU支持MMU | 每一个程序都拥有独立的地址
空间,需要CPU支持MMU |
| Windows API | 无,有 DOS API(如: Int21h中断) | 可以使用 16 位Windows API | 可以使用 32 位Windows
API |
可使用32位Win API也 可使用 Unix API |
| Code(CPU level) | 仅在x86实时模式有效,代 码和数据分段存储,16位地址,CPU处于实时模式 | 仅在IA32架构有效,代码 和数据分段存储,16位地址,及命名,CPU处于保护模式 | 包括IA32架构在内的若干 CPU都有效(NT系列),平面内存模型,32位地址,及命名 | 平面内存模型,32位地址空 间。 |
| 多线程 | 不支持 |
不支持 | 支持 | Win32API支持多线和同 步,Unix不支持 |