操作系统简明-2.1:进程 干货整理

现代操作系统允许多程序运行,这就涉及到一个概念:进程---一个执行中的程序,进程是现代分时系统的工作单位

进程能同步执行,要多路使用cpu资源,通过进程对cpu资源的争夺,操作系统使得计算机更具创造性

一个系统由一系列进程组成:操作系统进程执行系统代码,用户进程执行用户代码


进程

👑进程的概念

早期的理解是,进程是一个程序,但是他并不单单是程序代码,还代表着当前的一些活动(由程序计数器和处理器的寄存器表示),通常包括:进程栈(存放全局变量,暂时数据等),堆(编程里的动态内存)


程序与进程的关系

  • 程序是被动的实体:例如一个文件存放的是代码
  • 进程是主动的实体:例如程序计数器找出下一句代码并且执行
  • 程序可变成进程:当可执行文件被装入内存中时
  • 进程可以是代码的执行环境:最最普遍的例子就是java代码,不知道这里有多少码农被这个java虚拟机搞烦过,so,这个java虚拟机就是一个进程

👑进程状态

既然称之为状态,就说明进程状态是为了改变状态而存在的

通常包括:

👑进程控制块

进程通过进程控制块在操作系统中体现

前面介绍了进程状态,那么在状态间切换时,就用到了进程控制块,少侠请看下图


同时,在进程与进程间,也会用到PCB

简言之,PCB就是作为一个进程信息的存储库

👑进程调度

  • 多进程的目的是让多个进程同时运行,这样可以最大化利用cpu资源
  • 时间分享的目的是让进程轮流享用cpu,这样可以让用户交互到所有程序

为了实现上述两个目的,我们这里引入了进程调度: 在CPU上选择一个(或一组)可用的进程

对于单进程系统,只能运行一个进程,如果存在多个进程,那这些多出来的进程只能等待上一个进程的完毕(CPU is free)

👑上下文切换

处理器的物力资源是有限的,如有限个寄存器,但是没个进程都有自己的寄存器,如何让他们使用这些资源呢?
当然是在上下文切换中保存和恢复硬件状态

  • 当上下文切换发生时,内核将旧进程的上下文保存在PCB中,并加载要运行的新进程 ,又提到了PCB :-D

2017年5月16日,再次修改

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容