1.复习要点提要

文件管理系统、文件的基本概念操作、文件目录、文件的逻辑组织与访问、文件记录与数据块的关系、文件共享、文件存储空间与空闲空间的管理

预先提出的问题:

什么是文件?文件由什么组成?文件如何命名?如何保证文件数据的安全?对文件可以进行哪些操作?文件在磁盘上如何存储?磁盘的空白存储区如何管理 ?

2.文件系统概述

2.1文件系统的功能

有效地管理文件的存储空间;管理文件目录;完成文件的读/写操作;实现文件共享与保护;为用户提供交互式命令接口和程序调用接口。

2.2交互式文件系统的基本服务

用户可以创建、删除、读取或更新文件;一个用户可以受控制地访问其他用户的文件;可以控制不同用户对不同文件的访问权限;用户可以根据实际需要重新构造文件;允许用户在两个文件之间移动数据;用户能备份文件,且能在文件被毁坏时,恢复文件;用户可以通过符号名访问文件。

2.3文件系统

文件系统是指,操作系统中的各类文件、管理文件的软件,以及管理文件所涉及到的数据结构等信息的集合。有少数文件系统从操作系统中分离出来,独立于操作系统存在绝大多数操作系统都包含文件管理系统部分。

3.文件系统与数据库管理系统

数据库管理系统依赖文件系统:数据库管理系统负责数据定义及操作;文件系统只处理无结构、无格式的字节流。数据库管理系统独立于文件系统。

4.文件

文件是一种具有符号名的、相关联元素的有序集合 。各种程序、数据集合都是文件;一些低速的字符设备,如键盘、终端显示器和打印机等也被看着文件(把输入输出设备全部视为文件)。

4.1文件中的数据结构

字段或域(Field):字段具有唯一的值 ;字段的基本属性是长度、数据类型;字段长度一般分为固定、可变两种;复合字段由若干子字段组成,如工资字段(基本工资、工龄工资、职称工资)等。、
记录(Record):一组相关字段的集合。如学生记录(学号、姓名、性别、班级、平均成绩、名次、获奖情况)等。记录长度一般可分为固定、可变。可变长记录:字段长可变、字段数目可变。

4.2数据库

数据库是相关数据的集合,通常由若干数据库表格构成(数据库表格由若干记录构成,记录由若干字段构成)。数据库还可以由一种或多种类型的文件组成。数据库一般需要专门的数据库管理系统进行管理,数据库应用程序运行在数据库管理系统之上。

4.3文件的类型

按文件的逻辑结构分类:
无结构文件:无结构文件可以看成是一个字节流,其文件元素为一个“字符”或“字节”,有时又称为字节流文件,或流文件。
有结构文件:有结构文件的文件元素是一条记录,文件由若干相关记录组成。根据记录的组织方式不同,可以分为堆文件、顺序文件、索引顺序文件、索引文件和直接(哈希)文件。
按文件的物理组织结构分类 :
连续文件  把文件中的信息顺序、连续地存储到若干相邻的存储块中。
非连续文件:链接文件、索引文件。
按文件的物理组织结构分类 :
链接文件:文件中逻辑上连续的信息可以存储到分散各处的存储块中,各盘块通过其内的链接指针相连。一个文件的所有盘块形成一个链表,或用专门的存储块记载一个文件的所有盘块的起始地址。
索引文件:文件中逻辑上连续的信息可以存储到分散各处的存储块中。系统为每个文件建立一张索引表,一个索引表项记载一个存储块或一组连续存储块的起始地址。
按文件的保护级别分类
只读文件 :仅允许文件主及授权用户对其进行读操作的文件。用户的某些文件也可以设置成只读属性,不允许修改。
执行文件:只允许授权用户调用执行,不允许读/写的文件,如系统调用等某些公用程序。
读/写文件:只允许文件主及授权用户进行读或写的文件。
不保护文件:所有用户都可以访问的文件,不受系统的任何保护。 
按文件的性质和用途分类:
系统文件:指操作系统文件或其它系统文件。一般只能通过操作系统调用为用户服务。
用户文件:由用户的程序或数据组成的文件。
库文件:由系统提供给用户调用的各种标准过程、函数和应用程序等。这类文件允许用户调用,但不允许用户修改,如Windows的应用程序编程接口API,C语言的标准I/O库函数及通信库函数等。 
按文件中的数据形式分类:
源文件、目标文件、可执行文件
多媒体文件:
集成了数字、字符、格式化文本、可执行程序、图形、图像、声音等信息。多媒体文件需要的存储空间比传统的数字字符文件大约要高出5倍以上。例如,一页格式化的文本文件大约需要0.5KB ~ 1KB的存储空间,但同样尺寸的一页彩色图像大约需要10MB 存储空间。一般为变长记录文件。多媒体文件文件系统不仅要保存数据,而且还要保存大量的数据类型说明信息。

5.对文件的操作

对整个文件的操作
    — 建立文件、撤消文件、打开文件、关闭文件、复制文件、修改文件名、打印或显示文件内容等
对文件中的数据项的操作
    — 读操作、写操作、更新操作、插入操作、删除操作等 

5.1打开文件(Open file )

首先,根据文件名查找目录文件(由目录构成的文件),找到该文件的目录信息。然后,将该目录信息装入主存,建立相应的文件控制块FCB,并将文件的当前使用信息填入FCB中。最后,返回一个文件内部标识符。如果该文件具有某种存取控制,如只读,或可读/写,则文件打开时,这种存取控制也将作为参数同时返回。

5.2关闭文件(Close file )

将该文件FCB中的有关信息写入外存的目录信息中;撤消其FCB;释放文件占用的其它系统资源,切断用户与该文件的联系。

5.3建立文件(Create file)

分配必要的外存空间;建立一个目录项,记录新文件的文件名、建立时间等信息。

5.4撤消文件(Destroy file )

也称删除文件。系统删除一个文件必须至少完成两件事:第一,判断该文件可否被删除。若可以被删除,则首先删除文件的目录项,否则,给出相应提示。第二,回收该文件所占用的外存空间。

5.5复制文件(Copy file)

拷贝文件内容及其目录项。首先查找目录文件,找到该文件的目录项,从中找出该文件的外存地址;通过该地址找到文件内容;然后,将其目录项及文件内容,按指定的路径拷贝过去。

5.6修改文件名(Rename)

首先在目录文件中查找指定文件名的目录项;然后将其中的文件名更换成新的文件名。

5.7读操作(Read)

给出文件名和所读字节数。首先查找目录文件,找到指定文件的目录项,从中找出该文件的外存地址;然后,从该文件读指针所指位置开始,读取指定长度的字节数到缓冲区,同时该文件的读指针顺延指定长度的位置。最后,返回最新读指针位置值。如果读指针遇到文件结束标志,则给出相应提示信息。

5.8写操作(Write)

必须给出文件名和需要写的字节数。系统从缓冲区中将指定长度的信息写入指定文件写指针位置;将文件的写指针顺延指定长度的位置。

5.9更新操作(Update)

更新文件中的数据项时,系统调用中必须给出文件名、更新数据项的原值及替换值。首先从文件中查找指定数据项值,若找不到,则给出相应信息;若找到,则用替换值更新原值。用户可以指定更新次数或全部自动更新。

5.10插入操作(Insert)

在文件的指定位置添加新的数据项。对于无结构文件,插入一个数据项以后,其后所有字符的索引号将作相应调整;对于有结构文件,插入一个数据项,一般指增加一条记录,新记录之后的所有记录号也将作相应调整。

5.11删除操作(Delete)

删除文件中指定的数据项。首先查找文件中指定数据项,再将其删除。若找不到,则返回相应信息。用户可以指定删除数据项的位置,或将数据项在文件中的所有出现均删除。

[OS复习]文件管理相关推荐

  1. [OS复习]文件管理2

    1.文件目录 1.1文件目录的内容 基本信息:文件名.文件类型.文件组织等: 地址信息:卷(存储文件的设备).起始地址,(起始物理地址).文件长度(以字节.字或块为单位)等. 访问控制信息:文件所有者 ...

  2. OS复习——设备管理习题

    OS复习--设备管理习题 在I/O系统中引入缓冲的主要原因是什么?某文件占10个磁盘块,现要把该文件的磁盘块逐个读入主存缓冲区,并送用户区进行分析.一个缓冲区与磁盘块大小相等.把一个磁盘块读入缓冲区的 ...

  3. [OS复习]进程管理5

    线程 1.多线程 操作系统中引入进程的目的: 为了描述和实现多个程序的并发执行,以改善资源利用率及提高系统的吞吐量. 操作系统引入线程的目的: 这是为了减少程序并发执行时系统所付出的额外开销(减少管理 ...

  4. [OS复习]进程管理2

    问题:多个进程竞争内存资源 1.解决方法 方案一:采用交换技术,换出一部分进程到外存,以腾出内存空间 方案二:采用虚拟存储技术,每个进程只能装入一部分程序和数据(存储管理部分) 2.对换技术(交换技术 ...

  5. [OS复习]操作系统综述2

    1.操作系统的功能 操作系统的主要任务: (1)管理处理机 (2)存储器管理(内存) (3)管理输入/输出设备(外设) (4)管理数据文件(文件) (5)提供接口服务 1.1 接口功能: 指操作系统为 ...

  6. [OS复习]设备管理4

    1.引入磁盘调度的例子 假定:一个硬盘的扇区长度为512个字节,磁道长度为32个扇区,平均寻道时间为20ms,传输速率为1MB/s,转速为3600rpm.显然, 如果一个长度为128K个字节的文件存放 ...

  7. [OS复习]设备管理3

    1.磁盘设备的管理 1.1磁盘的性能和安全性 磁盘是计算机系统最重要的外部存储设备之一 .影响磁盘性能和数据安全性的主要因素: 1.磁盘性能参数:转速.寻道时间.磁盘缓存: 2.磁盘控制器:IDE.S ...

  8. [OS复习]设备管理2

    1.I/O缓冲技术 1.1缓冲技术的引入 缓解处理机与设备间速度不匹配的矛盾:实现设备与处理机一定程度的并行操作:减少设备的中断频率,放宽对中断响应时间的限制. 1.2提前读与延后写 指用户进程从 I ...

  9. [OS复习]设备管理1

    1.设备管理概述 设备管理的主要功能包括:设备分配.设备映射.设备驱动.I/O缓冲区管理 1.1设备分配 多道程序系统中的设备不允许用户直接使用,而是由操作系统统一调度和控制.设备分配功能是设备管理的 ...

最新文章

  1. lapack安装_VASP环境安装-BoltzTraP-1.2.5安装
  2. C++实现Linux下弹出U盘的方法
  3. 五百字简文告诉你美国为何要倾一国之力对中国的一家民营企业华为痛下杀手?...
  4. iOS之深入解析类加载的底层原理:类如何加载到内存中
  5. Oracle 中 for update 和 for update nowait 的区别
  6. java、Android 数组转集合
  7. Android 系统性能优化(81)---Android后台优化系列-background optimization-初识低耗电模式
  8. [转载] 七龙珠第一部——第112话 能恢复年轻吗 比克大魔王
  9. 例子:10秒后同意按钮可点击
  10. java 生成 流程图_几行代码生成流程图
  11. littlevgl技术参考手册_树莓派littlevGL系列教程:littlevGL简单了解
  12. 感悟哪吒的故事,我命由我不由天
  13. Apollo算法阅读之基于Sqp的Referenceline全局参考路线优化(含源码)
  14. uniapp 在线升级(热更新)及java后台
  15. ElasticSearch的简单了解和使用
  16. nginx: [error] CreateFile() “D:\nginx-1.21.6/logs/nginx.pid“ failed (2: The system cannot find the
  17. 3_IMX6ULL启动流程
  18. linux 获取优盘设备序列号变为小写再用MD5加密
  19. [转]计算机视觉入门
  20. 三维重建 阈值分割 3D可视化 医学图像分割 CT图像分割及重建系统 可视化编程技术及应用

热门文章

  1. 如何快速搭建开放、多租户的电商云平台
  2. 性能调优某大型银行的一个系统过程跟踪和记录
  3. qt学习之路3 ---信号与槽机制
  4. kafka记录及面试题
  5. linux 使用buildroot制作文件系统
  6. 5-struts2知识补充( 常用的struts2的标签,数据回显,防止重复提交)
  7. 一个tomcat部署俩个java web项目
  8. 使用JQUERY实现局部页面定时刷新
  9. windows 文件名太长无法删除的解决方法
  10. [最新答案V0.4版]微软等数据结构+算法面试100题[第41-60题答案]