操作系统(17)文件和文件系统

一、文件

  1. 定义:文件是数据的有序集合,是用户存储信息于辅存的基本逻辑单位。文件可以是字符流构成的无结构文件,也可以是包含相似记录的结构化文件。

  2. 类型

    • 按性质和用途:系统文件(由系统软件构成的文件)、用户文件(用户委托文件系统保存的文件)、库文件(由标准子程序及常用的例程等组成)。
    • 按数据形式:源文件(源程序和数据构成的文件)、目标文件(源程序经编译器编译后的文件)、可执行文件(源程序经编译器编译后的目标代码与连接程序连接后所形成的文件)。
    • 按组织形式:普通文件、目录文件(由文件的目录信息构成的文件)、特殊文件(在UNIX系统中,所有的输入、输出设备都看成是特殊文件)。
    • 按信息保存期限:临时文件、永久文件、档案文件。
    • 按保护级别:只读文件、读写文件、可执行文件。
    • 按逻辑结构:流式文件和记录文件。
    • 按物理结构:顺序(连续)文件、链接文件、索引文件。
  3. 组成:文件包含文件体和文件控制块(File Control Block,FCB)两部分。文件体是文件的内容,而文件控制块是文件的说明信息,包括文件名、用户名、文件类型、文件的外存地址、文件逻辑结构、文件的物理结构等。

二、文件系统

  1. 定义:文件系统是操作系统用于明确存储设备(如磁盘、固态硬盘)或分区上的文件的方法和数据结构。它是操作系统中负责管理和存储文件信息的软件机构。

  2. 功能

    • 管理和调度文件的存储空间:提供文件的逻辑结构、物理结构和存储方法。
    • 文件映射:实现文件从标识到实际地址的映射。
    • 文件操作:实现文件的控制操作和存取操作。
    • 文件共享和保护:实现文件信息的共享,并提供可靠的文件保密和保护措施。
    • 用户接口:向用户提供一个方便使用的接口,即一组易用的文件操作命令。
  3. 特点

    • 提供友好的用户接口。
    • 文件存取操作对用户是透明的。
  4. 层次结构:文件系统的传统模型为层次模型,由许多不同的层组成。每一层通过下一层的功能特性来创建新的功能,并向上层提供更多的功能。这些层次包括符号文件系统、基本文件系统、物理文件系统等。

  5. 常见文件系统

    • FAT(File Allocation Table):微软在Dos/Windows系列操作系统中使用的一种文件系统的总称,包括FAT12、FAT16、FAT32。
    • NTFS(New Technology File System):Windows NT环境的文件系统,是Windows NT家族的限制级专用的文件系统。
    • CDFS:大部分光盘的文件系统。
    • exFAT:Microsoft在Windows Embedded 5.0以上版本中引入的一种适合于闪存的文件系统。
    • Ext:GNU/Linux系统中标准的文件系统,具有优良的存取文件性能。
    • Btrfs:由Oracle宣布并进行中的copy-on-write文件系统,目标是取代Linux的ext3文件系统。
    • ZFS:源自于Sun Microsystems为Solaris操作系统开发的文件系统,具有高存储容量和便捷的存储池管理功能。
    • HFS(HFS+):由苹果电脑开发并使用在Mac OS上的文件系统。
    • ReiserFS:能很有效率地处理从大型文件到众多小文件的文件系统。
    • JFS(JOURNAL FILE SYSTEM):一种字节级日志文件系统,借鉴了数据库保护系统的技术。
    • VMFS:VMware Virtual Machine File System,一种高性能的群集文件系统。
    • UFS:基于BSD高速文件系统的传统UNIX文件系统,是Solaris的默认文件系统。
    • ReFS(Resilient File System):在Windows 8.1和Server 2012中新引入的一个文件系统,旨在保持较高的稳定性。

总结

       综上所述,操作系统中的文件和文件系统是存储和管理数据的重要机制。文件是数据的有序集合,而文件系统则是管理和组织这些文件的软件机构。通过文件系统,用户可以方便地存储、检索和保护数据。

 结语      

不贵于无过

而贵于能改过

!!!

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

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

相关文章

ASP.NET|日常开发中读写TXT文本详解

ASP.NET|日常开发中读写TXT文本详解 前言一、读取 TXT 文本1.1 使用StreamReader类 二、写入 TXT 文本2.1 使用StreamWriter类 三、文件编码问题3.1 常见编码格式 四、错误处理和性能考虑4.1 错误处理4.2 性能考虑 结束语优质源码分享 ASP.NET|日常开发中…

notepad++快捷键-多行编辑中如何使所有行的光标都向后移动一个单词的长度(每行单词长度不一定一致)

问题:在使用notepad进行多行编辑(多行光标移动一个单词长度)时(将下图由左边变为右边),在使用Ctrl左键拖拽选中多行后,想要将每行的光标向后移动一个单词的长度(每行的单词长度不一样…

【IC】Hybrid Bonding技术

从纳米到埃米,芯片制造商正在竭尽全力缩小电路的尺寸。但面对算力需求的激增,一项涉及更大尺寸(数百或数千纳米)的技术——混合键合(Hybrid Bonding)——将在未来五年内扮演重要角色。近日,IEEE…

洛谷 B3643 图的存储 C语言

题目:https://www.luogu.com.cn/problem/B3643 题目描述 给定一个 n 个顶点 m 条边的无向图。请以邻接矩阵和邻接表的形式输出这一张图。 输入格式 第一行输入两个正整数 n 和 m,表示图的顶点数和边数。 第二行开始,往后 m 行&#xff0…

MATLAB里面,try-catch-end系列语言的含义与用法(含例程)

在 MATLAB 中,try-catch-end 语句用于处理可能会引发错误的代码。它允许你在“尝试”部分执行代码,如果代码执行过程中发生错误,将转到“捕获”部分执行相应的处理。这种错误处理机制可以提高程序的健壮性,避免因小错误导致整个程…

Python练习之列表的使用

(搭配主页知识点) 【练习要求】 针对知识点列表定义、追加、列表元素读取、查找安排的本实例。要求实现:有一个列表,内容是:[21,25,21,23,22,20],记录的是一批学生的年龄请通过列表的功能(方法),对其进行…

安装虚拟机(VMware)教程+win7

VMware 一.下载VMware Wworkstation Pro二、安装VMware三、安装虚拟机 一.下载VMware Wworkstation Pro 1.去vmware官网下载 官网 2.网盘下载 通过网盘分享的文件:vmware 链接: https://pan.baidu.com/s/1bOff79NFAmDlISQo6LK6PQ?pwdhunr 提取码: hunr --来自百…

C语言总共n位数,将后面的K个数与前面的数对调位置,前后二部分的数字顺序不变

例如&#xff1a;n5&#xff0c;k2&#xff0c;要处理的数字是12345&#xff0c;则处理后变成45123 这个问题可以通过以下步骤解决&#xff1a; 确定前后两部分的分界点。 对前后两部分分别进行反转。 以下是一个简单的C语言示例代码&#xff1a; #include<stdio.h>…

C# Winform双色纸牌接龙小游戏源码

文章目录 一、设计来源双色纸牌接龙小游戏讲解1.1 主界面1.2 游戏界面1.3 游戏界面快成功了 二、效果和源码2.1 动态效果2.2 源代码 源码下载更多优质源码分享 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/144419994 …

无人机航测系统技术特点!

一、无人机航测系统的设计逻辑 无人机航测系统的设计逻辑主要围绕实现高效、准确、安全的航空摄影测量展开。其设计目标是通过无人机搭载相机和传感器&#xff0c;利用先进的飞行控制系统和数据处理技术&#xff0c;实现对地表信息的全方位、高精度获取。 需求分析&#xff1…

分割双声道音频-Audacity和ffmpeg

双声道音频资源&#xff1a; https://download.csdn.net/download/yudelian/90135217 1、ffmpeg分割双声道音频 ffmpeg -i input.wav -map_channel 0.0.0 left.wav -map_channel 0.0.1 right.wav 2、audacity分割双生音频并且播放 选择分离立体声轨 可以看出分离出了两个音频…

以太网帧、IP数据报图解

注&#xff1a;本文为 “以太网帧、IP数据报”图解相关文章合辑。 未整理去重。 以太网帧、IP数据报的图解格式&#xff08;包含相关例题讲解&#xff09; Rebecca.Yan已于 2023-05-27 14:13:19 修改 一、基础知识 UDP 段、IP 数据包&#xff0c;以太网帧图示 通信过程中&…

docker简单命令

docker images 查看镜像文件 docker ps -a 查看容器文件 docker rm 0b2 删除容器文件&#xff0c;id取前三位即可 docker rmi e64 删除镜像文件&#xff08;先删容器才能删镜像&#xff09;&#xff0c;id取前三位即可 在包含Dockerfile文件的目录…

自然语言处理:我的学习心得与笔记

Pytorch 1.Pytorch基本语法 1.1 认识Pytorch 1.2 Pytorch中的autograd 2.Pytorch初步应用 2.1 使用Pytorch构建一个神经网络 2.2 使用Pytorch构建一个分类器 小节总结 学习了什么是Pytorch. 。Pytorch是一个基于Numpy的科学计算包,作为Numpy的替代者,向用户提供使用GPU强大…

‌HBase是什么,‌HBase介绍

‌官方网站&#xff1a;Apache HBase – Apache HBase Home HBase是一个分布式的、面向列的NoSQL数据库&#xff0c;主要用于存储和处理海量数据。‌它起源于Google的​​​​​​​BigTable论文&#xff0c;是Apache Hadoop项目的子项目。HBase设计用于高可靠性、高性能和可伸…

Pytorch | 从零构建AlexNet对CIFAR10进行分类

Pytorch | 从零构建AlexNet对CIFAR10进行分类 CIFAR10数据集AlexNet网络结构技术创新点性能表现影响和意义 AlexNet结构代码详解结构代码代码详解特征提取层 self.features分类部分self.classifier前向传播forward 训练过程和测试结果代码汇总alexnet.pytrain.pytest.py CIFAR1…

c语言-----数组

基本概念 数组是C语言中一种用于存储多个相同类型数据的数据结构。这些数据在内存中是连续存储的&#xff0c;可以通过索引&#xff08;下标&#xff09;来访问数组中的各个元素。数组的索引从0开始&#xff0c;这是C语言的规定。例如&#xff0c;一个有n个元素的数组&#xff…

【最新攻略】腾讯云双十一最强攻略密码

引言一起来薅羊毛准备工作双人成团PK有大礼! 福利总结 引言 腾讯云&#xff08;Tencent Cloud&#xff09;想必大家都听说过吧&#xff1f;腾讯云是腾讯提供的“云计算”服务。你可以把它想成一个超级强大的网络平台&#xff0c;帮助公司和开发者把自己的技术、数据、网站等东西…

【C#】List求并集、交集、差集

值类型List List<int> intList1 new List<int>() { 1, 2, 3 };List<int> intList2 new List<int>() { 3, 4, 5 };var result intList1.Union(intList2);Console.WriteLine($"并 {string.Join(,,result)}");result intList1.Intersect(in…

游戏渠道假量解决方案

某推广公司在推广过程中被查出“短期内点击量激增”“存在同一地址多次访问”“已注册用户重复注册”等数据作弊行为&#xff0c;法院判罚退还服务费200余万元&#xff0c;并赔偿违约金约350万元。 某公司为提升其游戏在应用商店榜单排名&#xff0c;委托某网络公司进行下载、注…