操作系统原理(ch9).pptVIP

  • 4
  • 0
  • 约1.55万字
  • 约 97页
  • 2018-10-19 发布于山东
  • 举报
2009-4-7 * I/O进程的实现方式 (1)每类设备设一个专门的I/O进程,且该进程只能在系统态下执行; (2)整个系统设一个I/O进程,全面负责系统的数据传送工作; (3)每类设备设一个专门的I/O进程,但该进程既可以在系统态下执行,也可以在用户态下执行。 2009-4-7 * 9.7 设备驱动程序 设备驱动程序是驱动物理设备和DMA或I/O控制器等直接进行I/O操作的子程序的集合。 负责设置相应设备有关寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。 2009-4-7 * 设备驱动程序的管理 为了对驱动程序进行管理,系统中设有设备开关表DST(Device Switch Table)。 设备开关表中给出相应设备的各种操作子程序的入口地址。 设备开关表通常是二维结构,也是I/O进程的一个数据结构。 当I/O控制过程为进程分配设备和缓冲区之后,可以使用设备开关表调用所需的驱动程序进行I/O操作。 2009-4-7 * 本章小结 设备的分类 设备管理的功能 数据传送控制方式(4种) 中断技术和缓冲技术 设备分配方法:数据结构和算法 I/O控制过程 设备驱动程序 2009-4-7 * 作业 9.7 9.10 9.11 * 2009-4-7 * 缓冲区队列 系统把各缓冲区按其使用状况连成三种队列: (1)空白缓冲队列em,其队首指针为F(em),队尾指针为L(em); (2)装满输入数据的输入缓冲队列in,其队首指针为F(in),队尾指针为L(in); (3)装满输出数据的输出缓冲队列out,其队首指针为F(out),队尾指针为L(out); 缓冲区队列 缓冲区1 缓冲区2 F(em) L(em) 缓冲区1 缓冲区m F(in) L(in) 缓冲区n F(out) L(out) 2009-4-7 * 工作缓冲区 除空白缓冲队列、输入缓冲队列和输出缓冲队列外,系统(或用户进程)从这三种队列中申请和取出缓冲区,并用得到的缓冲区进行存数、取数操作,结束后再将缓冲区放入相应的队列。这些缓冲区被称为工作缓冲区。 在缓冲池中,有4种工作缓冲区: (1)用于收容设备输入数据的收容输入缓冲区hin; (2)用于提取设备输入数据的提取输入缓冲区sin; (3)用于收容设备输出数据的收容输出缓冲区hout; (4)用于提取设备输出数据的提取输出缓冲区sout; 2009-4-7 * 缓冲池的工作缓冲区 hin 缓冲区1 收容输入 sout 缓冲区n sin 缓冲区m hout 缓冲区z 提取输出 I/O设备 提取输入 收容输出 CPU 缓冲池 2009-4-7 * 2. 缓冲池管理 对缓冲池的管理由以下几个操作组成: (1) 从缓冲区队列中按一定的规则(如FIFO)选取一个缓冲区的过程take_buf(type); (2) 从缓冲区按一定的规则插入相应的缓冲区队列中的过程add_buf(type, number); (3) 供进程申请缓冲区用的过程get_buf(type, number); (4) 供进程将缓冲区放入相应缓冲区队列的过程put_buf(type, work_buf)。 参数type表示缓冲队列类型,number为缓冲区号,work_buf表示工作缓冲区类型。 2009-4-7 * 缓冲池的工作过程—收容输入 首先,输入进程调用get_buf(em,number)过程从空白缓冲区队列中取出一个缓冲号为number的空白缓冲区,将其作为收容输入缓冲区hin,当hin中装满了由输入设备输入的数据之后,系统调用过程put_buf(in, hin)将该缓冲区插入输入缓冲区队列in中; 2009-4-7 * 缓冲池的工作过程—收容输出 另外,当进程需要输出数据时,输出进程经过缓冲管理程序调用过程get_buf(em, number)从空白缓冲区队列中取出一个空白缓冲区number作为收容输出缓冲区hout,待hout中装满输出数据后,系统再调用过程put_buf(out, hout)将该缓冲区插入输出缓冲队列out。 2009-4-7 * 缓冲池的工作过程—提取 对缓冲区的输入数据和输出数据的提取也是由过程get_buf和put_buf实现的。 get_buf(out, number)从输出缓冲队列中取出装满输出数据的缓冲区number,将其作为sout。当sout中的数据输出完毕后,系统调用过程put_buf(em, sout)将该缓冲区插入空白缓冲队列em中。 get_buf(in, number)从输入缓冲队列中取出装满输入数据的缓冲区number,将其作为sin。当CPU提取完所需数据后,系统调用过程put_buf(em, sin)将该缓冲区插入空白缓冲

文档评论(0)

1亿VIP精品文档

相关文档