第二章

本文详细介绍了操作系统中引入进程的概念,强调了进程与程序的区别,并阐述了进程的动态特性,如状态转换和PCB的作用。此外,还讨论了进程的临界区、信号量机制、线程的概念及实现方式,以及死锁、饥饿和活锁的差异。高级进程通信、资源管理和同步原语如P、V操作也在章节中进行了深入探讨。
摘要由CSDN通过智能技术生成

2.1 常用术语

  • 进程:具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位;

  • 进程控制块:是对进程在系统中存在和活动的实体的描述,通常由程序、数据集合、栈和PCB等4部分组成;其中

    • 程序和数据是组成进程的实体;
    • PCB是进程动态特性的集中反映;
    • 栈用来保存过程调用和相互传送参数的踪迹;
  • 线程:进程中执行运算的最小单位,亦即执行处理机调度的基本单位;

  • 进程互斥:逻辑本来完全独立的若干进程,由于竞争同一个资源而产生的相互制约关系;

  • 进程同步:逻辑上相关的两个或者多个进程为了完成一项任务,通过协调活动来使用同一资源,而产生的执行时序的约束关系;

  • 临界资源:一次仅允许一个进程使用的资源;

  • 临界区:在每个进程访问临界资源的那段程序;

  • 竞争条件:两个或者多个进程同时访问和操纵相同的数据时,最后的执行结果取于进程运行的精确时序;

  • 原语:机器指令的延伸,往往是为完成某些特定的功能而编制的一段系统程序,其操作具有不可分割性;

  • 信号量:在多道程序并发执行环境下使用的一种设施,用来保证两个或多个进程的关键代码段不被并发调用,从而有效解决进程间的互斥和同步问题;

  • 管程:一个管程定义一个数据结构和能为并发进程在其上执行的一组操作,这组操作能使进程同步和改变管程中的数据;

  • 死锁:指在一个进程集合中的每个进程都在等待仅由该集合中的其他进程才能引发的事件而无限期地僵持下去地局面。

  • 活锁:指一个或多个进程在轮询地等待某个不可能为真的条件为真,导致一直重复尝试,失败,尝试,失败这样地过程,但始终无法完成。

  • 饥饿:在可以预计地时间内,某个或某些进程因为所需的资源一直被其他进程占有或者抢占,导致永远无法完成工作。

2.2 在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?其基本特征是什么?

  • 由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此各程序在执行过程中就出现了相互制约的新关系,程序出现“走走停停”的状态,用程序这个静态概念已经不能如实反映程序并发执行时的这些特征了,所以引入了进程;
  • 进程和程序是两个完全不同的概念
进程 程序
动态 静态
具有并发性,宏观上同时运行 具有顺序性,程序的并发性时通过进程实现的
具有独立性,是一个能够独立运行的单位,是系统资源分配的基本单位,是运行调度的基本单位 无独立性
一个进程可顺序执行多个程序 一个程序可有多个进程公用
异步前进,相互制约 不具备异步性
  • 进程的功能通过程序实现的,进程的活动主体为程序,不能脱离具体程序而独自存在。
  • 进程的特征:
    • 动态性;
    • 并发性;
    • 调度性;
    • 异步性;
    • 结构性
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值