虚拟内存技术

本地化和数据块的大小(Locality and Data Block Size)

如果你得到了位置A的存储信息,你很可能很快还会需要得到A周围的存储信息。这很自然,而且在数据存取和指令存取方面都适用。

一个关于指令读取的例子:

CPU的指令通常从内存中是按序读取的(Jump和Branch操作除外)。如你得到了位置A的指令,你很可能还需要读取A+4,A+8,A+12等等位置的信息。

缓存可以通过扩大数据块来进一步利用本地化的优势。每当对A地址的数据发生了一次Cache Miss,缓存将存入一块数据(包括A在内)。

当我们决定数据块的大小时,需要做一些性能上的平衡。太大或太小都不合适。

时间: 2024-11-05 12:31:33

虚拟内存技术的相关文章

操作系统中的虚拟内存技术及其实现代码

虚拟内存是现代操作系统普遍使用的一种技术. 虚拟内存的基本思想是,每个进程有用独立的逻辑地址空间,内存被分为大小相等的多个块,称为页(Page).每个页都是一段连续的地址.对于进程来看,逻辑上貌似有很多内存空间,其中一部分对应物理内存上的一块(称为页框 page frame,通常页和页框大小相等),还有一些没加载在内存中的对应在硬盘上.通过引入进程的逻辑地址,把进程地址空间与实际存储空间分离,增加存储管理的灵活性. 地址空间和存储空间两个基本概念的定义如下: 地址空间:将源程序经过编译后得到的目

虚拟内存技术的诞生(程序加载运行发展史)

无存储器抽象 早期大型计算机(20世纪60年代之前),小型计算机(20世纪70年代之前),个人计算机(20世纪80年代)不能同时运行2个以上程序,比如第一个程序在地址2000处存放了一个数据,第二个程序向2000也写入数据,那么之前2000地址处的数据会被擦除将物理地址暴露的缺点:1.容易破坏操作系统 2.运行多个程序是困难的 嵌入式系统和智能卡系统中无存储器抽象还是很常见的,比如收音机.洗衣机.微波炉.因为他们通常只有一个程序. 一种存储器抽象:地址空间 地址空间:一个进程可用于寻址内存的一套

虚拟化技术漫谈

随着近年多核系统.集群.网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中.本文针对 x86 平台,首先给出虚拟化技术的基本概念和分类,然后阐述纯软件虚拟化的实现原理和面临的挑战,最后详细介绍 Intel-VT 硬件辅助虚拟化技术. 一.虚拟化技术简介 什么是虚拟化 虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在70年代的 S

Linux内核(五)虚拟内存

转载请注明出处:jiq?钦's technical Blog 内存管理单元(MMU)完成虚存地址到物理地址的转换. 1什么是虚拟内存: 虚拟内存两个关键技术: (1)页表(地址变换机构).虚拟地址(连续的)到物理地址(不连续的页)的转换: (2)页面置换功能.将暂时不用的页面放到磁盘,让正在运行的进行获得更大的物理空间. 虚拟内存是计算机系统内存管理的一种技术.它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁

计算机三级网络技术备考复习资料zhuan

计算机三级网络技术备考复习资料   第一章  计算机基础 分析:考试形式:选择题和填空题,6个的选择题和2个填空题共10分,都是基本概念 1.计算机的四特点:有信息处理的特性,有广泛适应的特性,有灵活选择的特性.有正确应用的特性.(此条不需要知道) 2.计算机的发展阶段:经历了以下5个阶段(它们是并行关系):大型机阶段(46年ENIAC.58年103.59年104机).小型机阶段.微型机阶段(2005年5月1日联想完成了收购美国IBM公司的全球PC业务).客户机/服务器阶段(对等网络与非对等网络

Linux 虚拟内存

什么是虚拟内存? 先直接摘抄一段 wikipedia 上的介绍. 虚拟内存是计算机系统内存管理的一种技术.它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换. 对于 C 语言里面的变量,我们可以使用 & 运算符来获得其地址, 既然是虚拟地址,就是指这个地址是虚拟的. 虚拟地址机制不是必须的,在简单的单片机中,编写的代码编译时都需要指定物理 RAM 空间分布,不会有虚拟地址的概念,

Docker基础技术:DeviceMapper

在上一篇介绍AUFS的文章中,大家可以看到,Docker的分层镜像是怎么通过UnionFS这种文件系统做到的,但是,因为Docker首选的AUFS并不在Linux的内核主干里,所以,对于非Ubuntu的Linux分发包,比如CentOS,就无法使用AUFS作为Docker的文件系统了.于是作为第二优先级的DeviceMapper就被拿出来做分层镜像的一个实现. Device Mapper 简介 DeviceMapper自Linux 2.6被引入成为了Linux最重要的一个技术.它在内核中支持逻辑

操作系统笔记二:虚拟地址和物理地址/虚拟内存

WiKi: 在计算机科学中,物理地址(英语:physical address),也叫实地址(real address).二进制地址(binary address),它是在地址总线上,以电子形式存在的,使得数据总线可以访问主存的某个特定存储单元的内存地址. 在和虚拟内存的计算机中,物理地址这个术语多用于区分虚拟地址.尤其是在使用内存管理单元(MMU)转换内存地址的计算机中,虚拟和物理地址分别指在经MMU转换之前和之后的地址. 百度百科: 虚拟地址 (virtual address): CPU启动保

os-9.虚拟内存

9.虚拟内存 背景 虚拟内存--将用户逻辑内存与物理内存分开 只需要执行的部分程序调入内存 逻辑地址可以比物理地址空间大的多 允许多个进程之间共享地址空间 允许更有效的进程创建 按需调页 demand paging,在需要时才调入相应的页(即lazy swapper懒惰交换) 按需调页=分页+缺页+页置换 优点:更少IO,更少内存,更快反应,更多用户 基本概念 有效-无效位 valid-invalid bit,页表存储哪些页在内存中 对标记为i的页访问会产生缺页错误 page fault 处理缺