I/O软件入门

首先,硬件的种类和类型实在太多,单单磁盘就有不同类型、不同生产厂商的数十种之多,而每种磁盘的控制界面并不一样。至于网卡、视频卡、键盘、鼠标等也存在五花八门的品牌和系列。

其次,对一种硬件设备来说,其访问过程并不简单。要想正常访问,必须知道该设备的物理结构和特性,其工作原理和机制。而这对于程序设计员来说,显然有点要求过多。

例如,由于对控制寄存器的访问和对内存的访问不同,用户必须明白I/O设备的底层命令,并且对于不同的设备这个命令是不同的。这样用户写的程序必须依设备的不同而有所不同,这显然不是一件令人高兴的事情。例如,用户在读写一个文件时,因为介质是软盘、磁盘或光盘,他们需要写出3个版本的程序。

解决这个问题的答案当然是软件,或者说操作系统软件。我们已经多次强调过,操作系统的角色就是魔术师和管理者。在这里也不例外。I/O软件的目的就是魔术和管理。魔术是将不同I/O设备的差异屏蔽,使它们看上去似乎是一样的东西,都具有令人赏心悦目的界面;而管理自然是对这些设备进行管理,该独享的独享,该共用的共用,需要缓冲的缓冲。并对设备进行实际的驱动(发出读写命令)。

I/O软件的目的

从最高层来说,I/O软件的目的我们已经说过,就是魔术和管理。而具体来说,其目标有如下几项:

设备独立
统一命名
错误处理
数据传输缓冲
共用与独享

设备独立
指的是程序对I/O设备的访问不依赖于设备的物理特征,且在I/O程序的编写时无须事先指定I/O设备

统一命名
指的是设备或文件的命名不依赖于具体的计算机,这样使用名字将使程序可以在任何机器上运行;

错误处理
指的是对输入输出过程中产生的数据错误进行侦测与纠正,而且纠错应该在最靠近硬件的层面上进行。数据传输指的是实际操控数据在主机和外设之间的传递,例如支持同步(阻塞传输)和异步(中断驱动)数据传输。

缓冲
是为数据传输提供一个临时存放地,然后在方便的时候将数据拷贝到最后目的地。

共用与独享
指的是将设备尽量变为共享,以增大资源利用率和降低死锁发生的概率。例如,将磁盘、打印机变为共享。

PS

  • IO 软件指什么?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值