OS学习-文件管理
1文件与文件系统
1.1文件概念
文件,是被命名的数据集合,一般存放在外存(硬盘、软盘、光盘、U盘等)。
1.2文件的分类
(1)系统文件:操作系统创建,仅供系统使用;
(2)用户文件:用户创建且使用权归创建者;
(3)库文件:系统创建,供系统和用户使用,如一些常用函数和程序。用户只能调用,不能修改。
2.1文件目录的结构
(1)一级目录结构
文件系统的全部文件都登记在一个目录中。
(2)二级目录结构
文件系统将目录分为两级:用户目录和主目录。系统为每个用户建立一个文件目录,成为用户目录。主目录用于管理所有的用户目录。
(3)树形目录结构
将第一季目录作为系统目录,成为根目录。目录树中的非叶子节点作为目录文件。
Linu文件目录管理及其操作命令
1.树形目录结构
1)Linux系统将所有文件的说明信息采用树形结构组织起来,整个文件系统有一个“根”,然后在根上分叉,任何一个分叉都可再分叉。
根和分叉在Linux中被称为是目录或文件夹,而叶子则是一个个的文件。
2.工作目录,用户主目录与路径
1)工作目录和用户主目录
用户在登录Linux系统后,每时每刻都处在工作目录或当前目录。用户初始登录到系统中,其主目录就成为其工作目录,工作目录用"."表示。其父目录用".."表示。每个用户都有自己的主目录,不同用户的主目录一般互不相同。用户刚登陆系统时,其工作目录便为该用户主目录,通常与用户登录名相同。
2)路径
路径分为相对路径和绝对路径。绝对路径指从“根”开始的的路径,相对路径是从用户工作目录开始的路径。
3)Linux系统主要目录说明
3.1文件存储空间管理
首先,应区分两个概念:文件存储空间管,即操作系统对外存的管理,也是对空闲块的组织和管理;存储管理,即主要是对内存的管理,也是对用户区进行管理。
目前常用的管理技术有空闲表法,空闲块链接法,位示图法。
3.1.1空闲表法
以空闲块为单位进行登记,表中的每一项记录空闲区域的起始块号和块数。文件在外存中分配和回收时,调整空闲区表。
内存分配算法
1)最先适应算法
空闲块按首地址递增的顺序登记,找到第一个满足要求的空闲区即实施分配。
2)最佳适应算法
空闲区按大小递增顺序登记,找到第一个满足要求的空闲区即实施分配。
3)最差适应算法
空闲区按大小递减顺序登记,搜索表中首项,若满足则分配,否则分配失败。
空闲块分配方法
采用上述三种方法,从空闲表中选择空闲区分配给某个文件。若分配后还有剩余,则作为一个新空闲区登记在空闲表;若无剩余则直接删除该项。
空闲块的回收
当用户删除文件时,系统将回收的物理块登记在空闲区表中;若存在相邻的空闲区,则合并在一起。
为什么对内存和外存的管理,在采用空闲区表方法时,一个是记录首地址和长度,一个是记录块号和块数?
因为CPU访问内存是根据地址访问;而CPU访问磁盘时是根据数据在磁盘的哪个磁道,柱面,移动读写磁头,从而找到所在的块。
3.1.2空闲块链接法
1.单链接法
利用指针将外存中的空闲块链接在一起,当申请者需要空闲块时,分配程序从链首开始摘取所需连接块;反之,管理程序把回收的空闲块逐个挂入链首。
成组链接法
把空闲块分成若干组,将指向同一组的指针集中在一起。每组的第一个空闲块登记下一组的组号和空闲数。
3.1.3位示图法
原理
1)利用一串二进制记载盘块的使用情况
2)0表示未分配;1表示已分配。