标签:06 28 扇区 磁道 2021 缓冲区 磁盘 CPU 设备
文章目录
六、输入输出管理
概述
I/O系统功能
- 1、状态跟踪
- 2、确定设备的分配策略
- 3、设备分配与回收
- 4、设备控制
I/O设计目标
- 1、提高设备利用率
- 2、方便用户使用
- 3、设备处理的一致性
I/O设备和设备控制器
I/O设备分类
-
按系统使用特性进行分类
- 1、存储设备
- 2、输入输出设备
- 3、传输设备
-
按设备共享属性分类
-
独占设备
- 打印机、用户终端
-
共享设备
- 磁盘,
- 一个时间段允许多个进程同时访问设备
-
虚拟设备
- 通过虚拟技术,将一台独占设备变换为若干台供多个用户共享的逻辑设备。一般可利用假脱机技术(SPOOLing)实现虚拟设备
-
其他分类
- 系统设备、用户设备
- 字符设备、块设备
- 低速、中速、高速设备
-
设备控制器
-
功能
- 控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换
- 设备控制器是cpu与I/O设备之间的接口,它接受CPU发来的命令,去控制I/O设备工作,使CPU从繁忙的设备控制事务中解放出来
-
工作过程
- CPU对I/O的操作命令并不止一条而是多条,因此操作一次I/O设备,首先CPU向设备控制器发送一条条命令,设备控制器接收到一条条命令,然后译码、执行。因此设备控制器一定程度上使CPU从I/O控制上解脱出来,但并未完全解脱
-
I/O通道
-
一种特殊的处理机
-
CPU将指令发送给通道而不是设备控制器,只需要向通道发出I/O指令,指明一条条指令在内存的位置,并指明要操作哪个设备
-
I/O通道接收要CPU发送来的这些信息后,就可以从内存中找到并执行这个通道程序,即发送启动命令和一条条I/O命令给设备控制器;当对I/O设备的操作完成后,通道向CPU发送中断信号,告诉CPU相应操作已经完成
-
通道程序
- 一条条I/O指令
-
功能
- 执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。
-
-
I/O系统的四级结构
- CPU(最高级) --> 通道(次高级) --> 控制器 (次低级)–>I/O设备(最低级)
中断机构和中断处理程序
设备驱动程序及其功能
- 设备的打开、关闭、读、写等操作
- 把用户提交的路基I/O请求转换为物理I/O操作的启动和执行,如设备名转换为端口地址、逻辑记录转换为物理记录、逻辑操作转换为物理记录、逻辑操作转换为物理操作
I/P设备的控制方式
-
Query 询问方式
- 每次进行输入输出工作,都需要由主机CPU干预
-
Interrupt 中断方式
- 响应了I/O中断请求,CPU才转至I/O中断处理程序执行
-
DMA方式(直接存储器存取方式)
-
通道方式
- 通道与CPU并行工作
与设备无关的I/O软件
I/O软件系统的层次
- 用户级I/O软件
- 与设备无关的操作系统软件
- 设备驱动程序
- 中断处理程序
- 硬件
逻辑设备和物理设备
- 逻辑设备是物理设备的属性表示
- 操作系统中规定用户程序中不直接使用物理设备的名称
设备分配
- 设备类表
- 设备表
虚拟设备—Spooling系统
1、脱机输入输出技术
-
解决人机矛盾及CPU和I/O设备间速度不匹配的矛盾
-
脱机I/O的结构
- 输入设备–外围机–磁盘
- 磁盘–主机–磁盘
- 磁盘–外围机–输出设备
-
由于程序和数据的输入输出都是在外围机的控制下完成的,或者说他们是在脱离主机的情况下进行的
2、假脱机技术(Spooling系统)
-
将独享设备改为由多个用户共享的设备
-
组成
- 输入井和输出井
- 输入缓冲区和输出缓冲区
- 输入进程和输出进程
-
实现
-
三部分组成程序
- 预输入程序
- 井管理程序
- 缓输出程序
-
-
应用案例
- 共享打印机
-
Spooling系统的特点
- 1、提高了I/O的速度
- 2、将独占设备改造为共享设备
- 3、实现了虚拟设备的功能
用户层I/O软件
缓冲区管理
缓冲
- 缓冲是两种不同速度的设备之间传输信息时平滑传输过程的常用手段
缓冲区
- 一个存储区域,由专门的硬件寄存器组成,也可以利用内存作为缓冲区
软缓冲区
- 用来保存在两设备之间或在设备和应用程序之间所传数据的内存
缓冲区的作用
- 缓和CPU与I/O设备之间速度不匹配的矛盾
- 减少对CPU的中断频率,放宽对CPU中断相应时间限制
- 解决数据粒度不匹配的问题
- 提高CPU与I/O设备之间的并行性
常用的缓冲技术
-
单缓冲
-
当缓冲区不为空时不能往里面放入数据,只有缓冲区为空才能放入数据,但是一次放入的数据必须充满整个缓冲块,才能从缓冲区把数据传出
-
处理一块数据的平均耗时
- MAX(C, T) + M
- C是CPU处理工作区的时间, T是从I/O到缓冲区的时间,M是缓冲区的数据存储到工作区的时间
-
-
双缓冲
-
输入或输出分配两个缓冲区
-
同一时刻实现双向的数据传输
-
处理一个数据的平均耗时
- Max(T, C)
-
-
环形缓冲
-
将大小相等的缓冲区连接成一个循环队列
-
队列中的两种缓冲区
-
空闲缓冲区
-
满缓冲区
-
in指针
- 指向下一个可以冲入数据的空缓冲区
-
out指针
- 指向下一个可以取出数据的满缓冲区
-
-
-
缓冲池
-
缓冲区队列
- 装满输入数据的缓冲队列
- 空缓冲队列
- 装满输出数据的缓冲队列
-
缓冲池包括的四个工作缓冲区
-
收容输入数据
- hin
-
提取输入数据
- sin
-
收容输出数据
- sout
-
收容输出数据
- hout
-
-
磁盘存储器性能和调度
驱动调度
- 磁盘会有若干个输入输出请求来到并等待处理
- 系统必须采用一种调度策略,使能按最佳执行要访问的每个请求,这叫做驱动调度
- 驱动调度能减少为若干输入输出请求服务所需的总时间,从而提高系统的效率
磁盘设备管理
-
1、磁盘的结构
- 一般分类:硬盘、软盘、单片盘、多片盘固定头磁盘、多片盘移动头磁盘
- 固定头磁盘:是指每一条磁道都有一个读写头
- 移动头磁盘:每个盘只有一个读写磁头,每执行一次盘操作都需先移动磁头,使其对准要找的磁道,这称为寻找操作
- 操作系统中所说的磁盘,由若干盘片所组成的磁盘迭,各盘片均安装在一个高速旋转的枢轴,读写头安装在移动臂上,臂移动可沿盘半径方向移动
- 硬盘通常由一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外援的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。
- 磁盘上的每个磁道被等分为若干个弧段,这些弧段称为磁盘的扇区,每个扇区存放512字节的信息
- 硬盘容量=柱面数X磁头数X扇区数X512B
-
2、磁盘物理记录访问的三个参数
- 柱面号
- 磁头号
- 扇区号
-
3、扇区是磁盘存储和传送信息的基本单位
- 由物理扇区号表示的扇区称为逻辑扇区
- 逻辑扇区用于操作系统对扇区的管理
- 每个磁道的扇区数为S, 每个柱面的磁道数是T, 柱面号为i, 磁头号为j, 扇区号为k的物理扇区转换为逻辑扇区号 b = k + S*(T*i+j)
-
4、磁盘的访问
-
1、寻道时间Ts
- 把磁臂移动到指定磁道上所经历的时间
-
2、旋转延迟时间
- 指定扇区移动磁头所经历的时间
-
3、传输时间
- 把数据从磁盘读出或者向磁盘写入数据所经历的时间
-
-
5、磁盘引臂的调度算法
-
1、先来先服务FCFS
- 谁先来就先处理谁
-
2、最短查找时间优先 SSTF
- 总是先执行查找时间最短的那个磁盘请求
- 缺点:可能导致饥饿现象
-
3、SCAN算法–电梯调度算法
- 磁头双向移动
- 磁臂每次只按一个方向移动,扫过所有的柱面,遇到请求就处理,直到最后一个柱面,再向相反方向移动回来
-
4、循环扫描(CSCAN)算法
- 磁头单向移动
- 磁盘臂每次只沿一个方向移动,扫过所有的柱面,遇到最近的I/O请求便进行处理,直到最后一个柱面,磁头立即返回到最里欲访问的磁道,亦将最小磁道号紧接着最大磁道号构成循环进行扫描
-
5、N-Step-SCAN
- N步SCAN算法是将磁盘请求队列分成若干长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列
- 解决磁臂黏着现象
-
6、FSCAN算法
-
XMind - Trial Version
标签:06,28,扇区,磁道,2021,缓冲区,磁盘,CPU,设备 来源: https://blog.csdn.net/m0_46160970/article/details/118296583
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。