操作系统原理第五章(资源分配与调度)
一、资源管理
1.资源的动态分配:进程所需的资源是在进程运行中根据运行情况动态的分配、使用和释放的。
静态分配:批处理操作系统中,对作业一级采用资源静态分配方法。作业所需要的资源是在调度到这个作业的时候,根据用户给出的信息进行分配,并在做作业运行完毕后释放所获得的的全部资源。
2.资源管理任务:
对资源数据结构的描述;确定资源的分配原则和调度原则;执行资源分配;存取控制和安全保护
3.资源的分类:
物理资源和程序资源;
单一访问入口资源(一次只能为一个进程所用)/多访问入口资源(可同时为多个进程所共享)
等同资源:在某些条件下,申请者申请资源时,无论给它分配哪一个具体设备,对它而言都是等效的。
虚拟资源
二、资源分配机制
1.资源描述器:描述各类资源的最小分配单位的数据结构(RD),如主存储器的主存块,磁盘的扇区
2.资源信息块(rib):说明资源、请求者及实施分配所需的必要信息的数据结构
三、资源分配策略
1.实施分配的时机:
当请求者发出一个明确地资源请求命令; 当处理机空闲的时候;
当存储区被释放变为空闲的时候; 当一个外部设备发生完成中断时;
分配程序选择一个请求的的策略:
按照请求来到的先后次序进行查看; 将进程请求者的优先级结合到每一个请求中;
满足能更合理应用这个资源的请求
先请求先服务(FIFO) 优先调度
针对设备特性的调度:
移臂调度:在满足一个磁盘的请求时,总是选取与当前移动臂前进方向上最近的那个情求,使移臂距离最短
旋转调度:在满足一个磁盘请求时,总是选取与当前读写头旋转方向最近的那个情求,使旋转圈数最少
四、死锁
1.死锁:在两个或多个并发进程中,如果每种进程持有某种资源而又都等待着别的进程释放它或它们现在保持的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。
同类资源的死锁 ; 非同类资源的死锁
2.产生死锁的原因及必要条件
根本原因:系统能够提供的资源个数少于要求该资源的进程数
原因:系统资源不足;进程推进顺序非法
必要条件:互斥条件;不剥夺条件;占有并等待;环路条件
3.解决死锁问题的策略
预防死锁:通过设置某些限制条件,破坏死锁四个必要条件之一(多),来防止死锁
破坏互斥条件(难) 破坏不剥夺条件(代价大)
破坏部分分配条件(预先静态分配)
破坏环路条件(有序资源分配)
较容易实现,但由于限制太严格,导致资源利用率和吞吐率降低
避免死锁:在资源的动态分配过程中,用某种方法防止进程进入不安全状态,从而避免死锁的进入。
较难实现,只需较弱的限制,就可获得较高的资源利用率和吞吐率
检测和恢复死锁:允许死锁发生,但可通过检测机制及时检测出死锁状态,并精确确定与死锁有关的进程和资源,然后采用使用措施,将系统中的死锁清除,将进程从死锁状态中解脱出来。
检测方法:难
恢复方法: 常用的方法是撤销或挂起一些进程,以回收一些资源,再将它们分配给处于阻塞状态的进程,使之转化为就绪状态
实现难度大,但可获得较高的资源利用率和系统吞吐量
4.预防死锁:
静态预防:预先分配所有共享资源
改进:将资源的分配单位由进程改为程序步
动态预防:采用资源的动态分配
避免死锁:
有序资源分配法:系统中所有资源都给定一个唯一的编号,所有分配请求必须以上升的次序进行。要求程序:
对它所必须使用的属于某一类的所有资源必须一次申请完成;
在申请不同类的资源时,必须安各类编号一次申请
银行家算法
操作系统原理第五章(资源分配与调度)相关推荐
- 操作系统原理第五章:CPU调度
目录 1 CPU调度基本概念 1.1 基本概念 1.2 CPU调度的时机 1.3 CPU调度方案 2 CPU调度算法 2.1 先来先服务(FCFS) 2.2 短作业优先(SJF) 2.3 优先级 2. ...
- 操作系统原理——第五章:虚拟内存
文章目录 1. 起因 2. 覆盖技术 3. 交换技术 4. 虚存技术 4.1 目标 4.2 程序局部性原理 4.3 基本概念 4.4 基本特征 4.5 虚拟页式内存管理 1. 起因 增长迅速的存储需求 ...
- 操作系统原理第七章:死锁
目录 1 死锁的基本概念 2 死锁的必要条件 3 死锁预防 3.1 抑制死锁发生的必要条件 4 死锁避免 4.1 资源分配图法 4.2 银行家算法 5 死锁的检测 5.1 每一种资源类型只有一个实例 ...
- 微机原理第五章 存储器
微机原理笔记分享 课程链接:https://www.bilibili.com/video/BV1qv411Y7AA?share_source=copy_web 微机原理第五章 @[TOC](微机原理第 ...
- 计算机原理存储器课件,计算机原理第五章存储器课件.ppt
计算机原理第五章存储器课件.ppt 教材例题讲解 图5.33 全译码法8088与6264构成32KB存储空间 图5.34 部分译码法8088与6116构成8KB存储空间 图5.35 8088与ROM/ ...
- 通信原理第五章 基带信号的表示和传输
通信原理第五章 基带信号的表示和传输 思维导图
- 计算机操作系统原理第四章习题
计算机操作系统原理第四章习题 1.什么是静态链接.装入时动态链接和运行时的动态链接? 2.简述分页系统和分段系统的异同点 3.什么情况下需要重定位?为什么要引入重定位? 4.在具有快表的段页式存储管理 ...
- 操作系统:第五章 磁盘管理 - I/O控制,缓冲区管理
本文已收录至 Github(MD-Notes),若博客中有图片打不开,可以来我的 Github 仓库:https://github.com/HanquanHq/MD-Notes,涵盖了互联网大厂面试必 ...
- 操作系统原理——第2章 操作系统概述
2.1 操作系统的目标和功能 操作系统是控制应用程序执行的程序, 并充当应用程序和计算机硬件之间的接口. 它有三个主要目标: 方便 有效 扩展能力 2.1.1 作为用户/计算机接口的操作系统 计算机接 ...
- 【2021/7/19更新】【梳理】简明操作系统原理 附录五 RAID(docx)
配套教材: Operating Systems: Three Easy Pieces Remzi H. Arpaci-Dusseau Andrea C. Arpaci-Dusseau Peter Re ...
最新文章
- hive 集群初探,查询比较
- [ARM-assembly]-ARM64汇编语言学习笔记
- CVPR 2019 ATOM:《ATOM: Accurate Tracking by Overlap Maximization》论文笔记
- 路由选择协议笔记ripv1、ripv2、ripng
- python 回溯法 子集树模板 系列 —— 1、8 皇后问题
- 记住要重置线程上下文类加载器
- 国外优秀技术站点推荐
- 华中科技大学计算机专业培养计划,2021年华中科技大学计算机科学与技术专业本科人才培养方案.doc...
- bash 运行可执行文件hello 报错 No such file or directory
- 最长山脉 python
- java输入小写字母_java中怎么实现从对话框输入一个大写字母将其转化为小写字母输出?...
- git 如何下载单个文件夹或者单个文件
- python数据分析基础之处理word格式文件
- 12.pandas 读取与写入文件
- Java是剑客-飘逸;.NET是刀客-霸道 (一) 【转载】
- 使用阿里云服务器三分钟搭建网站教程(详细图文详解)
- Matlab论文插图绘制模板—三维柱状图(高度赋色)
- 阿里云国际站代理商:美国和香港服务器怎么配置采购?
- 我的书架20110626
- 小爱音箱怎么装app_小米小爱音箱下载安装-小爱音箱app最新版下载v2.2.33 安卓官方版-2265安卓网...
热门文章
- 查看执行计划 oracle,查看Oracle执行计划的几种方法
- Windows: 如何调整C盘分区大小
- windows下生成ssh key详解
- 目前流行的、强大的基于Java的机器学习开发库精选
- Halcon深度学习介绍(一)
- Mariadb 安装教程 Windows版
- 密码只靠大脑记好累,有没有试过用群晖NAS来记?
- Windows迅雷X去广告美化终结版Thunder X来了!
- android下拉菜单刷新,Android开发之头部悬浮的上拉加载,下拉刷新的列表
- 2021-2022年中国冰雪季旅游行业发展概况及发展趋势分析[图]