一.I/O系统

JCB是作业控制表(批处理系统)

I/O 系统的组成: I/O设备设备控制器I/O通道*总线及相应软件

打印机,磁带是顺序存取,而磁盘是直接存取的存储设备

I/O分为系统设备和用户设备
1.I/O设备

注:键盘显示终端不是存储设备
输入输出设备也叫外设
网卡,音箱也是共享设备


数据传输,低速以字符为基本单位,中速以字符为基本单位,高速设备以块为基本单位

2.设备控制器

(设备控制器可以有多个地址)

设备控制器(统一编址方式)间接管理设备
是处于CPU与I/O设备之间的接口,接收CPU发来的命令,并控制I /O设备工作,是一个可编址设备。
功能:接收和识别命令实现数据交换了解设备状态以及识别设备地址

设备控制器的组成
1)设备控制器与处理机的接口
2)设备控制器与设备接口
3)I/O逻辑(状态)

寄存器:控制寄存器(存放命令及参数)、数据寄存器(存放数据)、状态寄存器(记录设备状态).


三大总线:地址总线,控制总线,数据总线
数据线—磁盘是双向的,控制线是单向的,状态线(最重要的是缺数据状态)

数据寄存器与设备的缓存···
主机与设备也是通过数据寄存器
(中断状态寄存器填值)
3.I/O通道
(专门做输入输出)通道是cpu?

根据信息交换方式的不同,通道可分成以下几种类型:

1)字节多路通道
(大量低速,并行单位字节,轮询)

其工作原理: 数据传送是按字节交叉方式工作。
1)有一个主通道。
2)含有多个子通道A、B、C……
3)每子通道通过一控制器与一台中/低速的I/O设备相连,可同时发行向主通道传数据。
4)各子通道以时间片轮转方式按字节交叉使用主通道。
优点:可连多台中/低速设备;能分时并行操作。
缺点:传输率较低。

2)数组选择通道

(少量高速,独占性,单位数组块)

数据传送是按成组方式进行工作,每次传输一批数据。主要用于连接高中速I/O设备。
1)有一个主通道
2)含有多个子通道A、B、C……
3)每子通道通过一控制器与一台中/高速的I/O设备相连,在一段时间内只能选择一个子通道程序执行。
优点:可连多台高中速设备;传输率较高
缺点:某子通道不传数据,而使主通道闲置,其它子通道也不能传数据。所以通道的利用率很低

3)数组多路通道

(复杂高中低速,轮询,单位数据块)

数据传送仍是按数组方式工作。
工作原理(结合两者:并发+数组
1)有一个主通道
2)含有多个子通道A、B、C……
3)每子通道通过一控制器与一台高/中/低速的I/O设备相连,可同时并发向主通道传数据。
4)各子通道以时间片轮转方式按数组方式使用主通道。
优点:可连多台高/中/低速设备;能分时并行操作,传输率较高

注:“瓶颈”问题(用多通路方式来解决)


4.I/O系统的总线系统
5.I/O系统的结构

cpu和存储器之间有三大总线
二.I/O控制方式

若要调整中断事件的相应顺序可以利用中断屏蔽
(只有第一种没有中断,后三种都是基于中断的)
常用的输入/输出控制方式:
1、程序控制方式

2、中断控制方式(并行)(中低速设备)

两种中断:
1.外中断-I/O(设备出错,数据传输结束)
2.内中断-cpu

中断类型寄存器-(表)-中断向量表
中断矢量-中断处理程序入口地址
引起中断的事件称为中断源
中断控制方式—一个字节一次中断
通道控制方式—执行完一个通道指令一次中断

1)需数据的进程向CPU发出指令启动I/O设备输入数据
2)该进程放弃处理机,等待输入完成。
3)输入完成后,I/O控制器向CPU发出中断请求,CPU收到后,转向中断服务程序。中断服务程序将数据输入寄存器中的数据送指定内存单元,并将原进程唤醒,继续执行。
4)在以后,该进程再被调度,从内存单元取出数据进行处理。
优点—CPU利用率大大提高(可以与I/O设备并行工作)。
缺点—若中断次数较多将耗去大量CPU处理时间。

3、直接存储器访问DMA方式

1)需数据的进程向CPU发出指令,向DMA控制器写入数据存放的内存始址、传送的字节数,并置中断位和启动位,启动I/O设备输入数据并允许中断。
2)该进程放弃处理机等待输入完成,处理机被其它进程占据。
3)DMA控制器(磁盘控制器)采用挪用存储器周期,将一批数据写入内存中。
4)DMA控制器传送完数据后,向CPU发中断请求,CPU响应后转向中断服务程序唤醒进程,并返回被中断程序。
5)在以后该进程再被调度,从内存单元取出数据进行处理。
优点—CPU利用率进一步提高(并行度有所提高)。
缺点—数据传送方向、字节数、内存地址等需由CPU控制,且每一设备需一台DMA控制器,设备增多时,不经济

4、通道控制方式

1)需数据的进程向CPU发出指令,CPU发启动指令指明I/O操作、设备号和对应的通道。
2)该进程放弃CPU等待输入完成,CPU被其它进程占据。
3)通道接收到CPU发来的启动指令后,取出内存中的通道程序执行,控制设备将数据传送到内存指定区域
4)传送完数据后,通道向CPU发中断请求,CPU响应后转向中断服务程序唤醒进程,并返回被中断程序
5)在以后该进程再被调度,从内存取出数据进行处理。
优点—一个通道可控制多设备所需CPU干预更少CPU利用率较高并行度较高)。
缺点:通道价格较高

三.缓冲管理

1、提高处理机与I/O设备的并行工作的技术:
1) 数据传送控制方式2) 缓冲技术
2、操作系统中,引入缓冲的主要原因
1)缓冲CPU与I/O设备间速度不匹配的矛盾。
2)减少中断CPU的次数
3)提高CPU与I/O设备的并行性
3、缓冲实现方法两种:
1)采用硬件缓冲器实现
2)用软件缓冲区来实现(软缓冲用内存)

缓冲就是用来对数据传送速度不同的设备的传送速度进行匹配/缓冲的一种常用手段。其实现方法除在关键地方可采用硬件缓冲器外,大都采用软件缓冲来实现。软件缓冲区是指在I/O操作期间,专门用来临时存放输入/输出数据的一块存储区域。

4、缓冲技术的分类
单缓冲 双缓冲(计算题必考)
循环缓冲 缓冲池





R-空缓冲区
G-满缓冲区
Nexti-当前可放-》自+1当前变为下一个空缓冲区current
Nextg->当前可取-〉自+1下一个满缓冲区current

输入:get-空-收容输入-put(输出从空考试相反的)
计算:get-装满输入-提取输入-put-空-get-空-收容输出-put-装满输出





磁盘上有输入井输出井

四.设备分配

●设备分配中的数据结构

1)设备控制表DCT(device control table)
2)控制器控制表COCT(controller control table)
3)通道控制表CHCT(channel control table)
4)系统设备表SDT(system device table)

●设备分配的策略/应考虑的因素

1、设备的使用性质/固有属性
独享分配 、共享分配、虚拟分配)
2、设备分配算法
先请求先服务优先级高者优先
3、设备分配的安全性防止进程死锁,考虑互斥共享)
4、设备独立性:是指用户在编制程序时所用的设备(逻辑)与实际使用的设备无关 (重定向-LUT表)

● 设备独立性

1)设备独立性概念(设备无关性
为提高OS的可适应性和可扩展性,而将应用程序独立于具体使用的物理设备
2)设备独立性的实现
逻辑设备(应用程序)和物理设备(执行)
·设备分配时的灵活性
·易于实现I/O重定向
3)设备独立性软件
·执行所有设备的公有操作
·向用户层(文件层)软件提供统一的接口(也就是三大系统调用)
4)逻辑设备名到物理设备名映射的实现
逻辑设备表LUT(Logical Unit Table)
5)LUT设置问题
整个系统设置一张LUT ;每个用户设一张LUT
6)I/O重定向(设备独立性)(LUT表)
指用于I/O操作的设备可以更换,即重定向,而不必改变应用程序。
7)所有设备的公有操作
独立设备的分配与回收;将逻辑设备名映射为物理设备名;对设备进行保护(禁直访);缓冲管理;差错控制。

●设备分配程序

1)基本的设备分配程序
·分配设备
·分配控制器
·分配通道
·问题(“瓶颈”)
··进程以物理设备名来提出I/O请求
··采用的是单通路的I/O系统结构
2)设备分配程序的改进
·增加设备的独立性(进程以逻辑设备名来提出I/O请求)
·考虑多通路情况



●SPOOLING技术/联机输入输出方式(虚拟打印机)-磁盘

脱机输入、输出技术
为了缓和CPU的高速性与I/O设备的低速性间矛盾而引入,该技术在外围控制机的控制下实现低速的I/O设备与高速的磁盘之间进行数据传送。

使用I/O的三类进程:输入进程,输出进程,计算进程

在多道程序下,用一程序来模拟外围控制机,实现将数据从磁盘传送到低速的输出设备上,从而可在主机的直接控制下,实现脱机输入、输出功能,进而实现外围操作与CPU对数据处理的并行操作,这种在联机情况下实现的同时外围操作称为SPOOLING技术,是对脱机输入、输出工作的模拟,是操作系统中采用的一项将独占设备改造成为共享设备的技术。

也就是说进程代替了输入输出外围机

SPOOLING系统的特点
1)提高了I/O速度
2)将独占设备改造为共享设备
3)实现了虚拟设备功能

在操作系统中,引入虚拟设备的原因
引入虚拟设备是为了克服独占设备速度较慢、降低设备资源利用率的缺点,从而提高设备的利用率

虚拟设备
是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户进程使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。

五.设备处理

前面的死锁提到过设备分配

1.设备驱动程序的功能和特点

1)将接收到的抽象要求转换为具体要求。
2)检查用户I/O请求的合法性,I/O设备状态传参数,设设备的工作方式。
3)按处理机的I/O请求去启动指定的设备进行I/O操作
4)及时响应由控制器或通道发来的中断请求,并进行相应处理
5)按I/O请求构成相应通道程序

2.设备处理方式(驱动设备)

1)为每一类设备设置一进程,专门执行其I/O操作。
2)在整个系统中设置一个进程,执行所有的I/O操作。
3)不设置专门的设备处理进程,而为各类设备设置相应的设备驱动程序。—微内核(服务器进程)

3.设备驱动程序的特点

1)是请求I/O的进程与设备控制器之间的一个通信与转换程序。
2)与I/O设备的特性紧密相关
3)与I/O控制方式紧密相关
4)与硬件紧密相关,因而其中一部分程序必须用汇编语言编写

4.设备驱动程序的的处理过程

1)将接收到的抽象要求转换为具体要求。
2)检查用户I/O请求的合法性
3)读出和检查 I/O设备状态
4)传送必要参数
5)设置设备的工作方式。
6)按处理机的I/O请求去启动指定的设备进行I/O操作。

5.中断处理程序的处理过程

1)唤醒被阻塞的驱动程序进程
2)保护被中断进程的CPU环境
3)分析中断原因、转入相应的设备中断处理程序
4)进行中断处理
5)恢复被中断进程的现场

六.磁盘存储器管理

(大多都是机械磁盘)

提高磁盘I/O速度的主要途径:
(1)选择性能好的磁盘
(2)采用好的磁盘调度算法
(3)设置磁盘高速缓存(Disk Cache)
(4)其它方法
(5)采用高度可靠、快速的容量磁盘系统_____谦价磁盘冗余阵列

1.磁盘性能

1)磁盘性能简述
磁盘结构、磁道、柱面、扇区、磁盘格式化
磁盘物理块的地址: 柱面号 磁头号 扇区号
磁盘类型(固定头磁盘、移动头磁盘)
2)访问时间
寻道时间(最慢):将磁头从当前位置移到指定磁道所经历时间
旋转延迟时间:指定扇区移动到磁头下面所经历时间
传输时间:将扇区上的数据从磁盘读出/向磁盘写入数据所经历的时间。




扫描算法又叫电梯算法



3.设置磁盘高速缓存(Disk Cache)

目前,由于磁盘的I/O速度远低内存的访问速度,而致使磁盘的I/O成为计算机系统的瓶颈。为提高磁盘的I/O速度,便采用磁盘高速缓存

1)磁盘高速缓存的形式

磁盘高速缓存是指内存中的一部分存储空间,用来暂存从磁盘读出的一系列盘块中的信息。所以它是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块

磁盘高速缓存的形式
··内存中单独的存储空间(大小固定)
··未利用的存储空间__缓冲池(大小不固定)

2)数据交付方式

是指磁盘高速缓存中的数据传送给请求者进程。系统采取两种方式,将数据交付给请求进程:
数据交付系统直接将磁盘高速缓存中的数据传送到请求者进程的内存工作区。
指针交付只将指向磁盘高速缓存中该数据的指针,交付给请求者进程。

3)置换算法

在将磁盘中的盘块读入到磁盘高速缓存中时,若因磁盘高速缓存已满,则采用常用的算法进行置换:
··最近最久未使用算法LRU
··最近未使用算法NRU
··最少使用算法LFU
置换时除算法外还应考虑的问题
··访问频率(抖动)
··可预见性(空间局部性)
数据的一致性 ___解决方法将系统中所有盘块数据,拉成一条LRU链,对将会严重影响到数据一致性的数据和很久都可能不再使用的盘块数据, 放在LRU头部,到时优先写回磁盘。

4)周期性地写回磁盘

系统中所有盘块数据,拉成一条LRU链,对将会严重影响到数据一致性的数据和很久都可能不再使用的盘块数据, 放在LRU头部,到时才优先写回磁盘。若经常访问的数据将一直保留磁盘高速缓存中,长期不会被写回磁盘,若系统出故障,则存在磁盘高速缓存中的数据将丢失。

问题解决
·周期性地将磁盘高速缓存中的数据写回磁盘。
·磁盘高速缓存中的数据若修改,则立即写回磁盘。

4.提高磁盘I/O速度的其它方法

1)提前读(Read_Ahead)
由于用户对文件的访问常用顺序方式,在读当前块时,可预知下一次要读的盘块,所以,可采用预先读方式,即在读当前块的同时,连同将下一块提前读入缓冲。当访问下一块数据时,其已在缓冲中,而不需去启动磁盘I/O。
2)延迟写
在缓存中的数据,本应立即写回磁盘,考虑不久之后可能会再用,故不立即写回磁盘。
3)优化物理块的分布(对换区)
使磁头移动的距离最小(优化物理块的分布、优化索引结点的分布)。
4)虚拟盘
利用内存去访真磁盘,又称为RAM盘。(与磁盘高速缓存的区别:RAM盘中的内容由用户控制,而缓存中的内容则由OS控制)

5.谦价磁盘冗余阵列(RAID)
(基于字节交叉)

是1987年由美国加利福尼来大学伯莱分校提出的,1988年问世,即利用一台磁盘陈列控制器,来统一管理和控制一组磁盘驱动器,组成一个高度可靠的、快速的大容量磁盘系统

1)并行交叉存取

为提高磁盘的访问速度而在大、中型机中采用的交叉存取技术,即在一个配置多台磁盘驱动器的系统中,如P201页图5-29所示。系统将每一盘块的数据分成若干个子盘块数据,再把每一个子盘块的数据分别存储到各个不同磁盘中的相同位置上,在以后,当要将一个盘块的数据传送到内存时,采取并行传输方式,将该盘块中的各个子盘块数据同时向内存传输,从而使传输时间大大减少。

2)RAID的分级

RAID 0级本级仅提供了并行存取技术,无冗余校验功能,至使磁盘系统的可靠性不好,故较少使用。
RAID 1级本级具有磁盘锁像功能,即每次访问磁盘时,采用并行技术将数据同时主盘(数据盘)和磁盘镜像盘中。磁盘系统的可靠性好,但磁盘利用率不高。
RAID 3级本级采用并行存取技术,增加了冗余校验功能,即用一个盘作校验盘,常用科学计算和图像处理。
RAID 5级本级具有独立传送功能,各磁盘驱动器可独立读、写,校验信息在所有盘上,常用于I/O较频繁的事务处理中。
RAID 6级本级设置了一个专用的、可快速访问的异步校验盘,该盘具有独立的数据访问通路。
RAID 7级本级是对RAID 6级的改进,所有磁盘均具有较高的传输速率和优异的性能,是目前最高档次的磁盘阵列 。

3)RAID的优点

可靠性高是RAID 的最大优点(除RAID 0 级外)

磁盘I/O速度高
由于RAID 可采用并行交叉存取方式,故提高了磁盘I/O速度。

性能/价格比高
用RAID技术实现大容量存储器时,与大型磁盘系统相比,其体积和价格只是它的1/3,且可靠性高。

计算机系统之设备管理相关推荐

  1. 计算机系统基础:设备管理采用的相关技术知识笔记

    1.通道技术 设备管理的通道技术是为了数据传输可以独立于CPU,让CPU从繁琐的I/O工作中解脱出来.设置通道后,CPU.只需要向通道发I/O指令,通道接收到指令后,从主存中取出本次要执行的通道程序并 ...

  2. 设备管理是对计算机什么的系统管理,什么是指对计算机系统所有的外部设备的管理...

    设备管理是指对计算机系统所有的外部设备的管理.设备管理是以设备为研究对象,追求设备综合效率,应用一系列理论.方法,通过一系列技术.经济.组织措施,对设备的物质运动和价值运动进行全过程的科学型管理. 本 ...

  3. 假设计算机系统采用C-SCAN,设备管理习题汇编.docx

    设备管理习题汇编 设备管理习题一.单项选择题1.磁盘是可共享设备,因此每一时刻( )作业启动它.A.可以由任意多个B.能限定多个C.至少能由一个D.至多能由一个2.存放在磁盘上的文件( ).A.既可随 ...

  4. 计算机系统精品教程,_《计算机操作系统教程》课程教学课件(精品) 设备管理(88P).pdf...

    _<计算机操作系统教程>课程教学课件(精品) 设备管理(88P).pdf 第8章 设备管理 §8.1 引言 §8.2 数据传送控制方式 §8.3 中断技术 §8.4 缓冲技术 §8.5 设 ...

  5. 计算机系统基础:设备管理知识笔记

    1.设备管理介绍 设备管理主要包括设备分配.缓冲区管理.实际物理I/O设备操作.通过管理提高设备利用率和方便用户使用的目的. 设备属于计算机系统和外界交互的工具,不要负责计算机和外部的输入/输出工作, ...

  6. 操作系统学习笔记 第六章:设备管理(王道考研)

    本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...

  7. 界面 高炉系统_浅议工业互联网与传统计算机系统的关系

    导读:大型工业企业的内部是工业互联网的重要应用场景之一,计算机和网络在先进的大型工业企业应用和发展了几十年的时间.建设工业互联网系统的新意何在?与已有系统之间的关系应该如何处置? 一.典型计算机系统回 ...

  8. 2020-12-5(操作系统---设备管理)

    文章目录 I/O 系统 I/O 设备 设备与控制器之间的接口 设备控制器 I/O通道(I/O Channel) 总线系统 I/O 控制方式 程序I/O(Programmed I/O)方式 中断驱动(I ...

  9. 独占设备的分配和回收模拟_系统设计硬核知识(4)——操作系统的设备管理...

    在计算机系统中,除了处理器和内存之外,其他的大部分硬设备称为外部设备.它包括输入/输出设备,辅存设备及终端设备等.这些设备种类繁多,特性各异,操作方式的差异很大,从而使操作系统的设备管理变得十分繁杂. ...

最新文章

  1. CodeSalt | Python数据结构的实现 — 链表
  2. 一款Octopress插件用于同步博客到其他站点
  3. [POJ 1003] Hangover C++解题
  4. 云计算运维累不累_关于云计算运维管理要点的知识分享
  5. 操作多个表_1_记录集的叠加
  6. C# 中的回车换行符 表示
  7. .NET Conf 2019 大会上发布.NET Core 3.0
  8. TensorFlow 基本操作
  9. Pandas数据类型及操作
  10. WPF Bind 绑定
  11. 用VAE(variational autoencoder)做sentence embedding/representation或者其他任何结构数据的热presentation...
  12. html 如何在按钮中加字,html button标签 语法
  13. 双目立体匹配之代价聚合
  14. 京东(保险)部门直推面经
  15. 1-selenium-安装及模拟谷歌邮箱登录
  16. macbook M1 brew install失败
  17. 计算机组装与维护论文 致谢,计算机组装与维护—计算机应用毕业论文.doc
  18. 【得物技术】机器学习在图形验证码识别上的应用
  19. 二维码图片如何快速生成
  20. 会议室预定小程序[叮当会议]

热门文章

  1. 【简单算法】47.帕斯卡三角形
  2. 一文带你理解前后端分离本质
  3. 年薪50万以上的人,一般都是什么学历?怎么才能做到年薪50W?
  4. 最强朋友圈展示面配文
  5. AI智能营业厅视频监控解决方案
  6. React之官网首页篇
  7. 强大的抓包工具 Fiddler Web Debugger v5.0 中文破解版
  8. 制作京东快报页面html,仿京东快报.html
  9. 联想电脑linux系统还原,联想怎么一键还原_一键还原电脑系统的通用方法 - 驱动管家...
  10. 基础练习 数的读法(Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。   比如说,在对学生讲解第1)