操作系统第二章

蓝咒 提交于 2020-03-04 12:37:19

重点:

  进程的含义

  理解掌握同步的概念及经典进程同步问题

难点:

  进程同步算法

知识点:

  进程、线程、进程的特征、PCB、进程控制、进程同步(通信)

前趋图和程序执行

前趋图:

  有向无循环图(DAG),描述进程之间执行的前后关系。结点间的有向边用于表示两个节点间存在的偏序、前趋关系“->”。

    (Pi,Pj):pi是pj的直接前驱

    每个节点还具有一个重量(权值),表示该节点所含有的程序量或节点的执行时间(长短)

    起始节点:无进||终止节点:无出

  前驱图中不能存在循环

    例如: s1->s2,s2->s3,s3->s2  :不符合前驱关系

程序执行两方式:

    顺序:单道批处理系统

    并发:提高资源利用率

  程序顺序执行(单道批处理):

      如C语言基础运算程序

      i1->c1->p1->i2->c2->p2

    特征:

      顺序性:按程序结构所指定的次序(按进入内存的先后执行),每一操作都必须在上一个操作结束之后开始。

      封闭性:独占全部资源,程序一旦开始,执行结果不受外界因素影响

      可再现性:初始条件相同则结果相同 (执行环境和初始条件相同,程序不论连续执行还是走走停停地执行,都将获得相同结果。

  程序的并发执行:(内存中多道作业)

    第一道的计算和第二道的输入同时进行

    i1->c1,i1->i2,c1->p1,c

    即i2和c1以及p2是重跌的

      例如: s1:  a=x+4

          s2:  b=y+5

          s3:  c=a+b

          s4:  d =c+a     ===> s1、s2->s3   ,   s3->s4

  特征:

    间断(异步)性:“走走停停”,程序可能会走到中途停下来,失去原有的时序关系,因为存在竞争。

    失去封闭性:因为存在资源共享,其状态将由多个(其他)程序来改变,失去原有的不变特征。

    不可再现性->程序不可并发执行! 失去封闭性 ->不可再现性:外界环境在程序的两次执行期间发生变化,失去原有的可重复性。实例:   

进程的描述:

*进程的定义

  程序并发执行可以提高资源利用率、和系统吞吐量,通常程序不能并发执行,我们希望它能并发运行。为使它能并发执行,有可再现性,故引入“进程”。

  程序段、相关数据段、进程控制块(PCB)组成,这三部分称为进程实体,简称进程。

    打比方:

      程序段 :小朋友本体  // 学生

      相关数据段:出生时的一些状态   //学习的过程如成绩等

      进程控制块:出生证明,户口本、身份证  //校园卡

  典型进程定义:

    进程是程序的一次执行;(人一辈子:程序,进程:)

    进程是一个程序及其数据在处理机上顺序执行时所发生的活动;

    进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

 

特征

  动态性:进程最基本特征,进程实质是程序在处理机上的一次执行过程,因此是动态的,因创建而产生,因调度而执行,因撤销而消亡,因无资源而暂停执行

  并发性:

  独立性:京城是一个能独立运行的进本单位。

  异步性:进程各自独立、不可预知的速度向前推进(高速上的不同速度车辆)

进程&程序的区别:

  进程是动态的,程序是静态的

  进程是暂时的、有生命周期,程序是永久的  

  进程与程序组成不同:程序-指令的有序集合,进程-程序段、相关数据段、进程控制块(PCB)

  而这对性关系:多次执行,一个程序可以对应多个进程;通过调用关系,一个进程可以对应多个程序执行(多对多)

*基本状态、转换:

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!