以你去买冰箱为例:
买冰箱设计 仓库 门店 和买家 还有买家房屋
要将冰箱从仓库运送到买家房屋

名词映射:
仓库:[另外一台操作系统]
门店: [当前操作系统]
买家:[用户进程]’
买家房屋:[用户内存空间]

仓库需要传输冰箱到门店
阻塞:
如果你去买冰箱,冰箱在运输中,门店告知你要等待冰箱到来,那么你阻塞在这次传输
如果用户进程去获取数据,数据在网络传输中没有完全到达,操作系统挂起用户进程.则阻塞
非阻塞
如果你去买冰箱,冰箱在运输中,门店告知你要等待冰箱到来,你等会再来
如果用户进程去获取数据,数据在网络传输中没有完全到达,操作系统告知用户进程.数据没有准备完毕,并不进行进程挂起,则非阻塞

同步
冰箱到门店了,门店说,你自己送回家,那么你只能自己送回家,同步
用户进程得到操作系统拉取数据许可,自行copy内核空间数据,知道copy完毕,同步
异步
冰箱到门店了,门店问都没问你就给你送回去了[注意,没有问你]
数据到达后,内核直接复制到用户进程空间 并触发回调函数

阻塞和非阻塞强调 用户进程发起io调用是不是鉴于数据是否准备完毕,而被操作系统挂起

同步与异步: 是指数据copy完后是用户进程主动copy 还是操作系统copy后直接回调函数处理