深入理解计算机系统-虚拟内存笔记

author author     2022-10-02     773

关键词:

使用虚拟寻址,CPU通过生成一个虚拟地址来访问主存,这个虚拟地址经过翻译转换成物理地址
管理的硬件:内存管理单元MMU
虚拟内存是放在磁盘上N个连续的字节大小的单元的索引

虚拟内存被分割为虚拟页VP
物理内存被分割为物理页PP,也称为页帧

虚拟页的状态:
未分配的(未创建的) 没有数据关联,不占空间
未缓存的
缓存的 已分配的,已缓存在物理内存的

SRAM缓存不命中要从DRAM中取
DRAM不命中要从磁盘中取,开销大。DRAM不命中称为缺页

VP很大:由于大的miss penalty和访问第一个字节的开销
由于大的不命中处罚 DRAM是全相联的(任意物理页都可以映射任何虚拟页)

页表 page table 将虚拟页映射到物理页
页表是页表条目PTE的数组,PTE中有有效位,n位地址字段
高速cache(SRAM)和虚拟内存的数据交换大多采用物理寻址

虚拟内存在磁盘上
物理内存是内存DRAM或高速缓存
页表存在于物理内存上

在磁盘和内存之间传送页的活动叫做交换或者页面调度

按需页面调度:有命中发生时才换入页面

TLB翻译后备缓冲器:在MMU中包括了一个关于PTE的小的缓存

使用多级页表减小页表空间

3.2《深入理解计算机系统》笔记内存和高速缓存的原理插图

  《深入计算机系统》笔记(一)主要是讲解程序的构成、执行和控制。接下来就是运行了。我跳过了“处理器体系结构”和“优化程序性能”,这两章的笔记继续往后延迟!  《深入计算机系统》的一个很大的用... 查看详情

深入理解java虚拟机读书笔记三

深入理解Java虚拟机第三章内存管理读书笔记垃圾回收需要解决的三个问题是:哪些内存需要回收何时回收如何回收哪些内存需要回收对于Java内存运行时区域,程序计数器\虚拟机栈\本地方法栈三个部分是线程私有的,随线程而生,随... 查看详情

深入理解计算机操作系统(笔记)(代码片段)

深入理解计算机系统1.实时系统概念2.编译连接3.AT&T汇编指令学习(GCC)4.内存对齐5.Big-Endian大端模式和Little-Endian小端模式6.过程调用1.实时系统概念前后台系统后台是各种面向硬件的程序,如中断,定时器,gpio等。前... 查看详情

存储器层次结构--《深入理解计算机系统》第六章读书笔记

1.几种存储技术随机访问存储器RAM,RAM又分为两类:静态的SRAM和动态的DRAM。静态SRAM特点:容量较小,速度较之动态DRAM要快很多,故而价格也较高。一般用作CPU与内存的缓存。动态DRAM特点:容量较大,速度比SRAM慢,价格相对较... 查看详情

深入理解java虚拟机阅读笔记

 1、程序计数器-占用空间:较小作用:字节码行号指示器作用详情:指示指令执行,如(字节码的执行,分支,循环,跳转,异常处理,线程恢复)特点:线程私有(每个计数器独立计算,上下文相互独立)。2、虚拟机栈占... 查看详情

深入理解计算机系统之信息的存储和处理

...码:实数的科学计数法的️以2为技术的版本;溢出:计算机的表示法是用有限的位对一个数字编码,当结果太大以至于不能表示时,某些运算就会溢出;字节:一个8位的块,是最小的可寻址的内存单位;虚拟内存:机器级... 查看详情

深入理解jvm阅读笔记-内存溢出小结

JAVA系统除了程序计数器和虚拟机内存之外的其它几个内存区域都有发生OutOfMemory(OOM)的可能。堆,栈,方法区,静态常量池,直接内存,都是可能的。1.Java堆溢出Java堆用于存储对象实例,只要不断的创建对象,并且保证GCRoots... 查看详情

深入理解java虚拟机读书笔记1--java内存区域

  Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途、创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随线程的... 查看详情

深入理解jvm虚拟机读书笔记——内存模型与线程(代码片段)

注:本文参考自周志明老师的著作《深入理解Java虚拟机(第3版)》,相关电子书可以关注WX公众号,回复001获取。1.Java内存模型JMM概述:Java内存模型指的是JMM,而不是运行时数据区哦~Java语言为了保证... 查看详情

深入理解jvm虚拟机读书笔记——内存模型与线程(代码片段)

注:本文参考自周志明老师的著作《深入理解Java虚拟机(第3版)》,相关电子书可以关注WX公众号,回复001获取。1.Java内存模型JMM概述:Java内存模型指的是JMM,而不是运行时数据区哦~Java语言为了保证... 查看详情

深入理解java虚拟机-读书笔记(代码片段)

第1章走近Java第2章Java内存区域与内存溢出异常第3章垃圾回收器与内存分配策略第4章虚拟机性能监控与故障处理工具第1章走近JavaJava程序设计语言、Java虚拟机、JavaAPI类库统称为JDK。Java技术体系分为4个平台:JavaCard:Apple... 查看详情

深入理解jvm虚拟机读书笔记——对象的创建与内存布局(代码片段)

注:本文参考自周志明老师的著作《深入理解Java虚拟机(第3版)》1.对象的创建过程在Java语言层面,创建对象一般是借助new关键字去实现:Useruser=newUser();而在虚拟机中,对象的创建过程如下:当Jav... 查看详情

《深入理解计算机系统》pdf下载

《深入理解计算机系统》【PDF】下载链接:https://u253469.pipipan.com/fs/253469-230062566   内容提要本书主要介绍了计算机系统的基本概念,包括最底层的内存中的数据表示、流水线指令的构成、虚拟存储器、编译系统、动态加... 查看详情

《深入理解java虚拟机-jvm高级特性与最佳实践(第三版)》阅读笔记

《深入理解Java虚拟机》阅读笔记本repository为《深入理解Java虚拟机-Jvm高级特性与最佳实践(第三版)》阅读笔记,因为第一章主要讲的是Java的发展历史,这里就不做笔记,直接从第2章的"Java内存区域与内... 查看详情

深入理解jvm虚拟机读书笔记——对象的创建与内存布局(代码片段)

注:本文参考自周志明老师的著作《深入理解Java虚拟机(第3版)》,相关电子书可以关注WX公众号,回复001获取。1.对象的创建过程在Java语言层面,创建对象一般是借助new关键字去实现:Useruser=newUs... 查看详情

《深入理解java虚拟机》--内存

  JVM对于操作系统来说是一种应用程序,JVM要运行的时候,操作系统会创建对应的进程而且分配一定大小的内存。 一、内存结构  当虚拟机得到系统分配的内存后,它在其内存空间中就是老大,管理对象内存的分配以及... 查看详情

java内存模型与线程深入理解java虚拟机总结(代码片段)

在许多情况下,让计算机同时去做几件事情,不仅是因为计算机的运算能力强大了,还有一个很重要的原因是计算机的运算速度与它的存储和通信子系统速度的差距太大,大量的时间都花费在磁盘I/O、网络通信或者数据库访问上... 查看详情

《深入理解java虚拟机》一些笔记

大三下学期刚考完,把一个商城项目匆匆做完了,开始捧起这本书,但是感觉内容繁多,为了便于以后复习,这里总结一些笔记,大部分都是直接copy书上的,这本书还没看完也不知道自己能看到哪里,慢慢看吧第一章 走进java... 查看详情