操作系统相关问题——软件是如何访问硬件的

简介: 硬件是各种各样的,发展速度还是非常快的。每个硬件都有自己的个性,操作系统不可能及时更新各种硬件的驱动方法(不可能刚出某个新硬件,OS开发者就开始为其编写驱动,这显然不现实)。因此便出现了各种硬件适配器,这就是IO接口。接口其实就是标准,大家生产生出来的硬件按照这个标准工作就实现了通用。硬件在输入输出上大体分为串行和并行,相应的接口也就是串行接口和并行接口。

硬件是各种各样的,发展速度还是非常快的。每个硬件都有自己的个性,操作系统不可能及时更新各种硬件的驱动方法(不可能刚出某个新硬件,OS开发者就开始为其编写驱动,这显然不现实)。


因此便出现了各种硬件适配器,这就是IO接口。接口其实就是标准,大家生产生出来的硬件按照这个标准工作就实现了通用。硬件在输入输出上大体分为串行和并行,相应的接口也就是串行接口和并行接口。

硬件是各种各样的,发展速度还是非常快的。每个硬件都有自己的个性,操作系统不可能及时更新各种硬件的驱动方法(不可能刚出某个新硬件,OS开发者就开始为其编写驱动,这显然不现实)。


因此便出现了各种硬件适配器,这就是IO接口。接口其实就是标准,大家生产生出来的硬件按照这个标准工作就实现了通用。硬件在输入输出上大体分为串行和并行,相应的接口也就是串行接口和并行接口。8aea9eba717341ba82b0a0cadcc5a8b2.png

访问外部硬件有两个方式:


将某个外设的内存映射到一定范围的地址空间中,CPU通过地址总线访问该内存区域时会落到外部的内存中,这种映射让CPU访问外设的内存就如同访问主板上的物理内存一样。


显卡就是这么做的。显卡是显示器的适配器,CPU不直接和显示器交互,它只和显卡通信。显卡上有片内存叫显存,它映射到主机物理内存上的低端1MB的0xB8000-0xBFFFF。CPU访问这片内存就是访问显存,往这片内存写字节便是往屏幕上打印内容。


CPU通过访问IO接口与外设通信,CPU访问外设就是访问IO接口,由IO接口将信息传给另一端的外设,也就是说CPU从来不知道有这些设备的存在,它只知道自己操作的IO接口。


IO接口位于总线与IO设备之间,接口上有一些寄存器,访问IO接口本质上就是访问这些寄存器,这些寄存器就是人们常说的端口。这些端口是IO接口给CPU和外设使用提供的接口

相关文章
|
算法 程序员 Go
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
|
7月前
|
人工智能 边缘计算 5G
5G时代,别让能耗成为“隐形杀手”——聊聊5G网络的能耗管理
5G时代,别让能耗成为“隐形杀手”——聊聊5G网络的能耗管理
457 13
|
11月前
|
人工智能 搜索推荐 网络架构
TryOffAnyone:快速将模特服装图还原为平铺商品图,生成标准化的服装展示效果
TryOffAnyone 是一款基于 AI 技术的工具,能够将模特穿着服装的图像快速还原为平铺商品图,支持智能识别、自动优化等功能,适用于电商平台和虚拟试衣场景。
582 12
TryOffAnyone:快速将模特服装图还原为平铺商品图,生成标准化的服装展示效果
|
安全 数据安全/隐私保护 Android开发
三款远程控制软件对比,5大挑选指标:安全、稳定、易用、兼容、功能
众所周知,随着科技的发展和时代的进步,远程控制软件在日常工作中的运用所处可见,社会对远程控制软件的需求也在日益增长,为用户提供了便捷的远程访问和控制计算机的能力,使其在现代化社会中扮演着重要的角色。因此,市面上也出现了很多相似功能的产品,但是他们各有不同的特点和功能。本文主要介绍的是ToDesk、向日葵、TeamViewer三款远程控制软件间的不同之处,我将从安全、稳定、易用、兼容、功能几个方面来进行对比,帮助大家选择适合自己需求的远程办公软件。
584 1
三款远程控制软件对比,5大挑选指标:安全、稳定、易用、兼容、功能
|
机器学习/深度学习 JSON Linux
NSLog日志输出不全问题分析与解决方案
NSLog日志输出不全问题分析与解决方案
546 0
|
缓存 小程序 Java
重磅!Spring Boot 2.7 正式发布,一大波新特性,看完我彻底躺平了。。
重磅!Spring Boot 2.7 正式发布,一大波新特性,看完我彻底躺平了。。
1951 0
重磅!Spring Boot 2.7 正式发布,一大波新特性,看完我彻底躺平了。。
|
人工智能 算法
如何成功申请并维护好一件心仪商标
如何成功申请并维护好一件心仪商标
515 1
如何成功申请并维护好一件心仪商标
复习单片机:串口通信(内含:1.代码部分+2.串口内部结构+3.串口控制寄存器 SCON+4.电源控制寄存器 PCON+5. 串口的使用方法+6.硬件设计+7.实验现象)
复习单片机:串口通信(内含:1.代码部分+2.串口内部结构+3.串口控制寄存器 SCON+4.电源控制寄存器 PCON+5. 串口的使用方法+6.硬件设计+7.实验现象)
625 1
复习单片机:串口通信(内含:1.代码部分+2.串口内部结构+3.串口控制寄存器 SCON+4.电源控制寄存器 PCON+5. 串口的使用方法+6.硬件设计+7.实验现象)
|
监控 JavaScript 中间件
[开源]手把手教你制作锂电池快充充电器
[开源]手把手教你制作锂电池快充充电器
955 0
[开源]手把手教你制作锂电池快充充电器
|
SQL 关系型数据库 MySQL
MySQL 默认隔离级别是RR,为什么阿里这种大厂会改成RC?
我之前写过一篇文章《[为什么MySQL选择REPEATABLE READ作为默认隔离级别?][1]》介绍过MySQL 的默认隔离级别是 Repeatable Reads以及背后的原因。
3656 0

热门文章

最新文章