当前位置: 首页 > news >正文

qq免费搭建网站怎么制作网页推广

qq免费搭建网站,怎么制作网页推广,徐州建设工程交易,全球疫情最新数据排名前言 大家好,我是程序员田螺。 零拷贝是老生常谈的问题啦,大厂非常喜欢问。比如Kafka为什么快,RocketMQ为什么快等,都涉及到零拷贝知识点。最近技术讨论群几个伙伴分享了阿里、虾皮的面试真题,也都涉及到零拷贝。因此…

前言

大家好,我是程序员田螺

零拷贝是老生常谈的问题啦,大厂非常喜欢问。比如Kafka为什么快,RocketMQ为什么快等,都涉及到零拷贝知识点。最近技术讨论群几个伙伴分享了阿里、虾皮的面试真题,也都涉及到零拷贝。因此本文将跟大家一起来学习零拷贝原理。

1. 什么是零拷贝

2. 传统的IO执行流程

3. 零拷贝相关的知识点回顾

4. 零拷贝实现的几种方式

5. java提供的零拷贝方式

1.什么是零拷贝

零拷贝字面上的意思包括两个,“零”和“拷贝”:

  • “拷贝”:就是指数据从一个存储区域转移到另一个存储区域。
  • “零” :表示次数为0,它表示拷贝数据的次数为0。

合起来,那零拷贝就是不需要将数据从一个存储区域复制到另一个存储区域咯。

零拷贝是指计算机执行IO操作时,CPU不需要将数据从一个存储区域复制到另一个存储区域,从而可以减少上下文切换以及CPU的拷贝时间。它是一种<font style="color:rgb(10, 191, 91);background-color:rgb(243, 245, 249);">I/O</font>操作优化技术。

所谓的【零拷贝】,并不是真正无拷贝,而是在不会拷贝重复数据到 jvm 内存中。

2. 传统 IO 的执行流程

做服务端开发的小伙伴,文件下载功能应该实现过不少了吧。如果你实现的是一个web程序,前端请求过来,服务端的任务就是:将服务端主机磁盘中的文件从已连接的socket发出去。关键实现代码如下:

代码语言:javascript

复制

while((n = read(diskfd, buf, BUF_SIZE)) > 0)write(sockfd, buf , n);

传统的IO流程,包括read和write的过程。

  • <font style="color:rgb(10, 191, 91);background-color:rgb(243, 245, 249);">read</font>:把数据从磁盘读取到内核缓冲区,再拷贝到用户缓冲区
  • <font style="color:rgb(10, 191, 91);background-color:rgb(243, 245, 249);">write</font>:先把数据写入到socket缓冲区,最后写入网卡设备。

流程图如下:

  • 用户应用进程调用read函数,向操作系统发起IO调用,上下文从用户态转为内核态(切换1)
  • DMA控制器把数据从磁盘中,读取到内核缓冲区。
  • CPU把内核缓冲区数据,拷贝到用户应用缓冲区,上下文从内核态转为用户态(切换2),read函数返回
  • 用户应用进程通过write函数,发起IO调用,上下文从用户态转为内核态(切换3)
  • CPU将用户缓冲区中的数据,拷贝到socket缓冲区
  • DMA控制器把数据从socket缓冲区,拷贝到网卡设备,上下文从内核态切换回用户态(切换4),write函数返回

从流程图可以看出,传统IO的读写流程,包括了4次上下文切换(4次用户态和内核态的切换),4次数据拷贝(两次CPU拷贝以及两次的DMA拷贝),什么是DMA拷贝呢?我们一起来回顾下,零拷贝涉及的操作系统知识点哈。

http://www.tj-hxxt.cn/news/105386.html

相关文章:

  • 武汉做网站哪家专业专业培训心得体会
  • 推荐个好看的网站网络舆情
  • 南昌做网站kaiu最新网站查询工具
  • 创业做招商加盟类网站赚钱seo管理系统
  • 用织梦做政府网站老被黑搜索引擎营销总结
  • 西藏做网站找谁seo网站培训
  • 兰州 网站建设品牌营销案例
  • 全栈开发需要学什么课程win优化大师有用吗
  • 教育培训推广网站模板网站推广的主要方法
  • 绍兴网站制作系统品牌推广策略怎么写
  • 成品网站w灬 源码1688三叶草公司宣传软文
  • wordpress 文档插件安卓优化大师hd
  • 动态的网站怎么做seo1现在怎么看不了
  • 南通做网站建设公司aso具体优化
  • 用divid做网站代码看seo
  • 做网站属于广告费吗推广普通话手抄报内容简短
  • 国家工信部备案网站淘宝店怎么运营和推广
  • 做百度移动端网站软件下载南宁哪里有seo推广厂家
  • 菜鸟零基础如何自学编程搜索引擎优化的目标
  • 郴州信息港网站百度企业网盘
  • vs2010网站制作教程网址大全是ie浏览器吗
  • 做一个网站中的搜索功能怎么做淘大象关键词排名查询
  • 深圳福永做网站外链link
  • 北京制作网站公司哪家好常用的营销方法和手段
  • 请打开123720的网站百度亚马逊关键词排名查询工具
  • 做一个网站推广百度标记号码认证平台
  • 常用设计网站百度认证考试
  • 绿色企业网站模板宁波专业seo服务
  • 淘宝可做的团购网站进一步优化营商环境
  • 网站改版对seo的影响上海seo公司排名榜