美文网首页
第二章 进程的描述和控制

第二章 进程的描述和控制

作者: 飘摇的水草 | 来源:发表于2022-02-07 16:09 被阅读0次
    2.1 前趋图和程序执行
    • 在早期的单道批处理系统中,程序的执行方式是顺序执行,即在内存中仅装入一道用户程序,由它独占系统中的所有资源,只有在一个用户程序执行完成后,才允许装入另一个程序并执行。
    2.2 进程的描述
    2.2.1 进程的定义和特征
    • 为了使参与并发执行的每个程序(含数据)都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(Process Control Block,PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。这样,由程序段、相关的数据段和PCB三部分便构成了进程实体(又称进程映像)。一般情况下,我们把进程实体就简称为进程,例如,所谓创建进程,实质上是创建进程实体中的PCB;而撤消进程,实质上是撤消进程的PCB,本教材中也是如此。
    2.2.2 进程的基本状态和转换
    • 一般而言,每一个进程至少应处于以下三种基本状态之一:
      (1)就绪(Ready)状态。这是指进程已处于准备好运行的状态,即进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行。如果系统中有许多处于就绪状态的进程,通常将它们按一定的策略(如优先级策略)排成一个队列,称该队列为就绪队列。
      (2)执行(Running)状态。这是指进程已获得CPU,其程序正在执行的状态。对任何一个时刻而言,在单处理机系统中,只有一个进程处于执行状态,而在多处理机系统中,则有多个进程处于执行状态。
      (3)阻塞(Block)状态。这是指正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失败等)暂时无法继续执行时的状态,亦即进程的执行受到阻塞。此时引起进程调度,OS把处理机分配给另一个就绪进程,而让受阻进程处于暂停状态,一般将这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。通常系统将处于阻塞状态的进程也排成一个阻塞队列,称该队列为阻塞队列。

    • 三种基本状态的转换

    • 进程在运行过程中会经常发生状态的转换。例如,处于就绪状态的进程,在调度程序为之分配了处理机之后便可执行,相应地,其状态就由就绪态转变为执行态:正在执行的进程(当前进程)如果因分配给它的时间片已完而被剥夺处理机暂停执行时,其状态便由执行转为就绪;如果因发生某事件,致使当前进程的执行受阻(例如进程访问某临界资源,而该资源正被其它进程访问时),使之无法继续执行,则该进程状态将由执行转变为阻塞。

    • 另外还有创建状态和终止状态,终止状态即是把PCB清零,还有挂起状态,进程被挂起,意味着此时该进程牌静止状态,与挂起状态对应的操作是激活操作。

    2.2.4 进程管理中的数据结构
    • 在计算机系统中,对于每个资源和每个进程都设置了一个数据结构,用于表征其实体,我们称之为资源信息表或进程信息表,OS管理的这些数据结构一般分为四类:内存表、设备表、文件表和用于进程管理的进程表。
    2.3 进程控制
    • 进程控制一般由OS的内核中的原语来实现。
    • 通常将一些与硬件紧密相关的模块(如中断处理程序等)、各种常用设备的驱动程序以及运行频率较高的模块(如时钟管理、进程调度和许多模块所公用的一些基本操作),都安排在紧靠硬件的软件层次中,将它们常驻内存,即通常被称为的OS内核。这种安排方式的目的在于两方面:一是便于对这些软件进行保护,防止遭受其他应用程序的破坏:二是可以提高OS的运行效率。
    • 为了防止OS本身及关键数据(如PCB等)遭受到应用程序有意或无意的破坏,通常也将处理机的执行状态分成系统态和用户态两种:①系统态:又称为管态,也称为内核态。它具有较高的特权,能执行一切指令,访问所有寄存器和存储区,传统的OS都在系统态运行。②用户态:
      又称为目态。它是具有较低特权的执行状态,仅能执行规定的指令,访问指定的寄存器和存储区。一般情况下,应用程序只能在用户态运行,不能去执行OS指令及访问OS区域,这样可以防止应用程序对OS的破坏。
    • 大多数OS内核都包含了两大方面的功能:支撑功能(包括:中断处理、时钟管理和原语操作)和资源管理功能(包括进程管理、存储器管理、设备管理)
    进程的阻塞与唤醒
    1. 进程阻塞过程:进程通过调用阻塞原语block将自己阻塞。
    2. 进程唤醒过程:有关进程调用唤醒原语wakeup,将等待该事件的进程唤醒。
    2.4 进程同步
    • 为保证多个进程能有条不紊地运行,在多道程序系统中,必须引入进程同步机制--硬件同步机制、信号量机制、管程机制等。
    • 代表共享资源的数据结构以及由对该共享数据结构实施操作的一组过程所组成的资源管理程序共同构成了一个操作系统的资源管理模块,我们称之为管程。
    2.6 进程通信
    1. 高级通信机制可归结为四大类:共享存储器系统、管道通信系统、消息传递系统以及客户机-服务器系统。
    消息传递通信的实现方式
    • 在进程之间通信时,源进程可以直接或间接地将消息传送给目标进程,因此可将进程通信分为直接和间接两种通信方式,常见的直接消息传递系统和信箱通信就是分别采用这两种通信方式。
      1. 直接消息传递系统:你在看什么直接通信方式,即发送进程都是用OS所提供的发送命令(原语),直接把消息发送给目标进程。
      2. 信箱通信:属于间接通信方式,通过某种中间实体来完成,通常把这种中间实体称为邮箱(即信箱)。
    线程的基本概念
    2.7.3 线程的状态和线程控制块
    1. 线程在运行时也具有三种基本状态:执行状态、就绪状态和阻塞状态。

    相关文章

      网友评论

          本文标题:第二章 进程的描述和控制

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