【操作系统】I/O管理

news2024/12/28 5:31:42

文章目录

  • I/O设备的基本概念和分类
    • I/O设备的分类
  • I/O控制器
    • I/O设备的组成
    • I/O控制器的组成
    • I/O控制器的两种寄存器编址方式
  • I/O控制方式
    • 程序直接控制方式
    • 中断驱动方式
    • DMA方式
    • 通道控制方式
  • I/O软件的层次结构
    • 用户层软件
    • 设备独立性软件
      • 六大功能
      • 逻辑设备表—LUT
    • 设备驱动程序
    • 中断处理程序
  • I/O核心子系统及功能
    • 假脱机技术
    • I/O调度
    • 设备保护
  • 假脱机技术(SPOOLing)
    • 什么是脱机技术?
    • 假脱机技术
      • 输入井和输出井
      • 输入进程与输出进程
      • 输入输出缓冲区
    • 假脱机技术的一种应用
  • I/O设备的分配与回收
    • 设备分配时应该考虑的因素
      • 设备的固有属性
      • 设备的分配算法
      • 设备分配中的安全性
    • 静态分配与动态分配
    • 设备分配管理中的数据结构
      • 设备控制表—DCT
      • 控制器控制表—COCT
      • 通道控制表—CHCT
      • 系统设备表—SDT
    • 设备分配的步骤
      • 设备分配的改进步骤
  • 缓冲区管理
    • 什么是缓冲区?有什么作用?
    • 单缓冲
    • 双缓冲
    • 单缓冲和双缓冲通信时的区别
    • 循环缓冲区
    • 缓冲池

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

在这里插入图片描述
在这里插入图片描述

I/O设备的分类

按使用特性分类

在这里插入图片描述
按传输速率分类

在这里插入图片描述

按信息交换单位分类

在这里插入图片描述

最后我们总结一下:
在这里插入图片描述

I/O控制器

I/O设备的组成

在这里插入图片描述

机械部件

在这里插入图片描述
电子部件—I/O控制器的功能

在这里插入图片描述

I/O控制器的组成

在这里插入图片描述

在这里插入图片描述

I/O控制器的两种寄存器编址方式

在这里插入图片描述

最后总结一下:
在这里插入图片描述

I/O控制方式

程序直接控制方式

完成一次读/写操作的流程图(以读操作为例)

在这里插入图片描述

下面以C语言代码和流程图来剖析,程序直接控制方式

在这里插入图片描述
在这里插入图片描述

中断驱动方式

由于程序直接控制方式CPU利用率低,忙等,所以提出了中断驱动方式。

在这里插入图片描述
在这里插入图片描述

DMA方式

虽然中断驱动方式解决了程序直接控制方式的问题,但是每一次只能读/写一个字,导致CPU频繁切换,耗费了很多时间。于是人们又发明了DMA方式。

在这里插入图片描述
DMA控制器:

在这里插入图片描述
在这里插入图片描述

通道控制方式

通道控制方式是为了解决DMA方式连续存储的问题

在这里插入图片描述
在这里插入图片描述

最后我们总结一下:
在这里插入图片描述

I/O软件的层次结构

在这里插入图片描述

用户层软件

在这里插入图片描述

设备独立性软件

六大功能

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

逻辑设备表—LUT

在这里插入图片描述

为什么不同的设备需要不同的驱动程序呢?

在这里插入图片描述

举几个假设的例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设备驱动程序

在这里插入图片描述

中断处理程序

在这里插入图片描述
在这里插入图片描述

最后我们总结一下:
在这里插入图片描述

I/O核心子系统及功能

在这里插入图片描述

假脱机技术

在这里插入图片描述

I/O调度

在这里插入图片描述

设备保护

在这里插入图片描述

假脱机技术(SPOOLing)

什么是脱机技术?

  • 这里温习一下手工操作阶段:
    在这里插入图片描述

  • 因为手工阶段的速度慢问题,引入了脱机技术
    在这里插入图片描述

假脱机技术

在脱机技术的基础上人们发明了更好的假脱机技术

输入井和输出井

在这里插入图片描述
在这里插入图片描述

输入进程与输出进程

在这里插入图片描述
在这里插入图片描述

输入输出缓冲区

在这里插入图片描述

假脱机技术的一种应用

共享打印机原理分析—假脱机技术的一种应用

  • 先了解一下独占和共享设备,以此引出假脱机技术如何实现对独占设备的共享:
    在这里插入图片描述
    在这里插入图片描述
  • 打印请求完成后,请求表从打印队列删除,执行后续队列的打印任务
    在这里插入图片描述

最后我们总结一下:
在这里插入图片描述

I/O设备的分配与回收

设备分配时应该考虑的因素

设备的固有属性

在这里插入图片描述

设备的分配算法

在这里插入图片描述

设备分配中的安全性

在这里插入图片描述

静态分配与动态分配

在这里插入图片描述

设备分配管理中的数据结构

设备、控制器、通道之间的关系:

在这里插入图片描述

设备控制表—DCT

在这里插入图片描述

控制器控制表—COCT

在这里插入图片描述

通道控制表—CHCT

在这里插入图片描述

系统设备表—SDT

在这里插入图片描述

设备分配的步骤

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设备分配的改进步骤

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后总结一下:
在这里插入图片描述

缓冲区管理

什么是缓冲区?有什么作用?

在这里插入图片描述
在这里插入图片描述

单缓冲

在这里插入图片描述

T>C时的例子:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

T<C时:

在这里插入图片描述

双缓冲

T>C+M时:
在这里插入图片描述
T<C+M时:

在这里插入图片描述
在这里插入图片描述

单缓冲和双缓冲通信时的区别

在这里插入图片描述
在这里插入图片描述

循环缓冲区

在这里插入图片描述

缓冲池

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后总结一下:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/535149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免交互的使用

免交互的使用 一、免交互二、小实验三、利用脚本完成的小实验三、Expect 一、免交互 Here Document 免交互 使用I/O重定向的方式将命令列表提供给交互式程序或命令&#xff0c;比如ftp、cat或者read命令。 免交互时标准输入的一种替代品可以帮助脚本开发人员不必使用临时文件来…

MySQL查询练习题

一&#xff0e;编程题 有三张表&#xff0c;结构如下&#xff1a; Student(学号StuId,姓名StuName,性别StuSex,出生年月StuBirth) Course(课程号CouId,课程名CouName,授课教师CoouTeacher) SC(学号StuId,课程号CouId,成绩Score,授课教师CouTeacher) 用标准SQL语句完成下列操作…

第六章 介绍Productions - 其他Production 选项

文章目录 第六章 介绍Productions - 其他Production 选项用户门户工作流业务活动监控Alerts发布和订阅消息传递Message Bank 第六章 介绍Productions - 其他Production 选项 本章概述了与制作相关的其他选项。 用户门户 与 Studio 和管理门户等后端工具不同&#xff0c;用户…

免交互 (Here Document)

目录 免交互 (Here Document) 语法格式&#xff1a; 注意事项&#xff1a; 支持变量替换 多行注释 Expect 基本命令: interact 嵌入执行模式 实现 ssh 自动登录 免交互 (Here Document) 使用I/O重定向的方式将命令列表提供给交互式程序或命令&#xff0c;比如 ftp、c…

阿里云异构计算云服务器GPU、FPGA和EAIS详解

阿里云阿里云异构计算主要包括GPU云服务器、FPGA云服务器和弹性加速计算实例EAIS&#xff0c;随着人工智能技术的发展&#xff0c;越来越多的AI计算都采用异构计算来实现性能加速&#xff0c;阿里云异构计算云服务研发了云端AI加速器&#xff0c;通过统一的框架同时支持了Tenso…

量化数据运算

量化数据运算 文章目录 量化数据运算量化数据乘积仿射映射量化的矩阵运算矩阵表示 矩阵CAB量化方式表示 矩阵CAB 代码展示基于仿射映射量化的矩阵乘法矩阵乘法计算API通过仿射映射量化形式计算两个矩阵的乘法**欢迎关注公众号【三戒纪元】** 量化数据乘积 使用记号&#xff08…

【Java代码审计】XSS漏洞产生原理及其修复

XSS漏洞代码审计 前言XSS漏洞原理1、反射型XSS反射型XSS漏洞审计 2、存储型XSS存储型XSS审计 漏洞修复 前言 笔者已经很长时间没有写过笔记力&#xff0c;经过一年的摸爬滚打也算是走到了代码审计这一关&#xff0c;这些日子也还在为项目和hw周旋&#xff0c;上周终于面试完&a…

今年是很惨,但有人怒砍一大把Offer...

300万字&#xff01;全网最全大数据学习面试社区等你来&#xff01; 今天的主人公是一个应届生&#xff0c;同时也是我在训练营辅导的一名同学&#xff0c;在整体经济下行&#xff0c;互联网见顶的情况拿到包括腾讯、蚂蚁、B站等多家互联网大厂Offer。 下面是我站在求职者角度提…

DDL语句DQL语句

SQL学习笔记 DDL语句--操作数据表 /* 快捷键: insert键 在插入 和 替换模式之间切换 ctrl 字母z 撤销上一步操作 tab 往后缩进(默认4个空格) shift tab 往前缩进(默认4个空格) …

基于Java+SpringBoot+Vue学生信息管理设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

重磅发布:《AI产品经理的实操手册(2023版)》

今天是咱们社群“AI产品经理大本营”六周年活动的最后一天&#xff0c;正式发布这份大家和我都非常期待的重磅干货——《AI产品经理的实操手册&#xff08;2023版&#xff09;》 上周发布的“AI季度资料包&#xff08;2023Q2&#xff09;”&#xff0c;适合对AI初步感兴趣的产品…

《统计学习方法》——隐马尔可夫模型(中)

概率计算算法 直接计算法 给定模型 λ ( A , B , π ) \lambda(A,B,\pi) λ(A,B,π)和观测序列 O ( o 1 , o 2 , ⋯ , o T ) O(o_1,o_2,\cdots,o_T) O(o1​,o2​,⋯,oT​)&#xff0c;计算观测序列 O O O出现的概率 P ( O ∣ λ ) P(O|\lambda) P(O∣λ)。最直接的方法就是…

『python爬虫』23. selenium之窗口切换与iframe(保姆级图文)

目录 1. 窗口切换2. 抓取拉勾网职务信息2.1 拉勾网查看职务详情与价格2.2 完整代码 3. iframe的处理总结 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 欢迎关注 『python爬虫』 专栏&#xff0c;持续更新中 1. 窗口切换 窗口句柄的定义&#xff1a;WebDriver对象有wi…

肝一肝设计模式【八】-- 外观模式

系列文章目录 肝一肝设计模式【一】-- 单例模式 传送门 肝一肝设计模式【二】-- 工厂模式 传送门 肝一肝设计模式【三】-- 原型模式 传送门 肝一肝设计模式【四】-- 建造者模式 传送门 肝一肝设计模式【五】-- 适配器模式 传送门 肝一肝设计模式【六】-- 装饰器模式 传送门 肝…

Windows本地快速搭建SFTP文件服务器,并端口映射实现公网远程访问

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#xff0…

ChatGPT 和 Elasticsearch:使用 ChatGPT 处理 Elastic 数据的插件

作者&#xff1a;Baha Azarmi 你可能已经阅读过这篇关于我们将 Elasticsearch 的相关性功能与 OpenAI 问答功能相结合的博文。 该帖子的主要思想是说明如何将 Elastic 与 OpenAI 的 GPT 模型结合使用来构建响应并向用户返回上下文相关的内容。 我们构建的应用程序可以公开一个…

好久不见,甚是想念

大家好&#xff0c;我是程序员小哈。 一晃停更好久了&#xff0c;之前因为12月份阳了&#xff0c;身体一直感觉没有完全恢复&#xff0c;就一直偷懒了&#xff0c;外加单位的事情比较多&#xff0c;实在是分身乏术&#xff0c;最近总算是告一段落了&#xff0c;咱们的知识分享…

shell脚本——流编辑器“三剑客”之sed命令

shell脚本——流编辑器“三剑客”之sed命令 一、流编辑器“三剑客”二、sed编辑器1、sed的工作流程2、命令格式3、常用选项4、常用操作5、打印内容6、使用地址7、删除行8、替换9、插入 一、流编辑器“三剑客” sed awk grep 二、sed编辑器 sed是一种流编辑器&#xff0c;流编…

手把手项目实战,搞完,直接写在简历上!

大家好&#xff0c;我是田哥 很多没有项目经验&#xff0c;或者没有亮点项目的朋友可以看过来。 最近田哥在搞一个项目&#xff1a;充电桩项目。本文给大家介绍这个项目背景、部分原型图、核心功能、核心模块、技术栈等。 项目背景介绍 随着我国汽车行业的不断发展&#xff0c…

AI绘画-Midjourney基础1-基本操作

Midjourney是一款 AI 绘画工具&#xff0c;可以根据你的提示&#xff08;本文中称为 prompt&#xff09;创作出各种图像。你只需要在Discord上和一个机器人聊天&#xff0c;就可以用简单的命令来控制它。目前已不支持免费试用&#xff0c;可以选择付费计划来获得更多功能和优势…