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

简介: 硬件是各种各样的,发展速度还是非常快的。每个硬件都有自己的个性,操作系统不可能及时更新各种硬件的驱动方法(不可能刚出某个新硬件,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和外设使用提供的接口

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
20天前
|
存储 运维 安全
深入理解操作系统:设计与实现的全面指南
【10月更文挑战第2天】 本文旨在为读者提供关于操作系统设计原理及其实现的深入理解。操作系统作为计算机系统的核心,其设计直接影响着整个系统的性能和稳定性。本文将详细介绍操作系统的基本概念、主要功能以及设计过程中需要考虑的关键因素。通过阅读本文,读者将能够获得对操作系统工作原理的清晰认识,并了解如何设计一个高效、可靠的操作系统。
|
2月前
|
安全 Unix Linux
服务器操作系统
服务器操作系统
28 3
|
3月前
|
前端开发 Ubuntu 安全
部署在什么操作系统上比较好
【8月更文挑战第25天】部署在什么操作系统上比较好
59 3
|
4月前
操作系统的主要功能
操作系统的主要功能
|
6月前
|
Shell Linux iOS开发
操作系统:一款纯正的“管理”软件
操作系统:一款纯正的“管理”软件
|
6月前
|
安全 Unix Linux
操作系统(2)----操作系统的体系结构
操作系统(2)----操作系统的体系结构
55 0
|
人工智能 JavaScript 前端开发
「操作系统」1. 基础
「操作系统」1. 基础
|
6月前
|
Linux Android开发 iOS开发
操作系统的作用与常见操作系统介绍
操作系统的作用与常见操作系统介绍
|
6月前
|
存储 编译器 Linux
操作系统相关问题——应用程序和操作系统怎么配合
应用程序和操作系统都是软件, CPU会将它们一视同仁,甚至CPU不知道自己在执行的程序是操作系统还是一般应用软件。CPU只知道去cs:ip寄存器中指向的内存取出指令并执行,它不知道什么是操作系统。
|
6月前
|
存储 算法
操作系统:虚拟存储管理技术
操作系统:虚拟存储管理技术
137 0