操作系统 -文件管理

文件操作:

File is an abstract data type
 Create
 Write
 Read
 Reposition within file
 Delete
 Truncate
 Open(Fi) – search the directory structure on disk for entry Fi, and move the content of entry to memory
 Close (Fi) – move the content of entry Fiin memory to directory structure on disk

文件访问方式:

1Sequential Access

2 Direct Access


基于目录的操作 perations Performed on Directory

 Search for a file
 Create a file
 Delete a file
 List a directory
 Rename a file
 Traverse the file system


设置目录的作用:Organize the Directory (Logically) to Obtain

 Efficiency – locating a file quickly
 Naming – convenient to users
 Two users can have same name for different files
 The same file can have several different names
 Grouping – logical grouping of files by properties


目录结构:

1Single-Level Directory

2Two-Level Directory

3Tree-Structured Directories


文件访问权限类型:Types of access

 Read
 Write
 Execute
 Append
 Delete
 List


分层文件系统架构:


应用层:文件

逻辑文件系统:文件的逻辑块

文件组织模块层:文件管理单元将文件的逻辑块映射成物理块

基本文件系统层:控制驱动程序

I/O控制层:控制物理文件的读写

设备层:磁盘 ,存放物理文件


文件控制块内容:



虚拟文件系统架构:


 VFS allows the same system call interface (the API) to be used for different types of file systems.


目录实现方法:

1. Linear list of file names with pointer to the data blocks.
 simple to program
 time-consuming to execute
2. Hash Table – linear list with hash data structure.
 decreases directory search time
 collisions – situations where two file names hash to the same location
 fixed size


文件内存管理方法:

 Contiguous allocation:Each file occupies a set of contiguous blocks on the disk

连续分配:创建文件时,给文件分配一组连续的块
优点
简单
支持顺序存取和随机存取
顺序存取速度快
缺点
外部碎片;
预分配;

Extent-based file systems allocate disk blocks in extents
 An extent is a contiguous block of disks
 Extents are allocated for file allocation
 A file consists of one or more extents.


 Linked allocation

链式分配方法:创建文件时,每块都包含指向下一块的指针

优点
提高了磁盘空间利用率,不存在外部碎片问题
有利于文件插入、删除和扩充
缺点
存取速度慢,适宜顺序存取,不适于随机存取
链接指针占用一定的空间
可靠性问题
 Indexed allocation


索引分配方法:创建文件时,文件的信息存放在若干不连续物理块中。在文件分配表中有一个一级索引。支持顺序和直接访问,最普遍的一种文件分配形式。

优点
既能顺序存取,又能随机存取
满足了文件动态增长、插入删除的要求
能充分利用外存空间
缺点
需要访问两次内存:索引表、具体物理块
索引表本身带来了系统开销


优 点
1.索引节点大小固定,并且相对较小;
2小文件可以快速访问,减少处理时间;
3.文件大小满足应用程序需求;


Free-Space Management (Cont.)
 Bit map requires extra space
 Example:
block size = 212bytes
disk size = 230bytes (1 gigabyte)
n = 230/212= 218bits (or 32K bytes)
 Easy to get contiguous files
 Linked list (free list)
 Cannot get contiguous space easily
 No waste of space


Grouping分组(成组链接法):

把n个空闲块的地址存放在第一个空闲块中,其中前n-1个块是真正空闲的,最后一个块包含另一组个块是真正空闲的,最后一个块包含另一组n块的地址,……

优点:可以迅速找到大量的空闲盘块,不象标准链接列表方法。

Counting 计数:

保持首个空闲块的地址以及其后连续空闲块的数量n.

空闲空间列表的每个条目由一个磁盘地址和一个计数组成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值