当请求运行某个程序时,操作系统执行一些操作以将磁盘上的可执行程序转换成运行中的程序。
首先,必须扫描当前 PATH 环境变量中的目录以查找程序的正确副本。然后,系统装入程序(不要和 ld 命令混淆,该命令是个绑定程序)必须解析出从程序到共享库的任何外部引用。
为了表示用户的请求,操作系统将创建一个进程或一组资源(例如专用虚拟地址段),任何运行中的程序都需要该进程或资源。
操作系统也会在该进程中自动创建一个单独的线程。线程是一个单独程序实例的当前执行状态。在 AIX® 中,对处理器和其他资源的访问是根据线程来分配而不是根据进程分配的。应用程序可在一个进程中创建多个线程。这些线程共享由运行它们的进程所拥有的资源。
最后,系统转移到程序的入口点。如果包含入口点的程序页还不在内存中(可能因为程序最近才编译、执行和复制),那么由它引起的缺页故障中断将该页从它的后备存储器中读取出来。