返回所有课程

计算机存储器

记忆是如何一层一层地工作的。

如何在运行的程序中管理内存?当多个程序运行时,操作系统如何管理它?CPU提供哪些与内存相关的功能?

本课程将指导您逐步理解内存管理,以便您能够回答上述问题并编写高效的程序。

互动的
测验

26

概念和
练习

150+
  1. 1.

    记忆导论

    什么是记忆,以及如何表示它。

    1. 从计算机检索数据

      计算机通过快速和缓慢、持久和临时存储数据来工作。

    2. 二进制、十进制和十六进制

      这三个离散数学的数字基础是理解计算机如何真正工作的关键。

    3. 线性记忆模型

      当你进入引擎盖时,发现每个计算机程序是如何真正看到计算机内存的。

    4. 内存布局

      线性内存模型允许将大块数据存储在字节大小的片段中。

  2. 2.

    程序存储器

    内存段。

    1. 包括在
      卓越溢价

      将源文件编译为可执行文件

      与其他程序一样,您运行的程序由内存中的字节组成。

    2. 包括在
      卓越溢价

      内存段

      一个正在运行的程序将计算机内存的四个不同部分用于不同的目的。

    3. 包括在
      卓越溢价

      代码和静态段

      内存的某些部分包含不允许程序更改的信息。

    4. 包括在
      卓越溢价

      堆栈段

      堆栈允许多个函数一起工作。

  3. 3.

    虚拟内存

    操作系统如何管理内存。

    1. 包括在
      卓越溢价

      过程

      一台计算机可以保存许多程序,每个程序都认为它们使用的是相同的内存。这怎么可能?

    2. 包括在
      卓越溢价

      虚拟和物理内存

      内存,就像你计算机上运行的每一个计算机程序所看到的,是一个复杂的虚拟现实。

    3. 包括在
      卓越溢价

      内存页

      计算机的实际内存是按大块管理的,称为“页面”

    4. 包括在
      卓越溢价

      MMU和操作系统

      计算机的处理器和操作系统协同工作,为每个程序提供自己的内存。

  4. 4.

    表演技巧

    操作系统具有高效内存管理的功能。

    1. 包括在
      卓越溢价

      页面缓存

      页面缓存将硬盘中的信息保存在RAM中,以便更快地访问。

    2. 包括在
      卓越溢价

      内存映射

      一种帮助操作系统只访问大文件的一小部分的技术。

    3. 包括在
      卓越溢价

      需求负荷

      即使你认为你已经打开了一个文件,操作系统也可能在欺骗你。

    4. 包括在
      卓越溢价

      页面共享和写时复制

      改变是很难的,操作系统通过假设你会避免改变来加速你的计算机。

  5. 5.

    共享库

    链接和加载共享库以有效地重用代码。

    1. 包括在
      卓越溢价

      图书馆

      程序不是孤立存在的。当它们运行时,需要连接到库。

    2. 包括在
      卓越溢价

      重新安置

      编译程序完成后,仍然缺少信息。

    3. 包括在
      卓越溢价

      位置无关代码

      先进的技术可以避免重新定位的需要。

    4. 包括在
      卓越溢价

      程序链接表

      了解如何在不减慢程序速度的情况下间接存储链接信息。

  6. 6.

    缓存

    提高性能的基本技术。

    1. 包括在
      卓越溢价

      缓存概述

      缓存是加速计算机系统的基本技术。

    2. 包括在
      卓越溢价

      缓存的详细信息

      计算机处理器使用几种不同的技术来决定缓存什么。

    3. 包括在
      卓越溢价

      缓存的实际用途

      同样的缓存技术也适用于您的计算机和全球互联网。

    4. 包括在
      卓越溢价

      DRAM、SRAM和CPU缓存

      缓存总是需要考虑成本和性能之间的权衡。