UNIX环境高级编程-进程的运行时环境和运行时资源
Chapter 7-9 [TOC] Runtime Environment 当系统启动时,内核代码被加载到内存,初始化后启动第一个用户进程,然后内核的代码就等着用户进程来调度了。 代码在编译之后会生成一个可执行程序。运行程序其实是用户进程(Shell进程)指示内核要启动另一个用户进程,内核便为这个新的进程分配资源,并加载该进程的代码和数据。 一个程序可以被运行多次,除非发生资源抢占可能会发生启动失败。 Runtime Resources PCB 进程运行时,内核为进程每个进程分配一个PCB(进程控制块),描述进程的详细信息。 PCB在内核中对应的结构体是task_struct。 Virtual Memory 每个进程都会分配虚拟地址空间,在 32 位机下,该地址空间为 4G 。 而在 64 位机下,其虚拟地址只使用了 48 位。所以C程序里,打印的地址都是只有 12 位 16 进制 ,最高为FFFF FFFF FFFF。由于当前 AMD 和 Intel … “UNIX环境高级编程-进程的运行时环境和运行时资源”
Read More