- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
*共43页 高速缓存(补) (cache)是可以保留数据拷贝的高速内存。 有时一块内存区域可以同时用于两个目的。例如,为了有效调度磁盘I/O,在内存开辟了缓冲区来保留磁盘数据。这些缓冲区也可以用作高速缓存,可被多个进程共享。当内核收到I/O请求时,会首先检查高速缓存里是否有。 *共43页 (6)负责设备分配 静态分配:进程运行前,将需要的设备全部分配给它。简单,不死锁,但利用率低。 动态分配:在进程运行过程中,分配设备。设备利用率高,但容易引起死锁。 *共43页 独占方式分配:对独占型设备的分配。 共享分配:对共享型设备的分配。磁盘。 虚拟设备。常用可共享的高速设备来模拟独占的慢速设备。能有效提高独占型设备的利用率。 Spooling技术是实现虚拟设备的具体技术。它利用可共享磁盘的一部分空间,模拟独占的输入/输出设备。以空间换时间。 *共43页 假脱机输出:以打印机为例 Spooling实际是一种缓冲技术。进程要打印时,系统并不为它分配打印机,而是在磁盘上申请一个空闲区,把待打印的数据缓冲到空闲区,再把打印请求挂到打印队列上。打印机空闲时,从打印队列上取出一个请求,再从磁盘上的指定区域取出数据,送打印机打印。这种技术又叫缓输出技术。 *共43页 (7)出错处理 绝大多数错误是与设备密切相关的,一般由设备驱动程序来处理。 处理设备驱动程序处理不了的错误(重试几次操作后,仍有错误)。将错误信息报告调用者。 *共43页 I/O软件。(1)大部分都包含在操作系统中。(2)一小部分是由与用户程序连接在一起的库函数构成的。 [例] 用户程序中的库函数: count=read(fd, buffer, nbytes); 程序运行期间,库函数read将与该程序连接在一起形成一个可执行文件装入主存。 这些函数通常只是将系统调用时所需要的参数放在合适的位置,由其他的I/O函数实现真正的操作。如“Printf”将调用“write”系统调用。 4. 用户空间的I/O软件 *共43页 5. I/O系统的层次结构 用户进程 独立于设备的软件 设备驱动程序 中断处理程序 硬件 I/O请求 I/O完成后 的回答 *共43页 读文件的I/O操作步骤 用户进程发出一个读文件的系统调用。 设备独立I/O软件检查参数的正确性。若正确,再检查高速缓存中有无要读的信息块。若有,则从缓冲区直接读到用户区。若无,转3) 执行物理I/O。独立于设备的I/O软件将设备的逻辑名转换成物理名,检查设备操作权限。将I/O请求排队,阻塞用户进程且等待I/O完成。 核心执行设备驱动程序,分配缓冲区,准备接收数据,且向设备控制寄存器发启动读命令。 *共43页 设备控制器控制设备,执行数据传输。 当采用DMA控制器控制传输时,一个块传输完成,硬件产生一个中断。 CPU响应中断,转磁盘的中断处理程序。检查中断原因和设备的执行状态,若出错,则向设备驱动程序发信号,若可重试,则再启动设备重传一次;否则,向上报告错误。若传输正确,将数据传输给指定的用户进程空间,将等待进程唤醒并且放入就绪队列,等待调度。 当用户进程被调度执行时,从I/O系统调用的断点恢复执行。 *共43页 6.2.3 同步I/O和异步I/O 同步I/O:进程发出I/O请求后阻塞等待,直到数据传输完成后被唤醒,之后才能访问被传输的数据。 异步I/O:允许进程发出I/O请求后继续运行。将来I/O完成后的通知方式:设置进程地址空间内的某个变量;通过触发信号或软件中断;进程执行流之外的某个回调函数。 (Windows 的APC) 对于不必进行缓冲读写的快速I/O,使用同步I/O更有效;对于需要很长时间的I/O操作,可使用异步I/O。 *共43页 6.3 磁盘管理 1. 提高磁盘I/O速度的主要途径: 选择性能好的磁盘。如 IDE、SCSI 采用好的调度算法 设置磁盘高速缓冲区 2. 磁盘的类型 硬盘和软盘;固定头磁盘和活动头磁盘。 固定头磁盘:每条道上都有一个读/写磁头,用于大容量磁盘,并行读/写。 移动头磁盘:每个盘面仅配有一个磁头。 *共43页 4. 访问磁盘块的时间:寻道时间、旋转延迟时间、读/写传输时间。 5. 调度算法 先来先服务(FIFO):最简单,易实现,又公平合理。 最短寻道时间优先(SSTF):是指在将磁头移向下一请求磁道时,总是选择移动距离最小的磁道。 扫描法(SCAN):是指读/写磁头在由磁盘的一端向另一端移动时,随时处理所到达磁道上的服务请求,直到移动另一端之后,再反向进行服务。变种CSCAN和C-LOOK 6. 磁盘分配方法 连续分配;链接分配;索引分配 谢谢大家! 感谢您的观看! *共43页 操作系统的设备管理 *共43页 目标和功能 I/O管理
文档评论(0)