I/O的五种模型总结

I/O的五种模型总结

1. 五种 I/O 模型

  • 阻塞I/O
  • 非阻塞I/O
  • I/O复用
  • 事件(信号)驱动I/O
  • 异步I/O

为什么要发起系统调用?

因为进程想要获取磁盘中的数据,而能和硬件打交道的只能是内核,进程通知内核说我要磁盘中的数据,此过程就是系统调用。

一次I/O的完成的步骤

当进程发起系统调用时,这个系统调用就进入内核模式,然后开始I/O操作。
I/O操作分为两个步骤;

1、磁盘把数据装载到内核的内存空间,

2、内核的内存空间的数据copy到用户的内存空间中(此过程是I/O发生的地方)

以下是进程获取数据的详细图解过程;
在这里插入图片描述
调用过程:

①进程向内核发起一个系统调用,

②内核接收到系统调用,知道是对文件的请求,于是告诉磁盘,把文件读取出来

③磁盘接收到来着内核的命令后,把文件载入到内核的内存空间里面

④内核的内存空间接收到数据之后,把数据copy到用户进程的内存空间(此过程是I/O发生的地方)

⑤进程内存空间得到数据后,给内核发送通知

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zedjay_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值