IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux典型IO模型:阻塞、非阻塞、信号驱动、异步 -> 正文阅读

[系统运维]Linux典型IO模型:阻塞、非阻塞、信号驱动、异步

目录

一、阻塞IO

二、非阻塞IO

三、信号驱动IO

四、异步IO

五、阻塞VS非阻塞(概念)

1.阻塞

2.非阻塞

3.区别与联系

六、同步VS异步(概念)

1.同步

2.异步

3.区别与联系


IO就是输入输出

一、阻塞IO

????????为了完成IO发起IO调用,若IO事件没有就绪,则一直等待,直到IO就绪,开始数据拷贝。

优点:流程最为简单,使用复杂度非常低。

缺点:IO效率较低,对资料利用不足。

二、非阻塞IO

?????????为了完成IO发起IO调用,若IO事件没有就绪,则调用直接返回(返回后,先进行一些其他任务,之后再重新发起IO调用)。

优点:不等待IO就绪,而是直接立即返回,可以继续对其他描述符进行IO操作,充分利用资源,效率相较于阻塞IO有所提高。

缺点:IO不够实时,且通常需要循环进行操作,增加了一定的复杂度。

三、信号驱动IO

? ? ? ? 先定义IO就绪信号处理方式,当收到信号通知,则表示IO就绪,随后发起IO调用,完成IO操作。

优点:效率更高,更加实时,更加充分利用资源(在没有收到IO信号之前,可以进行其他任务处理,收到信号后,再进行IO请求)。

缺点:IO复杂度更高,需要涉及到信号操作。

四、异步IO

? ? ? ? 发起IO调用,让系统进行IO就绪等待以及完成数据拷贝,完成后再通过信号通知进程。

注意:

(1)异步IO会告诉系统,需要对哪个描述符进行什么IO操作,要把IO操作的数据拷贝到哪块缓冲区,以及完成后通过什么信号通知进程。

(2)当进程收到信号,就表示IO已经完成,这时就可以直接对指定缓冲区中的数据进行处理。

优点:对系统资源利用非常高,效率也是最高。

缺点:流程复杂度也是最高。

五、阻塞VS非阻塞(概念)

1.阻塞

? ? ? ? 为了完成某个功能,发起一个调用,若功能无法立即完成,则调用不返回一直等待。

2.非阻塞

? ? ? ? 为了完成某个功能,发起一个调用,若功能无法立即完成,则报错返回。

3.区别与联系

? ? ? ? 阻塞与非阻塞,都是讨论接口特性,表示一个函数在完成某个功能时,若无法立即完成,是否会立即返回。

六、同步VS异步(概念)

1.同步

(1)是一种流程化操作,一个功能完成后才能进行下一个功能。

(2)功能的完成顺序固定。

(3)功能通常都是由自己完成。

例如:IO操作,一个IO操作完成后,才能进行下一个IO操作,(这就是同步IO)IO的完成过程是由进程自身完成。

优点:操作流程简单

缺点:效率相较较低

2.异步

(1)是一种非流程化操作,无论一个功能是否已经完成,都可以进行下一个功能。

(2)功能的完成顺序不确定。

(3)功能通常都是由别人完成。

例如:IO操作,不管是否完成,都可以立即发起下一个IO操作,IO的完成过程由系统完成。

优点:对系统资源利用更充分,效率相较更高

缺点:流程较为复杂

3.区别与联系

? ? ? ? 同步与异步,都是讨论功能的完成方式,同步表示的是按序由自己完成;异步表示的是非按序由系统完成。

同步:操作流程简单,但效率相较较低。

异步:对系统资源利用更充分,效率相较更高,但流程较为复杂。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-12-25 11:43:44  更:2022-12-25 11:47:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/8 10:22:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码