操作系统—资源分配及调度
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
...
进 程 P2
p(s2);申请R2 p(s1);又申请R1 ...
v(s1) ;释放R1 ...
v(s2);释放R2 ...
v(s2) ;释放R2
v(s1);释放R1
5.4 死锁
• 5.4.1 死锁的概念 • 例3:设系统只有一台打印机(R1),和一台光标记阅
读作机,(控R制2) ,资由源进的程申p请1、和p释2 共放享。。其用信信号号灯灯的的设P置、为V:操
s1:表示R1是否可用,初值为1。
s2:表示R2是否可用,初值为1。
进 程 P1
p(s1) ;申请R1 p(s2) ;又申请R2
地分配优先级也是一个问题。
• 适用的资源:由于系统开销较大,主要用于系统中的紧缺资源
(如处理机的分配)。
5.3 资源分配策略
• 资源分配策略的总原则: 1. 保证紧急事务优先处理 2. 保证低级事务得到处理 3. 保证轻量事务及时处理
5.4 死锁
• 5.4.1 死锁的概念 • 死锁是一个较为复杂的概念,在讲这个概念之
5.2 资源分配机制
• 5.2.1 资源描述器 • 资源描述器的组织方式: • 表:适合于分配单位数量固定不变 • 队列:适合于分配单位数量是变化的 • 最大数组法:适合于分配单位的最大数
量是已知的。如一个硬盘空间是不变的, 当确定最小分配单位后,便可生成所有 的资源描述器。
5.2 资源分配机制
• 5.2.2 资源信息块(rib)(p122,图5.1) • 资源信息块包含如下内容: 1. 等待进程队列 2. 可利用资源队列 3. 资源分配程序入口地址
5.3 资源分配策略
• 5.3.1 概述 • 资源分配的两个目标: • 吞吐率:在单位时间内完成工作量的量度。 • 响应时间:提交请求和返回该请求的响应之间
{ ... 生产一个产品; p(empty); p(mutex); 送一个产品到缓冲区; v(mutex); v(full);
p2( ) { while(还要继续消费)
{ p(mutex); p(full); 从缓冲区中取产品; v(mutex); v(empty); ... 消费一个产品;
}}
}}
对资源实行合理的分配,监察资源的使 用情况,回收空闲资源,并保护资源不 受非法使用。
5.1 资源管理概述
• 5.1.1 资源管理的目的和任务 • 资源管理的目标(从它的反面谈起) Fra Baidu bibliotek. 高效(例:CPU的利用) 2. 合理(例:内存的分配) 3. 安全(例:网络访问,死锁)
5.1 资源管理概述
• 5.1.1 资源管理的目的和任务 • 资源管理的任务 1. 资源数据结构的描述 2. 确定资源的分配原则和调度原则 3. 执行资源分配 4. 存储控制和安全保护
所使用的时间。 • 吞吐率和响应时间是服务系统(如:数据库服
务器、web服务器等)的两个最为重要的评价 指标,所追求的目标就是高吞吐率和短响应时 间。
5.3 资源分配策略
• 5.3.1 概述 • 在其他条件不变的情况下,吞吐率与响应时间
往往存在矛盾的,即以牺牲响应时间来获取高 吞吐率,或以牺牲吞吐率来获取短响应时间。 系统设计时需要根据应用环境作出平衡。
考虑,不利于短作业,系统无法进行干预。
5.3 资源分配策略
• 5.3.3 优先调度:系统对每个进程(或作业),都指定一个优先级 以反映请求资源的紧迫程度
• 排序原则:按优先级的高低排序。即:新产生的请求,按其优先 级的高低插入到队列中相应的位置。
• 优点:系统可进行干预,以优化资源的使用方式
• 缺点:插入时要搜索队列、有时无法用队列实现,另外如何合理
分配的机制和策略不尽相同,本章主要 从资源的一般共性出发,着重讨论资源 分配的一般机制和策略,具体的实施将 在后续各章中陆续展开讨论。
5.2 资源分配机制
• 5.2.1 资源描述器(resource descriptor ,RD ) • 资源描述器(表5.1,p121):描述资源的数据结构。
操作系统通过这些数据结构而感知到资源的存在,并 对资源进行管理。 • 最小分配单位:某一类资源根据需要划分为不可再分 割的基本分配单位。一个最小分配单位通过一个资源 描述器加以描述。
• 思考:它们是如何导致死锁的?
5.4 死锁
例2:回顾:生产者-消费者问题 消费者在未检查缓冲区是否为空的时候便申请了读写许可mutex,
当缓冲区为空时,消费者需要等生产者生产产品,然而生产者同 样因为在等待消费者释放缓冲区而陷入了死锁。
mutex=1; full=0; empty=n;
p1( ) { while(生产未完成)
第五章 资源分配与调度
5.1 资源管理概述
• 5.1.1 资源管理的目的和任务 • 什么是资源? • 资源包括硬件资源和软件资源。是指执
行一个用户程序所需要的全部硬件设备、 软件设施和数据。
5.1 资源管理概述
• 5.1.1 资源管理的目的和任务 • 什么是资源管理? • 根据不同资源的不同特点,按用户要求
5.1 资源管理概述
• 5.1.2 资源的分类方法(p120) • 物理资源与程序资源 • 单一访问入口资源和多访问入口的资源 • 等同资源 • 虚拟资源
5.1 资源管理概述
• 5.1.3 资源管理的机构和策略(p121) • 机构:操作系统实现资源管理的部分 • 策略:关于这部分操作系统的具体设计 • 注意:由于每种资源具有各自的特点,
前,先看一些例子。 • 例1:网上交易支付问题 • 卖方与买方谈妥后,买方交付了60%的货款,
然后卖方向买方发货。当收到货物后,买方不 满意货物提出退货,然而卖方认为理由不合理, 不予退货。交易无法推进下去。 • 思考:你认为应该怎样解决?
5.4 死锁
• 例2:十字路的交通问题 (练习题 P138 5-7)
A
B
A
A
B
A
B
5.3 资源分配策略
• 5.3.2 先请求先服务 ( FIFO — First In First Out) • 排序原则:按请求的先后次序排序。即:新产生的请
求均排在队尾,分配时在队首。
• 适用范围:系统中的一切资源。 • 优点:简单、次序不会改变、系统开销小 。 • 缺点:未对请求特征、占用资源时间长短等因素加以
进 程 P2
p(s2);申请R2 p(s1);又申请R1 ...
v(s1) ;释放R1 ...
v(s2);释放R2 ...
v(s2) ;释放R2
v(s1);释放R1
5.4 死锁
• 5.4.1 死锁的概念 • 例3:设系统只有一台打印机(R1),和一台光标记阅
读作机,(控R制2) ,资由源进的程申p请1、和p释2 共放享。。其用信信号号灯灯的的设P置、为V:操
s1:表示R1是否可用,初值为1。
s2:表示R2是否可用,初值为1。
进 程 P1
p(s1) ;申请R1 p(s2) ;又申请R2
地分配优先级也是一个问题。
• 适用的资源:由于系统开销较大,主要用于系统中的紧缺资源
(如处理机的分配)。
5.3 资源分配策略
• 资源分配策略的总原则: 1. 保证紧急事务优先处理 2. 保证低级事务得到处理 3. 保证轻量事务及时处理
5.4 死锁
• 5.4.1 死锁的概念 • 死锁是一个较为复杂的概念,在讲这个概念之
5.2 资源分配机制
• 5.2.1 资源描述器 • 资源描述器的组织方式: • 表:适合于分配单位数量固定不变 • 队列:适合于分配单位数量是变化的 • 最大数组法:适合于分配单位的最大数
量是已知的。如一个硬盘空间是不变的, 当确定最小分配单位后,便可生成所有 的资源描述器。
5.2 资源分配机制
• 5.2.2 资源信息块(rib)(p122,图5.1) • 资源信息块包含如下内容: 1. 等待进程队列 2. 可利用资源队列 3. 资源分配程序入口地址
5.3 资源分配策略
• 5.3.1 概述 • 资源分配的两个目标: • 吞吐率:在单位时间内完成工作量的量度。 • 响应时间:提交请求和返回该请求的响应之间
{ ... 生产一个产品; p(empty); p(mutex); 送一个产品到缓冲区; v(mutex); v(full);
p2( ) { while(还要继续消费)
{ p(mutex); p(full); 从缓冲区中取产品; v(mutex); v(empty); ... 消费一个产品;
}}
}}
对资源实行合理的分配,监察资源的使 用情况,回收空闲资源,并保护资源不 受非法使用。
5.1 资源管理概述
• 5.1.1 资源管理的目的和任务 • 资源管理的目标(从它的反面谈起) Fra Baidu bibliotek. 高效(例:CPU的利用) 2. 合理(例:内存的分配) 3. 安全(例:网络访问,死锁)
5.1 资源管理概述
• 5.1.1 资源管理的目的和任务 • 资源管理的任务 1. 资源数据结构的描述 2. 确定资源的分配原则和调度原则 3. 执行资源分配 4. 存储控制和安全保护
所使用的时间。 • 吞吐率和响应时间是服务系统(如:数据库服
务器、web服务器等)的两个最为重要的评价 指标,所追求的目标就是高吞吐率和短响应时 间。
5.3 资源分配策略
• 5.3.1 概述 • 在其他条件不变的情况下,吞吐率与响应时间
往往存在矛盾的,即以牺牲响应时间来获取高 吞吐率,或以牺牲吞吐率来获取短响应时间。 系统设计时需要根据应用环境作出平衡。
考虑,不利于短作业,系统无法进行干预。
5.3 资源分配策略
• 5.3.3 优先调度:系统对每个进程(或作业),都指定一个优先级 以反映请求资源的紧迫程度
• 排序原则:按优先级的高低排序。即:新产生的请求,按其优先 级的高低插入到队列中相应的位置。
• 优点:系统可进行干预,以优化资源的使用方式
• 缺点:插入时要搜索队列、有时无法用队列实现,另外如何合理
分配的机制和策略不尽相同,本章主要 从资源的一般共性出发,着重讨论资源 分配的一般机制和策略,具体的实施将 在后续各章中陆续展开讨论。
5.2 资源分配机制
• 5.2.1 资源描述器(resource descriptor ,RD ) • 资源描述器(表5.1,p121):描述资源的数据结构。
操作系统通过这些数据结构而感知到资源的存在,并 对资源进行管理。 • 最小分配单位:某一类资源根据需要划分为不可再分 割的基本分配单位。一个最小分配单位通过一个资源 描述器加以描述。
• 思考:它们是如何导致死锁的?
5.4 死锁
例2:回顾:生产者-消费者问题 消费者在未检查缓冲区是否为空的时候便申请了读写许可mutex,
当缓冲区为空时,消费者需要等生产者生产产品,然而生产者同 样因为在等待消费者释放缓冲区而陷入了死锁。
mutex=1; full=0; empty=n;
p1( ) { while(生产未完成)
第五章 资源分配与调度
5.1 资源管理概述
• 5.1.1 资源管理的目的和任务 • 什么是资源? • 资源包括硬件资源和软件资源。是指执
行一个用户程序所需要的全部硬件设备、 软件设施和数据。
5.1 资源管理概述
• 5.1.1 资源管理的目的和任务 • 什么是资源管理? • 根据不同资源的不同特点,按用户要求
5.1 资源管理概述
• 5.1.2 资源的分类方法(p120) • 物理资源与程序资源 • 单一访问入口资源和多访问入口的资源 • 等同资源 • 虚拟资源
5.1 资源管理概述
• 5.1.3 资源管理的机构和策略(p121) • 机构:操作系统实现资源管理的部分 • 策略:关于这部分操作系统的具体设计 • 注意:由于每种资源具有各自的特点,
前,先看一些例子。 • 例1:网上交易支付问题 • 卖方与买方谈妥后,买方交付了60%的货款,
然后卖方向买方发货。当收到货物后,买方不 满意货物提出退货,然而卖方认为理由不合理, 不予退货。交易无法推进下去。 • 思考:你认为应该怎样解决?
5.4 死锁
• 例2:十字路的交通问题 (练习题 P138 5-7)
A
B
A
A
B
A
B
5.3 资源分配策略
• 5.3.2 先请求先服务 ( FIFO — First In First Out) • 排序原则:按请求的先后次序排序。即:新产生的请
求均排在队尾,分配时在队首。
• 适用范围:系统中的一切资源。 • 优点:简单、次序不会改变、系统开销小 。 • 缺点:未对请求特征、占用资源时间长短等因素加以