操作系统概念笔记——第十二章:大容量存储器结构的结构

本文主要是介绍操作系统概念笔记——第十二章:大容量存储器结构的结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 第十二章:大容量存储器的结构
      • 12.1 大容量存储器结构简介
        • 12.1.1 磁盘
      • 12.4 磁盘调度
        • 12.4.1 FCFS调度
        • 12.4.2 SSTF调度
        • 12.4.3 SCAN调度
        • 12.4.4 C-SCAN调度
        • 12.4.5 LOOK调度

第十二章:大容量存储器的结构

这里只记了上课讲过的重点内容,其它内容不再赘述

12.1 大容量存储器结构简介

12.1.1 磁盘

磁盘的简介在数据库系统这门课程里已经出现过,这里不再赘述

12.4 磁盘调度

操作系统的任务之一就是有效地使用硬件。对磁盘驱动器来说,满足这一要求意味着要有较快地访问速度和较宽的磁盘带宽

每当一个进程需要对磁盘进行I/O操作,它就向操作系统发出一个系统调用

如果所需地磁盘驱动器和控制器空闲,那么该请求会马上执行。如果磁盘驱动器或控制器忙,那么任何新的服务请求都会加到该磁盘驱动器的待处理请求队列上

12.4.1 FCFS调度

最简单的磁盘调度方式是先到先服务调度。

例如:有一个磁盘队列,其I/O对各柱面上块的请求顺序如下
在这里插入图片描述
磁头开始时位于53处
在这里插入图片描述
在这个图中,会出现比较大的摆动,这也是FCFS调度算法的问题

12.4.2 SSTF调度

最短寻道时间优先算法选择距当前磁头位置最近的待处理请求
在这里插入图片描述
SSTF调度与SJF调度一样,都可能会导致一些请求得不到服务
SSTF调度并不是最优的

12.4.3 SCAN调度

对于SCAN算法,磁臂从磁盘的一端向另一端移动,同时当磁头经过每个柱面时,处理位于该柱面上的服务请求。当到达另一端时,磁头改变移动方向,继续处理。磁头在磁面上来回移动
SCAN算法也称为电梯算法
在这里插入图片描述
SCAN算法的问题:当磁头移动到一端并调转回来时,紧靠磁头的请求只有少数(刚刚清理过一次)。而磁盘另一端的请求密度却很大,而这些请求等待时间很长

12.4.4 C-SCAN调度

C-SCAN调度是SCAN调度的变种,主要提供一个更为均匀的等待时间
它同样将磁头从磁盘的一段移向另一端,不过当磁头移向另一端时,它会马上返回到磁盘开始,返回时并不处理请求。

C-SCAN算法基本上把柱面当成一个环链,以将最后的柱面和第一个柱面相连
在这里插入图片描述

12.4.5 LOOK调度

磁头只移动到一个方向最远的请求为止,接着马上回头,而不是走到磁盘的尽头

SCAN和C-SCAN有时对应LOOK和C-LOOK
在这里插入图片描述

这篇关于操作系统概念笔记——第十二章:大容量存储器结构的结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/158601

相关文章

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Python循环结构全面解析

《Python循环结构全面解析》循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随... 目录for-in循环while循环循环控制语句break语句continue语句else子句嵌套的循

MySQL 事务的概念及ACID属性和使用详解

《MySQL事务的概念及ACID属性和使用详解》MySQL通过多线程实现存储工作,因此在并发访问场景中,事务确保了数据操作的一致性和可靠性,下面通过本文给大家介绍MySQL事务的概念及ACID属性和... 目录一、什么是事务二、事务的属性及使用2.1 事务的 ACID 属性2.2 为什么存在事务2.3 事务

Python+PyQt5实现文件夹结构映射工具

《Python+PyQt5实现文件夹结构映射工具》在日常工作中,我们经常需要对文件夹结构进行复制和备份,本文将带来一款基于PyQt5开发的文件夹结构映射工具,感兴趣的小伙伴可以跟随小编一起学习一下... 目录概述功能亮点展示效果软件使用步骤代码解析1. 主窗口设计(FolderCopyApp)2. 拖拽路径

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark