type
status
date
slug
summary
tags
category
icon
password
Sub-item
Last edited time
Oct 28, 2023 10:39 AM
Parent item
领域
同步IO
- 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。
- 对于网络IO来说,很多时候数据在一开始还没有到达(比如,还没有收到一个完整的UDP包),这个时候kernel就要等待足够的数据到来。
- 在同步阻塞IO模式下,在用户进程这边,整个进程会被阻塞。
- 当kernel一直等到数据准备好了,它就会将数据从kernel中拷贝到用户内存,然后kernel返回结果,用户进程才解除block的状态,重新运行起来。
所以,blocking IO的特点就是在IO执行的两个阶段都被block了。