操作系统知识点整理笔记(五)

  • I/O就是输入/输出(Input/Output)。
  • I/O设备就是可以将数据输入到计算机,或接收计算机输出数据的外部设备,属于计算机中的硬件部件。
    • 输入型设备:鼠标、键盘等。
    • 输出型设备:显示器等。
    • 既可以输入、又可以输出的设备:移动硬盘。
  • Unix系统将外部设备抽象为一种特殊的文件,用户可以使用与文件操作相同的方式对外部设备进行操作。
    • write操作:向外部设备写出数据;
    • read操作:从外部设备读入数据。
  • I/O设备的分类:
    • 按使用特性
      • 人机交互类外部设备:鼠标、键盘、打印机等。作用:用于人机交互。特点:数据传输速度慢。
      • 存储设备:移动硬盘,光盘等。作用:用于数据存储。特点:数据传输速度快。
      • 网络通信设备:调制解调器等。作用:用于网络通信。特点:数据传输速度介于上述两者之间。
    • 按传输速率
      • 低速设备:鼠标、键盘等---传输速率为每秒几个到几百字节。
      • 中速设备:激光打印机等---传输速率为每秒数千至上百万个字节。
      • 高速设备:磁盘等---传输速率为每秒数千字节至千兆字节。
    • 按信息交换的单位分类
      • 块设备:磁盘等---数据传输的基本单位是“块”。特点:传输速率较高,可寻址,即对它可随机地读写人一块。
      • 字符设备:鼠标、键盘等---数据传输的基本单位是字符。特点:传输速率慢,不可寻址,在输入/输出时常采用中断驱动方式。
  • I/O设备由2部分组成:①机械部件:主要用来执行具体的I/O操作;②电子部件(I/O控制器、设备控制器):通常是一块插入主板扩充槽的印刷电路板。
  • I/O控制器(又称为设备控制器):实现CPU可控制I/O控制器。又由I/O控制器来控制设备的机械部件。
I/O控制器的组成
内存映像I/O和 寄存器独立编址的区别
  • I/O控制方式:①程序直接控制;②中断驱动;③DMA方式;④通道控制
程序直接控制方式-轮询
程序直接控制方式-中断
DMA概念
DMA方式
通道控制
I/O软件层次结构
  • 用户层软件:实现了与用户交互的接口,用户可以直接使用该层提供的、与I/O操作相关的库函数对设备进行操作。用户层软件将用户请求翻译成格式化的I/O请求,并通过系统调用请求操作系统内核的服务。
  • 设备独立性软件(又称为设备无关性软件):与设备的硬件特性无关的功能几乎都在这一层实现。主要实现的功能:①向上层提供统一的调用接口(如read/write系统调用);②设备的保护,原理类似与文件保护;③差错处理;④设备的分配与回收;⑤数据缓冲区管理:可通过缓冲技术屏蔽设备之间数据交换单位大小和传输速度的差异;⑥建立逻辑设备名到物理设备名的映射关系:根据设备类型选择调用相应的驱动程序,其实现通过逻辑设备表(LUT,Logical Unit Table)来确定逻辑设备对应的物理设备,并找到该设备对应的设备驱动程序
  • 操作系统可以采用两种方式管理逻辑设备表(LUT)
    • 整个系统只设置一张LUT,这意味着所有用户不能使用相同的逻辑设备名,因此,这种方式只适用于单用户操作系统
    • 为每个用户设置一张LUT,各个用户使用的逻辑设备名可以重复,适用于·多用户操作系统·。系统会在用户登录时为其建立一个用户管理进程,而LUT就存放在用户管理进程的PCB中。
逻辑设备表
  • 不同设备的内部硬件特性也不同,这些特定只有厂家才知道,因此厂家须提供与设备相对应的驱动程序,CPU执行驱动程序的指令序列来完成设置设备寄存器,检查设备状态等工作。
  • 设备驱动程序:主要负责对硬件设备的具体控制,将上层发出的一系列命令(如:read/write)转化成特定设备“能听得懂”的一系列操作,包括设备寄存器,检查设备状态等。注:驱动程序一般会以一个独立进程的方式存在。
中断处理程序
I/O核心子系统
  • 手工操作阶段:主机直接从I/O设备获得数据,由于设备速度慢,主机速度很快,人机速度矛盾明显,主机要浪费很多时间来等待设备。
  • 批处理阶段:引入了脱机输入/输出技术(用磁带完成)。
手工处理阶段
脱机技术
  • 假脱机技术(又称为SPOOLing技术):是用软件的方式模拟脱机技术。要实现SPOOLing技术,必须有多道程序技术的支持。系统会建立“输入进程”和“输出进程”。
SPOOLing系统的组成部分
共享打印机原理分析
  • 设备分配时应考虑的因素:
    • 设备的固有属性,分为3种:
      • 独占设备:一个时段只能分配给一个进程(如打印机)
      • 共享设备:可同时分配给多个进程使用(如磁盘),各进程往往是宏观上同时共享使用设备,而微观上交替使用。
      • 虚拟设备:采用SPOOLing技术将独占设备改造成虚拟的共享设备,可同时分配给多个进程使用(如采用SPOOLing技术实现的共享打印机)。
    • 设备分配算法:先来先服务,优先级高者优先,短任务优先。
    • 设备分配中的安全性,分为2种:
      • 安全分配方式:为进程分配一个设备后就将进程阻塞,本次I/O完成后才将进程唤醒。一个时间段内每个进程只能使用一个设备。
        • 优点:破坏了“请求和保持”条件,不会发生司死锁。
        • 缺点:对一个进程来说,CPU和I/O设备只能串行工作。
      • 不安全分配方式:进程发出I/O请求后,系统为其分配I/O设备,进程可继续执行,之后还可以发出新的I/O请求,只有某个I/O请求得不到满足时才将进程阻塞。一个进程可以同时使用多个设备。
        • 优点:进程的计算任务和I/O任务可以并行处理,使进程迅速推进。
        • 缺点:有可能发生死锁(死锁避免,死锁的检测和解除)
  • 静态分配:进程运行前为其分配全部所需资源,运行结束后归还资源。破坏了请求和保持条件,不会发生死锁。
  • 动态分配:进程运行过程中动态申请设备资源。
  • 设备控制表(DCT):系统为每个设备配置一张DCT,用于记录设备情况。
设备控制表
  • 控制器控制表(COCT):每个设备控制器都会对应一张COCT,操作系统根据COCT的信息对控制器进行操作和管理。
控制器控制表
  • 通道控制表(CHCT):每个通道都会对应一张CHCT,操作系统根据CHCT的信息对通道进行操作和管理。
通道控制表
  • 系统设备表(SDT):记录了系统中全部设备的情况,每个设备对应一个表目。
系统控制表
设备分配的步骤
  • 缓冲区是一个存储区域,可以由专门的硬件寄存器组成,也可利用内存作为缓冲区。使用硬件作为缓冲区的成本较高,容量也较小,一般仅用在对速度要求非常高的场合(如存储器管理中所用的联想寄存器,由于对页表的访问频率极高,因此使用速度很快的联想寄存器来存放页表项的副本)
  • 假设某用户进程请求某种设备读入若干块的数据,①若采用单缓冲的策略,则操作系统会在主存中为其分配一个缓冲区(默认为一个块)。注意:当缓冲区数据非空时,不能往缓冲区中传入数据,只能从缓冲区把数据传出;当缓冲区为空时,可以往缓冲区传入数据,但必须把缓冲区充满后,才能从缓冲区把数据传出。②若采用双缓冲的策略,操作系统会在主存中为其分配两个缓冲区。
单缓冲区
双缓冲区
使用单/双缓冲区在通信时的区别
循环缓冲区
缓冲池
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容