操作系统--6设备管理

本文详细介绍了操作系统中设备管理的目标、功能、设备分类、设备控制器、设备管理的层次结构、I/O控制方式、缓冲技术和设备分配等内容。重点讨论了设备的分类,包括字符设备、块设备和网络设备,以及设备的共享性,如独占设备、共享设备和虚拟设备。此外,还阐述了设备控制器的作用、设备管理的目标和功能,并分析了各种I/O控制方式如程序直接控制、中断控制、DMA和通道方式。最后,探讨了I/O软件的分层结构、缓冲技术和设备分配策略,如先来先服务、最短寻道时间优先、扫描法和循环扫描法。
摘要由CSDN通过智能技术生成

操作系统的目标就是要为设备的使用提供简单方便的统一接口,支持连接的可扩充性,并且优化I/O操作,实现最大的并发性。为了实现这一目标,操作系统需要在计算机进行输入输出时,管理和控制I/O设备,并提供适当的I/O操作支持,如驱动程序接口等。操作系统的这部分代码称为设备管理子系统。

6.1设备管理概述

设备分类

1)按设备的信息组织方式分类

根据设备的控制复杂性及每次的数据传输单位等特性,将设备分为三大类:字符设备、块设备和网络设备

优点:将控制不同I/O设备的驱动程序与操作系统的其他部分隔离开,为系统中增加和撤销设备提供便利。

a块设备

以块为单位进行数据传输的设备,块设备中的数据也是以块为单位进行组织和管理的。块的大小通常是2^n个字节。为了匹配CPU与块设备之间的传输速度的差异,块设备在进行I/O时,通常都需要利用缓冲技术。

常用的外部存储设备基本上是块设备,如硬盘、软盘、CD-ROM等。此外,也可将RAM模拟为RAM盘,作为块设备来使用。

b字符设备

字符设备以字符为单位(目前通常为8位,即一个字节)进行数据传输的设备,其速度较慢,主要用于与用户打交道。通常,字符设备的数据传输只能顺序进行,而不能进行随机定位,另外,在I/O过程中,一般不采用缓冲技术。

常见的字符终端、打印机、扫描仪、传感器和鼠标等都属于字符设备。

c网络设备

从传输速度上看,它通常快于字符设备而慢于块设备。传输单位上,以字节为单位。

但是,并非所有的设备都适用这种分类方法,例如,时钟和显示器,既不符合块身背,也不符合字符设备的特性。

2)按设备的共享性分类

从资源分配角度可以分为独占设备、共享设备和虚拟设备。

a独占设备

同一时刻只能被一个作业或进程使用的设备,多数低速设备,如打印机、绘图仪等,都属于独占设备。

b共享设备

共享设备允许若干个作业分时(并发)共享使用的设备,如磁盘等大多数直接存取设备等都属于共享设备。对于这些设备,几个进程或作业可分时(交替)地从其中读写信息。显然,当一个作业不能充分、连续地使用设备是,共享可提高设备的利用率。

c虚拟设备

为了提高设备的利用率,操作系统利用虚拟(spooling)技术,把物理上独占的设备转变成逻辑上共享的设备,即虚拟设备。在采用虚拟设备的情况下,作业都是通过虚拟设备使用物理上独占的设备。表面是并发的,但实际的物理设备还是由虚拟设备以独占方式使用。

3)按设备的使用特性

存储设备、I/O设备、终端设备及脱机设备等

6.1.2设备控制器

I/O设备通常包含一个机械部件和一个电子部件。机械部件就是设备本身,电子部件称为设备控制器或适配器。它可以管理端口、总线或设备,实现设备与主机之间的数据传输。典型的设备控制器就是各种PCI或PCI EXPRESS卡,IDE接口一般就是一种PCI设备。

控制器卡上一般都有两个方向的接口,一个用于连接主机的总线,另一个用于连接设备。

设备控制器与设备之间的接口中包含三类信号:数据信号、控制信号和状态信号。设备控制器根据CPU提供的设备地址去选择一个设备接口。

每个控制器都有一些用来与CPU通信的寄存器(称为I/O端口),用于数据、控制命令和状态等信息的存储。为了寻址这些I/O端口,需要提供相应的寻址机制。在某些计算机上,这些寄存器占用内存地址空间的一部分,这种方案称作内存映像I/O。而在其他计算机上,I/O端口则使用专用的I/O地址(独立于内存单独编址)。PC混合采用了以上两种方案:显存采用了内存映像I/O,而其他I/O端口则是独立于内存编址。现代计算机设备更多的采用内存映像I/O。

设备控制器通常应具有如下功能

a接收主机的控制命令。发出控制命令后,CPU转去执行其他操作。而控制器在收到控制命令后,独立控制设备完成相应的动作。当命令完成后,控制器发出一个中断,使CPU执行相应的中断处理程序。

b地址识别。能够根据CPU发来的地址信息,识别出其对应的设备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值