6输入输出系统——I/O系统

I/O系统的组成:

需要用于输入、输出和存储信息的设备;

需要相应的设备控制器;

控制器与CPU连接的高速总线;

有的大中型计算机系统,配置I/O通道;

关于设备管理

管理对象:

I/O设备和相应的设备控制器(I/O系统组成)

基本任务:

完成用户提出的I/O请求,

提高I/O速率、改善I/O设备的利用率。

为更高层进程方便使用设备提供手段

1.I/O系统的功能、模型和接口

1)主要功能:

隐藏物理设备细节,方便用户

用户使用抽象的I/O命令即可

实现设备无关性,方便用户

用户可用抽象的逻辑设备名来使用设备,同时也提高了OS的可移植性和易适应性。

提高处理机和设备的并行性,提高利用率:缓冲区管理

对I/O设备进行控制:控制方式、设备分配、设备处理

确保对设备正确共享:虚拟设备及设备独立性等

错误处理


中断处理程序 处于I/O系统的底层,直接与硬件进行交互 设备驱动程序 处于次底层,是进程和控制器之间的通信程序 功能:将上层发来的抽象I/O请求,转换为对I/O设备的具体命令和参数,并把它装入到设备控制其中的命令和参数寄存器中 设备独立性软件 包括设备命名、设备分配、数据缓冲等软件 

I/O系统接口:块设备接口、流设备接口、网络通信接口

2.I/O设备和设备控制器

I/O设备的类型繁多,从OS的观点,按其重要的性能指标进行分类如下:

按传输速率分类:

低速、中速、高速(键盘、打印机、磁盘)

使用:存储设备、输入输出设备

按信息交换的单位分类:

块设备:有结构、速率高、可寻址、DMA方式控制

字符设备:无结构、速率低、不可寻址、中断方式控制

I/O通道

主要目的:

建立更独立的I/O操作,解放CPU。

数据传送的独立

I/0操作的组织、管理及结束处理也尽量独立。

实际上I/O通道是一种特殊的处理机:

指令类型单一,只用于I/O操作;

通道没有内存,它与CPU共享内存

3.中断机构和中断处理程序


4.设备驱动程序

 I/O控制方式:
程序I/O方式

中断驱动I/O方式

直接存储器访问DMA(字节—块)

I/O通道控制方式(组织传送的独立)

宗旨:减少主机对I/O控制的干预,将CPU从繁杂的I/O控制事物中解脱出来。

5.用户层的I/O软件

SPOOLing系统的组成

主要有三大部分(如下页图)

输入井和输出井:磁盘上开辟两大存储空间。输入井模拟脱机输入的磁盘设备,输出井模拟脱机输出时的磁盘。

输入缓冲区和输出缓冲区:为缓解速度矛盾,内存中开辟两大缓冲空间,输入缓冲区暂存输入设备送来的数据,再送给输入井;输出缓冲区暂存输出井送来的数据,再送输出设备。

输入进程和输出进程。

用一进程模拟脱机输入时外围设备控制器的功能,把低速输入设备上的数据传送到高速磁盘上;

用另一进程模拟脱机输出时外围设备控制器的功能,把数据从磁盘上传送到低速输出设备上。

特点:

提高了I/O的速度。利用输入输出井模拟成脱机输入输出,缓和了CPU和I/O设备速度不匹配的矛盾。

将独占设备改造为共享设备。并没有为进程分配设备,而是为进程分配一存储区和建立一张I/O请求表。

最终,实现了虚拟设备功能。多个进程可“同时”使用一台独占设备。

6.缓冲区管理

引入缓冲区的主要原因:

缓和CPU与I/O设备间速度不匹配的矛盾。

缓冲区数据成批传入内存,也可进一步减少对CPU的中断频率

最终目的:提高CPU和I/O设备的并行性。

使用缓冲区的方式:1)单缓冲、多缓冲2)循环缓冲3)缓冲池(Buffer Pool)

1)单缓冲与多缓冲

OS在主存中为之分配一个缓冲区。

CPU和外设轮流使用,一方处理完后等待对方处理。

双缓冲(Double Buffer)

两个缓冲区,CPU和外设不再针对一块交替

可能实现连续处理无需等待对方。前提是CPU和外设对一块数据的处理速度相近。而如下图情况CPU仍需等待慢速设备。

循环缓冲(circular buffer)

设置多块缓冲区

用循环结构组织,只供两个相关进程使用

顺一个方向放入或取出

缓冲池(Buffer Pool)

为提高缓冲区的利用率,目前广泛流行缓冲池,在池中设置多个可供若干个进程共享的缓冲区

组织形式:队列及队列指针

组成:

对于既可输入又可输出的公用缓冲池,至少应含有下列三种类型的缓冲区:

空缓冲区;

装满输入数据的缓冲区;

装满输出数据的缓冲区;

为方便管理,将上述类型相同的缓冲区连成队列

空缓冲区队列(所有进程都可用)

输入队列(n个进程有各自的队列)

输出队列(n个进程有各自的队列)

(队列长度不固定,根据进程实际情况灵活变动,需要多少用多少)

缓冲池:可双向缓冲;缓冲区整体利用率高。

7.磁盘存储器的性能和调度

1)磁盘调度方法

对所有请求访问磁盘的进程进行合理调度,使对磁盘的平均访问时间最小。

目标:使平均寻道时间最少。

算法:

FCFS:多个进程的磁盘I/O请求构成一个随机分布的请求队列。

磁盘I/O执行顺序按磁盘请求的先后顺序。

最短寻道时间优先SSTF:选择从当前磁头位置出发移动最少的磁盘I/O请求

使每次磁头移动时间最少。

不一定是最短平均柱面定位时间,但比FIFO算法有更好的性能。

对中间的磁道有利,但可能会有进程处于饥饿状态(I/O请求总不被执行)。

扫描算法SCAN(磁盘电梯调度算法):

规定磁头移动方向:自里向外,再自外向里移动。

后续的I/O磁道请求,哪个在规定方向上距离最近,就先执行哪个。

循环扫描算法CSCAN:

将SCAN规定的移动方向改为“单向移动”

由里向外后,再由里向外。

N-Step-SCAN算法:“磁臂粘着”——磁头静止在一个磁道上,导致其它进程无法及时进行磁盘I/O。(因:高密度盘,进程的读写可能集中在某一磁道)

FSCAN算法:

请求队列只分为两个子队列

当前一个队列,按SCAN算法执行;

扫描期间新生成的组成一个队列,等待被扫描。


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容

  • 在评估问题和意见时,一定更要把人与他所提出的见解分开。 前段时间,一位自媒体大咖去大学做演讲,结果演讲做完,学生很...
    大嘴堂阅读 601评论 1 2
  • 杂记: 时间过得真快,一晃眼已经是晚上六七点;今天白天完成学习任务(1小时),下午处理一些商务事务、回复客户邮件、...
    书桌前一天阅读 207评论 0 0
  • 算了吧 还记得街口的那次相遇吗 你一身白裙 披着长发 笑声不停 让我至今牵挂 从那以后 你就在我的心里住下 我们一...
    你的眼神出卖你的心阅读 564评论 4 0