操作系统学习(九)——存储系统

news2025/6/6 17:26:02

一、存储系统

在操作系统中,存储系统(Storage System) 是计算机系统的核心组成部分之一,它负责数据的存储、组织、管理和访问
它不仅包括物理设备(如内存、硬盘),还包括操作系统提供的逻辑抽象(如文件系统、缓存、虚拟内存等)。

存储系统通常划分为以下层次:
在这里插入图片描述

在存储层次中,层次越高(越靠近CPU),存储介质的访问速度越快,价格也越高,相对所配置的存储容量也越小

操作系统需要协调这些存储层次,在速度和成本之间做平衡

二、存储系统的主要组成

组成部分描述
主存(RAM)运行时存储程序和数据,是 CPU 的直接工作区
磁盘(Disk)永久性数据存储设备,如 HDDSSD
文件系统管理磁盘数据的结构,如 FAT32NTFSext4
缓存(Cache)提高内存/磁盘访问速度的高速缓冲区
虚拟内存(VM)使用磁盘空间模拟主存,支持更大的程序运行
页表与地址映射实现虚拟地址 → 物理地址的转换

三、主存(RAM)管理

在操作系统中,主存(RAM)管理是核心功能之一,它决定了多个程序如何高效、安全地共享内存资源。主存管理直接关系到系统的性能、稳定性和多任务处理能力。

主存可被视为一个线性字节数组,但在 OS 中常分为如下部分:

+-----------------------+
| 操作系统核心(内核区)|
+-----------------------+
| 应用程序1             |
+-----------------------+
| 应用程序2             |
+-----------------------+
| 空闲空间(碎片)       |
+-----------------------+

主存(RAM)管理的目标:

目标描述
多道程序支持允许多个程序并发驻留内存
内存保护防止程序互相干扰
内存利用率高减少内存碎片,提高空间利用率
快速访问支持快速的地址转换和访问
虚拟内存支持程序可使用比物理内存更大的空间

操作系统需要负责对主存进行分配与回收,主要策略包括:

1. 连续分配管理

  • 将内存分成若干连续块
  • 程序一次性分配一整块。

常见算法:

算法说明
首次适应从头开始找第一个能装下的空块
最佳适应找最小但足够的空块(减少浪费)
最差适应找最大的空块(减少碎片)

缺点:易产生外部碎片

2. 分页管理(Paging)

  • 将物理内存划分为固定大小的页帧(Page Frame)
  • 将程序划分为同样大小的页(Page)
  • 使用页表记录虚拟页到物理页的映射。

虚拟地址结构:

虚拟地址 = 页号 + 页内偏移

优点:

  • 消除外部碎片
  • 支持虚拟内存

3. 分段管理(Segmentation)

  • 把程序分成逻辑段:如代码段、数据段、栈段;
  • 每段独立映射到内存。

优点:

  • 支持逻辑结构清晰的内存管理;
  • 易于保护和共享

4. 段页式管理(Segmentation + Paging)

  • 将每个段再分页
  • 结合分页的空间利用率和分段的逻辑清晰性。

内存碎片问题:

类型说明
外部碎片连续分配造成的内存空洞
内部碎片分配的内存比程序实际使用大

四、虚拟内存(Virtual Memory)

虚拟内存是操作系统提供的一种抽象,允许程序使用比实际内存更大的地址空间

1. 实现机制

  • 将进程虚拟地址空间划分为页(Page);
  • 利用页表(Page Table)记录虚拟页与物理页的映射
  • 不常用页存入磁盘(Swap 区)。

2. 页置换算法(换出旧页)

算法描述
FIFO最早进入内存的页先被换出
LRU最近最少使用的页被换出
Clock改进型的近似 LRU 算法
Optimal理论最优(实际难以实现)

五、缓存机制(Cache)

缓存是位于处理器和主存之间的高速存储区域,用于缓冲频繁访问的数据。

1. 目标

  • 降低访问主存的频率(主存速度较慢);
  • 提高 CPU 的执行效率。

2. 缓存的层级结构(多级缓存)

现代计算机通常采用分级缓存结构

缓存级别位置容量速度特点
L1 CacheCPU 内部最小(32~64KB)非常快每个核心私有,分数据/指令
L2 CacheCPU 内部或共享中等(256KB~1MB)很快常为每核心独享
L3 Cache多核心共享较大(2~32MB)多核心共享资源
主存(RAM)外部GB级别较慢所有程序共享

通过缓存机制,数据可以提前预取、减少磁盘访问次数、提高性能

3. 缓存命中与未命中

  • 命中(Hit):请求的数据已在 Cache 中,直接返回;
  • 未命中(Miss):数据不在 Cache,需要从主存读取,代价较大。

命中率 = 命中次数 / 总访问次数

命中率越高,CPU 性能越好。

六、磁盘管理

操作系统需要对磁盘进行组织和访问控制,包含以下内容:

1. 磁盘结构管理

  • 使用逻辑块(block) 组织物理扇区;
  • 每个磁盘通常有:MBR、分区表、数据区域等。

2. 磁盘调度算法

优化磁盘访问时间:

算法描述
FCFS先来先服务
SSTF最短寻道时间优先
SCAN磁头来回扫描
C-SCAN只单向扫描,回头不服务

七、文件系统(File System)

文件系统是操作系统在磁盘上组织、命名、存储、保护和访问数据的机制。

1. 功能

  • 文件和目录管理;
  • 权限控制(读/写/执行);
  • 空间分配与释放;
  • 目录层级结构;
  • 元数据维护(文件名、大小、时间等)。

2. 常见文件系统类型

系统适用平台特点
FAT32Windows简单,兼容性好,但不支持大文件
NTFSWindows支持权限、压缩、大文件
ext3/ext4Linux稳定、支持日志
APFSmacOSApple 专用,支持快照

八、存储保护与安全

机制描述
内存保护(Memory Protection)防止一个进程访问另一个进程的内存
文件权限(如 chmod)控制用户对文件的访问
虚拟地址隔离每个进程独立地址空间
加密文件系统(EFS)对文件内容进行加密

九、存储系统面临的挑战

挑战描述
性能瓶颈磁盘和内存访问速度差距大
一致性问题断电或异常退出可能造成文件系统损坏
空间碎片化文件不断增删导致磁盘空洞
访问延迟特别是传统机械磁盘
安全性与隐私数据可能被恶意软件窃取

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

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

相关文章

服务器安装软件失败或缺依赖怎么办?

服务器在安装软件时失败或提示缺少依赖,是运维中非常常见的问题。这个问题大多发生在 Linux 云服务器环境,原因和解决方法也有共性。以下是详细说明和解决建议: 🧠 一、常见原因分析 问题类型描述🔌 软件源不可用服务器…

006网上订餐系统技术解析:打造高效便捷的餐饮服务平台

网上订餐系统技术解析:打造高效便捷的餐饮服务平台 在数字化生活方式普及的当下,网上订餐系统成为连接餐饮商家与消费者的重要桥梁。该系统以菜品分类、订单管理等模块为核心,通过前台展示与后台录入的分工协作,为管理员和会员提…

[10-2]MPU6050简介 江协科技学习笔记(22个知识点)

1 2 3 欧拉角是描述三维空间中刚体或坐标系之间相对旋转的一种方法。它们由三个角度组成,通常表示为: • 偏航角(Yaw):绕垂直轴(通常是z轴)的旋转,表示偏航方向的变化。 • 俯仰角&a…

Spring Boot 3.X 下Redis缓存的尝试(二):自动注解实现自动化缓存操作

前言 上文我们做了在Spring Boot下对Redis的基本操作,如果频繁对Redis进行操作而写对应的方法显示使用注释更会更高效; 比如: 依之前操作对一个业务进行定入缓存需要把数据拉取到后再定入; 而今天我们可以通过注释的方式不需要额外…

【03】完整开发腾讯云播放器SDK的UniApp官方UTS插件——优雅草上架插件市场-卓伊凡

【03】完整开发腾讯云播放器SDK的UniApp官方UTS插件——优雅草上架插件市场-卓伊凡 一、项目背景与转型原因 1.1 原定计划的变更 本系列教程最初规划是开发即构美颜SDK的UTS插件,但由于甲方公司内部战略调整,原项目被迫中止。考虑到: 技术…

C:\Users\中文名修改为英文名

C:\Users\中文名修改为英文名 背景操作步骤 背景 买了台新电脑,初始化好不知道啥操作把自己的登录用户名改成了中文,有些安装的软件看见有中文直接就水土不服了。 操作步骤 以下称中文用户名为张三。 正常登录张三用户 进入用户管理页面修改用户名&a…

购物商城网站 Java+Vue.js+SpringBoot,包括商家管理、商品分类管理、商品管理、在线客服管理、购物订单模块

购物商城网站 JavaVue.jsSpringBoot,包括商家管理、商品分类管理、商品管理、在线客服管理、购物订单模块 百度云盘链接:https://pan.baidu.com/s/10W0kpwswDSmtbqYFsQmm5w 密码:68jy 摘 要 随着科学技术的飞速发展,各行各业都在…

在word中点击zotero Add/Edit Citation没有反应的解决办法

重新安装了word插件 1.关掉word 2.进入Zotero左上角编辑-引用 3.往下滑找到Microsoft Word,点重新安装加载项

整合swagger,以及Knife4j优化界面

因为是前后端项目&#xff0c;需要前端的参与&#xff0c;所以一个好看的接口文档非常的重要 1、引入依赖 美化插件其中自带swagger的依赖了 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-spring-boot-starter&…

Unity | AmplifyShaderEditor插件基础(第四集:简易shader)

一、&#x1f44b;&#x1f3fb;前言 大家好&#xff0c;我是菌菌巧乐兹~本节内容主要讲一下&#xff0c;第一个用ASE的shader。 我们用通用的光照模版吧。&#xff08;universal-通用/Lit-光照&#xff09; 通用的光照模版 如果你尝试建设了&#xff0c;会发现Universal这个…

linux C语言中的动态库 静态库说明

静态库 gcc -fpic -c add.c sub.c 这个命令之后会得到 add.o 于 sub.o (-c 只编译不链接) ar rcs mymath.a add.o sub.o 将编译好的文件编译成.a静态库用于调用 在使用中 gcc main.c -I../include ../lib/mymarh.a -0 mytest 需要这个函数的声明放在include文件下&#xf…

Flash烧录速度和加载配置速度(纯FPGA ZYNQ)

在工程综合完成或者implement完成后&#xff0c;打开综合设计或者实现设计。 toots--->Edit Device Properties--->打开比特流设置 将bitstream进行压缩 上图中&#xff0c;时钟频率选择的档位有限&#xff0c;最大为66MHZ io的bus width可以设置为x1,x2,x4 vivado在设计…

解构与重构:PLM 系统如何从管理工具进化为创新操作系统?

在智能汽车、工业物联网等新兴领域的冲击下&#xff0c;传统产品生命周期管理&#xff08;PLM&#xff09;系统正在经历前所未有的范式转换。当某头部车企因 ECU 软件与硬件模具版本失配导致 10 万辆智能电车召回&#xff0c;损失高达 6 亿美元时&#xff0c;这场危机不仅暴露了…

Redis:介绍和认识,通用命令,数据类型和内部编码,单线程模型

介绍和认识 Redis是一个基于内存的&#xff0c;高性能的&#xff0c;支持许多数据类型的NoSQL数据库&#xff0c;可以持久化&#xff0c;也支持分布式。 在许多的互联网产品中&#xff0c;对于数据库的访问速度要求很高&#xff0c;例如Mysql数据库无法满足其要求&#xff0c…

嵌入式开发之STM32学习笔记day20

STM32F103C8T6 PWR电源控制 1 PWR简介 PWR&#xff08;Power Control&#xff09;电源控制单元是STM32微控制器中一个重要的组成部分&#xff0c;它负责管理系统的电源管理功能&#xff0c;以优化功耗并提高效率。PWR负责管理STM32内部的电源供电部分&#xff0c;可以实现可编…

专业级PDF转CAD解决方案

PDF 文件因其出色的便携性和稳定性&#xff0c;已成为许多用户的首选格式。但在涉及图像编辑或精细调整时&#xff0c;CAD 文件显然更具优势。 这款 CAD 图纸转换工具&#xff0c;界面清爽、操作直观&#xff0c;是处理图纸文件的理想助手。 它不仅支持不同版本 CAD 文件之间…

STM32 智能小车项目 两路红外循迹模块原理与实战应用详解

在嵌入式系统、机器人、智能设备等场景中&#xff0c;红外反射型光电传感器 被广泛应用于黑白识别、障碍检测、物体计数、位置判断等任务。其中&#xff0c;RPR220 是一款性能稳定、体积小巧的红外光电收发管&#xff0c;本文将详细介绍其工作原理、引脚参数、接线说明以及典型…

SSL安全证书怎么安装?

SSI并非一个标准的、广为人知的安全证书类型&#xff0c;通常网站安装的是SSL/TLS证书&#xff0c;用于加密网站和用户浏览器之间的通信&#xff0c;保障数据传输安全。以下以安装SSL/TLS证书为例&#xff0c;介绍网站安装证书的步骤&#xff1a; 一、证书申请与获取 选择证书…

电子电器架构 --- OTA测试用例分析(上)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…

抑郁症患者数据分析

导入数据 import pandas as pd from pyecharts.charts import * from pyecharts import options as optsdfpd.read_csv(YiYuZheng.csv) df.head(1)Patient_nameLabelDateTitleCommunicationsDoctorHospitalFaculty0患者&#xff1a;女 43岁压抑05.28压抑 个人情况&#xff1a;…