索引节点号、文件描述符、句柄在形式上都是一个非负整数,它们的机制为何
来源:互联网 发布:印度教知乎 编辑:程序博客网 时间:2024/05/22 21:14
1、系统给每个索引节点分配了一个号码,(该号码)也就是该节点在索引节点数组(即inode table)中的索引号(即数组下标号),称为索引节点号。
[Linux 中的 VFS 文件系统之基础知识:挂载的含义]
2、文件描述符在形式上是一个非负整数。实际上,它是一个索引(关键)值(或叫索引主键值),指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于UNIX、Linux这样的操作系统。
优点
文件描述符的优点主要有两个:
- 基于文件描述符的I/O操作兼容POSIX标准。
- 在UNIX、Linux的系统调用中,大量的系统调用都是依赖于文件描述符。
如,fd <span class="sy0">=</span> open<span class="br0">(</span>path<span class="sy0">,</span> O_CREAT <span class="sy0">|</span> O_RDONLY<span class="sy0">,</span> <span class="nu8">0644</span><span class="br0">)</span><span class="sy0">;中的fd就是一个文件描述符。</span>
缺点
文件描述符的概念存在两大缺点:
- 在非UNIX/Linux操作系统上(如Windows NT),无法基于这一概念进行编程。
- 由于文件描述符在形式上不过是个整数,当代码量增大时,会使编程者难以分清哪些整数意味着数据,那些意味着文件描述符。因此,完成的代码可读性也就会变得很差,这一点一般通过消除魔术数字来解决。
像上面提到的索引节点号、文件描述符,还有windows系统里的句柄在形式上都是一个非负整数,他们的机制基本类似,如下图所示:
0 0
- 索引节点号、文件描述符、句柄在形式上都是一个非负整数,它们的机制为何
- 给一个二叉树,每个节点都是正或负整数,如何找到一个子树,它所有节点的和最大?
- 输入一个非负整数得到下三角矩阵的行列号
- 文件、描述符与索引节点总结
- Linux 文件描述符与索引节点
- 给定一个非负整数数组,最初定位在数组的第一个索引处。组中的每个元素表示您在该位置的最大跳跃长度。求最小跳数
- 文件描述符,文件句柄的区别
- 一个数组内的非负整数,能组合成的最大整数
- 小于k的非负整数
- 非负的高精度整数类实现
- 打印非负整数阶乘的函数
- 计算两个非负整数的最大公约数
- 非负整数的O(n)基数排序
- 求两个非负整数的最大公约数
- 计算两个非负整数的最大公约数
- 文件描述符、文件描述符表、打开文件表、目录项、索引节点之间的联系
- 写一个递归函数:输入一个非负整数,返回组成它的数字之和
- 高精度非负整数
- LR的一些讨论
- ContentProvider的生命周期
- ushare代码分析
- 实现图片上传预览,火狐,谷歌,360亲测可行
- Java RandomAccessFile用法
- 索引节点号、文件描述符、句柄在形式上都是一个非负整数,它们的机制为何
- Mount failed. Please check the log file for more details gluster
- ASP.NET 生成图片水印、验证码文字的字体
- OpenThreads线程库
- 5 --> java数据类型的转换
- 新郎致辞---暂存,备用
- uchome二次开发 ajax异步提交数据
- jafka的demo实例非集成zooker
- App Store审核指南中文版(2014.9.10更新):新增Apple Pay相关内容