前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >底层存储软件介绍

底层存储软件介绍

原创
作者头像
存储小白
修改2021-08-19 14:49:29
1.3K0
修改2021-08-19 14:49:29
举报
文章被收录于专栏:存储知识存储知识存储知识

虚拟存储器

因为主存通常不能容纳处理器需要的所有程序和数据,计算机采用了被称为虚拟存储器的存储器管理系统。就像使用cache来匹配主存储器和CPU之间的速度差异一样,虚拟存储器用来加速二级存储器使其匹配主存储器。

主存中仅仅包括当前要使用的数据,那些不使用的数据仍然保存在硬盘上。当处理器需要的数据不在主存当中时,操作系统开始介入并让主存和磁盘之间交换一个page,大小为4-64KB。虚拟存储允许用户运行比主存大得多的程序。例如,由512MB的DRAM和100GB硬盘构成的虚拟存储系统的性能与100GB的DRAM的存储系统性能相当。大多数操作系统都包含虚拟存储器的功能。虚拟存储器的优点是进程在主存中运行时不需要将程序的全部指令和数据一次性装入主存;程序可用的总存储空间可以大大超过系统实际的主存储容量。虽然存储管理是用软件完成的,但操作系统依赖于处理器中的硬件支持,包括分页管理硬件和分段管理硬件。

虚拟存储器的主要功能有四个:支持比物理地址空间更大的逻辑存储空间;实现逻辑地址到物理地址的映射;为逻辑地址空间中运行的任务分配物理存储器;更加方便地建立多任务的系统。

硬盘读写速度比主存储器的DRAM慢很多。虚拟存储器将主存储器划分为4KB的页。同样大小的数据块可以从磁盘调入到主存储器任何一个页中。也就是说,物理上的存储空间是可以不连续的。这个特性也是分布式块存储的基础之一。QStora充分发挥了这一点,使用户可以在多个不同磁盘上连续地存储数据。

操作系统的存储管理功能

存储器管理是操作系统和硬件的切合点,它关注的是管理主存储器和磁盘。

在单道程序设计系统中,主存划分成两大部分:一部分分配给操作系统(常驻监控程序),另一部分分配给当前正在执行的程序。在多道程序设计系统中,存储器的用户存储区需要进一步细分供多个进程使用。细分存储器的任务由操作系统动态执行,存储器需要合理分配,尽可能让更多的进程进入存储器。

操作系统为了有效地管理计算机的内存资源,应该具备以下四大功能:内存分配、内存保护、地址映射、内存扩充。

1.内存分配

内存分配的主要任务是:为每一道程序分配内存空间,使它们“各得其所”;当程序撤消时,则收回它占用的内存空间。分配时注意提高存储器的利用率。

2.地址映射

目标程序所访问的地址是逻辑地址集合的地址空间,而内存空间是内存中物理地址的集合,在多道程序环境下,这两者是不一致的,因此,存储管理必须提供地址映射功能,用于把程序地址空间中的逻辑地址转换为内存空间中对应的物理地址。

3.内存保护

内存保护的任务是确保每道程序都在自己的内存空间运行,互不干扰。保护系统程序区不被用户侵犯(有意或无意的),不允许用户程序读写不属于自己地址空间的数据(系统区地址空间,其他用户程序的地址空间)。

4.内存扩充

内存扩充的任务是从逻辑上来扩充内存容量,使用户认为系统所拥有的内存空间远比其实际的内存空间(硬件RAM)大的多。

文件系统

文件系统控制数据的存储和检索方式。如果没有文件系统,存储介质中的数据将是一整块,无法知道其中一段数据在哪里停止,下一段数据在哪里开始。通过将数据分割成小块并为每个小块命名,数据很容易被分离和识别,每一组数据被称为“文件”。用于管理数据组及其名称的结构和逻辑规则称为“文件系统”。

有许多不同类型的文件系统。每一个都有不同的结构和逻辑,速度、灵活性、安全性、大小等特性。有些文件系统被设计用于特定的应用程序。例如,ISO 9660文件系统是专门为光盘设计的。

文件系统可以用于使用不同介质的多种不同类型的存储设备。硬盘驱动器一直是关键存储设备,并预计在可预见的未来仍将如此。使用的其他类型的媒体包括ssd、磁带和光盘。在某些情况下,例如使用tmpfs,计算机的主存储器(随机存取存储器,RAM)被用来创建临时文件系统以供短期使用。

网络文件系统是作为远程文件访问协议的客户端,提供对服务器上文件的访问的文件系统。使用本地接口的程序可以在远程网络连接计算机中透明地创建、管理和访问分层目录和文件。网络文件系统的例子包括NFS、AFS、SMB协议的客户端,以及FTP和WebDAV的类文件系统客户端。

分布式存储系统

一个服务器可以连接到物理介质是有限的,提供IO性能也是有限的,为了打破整个限制,分布式存储系统应运而生。分布式存储系统通过多个服务器协同工作,每个服务器连接多个的物理介质,一起向多个系统提供存储服务。

分布式存储系统(DSS)可以在相同的物理服务器上运行计算工作负载。例如超融合基础设施(HCI)。DSS可以向外扩展,也就是说,它们可以在很多很多节点上创建一个共享存储系统。

分布式存储系统可以支持三种存储类型中的任何一种:块、文件和对象。三个之间的本质区别是数据的“用户”:块存储的用户的软件系统,如传统的文件系统,数据库。文件存储的用户是自然人。存储的用户是计算机软件。

软件定义存储

软件定义就是将特定的硬件和软件解耦,根据阶段的需求,通过编程接口或以服务的形式逐步将硬件的可控组件暴露给前端应用,以满足应用对资源在不同程度、不同方面的灵活调用。

软件定义存储(SDS)是一种数据存储形式,其中所有与存储相关的控制工作都放在外部软件中。该软件不是存储设备中的固件,而是服务器或操作系统的一部分。软件定义存储确保了更灵活、更准确地管理对系统的存储访问。软件定义存储将软件从硬件存储抽象出来,这也意味着它可以变成一个独立于物理系统的共享池,从而更有效地利用资源。还可以通过软件和管理来部署和供应存储,通过基于策略的自动化管理,可以进一步简化存储管理程序。

简单地说,SDS就是将存储软硬件分离,采用标准化的硬件作为载体(如X86架构),基于软件实现企业级存储功能和业务。

SDS的兴起源于硬件的快速发展,CPU、网络、SSD等硬件的成熟、稳定性、性能不断提高,同时,云计算对存储的可扩展性、可靠性、高性能、低成本的迫切需求,这使得SDS成为可能。SDS通常是分布式存储,形式有文件存储(POSIX/NFS/CIFS)、对象存储(S3)和块存储(iSCSI/ ISER/NVMEOF)三种。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 虚拟存储器
  • 操作系统的存储管理功能
  • 文件系统
  • 分布式存储系统
  • 软件定义存储
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档