Linux操作系统
文章平均质量分 76
yamaxifeng_132
努力、奋斗
展开
-
Zero-Copy && mmap
转载:http://www.linuxjournal.com/article/6345?page=0,0本地文件网络传输过程 传统的文件读写过程,涉及到系统调用read、write,产生了4次上下文切换、2次CPU拷贝和2次DMA拷贝,CPU拷贝会占消耗CPU资源,成本高,而DMA拷贝是驱动进行的,对CPU的消耗很小,具体过程如下:Step one: the read system...转载 2019-02-22 21:42:44 · 416 阅读 · 0 评论 -
Linux的零拷贝技术(zero-copy)
1. 使用直接 I/O 的数据传输 如果应用程序可以直接访问网络接口存储,那么在应用程序访问数据之前存储总线就不需要被遍历,数据传输所引起的开销将会是最小的。应用程序或 者运行在用户模式下的库函数可以直接访问硬件设备的存储,操作系统内核除了进行必要的虚拟存储配置工作之外,不参与数据传输过程中的其它任何事情。直接 I/O 使得数据可以直接在应用程序和外围设备之间进行传输,完全不需要...转载 2019-02-22 21:33:42 · 392 阅读 · 0 评论 -
内存映射文件原理探索
一直都对内存映射文件这个概念很模糊,不知道它和虚拟内存有什么区别,而且映射这个词也很让人迷茫,今天终于搞清楚了。。。下面,我先解释一下我对映射这个词的理解,再区分一下几个容易混淆的概念,之后,什么是内存映射就很明朗了。原理首先,“映射”这个词,就和数学课上说的“一一映射”是一个意思,就是建立一种一一对应关系,在这里主要是只 硬盘上文件 的位置与进程 逻辑地址空间 中一块大小相同的区域之间的...转载 2019-02-22 09:23:20 · 104 阅读 · 0 评论 -
syntax error near unexpected token `do
这种情况发生的原因是因为你所处理的文件换行符是dos格式的"\r\n"可以使用cat -v 文件名来查看换行符是否是。如果是上述的,则行结尾会是^m,需要转换成linux/unix格式的"\n"。#!/bin/sh^M ^M #frist^M #test script ^M #auther data^M ^M for file in *^M do^Mif grep -q POSIX $file^...原创 2018-03-06 11:58:30 · 14547 阅读 · 0 评论 -
Ubuntu报错
Ubuntu报错转载 2017-10-11 21:17:41 · 341 阅读 · 0 评论 -
shell脚本报错:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory
今天写了一个shell脚本,然后在执行的时候报错,脚本内容很简单,仅供测试:Shell代码 #!/bin/sh echo "test shell " #!/bin/shecho "test shell "具体报错信息如下:Shell代码 [root@localhost test]# ./test.sh -bash: .转载 2017-05-02 23:34:46 · 15687 阅读 · 2 评论 -
Linux中常用操作命令
Linux中常用操作命令Linux简介及Ubuntu安装常见指令系统管理命令打包压缩相关命令关机/重启机器Linux管道Linux软件包管理vim使用用户及用户组管理文件权限管理大牛笔记-www.weixuehao.com来自:http://www.weixuehao.com/archives/25Linux简介及Ubuntu安装L原创 2017-02-07 23:18:39 · 245 阅读 · 0 评论 -
MAC设置环境变量path的几种方法
MAC设置环境变量path的几种方法转载 2016-10-31 20:01:31 · 628 阅读 · 0 评论