操作系统 四(设备管理)

news2024/12/27 2:50:19
  1. I/O系统功能

隐藏I/O设备的细节;保证设备无关性;提高处理机和I/O设备的利用率;对I/O设备进行控制;确保对设备的正确共享;处理错误。

  1. 中断、通道、DMA概念

  1. 中断:CPU对I/O设备发来的中断信号的一种响应

  1. DMA:进一步减少CPU对I/O设备的干预

数据传输的基本单位是数据块

所传送的数据是从I/O设备直接送入内存,或者相反

仅在传送一个或多个数据块的开始和结束时,才须CPU干预

  1. I/O通道

使一些原来由CPU处理的I/O任务转由通道来承担。

通道是特殊处理机,通道指令类型单一,与CPU共享内存。

类型:

字节多路

数组选择

数组多路

通道价格昂贵,通道不足,造成“瓶颈”现象

解决:增加设备到CPU间的通路,多通路方式不仅解决了“瓶颈”问题,提高了系统的可靠性。

  1. 设备驱动概念

  1. I/O设备控制方式

  1. 轮询

①由CPU定时发出询问

②不忙即进行I/O,否则转①

实现容易,CPU会长期处于忙等待

  1. 中断(广泛采用)

进程需要启动某个I/O设备工作时,由CPU向相应的设备控制器发出一条I/O命令,立即返回继续执行原来的任务。CPU与I/O设备并行操作。

  1. 直接存储器(DMA)

数据传输的基本单位是数据块

所传送的数据是从I/O设备直接送入内存,或者相反

仅在传送一个或多个数据块的开始和结束时,才须CPU干预。

  1. I/O通道方式

是DMA方式的发展,进一步减少CPU的干预。

①是对一组数据块以读/写及有关的控制和管理为单位干预。

②可实现CPU、通道和I/O设备三者的并行操作。

③通道程序不同于CPU指令,通道程序由一系列通道指令构成的。

④指令包含:操作码、内存地址、计数、通道程序结束位P、记录结束位R

  1. 缓冲

引入原因:

缓和CPU与I/O设备间速度不匹配的矛盾

减少对CPU的中断频率,放宽对CPU中断响应时间的限制

解决数据粒度不匹配的问题

提高CPU与I/O设备之间的并行性

  1. 磁盘

  1. 一、 磁道、扇区

磁盘结构:

盘面(磁头)、磁道(柱面)、扇区

每条磁道上可存储相同数目的二进制位

磁盘密度:每英寸中所存储的位数,内层磁道的密度较外层磁道的密度高度。

  1. 二、 寻道延迟、旋转延迟和传输时间

磁盘在工作时是以恒定速率旋转。

为了读写:磁头必须移动到所要求的磁道上

等待所指定的扇区的开始位置旋转到磁头下

开始读写数据

磁盘的访问时间:

寻道时间-->旋转延迟时间-->传输时间

  1. 三、 磁盘访问时间计算(计算题)

  1. 四、 磁盘调度算法(综合应用、分析)

目标:使磁盘的平均寻道时间最小。

  1. 先来先服务(FCFS)

根据进程请求访问磁盘的先后次序进行调度

优点:公平、简单,每个进程的请求都可一次得到处理。

缺点:未对寻道进行优化,使平均寻道时间较长。

仅适用于请求磁盘I/O的进程数目较少时

  1. 短寻道时间优先(SSTF)

要求访问的磁道与当前磁头所在磁道距离最近,使每次的寻道时间最短。

可能导致某个进程发生“饥饿”现象。

  1. SCAN算法

优先考虑磁头当前的移动方向。

磁臂从磁盘的一端向另一端移动,沿途响应服务请求。到达另一端时,改变移动方向。

  1. C-SCAN算法

磁头从磁盘一段移到另一端,随着移动不断处理请求。当磁头移到另一端时,返回到磁盘开始,返回时不处理请求。

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

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

相关文章

【配电网优化】基于串行和并行ADMM算法的配电网优化研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

超详细讲解文件函数

超详细讲解文件函数!!!!字符输入/输出函数fgetcfputc文本行输入/输出函数fgetsfputs格式化输入/输出函数fscanffprintf二进制输入/输出函数freadfwrite打开/关闭文件函数fopenfclose字符输入/输出函数 fgetc fgetc函数可以从指定…

个人谈谈对ThreadLocal内存泄露的理解

个人谈谈对ThreadLocal内存泄露的理解ThreadLocal作用ThreadLocalMap内存泄露解释为什么要这样设计ThreadLocalMap的实现思路ThreadLocal作用 平时我们会使用ThreadLocal来存放当前线程的副本数据,让当前线程执行流中各个位置,都可以从ThreadLocal中获取…

Java SPI 机制详解

在面向对象的设计原则中,一般推荐模块之间基于接口编程,通常情况下调用方模块是不会感知到被调用方模块的内部具体实现。一旦代码里面涉及具体实现类,就违反了开闭原则。如果需要替换一种实现,就需要修改代码。 为了实现在模块装…

使用packetbeat对MySQL进行网络抓包

文章目录一、Packetbeat 简介二、packetbeat部署和使用2.1 官方下载解压2.2 修改配置文件2.3 导入索引模板和dashboard2.4 启动packetbeat三、效果展示一、Packetbeat 简介 Packetbeat 是一款轻量型实时网络数据包分析器,能够将主机和容器中的数据发送至 Logstash 或…

uboot编译分析

uboot编译分析 V 1 –> Q ,在一行命令前面加上表示不会在终端输出命令 KCONFIG_CONFIG ? .config.config 默认是没有的,默认是需要使用命令“make xxx_defconofig”先对uboot进行配置,配置完成就会在uboot根目录下生成.config。如果后续自行调整…

多种方法解决谷歌(chrome)、edge、火狐等浏览器F12打不开调试页面或调试模式(面板)的问题。

文章目录1. 文章引言2. 解决问题3. 解决该问题的其他方法1. 文章引言 不论是前端开发者,还是后端开发者,我们在调试web项目时,偶尔弹出相关错误。 此时,我们需要打开浏览器的调试模式,如下图所示: 通过浏…

智能拣配单解决方案

电子货架标签系统(ESLs),是一种放置在货架上、可替代传统纸质价格标签的电子显示装置, 每一个电子货架标签通过有线或者无线网络与商场计算机数据库相连, 并将最新的商品价格通过电子货架标签上的屏显示出来。 电子…

基于微信小程序图书馆管理系统

开发工具:IDEA、微信小程序服务器:Tomcat9.0, jdk1.8项目构建:maven数据库:mysql5.7前端技术:vue、uniapp服务端技术:springbootmybatis-plus本系统分微信小程序和管理后台两部分,项…

量子计算(7)pyqpanda编程2循环与条件判断

目录 一、QWhile 二、QIf 各位读者老爷们,大家好呀,前些时忙着学校的期末考试,小编好久没更新量子计算的文章啦,这段时间也有读者私信小编,问了一些问题。我知道大家都很急,但大家先别急。这不&#xff0…

【数据结构】——队列

文章目录前言一.什么是队列,队列的特点二、队列相关操作队列的相关操作声明队列的创建1.队列的初始化2.对队列进行销毁3.判断队列是否为空队列4.入队操作5.出队操作6.取出队头数据7. 取出队尾数据8.计算队伍的人数总结前言 本文章讲述的是数据结构的特殊线性表——…

Python3 错误和异常实例及演示

作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍。 Python 有2种错误很容易辨认:语法错误和异常。 Python assert(断言)用于判断…

通信算法之一百零四:QPSK完整收发仿真链路

1.发射机物理层基带仿真链路 1.1 % Generates the data to be transmitted [transmittedBin, ~] BitGenerator(); 2.2 % Modulates the bits into QPSK symbols modulatedData QPSKModulator(transmittedBin); 2.3 % Square root Raised Cosine Transmit Filter %comm…

SpringBoot参数请求处理

一、请求映射 请求映射原理 DispatcherServlet 继承了 FrameworkServlet(抽象类,继承了 HttpServletBean,实现了 ApplicationContextAware 接口),重写了 doService() 方法 在 doService() 方法里定义了 doDispatch() 方法;doDi…

概论_第7章_参数估计_真题__求置信区间

真题 2014.10 第30题 测量某物体的质量9次, 测得平均值 x‾15.4\overline x 15.4x15.4 g, 已知测量数据 XXX ~ N(μ,0.09)N(\mu, 0.09)N(μ,0.09) (1) 求该物体质量的置信度为0.95 的置信区间; (2)为了使置信度为0.95 的置信区间…

20 堆排序

文章目录1 堆排序的概念2 堆排序基本思想3 堆排序步骤图解说明4 堆排序的代码实现1 堆排序的概念 1) 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn)&#xf…

Spring中BeanPostProcessor与循环依赖的问题

Spring中后置处理器与循环依赖的问题 在Spring的bean生命周期中, 我们可以通过实现BeanPostProcessor来对bean初始化前后做操作, 在网上的许多帖子博客中, 不乏可以看见说Spring的AOP是在后置处理器中实现的, 这个理解显然有失偏颇, 很容易误导一般人在后置处理器中对原先的be…

Android 一帧绘制流程分析笔记

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、显示一帧流程概览二、生产者,消费者 BufferQueue 流转图三、App ,SF Buffer 交互图四、SF 跟 HWC 交互图一、显示一帧流程概览…

16.CSS中使用颜色

使用颜色 在计算机中,传统的模型之一为RGB模型,所有颜色都是通过红色、蓝色、绿色三种颜色进行组合;我们通过数值去表示 例如: 红色(255.0.0)、蓝色(0.0.255)、绿色(0.…

在IDEA中配置jeesite-(文章链接汇总)

建议按照文章顺序操作 原文里可以下载geesite项目 jeesite-github原文链接 jeesite-gitee原文链接–国内推荐 可 直 接 跳 到 此 步 骤 环境准备:JDK 1.8 or 11、17、Maven 3.6、使用 MySQL 5.7 or 8.0 数据库 1-Maven的下载安装配置教程(详细图文&am…