操作系统-进程管理🌵

操作系统的基本概念

  • 操作系统的定义:能有效地组织和管理系统中的各种软/硬件资源,合 理地组织计算机系统的工作流程,控制程序的执行,并且向用户提供 一个良好的工作环境和友好的接口。

  • 操作系统两个重要的作用

    1. 通过资源管理提高计算机系统的效率;

    2. 改善人机界面向用户提供友好的工作环境

  • 🎈操作系统的四个特征:并发性、共享性、虚拟性和不确定性。

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

进程的基本概念

  • 进程通常是由程序、数据和进程控制块(PCB)组成的。

  • 进程是资源分配和独立运行的基本单位,进程两个基本属性:

    • 可拥有 资源的独立单位

    • 可独立调度和分配的基本单位。

进程的状态转换

  • 运行:当一个进程在处理机上运行时,则称该进程处于运行状态。

  • 就绪:一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行, 则称此进程处于就绪状态。

  • 阻塞:也称等待或睡眠状态,一个进程正在等待某一事件发生而暂时停止运行。

  •  

     

进程间的同步与互斥

进程间的同步:是指在系统中一些需要相互合作,协同工作的进程, 这样的相互联系称为进程的同步。

进程间的互斥:是指系统中多个进程因争用临界资源而互斥执行。

临界资源:是指有些资源一次只能供一个进程使用

信号量机制(P、V操作)

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

  1. 公用信号量:实现进程间的互斥,初值为1或资源的数目。

  2. 私用信号量:实现进程间的同步,初值为0或某个正整数。

信号量S的物理意义

  • S≥0表示某资源的可用数

  • S<0,则其绝对值表示 阻塞队列中等待该资源的进程数。

🎁PV操作是实现进程同步与互斥的常用方法,P操作和V操作是低级通信原语,在执行期间不可分割。

  • P操作,表示申请一个资源:

    • P操作的定义:S=S-1,若S≥0,则执行P操作的进程继续执行;若S<0, 则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列

  • V操作,表示释放一个资源

    • V操作定义:S=S+1,若S>0,则执行V操作的进程继续执行;若S≤0,则 从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进 程继续。

🎁生产者消费者问题

一个生产者和一个消费者,缓冲区中可存放n件产品,生产者不断地生产产品,消费者不断地消费产品,如何利用PV操作实现生产者和消费者的同步。

  • S: 互斥信号量,初值为1

  • S1:同步信号量,初值为n,代表缓冲区中还可放入的产品数量

  • S2:同步信号量,初值为0,代表缓冲区中还有多少产品

  •  

     

     

死锁

指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。

🎈系统中共有n个进程共享同一类资源,当每个进程都需要k个资源时, 至少需要M =(k-1)×n+1

  • 产生死锁的4个必要条件:互斥条件、请求保持条件、不可剥夺条件、 环路条件。

  • 死锁的处理策略有:预防策略、避免策略和检测与解除死锁。

    • 死锁预防:采用某种策略限制并发进程对资源的请求。

    • 死锁避免:如银行家算法。

    • 死锁检测:系统定时地运行一个程序来检测是否发生死锁,若有,则设法加以解除。

    • 死锁解除:有资源剥夺法和撤销进程法

🎁死锁避免-银行家算法

先对用户提出的请求进行合法性检查,即检查请求的是不大于需要的,是否不大于可利用的。 若请求合法,则进行试分配。最后对试分配后的状态调用安全性检查算法进行安全性检查。 若安全,则分配,否则,不分配,恢复原来状态,拒绝申请

银行家算法详情可见:《一句话+一张图说清楚——银行家算法》

线程

线程作为调度和分配的基本单位,一个进程中可以有多个线程,多个线程共享进程的和方法区 ,但是每个线程有自己的程序计数器虚拟机栈本地方法栈

🎁线程分为用户级线程内核支持线程

  • 用户级线程不依赖于内核。该类线程的创建、撤销和切换都不利用系 统调用来实现。

  • 内核支持线程依赖于内核。该类线程的创建、撤销和切换都利用系统 调用来实现

  •  
posted @ 2022-05-06 14:47  仙人掌掌掌掌  阅读(112)  评论(0)    收藏  举报