您的位置:首页 > 理论基础

让学计算机的学生退学的两个原则--额外的层和cache

2010-02-09 18:06 246 查看
计算机科学的发展史就是一个分层的历史,如果你想不动上面不动下面而在中间插入一个功能,那么你就提供一个层次,如果你做到了上面所说的,但是苦于效率低下,那么就提供一个cache层。层的例子:应用程序->标准库->操作系统->硬件;OSI网络模型。cache的例子:cpu的cache;文件系统的页面cache;页表本身对于虚拟内存管理中也是一个cache。分层是为了无限扩展,cache是为了衔接不匹配的各个模块,分层和cache有的时候会冲突,比如基于TCP/IP的协议栈的实现,有的时候为了效率,为了尽量少的访问速度相对cpu较慢的pci总线,数据包往往不是按照协议栈标准从上到下依次推进,而是出现了TEO和TSO之类的技术,由物理层来完成传输层的一些动作,正如名称所示,将tcp层的cpu的工作卸载到pci设备网卡上。引申一步,所有的打乱当前规则行为的不规则行为都应该被尽量减少或者避免,比如正常运行的cpu被中断完全是为了照顾外设(不考虑cpu的出错检测),但是外设不能上房揭瓦,如果cpu和外设是由一个厂商设计和生产的,完全没有有中断,照顾毕竟是照顾,永远不能将中断作为主导,所以有了NAPI。
如果你明白了上面的两个原则,你就退学吧!
本文出自 “我来,我看,我征服” 博客,请务必保留此出处http://dog250.blog.51cto.com/2466061/1274066
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: