二、操作系统 ☞ 进程管理

本文深入探讨了操作系统中的进程管理,包括进程的定义、特征、状态转换、进程控制、调度、通信、线程、调度算法以及同步与死锁等概念。重点介绍了进程控制块(PCB)、调度层次和各种调度策略,同时讨论了经典的生产者-消费者问题和防止死锁的银行家算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、进程:是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。(动态的、过程性的概念,以便使多道程序并发执行,实现操作系统的并发性和共享性)

   进程数据块(Process Control Block,PCB),来描述进程的基本情况和运行状态,进而控制、管理进程。 PCB是进程存在的唯一标志!(PCB是有效地)

2、进程的特征:动态性(最基本的特征)、并发性、独立性、异步性、结构性

   结构性(进程的组织):程序段+数据段+进程控制段

3、进程的状态与转换:

   运行状态:进程正在处理机上运行

   就绪状态:进程已处于准备运行的状态(获得除处理机之外的一切资源)有处理机就可

   阻塞状态:进程正在等待某一件事而暂停运行(如等待某资源)有处理机也不行

   创建状态:进程正在被创建,且未被转到就绪状态

   结束状态:正在从系统中消失

4、进程控制:一般把进程控制用的程序段称为原语,原语的特点是执行期间不允许中断

   创建进程过程: 为新进程分配一个唯一的进程标识号,并申请一个空白的PCB,为进程分配资源

5、进程调度:调度是指决定资源分配给哪个进程的行为

6、进程通信:(进程间的信息交互)

   共享存储、消息传递、管道通信(所谓管道,就是一个共享文件)

   管道机制需提供以下三方面的协调能力:互斥、同步和确定对方的存在

   管道读数据是一次性的操作,数据一旦被读取,它就从管道中被抛弃

7、线程(为了减小程序在并发时所付出的时空开销,提高操作系统的并发性能)

   程序执行的最小单元,多个线程可以并发。基本不拥有任何系统资源,因此这些线程之间的同步和通信非常容易实现。

8处理机调度:操作系统设计的核心问题

(为什么?因为在多道程序系统中,进程的数量往往多于处理机的个数,进程争用处理机的情况在所难免)

8、调度层次:

     作业调度(使作业获得竞争处理机的权利)

     中级调度(将外部等待状态的进程调入内存)

     进程调度(选取一进程,将处理机分配给他、最基本的一种调度,不可或缺)

     高级  -》  中级  -》  低级

9、进程调度方式:

   非剥夺调度方式:指当一个进程正在处理机上执行时,即使有某个更加紧迫的进程需要处理,仍然让这个正在处理的进程继续执行。

   剥夺调度方式:指当一个进程正在处理机上执行时,若有某个更加紧迫的进程需要处理,立即暂停正在处理的进程,将处理机分配给更加重要紧迫的进程。

10、调度基本准则:(考虑特性)

   CPU利用率(使CPU保持“忙”状态)

   系统吞吐量(单位时间内CPU完成作业的数量)

   周转时间(从作业提交到作业完成所经历的时间)

   等待时间(进程处于等待处理机状态时间之和)

   响应时间(从用户提交请求到系统首次发生响应所用的时间)

11、典型的调度算法

   先来先服务调度算法(最简单的调度算法,可以用于作业调度、也可以用于进程调度)

                                      不可剥夺算法,对长作业有利、对短作业无利

   短作业优先调度算法(对长作业不利)

   优先级调度算法(优先级用于描述作业运行的紧迫程度,可以用于作业调度、也可以用于进程调度

   高响应比优先调度算法(主要用于作业调度)

                               响应比是考虑作业的等待时间和估计的运行时间

                               响应比 = (等待时间+要求服务时间)/ 要求服务时间

   时间片轮转调度算法(主要用于分时系统)先来先服务仅运行一个时间片,循环运行

   多级反馈队列调度算法(集合了前几种算法的优点)

                                设置多个就绪队列、赋予每个队列时间片不同

12、作业与进程

     作业是从用户角度出发:由用户提交以用户任务为单位

     进程是从操作系统出发:由系统生成,是操作系统的资源分配和独立运行的基本单位

13进程同步:(使用一些机制,让进程有次序进行,比如加法在乘法之后进行)

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

        同步:直接制约关系,源于他们的相互合作

        互斥:间接制约关系(加锁的方法、软件标注法、硬件指令法)

14、信号量(P操作 访问临界资源 加锁、V操作 访问结束 解锁)

        正在使用时占用资源P操作,使用结束时释放资源V操作

        PV操作是一种低级进程通信原语,原语不可被中断执行

15、经典生产者与消费者问题(同步)

      一组生产者进程和一组消费者进程共享一个初始为空、大小为n的缓冲区,

      只有缓冲区未满时,生产者才能把消息放入缓冲区,否则必须等待;

      只有缓冲区不空时,消费者才能从中取出消息,否则必须等待。

16死锁:指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。

17银行家算法:著名的死锁避免问题。

        操作系统看成是银行家,操作系统管理的资源看成相当于银行家管理的资金,进程请求分配资源,相当于是贷款。

        当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源满足则可按需分配资源,否则推迟分配;

        如果进程在执行过程中继续申请资源,先测试该进程已申请的资源数+本次申请的资源数是否超过了它的最大需求量,超过则拒绝分配,没有超过且系统内有相应量的资源则分配,如果系统内的资源不够也要推迟分配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值