我们在说阻塞IO时在说什么?

常常听说阻塞IO,又不太清楚阻塞O的情景,只落个云里雾里的感觉.

阻塞IO的场景包括一些具体函数执行时,比如accept(等待客户端连接),recv(等待发送),write(写文件),read(读文件);磁盘IO(比如文件的拷贝);下载和上传文件.

阻塞IO实际上耗费的CPU特别少,大部分工作被分配给DMA(Direct Memory Access)完成(原先我以为CPU会盯着)

CPU计算文件地址->托管给DMA来读取文件->DMA接管总线->CPU把进行A挂起->CPU去执行进程B->DMA执行完毕后给CPU发送中断->CPU切换回来.

参考文章:

https://www.zhihu.com/question/27734728

猜你喜欢

转载自www.cnblogs.com/Stephen-Qin/p/12911704.html