首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

关于文件描述符跟句柄

2012-07-01 
关于文件描述符和句柄关于文件描述符和句柄?今天jojo突然问我们:“什么叫做句柄?”。我对句柄不是很清楚(Win3

关于文件描述符和句柄

关于文件描述符和句柄

?

今天jojo突然问我们:“什么叫做句柄?”。我对句柄不是很清楚(Win32下没有怎么编过程),但是我对文件描述符是比较清楚的。但是我觉得应该是差不多的,所以我就这么回答她了:“句柄应该类似与Unix下的文件描述符,是一个内核对象标识。根据这个标识,进程可以访问相应的内核对象。至于为什么不直接返回内核对象地址,原因我想有两个:1. 内核对象驻留在内核地址空件,而进程没有权限访问内核地址空间。C标准库中的File对象返回指针,那是因为它是用户库。2. 不给定内存地址,有利于内核(用户进程也一样)做内存空间调整和优化,而保持对外部透明。很多数据库存储引擎,就是这么实现的——一种称之为slotted page的技术。”晚饭的时候跟几个同事一起讨论了一下,发现很多人都认死数组偏移量其实就是地址,在编译器实现上是这样的,但是对于应用程序来说却不是这样的。PS:看源码看多了,你会发现很多程序喜欢隐藏实现细节,大量用了typedef XXX YYY。有个英文单词叫做“欧派奇”(具体拼写我忘记了)

热点排行