-->
当前位置:首页 > 题库 > 正文内容

主观题:h820.简单描述I/O软件的设计原则以及各层的功能。

Luz2年前 (2022-11-23)题库458
简单描述I/O软件的设计原则以及各层的功能。







答案: I/O软件设计时主要考虑以下几个问题:(每项2分)
1.设备无关性。对于I/O系统中许多种类不同的设备,作为程序员,只需要知道如何使用这些资源来完成所需要的操作,而无需了解设备的有关具体实现细节。例如,应用程序访问文件时,不必考虑它是存储在硬盘、软盘,还是CD-ROM上。对于管理软件,也无需因为I/O设备变化,而重新编写涉及设备管理的程序。
2.统一命名。要实现设备的无关性,其中一项重要的工作就是如何给I/O设备命名。不同的操作系统有不同的命名规则,一般而言,是在系统中对各类设备采取预先设计的、统一的逻辑名称进行命名,所有软件都以逻辑名称访问设备。这种统一命名与具体设备无关,即同一逻辑设备的名称,在不同的情况下可能对应于不同的物理设备。
3.出错处理。错误多数是与设备紧密相关的,因此对于错误的处理,应该在尽可能靠近硬件的地方处理,在底层软件能够解决的错误就不要让高层软件感知,只有底层软件解决不了的错误才通知高层软件解决。
4.缓冲技术。由于CPU与I/O设备之间的速度差异,需要使用缓冲技术。对于不同类型的设备,其缓冲区的大小是不一样的,块设备的缓冲是以数据块为单位,而字符设备的缓冲则以字节为单位。因此,I/O软件应能屏蔽这种差异,向高层软件提供统一大小的数据块或字符单元,使得高层软件能够只与逻辑块大小一致的抽象设备进行交互。
5.设备的分配和释放。对于系统中的共享设备,如磁盘等,可以同时为多个用户服务。对于共享设备,应该允许多个进程同时对其提出I/O请求。对于独占设备,如键盘和打印机等,在某一段时间只能供一个用户使用,对其分配和释放不当,将引起混乱,甚至死锁。对于独占设备和共享设备带来的许多问题,I/O软件必须能够同时进行妥善地解决。
6.I/O控制方式。针对具有不同传输速率的设备,综合系统效率和系统代价等因素,合理选择I/O控制方式,如像打印机等低速设备应采用中断驱动方式,而对磁盘等高速设备则采用DMA控制方式等,以提高系统的利用率。为方便用户,I/O软件应能屏蔽这种差异,向高层软件提供统一的操作接口。
操作系统通常把I/O软件组织成如下4个层次。(每项2分)
1.I/O中断处理程序。用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后再恢复被中断进程的现场,然后返回到被中断进程。
2.设备驱动程序。与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。
3.设备无关软件。负责实现与设备驱动器的统一接口、设备命名、设备的保护以及设备的分配与释放等,同时为设备管理和数据传送提供必要的存储空间。
4.用户层I/O软件。实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数,对设备进行操作。

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。