博客
关于我
5.1I/O管理概述
阅读量:799 次
发布时间:2023-04-16

本文共 1425 字,大约阅读时间需要 4 分钟。

#脑图与设备管理概念整理

##设备管理基础知识

共享设备必须是可寻址且可随机访问的设备

共享设备是指一段时间内允许多个进程同时访问的设备

虚拟设备是指将一个物理设备变换成多个对应的逻辑设备

为了便于上层软件编制,设备控制器通常需要提供控制寄存器、状态寄存器和控制命令
字节多路通道用作连接大量的低速或中速I/O设备
将系统中的每台设备按某种原则统一进行编号,这些编号作为区分硬件和识别设备的代号,称为设备的绝对号
通道控制设备管理器、设备管理器控制设备工作
通道是处理输入/输出的硬件

##DMA与中断控制方式对比

DMA方式与中断控制方式的主要区别在于数据传送的方式:

中断控制方式在每个数据传送完成后中断CPU,而DMA控制方式则在所要求传送的一批数据全部传送结束时中断CPU
中断控制方式的数据传送在中断处理时由CPU控制完成,而DMA控制方式则在DMA控制器的控制下完成。尽管如此,在DMA控制方式中,数据传送的方向、存放数据的内存始址及传送数据的长度等仍然由CPU控制
DMA方式以存储器为核心,中断控制方式以CPU为核心。因此,DMA方式能与CPU并行工作
DMA方式传输批量的数据,中断控制方式的传输则以字节为单位

##DMA与通道控制方式对比

DMA控制方式与通道控制方式的主要区别体现在以下几个方面:

在DMA控制方式中,在DMA控制器控制下设备和主存之间可以成批地进行数据交换而不用CPU干预,这样既减轻了CPU的负担,又大大提高了I/O数据传送的速度。通道控制方式与DMA控制方式类似,也是一种以内存为中心实现设备与内存直接交换数据的控制方式
不过在通道控制方式中,CPU只需发出启动指令,指出通道相应的操作和I/O设备,该指令就可以启动通道并使通道从内存中调出相应的通道程序执行
与DMA控制方式相比,通道控制方式所需的CPU干预更少,并且一个通道控制多台设备,进一步减轻了CPU的负担。此外,对通道来说,可以使用一些指令灵活改变通道程序,这点DMA控制方式无法做到

##技术问题解答

###1. DMA方式与中断控制方式的主要区别是什么?

中断控制方式在每个数据传送完成后中断CPU,而DMA控制方式则在所要求传送的一批数据全部传送结束时中断CPU

中断控制方式的数据传送在中断处理时由CPU控制完成,而DMA控制方式则在DMA控制器的控制下完成。尽管如此,在DMA控制方式中,数据传送的方向、存放数据的内存始址及传送数据的长度等仍然由CPU控制
DMA方式以存储器为核心,中断控制方式以CPU为核心。因此,DMA方式能与CPU并行工作
DMA方式传输批量的数据,中断控制方式的传输则以字节为单位

###2. DMA方式与通道控制方式的主要区别是什么?

在DMA控制方式中,在DMA控制器控制下设备和主存之间可以成批地进行数据交换而不用CPU干预,这样既减轻了CPU的负担,又大大提高了I/O数据传送的速度。通道控制方式与DMA控制方式类似,也是一种以内存为中心实现设备与内存直接交换数据的控制方式

不过在通道控制方式中,CPU只需发出启动指令,指出通道相应的操作和I/O设备,该指令就可以启动通道并使通道从内存中调出相应的通道程序执行
与DMA控制方式相比,通道控制方式所需的CPU干预更少,并且一个通道控制多台设备,进一步减轻了CPU的负担。此外,对通道来说,可以使用一些指令灵活改变通道程序,这点DMA控制方式无法做到

转载地址:http://tsgfk.baihongyu.com/

你可能感兴趣的文章
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
查看>>
Mysql 中的日期时间字符串查询
查看>>
mysql 中索引的问题
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>
mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
查看>>
mysql 主从关系切换
查看>>
MYSQL 主从同步文档的大坑
查看>>
mysql 主键重复则覆盖_数据库主键不能重复
查看>>
Mysql 事务知识点与优化建议
查看>>