免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2124 | 回复: 7
打印 上一主题 下一主题

[函数] 求教write函数的系统实现过程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-08 19:45 |只看该作者 |倒序浏览
听说系统先分配一个跟要写的内容大小同样的临时缓冲区  然后将数据拷贝到临时缓冲区中
网络发送数据是这样的吗  这样做有什么好处没有

论坛徽章:
0
2 [报告]
发表于 2007-01-08 20:01 |只看该作者
os 维护 buffer 和 cpu 的 cache, memory一个道理. 加快数据访问速度.
对于多次重复修改, 访问缓存的数据的肯定快. 还能有效减少I/O次数. 还可以多个进程间共享...好多都忘记了...
看bash unix内核设计实现...

论坛徽章:
0
3 [报告]
发表于 2007-01-08 20:16 |只看该作者
缓存 (cache) 和缓冲 (buffer) 起着不同的作用

论坛徽章:
0
4 [报告]
发表于 2007-01-08 20:25 |只看该作者
原帖由 langue 于 2007-1-8 20:16 发表
缓存 (cache) 和缓冲 (buffer) 起着不同的作用



hoho姐姐说得是...

不过我从感觉上还区分不出他们的区别, google 了 difference between cache and buffer ...viki 访问不了...

不过ORACLE有个 CACHE 数据的语法, 不过实际使用了 buffer... buffer 名词,一般都是大块大块的数据吧.. cache包括了动词...一般也都比较小...

理解水平有限, 但是 buffer 和 cache 的本质作用不会相距太远...真的要准确区分, 还得进一步理解....体会差异...

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
5 [报告]
发表于 2007-01-08 20:43 |只看该作者
cache的意思在于——
有个方法A可以获得对数据的访问,但是速度比较慢,那么就用另外一种方法把我最近可能访问或者可能访问最多的数据提取出来,而这些数据可以用方法B来访问。方法B的速度比方法A快,但是方法B可以获得的数据量比方法A少,只是A的一部分,那么就可能存在我要访问一个数据,方法B的这种快速可能会导致不命中(既方法B不能够访问该数据)。
cache的思想无论在硬还是软中都普遍存在

论坛徽章:
0
6 [报告]
发表于 2007-01-09 11:09 |只看该作者
网络发送数据过程中  到底分配了临时缓冲区没有

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:192015亚冠之广州恒大
日期:2015-07-22 17:20:15
7 [报告]
发表于 2007-01-09 12:35 |只看该作者
说是说write是nobuffered 实际上 也有缓冲区的 不过是内核 缓冲 内核把内核缓冲区的数据写入设备

论坛徽章:
0
8 [报告]
发表于 2007-01-09 18:22 |只看该作者
原帖由 ghostwwl 于 2007-1-9 12:35 发表
说是说write是nobuffered 实际上 也有缓冲区的 不过是内核 缓冲 内核把内核缓冲区的数据写入设备


是的,write() 在用户空间外是否缓冲,得看内核的具体设计与实现。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP