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

操作系统OS是如何指挥外围设备的呢?

众所周知,OS的职责之一就是管理外围设备,比如常见的磁盘、硬盘、显示器、麦克风等,但并不是外围设备的一切都必须由OS管理,比如无线鼠标上的开关键,当你通过它关闭鼠标时,这个操作并不会经过OS,而是直接由鼠标内部的硬件处理,再比如显示屏上的状态指示灯的亮灭,这也是设备自己通过硬件实现的功能。

每个外围设备有个对应的设备控制器,和设备一样都属于硬件。通过这个硬件提供的指令,实现对设备的控制,比如磁盘中读取数据的指令。光是磁盘这一种设备就有很多不同的公司研发生产,同一种功能,不同公司的实现方式是不一样的,具体的底层硬件指令也是不一样的。OS并不知道这些具体的、错综复杂的指令,那怎么指挥外围设备呢?

答案是驱动程序。

每个设备厂商都会实现自己的驱动程序,但是不同的厂家实现驱动程序时会遵循业内规范,去实现这些标准化的接口、协议,比如存储设备领域的SCSI (Small Computer System Interface)。假设其中读取数据的API名儿叫read()
读取数据过程如下:

  • OS向驱动程序发送read()请求
  • 驱动程序则转换成具体的若干个指令,发送给设备控制器
  • 控制器执行这些指令后,将数据返回给驱动程序
  • 驱动程序处理数据后,再返回给OS

相关文章:

  • 量子加密通信:打造未来信息安全的“铜墙铁壁”
  • MySQL与分布式架构的碰撞
  • 开源飞控软件:推动无人机技术进步的引擎
  • 深入探讨宾馆一次性牙刷价格,市场价格区间差异大
  • 【Vue bug】:deep()失效
  • Chromium 134 编译指南 - Android 篇:从Linux版切换到Android版(六)
  • 对计网考研中的信道、传输时延、传播时延的理解
  • 【音视频】ffplay数据结构分析
  • 鸿蒙开发:如何解决软键盘弹出后的间距
  • 【大模型面试每日一题】Day 5:GQA vs MHA效率对比
  • 字符串格式漏洞-[第五空间2019 决赛]PWN5
  • 从请求到响应:初探spring web
  • react学习笔记4——React UI组件库与redux
  • 龙虎榜——20250430
  • 5G技术如何提升智能家居体验:让家更聪明,生活更智能
  • 航空客户价值分析阶段性测验
  • 跨域 iframe 内剪切板 Clipboard_API 报错
  • Google NotebookLM正式支持中文!AI笔记助手开启中文创作新纪元
  • Spark-小练试刀
  • cdn服务器连接异常怎么办?cdn连接失败解决方法有哪些?
  • 山东省委组织部办公室主任吴宪利已任德州市委常委、组织部部长
  • 浪尖计划再出发:万亿之城2030课题组赴九城调研万亿产业
  • 软硬件企业集中发布未成年人模式使用手册
  • 浦发银行一季度净利175.98亿增1.02%,不良率微降
  • 邮储银行一季度净赚超252亿降逾2%,营收微降
  • 柳州警方通报临牌车撞倒行人:扣留涉事车辆,行人无生命危险