当前位置: 首页 > news >正文

计算机中级-数据库系统工程师-操作系统-设备管理

一、设备管理
1. 考点
  • 核心考点:设备管理主要包含三个考点:I/O设备管理软件、Spooling技术和磁盘调度算法
2. 设备管理的概述
  • 自学内容:包括设备的分类、设备管理的目标与任务,建议直接阅读教材相关内容
3. I/O设备管理软件
1)设备管理的目标
  • 核心目标:提高设备利用率,即提高CPU与I/O设备之间的并行操作速度
  • 用户界面:为用户提供方便、统一的硬件操作界面
  • 矛盾解决:缓和快速CPU与慢速I/O设备之间的速度差异(如键盘输入、打印机输出等)
2)I/O设备管理软件的层次
  • 分层思想:采用"分层构造"思想将管理软件组织为多个层次
  • 四层结构:
    • 中断处理程序:处理硬件中断请求
    • 设备驱动程序:直接与硬件交互(如键盘驱动、U盘驱动等)
    • 设备无关软件:系统软件层,不直接操作硬件
    • 用户级软件:应用软件层(如QQ等用户程序)
  • 协作关系:各层之间既相互独立又彼此协作
  • 例题:IO请求过程示例
  • 请求流程:
    • 用户进程获取数据后转为就绪态
    • 磁盘操作完成后产生中断,中断处理程序唤醒用户进程
    • 用户进程转为阻塞状态等待磁盘操作完成
    • 缓存未命中则调用设备驱动程序向硬件发出请求
    • 用户进程需要读取硬盘数据时,设备无关软件先检查高速缓存
    • 状态转换:展示了进程从运行→阻塞→就绪的状态变化过程
    • 硬件交互:只有设备驱动程序和中断处理程序能直接操作硬件
4. 设备管理采用的相关技术
  • 技术分类:包括通道技术、DMA技术、缓冲技术和Spooling技术
1)Spooling技术
  • 目的
    • 核心目的:缓和CPU高速性与I/O设备低速性之间的矛盾
    • 类比说明:类似工厂流水线中设置缓冲区解决工人速度差异问题
  • 原理
  • 双程序机制:
    • 缓输出程序:将磁盘输出井数据→输出缓冲区→输出设备
    • 预输入程序:将输入设备数据→输入缓冲区→磁盘输入井
    • 工作流程:
      • CPU只需访问高速磁盘(输入井/输出井)
      • 输入输出操作与CPU处理并行进行
    • 虚拟设备:用户看似直接操作设备,实际是与输入输出井交互
  • 特点
    • 效率提升:
      • 提高I/O速度
      • 提高CPU利用率
    • 资源共享:实现设备共享(如办公室共享打印机)
    • 虚拟化:单个物理设备可为多个用户提供虚拟设备服务
5. 磁盘调度算法
  • 基本概念:磁盘调度分为移臂调度和旋转调度两类,先进行移臂调度,再进行旋转调度。目标是使磁盘的平均寻道时间最少。
  • 时间组成:读取磁盘数据的时间=寻道时间+旋转延迟+数据传输时间。寻道时间指找到数据块所在磁道的时间,旋转延迟是磁盘旋转到目标位置的时间,数据传输时间是读取并传送数据的时间。
1)移臂调度算法
  • 先来先服务
    • 调度原则:根据进程请求的先后次序进行调度,类似排队机制。
    • 优点:保证所有进程的请求都能得到响应,不会出现长时间等待。
    • 缺点:平均寻道时间可能很长。例如进程A访问0磁道,进程B访问12磁道,进程C又访问0磁道,磁头需要来回移动导致效率低下。
  • 最短寻道时间优先
    • 调度原则:选择访问的磁道与当前磁头所在磁道距离最近的请求。
    • 特点:每次寻道时间最短,但不考虑公平性。例如当前在0磁道,有请求访问1磁道和12磁道,优先响应1磁道的请求。
  • 扫描算法
    • 调度原则:类似电梯调度,不仅考虑磁道距离,更优先考虑磁头当前移动方向。
    • 示例:磁头从外向内移动时,即使2磁道比7磁道更近,也会优先响应7磁道的请求,再返回处理2磁道。
    • 问题:可能导致刚经过的磁道请求需要等待很长时间(类似电梯刚过楼层)。
  • 单向扫描调度算法
    • 改进点:在扫描算法基础上规定磁头只做单向移动,避免来回扫描。
    • 优势:解决扫描算法中请求等待时间不均衡的问题。
2)旋转调度算法
  • 不同扇区处理:若请求访问不同编号的扇区,总是让首先到达磁头位置的扇区先进行读写。
  • 相同扇区处理:若请求访问相同编号的扇区(无论是否同磁道),可任选一个扇区进行读写。
http://www.jsqmd.com/news/619663/

相关文章:

  • AI原生Serverless架构实战指南(SITS2026标准版首发)
  • 两级式电源专题(1)【报告+讲解】单相交直交变频(AC–DC–AC)两级式变换器, 电源频率输出可调
  • 打造沉浸式智能AI问答助手:Vue + UniApp 全端实战(支持 Markdown/公式/多模态交互)晃
  • 大模型中的格式修复、json_repair示例
  • 【信息科学与工程学】【管理科学】第六十篇 企业运营运作表02
  • 从Keep到微信:我是如何用小程序Skyline复刻主流跑步App核心功能的
  • AI原生系统吞吐量骤降之谜(GPU上下文切换+Token缓存伪共享深度拆解)
  • OpenClaw替代方案:Phi-3-mini-128k-instruct与AutoGPT的实测对比
  • 参数化三相电流/电压波形发生器,主要用于**电机控制、变频器测试、堵转实验**等场景。它根据用户设置的“工况参数”,生成带有相位差的三相正弦波信号,并支持“正常工况”和“堵转”模式
  • MogFace-large教程:如何修改webui.py源码以支持视频流实时检测
  • 如何快速掌握专业咖啡烘焙软件:Artisan烘焙数据分析工具完整指南
  • 右值和右值引用学习笔记
  • 别再浪费定时器了!用STM32F4的TIM4输出比较模式,一个定时器搞定四路独立PWM(附步进电机控制代码)
  • 2026年工业仿真动画优质服务商推荐榜:三维动画、机械动画、设备动画、三维仿真动画、工艺原理动画公司,幻像空间领衔精品动画制作 - 海棠依旧大
  • cmake之旅(2)
  • STM32嵌入AI模型实战指南
  • 打造沉浸式智能AI问答助手:Vue + UniApp 全端实战(支持 Markdown/公式/多模态交互)夹
  • 避坑指南:QTableWidget中使用QCheckBox时容易忽略的5个细节问题
  • 避坑指南|2026靠谱GEO服务商推荐 - 品牌测评鉴赏家
  • Spring Boot + Redis 缓存优化方案,解决 Redis 缓存的三大经典问题
  • 学习dp入门
  • 3步打造轻量Windows 11:tiny11builder精简系统实战指南
  • SGLang实战:如何用Python DSL编写带分支的LLM生成任务(附完整代码)
  • 喔去,litellm 竟然被投毒了,赶紧检查你的机器中招了没有侥
  • 物联网云平台工业设备对接远程控制数据采集视频接入开源可二次开发 该物联网云平台使用 Java ...
  • 如何用OnmyojiAutoScript实现阴阳师全自动托管:每天节省2小时游戏时间的完整指南
  • 互联网企业项目管理的核心挑战
  • 基于MPC的模型预测轨迹跟踪控制联合仿真simulink模型+carsim参数设置 效果如图
  • 短剧付费转化系统设计:试看 + 阶梯定价 + 会员锁客全链路
  • 智慧农业无人机数字孪生系统源码:基于WebGL的3D农场可视化平台