首页 > 其他分享 >文件管理

文件管理

时间:2023-08-17 23:00:48浏览次数:9  
标签:文件 请求 管理 文件系统 访问 算法 磁盘

为了保证操作系统中文件的安全,采用方法

  • 定时转储备份文件

  • 设置文件访问控制列表


FAT文件系统

  • FAT指文件分配表

  • FAT16是指系统中用16位表示簇号

  • FAT文件系统是Windows支持的文件系统

  • FAT文件系统中文件的物理结构是链接结构

打开文件时所做工作

  • 检查文件名所对应的文件控制块是否已调入内存

  • 检查操作的合法性

  • 返回给用户一个文件描述符

进程控制块

  • 一个运行的进程打开新的文件,则指向该文件数据结构的关键指针存放在进程控制块中
  • 进程控制块含进程资源清单,列出除CPU外的资源记录,如拥有的I/O设备,打开的文件列表等

磁盘读写性能

  • 磁盘把访问时间分为三部分:寻道时间Ts,旋转延时时间Tr和传输时间Tt

  • 其中寻道时间Ts最能影响磁盘读写的性能 

虚拟页式存储管理系统

  • 若采用请求调页方式,当用户需要装入一个新的页面时,其调入的页面来自磁盘文件区

文件系统

  • 必须为每一个文件建立一个至少包含文件名和文件物理存储地址的数据结构,称为文件控制块(FCB)

  • 打开文件是使用文件的第一步

  • 打开文件操作的结果就是找到该文件的文件控制块(FCB)并送到内存

  • 完成打开文件操作时必须指定打开方式

  • 完成打开文件操作后系统返回文件描述符fd,通过返回的fd操作文件

  • 不是打开文件时所做的工作:填写文件控制块中的文件读写方式

  • 用户首次对文件访问通常给出文件的路径名,之后对文件的访问通常用文件描述符 

文件控制块

  • 文件名

  • 文件大小

  • 文件创建时间

  • 磁盘块起始地址


磁盘驱动调度的方法

先来先服务调度算法(FCFS)

  • 方法:按照访问请求的次序为各个进程服务。

  • 优点:最公平而又最简单的算法。

  • 缺点:磁头引臂的移动速度很慢,效率低。

  • 如果按照访问请求发出的次序依次读写各个磁盘块,则磁头引臂将可能频繁大幅度移动,容易产生机械振动,亦赵成较大的时间开销,影响效率。

最短寻道时间优先调度算法(SSTF)

  • 方法:以寻道优化为出发点,优先为距离磁头当前所在位置最近磁道(柱面)的访问请求服务。

  • 优点:改善了平均服务时间。

  • 缺点:可能有内磁道请求长时间得不到服务,缺乏公平性。

扫描算法(SCAN)(电梯算法)

  • 方法:当无访问请求时,磁头臂停止不动;当有访问请求时,磁头臂按照一定方向扫描。

  • 优点:既考虑距离,也考虑方向,且以方向优先,比较公平,且效率教高。

循环扫描算法(C-SCAN)

  • 方法:修改了原扫描路径,将双向的服务改为单向服务器

UNIX操作系统

  • 对文件系统中空间区的管理通常采用成组链接法

FAT32

  • 采用链接结构的文件物理结构

“文件物理结构、存取方式”组合不适合磁带上的文件

  • 文件的存储介质为磁带,那么访问该文件只能是顺序的访问,不能随机存取

  • 除了连续结构、顺序存取,其他都是不适合的

文件权限

  • 而具体的权限是由数字来表示的,读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示

  • Linux的ext2文件系统是区分文件名大小

  • 文件的保存期限,是创建文件时可以设置的缺省值

  • 用户打开文件表

  • 文件的存储方式依赖于文件的物理结构和存放文件的设备的物理特性

提高文件系统的性能

  • 块高速缓存

  • 磁盘驱动调度

  • 目录项分解法

提高文件目录检索效率

  • 引入当前目录

  • 采用相对路径文件名

  • 将目录项分解

  • 限制子目录个数(这个是错的) 

虚拟页式存储管理系统

  • 请求调页方式

  • 从磁盘文件区调入页面

  • 在磁盘调度算法中,平均寻道时间较短但容易引起饥饿现象的算法

  • 最短寻道时间优先算法SSTF

文件系统结构

  • 索引结构

  • 将逻辑上连续的文件信息分散存放在若干不连续的磁盘块中,并将所有磁盘块的地址集中存放在一张表


对外存储设备存取得过程

  • 读状态-置数据-置地址-置控制-读状态

标签:文件,请求,管理,文件系统,访问,算法,磁盘
From: https://blog.51cto.com/u_15763679/7128439

相关文章

  • CH32V003在MRS中的头文件定义
    在MRS的头文件core_riscv.h中有如下的定义。 #define__Ivolatileconst#define__Ovolatile#define__IOvolatile 上述定义,通过define语句把__IO等效为volatile,把__O等效为volatile,把__I等效为volatileconst。一般来说宏定义都用大写形式,但因......
  • 开发人员如何掌握向上管理的艺术
    什么是“向上管理”?向上管理的核心是与上级积极合作以实现共同目标的策略。这需要了解你的上级对你的期望,使之与你的目标相一致,并确保你们双方团结一致,实现共同的目标。对于开发人员来说,这不仅仅意味着要完成目标,还意味着要展示自己的价值,并帮助你的上级在他们的岗位上取得成功。向......
  • VisualStudio打包项目文件为.exe安装包
    前言:使用扩展:installProjects 注意事项:打包项目前,确保项目能正常运行,不然打包毫无意义。一、安装扩展打开vs软件->扩展->管理扩展->搜索installProjects->安装->重启软件二、制作安装包(setup文件)2.1、添加setup项目右击项目的解决方案->添加->新建项目->搜索setup,找到setupProj......
  • linux 中awk输出两个文件中重复的行
     001、[root@PC1test02]#lsa.txtb.txt[root@PC1test02]#cata.txt##测试文件8877jjffyyrrtt[root@PC1test02]#catb.txt##测试文件uurrttuu7788##将文件1保存到数组,##对文件2进行逻辑判断[root@......
  • linux 中awk命令输出两个文件中各自特有的行
     001、[root@PC1test02]#lsa.txtb.txt[root@PC1test02]#cata.txt##测试数据77jjjjeeww[root@PC1test02]#catb.txt##测试数据xxrree88ww[root@PC1test02]#awk'{if(NR==FNR){ay[$0]++};if(NR>FNR&&!ay[$0])......
  • 第三章内存管理
    1.内存的基础知识内存可存放数据。程序执行前需要先放到内存中才能被CPU处理――缓和CPU与硬盘之间的速度矛盾指令中的地址参数直接给出了变量x的实际存放地址(物理地址)1.绝对装入绝对装入:在编译时,如果知道程序将放到内存中的哪个位置,编译程序将产生绝对地址的目标代码。装......
  • 控制台启动 asp.net core 发布文件
    前言:  记录一下命令,忘了再来看看启动命令  dotnet项目名称.dll--urls=https://localhost:4200...(环境变量参数)  这种方式使用控制台启动。  --urls=https://localhost:4200属于环境变量参数,后面还可以追加其他环境参数......
  • Spring Cloud与Docker高并发微服务架构设计实施---注册管理中心
    创建注册管理中心在模块的项目配置pom.xml文件中引入“eureka-server”的依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></depen......
  • MySQL-进阶篇 ( MySQL 管理:各相关工具 )
    MySQL-进阶篇(MySQL管理)目录MySQL-进阶篇(MySQL管理)系统数据库常用工具mysql(Mysql客户端工具,-e执行SQL并退出)mysqladmin(Mysql管理工具)mysqlbinlog(二进制日志查看工具)mysqlshow(查看数据库、表、字段的统计信息)mysqldump(数据备份工具)mysql......
  • openGauss学习笔记-42 openGauss 高级数据管理-触发器
    openGauss学习笔记-42openGauss高级数据管理-触发器触发器会在指定的数据库事件发生时自动执行函数。42.1语法格式创建触发器CREATETRIGGERtrigger_name{BEFORE|AFTER|INSTEADOF}{event[OR...]}ONtable_name[FOR[EACH]{ROW|STATEMENT......