软考高级系统架构设计师(三) 基础知识之操作系统1进程

这篇具有很好参考价值的文章主要介绍了软考高级系统架构设计师(三) 基础知识之操作系统1进程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

概要

 操作系统 概述

​编辑

进程管理

进程的状态

 进程管理-PV操作

利用PV操作实现进程的同步

 进程管理-前趋图

 进程管理-死锁


概要

软考高级系统架构设计师(三) 基础知识之操作系统1进程

 操作系统 概述

软考高级系统架构设计师(三) 基础知识之操作系统1进程

操作系统的功能: 进程管理、存储管理、文件管理、作业管理、设备管理

软考高级系统架构设计师(三) 基础知识之操作系统1进程

操作系统的特征

  • 并发性
  • 共享性
  • 虚拟性
  • 不确定性

 软考高级系统架构设计师(三) 基础知识之操作系统1进程

进程管理

  1. 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
  2. 进程的组成
  • 进程控制块PCB(唯一标志)
  • 程序:描述进程要做什么
  • 数据:存放进程执行时所需数据

软考高级系统架构设计师(三) 基础知识之操作系统1进程  

     3. 进程与程序的区别:

  • 进程是程序的一次执行过程,没有程序就没有进程
  • 程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它就永远存在
  • 程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡
  • 进程是系统进行资源分配和调度的独立单位,而程序不是 

软考高级系统架构设计师(三) 基础知识之操作系统1进程进程与线程:

进程的2个基本属性:

1)可拥有资源的独立单位;

2)可独立调度和分配资源的基本单位;

ps: 线程 只能独立调度, 不分配资源

软考高级系统架构设计师(三) 基础知识之操作系统1进程 

线程不共享: 程序计数器、栈、寄存器 

PCB

软考高级系统架构设计师(三) 基础知识之操作系统1进程

 

软考高级系统架构设计师(三) 基础知识之操作系统1进程

PCB组织方式:线性方式、链接方式、索引方式

软考高级系统架构设计师(三) 基础知识之操作系统1进程

进程的状态

三态图:

软考高级系统架构设计师(三) 基础知识之操作系统1进程

                   运行       就绪      阻塞

CPU           YES       NO       NO

非CPU        YES       YES     NO

阻塞: 不能直接到「运行」

 五态图:

软考高级系统架构设计师(三) 基础知识之操作系统1进程

 挂起: 程序调度、异常等

「活跃就绪」: 只有此状态,可以到「运行」

「活跃阻塞」: 要经过「静止阻塞」「静止就绪」「活跃就绪」,才能到「运行」

软考高级系统架构设计师(三) 基础知识之操作系统1进程

 进程管理-PV操作

信号量机制

1965年,荷兰学者Dijkstra提出的信号量机制是一种卓有成效的进程同步与互斥的工具

信号量是一个整型变量,根据控制对象的不同赋不同的值。

PV操作是实现进程同步与互斥的常用方法。进程的同步与互斥是学习 PV 操作的前提。

同步和互斥往往在实际问题中共存,而不是反义词。

同步的反义词是异步

互斥的反义词是共享

互斥:某资源(即临界资源,如打印机、缓冲区。进程间接制约关系)在同一时间内只能由一个任务单独使用,使用时需要加锁,使用完后解锁才能被其他任务使用;

同步:多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享的问题;如自行车和汽车。 进程直接制约关系

软考高级系统架构设计师(三) 基础知识之操作系统1进程

P操作:【申请资源,S=S-1】,若S>=0,则执行P操作的进程继续执行;若S<0,表示资源不足,去排队,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。

V操作:【释放资源,S=S+1】,若S>0,则执行V操作的进程继续执行;若S<=0,表示有进程在排队,则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行v操作的进程继续。

 注意: 临界区,是一段代码;软考高级系统架构设计师(三) 基础知识之操作系统1进程

S表示资源情况、负值等待的进程数。 S=S-1表示申请资源;S=S+1表示释放资源

互斥信号量:对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1.

同步信号量:对共享资源的访问控制,初值一般是共享资源的数量

利用PV操作实现进程的同步

进程的同步是由于进程间合作引起的相互制约的问题,要实现进程的同步可用一个信号量与消息联系起来。

同步问题的经典例子是生产者-消费者问题。

软考高级系统架构设计师(三) 基础知识之操作系统1进程

 软考高级系统架构设计师(三) 基础知识之操作系统1进程

 练习题:

软考高级系统架构设计师(三) 基础知识之操作系统1进程

 进程管理-前趋图

软考高级系统架构设计师(三) 基础知识之操作系统1进程

 ps: 依赖关系。只有A,B,C都完成了,才能开始D。 D完成了,才能开始E.

软考高级系统架构设计师(三) 基础知识之操作系统1进程

PS: 前置动作用V, 后置检查用P

练习题:

软考高级系统架构设计师(三) 基础知识之操作系统1进程 

 练习题:

软考高级系统架构设计师(三) 基础知识之操作系统1进程

 ps: 直接制约关系,是先后顺序的影响

练习题:

软考高级系统架构设计师(三) 基础知识之操作系统1进程

 进程管理-死锁

死锁: 一个进程等待一件不可能发生的事,进程就死锁了。

死锁的4个必要条件:

互斥条件:进程对分配到的资源进行排他使用,即在一段时间内某资源只能被一个进程占用,其他请求该资源的进程进行等待,直到该资源释放。

请求和保持条件:一个进程因为请求资源而阻塞等待时,对自己已经获得的资源保持不放。

不可抢占(剥夺)条件:进程已经获得的资源,在未使用完之前不能被强行剥夺。

循环等待条件:若干进程之间形成一种环形的等待资源关系。
 

软考高级系统架构设计师(三) 基础知识之操作系统1进程 

练习题:

软考高级系统架构设计师(三) 基础知识之操作系统1进程 S < 5: 一定死锁

如果A,B,C每个都有4个资源,再多给1个资源,则不会死锁。 所以:

S= [5,12]可能死锁,可能不死锁

s>13,一定不会死锁。

如果有m个进程,都需要n个资源,

则 不可能发生死锁: S > m *(n-1) + 1文章来源地址https://www.toymoban.com/news/detail-496087.html

到了这里,关于软考高级系统架构设计师(三) 基础知识之操作系统1进程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包