从数值上看,文件描述符是一个非负整数,其本质就是一个句柄,所以也可以认为文件描述符就是一个文件句柄。那么何为句柄呢?一切对于用户透明的返回值,即可视为句柄。用户空间利用文件描述符与内核进行交互;而内核拿到文件描述符后,可以通过它得到用于管理文件的真正的数据结构。

使用文件描述符即句柄,有两个好处:一是增加了安全性,句柄类型对用户完全透明,用户无法通过任何hacking的方式,更改句柄对用的内部结果,比如Linux内核的文件描述符,只有内核才能通过该值得到相应的文件结构;二是增加了可扩展性,用户的代码只依赖于句柄的值,这样实际的结构的类型就可以随时发生变化,与句柄的映射关系也可以随时改变,这些变化都不回影响任何现有的用户代码。
Linux的每个进程都会维护一个文件表,以便维护该进程打开的文件信息,包括打开的文件的个数、每个文件的偏移量等信息。
Linux是基于x86架构的操作系统。x86架构是一种广泛应用于个人电脑和服务器的处理架构。它最初由英特尔开发,并得到AMD等其他公司的支持和发展。x86架构使用的指令集是x86指令集,这是一种基于复杂指令集计算(CISC)的指令集。
除了x86架构外,Linux还被移植到了其他架构上,包括ARM、PowerPC、MIPS、SPARC等。这些架构适用于各种不同的设备,如智能手机、嵌入式系统、服务器等。因此,Linux可以运行在多种不同架构的硬件上,并且提供了跨平台的能力。
linux系统结构包括:内核、shell、文件系统和应用程序。同时内核、shell和文件系统一起构成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。他主要结构包括:内核、shell、文件系统和应用程序。同时内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。