什么是程序:
与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。说白了就是具有特定功能的计算机文件,一般位于硬盘中。
什么是进程
运行中的程序,位于内存的一块存储区域(从进程存在的形式来说,进程就是一块包含了资源的内存)
什么是线程
进程的执行实体(进程本身是一块内存,是静态的;线程是进程的功能实体),也是CPU独立运行和调度的单位(CPU分配资源是以线程而非进程为单位的)
三者的关系:
程序启动的过程:加载器从硬盘当中读取程序文件,写入到内存当中
程序执行的过程:CPU从内存当中以线程为单位读取数据并处理(独立运行和调度)
设备的物理内存(如电脑的内存条)是有限的,但是我们平时可以启动的应用的个数是不受限制的,随着应用启动的增多,内存势必不够,理论上此时无法继续启动应用。但是事实上并非如此,当内存不足时,系统会把内存中不在运行的资源写入到硬盘当中,从而回收内存。这就要求在硬盘上要保留一块空闲区域,这块空闲区域我们称之为虚拟内存。