进程模型

       进程到底是什么?什么是进展中的程序呢?从屋里内存的分配来看,每个进程占用一片内存空间,从这点上说,进程就是内存的某片空间。由于在任意时刻,CPU只能执行一条指令,因此任意时刻在CPU上执行的进程只有一个,儿到底执行哪条指令由物理程序计数器指定。也就是说,在物理层面上,所有进程共用一个程序计数器。
       而从逻辑层面上来看,每个进程可以执行,也可以暂时挂起让别的进程执行,之后又可以接着执行。这样,进程就需要某种办法记住每次挂起时自己所处的执行位置,这样才能在下次接着执行时从正确的起点开始。因此,从这个角度看,每个进程有着自己的计数器,记录其下一条指令所在的位置。从逻辑上说,程序计数器可以有很多个。
       从时间上看,每个进程都必须往前推进。在运行一定时间后,进程都应该完成了一定的工作量,即每次进程返回,它都处在上次返回点之后、
       需要注意的是,进程不一定必须终结。事实上,许多系统进程(用来为别的进程提供系统服务的进程)是不会终结的,除非强制终止或计算机关机。

进程模型的实现

       对于操作系统来说,进程是其提供的一种抽象,目的是通过并发来提高系统利用率,同时还能缩短系统响应时间。这种抽象听上去不错。但这种抽象是如何实现的呢?或者说,操作系统如何实现进程的呢?
       首先,任何抽象都需要一个物理基础。对于进程来说,其物理基础就是程序。程序运行在计算机上,而在计算机上运行首先需要解决的问题是进程的存储;给进程分配合适的内存,让其有一个安身之所。由于多个进程可能同时并存,因此进程的存储需要考虑如何让多个进程共享同一个物理内存而不发生冲突。操作系统解决这个问题的手段是内存管理
       此外,进程运行实际上是指进程在CPU上执行。那么如何将CPU在多个进程之间进行交换或切换,这就是进程实现需要解决的另一个问题。操作系统解决这个问题的手段就是进程调度:觉得在什么时候让什么进程用CPU。

猜你喜欢

转载自blog.csdn.net/webster_wxh/article/details/80542363