码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 操作系统学习笔记(5.输入/输出管理)


    文章目录

    • 第五章 输入/输出管理
      • I/O设备的基本概念和分类
      • I/O控制器
      • I/O控制方式
      • I/O软件层次结构
      • 输入输出应用程序接口,驱动程序接口
      • I/O核心子系统
      • 假脱机技术
      • 设备的分配与回收
      • 缓冲区管理

    第五章 输入/输出管理

    I/O设备的基本概念和分类

    在这里插入图片描述
    什么是I/O设备
    在这里插入图片描述
    按使用特性分类
    在这里插入图片描述
    按传输速率分类
    在这里插入图片描述
    按信息交换的单位分类
    在这里插入图片描述
    知识点小结
    在这里插入图片描述

    I/O控制器

    本节考的频率不高,但是也要了解
    在这里插入图片描述
    I/O设备的机械部件
    在这里插入图片描述
    I/O设备的电子部件(I/O控制器)
    在这里插入图片描述
    I/O控制器的组成

    • 一个I/O控制可能有多个与设备的结构,即一个I/O控制器可能控制多个设备,因此需要指定编号或地址

    在这里插入图片描述
    内存影响I/O和寄存器独立编址
    在这里插入图片描述
    知识点小结
    在这里插入图片描述

    I/O控制方式

    本章重要考点
    在这里插入图片描述
    程序直接控制方式

    • CPU需要不断轮询检查状态寄存器
    • 每次只能读写一个字

    在这里插入图片描述
    在这里插入图片描述
    中断驱动方式
    在这里插入图片描述
    在这里插入图片描述
    DMA方式

    • DMA控制器也是一种I/O控制器

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    通道控制方式
    在这里插入图片描述
    在这里插入图片描述
    知识点小结

    • 本节是重点

    在这里插入图片描述

    I/O软件层次结构

    在这里插入图片描述
    用户层软件
    在这里插入图片描述
    设备独立性软件
    在这里插入图片描述
    在这里插入图片描述
    为什么不同的设备需要不同的设备驱动程序
    在这里插入图片描述
    在这里插入图片描述
    中断处理程序
    在这里插入图片描述

    知识点小结

    • 最常考的是各个层次的顺序,各个层次的功能,需要大概了解功能
    • 技巧:设备驱动程序和中断处理程序才是直接和硬件打交道的

    在这里插入图片描述

    在这里插入图片描述

    输入输出应用程序接口,驱动程序接口

    在这里插入图片描述
    输入/输出应用程序接口

    • 设备独立软件向上层应用软件,提供不同类型的调用接口

    在这里插入图片描述
    在这里插入图片描述
    socket传递数据的过程
    在这里插入图片描述
    阻塞/非阻塞I/O
    在这里插入图片描述
    设备驱动程序接口
    在这里插入图片描述

    I/O核心子系统

    在这里插入图片描述
    这些功能要在哪个层次实现
    在这里插入图片描述
    I/O道调度

    • 用什么算法,就是前面讲到的磁盘调度

    在这里插入图片描述
    设备保护

    • 把设备看做是一种特殊的文件,对不同的文件设置不同的访问权限

    在这里插入图片描述
    假脱机技术本来是在用户层软件实现的,但是408大纲中将其归为I/O核心子系统
    在这里插入图片描述

    假脱机技术

    用软件方式实现的脱机技术
    在这里插入图片描述
    什么是脱机技术

    • 所谓脱机,是脱离了主机的控制,来进行的输入输出操作

    在这里插入图片描述
    假脱机技术–输入井和输出井
    在这里插入图片描述
    在这里插入图片描述
    共享打印机原理分析

    • 看起来好像可以允许多个进程同时使用设备了,其实就是把后来的存起来,按照队列一个一个处理

    在这里插入图片描述
    在这里插入图片描述
    知识点小结
    在这里插入图片描述

    设备的分配与回收

    在这里插入图片描述
    设备分配时应考虑的因素
    在这里插入图片描述
    静态分配和动态分配
    在这里插入图片描述
    设备分配管理中的数据结构
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    设备分配的步骤
    在这里插入图片描述
    设备分配步骤的改进
    在这里插入图片描述
    在这里插入图片描述
    知识点小结
    在这里插入图片描述

    缓冲区管理

    在这里插入图片描述
    什么是缓冲区,有什么作用
    在这里插入图片描述
    在这里插入图片描述
    单缓冲

    • 注意缓冲区的特点:只有空的时候才能传入数据,只有满的时候才能传出数据
    • 平均耗时:Max{C,T}+M

    在这里插入图片描述
    双缓冲

    • 两个缓冲区,默认大小都是一个块
    • 假设初始状态,工作区为空,一个缓冲区满,一个缓冲区空
    • 平均耗时:Max{T,C+M}

    在这里插入图片描述
    使用单/双缓冲在通信时的区别
    在这里插入图片描述
    循环缓冲区(了解)
    在这里插入图片描述
    缓冲池(了解)
    在这里插入图片描述

    知识点小结

    • 重点掌握单缓冲,双缓冲处理一块数据的平均耗时,经常出选择题

    在这里插入图片描述
    操作系统完结!

  • 相关阅读:
    LoadingCache
    手把手带你玩转Spark机器学习-使用Spark进行数据降维
    【Autopsy数字取证篇】Autopsy数字取证软件的下载安装与优化配置
    Qt ARM+Linux平台调用一个库的时候,报错“Bus error”
    LeetCode常见题型——字符串
    基于粒子群算法和遗传算法优化的高速列车横向悬挂
    一篇了解springboot3请求参数种类及接口测试
    antd Form shouldUpdate 关联展示 form 数组赋值
    EasyRecovery支持多种恢复数据类型 操作简单 功能强大
    力扣第46天--- 第583题、第72题
  • 原文地址:https://blog.csdn.net/weixin_47257749/article/details/125974840
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号