操作系统复习总结——文件管理

🔥博客主页:真的睡不醒

🚀系列专栏:深度学习环境搭建、环境配置问题解决、自然语言处理、语音信号处理、项目开发

💘每日语录:但愿每次回忆,对生活都不感到负疚。

🎉感谢大家点赞👍收藏⭐指正✍️

目录

一、文件管理概述

1、文件基本概念

(1)定义

(2)基本调度单位

(3)文件结构

2、文件控制块与索引节点

(1)文件属性

(2)文件控制块(FCB)

(3)索引结点

3、文件的操作(操作系统向上提供哪些功能?)

4、文件保护 

(1)加以控制的访问类型

(2)访问控制

5、文件的逻辑结构

(1)文件的逻辑结构是什么?

(2)按逻辑结构划分,文件的分类

1)无结构文件(流式文件)

2)有结构文件(记录式文件)

①顺序文件

6、文件的物理结构

​编辑

(1)连续分配

(2)链接分配

1)隐式链接

 2)显式链接

(3)索引分配 

(4)总结

 7、逻辑结构和物理结构区分

1、逻辑结构

2、物理结构

3、总结​

二、文件目录

三、文件系统

🚀🚀🚀感谢关注我的CSDN博客!


一、文件管理概述

1、文件基本概念

(1)定义

        文件就是一组有意义的信息或者数据的集合。

        文件是以硬盘为载体的存储在计算机上的信息集合,可以是文本文档、图片、程序等。

(2)基本调度单位

       系统运行时,计算机以进程为基本调度单位进行资源的调度和分配;

        用户进行输入、输出时,以文件为基本单位。

(3)文件结构

        ①数据项:文件中最低级的数据组织形式,可分为:

  • 基本数据项。描述一个对象的某种属性的一个,数据中最小的逻辑单位。
  • 组合数据项:多个基本数据项组成。

        ②记录:一组相关数据项的集合,描述一个对象在某方面的属性。

        ③文件:指由创建者所定义的、具有文件名的一组相关元素的集合,可分为

  • 有结构:文件由若干个相似的记录组成。
  • 无结构:被当作一个字符流,如一个二进制文件或字符文件。

2、文件控制块与索引节点

(1)文件属性

        ①文件类型

        ②文件长度

        ③文件的物理地址

        ④文件的建立时间

(2)文件控制块(FCB)

        文件控制块是什么?

        文件控制块(PCB)是用来存放控制文件需要的各种信息的数据结构,以实现“按名存取”。

        一个FCB称一个文件目录项,文件目录:FCB的有序集合。

        FCB包含什么?

  • 基本信息:文件名、文件的物理地址、文件的逻辑结构、文件的物理结构等。
  • 存取控制信息:文件的主存取权限、核准用户的存取权限、一般用户的存取权限。
  • 使用信息:文件建立时间,上次修改时间。

(3)索引结点

        为什么要采用索引结点?

        有的系统(UNIX)采用了文件名和文件描述信息分开的方法,使文件描述信息单独形成一个成为索引结点的数据结构。具体解释P230

        索引结点的分类?

        ①磁盘索引结点

        指存放在磁盘上的索引结点。每个文件有一个唯一的磁盘索引结点。

        ②内存索引结点        

        指存放在内存中的索引结点。当文件被打开时,将磁盘索引节点复制到内存的索引结点中

3、文件的操作(操作系统向上提供哪些功能?)

        文件名不必使打开文件表的一部分,一旦完成对FCB在磁盘上的定位,系统不再使用此文件名字。

        每个打开的文件都有以下关联信息:

        ① 文件指针

        ② 文件打开计数

        ③ 文件磁盘位置

        ④ 访问权限 

4、文件保护 

(1)加以控制的访问类型

        读、写、执行、添加、删除、列表清单。

(2)访问控制

精简的访问列表:

① 拥有者。创建文件的用户。

② 组。一组需要共享文件且具有类似访问的用户。

③ 其他。系统内的所有其他用户。

5、文件的逻辑结构

(1)文件的逻辑结构是什么?

        从用户观点出发看到的文件的组织形式。而物理结构是从实现观点出发看到的文件在外存上存储组织形式。

        文件的逻辑结构与存储介质特性无关,指在文件内部,数据逻辑上是如何组织起来的。

(2)按逻辑结构划分,文件的分类

  1)无结构文件(流式文件)

        是最简单的文件组织形式。无结构文件将数据按顺序组织成记录并积累、保存,是有序相关信息项的集合,亿字节为单位。

        优点:文件管理简单,用户可以更方便的对其进行操作。

        缺点:记录访问只能通过穷举搜索的方式,对大多数应用不适用。

2)有结构文件(记录式文件)
①顺序文件

        什么是顺序文件?

        文件中的记录一个接一个地顺序排列,记录同工厂是定长地,可以顺序存储或以链表新形式存储。

        顺序文件又被分为以下两种结构:

        串结构:记录之间的顺序与关键字无关,按存入时间先后排序,对串接够文件进行检索必须从头开始顺序依次查找,比较费时。

        顺序结构:文件中的所有记录按关键字排列,可采用折半查找,效率高。

②索引文件

③索引顺序文件

④直接文件或散列文件       

6、文件的物理结构

        问:为什么要研究文件的物理结构?

        目标:件的物理结构就是研究文件的实现,即文件数据在物理存储设备上是如何分布和组织的。

        两方面回答:

        ①文件的分配方式:讲的是对磁盘非空闲块的管理。

        ②文件存储空间管理:讲的是对磁盘空闲块的管理。

         图示:

        文件分配对应于文件的物理结构。如何为文件分配磁盘块。

        常用的磁盘空间分配方法:

        ①连续分配

        ②链接分配

        ③索引分配

(1)连续分配

        要求每个文件在磁盘上占有一组连续的块。连续分配时,逻辑文件中的记录也顺序存储在相邻接的块中。 

        优点:

        实现简单,存取速度快。

        缺点:

        ①文件长度不宜动态增加,因为一个文件末尾后的盘块可能已分配给其他文件,一旦需要增加,就需要大量移动盘块。

        ②为保持文件的有序性,删除和插入记录时,需要对相邻的记录做物理上的移动,还会动态改变文件的长度。

        ③反复增加删除文件后会产生外部碎片(与内存管理分配方式中的碎片相似)。

        ④很难确定一个文件需要的空间大小。

(2)链接分配

        链接分配是一种离散分配方式。

        优点:

        ①消除了磁盘的外部碎片,提高了磁盘的利用率。

        ②可以动态地为文件分配盘块,无需事先知道文件地大小。

        ③对文件地插入、删除、修改也非常方便。 

 链接分配又分为:显式链接和隐式链接。

1)隐式链接

 2)显式链接

(3)索引分配 

        为什么要进行索引分配?

        虽然链接分配解决了连续分配的外部碎片和文件大小管理的问题,但依旧存在问题:

        ① 链接分配不能有效支持直接访问(FAT除外)

        ②FAT需要占用较大内存空间。

        事实上,在打开某个文件时,只需要将该文件的对应盘块的编号调入内存中即可,没有必要将整个FAT调入内存。

        为此,索引分配每个文件所有的盘块号都集中放在一起构成索引块(表)

        索引表存放的磁盘成为索引块。文件数据存放的磁盘块称为数据块。

 (4)总结

 7、逻辑结构和物理结构区分

1、逻辑结构

2、物理结构

3、总结

二、文件目录

三、文件系统

        什么是文件系统?

        操作系统中负责管理和存储文件信息的软件机构成为文件管理系统,简称文件系统。

        文件系统由以下三部分组成:①与文件管理有关的软件 ②被管理文件 ③实施文件管理所需的数据结构

        文件系统需要完成那些功能?

        对用户而言,文件系统最主要的功能是实现对文件的基本操作,让用户可以按名存储和查找文件,组织成合适的结构,并应当具有基本的文件共享和文件保护功能。

        对于操作系统本身而言,操作系统还需要管理与磁盘的信息交换,完成文件逻辑结构和物理结构的变换,组织文件在磁盘上的存放,采取好的文件排放顺序和磁盘调度方法以提升整个系统的性能。

🚀🚀🚀感谢关注我的CSDN博客!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/198943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搜维尔科技:AI时代,迈向2030元宇宙数字人戏曲教育数字化思维、战略与未来!

一场关于中国传统戏曲与数字媒体交汇的探讨之旅将于今日在清华大学开讲,本次活动旨在推动AI时代大背景下,利用元宇宙、数字人等创新技术焕发中国传统戏曲全新活力。 讲座以“AI时代,迈向2030元宇宙数字人戏曲教育数字化思维、战略与未来”为主…

【Linux系统编程】开发工具yum和vim

目录 一,yum工具的使用 1,yum的介绍 2,yum的使用 二,vim工具的开发 1,vim的介绍 2,模式的使用 3,vim配置文件 4,sudo配置文件 一,yum工具的使用 1,y…

弱口令防护和网站防盗链有什么用

弱口令防护主要针对用户账户的安全。弱口令是指容易被猜测或破解的密码,如常见的密码、简单的数字序列或字典中的单词等。弱口令防护的目的是防止恶意用户或攻击者通过猜测或暴力破解密码的方式获取合法用户的账户权限。通过实施强密码策略、密码复杂度要求和账户锁…

【EI会议征稿中|航空航天领域】第二届航空航天与控制工程国际学术会议(ICoACE 2023)

第二届航空航天与控制工程国际学术会议(ICoACE 2023) 2023 2nd International Conference on Aerospace and Control Engineering 2023年第二届航空航天与控制工程国际学术会议(ICoACE 2023)将于2023年12月15-17日在江苏南京召开…

Selenium+Unittest+HTMLTestRunner框架更改为Selenium+Pytest+Allure(一)

背景:之前的框架,Selenium是3.x版本,现在更新到4.15版本后,一些写法如find_element_by_xxx 不再支持,改为find_element(By.xxx)的方式,同时由于Unittest不如Pytest在执行方面灵活(比如只执行冒烟…

数据库安全运维系统厂家在深圳的有哪些?咨询电话多少?

IT小伙伴都知道,数据库安全运维至关重要,因为随着信息技术的不断发展,数据库已经成为企业存储、管理和处理数据的关键平台,数据库承载着企业不少数据资产。因此使用数据库安全运维系统是必要的。那你知道数据库安全运维系统厂家在…

计算机网络:可靠数据传输(rdt)、流水协议、窗口滑动协议

文章目录 前言一、Rdt1.Rdt1.02.Rdt2.03.Rdt2.14.Rdt2.25.Rdt3.0 二、流水线协议1.滑动窗口(slide window)协议发送窗口接收窗口正常情况下的2个窗口互动异常情况下GBN的2个窗口互动异常情况下SR的2窗口互动GBN协议和SR协议的异同 2.小结 总结 前言 Rdt…

宝塔上安装mysql遇到的问题

宝塔上安装mysql遇到的问题 文章目录 宝塔上安装mysql遇到的问题一、下载mysql二、启动报错三、设置密码四、解决报错bash未找到命令mysql五、继续修改root密码五、宝塔中设置端口六、使用连接工具连接数据库 一、下载mysql 宝塔软件商店里下载mysql,然后点击启动。…

ELasticsearch:什么是语义搜索?

语义搜索定义 语义搜索是一种解释单词和短语含义的搜索引擎技术。 语义搜索的结果将返回与查询含义匹配的内容,而不是与查询中的单词字面匹配的内容。 语义搜索是一组搜索引擎功能,其中包括根据搜索者的意图及其搜索上下文理解单词。 此类搜索旨在通过…

python自动化操作:批量处理照片尺寸并输出到word文档中【第14篇—python-照片尺寸批量处理输出】

文章目录 一.背景二.需求三.实现源码3.1 项目结构3.2 源码3.3 核心调节照片大小 四.代码解释五.实现效果六.心得总结 一.背景 在当今数字化时代,照片处理和文档编辑是许多领域中不可或缺的任务。从个人创作到企业文档,人们经常需要快速而有效地处理大量…

Linux IO多路转接之epoll

文章目录 一、epoll初识 二、epoll的相关系统调用 1.epoll_create 2.epoll_ctl 3.epoll_wait 三、epoll工作原理 四、epoll的工作方式 本文主要介绍了epoll内部工作机制,如何达到高性能的多路转接。技术有限,如有错误请指正。参考文献:…

【Redis】Redis 的学习教程(十三)Redis 各场景

由于Redis 支持比较丰富的数据结构&#xff0c;因此他能实现的功能并不仅限于缓存&#xff0c;而是可以运用到各种业务场景中&#xff0c;开发出既简洁、又高效的系统 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo…

第三节:提供者、消费者、Eureka

一、 提供者 消费者&#xff08;就是个说法、定义&#xff0c;以防别人叭叭时听不懂&#xff09; 服务提供者&#xff1a;业务中被其他微服务调用的服务。&#xff08;提供接口给其他服务调用&#xff09;服务消费者&#xff1a;业务中调用其他微服务的服务。&#xff08;调用…

QThread之moveToThread用法

简介 使用moveToThread函数的流程如下&#xff1a; 1、创建一个类继承自QObject类或其子类&#xff0c;并在其中定义所要执行的多个任务&#xff0c;执行多个任务就要定义相应的信号。 2、任务通过moveToThread指定所要执行的线程。 3、线程通过start启动 4、通过信号与槽机制…

【AI绘画】万字长文——(超详细)ControlNet的详细介绍使用Stable Diffusion的艺术二维码完全生成攻略

目录 前言一、名词解释1-1、Stable Diffusion介绍1-2、ControlNet介绍1-2-1、ControlNet介绍&工作原理1-2-2、ControlNet控制方法介绍 1-3、案例分析1-3-1、室内装修设计1-3-2、品牌创意海报 1-4、stable-diffusion-webui 的参数解释 二、生成方法2-1、图像到图像2-1-1、二…

Python使用netmiko配置华为交换机

一、netmiko介绍 1.更适合网络设备的自动化运维模块。 二、场景 1、批量查询 2、批量配置变更、备份 三、项目地址 GitHub - ktbyers/netmiko: Multi-vendor library to simplify Paramiko SSH connections to network devices 三、使用步骤 1.安装netmiko pip install ne…

D6208单片双向马达驱动电路国产芯片,工作电源电压范围宽(4.5V~15.0V),内设保护二极管采用SOP8封装

D6208 是一块单片双向马达驱动电路&#xff0c;它使用TTL电平的逻辑信号就能控制卡式录音机和其它电子设备中的双向马达。该电路由一个逻辑部分和一个功率输出部分组成。逻辑部分控制马达正、反转向及制动&#xff0c;功率输出部分根据逻辑控制能提供100mA&#xff08;典型值&a…

腾讯地图系列(二):微信小程序添加插件(三种方法)以及插件AppId获取

目录 第一章 前言 第二章 添加插件 2.1 微信小程序添加插件方法一&#xff08;微信公众平台添加插件&#xff09; 2.2 微信小程序添加插件方法二&#xff08;通过项目配置添加插件&#xff09; 2.3 微信小程序添加插件方法三&#xff08;微信公众平台服务市场添加插件&…

spring mvc理解

spring mvc M&#xff1a;model 模型 V&#xff1a;view 视图 C&#xff1a;controller 控制器 S: service 服务处理 D: Dao 数据持久化 视图 我理解就是web页面&#xff0c;帮助用户调用后端接口。 前后端分离之后&#xff0c;view似乎就和后端没什么关系了。 模型 格式…

zabbix6.4监控交换机发现ICMP报错Ping item must have target or host interface specified

报错信息&#xff1a; 查看监控项&#xff1a; 修改键值&#xff1a; 保存再次检查&#xff0c;发现又报错/usr/sbin/fping: [2] No such file or directory 原因是&#xff0c;zabbix-server上没有安装fping工具 解决方法&#xff1a;yum install fping -y 之后数据采集正常…