java程序员-http://www.it-ebooks.info/

年轻的我,脚踩大地,仰望天空,路还很长....

博客园 首页 新随笔 联系 订阅 管理

1.操作系统是一个运行在硬件之上的软件系统,操作系统控制IO(磁盘,网络(socket)),cpu,内存的绝对控制权限,这些操作都是在内核空间完成的。

2.操作系统对外提供一些接口,其他接口可以调用这些接口控制外设,而用户的这些代码运行在用户空间里面,而这里里面的一些指令不能操作内核控制的一些设备或者内存区间。

3.大家都知道,IO(网络IO和磁盘IO)都是一种设备,需要读取磁盘和网卡,而这些设备用户不能直接控制,只能委托操作系统去调用,保证安全。而IO的描述符大小是有限制的,这与操作系统的实现有关,比如同时最多打开多少个文件,并发连接数的最大个数,而这些在hadoop生态系统就会遇到。

4.IO里面的网络IO和磁盘IO读写的内存数据拷贝,效率低下(有用户buffer拷贝到内核buffer,再有内核buffer拷贝到IO设备的Buffer),所以为了减少拷贝。

posted on 2014-10-04 23:18  gstsyyb  阅读(240)  评论(0编辑  收藏  举报