什么是内存
内存 什么
2023-06-13 09:11:58 时间
《操作系统的存储结构》一文讲过,内存是现代计算机系统执行的中心。内存是一个大的字节数组,大小从数十万到数十亿。每个字节都有地址。内存是个快速访问的数据仓库,并为 CPU 和 I/O 设备所共享。中央处理器在获取指令周期时从内存中读取指令,而在获取数据周期时对内存数据进行读写(在冯 诺依曼架构上)。
内存一般是 CPU 所能直接寻址和访问的、唯一的、大容量的存储器。例如,如果 CPU 需要处理磁盘数据,那么这些数据必须首先通过 CPU 产生的 I/O 调用传到内存。同样,如果 CPU 需要执行指令,那么这些指令必须在内存中。
如果一个程序需要执行,那么它必须映射到绝对地址,并且加载到内存。随着程序执行,进程可以通过产生绝对地址来访问内存的程序指令和数据。最后,程序终止,它的内存空间得以释放,这样下一个程序可以加载并得以执行。
为改进 CPU 的利用率和用户的计算机响应速度,通用计算机应在内存中保留多个程序,这就需要内存管理。内存管理的方案有许多。这些方案会有各种具体方法,所有特定算法的效率取决于特定情景。在选择某个特定系统的内存管理方案时,必须考虑许多因素,尤其是系统的硬件设计。每个算法都要求特定的硬件支持。
操作系统负责内存管理的以下活动:
相关文章
- 开发那些事儿:EasyNTS内存泄露是什么原因?如何解决?
- 内存数据库中的自动优化是为了解决什么问题?
- Android面试每日一题(2): 一般什么情况下会导致内存泄漏问题?
- 宋宝华:Linux内核中用GFP_ATOMIC申请内存究竟意味着什么?
- 【说站】Java内存分配是什么
- 腾讯一面:内存满了,会发生什么?
- JavaScript事件中的内存与性能
- 内存大户Bitmap
- .Net程序内存泄漏解析
- C++内存模型,我们常说的堆栈究竟指什么?
- 使用 SAP ABAP Memory Inspector 对应用程序消耗内存进行检测时常犯的错误试读版
- Linux源码学习笔记day5 内存0地址处放的都是些什么玩意儿?
- 【Linux 内核 内存管理】Linux 内核堆内存管理 ① ( 堆内存管理 | 内存描述符 mm_struct 结构体 | mm_struct 结构体中的 start_brk、brk 成员 )
- 浅谈内存耗尽后Redis会发生什么
- Java中substring内存泄露问题详解编程语言
- 使用情况linux下查询内存使用情况的方法(linux查询内存)
- Linux 内存管理:改善系统性能的关键(linux内存布局)
- MongoDB:优化内存使用(mongodb与内存)
- 什么是内存交换
- om killerLinux OOM Killer: 避免内存溢出灾难(linux中o)
- 管理Linux C 内存管理:提升系统性能的有效途径(linuxc内存)
- Linux的内存与磁盘空间限制是什么?(linux最大限制吗)
- 深入探究Linux进程的内存占用情况:原理与实践(linux进程内存占用)
- Linux中的mmap函数:内存映射文件技术(mmaplinux)
- Redis:高性能的内存数据库(redis是什么东西)
- SQL Server 内存占用过高问题分析(sqlserver占用内存过高)
- Oracle内存优化走向简洁的极致(oracle 内存翻译)
- Oracle中内存 解析机制与作用(oracle中内存指什么)
- Redis创新的高性能内存数据库(redis英语什么意思)
- 拆解发现华为P50 Pro采用三层CPU:或因买不到麒麟9000专用内存
- js内存释放问题