《设备管理》PPT课件_第1页
《设备管理》PPT课件_第2页
《设备管理》PPT课件_第3页
《设备管理》PPT课件_第4页
《设备管理》PPT课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1、5章设备管理、操作系统、吕宋年、2,5.1简介、外围设备的驱动、控制、分配等技术问题均由设备管理程序全面负责。5.1.1设备的概念和分类(1)按功能分类,可分为输入设备、输出设备、存储设备、电源、网络设备等。(2)通过从设备的数据组织方式进行分类,可以将其分为块设备和文字设备。(3)在设备的管理模式下分类,可以分为物理设备和逻辑设备。(4)在设备的资源属性分类中,可以分为独占设备、共享设备和虚拟设备。3,5.1.2 I/O设备控制和驱动、I/O设备控制和驱动技术包括硬件控制驱动程序技术和驱动程序软件。电子是与I/O设备供应商设计的设备紧密相关的技术。后者包括用于系统中所有I/O处理的软件

2、。I/O驱动程序软件是操作系统的一部分。随着操作系统的发展,I/O驱动程序软件是具有标准接口的可选软件,操作系统内核中只剩下与设备无关的软件,设备相关的驱动程序软件用作可加载和卸载的程序,可以根据系统配置要求进行配置。操作系统的I/O驱动程序软件通常分为几层,例如中断处理程序、设备驱动程序、操作系统I/O基元和用户级软件。通过4,5.1.3设备管理设计要求和操作为用户提供方便、集成的设备使用界面,以提高外部设备利用率,提高并行吞吐量程序与设备之间的无关系统和设备之间的协调主要是为了解决速度调整,通常是为了解决快速处理器与慢I/O设备之间的操作匹配问题,使用缓冲方法缓解操作系统中的这种矛盾。设备

3、管理可以创建、分配、释放和回收这些缓冲区。5,5.2操作系统和中断处理,5.2.1中断的基本概念,6,5.2.2中断的类型,中断机构处理外部设备的I/O中断。陷入到机构处理指令中(自陷)和软、硬件错误或错误导致的切入。系统调用是UNIX操作系统的面向用户的程序接口。在程序集级别,系统调用使用trap指令。I/O中断时钟中断系统请求中断警告中断程序错误中断系统错误中断,7,与UNIX中的系统调用、进程管理和控制相关的系统调用fork,exit,wait,signal,kill。Semget、semop、semctl。与文件系统相关的系统调用creat、open、close、read和write。

4、远程进程通信套接字,connect其他系统调用times、8,5.2.3中断响应和实现进程,以便在每次执行一个命令时检测无中断请求。通过为不同类型的断点指定不同的优先级来中断重叠。根据中断源查找相应的中断处理程序入口地址以执行。中断向量存储中断处理程序的地址。站点保护、命令断点、执行参数和条件、程序状态寄存器PS内容和累加器或通用寄存器的内容和标记中断掩码。9,5.2。4中断处理程序和驱动程序,UNIX将设备视为虚拟文件。每个设备与文件名同名,在UNIX系统上可以作为一个文件进行访问。将设备分为两类:块设备和文字设备。内核和驱动程序的接口包括块设备交换表和字符设备交换表、10,5.2.5中断返

5、回和恢复,以及UNIX中断处理在核心模式下完成。如果中断前处理器状态为核心,则在运行设备处理子例程后恢复现场,然后使用“返回中断”命令返回中断前状态,继续中断的操作系统进程。如果在中断前是用户类型,则在运行设备处理子例程后,必须确保设置了标志run。11,5.3操作系统和时钟系统主要用于控制计算机系统上系统时钟、日历时钟实时时钟5.3.1时钟的概念系统时钟在系统处理器上执行命令的速度。日历时钟生成精确的时间数,程序将转换这些时间以提供与日历匹配的日期和时间。实时时钟提供每秒几个时钟中断,通知您处理器有重要任务。12,5.3.2 UNIX系统的时钟管理每20毫秒处理一次:计算使用者或核心状态中目

6、前处理作业的累计执行时间,然后计算u.u _ utilme或u.u_stime。将1添加到当前运行的进程p_cpu。延迟开始处理终端打印机的作业。锁定延迟后,重新启动输出驱动程序。每秒处理的操作包括:日历时钟变量time加1。所有进程的内存或交换区的驻留时间p_time,当前未运行的所有进程的p_cpu除以2。13,5.4操作系统中的I/o控制、5 . 4 . 1 I/o设备的资源分配I/o地址设置为正确的I/o地址I/o中断请求争用剩馀中断请求编号也可能发生冲突。DMA数据传输通道对必须协调和重新配置争用相同DMA通道的I/O设备。I/O缓冲区此系统资源也在I/O设备上争用。14,5.4.2

7、 I/O通道技术I/O通道是具有强大I/O处理能力的智能部件,带有专用处理器。系统处理器提供的I/O操作可以独立执行,方法是使用唯一的命令集(即通道命令)。通道在处理器上运行通道程序,完成后仅向系统处理器发出中断,请求终止。字节多路复用器主要用于连接大量低中速、字节级的I/O设备。通道选择主要用于支持磁盘等高速设备,每次只能有一个设备传输数据。共享通道程序、每个通道命令发送数据集、15,5.4.3 I/O缓冲区技术、改进中央处理器和外围设备的并行处理的硬件缓冲区和软件缓冲区两种方法均通过操作系统的管理将内存中的一个或多个区域用作缓冲区。缓冲区的数量取决于多种系统和操作,常用的缓冲技术有三种:双

8、缓冲区、环缓冲区和缓冲池。16,5.5设备管理数据结构,5.5.1设备控制表(DCT)提供多个高级I/O系统调用,这些抽象的I/O操作将用户与复杂的I/O设备操作隔离开来,隐藏设备操作的详细信息,并便于编写与设备无关的程序。要完成到实际的抽象映射,通常使用称为设备控制表(DCT)的数据结构来完成。记录每个抽象设备说明、其物理设备地址和使用的设备驱动程序等参数。17,设备读取read抽象操作,read (dv CRP,buf,size) int dv CRP,size;/*设备标识符,块大小*/char * buf;/*缓冲区指针*/struct dev tab * dev ptr;/*指向设备

9、表的指针*/if (isbaddev(dvcrp) /确保设备标识符是有效的return(SYSERR)。/*系统返回错误*/devptr=/*如果有效,则查找相应的设备表条目*/return(* devptrdvread)(dev ptr,buf,size)/*参数为设备每种类型的设备都有附加的数据结构,用于存储程序(称为设备交换机)的入口地址。19,5.6磁盘计划,5.6.1物理属性磁盘通常用于存储文件,磁盘上信息的地址为多个地址,如驱动器号、面编号、通道编号和扇区编号。存取磁碟区块资讯的时间:探索时间100毫秒延迟10毫秒传输时间1毫秒,20,5.6.2磁碟排程演算法,先服务排程(FCF

10、S)short缓冲区由两部分组成:保存数据的内存区域(通常称为缓冲区)和缓冲区控制块。缓冲区和缓冲区控制块一对一对应。系统通过缓冲区控制块管理缓冲区。5.7.1 UNIX块设备管理的关键数据结构,23,struct buf intb _ flags/*缓冲区徽标*/struct buf * b _ forw;/*设备队列前向指针*/struct buf * b _ back;/*设备队列反向指针*/struct buf * av _ forw;/*自由队列前向指针*/struct buf * av _ back;/*自由队列反向指针*/dev _ TB _ dev;/*逻辑设备号*/unsig

11、ned b _ bcount;/*传输的数据字节*/union caddr _ TB _ addr;/*缓冲内存原始地址*/struct filsys * b _ filsys;/*超级块*/b _ un;Daddr _ t b _ blkno/*磁盘上数据的块号*/bun buf;24、b_flags反映缓冲区的使用和I/o方式,例如忙或空闲、数据有效性、“延迟写入”、读/写、缓冲区空闲等待。查看Buf的配置时,不仅记录了与缓冲区使用相关的信息,还记录了I/o请求及其执行结果。因此,buf通常是缓存控制块,也可以是该缓存的I/o请求块。为了便于管理,系统还设置了自由缓存队列控制块bfreel

12、ist和进程图像传输控制块swbuf。这两个块结构与buf结构相同,但仅使用部分项目,而不使用其他项目。25,2个设备表,struct iobuf int b _ flags/*设备队列状态标志*/struct buf * b _ forw;/*指向此设备上的第一个缓冲区的*/struct buf * b _ back;/此设备上的最后一个缓冲区struct buf * b _ actf/*此设备的I/o请求队列中的第一个缓冲区*/struct buf * b _ actl;/*此设备的I/o请求队列中的最后一个缓冲区*/dev _ t b _ dev;/*设备名称*/char b _ act

13、ive;/设备正在运行I/O请求的标志chat b_errcnt。/*错误数*/;所有类型的块设备管理器的入口地址struct bdev SW int(* d _ open)();/*函数条目*/int(* d _ close)();/*函数条目*/int(* d _ strategy)();/*起始函数条目*/int(* d _ print)();/*打印函数条目*/;“设备表”和“设备交换机表”集中与设备相关的特性和管理、使用信息,反映了UNIX将设备的物理特性和使用与设备管理的基本方式区分开来的主要思想。27,5.7.2管理UNIX系统v的缓冲区,1 .各种缓冲区管理队列系统设置各种队列

14、管理所有缓冲区,因为buf记录与缓冲区相关的各种管理信息。缓冲区管理队列实际上是高速缓存控制块buf队列。(1)自由缓冲队列系统将空闲缓冲区中的buf配置为空闲buf队列,即空闲buf队列。此队列是双向链结构,组中的第一个块是bfreelist,bfreelist和自由buf使用av_forw和av_back作为双向指针。请参阅p123图5-9。28、图5-9自由buf队列、29、(2)设备缓冲队列、设备缓冲队列是连接所有类型设备使用的缓冲的双向队列,buf的b_forw和b_back如P129图5-10所示。当缓冲区分配用于读取和写入设备的字符块时,该buf将进入设备的设备buf队列。但是,

15、除非移动到设备,否则它将保留在设备buf队列中。系统v不同于版本6,不是每个块设备一个缓冲队列,同一块设备的缓冲区可以分布在其他散列队列中,其他设备的缓冲区均匀分布,从而加快缓冲区的检索速度。30、图5-10设备buf队列,31、(3)空设备队列(NODEV队列),NODEV队列是特殊设备buf队列。如果系统需要高速缓存,但未与特定设备字符块相关联,则将分配的高速缓存控制块buf发送到NODEV队列。队列控制块也为bfreelist,使用b_forw和b_back指针。在UNIX上,将buf发送到NODEV队列有两种情况:一个是运行目标程序的开始步骤,在该步骤中,进程将传递到目标程序的参数存储

16、在高速缓存中。有时,文件系统的资源管理块存储为缓存。系统启动时,所有空闲缓冲区的buf位于自由buf队列和NODEV的设备buf队列中。32,(4)设备I/o请求队列,每个块设备有一个设备I/o请求队列,单向连接,头部分别指向队列的开始和结束。概括四个队列所属的缓冲区之间的关系:(1)任何缓冲区都是同时属于两个队列的稳定状态。(2)自由buf队列中的缓冲区可以属于未分配给指定设备的NODEV队列或设备buf队列(分配给设备,I/O关闭并释放)。(3)设备buf队列中的缓冲区可以挂在自由buf队列(已禁用)上,也可以挂在设备I/o请求队列(忙碌)上。(4)如果NODEV队列中的缓冲区正在使用中,则必须位于自由浮点队列中。(5)确定设备I/O请求队列中的缓冲区属于设备buf队列。33,2。缓冲区管理算法,1 .b_flags中带有B_BUSY标记的缓存刚刚分配给读写使用。必须在相应的设备buf队列中,不能在自由队列中。2读/写完成后禁用缓存,qingb _ busy标志。发送到自由队列末尾,但仍保留在原始设备队列中。3.功能和优点:缓存既存在于设备队列中,又存在于自由队

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论