操作系统学习:
第四章–文件管理
什么是文件系统?
文件系统是对常规文件和目录的组织集合。在Linux中,用来创建文件系统的命令是mkfs,而且在Linux及其他类Unix系统中,并不区分文件和目录:目录就是记录了其他文件名的文件。
什么是文件?文件是怎么来的?
现代操作系统为解决信息能够独立于进程之外被长期存储而引入了文件,文件作为进程创建信息的逻辑单元可以被多个进程并发使用。
文件时进程创建的信息逻辑单元。一个磁盘一般含有几千甚至几百万个文件,每个文件都是独立于其他文件的
关于绝对路径和相对路径以及分割符
每个文件都赋予一个绝对路径,它是从根目录到文件的路径组成;而相对路径是相对于当前目录(也叫工作目录)来说的,用户可以指定一个目录为当前工作目录,这时,所有的不从根目录开始的路径名都是相对于工作目录的。说白了就是绝对路径以根目录为起点,别的都是相对路径。
在Unix及类Unix系统中,路径各部分之间用“/”分割。在Windows中,分割符是“\”。
1) 用户调用接口
文件系统为用户提供与文件及目录有关的调用,如新建、打开、读写、关闭、删除文件,建立、删除目录等。此层由若干程序模块组成,每一模块对应一条系统调用,用户发出系统调用时,控制即转入相应的模块。
2) 文件目录系统
文件目录系统的主要功能是管理文件目录,其任务有管理活跃文件目录表、管理读写状态信息表、管理用户进程的打开文件表、管理与组织在存储设备上的文件目录结构、调用下一级存取控制模块。
3) 存取控制验证
实现文件保护主要由该级软件完成,它把用户的访问要求与FCB中指示的访问控制权限进行比较,以确认访问的合法性。
4) 逻辑文件系统与文件信息缓冲区
逻辑文件系统与文件信息缓冲区的主要功能是根据文件的逻辑结构将用户要读写的逻辑记录转换成文件逻辑结构内的相应块号。
5) 物理文件系统
物理文件系统的主要功能是把逻辑记录所在的相对块号转换成实际的物理地址。
6) 分配模块
分配模块的主要功能是管理辅存空间,即负责分配辅存空闲空间和回收辅存空间。
7) 设备管理程序模块
设备管理程序模块的主要功能是分配设备、分配设备读写用缓冲区、磁盘调度、启动设备、处理设备中断、释放设备读写缓冲区、释放设备等。
《现代操作系统》读书笔记
概述:文件时手操作系统管理的。有关文件的构造,命名,访问,使用,保护,实现和管理方法都是操作系统设计的主要内容。从总体上看,操作系统中处理文件的部分称为文件系统。
4.1 文件
文件时一中抽象机制,它提供一种在磁盘上保存信息而且方便以后读取的方法。
把文件看成字节序列为操作系统提供了最大的灵活性
把文件作为记录序列的中心思想时:读操作返回一个记录,而写操作重写活追加一个记录
普通文件是包含有用户信息的文件
目录是管理文件系统结构的系统文件
文件的访问方式:顺序访问;随机访问文件
所有的操作系统还会保存其他与文件相关的信息,如文件常见的日期和时间,文件大小等,这些附加信息称为文件属性,有些人称之为元数据
标志是一些位或短字段,用于控制或启用某些特殊属性
如果路径名的第一个字符是分隔符,则这个路径就是绝对路径