0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

内存和磁盘的关系&数据压缩(上)

jf_78858299 来源:前端柒八九 作者:前端柒八九 2023-03-31 16:21 次阅读

在计算机的5大部件中, 「内存」「磁盘」 都被归类为 「存储部件」 。不过,利用 电流 来实现存储的内存,同利用 「磁效应」 来实现存储的磁盘,还是有差异的。

从存储容量来看

  • 内存是**「高速高价」**
  • 磁盘是**「低速廉价」**

不读入内存就无法运行

计算机中主要的存储部分是 「内存」「磁盘」「磁盘中存储的程序,必须要加载到内存后才能运行。在磁盘中保存的原始程序是无法直接运行的」 。这是因为,「负责解析和运行程序内容的CPU,需要通过内部程序计数器来指定内存地址,然后才能读出程序」

❝存储在磁盘中的程序需要读入到内存后才能运行

图片


磁盘缓存

磁盘缓存Disk Cache指的是把从磁盘中读出的数据存储到 「内存空间」 中的方式。这样一来,当接下来需要读取 「同一数据」 时,就不用通过实际的磁盘,而是从磁盘缓存中把内容读出。

❝使用磁盘缓存可以大大改善磁盘数据的访问速度

图片

「低速设备」 的数据保存到 「高速设备」 中,需要时可以直接将其从高速设备中读出,这种 「缓存」 的方式在其他情况下也会用到。

其中一个实例就是在Web浏览器中的使用。由于Web浏览器是通过 网络 来获取 「远程」 Web服务器的数据并将其显示出来的。因此,在显示较大的图片等文件时,会花费不少时间。于是,Web浏览器就可以把获取的数据 「暂时」 保存在 「磁盘」 中,然后在需要时再显示磁盘中的数据。也就是, 「把低速的网络数据保存到相对高速的磁盘中」

虚拟内存

虚拟内存Virtual Memory是指把 「磁盘」 的一部分作为 「假想的内存」 来使用。这与磁盘缓存是 「假想的磁盘」实际上是内存)相对,虚拟内存是 「假想的内存」实际上是磁盘)。

「通过借助虚拟内存,在内存不足时也可以运行程序」 。为了实现虚拟内存,就必须把 「实际内存」 (也可称为 「物理内存」 )的内容,和磁盘上的虚拟内存的内容进行 「部分置换」 ,并同时运行程序。

❝虚拟内存的方法有 「分页式」「分段式」 两种。

Windows采用的是 「分页式」 。该方式是指, 「把运行的程序按照一定大小的页Page进行分割,并以为单位在内存和磁盘间置换」

在分页式中,把磁盘的内容读出到内存称为Page In,把内存的内容写入磁盘称为Page Out

图片

为了实现虚拟内存功能,Windows「磁盘」 上提供了虚拟内存用的页文件Page File。该文件由Windows自动做成和管理。

节约内存的编程方式(DLL文件)

「DLL(Dynamic Link Library)文件」 ,是在程序 「运行时」 可以 「动态」 加载Library(函数和数据的集合)的文件。并且,多个应用可以 「共有同一个」 DLL文件。所以, 「通过共有同一个DLL文件可以达到节约内存的效果」

假设我们编写了一个具有某些处理功能的函数MyFunc(),应用A和应用B都会使用这个函数。如果函数MyFunc()是独立的DLL文件,由于同一个DLL文件的内容在运行时可以被多个应用共有,因此内存中存在的函数MyFunc()的程序就只有一个。

图片

Windows操作系统 本身也是多个DLL文件的集合体。

DLL文件还有一个优点:在不变更可执行文件的情况下,只通过升级DLL文件就可以更新。


磁盘的物理结构

「磁盘的物理结构是指磁盘存储数据的形式」

❝磁盘是通过把其物理表面划分成多个空间来使用的。

划分的方式有 「扇区方式」「可变长方式」 两种。

  1. 「扇区方式」 是指将磁盘划分为 「固定长度」 的空间
  2. 「可变长方式」 是指把磁盘划分为 「长度可变」 的空间

Windows计算机所使用的硬盘,采用的都是 「扇区方式」

扇区方式中,把磁盘表面分成若干个 「同心圆的空间」 就是 「磁道」 ,把磁道按照 「固定大小」 (能存储的数据长度相同)划分而成的空间就是 「扇区」

图片

❝扇区是对磁盘进行 「物理读写」 的最小单位,一般一个扇区是512字节

不过,Windows「逻辑方面」软件方面)对磁盘就进行读写的单位是扇区的整数倍 「簇」 。根据磁盘容量的不同,1簇可以是512字节(1簇=1扇区)、1KB(1簇=2扇区)、2KB、4KB等。

「不同的文件是不能存储在同一簇中的」 ,否则就会导致只有一方的文件不能被删除


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211086
  • 计算机
    +关注

    关注

    19

    文章

    7409

    浏览量

    87690
  • 内存
    +关注

    关注

    8

    文章

    2996

    浏览量

    73867
  • 计数器
    +关注

    关注

    32

    文章

    2253

    浏览量

    94338
收藏 人收藏

    评论

    相关推荐

    请问有没有32可用的数据压缩算法?

    了40M大小,手贱用rar压缩了一下,3.2M!!!,为了传输这40M的数据更改了工具的波特率和buffer,这样就和公司老产品不兼容了,如果STM32能实现类似rar的数据压缩算法
    发表于 12-19 08:57

    基于FPGA的高性能无损数据压缩IP

    LZOAccel-CLZO Data Compression CoreLZOAccel-C是一个无损数据压缩引擎的FPGA硬件实现,兼容LZO 2.10标准。Core接收未压缩的输入数据块,产生
    发表于 12-21 23:10

    MapReduce数据压缩的基本原则

    黑猴子的家:MapReduce数据压缩
    发表于 05-24 12:45

    【ELT.ZIP】OpenHarmony啃论文俱乐部——多层存储分级数据压缩

    HCompress方案,用更少的NVMe,较少的内存占用,减少了大量总执行时间, 有显著的性能提升,与没有压缩的库相比,最高可提高 8 倍,与其他压缩库相比,至少提高 1.72 倍。多层存储对
    发表于 07-23 13:20

    【学习打卡】【ELT.ZIP】OpenHarmony啃论文俱乐部——多层存储分级数据压缩

    HCompress方案,用更少的NVMe,较少的内存占用,减少了大量总执行时间, 有显著的性能提升,与没有压缩的库相比,最高可提高 8 倍,与其他压缩库相比,至少提高 1.72 倍。多层存储对
    发表于 07-23 13:26

    数据压缩技术

    一、数据压缩的必要性二、多媒体数据压缩的可能性三、压缩方案应满足的要求四、编码方案分类五、数据压缩(编码)的主要步骤六、一些基本的压缩技术七
    发表于 03-25 13:19 35次下载

    传真机的数据压缩系统

    传真机的数据压缩系统         
    发表于 12-29 16:51 646次阅读

    JPEG2000数据压缩的FPGA实现

    高性能的数据压缩可以有效的减少数据对存储空间和通信带宽的要求,降低通信成本。为解决图像数据的高压缩性能问题,本文提出了基于JPEG2000标准的数据
    发表于 04-16 10:39 47次下载
    JPEG2000<b class='flag-5'>数据压缩</b>的FPGA实现

    JAVA教程之数据压缩与传输

    JAVA教程之数据压缩与传输,很好的JAVA的资料,快来学习吧
    发表于 04-11 17:28 10次下载

    小波算法在监测数据压缩中的应用

    小波算法在监测数据压缩中的应用
    发表于 02-07 18:22 16次下载

    数据压缩的重要性

    数据压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法。
    的头像 发表于 02-28 10:45 1.4w次阅读

    数据压缩算法计算步骤及过程

    一种非常简单的压缩方法是行程长度编码,这种方法使用数据数据长度这样简单的编码代替同样的连续数据,这是无损数据压缩的一个实例。这种方法经常用
    的头像 发表于 02-28 10:51 1.2w次阅读
    <b class='flag-5'>数据压缩</b>算法计算步骤及过程

    有趣!史记:数据压缩算法列传

    简单地说,如果没有数据压缩技术,我们就没法用 WinRAR 为 Email 中的附件瘦身;如果没有数据压缩技术,市场上的数码录音笔就只能记录不到20 分钟的语音;如果没有数据压缩技术
    的头像 发表于 11-11 15:21 731次阅读

    内存磁盘关系&amp;amp;数据压缩(下)

    计算机中主要的存储部分是 「内存」 和 「磁盘」 。 「磁盘中存储的程序,必须要加载到内存后才能运行。在磁盘中保存的原始程序是无法直接运行的
    的头像 发表于 03-31 16:21 1249次阅读
    <b class='flag-5'>内存</b>和<b class='flag-5'>磁盘</b>的<b class='flag-5'>关系</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>数据压缩</b>(下)

    高性能无损数据压缩FPGA IP,LZO无损数据压缩IP

    LZOAccel-C是一个无损数据压缩引擎的FPGA硬件实现,兼容LZO 2.10标准。 Core接收未压缩的输入数据块,产生压缩后的数据
    的头像 发表于 01-25 13:39 441次阅读
    高性能无损<b class='flag-5'>数据压缩</b>FPGA IP,LZO无损<b class='flag-5'>数据压缩</b>IP