官术网_书友最值得收藏!

  • Expert C++
  • Vardan Grigoryan Shunguang Wu
  • 262字
  • 2021-06-24 16:33:57

Working with data

When we refer to computer memory, we consider the Random Access Memory (RAM) by default, and also the RAM is a general term for either SRAM or DRAM; we will mean DRAM by default unless otherwise stated. To clear things out, let's take a look at the following diagram, which illustrates the memory hierarchy:

When we compile a program, the compiler stores the final executable file in the hard drive. To run the executable file, its instructions are loaded into the RAM and are then executed by the CPU one by one. This leads us to the conclusion that any instruction required to be executed should be in the RAM. This is partially true. The environment that is responsible for running and monitoring programs plays the main role.

Programs we write are executed in the hosted environment, which is in the OS. The OS loads the contents of the program (its instructions and data, that is, the process) not directly into the RAM, but the virtual memory, a mechanism that makes it possible both to handle processes conveniently and to share resources between processes. Whenever we refer to the memory that a process is loaded to, we mean the virtual memory, which in turn maps its contents to the RAM.

Most of the time, we use the terms RAM, DRAM, virtual memory, and memory interchangeably, considering virtual memory as an abstraction around the physical memory (the DRAM). 

Let's begin with an introduction to the memory structure and then investigate data types within the memory.

主站蜘蛛池模板: 高清| 房产| 剑河县| 土默特右旗| 祁门县| 海南省| 潜江市| 平邑县| 广灵县| 志丹县| 中方县| 桃园市| 鲁山县| 疏勒县| 惠东县| 吕梁市| 大渡口区| 兖州市| 道真| 安溪县| 大方县| 绥芬河市| 贵州省| 东丰县| 阳春市| 克拉玛依市| 广宁县| 长寿区| 光山县| 双城市| 四子王旗| 宁明县| 汕头市| 马鞍山市| 保靖县| 杭锦后旗| 安新县| 东丰县| 临汾市| 平谷区| 玛曲县|