`
yangyou230
  • 浏览: 1639384 次
文章分类
社区版块
存档分类

《计算机操作系统》学习笔记(四)---文件管理

 
阅读更多

一、文件与文件系统

1、三级数据组成:数据项,在文件中最低级的数据组织形式;记录,是一组相关数据项的集合;文件,可分为有结构文件和无结构文件,有结构文件由若干个记录组成,无结构文件可看成一个字符流,文件在文件系统中是一个最大的数据单位。

2、文件系统:文件系统包括三方面

(1)对象及其属性,如文件、目录、磁盘存储空间;

(2)对对象操纵和管理的软件集合,这是文件管理系统的核心部分,包括对文件存储空间的管理、对文件目录的管理、逻辑地址转物理地址、文件读写管理、文件共享保护等;

(3)文件系统接口。

二、文件的逻辑结构

(1)顺序文件

顺序文件分为串结构(关键字无序)和顺序结构(关键字有序)。它们只是一个记录接着一个记录存放着,对串结构的顺序文件只能关键字一个一个地对比,直至找到,对顺序结构的顺序文件可使用折半查找、插值查找等有效算法快速检索

(2)索引文件

分索引区和数据区。索引区包括关键字(n),纪录长度(m)和记录的首地址(ptr)。数据区是由一个接着一个的不定长记录组成的。检索时,通过关键字在索引区找到相应的目录项,从而得到m和ptr之后,再从ptr指向的地址(在数据区)开始,读或写m长度的数据。

(3)索引顺序文件

与索引文件类似,只是其数据区是有一组一组定长记录组成的,而索引文件的数据区是由一个一个不定长记录组成。索引顺序文件的索引区包括关键字与逻辑地址,检索时,通过关键字在索引区找到相对应的目录项,从而得到逻辑地址后,再从该逻辑地址处(在数据区)开始,顺序对比n个记录的的关键字直至找到该记录为止。


(4)直接文件和哈希文件

此类文件的检索是通过哈希函数与关键字计算出逻辑地址,再从该逻辑地址处读取数据。

三、文件的物理结构

(1)连续分配

为一个文件分配的盘块是相邻的,一般位于一条磁道,进行读/写时一般不必移动磁头,这样形成的物理文件称为顺序文件。在文件目录的目录项中只需给出首盘块号与盘块数,即可顺序读取数据。


(2)链接分配

链接分配的盘块之间不是连续的,而是多个离散的盘块依靠指针前后链接着,读取数据可以顺着指针一个一个盘块地读取。


隐式链接:在文件目录的目录项中,只需给出首盘块号与末盘块号,而中间的盘块则依靠指针链接在一起。



显式链接:该种方式是把所有的盘块的链接关系制作成一张表(FAT),该表放在内存中,每次找下一个盘块时,只需从这张表上找即可,找到后再到相应的盘块中读取数据。文件目录的目录项只需给出首盘块号即可。


(3)索引分配

索引分配是把该文件用到的盘块号制作成表,该表不在内存中,而是在外存中。文件目录的目录项只需给出该表所在的盘块号,从该盘块将表读到内存后,再根据该表给的所有盘块号读取数据。


四、目录管理

(1)文件控制块

在Linux中,文件名是与索引节点分开。文件名放在内存中目录的目录项里面供检索用,待找到与该文件名相对应的目录项之后,再根据该目录项提供的指针从外存中读入索引节点。


(2)目录结构

单级目录结构

两级目录结构

多级目录结构(树型目录结构)

五、文件存储空间的管理

(1)空闲表法(用顺序表记录着空闲盘块号)和空闲链表法(用指针将所有空闲盘块链接成一个链表)


(2)位示图法(一个存放存放0或1的二维数组,1表示已分配,0表示空闲)


(3)成组链接法(索引法)


六、文件共享

(1)基于索引节点的共享方式


(2)利用符号链实现文件共享






分享到:
评论

相关推荐

    操作系统的学习笔记

    《计算机操作系统》课程适用于计算机科学、软件工程、电子工程、通信工程、自动控制等信息技术相关专业,教学单元组织为六个部分:计算机操作系统概述、处理器管理、存储管理、设备管理、文件管理、并发程序设计。...

    《操作系统》学习笔记(思维导图)

    《王道2020考研操作系统》学习笔记(思维导图) 主要包括 1、进程管理 2、存储系统 3、文件管理 4、外设管理

    Linux学习笔记-面试必备

    1、Linux简介:一种开源的、免费的操作系统,安装在计算机硬件上、用来管理计算机的硬件和软件资源的系统软件。 Linux注重安全性、稳定性、高并发处理能力,但缺乏优异的可视化界面。 2、Linux发行版本:Linux在...

    computer_basics_study_notes:计算机基础学习笔记,包含计算机组成原理+操作系统+计算机网络

    计算机基础学习笔记,包含计算机组成原理+操作系统+计算机网络。 一、计算机组成原理 todo 二、操作系统 1. 进程管理 作业管理 储存管理 文件管理 Linux 文件系统 设备管理 2. - 线程同步 -- 互斥量 - 线程同步 -- ...

    计算机操作系统(第三版)

    《计算机操作系统》可作为计算机硬件和软件以及计算机通信专业的本科生教材,也可作为从事计算机及通信工作的相关科技人员的参考书。 目录 第一章 操作系统引论 1.1 操作系统的目标和作用 1 1.1.1 操作系统的...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《Java JDK 7学习笔记》将IDE操作纳为教学内容之一,使读者能与实践结合,提供的视频教学能更清楚地帮助读者掌握操作步骤。 内容简介 书籍 计算机书籍  《java jdk 7学习笔记》是作者多年来教学实践经验的总结...

    我的操作系统笔记学习记录

    跟随408王道老师所学,目前学习进度第五章文件管理未学,跟随桂电教学进度学习已学磁盘管理此节,后续还要补充

    unix上课学习笔记.txt

    3管理交换空间(虚拟内存)从硬盘启动一部分空间,操作系统通过频繁的换入换出达到内存够用的效果 4管理进程: 程序 静态的 进程 启动程序成了进程,每个进程都对应程序的唯一标识 线程 一个进程对应多个线程 5...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    JSP基于SSM云笔记资料文件共享网设计+源代码+文档说明+数据库.zip

    (2)系统管理员:系统管理员员可以管理用户的基本信息,用户类型信息的管理,笔记信息管理,笔记收藏管理,留言信息管理,新闻公告信息管理等基本的信息管理。 实体ER属性: 用户: 用户名,登录密码,姓名,性别,...

    C#6.0学习笔记——从第一行C#代码到第一个项目设计(第一个包)

    开发环境搭建、语法基础、面向对象编程、类型转换、字符串处理与数学运算、控制台应用程序、变体的应用、集合与泛型、调试与单元...系统信息管理、文件与流、序列化技术、数据库访问技术、反射、网络编程、互操作性等...

    C#6.0学习笔记——从第一行C#代码到第一个项目设计(第二个包)

    开发环境搭建、语法基础、面向对象编程、类型转换、字符串处理与数学运算、控制台应用程序、变体的应用、集合与泛型、调试与单元...系统信息管理、文件与流、序列化技术、数据库访问技术、反射、网络编程、互操作性等...

    操作系统原理知识总结.zip

    详细总结 加截图的 操作系统原理知识总结 可配套计算机四级操作系统部分来学习!

    net学习笔记及其他代码应用

    程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 37.String s = new String(\"xyz\");创建了几个String Object? 答:...

    《计算机应用基础》读书笔记.doc

    读书笔记 类型: 课程学习 名称: 计算机应用基础 时间:2006.7.7 体裁:说明文 " 知识内容与结构 "备 注 " "一.知识整体结构层次1说明: " " "计算机基础知识 " " "计算机软件 (系统软件-—操作系统) " " "计算机...

    Sysprep Chief Executive Officer系统封装首席执行官

    简称Sc,由系统总裁网站(http://www.sysceo.com/)开发研制,是一款面对Windows操作系统封装的一款辅助工具,界面友好、简单易用、智能高效、自定义强,是学习研究系统封装爱好者的首选。 我的效果图: ...

    自己动手写操作系统(含源代码).part2

    首先是操作系统的名字改变了,原因在于虽然我们的试验性 OS从前辈们那里借鉴了很多东西,但其各个部分的设计(比如文件系统和内存管理)往往有其独特之处,所以我将原先的 Tinix(本意为 TryMinix)改成了新名字...

    .net技术资料大全(语言规范 源码教程 学习笔记 技术资料 .net代码生成器)

    如何与资源管理器互动剪切、拷贝、粘贴文件.txt 深入理解C#编程中的组件-事件-委托.txt 生成透明的GIF图片 .txt 生成压缩图片时的2种方法.txt 使用C#返回系统特殊路径.txt 使用VisualC#.NET检查Windows版本....

    自己动手写操作系统(含源代码).part1

    首先是操作系统的名字改变了,原因在于虽然我们的试验性 OS从前辈们那里借鉴了很多东西,但其各个部分的设计(比如文件系统和内存管理)往往有其独特之处,所以我将原先的 Tinix(本意为 TryMinix)改成了新名字...

    网络安全、金融安全、等保2.0系列等参考标准集合.zip

    商业银行信息科技风险管理指引学习笔记 网上银行网络安全架构探讨 网上银行系统信息安全通用规范 银行业信息系统现场检查指南 云计算对我国商业银行的发展启示 支付管理信息系统数字证书管理办法 金融服务 信息安全...

Global site tag (gtag.js) - Google Analytics