美文网首页知识大搜罗教育大学生活
操作系统简明-2.1:进程 干货整理

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

作者: Dongle聊测试 | 来源:发表于2017-05-01 17:47 被阅读76次

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

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

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


    进程

    👑进程的概念

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


    程序与进程的关系

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

    👑进程状态

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

    通常包括:

    👑进程控制块

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

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


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

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

    👑进程调度

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

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

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

    👑上下文切换

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

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

    2017年5月16日,再次修改

    相关文章

      网友评论

        本文标题:操作系统简明-2.1:进程 干货整理

        本文链接:https://www.haomeiwen.com/subject/swtqtxtx.html