- 1、本文档共291页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三、 缓冲管理 ●?引入缓冲原因 (1)缓和CPU与I/O设备间速度不匹配的矛盾。 (2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制。 (3)提高CPU和I/O设备之间的并行性。 例如:?单缓冲、?双缓冲、?循环缓冲、?缓冲池 缓冲技术是以空间换取时间,而且只能在设备使用不均衡时起到平滑作用。 四、设备分配 设备管理是通过一些数据结构来实现对其设备进行管理和控制的。 1、?系统设备表、设备控制表、控制器控制表、通道控制表 (分配设备、控制器、通道) 2、 设备分配中应考虑的若干因素 (1)设备的固有属性:独享设备、共享设备、虚拟设备 (2)设备分配算法:FIFO、优先级高者优先 (3)设备分配中的安全性 (4)设备独立性 设备独立性软件功能: (1)执行所有设备的公有操作:①对独立设备的分配与回收;②将逻辑设备名映射为物理设备名;③对设备进行保护,禁止用户直接访问设备;④缓冲管理;⑤差错控制;⑥提供独立于设备的逻辑块。 (2)向用户层软件提供统一接口。 3、设备固有属性不同,其分配算法不同 4、SPOOLING技术可将一台物理设备虚拟为多台逻辑设备,可为多个用户所共享。 SPOOLing技术的核心思想是:在快速辅助存储设备中建立 I/O缓冲区用于缓存从慢速输入设备流入内存的数据或缓存从内存流向慢速输出设备的数据。 五、设备处理 1、设备处理程序又称为设备驱动程序,它是I/O进程与设备控制器之间的通信程序。 ① 初始化I/O设备 ②???设备与进程之间的数据传送 ③???当数据传完之后,将产生中断信号将它换醒,进入中断处理过程。 2、中断处理过程 3、用户请求设备使用的是逻辑设备名。 由系统通过逻辑设备表实现逻辑设备到物理设备的映射。当更换物理设备时,用户的程序不用改,仅修改逻辑设备表。 SPOOLing技术: 为了缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、 脱机输出技术。 该技术是利用专门的外围控制机, 将低速I/O设备上的数据传送到高速磁盘上;或者相反。事实上, 当系统中引入了多道程序技术后,完全可以利用其中的一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样,便可在主机的直接控制下,实现脱机输入、 输出功能。 此时的外围操作与CPU对数据的处理同时进行, 我们把这种在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On-Line),或称为假脱机操作。 SPOOLing系统的组成: (1)输入井和输出井:这是在磁盘上开辟出来的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。输出井模拟脱机输入时的磁盘,用于收容用户程序的输出数据 (2)输入缓冲区和输出缓冲区:这是在内存中开辟的两个缓冲区。输入缓冲区用于暂存有输入设备送来的数据,以后在传送到输入井。输出缓冲区用于暂存从输出井送来的数据,以后再传送到输出设备。 (3)输入进程和输出进程:输入进程模拟脱机输入时的外围控制机,将用户要求的数据由输入设备到输入缓冲区,再送到输入井。当CPU需要输入设备时,直接从输入井读入内存。输出进程模拟脱机输出时的外围控制机,把用户要求输入的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。 SPOOLing技术的特点: (1)提高了I/O速度.从对低速I/O设备进行的I/O操作变为对输入井或输出井的操作,如同脱机操作一样,提高了I/O速度,缓和了CPU与低速I/O设备速度不匹配的矛盾. (2)设备并没有分配给任何进程.在输入井或输出井中,分配给进程的是一存储区和建立一张I/O请求表. (3)实现了虚拟设备功能.多个进程同时使用一独享设备,而对每一进程而言,都认为自己独占这一设备,不过,该设备是逻辑上的设备. SPOOLing技术如何使一台打印机虚拟成多台打印机? 系统对于用户的打印输出,但并不真正把打印机分配给该用户进程,而是先在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内存缓冲区,再进行打印,直到打印队列为空。 磁盘存储器管理 一、?早期磁盘调度算法1、? 先来先服务2、? 最短寻道时间优先 3、? 扫描法4、? 循环扫描法 (1) 寻道时间Ts ??????? 这是指把磁臂(磁头)移动到指定
文档评论(0)