我们写客户端:
-----------------------------------------------------31-------------------------------------------------
写启动代码。
总结:看文档
-----------------------------------------------------32-------------------------------------------------
零拷贝:
传统的IO经过四次拷贝和三次切换。
read方法:
第一步:硬盘上的数据通过DMA拷贝到内核。
第二步:内核数据用cpu拷贝到用户的buffer。
第三步:数据在用户buffer修改,然后cpu拷贝到socketBuffer。
第四步:DMA拷贝到协议栈。
传统的IO拷贝的次数是非常多的。
-----------------
第一步:DMA拷贝到内核的
第二步:内核和用户的buffer共享数据。
第三步:修改拷贝到socketBuffer。
第四步:拷贝到协议栈。
此时三次拷贝三次切换。
-----------------------------------------
三次拷贝两次切换,取消用户态。
---------------
零拷贝是没有cpu的靠拷贝的。
-----------------------------------------------------33-------------------------------------------------
NIO里面的0拷贝:
解释:
----------------------------------------------------34--------------------------------------------------
总结对比:
-------------------------------------------------35---------------------------------------------------------
异步的基于事件驱动的网络框架。
4.1.2版本我们去讲。
-------------------------------------------------36---------------------------------------------------------