Windows核心编程--进程简介

进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: 

  ①一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。 

  ②另一个是地址空间,它包含所有可执行模块或DLL模块的代码和数据。它还包含动态内存分配的空间。如线程堆栈和堆分配空间。

  要使进程完成某项操作,它必须拥有一个在它的环境中运行的线程,该线程负责执行包含在进程的地址空间中的代码。实际上,单个进程可能包含若干个线程,所有这些线程都“同时”执行进程地址空间中的代码。为此,每个线程都有它自己的一组CPU寄存器和它自己的堆栈。每个进程至少拥有一个线程来执行进程的地址空间中的代码。如果没有线程来执行进程的地址空间中的代码,那进程的存在是没有意义的,此时系统将自动撤消该进程和它的地址空间。 

  操作系统需要为每个线程安排一定的CPU时间确保进程中的线程都能运行。操作系统会以一种循环方式为线程提供时间片(称为量程)使得所有的线程像是同时运行。当创建一个进程时,系统会自动创建它的第一个线程,称为主线程。接着该线程可创建其他的线程。

 

Windows核心编程--进程简介

上一篇:win7 mstsc ubuntu


下一篇:Page Visibility API