程序在内存中运行时,被称为 进程。进程是程序在计算机中的一次执行实例,是系统资源(如CPU时间、内存)的分配实体。在Linux系统中,进程以task_struct(进程控制块,PCB)的化身形式存在内存中,存储着进程的全息,包括标识符、状态、优先级、程序计数器、内存指针、I/O状态、记账信息等。每一个进程都是task_struct链表的一员,是Linux内核管理进程的基石。
当程序开始运行时,它首先被加载到内存中,这个过程称为“载入内存”(Load into Memory)。完成这个过程需要一个特殊的程序,即加载器(Loader)。加载器将硬盘上的程序数据复制到内存中,然后CPU直接与内存打交道,读取内存中的数据进行处理,并将结果保存到内存。如果需要将结果保存到硬盘,则会将内存中的数据复制到硬盘。
因此,程序在内存中运行时,实际上是作为一个进程在运行。这个过程涉及到操作系统、硬件和软件系统的协同工作,确保了计算机能够高效、稳定地运行。