操作系统——进程的描述与控制

一:进程的描述

1、进程的定义

在这里插入图片描述
引入进程实体的概念后,可以把进程定义为:
进程是进程实体的运行过程,是系统进行资源分配调度的一个独立单位。

注:严格来说,进程实体和进程并不一样,进程实体是静态的,进程则是动态的。不过,除非题目专门考察二者区别,否则可以认为进程实体就是进程。因此我们也可以说"进程由程序段、数据段、PCB三部分组成"

2、进程控制块PCB

系统为了管理进程设置的一个专门的数据结构,存放了用于描述该进程情况和控制进程运行所需的全部信息

进程控制块PCB ( Process Control Block)是进程组成中最关键的部分,是系统对进程进行控制和管理的依据,是进程存在的唯一标志。当系统创建一个新进程就要为它创建一个PCB;当进程终止后,系统收回其PCB,该进程在系统中就不存在了。
进程与PCB是一一对应的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、进程的状态

在这里插入图片描述

二:进程控制

进程控制的主要任务是对进程生命周期进程控制,即要负责进程的创建、撤消以及实现进程的状态转换和进程通信等功能。这是系统的基本功能,由内核中相应的原语完成。

原语的特点:原子性、中断屏蔽性
在这里插入图片描述
在这里插入图片描述

三:进程同步

进程同步机制的主要任务,是对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则(或时序)共享系统资源,并能很好地相互合作,从而使程序的执行具有可再现性。

同步和互斥的区别
1、互斥:亦称间接制约关系。是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。

2、同步:亦称直接制约关系。是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。
在这里插入图片描述

1、信号量机制

信号量其实就是一个变量 (可以是一个整数,也可以是更复杂的记录型变量) ,可以用一个信号量来表示系统中某种资源的剩余数量(信号量的值如果小于0,说明此时有进程在等待这种资源),比如:系统中只有一台打印机,就可以设置一个初值为 1 的信号量。
在这里插入图片描述
在这里插入图片描述

2、信号量机制的应用

1、利用信号量实现进程互斥
假如两个进程 A 和 B 都需要某种临界资源,如何实现进程的互斥呢?

为使多个进程能互斥地访问某临界资源,只需为该资源设置一互斥信号量 mutex,并设其初值为1,然后将各进程访问该资源的临界区 CS 置于 wait(mutex) 和 signal(mutex) 操作之间即可。
在这里插入图片描述
2、利用信号量实现进程同步(前趋关系)
假如有两个并发执行的进程 P1 和 P2 。P1 中有语句 S1 ;P2中有语句S2。我们希望在S1执行后再执行S2。为实现这种前趋关系,只需使进程 P1 和 P2 共享一个公用信号量S,并赋予其初值为0,将 signal(S)操作放在语句 S1 后面,而在S2语句前面插入wait(S)操作,即

在进程P1中,用S1;signal(S);
在进程P2中,用wait(S);S2;

四:经典进程的同步问题

1、生产者-消费者问题

生产者、消费者共享一个初始为空、大小为n的缓冲区。

● 只有缓冲区没满时,生产者才能把产品放入缓冲区,缓冲区满时,生产者必须等待。
● 只有缓冲区不空时,消费者才能从中取出产品,缓冲区为空时,消费者必须等待。
在这里插入图片描述
在这里插入图片描述
操作系统总结–进程同步,互斥,信号量机制,生产者消费者:
https://blog.csdn.net/qq_42147969/article/details/117037918

五:进程通信

1、共享存储

在这里插入图片描述

2、管道通信

在这里插入图片描述

3、消息传递

在这里插入图片描述

六:线程的概念和多线程模型

在这里插入图片描述
可以把线程理解为"轻量级进程"。
线程是一个基本的CPU执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ视频、文字聊天、传文件)
引入线程后,进程只作为除CPU之外的系统资源的分配单元如打印机、内存地址空间等都是分配给进程的)。

进程和线程的关系:
(1) 一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
(2) 资源分配给进程,同一进程的所有线程共享该进程的所有资源。
(3) CPU分给线程,即真正在CPU上运行的是线程
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小本科生debug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值