发信人: supermario() 
整理人: wenbobo(2002-12-06 22:56:22), 站内信件
 | 
 
 
Windows 技术基本定义。
   WINAPI:Win32应用程序编程接口,是用于Microsoft Windows操作系统家族
 的主要编程接口,Microsoft Windows操作系统家族包括Windows NT,Microsoft
  Windows 9x(win95,win98)以及Microsoft Windows CE,每个操作系统实现了
 Win32的不同子集,从很大程度上讲,Windows NT是所有Win32实现的超集。
   目前来说,Win32是主要的接口,它提供了对基本的Windows NT系统服务的
 最大程度的访问。因为为了保持16位与32位API的兼容,所以在接触Win32 API
 时会发现很多函数名称与接口看起来很矛盾。
   Win32 API函数:Win32中文档化,可调用的子程序,例如:CreatePorcess。
    DLL(动态链接库)作为二进制映像链接的,可调用的子例程集。该二进制
 映像可被使用这些子例程的应用函数动态加载,例如MSVCRT.DLL
 
   进程和线程:
   看上去程序和进程很相似,但是它们在本质上是不同的。程序是指静态的
 指令序列,而进程是为了执行该程序而保留的资源集。
   Windows进程的组成如下:
   1、一个可执行程序,它定义了初始代码和数据。
   2、一个专用的“虚拟地址空间“,它是进程能够使用的一组虚拟内存地址。
    3、系统资源,例如信号量、通信端口和文件,它们是在程序执行的过程中,
  当线程打开这些资源时操作系统分配给进程的。
   4、称为“进程ID”的唯一标示符。
   5、至少一个执行线程。
   线程是Windows调度执行的进程内的实体。如果没有线程,进程的程序就无法
  运行。线程包括下列基本组件:
   1、表示处理器状态的一组易失寄存器的内容。
   2、两个由线程使用的堆栈,一个在核心态时使用,另一个在用户态时使用。
    3、供子系统、运行时库和DLL使用的专用存储区。
   4、称为“线程ID”的唯一标示符(进程ID和线程ID产生自不同的命名空间,
  不会重叠。
   1、2、3项统称为线程的描述表。进程内的每个线程都共享进程的虚拟地址
 空间(加上属于该进程的剩余资源),进程中的所有线程都可以从彼此的内存
 中读取和写入。但是线程不能引用其他进程中的地址空间,除非其他线程把它
 专用的地址空间的一部分作为“共享内存区”(在Win32 API中称为“文件映射
  对象”)
   在Windows中,实际执行的总是进程中的一个线程。
   除了专用地址空间和一个或多个线程外,每个进程还有一个安全标识和一个
 打开的对象句柄的列表,如文件、共享内存区、同步对象(互斥体、事件、
 信号量)
  -- 点解,点解啊?!!(摧胸顿足状)
  ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.102.129.238]
  | 
 
 
 |