。当试图运行可执行模块时,操作
系统的加载程序将执行下面的操作步骤:
加载程序为新进程创建一个虚拟地址空间。可执行模块被映射到新进程的地址空间。
加载程序对可执行模块的输入节进行分析。对于该节中列出的每个D L L名字,加载程序要找出
用户系统上的D L L模块,再将该D L L映射到进程的地址空间。注意,由于D L L模块可以从另一
个D L L模块输入函数和变量,因此D L L模块可以拥有它自己的输入节。若要对进程进行全面的
初始化,加载程序要分析每个模块的输入节,并将所有需要的D L L模块映射到进程的地址空间。
如你所见,对进程进行初始化是很费时间的。
一旦可执行模块和所有D L L模块被映射到进程的地址空间中,进程的主线程就可以启动运
行,同时应用程序也可以启动运行。
系统的加载程序将执行下面的操作步骤:
加载程序为新进程创建一个虚拟地址空间。可执行模块被映射到新进程的地址空间。
加载程序对可执行模块的输入节进行分析。对于该节中列出的每个D L L名字,加载程序要找出
用户系统上的D L L模块,再将该D L L映射到进程的地址空间。注意,由于D L L模块可以从另一
个D L L模块输入函数和变量,因此D L L模块可以拥有它自己的输入节。若要对进程进行全面的
初始化,加载程序要分析每个模块的输入节,并将所有需要的D L L模块映射到进程的地址空间。
如你所见,对进程进行初始化是很费时间的。
一旦可执行模块和所有D L L模块被映射到进程的地址空间中,进程的主线程就可以启动运
行,同时应用程序也可以启动运行。