操作系统---磁盘管理、设备管理

目录

磁盘的结构

磁盘调度

磁盘读写的时间

 磁盘调度算法

先来先服务算法(FCFS)

 最短寻找时间优先算法(SSTF)

 扫描算法(电梯算法、SCAN)

Look调度算法

循环扫描算法(C-SCAN)

减少磁盘的延迟时间 

交替编号

 错位命名

 磁盘管理

磁盘初始化

引导块(启动块)

坏块管理

 I/O设备

I/O控制器

 I/O控制方式

程序直接控制方式

中断驱动方式

DMA方式

DMA 方式

通道控制方式

 I/O软件层次

 用户层的I/O软件

 设备独立性软件

 设备驱动程序  

中断处理程序

假脱机系统(SPOOLing)

 设备分配

缓冲区管理

磁盘是外存设备,可以用来存储信息,空间大,但是比起内存来说读取速度慢,断电后数据也不会消失

磁盘的结构

磁盘的表面是磁性物质,可以记录二进制数据

一个磁盘的磁片,会被划分为一个个的磁道(同心圆)

一个磁道又被划分为扇区,每个扇区存放数据的多少是相同的,这个扇区称为磁块

操作系统---磁盘管理、设备管理_第1张图片

最内侧的扇区,面积小,但是存储的数据和别的扇区一样多,因此数据密度最大

磁盘信息的读取:依靠磁头臂带动磁头运动,磁头运动到目标磁盘块所在的磁道上,然后磁盘会转动,让目标磁块在磁头下划过,从而完成信息读取或者写入

盘面,柱面

操作系统---磁盘管理、设备管理_第2张图片

所以,一个磁盘块的物理地址定义为(柱面号,盘面号,扇区号)

磁盘分类:

1、根据磁盘是否可以更换分为:固定盘磁盘和可换盘磁盘

2、根据磁头是否可以移动分类:

操作系统---磁盘管理、设备管理_第3张图片

磁盘调度

磁盘读写的时间

寻找时间(寻道时间):磁头找到指定磁道的时间;分为两部分:1、启动磁头臂的时间2、磁头在盘面上移动到指定磁道的时间

延迟时间:通过旋转磁盘,让指定的磁盘块在磁头下划过

传输时间:磁盘读写的时间

操作系统---磁盘管理、设备管理_第4张图片

 磁盘调度算法

先来先服务算法(FCFS)

根据请求顺序执行,依次访问

操作系统---磁盘管理、设备管理_第5张图片

 最短寻找时间优先算法(SSTF)

选择离当前磁头最近的访问

操作系统---磁盘管理、设备管理_第6张图片

 扫描算法(电梯算法、SCAN)

磁头只有移动到最外侧,才可以向内移动

操作系统---磁盘管理、设备管理_第7张图片

Look调度算法

 电梯算法要求:磁头只有移动到最外侧,才可以向内移动,Look调度算法对其优化,只要没有访问请求了,就可以向内移动

操作系统---磁盘管理、设备管理_第8张图片

循环扫描算法(C-SCAN)

 操作系统---磁盘管理、设备管理_第9张图片

减少磁盘的延迟时间 

磁盘读写数据之后会需要一小段时间来处理,这就会造成连续读取的问题

例如:磁盘访问连续的1,2,3磁盘块,由于访问1结束之后,需要一小段时间来处理,那么2就无法访问,就必须等待磁盘重新转动一轮后访问

为了解决这个问题,尽量的不让逻辑上相邻的磁盘块在物理上也相邻

交替编号

操作系统---磁盘管理、设备管理_第10张图片

 错位命名

磁盘的柱面结构,两个磁盘的磁盘号不要对应

因为所有磁面是一起连轴转的,而磁盘读写数据之后会需要一小段时间来处理,磁盘之间扇区编号一致的话,也会存在必须等待磁盘重新转动一轮后才可以访问的问题

操作系统---磁盘管理、设备管理_第11张图片

 磁盘管理

磁盘初始化

第一步:物理初始化,划分扇区,一个扇区包括三个部分:头,数据区域,尾

操作系统---磁盘管理、设备管理_第12张图片

第二步:磁盘分区

操作系统---磁盘管理、设备管理_第13张图片

第三步:逻辑格式化:创建文件系统

引导块(启动块)

电脑开机时,要进行一系列的初始化,这些初始化程序称之为自举程序

一部分自举程序放在只读寄存器(ROM)中,ROM集成在主板上

大部分自举程序放在磁盘的引导块中,引导块位于磁盘的固定位置

电脑开机时,先执行ROM的自举程序,根据这个程序找到引导块位置,加载引导块的自举程序进入内存,完成初始化

坏块管理

坏掉的磁盘扇区,属于硬件故障,要将这个坏块位置标注出来,不给予分配

操作系统---磁盘管理、设备管理_第14张图片

 I/O设备

I/O就是input和output,也就是输入、输出

I/O设备就是输入或者输出数据的设备,例如鼠标,键盘,显示器……

人机交互类设备:鼠标,键盘,显示器,数据传输慢

存储设备:U盘,光盘等 数据传输快

网络通信设备:路由器,光猫等 数据传输均衡

I/O控制器

I/O设备由机械部件和电子部件(I/O控制器)构成

操作系统---磁盘管理、设备管理_第15张图片 CPU无法控制I/O设备的机械部件,CPU只能通过I/O设备的电子部件来实现控制I/O设备

 I/O控制器的功能

操作系统---磁盘管理、设备管理_第16张图片

 I/O控制器的结构

  • 与主机交互
    • (记录设备状态)状态/控制寄存器
    • (数据交换)数据缓冲寄存器
    • (接受命令)地址译码和 I/O 控制逻辑 
  • 与设备交互
    • 外设接口控制逻辑

操作系统---磁盘管理、设备管理_第17张图片

 寄存器编址

操作系统---磁盘管理、设备管理_第18张图片

 I/O控制方式

程序直接控制方式

1、完成一次读写操作的过程

第一步:CPU向I/O控制器发出读指令,于是I/O控制器控制对应设备启动,设备的状态寄存器设置为1(忙碌或者未就绪)

第二步:设备准备输入的数据,这期间CPU就会一直循环检查状态位,等待设备输入完成(轮询方式)

第三步:设备数据准备完成,将数据提交给I/O控制器,并报告自身状态

第三步:I/O控制器将数据放置到数据寄存器中,并修改设备的状态寄存器成为0

第四步:CPU读取数据寄存器内容,CPU读入自己的数据寄存器,后CPU将自己的数据寄存器的数据放入内存

CPU干预频率很大(轮询检查)

操作系统---磁盘管理、设备管理_第19张图片

中断驱动方式

  1. 处理器向控制器发出 I/O 命令,然后继续执行后续指令。
  • 如果该进程支持异步 I/O,则继续执行该进程。
  • 否则,进程在这个中断点挂起,CPU 执行其他程序。
  1. 控制器检查设备状态,就绪后发起中断。
  2. CPU 响应中断,转向中断处理程序。
  3. 中断处理程序执行数据读写操作。
  4. 恢复执行原先程序。

操作系统---磁盘管理、设备管理_第20张图片

DMA方式

4.2.4 DMA 方式

DMA: 直接存储器访问

DMA 模块: 模仿处理器来控制主存和设备控制器之间的数据交换

操作系统---磁盘管理、设备管理_第21张图片

操作系统---磁盘管理、设备管理_第22张图片

通道控制方式

操作系统---磁盘管理、设备管理_第23张图片

 操作系统---磁盘管理、设备管理_第24张图片

操作系统---磁盘管理、设备管理_第25张图片

 I/O软件层次

操作系统---磁盘管理、设备管理_第26张图片

 用户层的I/O软件

  一般而言,大部分的I/O 软件都在操作系统内部,但仍有一小部分在用户层,包括与用户程序链接在一起的库函数,以及完全运行于内核之外的一些程序。

 设备独立性软件

  设备独立性软件是为了应用程序独立于具体使用的物理设备。

  为了实现设备的独立性,系统必须设置一张逻辑设备表(LUT,Logical Unit Table),用于将应用程序中所使用的逻辑设备名映射为物理设备名。在该表的每个表目中包含了三项:逻辑设备名、物理设备名和设备驱动程序的入口地址。LUT 的设置可采取两种方式:第一种方式是在整个系统中只设置一张LUT;第二种方式是为每个用户设置一张LUT。

操作系统---磁盘管理、设备管理_第27张图片

 设备驱动程序  

  设备驱动程序通常又称为设备处理程序,它是I/O 进程与设备控制器之间的通信程序,又由于它常以进程的形式存在,故以后就简称之为设备驱动进程。其主要任务是接收上层软件发来的抽象I/O 要求如read或write命令,在把它转换为具体要求后,发送给设备控制器,启动设备去执行;此外,它也将由设备控制器发来的信号传送给上层软件。设备驱动程序的主要任务是启动指定设备。但在启动之前,还必须完成必要的准备工作,如检测设备状态是否为“忙”等。在完成所有的准备工作后,才最后向设备控制器发送一条启动命令。工作过程如下:

  1. 将抽象要求转换为具体要求;
  2. 检查I/O 请求的合法性;
  3. 读出和检查设备的状态;
  4. 传送必要的参数;
  5. 工作方式的设置;
  6. 启动I/O 设备。

中断处理程序

  中断处理层的主要工作有:进行进程上下文的切换,对处理中断信号源进行测试,读取设备状态和修改进程状态等。

操作系统---磁盘管理、设备管理_第28张图片

 

假脱机系统(SPOOLing)

 通过SPOOLing 技术便可将一台物理I/O 设备虚拟为多台逻辑I/O 设备,同样允许多个用户共享一台物理I/O设备。为了缓和CPU的高速性与I/O 设备低速性间的矛盾而引入了脱机输入、脱机输出技术。SPOOLing 技术是对脱机输入、输出系统的模拟。该技术是利用专门的外围控制机,将低速I/O 设备上的数据传送到高速磁盘上;或者相反。使得此时的外围操作与CPU对数据的处理同时进行。SPOOLing系统必须建立在具有多道程序功能的操作系统上,而且还应有高速随机外存的支持,这通常是采用磁盘存储技术。

操作系统---磁盘管理、设备管理_第29张图片

多道程序的支持 

 操作系统---磁盘管理、设备管理_第30张图片

 共享打印机

操作系统---磁盘管理、设备管理_第31张图片

 设备分配

设备分配的两种方式:

操作系统---磁盘管理、设备管理_第32张图片

 设备管理的数据结构

操作系统---磁盘管理、设备管理_第33张图片

操作系统---磁盘管理、设备管理_第34张图片 

操作系统---磁盘管理、设备管理_第35张图片 操作系统---磁盘管理、设备管理_第36张图片

缓冲区管理

  • 缓冲的引入
    • (4) 提高CPU和I/O设备之间的并行性。
    • (3) 解决数据粒度不匹配的问题。   
    • (2) 减少对CPU的中断频率,放宽对CPU中断响应时间的限制。   
    • (1) 缓和CPU与I/O设备间速度不匹配的矛盾。

操作系统---磁盘管理、设备管理_第37张图片 

  • 单缓冲区和双缓冲区
    • 单缓冲区:在单缓冲情况下,每当用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区
  • 操作系统---磁盘管理、设备管理_第38张图片

双缓冲区:解决生产者和消费者在使用缓冲区时的互斥问题操作系统---磁盘管理、设备管理_第39张图片

循环缓冲区

操作系统---磁盘管理、设备管理_第40张图片缓冲池

 由系统的缓冲区构成

操作系统---磁盘管理、设备管理_第41张图片

 

 

你可能感兴趣的:(操作系统,操作系统)