您的位置:首页 > 其它

操作系统 -文件管理

2014-06-10 16:45 281 查看
文件操作:

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.

空闲空间列表的每个条目由一个磁盘地址和一个计数组成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息