六、输入输出管理

news2024/11/17 15:42:27

1.输入输出程序接口

由于各种设备的操作所提供的参数或者返回值都不同,也很难做到以设备独立性软件向上提供统一的接口,但是可以将设备进行分类,每一类设备由一种统一的接口操作。

①字符设备接口

get/put 系统调用:向字符设备读/写一个字符

②块设备接口

read/write 系统调用:向块设备的读写指针位置读/写多个字符;seek系统调用:修改读写指针位置

③网络设备接口

网络设备接口,又称“网络套接字(socket)接口’

socket系统调用:创建一个网络套接字,需指明网络协议(TCP?UDP?)

bind:将套接字绑定到某个本地“端口

connect:将套接字连接到远程地址

read/write:从套接字读/写数据

2.阻塞I/O和非阻塞I/O

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

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

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

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

3.设备驱动程序接口

设备独立性软件需根据实际操作的设备不同,去调用不一样的驱动程序。

操作系统规定好设备驱动程序的接口标准,各商必须按要求开发设备驱动程序

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

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

相关文章

Redis篇(Redis原理 - RESP协议)

目录 一、简介 二、Redis通信协议 基于Socket自定义Redis的客户端 三、Redis内存回收 1. 过期key处理 1.1. 惰性删除 1.2. 周期删除 1.3. 知识小结 2. 内存淘汰策略 一、简介 Redis是一个CS架构的软件,通信一般分两步(不包括pipeline和PubSub&a…

【Linux系统编程】第二十六弹---彻底掌握文件I/O:C/C++文件接口与Linux系统调用实践

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、回顾C语言文件接口 1.1、以写的方式打开文件 1.2、以追加的方式打开文件 2、初步理解文件 2.1、C文件接口 3、进一步理…

街道办事处智慧查询系统方案——未来之窗行业应用跨平台架构

一、政务公开建设的必要性 1.1.1使用便捷 人民的生活因为科学技术的发展,发生了翻天覆地的变化,也是实现智能化社区发展的重要发展环节,并在触摸一体机设备的运用中,“社区办事查询软件”运用,基本能够实现***科学技…

【优选算法】(第十五篇)

目录 和为k的⼦数组(medium) 题目解析 讲解算法原理 编写代码 和可被K整除的⼦数组(medium) 题目解析 讲解算法原理 编写代码 和为k的⼦数组(medium) 题目解析 1.题目链接:. - 力扣&am…

【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。

前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000010 案列 EXCEL单元格格式。EXCEL文本型和常规型转…

TypeScript 算法手册 【归并排序】

文章目录 1. 归并排序简介1.1 归并排序定义1.2 归并排序特点 2. 归并排序步骤过程拆解2.1 分割数组2.2 递归排序2.3 合并有序数组 3. 归并排序的优化3.1 原地归并排序3.2 混合插入排序案例代码和动态图 4. 归并排序的优点5. 归并排序的缺点总结 【 已更新完 TypeScript 设计模式…

nature reviews genetics | 基因调控网络方法总结

–https://doi.org/10.1038/s41576-023-00618-5 Gene regulatory network inference in the era of single-cell multi-omics 留意更多内容,欢迎关注微信公众号:组学之心 研究团队和单位 Julio Saez-Rodriguez—Heidelberg University Ricard Arge…

Let‘s Encrypt 的几个常用命令

Lets Encrypt 是免费的 ssl 证书提供商,在当前纷纷收费的形式下,这是一个良心厂家,虽然使用起来略微繁琐。坚决抵制某 cxxn 站,竟然开始有辣么多收费的东西。这里记录几个常用的命令(使用环境Ubuntu 24)&am…

Proxmox使用tc给虚拟机限速,实现不对等网速——浪浪云

文章目录 前言第一步查看虚拟机的虚拟网卡名字第二部 设置上传速度限制第三部 设置下载速度限制第四部 验证是否成功查看队列调度器查看过滤器 第五步 如何解除网卡限速 前言 由于proxmox虚拟机限速只能限速对等,但是我想让下载和上传速度不对等,例如上传…

录屏软件大比拼:四款必备工具助你轻松录制精彩瞬间!

哎呀,说到电脑录屏这事儿,我这个办公室小文员可是深有体会啊!平时工作里,经常需要录个会议啊、做个教程啊,或者分享个操作技巧给同事们看。市面上的录屏软件多得数不清,但我最常用的几款工具。今天就来跟大…

Vue3 proxy跨域代理

一、跨域问题 假设vue项目的运行地址为:http://localhost:5173,此时我们想要调用后端服务的rest api,而后端接口暴露的地址为:https://192.168.1.1:8080/user。 可以发现前端服务与后端服务的域名是不同的,默认情况下…

C语言 | Leetcode C语言题解之第445题两数相加II

题目: 题解: struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){int stack1[100];int stack2[100];int top1 0;int top2 0;int carry 0;int sum 0;struct ListNode* temp NULL;struct ListNode* head NULL;while (l1) {…

基于ssm大学生自主学习网站的设计与实现

文未可获取一份本项目的java源码和数据库参考。 1、毕业论文(设计)的背景及意义: (1)研究背景 目前,因特网是世界上最大的计算机互联网络,它通过网络设备将世界各地互相独立的不同规模的局域…

五、Drf权限组件

五、权限组件 权限组件=[权限类,权限类,权限类…] 执行所有权限类的has_permission方法,通过返回True,不通过返回False 默认情况下,所有的权限类都通过,才返回True 5.1简单应用权限组件 #ext.per class MyPermission1(BasePermission):def has_permission(self, requ…

Redis篇(Redis原理 - 网络模型)

目录 一、用户空间和内核态空间 二、阻塞IO 三、非阻塞IO 四、IO多路复用 五、IO多路复用-select方式 六、IO多路复用模型-poll模式 七、IO多路复用模型-epoll函数 八、网络模型-epoll中的ET和LT 九、网络模型-基于epoll的服务器端流程 十、网络模型-信号驱动 异步IO…

Linux安装RabbitMQ安装

1. RabbitMQ介绍 1.1 RabbitMQ关键特性 异步消息传递:允许应用程序在不直接进行网络调用的情况下交换消息。 可靠性:支持消息持久化,确保消息不会在系统故障时丢失。 灵活的路由:支持多种路由选项,包括直接、主题、…

7--苍穹外卖-SpringBoot项目中套餐管理 详解(一)

前言 目录 新增套餐 需求分析和设计 代码开发 根据分类id查询菜品 Controller层 Service层 ServiceImpl层 Mapper层 DishMapper.xml 新增套餐 实体类 mapper层 Service层 ServiceImpl层 Mapper层 SetmealMapper.xml setmealDishMapper.xml 套餐分页查询 需求分…

网络协议详解--IPv6

IPv6产生背景 (1)地址空间的耗尽:因特网呈指数级发展,导致IPv4地址空间几乎耗尽。虽然采用了子网划分、CIDR和NAT地址转换技术,但这没有从根源解决地址耗尽的问题 (2)IP层安全需求的增长&#x…

【拥抱AIGC】通义灵码策略配置

通义灵码企业级策配置支持智能问答、行间代码生成安全过滤器相关策略配置。 适用版本 企业标准版、企业专属版 通义灵码管理员、组织内全局管理员(专属版)在通义灵码控制台的策略配置中进行安全过滤器的配置,开启后,企业内开发…

第十一届蓝桥杯嵌入式省赛程序设计题解析(基于HAL库)(大学组第二套)

一.题目分析 (1).题目 (2).题目分析 1..按键功能分析 a. B1界面切换 b. B2每次按下,PA6手动模式占空比参数增加10% c. B3每次按下,PA7手动模式占空比参数增加10% d. B4模式切换 f. 在数据显示界面下…