首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文看懂影子和扩展

所以虚拟化场景下要解决虚拟机里面的进程如何访问物理机上的内存这一问题,也就是GVA->HPA的映射问题。 硬件辅助内存虚拟化出现之前,这个过程是通过软件实现的,即通过VMM来实现的。...二.影子 (Shadow page table) 影子我用一句话来描述就是:VMM把Guest和Host中的合并成一个,称为影子,来实现GVA->HPA映射。...4, 把GVA -> HPA,这一路的映射关系记录到中,这个就是影子。...虚拟机和影子通过一个哈希建立关联(当然也有其他的关联方式),客户机操作系统把当前进程的基址载入PDBR时而VMM将会截获这一特权指令,将进程的影子基址载入客户机PDBR,使客户机恢复运行时...硬件层面引入EPTP寄存器,来指向EPT基地址。Guest运行时,Guest被载入PDBR,而 EPT 被载入专门的EPT 指针寄存器 EPTP。

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

Atom飞行手册翻译: 2.2 Atom中移动

Atom中移动 用鼠标和方向键,简单地Atom中移来移去非常容易,然而Atom有一些快捷键,可以让你把手一直放到键盘上,更快速地浏览文档。 首先,Atom自带许多Emacs的快捷键来浏览文档。...如果你Mac中使用Homebrew,运行brew install ctags来安装。 你可以通过在你的主目录下生成.ctags文件(~/.ctags),来自定义tags如何生成。这里是一个例子。...Atom书签 Atom同时拥有一个非常棒的途径,特定的一行上面加上书签,使你可以快速跳到那一行。 如果你按下cmd-F2,Atom会给那一行加上书签。...你可以整个项目中设置一些书签,并且使用它们快速跳到项目中一些重要的行。一个小的书签标识会加在行号后面,像下面这张图的第22行。 按下F2之后,Atom会跳到当前文件的下一个书签的位置。

1K20

内核调试

一、配置内核 首先配置内核,使其支持导出内核到debugfs下面: Kernel hacking ---> ---> [*] Export kernel pagetable layout to...而为了快速方便找到对应物理而将所有的帧结构体映射到此区域,后续只需使用virt_to_page, phys_to_page等宏实现虚拟地址,物理地址到对应结构体的快速查询。...地址空间port属性说明 第一列 当前的映射范围地址 第二列 代表此映射范围大小 PMD PUD PTE 当标识为PMD PUD表示当前映射为block映射,如当前为4K,则pud的block映射一次性可映射...当标识为PTE表示为映射即PAGE_SIZE大小4K。 USR AP标记,用于标识当前范围是否在用户空间还是内核空间可读可写或者仅读。...x表述当前范围特权级别模式可执行,就是内核的可执行代码段,在内核中这段一般指向内核的text*段 SHD 表示可共享属性,arm64上表述为多核之间可共享其可见 AF 访问标志,当首次映射时,

16710

多级的好处

32位系统下,物理内存进行了分页,每一的大小为4kb,如果已经通过分段生成了线性地址空间,然后线性地址空间再去找分页的物理地址,比如说,找到了是第xxx通过线性地址里的后12位的offset进行结合找到具体的物理地址...如果是二级,规则就会改变,让二级对应到物理内存上的4KB大小的,一级此时变成映射为物理地址的4MB(这样子是无法定位到具体的(4KB)的,所以二级再去找),这样先找到一级,一级再和二级进行结合...,二级表相当于一级4MB分成了1024个(1KB个)4KB,找完后二级充当了offset的角色,此时定位到具体的4KB的页面,再用一级的offset一结合定位到具体物理地址。...这样一个进程浪费掉的空间是一级占用的:(4GB/4MB)*4byte=4KB,二级浪费掉的是1kb(1个一级占用这么多)*1kb(此时有1kb(4GB/4MB)个一级)=4MB,加起来是...4MB+4KB,比光用一级要多4KB,但是2级是可以不存在的,比如此时程序只用了%20的,那么4MB就需要乘以%20,这样一下子就比只有一级时少了。

1.7K30

内核知识第八讲,PDE,PTE,目录,的内存管理

保护模式下, 寄存器CR0的高位1表示开启分页.0表示不开启. 而这个操作系统初始化的是否就已经完成了. 如果我们不开启,那么访问虚拟内存,就等价于访问物理内存了....详情请看 https://www.cnblogs.com/hongfei/archive/2013/06/18/3142162.html 转载 三丶分页管理机制 讲解分页管理机制之前,我们要明白以下几个关键词的意思...页码:   80386下,一个的固定大小是4K个字节,也就是4096,一个的边界地址,不许是4K的倍数. 所以4G大小的内存.就可以划分为1M个节. 而我们的的开始一般具有一个特点....首先我们的CR3寄存器保存了的首地址. 这里有一个目录,还有的关键词. 目录: 也称为PDE,而称之为PTE....PDE的大小:   目录,存储一个4K字节的物理中,其中每一项是4个字节.保存了的地址.   而最大是1M个. PTE的大小.   PTE的大小也和PDE一样的.

1.5K10

【进程 进程通常存在PCB中

通俗解释进程-科学家做蛋糕 科学家做蛋糕 然后女儿被蜜蜂蛰了 进程–在内核 内存管理 经典 老式 管理方法: 基址寄存器(程序开始的地方) + 界限寄存器(程序长度) 空闲内存管理...每个框有一个编号,即“框号”(框号=帧号=内存块号=物理块号=物理页号),框号从0开始 将进程的逻辑地址空间也分为与框大小相等的一个个部分,每个部分称为一个“”或“页面”。...操作系统以框为单位为各个进程分配内存空间。进程的每个页面分别放入一个框中。也就是说,进程的页面与内存的框有一一对应的关系。 各个页面不必连续存放,可以放到不相邻的各个框中。...重要的数据结构—— 为了能知道进程的每个页面在内存中存放的位置,操作系统要为每个进程建立一张。...注:通常存在PCB中 一个进程对应一张 进程的每个页面对应一个表项 每个表项由“页号”和“块号”组成 表记录进程页面和实际存放的内存块之间的映射关系

1.3K20

macOS恢复模式中移动Desktop内文件到Documents内

恢复模式中的Terminal设置 默认恢复模式里,是/private/var/root,我们先cd到用户名下 cd /Volumes/[硬盘名字]/Users/[用户名] 恢复模式里,其实只需要/...rm -rf /Volumes/Macintosh\ HD/Users/[UserName]/.Trash/* 权限问题 默认权限是归root的,因为是恢复模式新增文件夹(也就是system)。...https://support.apple.com/en-hk/guide/mac-help/mchlp1038/mac 复制好文件夹之后,可能产生权限问题,这个可以通过Get Info / CMD...# 先将文件夹所有者更改为该用户 sudo chown UserName -R path/to/directory sudo chmod -R 755 path/to/directory 644代,...755代,用户可读可写可执行,组可读可执行,其他可读可执行 你也可以通过以下方式: sudo chmod u=rw,g=r,o=r path/to/directory ##或者 (755) sudo

67710

操作系统多级与快--12

第一种尝试,只存放用到的 第二种尝试:多级,即目录(章)+(节) 多级提高了空间效率,但在时间上? TLB得以发挥作用的原因 为什么TLB条目数可以64-1024之间?...很自然,因为表项是顺序排列,人们就想到通过二分查找等手段来加速查询过程,但是即使是二分查找,复杂度也log(n)。 对于32位地址而言,也需要log(2^20)=20次额外的访存。...对于多级而言,如果只有两级的话,需要先去目录中定位到具体的章节,然后通过该页章节指针,来到其指向的小节页面,小节页面中再定位到具体的表项,然后就可以通过表项得到其对应的实页号。...可见多级虽然节约了内存的开销,但是时间上,相对于单级而言,还是多出来了一次访存的开销,并且随着级数增加,访存开销也会变大。...如果TLB缺失,那么查询多级也就不可避免了,只要确保了TLB的高命中率,那么查询多级这点时间浪费,也就可以被弥补了 ---- TLB得以发挥作用的原因 ---- 为什么TLB条目数可以64

1.8K50

重置样式--HTML

重置样式 这就是一个简单的我自己使用的重置样式 里面的话 大多数的重置是都有啦的 大家没有的可以收藏起来 拿去用 html{ /* 标准字体大小可以,移动端使用的rem适配的话会动态改变。.../* 使用IE盒模型(个人取舍,我一般设置width是这是盒子的真实大小,包括padding和border) */ box-sizing: border-box; } html...与浏览器窗口高度一致 */ height: 100%; } body{ /* 有些背景默认为浅灰色,所以统一设置为纯白 */ background: #fff; /* 照着antd上面来的,公司就别用微软雅黑了...moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } /** * 让html5...中的hiddenIE10中正确显示 */ [hidden] { display: none; } template { /* 有些浏览器会显示template 不过template

2.1K20
领券