摘要: 这里只是感性地认识Linux零拷贝,不涉及具体细节。 1.Linux传统的数据拷贝 用户进程是不能直接访问文件系统的,要先切换到内核态,发起系统调用,DMA把磁盘中的数据写入内核空间,内核再把数据拷贝到用户空间,用户进程才能操作这些数据。 如上把磁盘上的文件发送到网络,将会发生4次状态切换,2次cp 阅读全文
posted @ 2020-02-24 23:34 Allen没有青春 阅读(215) 评论(0) 推荐(0)
摘要: 本文不涉及具体代码,只分析Linux IO演化的心路历程,学习资料来源网络,不保证一定正确,若有错误,欢迎指出。 BIO 服务端创建socket(80端口),文件描述符3号。 当线程调用accept时,阻塞等待3 fd连接就绪。 网卡(80端口)收到数据,将数据写入内存,向cpu发出中断信号,内核得 阅读全文
posted @ 2020-02-24 22:05 Allen没有青春 阅读(353) 评论(0) 推荐(0)
摘要: 我的观点 首先,分开各自理解。 1. 同步:描述两个(或者多个)个体之间的协调关系。 比如,单线程中,methodA调用了methodB,methodB返回后,methodA才往下执行,那么称A同步调用了B。 比如,多线程中,线程1访问完某个资源,才到线程2访问。 同步在一定的 互斥基础上,强调的是 阅读全文
posted @ 2020-02-24 18:14 Allen没有青春 阅读(317) 评论(0) 推荐(0)