课程:天津大学/软件学院/操作系统-李罡
本文章更新ing
1 概述
不考。
2 文件管理
2.1 文件与目录
- 文件是一组相关数据的集合,可以被理解为一个字符流或字节流。
- 按名存取。
2.1.1 文件类别
- 普通文件:图片、声音、视频……(狭义的“文件”)
- 目录(文件夹):可容纳子文件或子目录。
- 设备:输入、输出设备,逻辑设备(null、硬盘分区dev)……
2.1.2 文件结构
- 数组、链表、树状
- 操作系统不关心,应用程序关心。
2.1.3 文件属性
- 大小、权限、创建者、创建时间……(单独存放)
2.1.4 Inode
- inode是指在许多Unix文件系统中的一种数据结构,每个inode保存了文件系统中的一个文件系统对象(包括文件、目录、设备文件、socket、管道,等等)。
- 不存放数据内容和文件名。
- 可通过inode查找文件数据。
- inode与文件一一对应。
2.1.5 文件数据分配方式
- 用数据块存放文件的数据。
连续分配
- 方便随机访问。
- 难以修改数据内容。
链式分配
- 易于修改数据内容
- 不便于查找。
多级索引分配
- inode中的指针指向数据块。
- 对于大文件,inode中的指针指向指针块,指针块中的指针指向数据块。
- 查找速度快,可存放大文件。
2.1.6 目录树(目录层次结构)
一级目录
- 缺点:文件不能重名。
多级目录->目录树层次结构
- 有根目录,根目录下有子目录。
- 路径+文件名指明文件。
- WindowsOS有盘服,Unix系统没有。
2.1.7 目录内容
- 目录存放文件名及其inode,通过inode查找到文件数据。
- 文件名和文件内容分开存放。前者在目录中,后者在inode中。
2.1.8 共享文件
- 一个文件可以有多个链接(文件名)。
- 链接(link)(文件名)=== 硬链接(hard link),有一个属性(link counter 链接数)来记录链接的数量。
- 符号链接(symbolic link)=== 软链接(soft link),类似快捷方式,与link counter无关。
2.1.9 路径名
绝对路径
- 从根目录开始:/……
相对路径
- 从当前目录下的某个文件或目录开始:xxx/……
- 从当前目录的父目录开始:…/……
- 从当前目录开始:./……
- 从当前登录的人的主目录(家目录)开始:~/……
- 从指定的人的主目录(家目录)开始: ~xxx/……