【操作系统】磁臂黏着现象

news2025/1/31 19:58:43

文章目录

    • 什么是磁臂黏着?
    • 为什么 FCFS(First Come First Service) 可以避免磁臂黏着?
    • 为什么 scan,cscan 会产生磁臂黏着?
    • 为什么 NsetpScan 可以避免磁臂黏着?
      • NScan 原理简介
      • NScan 避免磁臂黏着的原因
    • 为什么 FScan 可以避免磁臂黏着?

什么是磁臂黏着?

  • 系统总是访问磁盘的某个磁道而不响应对其他磁道的访问请求,这种现象称为磁臂黏着

为什么 FCFS(First Come First Service) 可以避免磁臂黏着?

  • FCFC 是先来先服务,不同的磁道的请求只要排队总会排到的
    在这里插入图片描述
  • 请求 2(5 号磁道)会在处理完请求 1 (100 号磁道)后处理,即使后续的 n 个请求都在 100 号磁道

为什么 scan,cscan 会产生磁臂黏着?

  • 假设初始时刻,磁头从 0 号磁道开始,向右移动
  • 当运动到磁道 100 时,有请求 100, 和 5,如果在处理完请求前,持续有对 100 号磁道的访问请求,那么磁头就会停在 100 号磁道一段时间
  • 只有当右侧的请求处理完成了,磁头才会从右往左,去处理 5 号磁道的请求
  • 那么磁盘请求的处理顺序就是:1,3,4,…,2+n,最后再处理请求 2
    在这里插入图片描述

为什么 NsetpScan 可以避免磁臂黏着?

NScan 原理简介

在这里插入图片描述

NScan 避免磁臂黏着的原因

在这里插入图片描述

  • 还是同样的请求,NScan 会将请求分为 N 个队列,假设 N = 2 吧

  • 子队列的划分方法多样,假设第 1 个子队列大小为 3,剩余的请求全部放到第 2 个子队列
    在这里插入图片描述

  • 由于请求 1~3 是最先到达的,因此子队列 1 按照 FCFS 算法会被优先服务
    在这里插入图片描述

  • 虽然请求 2,3 仍然会持续访问 100 号磁道,但这个队列只有 3 个元素,因此 100 号磁道处理完成后,就可以处理 5 号磁道的请求了

  • 特别的,当 N = 1 时,NScan 退化为 FCFS 算法,而 FCFS 不会产生磁臂黏着

为什么 FScan 可以避免磁臂黏着?

  • FScan 算法实质上是N步SCAN算法的简化,即:FSCAN只将磁盘请求队列分成两个子队列。

    • 一个是由当前所有请求磁盘的进程形成的队列,由磁盘调度按SCAN算法进行处理
    • 另一个是在扫描期间,将新出现的所有请求磁盘I/O的进程放入等待处理的请求队列
  • 这样,所有的新请求都将被推迟到下一次扫描时处理,因此和 NScan 同理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1094056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RT-Thread学习笔记(一):认识RT-Thread系统

认识RT-Thread系统 为什么选择RT-Thread系统RTOS 对比 裸机开发优势劣势 RT-Thread与其他RTOS系统对比 RT-Thread 简介RT-Thread系统架构官网学习资料 为什么选择RT-Thread系统 RTOS 对比 裸机开发 优势 调度算法可以最大程度的保证系统实时性低耦合、模块化、结构更清晰 劣…

软件著作申请流程笔记

1.登录中国版权保护中心,有账号的直接登记。没有的注册 2.选择软著 3.需要实名认证 4.填写三个模板,上传即可 4.1软著采集表 4.2使用手册 就是对如何使用产品,凑够十页即可(注意申请的图片需要二次加工,模糊真实客户…

2023-10-11 python-windows平台-安装-记录

摘要: 2023-10-11 python-windows平台-安装-记录 python: Download Python | Python.org 必须安装pip必要的话,就把所有的选项内容都装上 Microsoft C Build Tools 下载地址: Microsoft C Build Tools - Visual Studio 安装原因: 如果不安装的话, 使用pip安装模块…

SystemVerilog Assertions应用指南 第一章(1.28章节 内建的系统函数)

SVA提供了几个内建的函数来检查一些最常用的设计条件。 $onehot(expression)—检验表达式满足“one-hot”,换句话说,就是在任意给定的时钟沿,表达式只有一位为高。 $onehot0( expression)—检验表达式满足“ zero one-hot”,换句话说,就是在任意给定…

特殊电脑数据恢复软件EasyRecovery2024

俗话说:工欲善其事,必先利其器。我们平时应该熟练掌握集中磁盘诊断工具的使用方法,这样当遇到磁盘故障时才不至于晕头转向、手忙脚乱。那么磁盘诊断工具应具备哪些功能呢?它能够轻松搞定数据恢复,恢复丢失和删除的文件…

推荐《终末的女武神》

梅村真也原作,アジチカ作画的漫画作品 终末的女武神 播报编辑讨论2上传视频 《终末的女武神》(终末のワルキューレ)是梅村真也原作、アジチカ作画、フクイタクミ负责脚本的漫画作品,于德间书店旗下杂志《月刊COMIC ZENON》上发表…

解决Drag and drop is not supported导致无法将物理机上的文件拖入Ubuntu

问题起因 因为需要拷贝一个文件从物理机到虚拟机,但是我又不想用有关ftp的程序或者协议,但是直接拖又报错Drag and drop is not supported,索性上网查询了一下解决方法,自己记录一下。 解决方法 安装下面两个程序 sudo apt in…

【超详细】win10安装docker

win10安装docker 因为要在win10复现一个CVE漏洞,需要用到docker所以特地自己亲自安装了一下,其实在win10上安装docker与在Linux上面的原理一致,都是将docker安装在虚拟机里,不同的是win10是安装在Hyper-V虚拟机上的,需…

Python学习基础笔记六十九——文本2

二进制(字节)模式: 文本文件,纯文本文件就是保存文本字符串的文件,跟word还不一样,word是富文本文件。 其实就文件存储的底层来说,不管什么类型的文件(文本、视频、图片、word、Ex…

Mac安装Kali保姆级教程

Mac安装Kali保姆级教程 其他安装教程:使用VMware安装系统Window、Linux(kali)、Mac操作系统 1 虚拟机安装VM Fusion 去官网下载VM Fusion 地址:https://customerconnect.vmware.com/en/evalcenter?pfusion-player-personal-13 …

基于springboot实现心灵治愈心理健康平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现心灵心理健康平台系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个心灵治愈交流平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论…

Python爬虫selenium安装谷歌驱动解决办法

驱动下载链接:CNPM Binaries Mirror (npmmirror.com) 谷歌浏览器老版本下载:Google Chrome 64bit Windows版_chrome浏览器,chrome插件,谷歌浏览器下载,谈笑有鸿儒 (chromedownloads.net) 驱动下载后解压缩直接放入python相应文件夹: 最后&a…

springboot+java+vue毕业生学习交流平台g1el1

决定开发系统选择B/S模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行毕业生交流学习平台程序的开发,在数据库的选择上面,选择功能强大的MySQL数据库进行数…

MAKEFLAGS += -rR --include-dir=$(CURDIR)的含义

一、目的 在看uboot顶层Makefile文件时遇到这个代码不甚明白,故查找了一下资料以供大家学习 二、介绍 MAKEFLAGS -rR 表示禁止使用内置的隐含规则和变量定义;这个选项用于启用recursive make,使得Makefile目标可以调用其他Makefile目标&…

记一次排查线上OOM详细过程和解决思路

文章目录 OOM起因排查过程 OOM起因 前言声明:本人菜鸟一枚,如有地方描述不当望谅解,毕竟本人身处某十八线小城市三十六线小公司。 国庆节前头给项目换了套参数加解密方式,换完之后服务时不时就会出现如下报错,服务停…

rk3568 RT-LINUX 测试

G5501 产品详情 主线Linux是软实时系统,加入实时补丁后将其改造为硬实时系统。RT-LINUX 特点如下: 可抢占性 实现实时内核很重要的特点是可抢占性,就绪的高优先级的任务能够抢占低优先级任务。 进程调度策略 Linux内核支持实时进程和非实…

Java-lambda表达式与流处理

文章目录 一、lambda表达式二、方法引用三、Stream流 一、lambda表达式 在Java中,Lambda表达式是一种函数式编程的特性,它允许以简洁的语法编写函数或操作,而无需显式创建匿名类。Lambda表达式在Java 8中引入,是使Java更适应现代编…

RabbitMQ从0到1完整学习笔记一:《基础篇》

目录 启篇 一、初识MQ 1.1 同步调用 1.2异步调用 1.3 技术选型 二、RabbitMQ 架构 2.2 收发消息 2.2.1 交换机 2.2.2 队列 2.2.3 绑定关系 2.2.4 发送消息 2.3 数据隔离 2.3.1 用户管理 2.3.2 virtual host 三、SpringAMQP 3.1 案例入门 3.1.1 导入依赖 3.1.2 消息发送 3.1.2 消…

IIS 部署.NetCore,最细步骤

服务器安装环境 将.net core程序部署到IIS总体需要经过以下3个大步骤&#xff0c;其中在IIS上配置网站有些比较繁琐&#xff0c;我都会逐一给出详细步骤。 <1>安装IIS和.NetCORE运行时程序 <2>以文件的形式发布.NETCORE程序到指定目录 <3>IIS上面建立网站…

【BiLSTM-Adaboost预测】基于双向长短期记忆网络的Adaboost时间序列预测研究(matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…