操作系统OS(一)磁盘与文件系统

news2024/9/28 9:33:43

计算机存储

计算机只能看懂1和0组成的语言,所以计算机存储数据的大小就是存储了多少个1和0.

比特位bit(位)

是计算机世界中最小的存储单位,每个1或者0占据1bit,表示二进制位

字节byte

由8个二进制位构成,1字节=8比特位  即  1byte=8bit

一个英文字符占1个字节(8位),一个汉字占2个字节(16位)

1024byte = 1KB,1024KB = 1MB。往上还有GB,TB。

内存和磁盘都使用「字节单位」来存储和读写数据,使用「位单位」则无法读写数据。

对于用二进制数表示的信息,计算机不会区分它是数值、文字,还是某种图片的模式,而是「根据编写程序的各位对计算机发出的指示进行信息的处理」


磁盘

磁盘结构

磁盘的表面由一些磁性物质组成,可以用这些磁性物质来记录二进制数据

盘片:硬盘有多个盘片组成,每个盘片正反两面,一般在5片以内。

磁头(head):读写盘面的设备,每个盘面对应一个磁头。(并不是只有一个磁头)

  • 磁道: 同一盘片不同半径的同心圆, 是由磁头在盘片表面划出的圆形轨迹,方便数据存储

  • 扇区(Sector): 磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区存放512字节的数据(传统的硬盘HDD上扇区大小位512字节),扇区是硬盘的最小存储单位

  • 柱面: 不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成

数据读写定位时,首先确定柱面,再确定盘面,最后确定扇区

重点说一下扇区,一个扇区可分为头、数据区域、尾三个部分。各个扇区存放的数据量相同。但是最内侧磁道上的扇区面积最小,因此位密度最大。


磁盘读写性能

一次磁盘读/写操作需要的时间

寻道时间

分为俩部分:    1.启动磁头臂  2.移动磁头

延迟时间

表示在磁道找到时,中轴带动盘面旋转到目标扇区开头处的时间

传输时间

表示盘面继续转动,实际读取或写入数据的时间

一般来说,寻道时间因为要移动磁臂,所以占用的时间最长。减少寻道时间的算法


减少寻道时间算法

FCFS先来先服务算法:根据进程请求访问磁盘的先后顺序进行调度

缺点:如果有大量进程竞争使用磁盘,请求访问的磁道很分散,则FCFS在性能上很差,寻道时间长

SSTF最短寻找时间优先:会优先处理与当前磁头最近的磁道(只保证眼前最优,但是总体未必最优)

缺点:可能会产生饥饿现象。磁头在某一个小区域来回移动,导致有些磁道访问请求永远得不到满足

SCAN扫描算法:面向磁道的公平问题

规定:只有磁头移动到最外侧磁道的时候才能往内移动。移动到最内侧磁道时才能往外移动。由于磁头移动很像电梯,也叫电梯算法

优点是解决了饥饿现象,但是

1.只有到达最外边磁道才能改变磁头移动方向。实际上没必要。。

2.对各个位置磁道的响应频率不平均

C-SCAN(一个方向的扫描):降低磁道差别造成的磁道差异

规定:只有磁头朝某个特定方向移动时才能处理磁道访问的请求。而返回时直接快速移动至起始端不处理任何的磁道请求

缺点:

只有到达最外边磁道才能改变磁头移动方向。实际上没必要。。

LOOK边移动边观察算法:

规定:如果在磁头移动方向上已经没有别的请求。就可以立即改变磁头移动方向

C-LOOK(扫描的范围优化):结合C-SCAN和LOOK

规定::如果在磁头移动方向上已经没有别的请求。就可以立即让磁头返回,并且磁头只需要返回到有磁道访问请求的位置。


空闲盘管理

空闲表法-适用“连续分配方式”

回收磁盘块。分为回收区前后是否有相邻的空闲区。。

空间盘块链

以盘块为单位组成一条空闲链

注意点:操作系统会记录链头和链尾

空间盘区链

以盘区为单位组成一条空闲链

盘区内的第一个盘块会记录该盘区的长度和指向下一个盘区的指针

注意点:操作系统会记录链头和链尾

位示图法

每个二进制位对应一个盘块。0代表盘块空闲,1代表盘块已分配。

可以用字号和位号(行号和列号)来对应一个磁盘块。

unix中使用成组链接法,对磁盘空闲块管理

超级块


磁盘块

外存会分为一个一个磁盘块,每个磁盘块大小是相等的。且每一个磁盘块应包含2的整数幂个地址,如一个磁盘块包含2^10个地址,即1KB。

操作系统会以“块”为单位为文件分配存储空间,即使文件只有10B,但这个文件依然需要占用1KB存储空间.


机械硬盘与固态硬盘


文件系统

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

文件属性

文件名:对用户来说最重要的属性,同一个目录下不能又重名的文件

标识符,对用户来说无可读性。是操作系统对文件的唯一标识。

文件类型,文件在外存中的位置


文件共享

文件共享:多个用户可以共享使用一个文件

硬链接:基于索引结点

索引结点中会有一个属性:链接计数变量count

某个用户删除该文件时,只是把用户目录中与该文件对应的目录项删除,并使索引结点的count值减1

count=0,系统才会真正删除该文件

软链接:基于符号链

创建新的link类型文件,该link型文件记录了文件的存放路径,操作系统就可以根据记录的路径找到共享的文件。如快捷方式


文件保护

文件保护:不同用户对文件有不同的操作权限

Authenticated users: Windows系统中所有使用用户名、密码登录并通过身份验证的账户

口令保护

口令一般会存放在文件对应的FCB或索引结点

缺点:口令保存在系统中,不够安全

加密保护

用密码对文件加密,用户想要访问文件时,需要提供相同的密码才能正确解密

优点:用户记住密码就行,不需要在系统中存储密码。保密性强

访问控制

访问控制表ACL

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

以组为单位,标记各组用户可以对文件有哪些操作


文件逻辑结构

所谓逻辑结构,就是在用户角度看,文件内部数据是如何组织起来的。

无结构文件:

二进制流或字符流组成,又称“流式文件”。如txt文件

1

有结构文件

由一组相似的记录组成,又称为“记录是式文件”

记录又可分为,定长记录和可变长记录

以下只讨论,有结构文件

结构文件,分为顺序文件、索引文件、索引顺序文件。

顺序文件(逻辑上)

每个记录可以是定长记录,也可以是可变长记录。但是在物理结构上可以是顺序存储也可以是链式存储

关键字

串结构:每个记录之间的顺序与关键字无关。通常按照记录存入的时间来决定顺序

顺序结构:每个记录之间的顺序按照关键字排列


文件物理结构

所谓物理结构,就是在操作系统角度看,文件内部数据是如何组织起来的。

核心问题:怎么把逻辑块号映射为物理块号

连续分配:

要求每个文件在磁盘上占有一组连续的块。

FCB

记录存放的起始块号和长度(占用几个块)

物理块号=逻辑块号+起始块号

优点:连续块,移动磁头所需时间短

缺点:对文件的拓展很不方便,存储空间利率用低,会产生磁盘碎片

链接分配(隐式链接)

FCB记录起始块号和结束块号,且每个磁盘块都会保存指向下一个盘块的指针

访问i号逻辑块,需要i+1次磁盘io。

缺点:只支持顺序访问,不支持随机访问,查找效率低

优点:方便文件扩展,不会有碎片问题,外存利用率高

链接分配(显式链接)

FCB记录起始块号

FAT文件分配表

一个磁盘仅设置一张FAT,开机时会将FAT读入内存,并常驻。

优点:文件方便扩展,外存理论不用高,支持随机访问。地址转换不需要访问磁盘。。


虚拟文件系统VFS

新的文件系统,必须实现操作系统VFS的要求

UFS文件系统

FAT文件系统


文件系统类型

怎么查看电脑磁盘文件系统类型

点击C盘右击选择属性,在弹出的窗口中我们可以看到类型为本地磁盘,文件系统为NTFS格式

 就连我插入的移动机械硬盘都是NTFS

NTFS的优点:安全性和稳定性极其出色,在使用中不易产生文件碎片。它能对用户的操作进行记录,通过对用户权限进行非常严格的限制,使每个用户只能按照系统赋予的权限进行操作,充分保护了系统与数据的安全。


IO设备

IO控制器

印刷电路板。。CPU可以控制I/O控制器,I/O控制器又来控制设备的机械部件

每一种寄存器可能有多个

控制寄存器,

状态寄存器

数据寄存器

地址识别

IO控制器的组成


字符设备接口

get,put

块设备接口

需要地址参数seek

网络设备接口

网卡:收发网络数据。socket接口。创建套接字

寻址与不可寻址

磁盘可寻址,键盘不可寻址。

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

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

相关文章

OpenGL 几何着色器

1.效果展示 爆破物体。 2.简介 在顶点和片段着色器之间有一个可选的几何着色器,几何着色器的输入是一个图元(如点或三角形)的一组顶点。几何着色器可以在顶点发送到下一着色器阶段之前对它们随意变换。然而,几何着色器最有趣的…

RabbitMQ 2023面试5题(四)

一、RabbitMQ有哪些作用 RabbitMQ是一个消息队列中间件,它的作用是利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行的分布式系统的集成,主要作用有以下方面: 实现应用程序之间的异步和解耦&#xff1a…

[Africa battleCTF 2023 prequal] CPR部分

非州的比赛,说是总体简单,但也有几个难题0解,估计依然是等不到WP。 这个界面还挺好,除了慢以外没大问题。 Rev SEYI 题目很简单,程序报病毒,win11上的defender关上不容易呀。我的电脑怎么就不能听我的呢…

【Java高级语法】(十八)Optional类:解锁Java的Optional魔法:消灭那些隐匿的空指针,还程序世界一个安稳!~

Java高级语法详解之Optional类 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 常用操作API3.2 案例3.3 使用技巧 4️⃣ 应用场景5️⃣ 实现原理🌾 总结 1️⃣ 概念 Optional类是Java 8引入的新特性,旨在解决空值(null)的处理问题。它…

ProtoBuf介绍与使用

文章目录 1、ProtoBuf概述2、下载和安装3、简单使用 1、ProtoBuf概述 Protobuf(Protocol Buffers)是由Google开发的一种语言无关的数据序列化格式。它旨在将结构化数据(如结构化消息或文档)高效地序列化为紧凑的二进制表示&#…

python GUI工具之PyQt5模块,pyCharm 配置PyQt5可视化窗口

https://doc.qt.io/qt-5/qtwidgets-module.html https://doc.qt.io/qt-5/qt.html#AlignmentFlag-enum 一、简介 PyQt是Qt框架的Python语言实现,由Riverbank Computing开发,是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合,每一…

【跑实验06】os包的理解?如何提取图片的名称?如何遍历一个文件夹,提取里面的图像名称?如何提取图片名称中的特定部分?代码错误地方修改;

文章目录 一、os包的理解1.1 文件和目录操作1.2 进程管理1.3 环境变量1.4 路径操作 二、如何提取图片的名称?三、遍历一个文件夹,提取里面的图像名称四、如何提取图片名称中的特定部分?五、代码报错修改 一、os包的理解 os 是 Python 中的一…

大厂OKR管理法:公开透明是最大特点

大厂OKR管理法:公开透明是最大的特点 仔细想,这是一件破天荒的事情 企业内部大部分的任务“公开透明” 公开透明会减少巨大的沟通成本 每个人的关键任务几乎是全部公开 估计少数的财务、人事、公关方面的不会 趣讲大白话:公开透明损耗少 【趣…

【UE 从零开始制作坦克】12-制作全自动机枪炮塔

效果 步骤 1. 下载模型和材质(链接:https://download.csdn.net/download/ChaoChao66666/87951079) 2. 将下载好的文件夹拖入UE工程中 首先点击“重置为默认”,然后勾选“合并网格体”,最后点击“导入所有” 导入后资源…

YOLOv5、YOLOv7独家原创改进:独家首发最新原创XIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能、收敛速度和鲁棒性

💡该教程为属于《芒果书》📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 💡本篇文章为YOLOv5、YOLOv7独家原创改进:独家首发最新原创XIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能、收敛速度和鲁棒性。 �…

【Java】Java数组链表类详记

本文仅供学习参考! 相关文章地址: https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html https://www.w3schools.com/java/java_arraylist.asp https://www.runoob.com/java/java-arraylist.html Java ArrayList 基础知识 ArrayList是 …

SpringSecurity-尚硅谷

前置知识 掌握Spring框架掌握SpringBoot使用掌握JavaWEB技术 文章目录 前置知识1. 简介1.1 概要1.2 历史 2.入门案例2.1 创建一个项目2.1.1 pom.xml2.1.2 controller层 2.2 运行这个项目2.32.4 SpringSecurity 基本原理2.5 UserDetailsService 接口讲解2.6 PasswordEncoder 接…

AI黑客松近期比赛清单;36氪AI淘宝店盈利复盘;GitHub Copilot官方最佳实践;AI在HR领域的应用探索 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! ⋙ 点击查看 AI Hackathon (黑客马拉松) 汇总清单 🤖 〖飞桨〗2023大模型应用创新挑战赛 百度飞桨联合上海市青年五十人创新创业研究院等…

【软件测试】推荐几款适合练手的项目

最近收到许多自学自动化测试的小伙伴私信,学习了理论知识后,却没有合适的练手项目。 测试本身是一个技术岗位,如果只知道理论,没有实战经验,在面试中很难说服面试官,比如什么场景下需要添加显示等待&#x…

CentOs7 安装jdk8详细教程

方法一:gz安装包安装(推荐) 1.下载所需版本的.tar.gz安装包 Oracle官网即可下载,选择好对应版本,可以先下到主机,然后上传到虚拟机的Linux上。(注意:Oracle现在下载jdk需要注册登录…

OAuth2.0与单点登录的区别

本文说下OAuth2.0与单点登录的区别 文章目录 概述什么是单点登录单点登录和Oauth2.0的区别单点登录的实现本文小结 概述 SSO是Single Sign On的缩写,OAuth是Open Authority的缩写,这两者都是使用令牌的方式来代替用户密码访问应用。流程上来说他们非常相…

解决联网时自动打开浏览器转到必应msn网址的问题

现象 开机后或者断网重连之后,系统自动打开默认浏览器(不管是IE还是谷歌,或其他的浏览器)网址为http://go.microsoft.com/fwlink/?LinkID219472&clcid0x409接着转到http://cn.bing.com/ 或者 https://www.msn.com/ 解决方法…

Kafka系列 - kafka 副本|AR|ISR|OSR|Leader|Follower|HW|LEO

文章目录 01. kafka 副本信息02. kafka 中 ISR、AR和OSR代表什么?03. kafka 中 ISR的伸缩指什么?04. 什么情况下一个broker会从ISR中踢出去?05. kafka 副本和ISR扮演什么角色?06. kafka 副本长时间不在ISR中,意味着什么…

buuctf re(二)+ web CheckIn

目录 re xor helloword reverse3 web SUCTF 2019 CheckIn xor 1.查壳 64位,无壳 2.ida,f5查看伪代码 3.跟进global dq是八个字节,汇编数据类型参考汇编语言---基本数据类型_汇编db类型_wwb0111的博客-CSDN博客 4.因为global变量里有一…

多商户商城有哪些功能和优势?-加速度jsudo

电商时代下,传统企业商家急需拓展业务规模,向线上拓展,而多商户小程序造价低,效应高,自然就成为了很多企业商家拓展线上营销渠道的首要选择,那么多商户小程序商城涵盖哪些功能呢?下面小编就来详细为大家解答&#xff…