苹果设备管理进不去(设备分类和标识)

(一)设备分类和标识

1.设备分类

I/O设备种类繁多,特性各异,如终端、打印机、鼠标、硬盘驱动器、软盘驱动器、CD-ROM等,各有不同的物理特性,实现不同的I/O功能。可以从不同角度对外部设备进行分类。

· 按照工作特性分类

按照工作特性可把它们分成存储设备和输入/输出设备两大类。

(1)存储设备。也称为外存或后备存储器、辅助存储器。它们主要是计算机用来存储信息的设备。虽然它们的存储速度较内存慢,但比内存容量大得多,相对价格也便宜。存储设备通常包括磁盘(硬盘和软盘),磁带等。特别是提供了基本的联机信息(程序和数据)的存储。大多数程序——像编译程序、汇编程序、排序例程、编辑程序、格式化程序等,都是存放在磁盘上,在使用时才调入内存。在这类设备上存储的信息,在物理上往往是按字符块组织的,因此,这类设备也叫做面向块的设备,或简称块设备。

 

苹果设备管理进不去(设备分类和标识)

苹果设备管理进不去(设备分类和标识)

磁盘数据磁带

 

(2)输入/输出设备。输入设备是计算机用来接受来自外部世界信息的设备,例如终端键盘输入、卡片输入机、纸带输入机等。输出设备是将计算机加工处理好的信息送向外部世界的设备,例如终端屏幕显示或打印输出部分、行式打印机、卡片输出机等。由于输入/输出设备上的信息往往是以字符为单位组织的,所以这种设备也称为面向字符的设备,或简称字符设备。

 

苹果设备管理进不去(设备分类和标识)

苹果设备管理进不去(设备分类和标识)

书写输入板激光打印机

 

但有个别设备并不符合这两类设备的特性,如时钟,它定时产生中断,但它既不是存储设备,也不能产生或接收字符流。

· 根据设备的使用性质分类

按设备使用性质可将设备分成独占设备、共享设备和虚拟设备3种。

(1)独占设备。独占设备是不能同时共用的设备,即在一段时间内,该设备只允许一个进程独占。例如,对于行式打印机、读卡机、磁带机之类的设备,应该由进程独占。

(2)共享设备。共享设备是可由若干进程同时共用的设备。这类设备具有高速、大容量和可直接存取等特点。例如有一台磁盘机,用户甲读自己的文件,用户乙写文件,用户丙访问数据库文件,这些文件都存放在这个磁盘上,各用户进程共用一个磁盘设备。

(3)虚拟设备。虚拟设备是利用某种技术把独占设备改造成可由多个进程共用的设备,这种设备并非物理上变成了共享设备,而是用户使用它们时“感觉”它是共享设备,不像独占设备了。虚拟设备属于可共享设备,因而可把它分配给多个进程使用。

还可从其他角度出发对设备进行分类。例如:按传输速率的快慢,可分为低速设备(键盘、鼠标等),中速设备(行式打印机、激光打印机等)和高速设备(磁盘机、磁带机等);按设备的从属关系可分为系统设备和用户设备,等等。

2.设备标识

操作系统按某种原则为每台设备分配一个唯一的号码,用作硬件(设备控制器)区分和识别设备的代号,称作设备的绝对号(或绝对地址)。

在多道程序环境中,系统中的设备被多个用户共享,用户并不知道系统中哪台设备忙、哪台设备闲,哪台可用、哪台不可用,只能由操作系统根据当时设备的具体情况决定哪个用户用哪台设备。这样,用户在编写程序时就不能通过设备绝对号来使用设备,他只需向系统说明他要使用的设备类型,如是打印机,还是显示器。为此,操作系统为每类设备规定了一个编号,称为设备的类型号。

例如,在UNIX/Linux系统中,类型号被称为主设备号。该系统中所有块设备的设备名由两部分构成:主设备号和次设备号,前者表示设备类型,后者表示同类设备中的相对序号。如rfd0,rfd1分别表示第1个和第2个软盘驱动器。

用户程序往往会同时使用几台同类设备,并且每一台设备都可能多次使用。这样,用户程序必须向操作系统说明当时它要用的设备是哪类设备的第几台。这里的“第几台”是设备相对号,是用户自己规定的所用同类设备中的第几台,应与系统为每台设备规定的绝对号相区别。

用户程序中提出使用设备的申请时,使用系统规定的设备类型号以及用户自己规定的设备相对号,由操作系统进行“地址转换”,变成系统中的设备绝对号。

(二)I/O系统的结构

不同规模的计算机系统,其I/O系统的结构也有差别。通常可将I/O系统的结构分为两大类:主机I/O系统和微机I/O系统。

1.主机I/O系统

比较典型的主机I/O系统具有4级结构:主机、通道、控制器和外部设备。如图6-2所示。

苹果设备管理进不去(设备分类和标识)

图6-2 I/O系统4级结构

为了使CPU摆脱繁忙的I/O事物,现代大、中型计算机都设置了专门处理I/O操作的机构,这就是通道。通道相当于一台小型处理机,它接受主机的委托,独立地执行通道程序,对外部设备的I/O操作进行控制,以实现内存和外设之间的成批数据传输。当主机委托的I/O任务完成后,通道发出中断信号,请求CPU处理。这样,就使得中央处理机基本上摆脱了I/O的处理工作,因而就大大提高了CPU和外设工作的并行程度。

2.微型机I/O系统

在大多数微型机和小型机中都使用总线I/O系统结构,实现CPU与控制器之间的通信,如图1-1所示。

苹果设备管理进不去(设备分类和标识)

图1-1 微型机I/O系统

I/O设备一般由机械和电子两部分组成。为了达到模块化和通用性要求,设计时往往将这两部分分开处理。电子部分称作设备控制器或适配器,常以印刷线路板的形式插入主机槽中。它可以管理端口、总线或设备,实现设备主体(即机械部分)与主机间的连接与通信。通常,一台控制器可以控制多台同一类型的设备。因此,操作系统总是通过设备控制器实施对设备的控制和操作。控制器是可编址的设备。

(三)设备管理的功能

1.设备管理的目标

设备的种类繁多,而其物理特性和使用方式各不相同。所以,设备管理这一部分在整个操作系统中占很大比重。设备管理要达到的目标主要是:

· 使用方便

系统应向用户提供使用方便的界面,使用户摆脱具体设备的物理特性,按照统一的规则使用设备。因为简单的输入输出程序也至少需要几百条指令。由操作系统负责输入输出工作,用户就从这种繁杂琐碎的事务中解放出来。大家都喜欢利用鼠标把要打印的文件拖放到打印机图标上,进行打印。用户不用管打印机的具体操作,这样,大家都感到方便多了。

· 与设备无关

与设备无关也称作设备独立性。就是说,用户程序应与实际使用的物理设备无关,由操作系统考虑因实际设备不同而需要使用不同的设备驱动程序等问题。这样,用户程序的运行就不依赖于特定设备是否完好、是否空闲,而由系统合理地进行分配,不论实际使用同类设备的哪一台,程序都应正确执行。还要保证用户程序可在不同设备类型的计算机系统中运行,不致因设备型号的变化而影响程序的工作。

在已经实现设备独立性的系统中,用户编写程序时一般不再使用物理设备,而使用虚拟设备,由操作系统实现虚、实对应。如在UNIX系统中,外部设备作为特别文件,与其他普通文件一样由文件系统统一管理,从而在用户面前对各种外设的使用就如同对普通文件那样,用户具体使用的物理设备由系统统一管理。

· 效率高

为了提高外设的使用效率,除合理地分配各种外部设备外,还要尽量提高外设和CPU以及外设之间的并行性,往往采用通道和缓冲技术。另外,还要均衡系统中各设备的负载,最大限度地发挥所有设备的潜力。

· 管理统一

在设计上,对各种外设尽可能采用统一的管理方法,使得设备管理系统简练、可靠且易于维护。

2.设备管理的功能

为了实现上述目标,操作系统的设备管理要有以下功能:

· 监视设备状态

一个计算机系统中存在着许多设备以及控制器、通道,在系统运行期间它们完成各自的工作,并处于各种不同的状态。例如,系统内共有3台打印机,其中一台正在进行打印,一台出现故障,另一台空闲。系统要知道三台打印机的情况,当有打印请求时,就能进行合理地分配——把空闲的打印机分出去。所以,设备管理的功能之一就是记住所有设备、控制器和通道的状态,以便有效地管理、调度和使用它们。

· 进行设备分配

按照设备的类型(是独占的、可共享的还是虚拟的)和系统中所采用的分配算法,实施设备分配,即决定把一台I/O设备分给谁——哪个要求该类设备的进程,并把使用权交给它。在大、中型系统中,还应分配相应的控制器和通道,以保证I/O设备与CPU之间有传送信息的通路。如果一个进程没有分到所需的设备或控制器、通道,那么它就进入相应的等待队列。完成这一功能的程序称为设备分配程序(或I/O调度程序)。

· 完成I/O操作

通常完成这一部分功能的程序叫做设备驱动程序。在设置有通道的系统中,应根据用户提出的I/O要求,构成相应的通道程序。通道程序是由通道指令构成,它们实现简单的I/O控制和操纵。通道程序由通道去执行。总之,系统按照用户的要求调用具体的设备驱动程序,启动相应的设备,进行I/O操作;并且处理来自设备的中断。操作系统中每类设备都有自己的设备驱动程序。

· 缓冲管理与地址转换

为了使计算机系统中各个部分充分并行,不致因等待外设的I/O而妨碍CPU的计算工作,以及减少中断次数,大多数I/O操作都涉及到缓冲区。因此,系统应对缓冲区进行管理。此外,用户程序应与实际使用的物理设备无关,这就需要将用户在程序中使用的逻辑设备转换成物理设备的地址。

本文来自作者:科技无忧,不代表小新网立场!

转载请注明:https://www.xiaoxinys.cn/102885.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。