抽象:进程
进程就是运行中的程序。
一台电脑往往只有少数CPU,但是用户想要运行许多个应用,这里的关键问题:如何提供有许多CPU的假象。
操作系统通过虚拟化CPU来提供这假象,让一个进程只运行一个时间片,然后切换到其他进程。每个进程都运行一会儿,给用户的感觉就好像每个进程都在运行一样。
时分共享和空分共享
时分共享是指让每个进程运行一段时间后让出处理器,让其他进程再运行一段时间,来达到虚拟化CPU的目的。
空分共享是指CPU资源在空间上被划分给希望使用它的进程。但这里需要注意,一旦分给一个进程,某些情况下如果它不释放空间,就不会再把这块空间分给其他进程。
进程创建
程序如何转变为进程?
操作系统运行程序必须先把代码和静态数据加载到内存中,加载到进程的地址空间中。如下图所示:

早期操作系统在程序运行前加载完成,而现在的是懒加载,即在程序执行期间需要的代码或者数据,才会加载到内存。
通过将代码和静态数据加载到内存中,然后创建和初始化栈以及执行与I/O设置相关的工作,就只剩下最后一个任务,启动程序。
进程状态
进程有以下三种状态:
1、运行。说明进程正在处理器上运行,占用着资源。意味着正在执行指令。
2、就绪。程序已经准备好运行,但出于某种原因,操作系统不在此时运行。
3、阻塞。该进程在等待其他某种操作或者某个条件达成后,才可以进入就绪状态。

参考
《操作系统导论》