文件
内核用三种相关的数据结构来表示打开的文件:
1)描述符表 : 每个进程都有它独立的描述符表,它的表项是由进程打开的文件描述符来索引的.每个打开的描述符表项指向文件表中的一个表项.
2) 文件表 : 打开文件的集合是由一张文件表来表示的,所有的进程共享这张表.每个文件表的表项组成包括有当前的文件位置,引用计数(当前)指向该表项的描述符项数,以及一个指向v-node表中对应表项的指针。关闭一个描述符会减少相应的文件表项中的引用计数。内核不会删除这个文件表表项,直到它的引用计数为零。
3)v-node表 : 同文件表一样,所有的进程共享这张v-node表。每个表项包含stat结构中的大多数信息,包括st_mode和st_size成员.
下图是一个实例,其中描述符1和4通过不同的打开文件表表项来引用两个不同的文件,这是一种典型的情况,没有文件共享,并且每个描述符对应一个不同的文件:
多个描述符也可以通过不同的文件表表项来引用同一个文件。例如,如果以同一个文件名调用open函数2次,就会发生这种情况。关键思想是每个文件描述符都有它自己的文件位置,所以不同描述符的读操作可以从文件的不同位置获取数据:
- 大小: 47.7 KB
- 大小: 12.2 KB
- 大小: 16.4 KB
分享到:
相关推荐
HTTP文件共享小工具是一款便捷高效的文件分发和共享解决方案,尤其适合在局域网或互联网环境中快速分享大文件。这款小软件以其简单的设置流程、快速的传输速度和出色的稳定性赢得了用户的青睐。 首先,我们来了解...
### Windows 10 文件共享不安全问题解析及解决方法 #### 一、问题概述 在使用Windows 10操作系统访问共享文件时,可能会遇到“因为文件共享不安全,所以你不能连接到文件共享”的提示。这主要是由于系统默认禁用了...
Linux 文件共享服务是将Linux系统中的文件和目录暴露给网络中的其他系统,以便进行数据交换和协作。在Linux中,有几种主要的文件共享服务,包括Samba、FTP(使用vsftpd)以及NFS(网络文件系统)。下面将详细介绍...
在Windows Server 2016操作系统中,文件共享配额是一项重要的管理功能,它允许管理员控制用户或特定文件夹的存储使用量。设置配额的主要目的是有效地管理存储资源,防止个别用户或文件夹过度占用存储空间,从而影响...
联想工程师专用小工具 文件共享工具V3.52.1联想工程师专用小工具 文件共享工具V3.52.1联想工程师专用小工具 文件共享工具V3.52.1联想工程师专用小工具 文件共享工具V3.52.1联想工程师专用小工具 文件共享工具V3.52.1...
在局域网内实现文件共享功能,Python提供了多种方法,其中最基础的是使用内置的`sockets`模块。本篇文章将详细探讨如何使用Python的sockets模块来创建一个简单的局域网文件共享系统。 首先,我们要了解局域网文件...
虚拟机 LINUX 与主机 WINDOWS 文件共享 在虚拟机 LINUX 和主机 WINDOWS 之间实现文件共享需要使用 SAMBA 服务器。 SAMBA 是一个功能强大的开源软件,可以实现 LINUX 和 WINDOWS 之间的文件共享。下面将详细介绍如何...
阡陌局域网文件共享软件是一款专为解决局域网内文件共享问题而设计的应用程序。在Windows操作系统环境中,设置文件夹共享往往涉及到复杂的网络配置和权限设定,这对于普通用户来说可能较为困难,而且不同版本的...
php实现文件共享(其于windows网上邻居原理) 通过本php文件,在进行相关设置后,您可以方便的看到共享目录中的文件,以及相应的说明,便于能够迅速找到自己想要的文件。 找到想要的东西后,直接点击文件夹名打开...
标题中的“-远程文件共享工具-”指的是用于在网络上分享文件的工具,这类工具允许用户将本地计算机上的文件通过网络提供给他人访问或下载。在描述中提到的功能是生成临时网址,然后将这个网址发送给朋友,使他们...
"基于Linux和windows之间文件共享网络服务研究" 本文研究了基于Linux和Windows之间文件共享网络服务,解决了Linux和Windows操作系统之间文件共享的问题。论文中介绍了使用Samba服务来实现文件共享,详细介绍了Samba...
【标题】:“p2p文件共享程序” 【描述】:“p2p文件共享程序 java课程设计 java设计……” 本文将详细解析基于Java实现的P2P(peer-to-peer)文件共享程序的设计与实现,这是一种利用互联网技术让网络中的每个...
### 在VMware的Ubuntu虚拟机中实现与Windows文件共享 #### 环境配置与准备工作 在本教程中,我们将详细介绍如何在VMware Workstation环境下搭建一个Ubuntu虚拟机,并实现Ubuntu虚拟机与宿主机(假设为Windows操作...
- 在局域网内实现文件共享,一般可以采用SMB(Server Message Block)协议,这是一种由Microsoft开发的网络文件共享协议,Delphi可以通过Windows API调用SMB服务进行文件共享操作。 4. **源码解析**: - "delphi...
阡陌 3.1.8.1 局域网文件共享工具是一款专为解决传统“网上邻居”功能不便而设计的应用程序。在Windows系统中,虽然内置了“网上邻居”功能,但用户在进行局域网内的文件共享时可能会遇到速度慢、连接不稳定或操作...
"Linux系统下用Samba工具实现文件共享及共享打印机的配置" Linux系统下用Samba工具实现文件共享及共享打印机的配置是指使用Samba工具在Linux系统下实现文件共享和共享打印机的配置,这个过程需要对Samba工具的配置...
【标题】:“jsp办公室文件共享系统” 【描述】:这个办公室文件共享系统是基于BS(Browser-Server)架构设计和实现的,旨在提供一个高效、便捷的文件共享平台,使得办公室内的员工能够轻松地访问、存储和协作处理...
局域网文件共享服务器搭建初稿方案 一、服务器搭建 在局域网文件共享服务器搭建中,我们需要首先创建用户账户和组管理。 Step1 中,我们需要右键单击【我的电脑】图标,选择【管理】命令,打开“计算机管理”窗口...
HTTP方式的文件共享是互联网上常见的数据交换方法之一,它基于超文本传输协议(Hypertext Transfer Protocol),允许用户从Web服务器下载或上传文件。这种共享机制简单、高效且广泛应用于各种在线服务,如网站、云...