万网网站建设购买过程,手机端网站开发视频教程,wordpress 新建用户,北京网站seo招聘#x1f308;个人主页#xff1a;godspeed_lucip #x1f525; 系列专栏#xff1a;OS从基础到进阶
#x1f3c6;#x1f3c6;本文完整PDF源文件请翻阅至文章底部下载。#x1f3c6;#x1f3c6; ⚕️1 I/O核心子系统——概述#x1f531;1.1 核心子系统要完成的功能… 个人主页godspeed_lucip 系列专栏OS从基础到进阶
本文完整PDF源文件请翻阅至文章底部下载。 ⚕️1 I/O核心子系统——概述1.1 核心子系统要完成的功能️1.1.1 假脱机技术️1.1.2 I/O调度️1.1.3 设备保护️1.1.4 设备分配与回收️1.1.5 缓冲区管理缓冲与高速管理 1.2 注意 ⚕️2 缓冲区管理⚜️2.1 总览⚜️2.2 缓冲区的定义与作用⚖️2.2.1 什么是缓冲区⚖️2.2.2 缓冲区的作用 ⚜️2.3 单缓冲管理方法⚖️2.3.1 什么是单缓冲策略⚖️2.3.2 注意⚖️2.3.3 CPU处理一块数据的平均时间 ⚜️2.4 双缓冲管理方法⚖️2.4.1 什么是双缓冲⚖️2.4.2 CPU处理一块数据的平均时间 ⚜️2.5 使用单/双缓冲在通信时的区别2.5.1 使用单缓冲2.5.2 使用双缓冲 ⚜️2.6 循环缓冲区2.6.1 解释2.6.2 示意图 ⚜️2.7 缓冲池2.7.1 解释2.7.2 工作流程 ⚜️2.8 总结 ⚕️3 总结 ⚕️1 I/O核心子系统——概述
1.1 核心子系统要完成的功能
️1.1.1 假脱机技术
️1.1.2 I/O调度
即各种调度算法。
️1.1.3 设备保护
操作系统需要实现文件保护功能不同的用户对各个文件有不同的访问权限如只读、读和写等。 在UNIX系统中设备被看做是一种特殊的文件每个设备也会有对应的FCB。当用户请求访问 某个设备时系统根据FCB中记录的信息来判断该用户是否有相应的访问权限以此实现“设备保护”的功能
️1.1.4 设备分配与回收
️1.1.5 缓冲区管理缓冲与高速管理
1.2 注意
2、3在之前的笔记中已经介绍过后面的笔记主要介绍1、4、5
⚕️2 缓冲区管理
⚜️2.1 总览 ⚜️2.2 缓冲区的定义与作用
⚖️2.2.1 什么是缓冲区 ⚖️2.2.2 缓冲区的作用 解释 ①CPU是高速的I/O设备一般而言是低速的。 进行写操作时CPU快速的将数据放入缓冲区就可以去做其他的事情了在这个时间内I/O设备可以慢慢的读取缓冲区的内容。 相反的进行读操作时I/O设备可以先将数据放入缓冲区内之后再让CPU快速的读取 ②联系I/O控制方式中的直接控制 ③输出进程可以一次生成一块数据而I/O设备每次只可以输入一个字符 ④CPU无须一直等待I/O设备的输入输出
⚜️2.3 单缓冲管理方法
⚖️2.3.1 什么是单缓冲策略
假设某用户进程请求某种块设备读入若干块的数据。若采用单缓冲的策略操作系统会在主存中为其分配一个缓冲区若题目中没有特别说明一个缓冲区的大小就是一个块。
⚖️2.3.2 注意
1当缓冲区数据非空时不能往缓冲区冲入数据只能从缓冲区把数据传出当缓冲区为空时 可以往缓冲区冲入数据但必须把缓冲区充满以后才能从缓冲区把数据传出。 2用户进程的内存空间中会分出一片工作区来接受输入/输出数据一般也默认工作区大小与缓冲区相同。
⚖️2.3.3 CPU处理一块数据的平均时间
在“单缓冲”题型中可以假设初始状态为工作区满缓冲区空。则下一次状态又回到工作区满缓冲区空的过程中所耗费的时间就是CPU处理一块数据的平均时间。 1假设I/O设备将数据输入到缓冲区中所耗费的时间为T用户进程将数据从缓冲区读入到工作区所耗费的时间为MCPU处理数据的时间为C。如图所示。注意同一时刻只可以有一个进程操作缓冲区。 2当TC时整个过程如下图所示。则总耗时为TM 3当TC时整个过程如下图所示。则总耗时为CM 4因此总结可得 采用单缓冲策略处理一块数据平均耗时 Max(C, T)M
⚜️2.4 双缓冲管理方法
⚖️2.4.1 什么是双缓冲
假设某用户进程请求某种块设备读入若干块的数据。若采用双缓冲的策略操作系统会在主存中为其分配两个缓冲区若题目中没有特别说明一个缓冲区的大小就是一个块
⚖️2.4.2 CPU处理一块数据的平均时间
1假设初始状态为工作区空其中一个缓冲区满另一个缓冲区空。则示意图如下所示。
2当TCM时整个工作流程如图所示。处理一块数据的平均用时 T
3当TCM时整个工作流程如图所示。 可以看到在T时刻缓冲区2已经被充满但是工作区中的数据还没有被完全处理完。假如2T2MC则当工作区中的数据被处理完之后缓冲区1又被I/O设备冲入了数据。可以看出此时我们很难找到一个时刻可以恢复到初始状态——工作区空其中一个缓冲区满另一个缓冲区空。 但是总而言之
4此时我们可以得到结论 采用双缓冲策略处理一个数据块的平均耗时为 Max (T, CM)
⚜️2.5 使用单/双缓冲在通信时的区别
2.5.1 使用单缓冲
示意图如图所示。很显然若两个相互通信的机器只设置单缓冲区在任一时刻只能实现数据的单向传输。
2.5.2 使用双缓冲
示意图如图所示。若两个相互通信的机器设置双缓冲区一个缓冲区用来存储发送的数据另一个缓冲区用来存储接收的数据。则同一时刻可以实现双向的数据传输
⚜️2.6 循环缓冲区
2.6.1 解释
将多个大小相等的缓冲区链接成一个循环队列。系统维护一个in指针和一个out指针。in指针指向的缓冲区可以向其中填入数据out指针指向的缓冲区可以从里面取出数据。
2.6.2 示意图 ⚜️2.7 缓冲池
2.7.1 解释 缓冲队列的示意图如图所示
缓冲池的示意图如图所示
2.7.2 工作流程
1输入进程请求输入数据 系统从空缓冲队列中取下一块缓冲区放入收容输入区hin进程可以向其中输入数据待进程输入完成后系统再将该充满数据的缓冲区挂到输出队列的队尾输入数据的目的肯定是将数据输出。
2计算进程想要取得一块输入数据 系统从输入队列中取得一块冲满输入数据的缓冲区作为“提取输入数据的工作缓冲区sin”。待进程将缓冲区读空后系统再将空缓冲区挂到空缓冲区队列队尾。
3计算进程想要将准备好的数据冲入缓冲区。 系统从空缓冲队列中取出一块作为“收容输出数据的工作缓冲区hout”。待进程将数据冲满后再将缓冲区挂到输出队列队尾准备输出。
4输出进程请求输出数据 系统从输出队列中取得一块冲满输出数据的缓冲区作为“提取输出数据的工作缓 冲区sout”。待进程将缓冲区读空后再将空缓冲区挂到空缓冲区队列的队尾。
⚜️2.8 总结 ⚕️3 总结
本文PDF文件下载链接提取码ikun
操作系统如默默守护的守夜者无声地管理硬件与软件的交流为计算机创造和谐秩序。
它是无形的引导者让复杂的任务变得井然有序为用户提供无忧体验。
操作系统的巧妙设计让计算机变得更加智能高效让人与科技之间的交流更加顺畅。
在每一次启动中它如信任的伙伴带领我们进入数字世界的奇妙旅程。
渴望挑战操作系统的学习路径和掌握进阶技术不妨点击下方链接一同探讨更多操作系统的奇迹吧。我们推出了引领趋势的OS专栏《OS从基础到进阶》 旨在深度探索OS的实际应用和创新。