操作系统教程(第4版) 第六章 文件管理 高等教育出版社 2008年4月.

Slides:



Advertisements
Similar presentations
三级偏软考点. 第一章必考点 1. 计算机的进位数制 (1) 计算机中所有数据是二进制 0,1 表示 (2) 在现实生活中人们普遍使用十进制 如何把十进制转换成计算机所识别的二 进制?整数是除 2 取余法,小数是乘 2 取 整法.
Advertisements

操作系统 Operating System.
PURSUING EXCELLENCE / TOWARD SUCCESS WUCHANG UNIVERSITY OF TECHNOLOGY
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
数据结构 第8章 文件 山东大学管理学院.
第八章 文件系统 教学目的与要求: 1.掌握文件、目录等基本概念 2.理解并掌握文件结构、管理、保护与共享 重点与难点:
第六章 文件管理.
淄博信息工程学校 ZIBOIT&ENGINEERING VOCATONAL SHCOOL 03 交换机干道技术 计算机网络技术专业.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
实用操作系统概念 张惠娟 副教授 1.
第六章 文件管理.
实用操作系统概念 张惠娟 副教授 1.
Oracle数据库 Oracle 子程序.
文件系统 第8章 文件系统.
第六章    文件管理.
Linux 切换、 创建和删除目录 系统管理 宁波市高校慕课联盟课程
Hadoop I/O By ShiChaojie.
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
管理信息结构SMI.
辅导课程六.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
文件读写实践 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
第3章 Linux文件系统 任何操作系统都是基于文件系统上的,Linux中所有的内容都是由文件组成。文件系统是文件组织的抽象,学习Linux文件系统的相关知识有助于深入理解Fedora Core 6操作系统。Red Hat Linux操作系统从Red Hat 7.2版本开始就支持新的ext3文件系统,而不再使用以前的ext2文件系统。
逆向工程-汇编语言
CPU结构和功能.
第四章 附件 (应用程序软件包).
实验四 Linux文件目录 一、实验目的 1、了解Linux文件系统与目录操作; 2、了解Linux文件系统目录结构;
Windows 7 的系统设置.
第3章 信息与信息系统 陈恭和.
Java语言程序设计 清华大学出版社 第8章 输入输出流(1).
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第六章 文件管理 6.1 文件和文件系统 6.2 文件的逻辑结构 6.3 外存分配方式 6.4 目录管理 6.5 文件存储空间的管理
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第二章 登录UNIX操作系统.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
操作系统原理与设计 Operating Systems: Design and Implementation
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
VisComposer 2019/4/17.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
第11章 文件管理.
操作系统原理 Operating System Principles
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第9章 多媒体技术 掌握 Windows 画图工具的基本操作; 掌握 Windows 音频工具进行音频播放;
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
Google的云计算 分布式锁服务Chubby.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
VB与Access数据库的连接.
数据表示 第 2 讲.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
第十七讲 密码执行(1).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
第6章 文件管理 本章学习目标 6.1 文件与文件系统 6.2 文件的逻辑结构 6.3 文件的物理结构 6.4 UNIX系统文件索引结构举例
第七章 文 件 管 理 7.1 文件和文件系统 7.2 文件的逻辑结构 7.3 文件目录 7.4 文件共享 7.5 文件保护.
Presentation transcript:

操作系统教程(第4版) 第六章 文件管理 高等教育出版社 2008年4月

第六章 文件管理 6.1文件 6.2文件目录 6.3文件组织与数据存储 6.4文件系统其他功能的实现 6.5 Linux的文件管理 6.6 Windows 2003文件系统

文件系统概述(1) 文件系统是操作系统中负责存取和管理信息的模块,它用统一的方式管理用户和系统信息的存储、检索、更新、共享和保护,并为用户提供一整套方便有效的文件使用和操作方法。 文件的逻辑结构和存储结构。 逻辑文件和物理文件。

文件系统概述(2) 文件系统面向用户的功能 • 文件的按名存取 • 文件目录建立和维护 • 实现逻辑文件到物理文件的转换 •  文件的按名存取 •  文件目录建立和维护 •  实现逻辑文件到物理文件的转换 •  文件存储空间的分配和管理 •  提供合适的文件存取方法 •  实现文件的共享、保护和保密 • 提供一组可供用户使用的文件操作

6.1 文件 6.1.1 文件概念 6.1.2 文件命名 6.1.3 文件类型 6.1.4 文件属性 6.1.5 文件存取方法

6.1.1 文件的概念(1) 按用途分类: 按保护级别分类: 按信息流向分类: 按存放时限分类: 按设备类型分类: 按文件的结构分类: •文件是由文件名字标识的一组信息的集合。可按各种方法进行分类: 按用途分类: 按保护级别分类: 按信息流向分类: 按存放时限分类: 按设备类型分类: 按文件的结构分类:

文件的概念(2) 文件系统优点 用户使用方便 文件安全可靠 实现文件共享

6.1.2 文件的命名 文件是一个抽象机制,提供了把文件保存在磁盘上,用户不必了解信息存储细节且便于读取的方法,这一抽象机制中最重要的是文件命名。 文件名是字母或数字组成的字母数字串,它的格式和长度因系统而异。

6.1.3 文件的类型 •普通文件:ASCII/二进制 •目录文件: •特别文件:块设备文件、字符设备文件、管道文件。 操作系统支持不同类型文件: •普通文件:ASCII/二进制 •目录文件: •特别文件:块设备文件、字符设备文件、管道文件。

6.1.4文件的属性  •文件基本属性:  •文件类型属性:  •文件保护属性:  •文件管理属性: •文件控制属性:

文件保护属性(1) 文件保护属性用于防止文件被破坏,称为文件保护。包括两个方面: 一是防止系统崩溃所造成的文件破坏; 二是防止文件主和其他用户有意或无意的非法操作所造成的文件不安全性。

文件保护属性(2) 防止系统崩溃造成文件破坏的方法: • 定时转储 • 多副本 访问控制--防止文件主和其他用户有意或无意的非法操作所造成的文件不安全性,基本思想是建立三元组: (用户、对象、存取权限)

文件保护属性(3) 同组用户、其他用户三类, • 定义存取权限可读r、可写w、可执行x,文件属性共有10位: -rwxrwxrwx • UNIX/Linux把用户分为文件主、 同组用户、其他用户三类, • 定义存取权限可读r、可写w、可执行x,文件属性共有10位: -rwxrwxrwx

6.1.5文件的存取 存取方法是操作系统为用户程序提供的使用文件的技术和手段。 存取方法 1 顺序存取 2  直接存取 3  索引存取

6.2文件目录 6.2.1 文件控制块、文件目录与目录文件 6.2.2 层次目录结构 6.2.3 目录的检索

文件系统的分层结构 文件管理--实现文件的逻辑结构,为用户提供各种文件系统调用,及文件访问权限的设置等工作; 目录管理--负责查找文件描述符,进而找到需要访问的文件,及进行访问权限检查等工作; 磁盘主存映射管理--将文件的逻辑地址转换成磁盘的物理地址,即由逻辑块号找到柱面号、磁道号和扇区号,具体的数据传输操作由设备管理实现。

6.2.1 文件目录与文件目录项(1) 文件系统实现“按名存取”文件的重要手段是文件目录 文件系统基本功能之一是负责文件目录的建立、维护和检索。 文件目录项又称文件控制块FCB(File Control Block) 。

文件目录与文件目录项(2) 文件目录项内容 •有关文件存取控制的信息: •有关文件结构的信息: •有关文件使用的信息: 文件目录与文件目录项(2) 文件目录项内容 •有关文件存取控制的信息: •有关文件结构的信息: •有关文件使用的信息: •有关文件管理的信息:

文件目录与文件目录项(3) 文件目录项内容 •文件目录项 •文件目录 •目录文件

6.2.2层次目录结构(1) Linux和Windows层次目录结构 桌面 我的电脑 软盘 本地磁盘C: 本地磁盘D: user1 … CD驱动器 网络邻居 回收站 软盘(A:) 本地磁盘(C:) 本地磁盘(D:) CD驱动器(E:) B testfile.c tty00 / dev usr lib etc home tty01 bin man tmp passwd var fei1 myfile.c getty fei3 fei2 fei4 fei5

层次目录结构(2) 每一级目录可以是下一级目录的说明,也可以是文件的说明,形成层次关系。 多级目录结构采用树形结构,是一棵倒向有根树,树根是根目录;从根向下,每个树枝是一个子目录;而树叶是文件。 树型多级目录优点;

层次目录结构(3) 路径名 目录路径名 文件路径名 绝对路径名 相对路径名

UNIX/Linux特殊目录项建立方法(1) 14个字节 2个字节 inode号 文件名

6.2.3 文件目录的检索 不同角度的目录结构 (a)用户角度目录结构 (b)系统角度目录链接 usr myfil xyz home fei1 myfile.c fei3 fei2 A fei4 fei5 testfile.c B 685 . 100 .. 941 A 270 fei1 250 fei2 770 fei3 270 . 685 .. 302 myfile.c 250 . 685 .. 302 myfile.c 770 . 345 fei4 565 fei5 345 . 770 .. 302 testfile.c 565 . 824 B 不同角度的目录结构 (b)系统角度目录链接

6.3文件组织与数据存储 6.3.1 文件的存储 6.3.2 文件的逻辑结构 6.3.3 文件的物理结构

6.3.1 文件的存储(1) 卷是存储介质的物理单位。 物理卷和物理设备不总是一致的。 文件和卷 单文件卷 多文件卷 多卷文件 多卷多文件

文件的存储(2) 块: 存储介质上连续信息所组成的一个区域,也叫物理记录 块是主存储器和辅助存储设备信息交换的物理单位: 每次交换一块或整数块。 块大小: 需考虑用户使用方式、数据传输效率和存储设备类型等。 不同类型的存储介质,块大小通常不同 同一类型的存储介质,块大小也可不同 块间隙

6.3.2文件的逻辑结构 1 流式文件和记录式文件(1) 文件组织:文件中信息的配置和构造方式 文件组织的两个方面: 文件的逻辑结构 6.3.2文件的逻辑结构 1  流式文件和记录式文件(1) 文件组织:文件中信息的配置和构造方式 文件组织的两个方面: 逻辑结构 物理结构 文件的逻辑结构 用户角度出发 抽象的信息组织方式

流式文件和记录式文件(2) 文件逻辑结构分类:流式文件、记录式文件 流式文件 记录式文件 字节流文件,文件数据不再组成记录 例如:txt文档、视频文件等 读指针、写指针: read,write,seek 记录式文件 结构性文件,含有逻辑记录 注册表文件等

流式文件和记录式文件(3) 记录式文件包含若干逻辑记录,逻辑记录是文件中按信息在逻辑上的独立含意划分的信息单位。 分类: 记录式顺序文件 记录式索引顺序文件 记录键 索引文件

2 成组和分解(1) 逻辑记录和块的关系 逻辑记录:按信息在逻辑上的独立含义划分的单位 块:存储介质上连续信息所组成的区域 2  成组和分解(1) 逻辑记录和块的关系 逻辑记录:按信息在逻辑上的独立含义划分的单位 块:存储介质上连续信息所组成的区域 一个快可以包换多个记录,一个记录可以跨越多个记录 成组操作:多个记录合并成一组写入一个块 分解操作反之 块因子

成组和分解(2) 记录成组和分解处理过程 节省存储空间、提高I/O效率 逻辑记录1 逻辑记录2 逻辑记录3 物理记录 逻辑记录 用户缓冲区 系统缓冲区 节省存储空间、提高I/O效率

3记录格式和记录键 记录格式 定长记录:处理简单、浪费空间 变长记录:处理复杂、节省空间 跨块记录 记录键 主键,次键 单键记录,多键记录

6.3.3 文件的物理结构(1) 文件的物理结构 逻辑文件在物理存储空间中存放方法和组织关系。 文件的存储结构涉及:块的划分、记录的排列、索引的组织、信息的搜索,其优劣直接影响文件系统的性能。

文件的物理结构(2) 构造文件物理结构的方法 第一类计算法。 第二类指针法。

1顺序文件(连续文件 ) 顺序文件:文件中逻辑上连续的信息顺序存放到存储介质上相邻的块中 顺序文件变种: 紧凑顺序文件、扩展顺序文件 特点:逻辑记录顺序和物理记录顺序完全一致的文 优点:顺序存取快 缺点:查询慢、增删文件困难,浪费磁盘空间 顺序文件变种: 紧凑顺序文件、扩展顺序文件 连接顺序文件、划分顺序文件

2连接文件(串联文件)(1) 连接文件结构示意图 目录项 ……

连接文件(串联文件)(2) 连接文件使用连接字,又叫指针来表示文件中各个记录之间的关系 连接结构的优缺点 • 连接文件变种: 优点:增、删、改相对简单 缺点:指针和数据混存;下一个物理块的地址依赖于上一块 • 连接文件变种: 堆栈、队列、两端队列

3直接文件(哈希文件)(1) 记录的关键字与其地址间可通过某种方式建立对应关系,利用这种关系实现存取的文件叫直接文件。 hash表技术:记录关键字哈希值记录物理地址 常用于cache

直接文件(哈希文件)(2) 步1 构造转换(hash)函数 设文件名为8个ASCⅡ字符。构造的hash函数为模2加“⊕”,求已知文件名的ASCⅡ字符值的模2加值作为该文件的FCB所在物理块在目录文件中的索引A,那么, A= (a1⊕a2⊕…⊕a8)

直接文件(哈希文件)(3) 步2 建立目录文件(2) 直接文件(哈希文件)(3) 步2 建立目录文件(2) 目录文件采用索引结构,建立文件时由步1求出文件名的hash值A, 凡A值相同的文件的FCB都存放在同一个物理块。磁盘的物理块号存放在索引表中的相对位置应等于A值。

直接文件(哈希文件)(4) 步2 建立目录文件(2) 直接文件(哈希文件)(4) 步2 建立目录文件(2) 目录文件 A=10 26号物理块 file1文件控制块 file2文件控制块 10 26

直接文件(哈希文件)(5) 步3 查找文件 根据给定文件名,由步1算出该文件的FCB所在物理块号在索引表中的相对位置A。根据A就可找到该FCB所在物理块号, 把这个物理块读入主存缓冲区,用文件名逐个比较,找出要求的FCB。

直接文件(哈希文件)(6) 步4 溢出处理 物理块中存放的FCB是有限的,建立目录文件时,如果A值相同的文件数目超过物理块能容纳数时,产生溢出。 溢出时,系统再申请一个盘区,该区物理块号放在A+k的索引表目中,k是质数作为位移常数。 第二块盘区也溢出,则申请第三块,块号放在A+2×k表目中,依此类推。 查找目录时,如第一块找不到可找A+k表目中的物理块号,读出后继续比较,依次类推。

4索引文件(1) 索引文件 无键索引表 有键索引表 系统为每个文件建立索引表,指示文件数据所在的物理盘块号 实现文件的非连续存储 索引表是文件所在盘块号的序列 适用于流式文件 有键索引表 索引表包括记录键及其磁盘块号

索引文件(2) 两种索引文件 结构示意图 盘块号 记录键 文件 控制块 Key 1 Key 2 (b)有键索引表 (a)无键索 … 引表 Key N (b)有键索引表

索引文件(3) 索引顺序文件 索引顺序文件是顺序文件的扩展,各记录本身在介质上也顺序排列,有直接处理和修改记录的能力 索引顺序文件能象顺序文件一样进行快速顺序处理,既允许按物理存放次序(记录出现的次序);也允许按逻辑顺序(由记录主键决定的次序)进行处理。 二级索引。二级索引表的表项列出一级索引表每一块最后一个索引项的键值及该索引表区的地址,若干个记录的索引本身也是一种记录。查找时先查看二级索引表找到某键所在的索引表区地址,再搜索一级索引表找出数据记录。 三级索引。

索引文件(4) UNIX/Linux多重索引结构 1 2 3 4 5 6 7 8 9 10 11 12 … 127