操作系统-I/O管理-I/O管理概述

news2024/12/24 19:42:37

目录

一、I/O设备的分类

1.1分类

1.1.1特性分类

1.1.2按传输速率分类

1.1.3按信息交换单位分类

二、I/O控制器

 三、I/O控制方式

3.1程序直接控制方式

3.1中断驱动方式

3.3DMA方式

3.4通道控制方式 

 四、I/O软件层次结构

五、输入输出管理

5.1输入输出应用程序接口

5.2设备驱动程序接口


一、I/O设备的分类

I/O就是输入/输出  (input/output)

I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件

输入:鼠标,键盘,u盘

输出:显示器,u盘

1.1分类

1.1.1特性分类

人机交互类外部设备:鼠标键盘,数据传输速度慢

存储设备:移动硬盘 光盘,数据传输速度快

网络通信设备:调制解调器,速度位上面二者之间

1.1.2按传输速率分类

低速设备:键盘鼠标,每秒几个到几百字节

中速设备:激光打印机,每秒千到上万

高速设备:磁盘,每秒千到千兆

1.1.3按信息交换单位分类

块设备:磁盘,传输速率较高,可寻址,可随机读写任意一块

字符设备:鼠标键盘,速度率慢,不可寻址,在输入输出时常采用中断驱动方式

二、I/O控制器

用于cpu对设备的控制

功能

组成

 内存映射和寄存器独立编址

 三、I/O控制方式

3.1程序直接控制方式

3.1中断驱动方式

3.3DMA方式

3.4通道控制方式 

通道:一种硬件,可理解为弱鸡版的cpu。通道可以识别并执行一系列通道指令

 四、I/O软件层次结构

五、输入输出管理

5.1输入输出应用程序接口

阻塞IO :应用程序发出IO系统调用,进程需转为阻塞态等待

eg:字符设备接口--从键盘读一个字符get

非阻塞IO:应用程序发出I/O系统调用,系统调用可迅速返回,进程无需阻塞等待

eg:块设备接口--往磁盘写数据write 

5.2设备驱动程序接口

 

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

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

相关文章

UE4的AI行为树基础知识

1.前言 在制作游戏时,会制作敌人、怪物、NPC等不被玩家所操作的对象,那么制作这些对象,就需要通过使用AI行为树来为他们编写各自的一些行为逻辑,比如敌人会寻找主角并攻击、怪物会在自己的领域巡逻等等。 2.组件说明 NavMeshBou…

国产麒麟服务器等保二级 配置规范(二)

一、redis的配置规范 1.1 禁止以root账号运行redis服务 以下Linux 命令操作创建了一个无 home 目录权限,且无法登录的普通账号redis。 #useradd -M -s /sbin/nologin redis 修改服务允许和配置文件权限: #setsid sudo -u redis /usr/bin/redis-serer /e…

Python 智能语音机器人(改进版)

本篇为改进版,之前部分代码存在错误,部分网站api也已经失效,现在更换api,并对部分代码进行重写。 本次在Pycharm上测试 相关模块如下: baidu-aip4.16.11 beautifulsoup44.12.2 chardet5.1.0 lxml4.9.2 PyAudio0.2.13…

Redis原理 - RedisObject对象机制

原文首更地址,阅读效果更佳! Redis原理 - RedisObject对象机制 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-object.html 为什么会设计RedisObject 在 Redis 中,我们的操作都是使用指令进行,而这些的命…

chatgpt赋能python:Python截取文件名教程

Python截取文件名教程 在Python编程中,经常需要从文件路径中截取出文件名。这可以让我们更容易地操作文件或数据集,并且使代码更加简洁易懂。在本教程中,我们将介绍如何使用Python截取文件名。 使用os模块 Python的os模块提供了许多与文件…

【C数据结构】静态顺序表_SeqList

目录 【1】数据结构概述 【1.1】什么是数据结构? 【1.2】数据结构分类 【1.3】数据结构术语 【2】数据结构特点 【3】静态顺序表 【3.1】静态顺序表概念及结构 【3.2】静态顺序表定义数据结构和接口 【3.3】静态顺序表初始化 【3.4】静态顺序表头插入 【…

C/C++内存管理(newdelete详解)

C/C内存管理 引言new与delete的使用内置类型自定义类型 new与delete的实现原理内置类型了解operator new与operator delete函数自定义类型 定位newnew&delete与malloc&free的区别总结 引言 在之前的C语言部分,我们已经介绍过内存中的存储区域的划分&#x…

FMQL在linux下GPIO的映射关系与使用

最近几年国产化芯片的使用如火如荼,部分国产手册说明杂且描述不清,尤其是一些映射关系使用文字描述非常不直观。博主在使用GPIO功能输出的时候反复看了几遍再去尝试控制耗费了不少时间。现结合相关文档总结GPIO映射表格,方便读者使用。 1、 …

【Spring Boot 】Spring Boot 统一功能处理

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 前言 1. Spring 拦截器 1.1 自定义拦截器 1…

6月19日第壹简报,星期一,农历五月初二

6月19日第壹简报,星期一,农历五月初二坚持阅读,静待花开1. 未来10天江南华南等地多降雨过程,国家防总将防汛四级响应范围扩至八省份,加派工作组赴地方协助指导。2. “一天有四季、十里不同天”,“最美”独库…

LVS - DR集群

LVS - DR集群 数据包流向分析: (1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 (2)Direct…

【VS2022】win 10 / win 11:Visual Studio 2022 社区版免费下载与安装

目录 一、Visual Studio 2022 下载 二、Visual Studio 2022 安装 三、Visual Studio 2022 快捷方式创建 四、Visual Studio 2022 使用 一、Visual Studio 2022 下载 Visual Studio 2022 官方下载https://visualstudio.microsoft.com/zh-hans/downloads/首先登陆 Visual Stu…

attention unet + cldice 论文总结

Blood Vessel Segmentation from Low-Contrast and Wide-Field Optical Microscopic Images of Cranial Window by Attention-Gate-Based Network论文总结 论文:Blood Vessel Segmentation by Attention-Gate-Based Network 目录 一、论文背景和出发点 二、创新点…

vue源码阅读之Observer

我们上次学习了vue数据驱动的概念,以及简单的vue怎么知道数据更新,然后采取行动的。今天我们就来继续深入学习,vue怎么把数据和视图给绑定在一起的,数据发生变化,视图怎么会自动发生变化的。 vue中的Observer 之前讲…

chatgpt赋能python:Python截取某一段文字

Python截取某一段文字 Python是最流行的编程语言之一,用于开发各种类型的应用程序,包括Web应用程序、桌面应用程序、游戏等。在本文中,我们将讨论如何使用Python截取某一段文字。这对于Web开发者和SEO专家非常有用,因为他们需要查…

【干货】Android系统定制基础篇:第八部分(增加以太网设置菜单、支持多摄像头、替换默认签名)

一、增加以太网设置菜单 Android 系统设置默认并没有以太网相关设置项,但以太网功能是支持的,因此我们仅仅需要增加设置界面即可。以太网设置界面如下: 修改 diff --git a/packages/apps/Settings/AndroidManifest.xml b/packages/apps/Se…

【第六次】21级计科计算机组成原理课外练习

【第六次】21级计科计算机组成原理课外练习 一、单选题二、多选题三、填空题 一、单选题 2-1 假定某计算机按字节编址,采用小端方式,有一个float型变量x的地址为0xffffc000,x12345678H,则在内存单元0xffffc001中存放的内容是 A.…

计算机网络和Linux网络

计算机网络和Linux网络 计算机网络概论 什么是计算机网络 计算机网络(结构上) 由节点(主机、网络交换设备设备)、边(通信设备)、协议构成协议:对等层的实体在通讯过程中应该遵守的规则的集合&…

软考A计划-网络工程师-易混淆知识汇总

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

chatgpt赋能python:Python编程:如何隐藏输入以保护信息安全?

Python编程:如何隐藏输入以保护信息安全? 随着数字化时代的到来,人们越来越多地依赖于互联网和技术设备进行通信和交易。然而,信息安全成为越来越大的问题:黑客和其他恶意分子通过各种手段获取和利用个人信息。为保障…