首先说一下文件的概念。文件,是在逻辑上具有完整意义的一组相关的一组相关信息的集合。它可以是一组相关的字
节流集合,也可以是一组相关的记录集合,通常被保存在外储存器上。
这里再啰嗦一点关于文件名的概念(因为这里是初学者最头疼的地方)。不同的操作系统,关于文件名的说法会略有不同。我们熟悉的Windows下文件名分为两部分:文件主名;文件扩展名。通常文件主名有一个特点,那就是见名知意;而文件扩展名在Windows中其实是一种约定俗成的用法。操作系统将特定的文件扩展名和特定的软件联系在一起。这就是为什么一个Word可以打开一个*.doc文件。
接下来说一下一个文件的组成。上面提到的文件名就是其中的一部分,但不是全部。文件大体上分两块:文件控制块;文件体。文件体是文件的主体;文件控制块是包括文件名在内的用于管理文件和说明文件特性的全部信息。然而这些东东是因文件管理系统的差异而略显不同的。
那么这里就不得不说一下文件管理系统了。一个文件文件管理系统自底向上可以分为以下若干层:文件管理系统接口;外存设备驱动程序;物理文件管理系统;I/O管理系统;逻辑文件管理系统;文件其属性。常见的文件管理器有我们熟悉的FAT和NTFS,而其他操作系统上还会有其他的文件管理系统。
啊!终于扯到文件的存取了。上面提到的文件管理系统就是操作系统中用来进行文件存取的东东。可以说文件管理系统的设计者是个天才(虽然这是个被现代社会所不认可的词汇)。设计者从两种不同的观点出发,一方面考虑用户思维中抽象的文件,另一方面研究在物理设备上保存的实实在在的文件。因此上就抽象出来了两种文件结构:逻辑结构和物理结构。
文件的逻辑结构有两种:流式结构和记录式结构。记录式文件在逻辑上就像是一组记录(这里引用到数据库中的词汇)的集合。然而,流式文件就像是一个单一记录的记录式文件。
再看物理结构。文件的物理结构分为三类:顺序结构;链式结构;索引结构。但是不管哪种结构,只是对文件处理带来方便,在磁盘上文件会统统变成了0、1位。
呵呵,本文参考自《操操作系统》一书。
分享到:
相关推荐
利用文件存取组件可以实现文件的创建、存取、磁盘操作以及对驱动器和文件夹的操作。
C++编写,控制台。 利用独自开发的类库设计应用程序,功能强大。... 详细设计和操作请参看设计报告。...若要了解类库的设计和使用,请参看本人的另一个资源(变长记录文件存取类库及测试)。支持原创,支持开源
c#网络应用编程实验指导与开发实例(马骏 编著)实验四 界面设计与文件存取 设计和处理个人存款相关的业务
数据结构大作业:变长记录文件存取类库. 设计一个类库,支持对变长记录文件的存贮、插入、删除、查找、修改等功能。文件中的每条记录可以有不同的大小,是任意长度的字节流。每条记录对应一个序号(记录号)和一个...
在上面的示例中,我们使用`load`函数从文本文件(`data.txt`)中加载数据,并使用`imread`函数从图像文件(`image.jpg`)中加载图像。...希望这份文档和示例源码对您理解如何在MATLAB中处理变量和进行文件存取有所帮助!
数据的增删改查(随机文件存取)数据存储没用数据库
Android 文件存取示例 基础文件操作 很基础的示例,主要讲了如何对文件进行简单操作,懂的人就别下载了
inux是一个多用户多任务的分时...另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
文件存取API封装,用于抽象和分离不同平台的文件存取操作
本压缩包包含一个Avaya IP-Office电话交换机的内部文件存取操作手册,一个G711播放器(可以验证用于Avaya IPO的音频文件的编码的正确性),和几个本人制作的,可以用于IPO系统级语音菜单的音频文件的范例,以供参考...
C++职工信息管理 实现文件存取操作,存在文件中的数据在下一次打开软件时,会自动读取到内存。
新版Android开发教程+笔记12--文件存取、数据库编程 新版Android开发教程+笔记12--文件存取、数据库编程
Android文件存取与数据库编程知识,文件操作主要是读文件、写文件、读取静态文件等,同时还介绍了创建添加文件内容并保存,打开文件并显示内容;数据库编程方面主要介绍了SQLite数据库的使用、包括创建、删除、打开...
C语言:文件存取.pdf
教程+笔记十二--文件存取、数据库编程.zip教程+笔记十二--文件存取、数据库编程.zip
在HDFS系统中,集群负载分配不均衡成为影响分布式文件存取速度的瓶颈。针对医院信息系统的负载现状,提出多属性双阈值决策的动态负载均衡算法,对分布式集群中使用HDFS默认的单属性评价、单阈值的负载均衡策略存在的...
c写的cgi留言板,代码不是很完善,用文件存取数据,供大家参考学习。
变长文件存取类库 B+树实现 可以改进的地方:使用模板对B+树代码进行抽象
Android文件存取与数据库编程知识 pdf Android文件存取与数据库编程知识 pdf