【***操作系统---第二章***】

本文深入探讨了操作系统中的进程概念,包括其定义、组成、状态转换和控制。介绍了处理机调度的基本原理,如FCFS、SJF、HRRN等算法,并讨论了线程、进程通信和同步机制,如信号量和管程。同时,文章还涵盖了死锁的概念及处理策略,为理解操作系统内核提供了全面的知识框架。
摘要由CSDN通过智能技术生成

目录

进程的定义、组成、组织方式、特征

 进程的状态与转换

进程控制

 进程通信

线程概念  多线程模型

处理机调度的概念、层次

进程调度的时机,切换与过程、方式

 调度算法的评价指标

 FCFS、SJF、HRRN调度算法

时间片轮转RR、优先级、多级反馈队列

进程同步、进程互斥

进程互斥的软件实现方法

进程互斥的硬件实现方法

 信号量机制

 用信号量实现进程互斥、同步、前驱关系

生产者-消费者问题

多生产者-多消费者问题

吸烟者问题

 读者-写者问题

哲学家进餐问题 

 管程

死锁的概念

 死锁的处理策略1——预防死锁

 死锁的处理策略2——避免死锁

死锁的处理策略3——检测和解除


进程的定义、组成、组织方式、特征

 

程序:一个指令序列

早期计算机只支持单道程序

引入多道程序技术后:

 

 

 

 

        

 现在我们知道了一个进程内部的组成

现在要了解多个进程之间的组织

 

 

 

 本节总结

 进程的状态与转换

 就绪态:进程已经有了处理机之外的所有需要的资源

为了提高CPU利用率,需要先将其他进程需要的资源分配到位,才能得到CPU的服务

 

 本节总结

 

进程控制

 什么是进程控制——实现进程状态转换

用什么实现进程控制——原语

原语运行在核心态 

进程控制相关的原语:

 

 本节总结

 进程通信

 

 

 

 本节总结

线程概念  多线程模型

 

 

 

 

 

 

 

 

 

 

 本节总结

处理机调度的概念、层次

什么是调度?——有一堆任务要处理,但资源有限,没法同时处理,这时就需要某种规则来决定处理这些任务的顺序

在多道程序系统中,进程的数量往往多于处理机的个数,这样不可能同时并行处理各个进程。

因此,处理机调度,就是从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程的并发执行

 

 

 

 本节总结

进程调度的时机,切换与过程、方式

 

 

                 -------------------普通临界区-----------------

 

 

本节总结 

 

 调度算法的评价指标

CPU利用率:CPU忙碌的时间占总时间的比例

系统吞吐量:单位时间内完成作业的数量         总共完成了多少道作业/总共花了多少时间

周转时间:从作业被提交给系统开始,到作业完成为止的这段时间间隔

        它包括四个部分:作业在外存后备队列上等待高级调度的时间、进程在就绪队列上等待低级调度的时间、进程在CPU上执行的时间、进程等待IO操作完成的时间(后三项在整个作业的处理过程中可能发生多次)

        作业完成时间-作业提交时间

平均周转时间各作业周转时间之和/作业数

带权周转时间作业周转时间/作业实际运行的时间

                               

 平均带权周转时间各作业带权周转时间之和/作业数

等待时间:指进程/作业处于等待处理机状态时间之和。

响应时间:指从用户提交请求到首次产生响应所用的时间

本节总结

 FCFS、SJF、HRRN调度算法

先来先服务(First Come First Serve)

 

 短作业优先(Shortest Job First)--抢占式/非抢占式

 

 

 

高响应比优先(High Response Ratio Next) 

 

 本节总结

时间片轮转RR、优先级、多级反馈队列

时间片轮转(Round-Robin)

 

  

 

 优先级调度算法 

 

 

 

 多级反馈队列调度算法

 

 

进程同步、进程互斥

什么是进程同步:

 什么是进程互斥

 

 

本节总结 

进程互斥的软件实现方法

 

 

 本节总结

进程互斥的硬件实现方法

中断屏蔽方法

 TestAndSet指令(TestAndSetLock \ TSL\TS)

Swap指令(Exchange、XCHG)

 

本节总结 

 信号量机制

 

 

 

 

 本节总结

 

 用信号量实现进程互斥、同步、前驱关系

 

 

 本节重点

生产者-消费者问题

 

 

 本节总结

多生产者-多消费者问题

 

  本节总结

吸烟者问题

 与生产者问题不同的是,供应者能生产好几种不同的材料

  

 

 本节总结

 读者-写者问题

 

 潜在的问题:只要有读进程还在读,写进程就要一直阻塞等待!可能饿死

也叫“读写公平法”

 本节总结

哲学家进餐问题 

重点是,每个哲学家需要持有两个临界资源,才可以

 如果5个哲学家并发地拿起了左手边的筷子——就会发生死锁

 

 

 本节总结

 管程

 

 其实管程有点像类

 

 本节总结

 管程就是运用了封装的思想,把实现同步和互斥的操作隐藏在管程内部的那些定义中

死锁的概念

 

 

 

 ​​​​​​​​​​​​​​​​​​​​​

 本节总结

 死锁的处理策略1——预防死锁

 

  

 本节总结

 

 死锁的处理策略2——避免死锁

 

 

 

 

  

 

 

 代码实现:

 本节总结

死锁的处理策略3——检测和解除

 

 

 

 

 

本节总结 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值