操作系统第二章

重点:

  进程的含义

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

难点:

  进程同步算法

知识点:

  进程、线程、进程的特征、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)

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

*基本状态、转换:

原文地址:https://www.cnblogs.com/Dreamer-Jie/p/12408628.html

时间: 2024-10-05 05:04:46

操作系统第二章的相关文章

操作系统——第二章 进程管理

二.进程管理 2.1进程与线程 2.1.1进程的基本概念 PID (ProcessID) 2.1.1进程的概念 多道并发执行可能会发生的问题: 不能让程序粗野的执行,我们必须给他们引入一些约束: 进程包括什么: 进程控制块是一种数据结构,在Linux中是一个结构体   (答案就是上面的那张图) 挂起状态 (Linux代码) 2.1.6线程 设计之初进程是独立的,进程间不允许用相同的地址空间,必须得开辟一块新的存储空间,然后来取,线程的设计解决了这种问题. 比如还是播放器问题: 单进程的话,读完了

网络操作系统 第二章 用户和组管理

本章小结 本章介绍了用户和用户的基本概念.讲解了在Windows Server2008中用户和组的创建.删除及其属性的修改.在Linux部分,首先通过图形配置工具介绍了Linux.中用户及组的相关属性,然后讲解了与用户和组相关的配置文件,最后介绍了如何使用命令完成对用户和组的管理. 一.Windows Server 2008中的用户有哪些类型?系统默认的用户有哪些? 用户.InetOrgPerson和联系人. 默认用户账户: Administrator Guest: 二.如何在Windows S

网络操作系统第二章课后习题解答

1.Windows Server 2008 中的用户有哪些类型?系统默认的用户有哪些? 用户类型: (1)用户: (2)InetOrgPerson: (3)联系人: (4)默认用户账户. 默认用户: (1)Administrator: (2)Guest. 2.如何在 Windows Server 2008 中管理本地用户和组? 本地用户账户管理: (1)创建本地用户账户: (2)管理本地用户账户: 1)重新设置密码: 2)删除用户账户: 3)用户禁用: 4)更改用户所属组. 本地用户组管理: (

《操作系统概念》学习笔记-第二章

第二章 操作系统结构 在具有多个命令解释程序选择的系统中,解释程序被称为外壳(shell) 命令解释程序的主要作用是获取并执行用户指定的下一条命令. 有三种应用程序员常用的API,适用于windows系统的win32API,适用于POSIX系统的POSIX API,以及用于设计运行于JAVA虚拟机程序的JAVA API. 操作系统传递参数有三种方法: 最简单的方法是通过寄存器来传递参数,不过有时,参数数量会比寄存器多,这时,这些参数通常存在内存的块和表中,并将块的地址通过寄存器来传递.Linux

操作系统概论 第二章

第二章 进程管理 输入一批数据 处理数据 打印处理结果 程序的顺序执行特点 顺序性 封闭性 可再现性 程序的并行执行 间断性 失去封闭性 不可再现性 程序并发执行 同一个程序在不同数据集合上的执行 不同的程序在不同数据集合上的执行 程序 具有独立功能的一组指令的集合 进程 允许并发执行的程序在某个数据集合上的运行过程 进程是由正文段 用户数据段及进程控制块共同组成的执行环境 正文段 存放被执行的机器指令 用户数据段 存放用户数据 进程控制块 存放进程的运行环境 进程 1. 并发性 并发性是进程和

操作系统原理 第一章第二章复习

操作系统复习 第一章 操作系统概述 基本概念 吞吐量:单位时间内系统能处理的工作量. 进程:正在动态执行的程序 实时操作系系统:实时计算.计算的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这个结果的时间一类的计算. 操作系统的特征:现代操作系统大多支持多任务,具有并发.共享.虚拟.异步的特征. 单道批处理系统 特性:自动性.顺序性.单道性. 作业独占CPU和内存. 多道批处理系统 特性: 多道性.无序性.调度性.复杂性. 优点:提高CPU的利用率.提高内存和I/O设备的利用率.增加系统吞吐量

第二章 图形界面还是命令窗口

第二章 图形界面还是命令窗口 对于linux的应用,我想大多数都是用在服务器领域,对于服务器来讲真的没有必要跑一个图形界面.所以我们平时安装linux操作系统时往往是不安装图形界面的.说到这里也许你会有疑问,图形界面还能选择装或者不装? 是的,虽然linux和微软的windows一样同位操作系统,但是它们有一个很大的区别就是windows操作系统的图形界面是和内核一体的,俗称微内核,而linux操作系统图形界面就像一个软件一样,和内核并不是一体的.所以linux你可以选择不安装图形界面,这样不仅

linux程序设计——shell程序设计(第二章)

第二章    shell程序设计 本章介绍以下内容: 什么是shell 基本思路 微妙的语法:变量,条件判断和程序控制 命令列表 函数 命令和命令的执行 here文档 调试 grep命令和正则表达式 find命令 shell执行shell程序,这些程序通常称为脚本,它们是在运行时解释执行的.这使得调试工作比较容易进行,因为可以逐行地执行指令,而且节省了重新编译的时间.然而,这也使得shell不适合用来完成时间紧迫型和处理器忙碌型的任务. UNIX架构非常依赖于代码的高度可重用性,如果你编写了一个

Android开发艺术探索——第二章:IPC机制(上)

Android开发艺术探索--第二章:IPC机制(上) 本章主要讲解Android的IPC机制,首先介绍Android中的多进程概念以及多进程开发模式中常见的注意事项,接着介绍Android中的序列化机制和Binder,然后详细的介绍Bundle,文件共享,AIDL,Messenger,ContentProvider和Socker等进程间通讯的方法,为了更好的使用AIDL进行进程间通讯,本章引入了Binder连接池的概念,最后,本章讲解各种进程间通信方式的优缺点和使用场景,通过本章,可以让读者对