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

哪个网站教做衣服哪个网站可以做视频片头

哪个网站教做衣服,哪个网站可以做视频片头,集团网站目标,个人免费建站软件1. DMA技术 DMA技术也就是直接内存访问技术。在进行I/O设备和内存的数据传输的时候,数据传输的工作全部交给DMA控制器,而不是CPU负责。 2. 传统的文件传输 传统的文件传输的代码如下: read(file, tmp_buf, len); write(socket, tmp_buf,…

1. DMA技术

DMA技术也就是直接内存访问技术。在进行I/O设备和内存的数据传输的时候,数据传输的工作全部交给DMA控制器,而不是CPU负责。
在这里插入图片描述

2. 传统的文件传输

传统的文件传输的代码如下:

read(file, tmp_buf, len);
write(socket, tmp_buf, len);

上述代码发生了4次用户态与内核态的上下文切换,4次数据拷贝。
在这里插入图片描述
具体过程:

  • 第一次拷贝:DMA把磁盘数据拷贝到内核缓冲区。
  • 第二次拷贝:CPU将磁盘数据拷贝到用户缓冲区。
  • 第三次拷贝:CPU将用户缓冲区数据拷贝到socket缓冲区。
  • 第四次拷贝:DMA将socket缓冲区数据拷贝到网卡。

3. 零拷贝

3.1 mmap+write

mmap拷贝代码如下:

buf = mmap(file, len);
write(sockfd, buf, len);

mmap会把内核缓冲区的数据映射到用户空间,这样,操作系统内核与用户空间就不需要再进行任何的数据拷贝。上述代码发生4次上下文切换与3次拷贝。
在这里插入图片描述

  • 应用进程调用了mmap(),DMA会把磁盘的数据拷贝到内核的缓存区,然后应用进程和操作系统内核共享这个缓冲区。
  • 应用进程再调用write(),操作系统直接将内核缓冲区的数据拷贝到socket缓冲区,这一切发生在内核态,由CPU来搬运数据。
  • 最后由DMA将数据从内核的socket拷贝到网卡的缓冲区。

3.2 sendfile技术

sendfile代码如下:

ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count);

sendfile需要2次上下文切换,2次数据拷贝。
在这里插入图片描述
具体过程:

  • 通过DMA将磁盘数据拷贝到内核缓冲区。
  • 缓冲区描述符和数据长度传到socket缓冲区。SG-DMA将内核缓冲区拷贝到socket缓冲区,减少一次拷贝。
http://www.dtcms.com/wzjs/828425.html

相关文章:

  • 做公众好号的网站wordpress 页面显示分类文章列表
  • 电商企业网站建设的一般要素有哪些6跨境商城网站建设
  • 可以申请微信号的网站北京网站建设多少钱
  • 上海定制网站建设公司自适应网站建设哪家好
  • 安徽住房城乡建设厅网站wordpress最常用水印
  • 水果零售电子商务网站综合评价与建设研究云虚拟主机怎么做2个网站
  • 广告传媒公司排名石家庄网站seo
  • 毕业设计做网站有什么好处网站充值记账凭证怎么做
  • 多个域名 指向同一个网站工业互联网平台评价方法
  • 包工头接活网站app建平台网站
  • 搞网站建设赚钱不wordpress添加形式
  • 广州越秀建网站网站备案与服务器
  • 集团高端网站建设公司做网站时字幕怎么做
  • 做外贸推广的网站前端网站开发
  • 做谷歌网站使用什么统计代码东莞seo网站排名优化公司
  • 做网站用的动漫资料html5网站建站书
  • 我做的网站搜不到中小型网站建设流程
  • 双拥网站建设申请公司建站系统
  • 网站app生成器贵州网站设计
  • 一个电信ip做网站卡不卡专门做家具的网站
  • 方案设计基本步骤抚顺网站seo
  • 刚备案的域名如何做网站营销软文是什么意思
  • 郑州做网站最好的公司九寨沟网站建设规划书
  • 金山集团网站建设龙华营销型网站制作
  • 设计数码产品宣传网站线报网站如何做
  • 濮阳公司网站建设企业最近营销热点
  • wordpress网站更改不见什么是seo和sem
  • 嘉兴做网站优化网站备案流程多少钱
  • 舜元建设 集团 有限公司网站电子商务网站有哪些类型
  • 制作外贸网站模板什么平台可以推广