当前位置: 首页 > news >正文

做信息图网站wordpress 百度优化 插件

做信息图网站,wordpress 百度优化 插件,网站服务器选购,北京优化核酸检测虚拟内存是什么#xff1f; 【进程地址空间虚拟地址空间C/C程序地址空间就是那个4G的空间】 虚拟内存是操作系统内核为了对进程地址空间进行管理#xff0c;而设计的一个逻辑意义上的内存空间概念。在程序运行过程中#xff0c;虚拟内存中需要被访问的部分会被映射到物理内…虚拟内存是什么 【进程地址空间虚拟地址空间C/C程序地址空间就是那个4G的空间】 虚拟内存是操作系统内核为了对进程地址空间进行管理而设计的一个逻辑意义上的内存空间概念。在程序运行过程中虚拟内存中需要被访问的部分会被映射到物理内存空间中CPU 通过将虚拟地址翻译成物理地址这样才能访问到真实的物理内存使得程序顺利执行。 【比如我们在写完一段C程序之后都需要采用g进行编译这时候编译器采用的地址其实就是虚拟内存空间的地址。因为这时候程序还没有运行指令和数据还没有被加载到内存中那此时使用的就是虚拟内存的地址了。】 运行进程时通过页表将虚拟内存内容与真实物理空间内容对应。内核会为系统中每个进程维护一个页映射表。页映射表的基本原理是将程序运行过程中需要访问的段虚拟内存空间通过页映射表映射到一段物理内存空间上这样CPU访问对应虚拟内存地址的时候就可以通过这种查找页映射表的机制访问物理内存上的某个对应的地址。 虚拟内存的计算方式 虚拟内存的最大容量是由计算机的地址结构CPU寻址范围确定的。 虚拟内存的实际容量  min(内存和磁盘容量之和CPU寻址范围)。 比如 某计算机地址结构 32 位内存大小为 512M磁盘大小为 2GB则 虚拟内存的最大容量  2^32B 4GB。 虚拟内存的实际容量  min(2^32B, 512MB2GB) 2GB512MB。 CPU通过页表获得数据的过程 无论命中与否都会访问两次内存。 若访问页表发现页命中即页被加载到物理内存 首先CPUCPU调用MMU根据虚拟地址访问内存中的页表获取到页表的中描述的所需数据存放在物理内存位置再次访问内存获得真正的数据。 若访问页表发现未页命中即页未被加载到物理内存 首先CPUCPU调用MMU根据虚拟地址访问内存中的页表获取到页表后发现发现页不在内存中未命中因此MMU发送一个缺页中断交由缺页异常处理程序处理。缺页异常处理程序根据页置换算法选择出一个牺牲页如果这个页面已经被修改了则写出到磁盘上。并将这个牺牲页的页表项有效位设置为0存入磁盘地址。对于新调入的页面如果该虚拟页尚未分配磁盘空间则分配磁盘空间然后磁盘空间的页数据拷贝到该物理页上并更新有效位为1更新对应的物理页号。完成这些操作后从缺页异常处理程序返回重新按照页表项命中的步骤执行。 ———————————————— 原文链接https://blog.csdn.net/daocaokafei/article/details/116207148 CPU寻址和虚拟地址空间 现代处理器使用的是一种称为 虚拟寻址(Virtual Addressing) 的寻址方式。使用虚拟寻址CPU 需要将虚拟地址翻译成物理地址这样才能访问到真实的物理内存。 实际上完成虚拟地址转换为物理地址转换的硬件是 CPU 中含有一个被称为 内存管理单元Memory Management Unit, MMU 的硬件 “页page是虚拟内存空间向物理内存空间映射的基本单元. 虚拟地址和物理地址 我们程序中各个变量等使用的地址其实都是这个虚拟内存空间中的地址。在编程过程中我们面对的也都是逻辑地址。 【可省略】举个最简单的例子父子进程各种有一份虚拟空间地址在子进程刚被创建时父子进程代码和数据共享所以此时虚拟地址空间的内容是基本一样的当然有部分数据不同比如各子的id等且映射关系也是一样的但是当子进程对数据进行修改时子进程对那份数据进行写时拷贝所以物理空间地址发生了变化但是虚拟地址还是没有发生变化只是改变了子进程的页表中那份虚拟地址的映射关系而已所以两个相同的虚拟地址在父子进程分别看到了不同的物理地址空间。 ———————————————— 原文链接https://blog.csdn.net/weixin_58450087/article/details/123461959 虚拟地址访问内存有以下优势 程序可以使用一系列相邻的虚拟地址来访问物理内存中不相邻的大内存缓冲区。程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区。数据或代码页会根据需要在物理内存与磁盘之间移动。不同进程使用的虚拟地址彼此隔离。一个进程中的代码无法更改正在由另一进程或操作系统使用的物理内存。同时虚拟地址通过页表映射可以实现内存保护 比方说你的进程申请了一个数组这个时候你会获得一个虚拟地址的范围这时页表就会保存你的虚拟地址范围和映射到内存中的物理地址范围。同时页表还会保存数据的一些相关信息比方说“可读可写”、“只可读不可写”。 这样当你通过地址访问数组的时候操作系统会就会在页表中找有没有该虚拟地址和物理地址的对应关系。如果地址正常页表中一定会有映射关系存在这样就可以正常访问数组。如果发生越界情况操作系统在页表中找不到该虚拟地址和物理地址的对应关系说明非法访问然后报错。 还有如果当你试图更改一个不可写的数据时操作系统会判断当前数据是否可写如果不可写就会报错。比方说字符串、常量等等… 虚拟内存是如何实现的 虚拟内存的实现需要建立在离散分配的内存管理方式的基础上。内存需要实现分页或分段的内存管理形式 请求分页存储管理建立在分页管理之上为了支持虚拟存储器功能而增加了请求调页功能和页面置换功能。请求分页是目前最常用的一种实现虚拟存储器的方法。请求分段存储管理建立在分段存储管理之上增加了请求调段功能、分段置换功能。请求段页式存储管理 分段、分页是针对物理内存进行的管理方式。将物理内存划分好后与虚拟内存进行映射对应。 内存的管理有4种方式 常见的内存管理机制 块式管理  远古的计算机操系统的内存管理方式。将内存分为几个固定大小的块每个块中只包含一个进程。如果程序运行需要内存的话操作系统就分配给它一块。页式管理 把主存分为大小相等且固定的一页一页的形式页较小相对相比于块式管理的划分力度更大提高了内存利用率减少了碎片。页式管理通过页表对应逻辑地址和物理地址。段式管理  页式管理虽然提高了内存利用率但是页式管理其中的页实际并无任何实际意义。 段式管理把主存分为一段段的段是有实际意义的每个段定义了一组逻辑信息例如,有主程序段 MAIN、子程序段 X、数据段 D 及 栈段 S 等。 段式管理通过段表对应逻辑地址和物理地址。段页式管理机制把主存先分成若干段每个段又分成若干页也就是说 段页式管理机制中段与段之间以及段的内部的都是离散的。 简单来说页是物理单位段是逻辑单位。分页可以有效提高内存利用率分段可以更好满足用户需求。 分页和分段的区别 用户空间划分为大小相等的部分称为页逻辑上相邻的页物理上不一定相邻。用户进程地址空间按照自身逻辑划分为若干段每段在内存中占据连续空间各段可以不相邻用户进程先按段划分在段内按照页划分  区别 目的不同分页的目的是管理内存用于虚拟内存以获得更大的地址空间分段的目的是满足用户的需要使程序和数据可以被划分为逻辑上独立的地址空间大小不同段的大小不固定由其所完成的功能决定页的大小固定由系统决定地址空间维度不同分段是二维地址空间段号段内偏移分页是一维地址空间每个进程一个页表/多级页表通过一个逻辑地址就能找到对应的物理地址分段便于信息的保护和共享分页的共享收到限制碎片分段没有内碎片但会产生外碎片因为段与段之间不连续分页没有外碎片但会产生内碎片因为一个页填不满 分页和分段地址转换408题目 段、页、页框、页表、页表项_页框号_biggerbugger的博客-CSDN博客 top命令 top命令作为 Linux下最常用的性能分析工具之一可以监控、收集进程的CPU、IO存使用情况。比如我们可以通过top命令获得个进程使用了多少虚拟内存VIRT、物理内存RES、共享内存SHR 2.1 top命令中ⅥRT、RES和SHR的含义 VIRT的含义。搞清楚了虚拟内存的概念之后解释ⅥRT的含义就很简单了。ⅥRT表示的是进程虚拟内存空间大小。对应到图1中的进程A来说就是A1、A2、A3、A4以及灰色部分所有空间的总和.也就是说VIRT包含了在已经映射到物理内存空间的部分和尚未映射到物理内存空间的部分和。 RES的含义。指进程虚拟內存空间中已经映射到物理內存空间的那部分的大小。对应到图1中的进程A来说就是A1、A2、A3以及A4几个部分空间的总和。所以说看进程在运行过程中占了多少内存应该看RES的值而不是VIRT的值。SHR的含义。SHR是 share共享的缩写它表示的是进程占用的共享内存大小。在上图1中我们看到进程A虚拟内存空间中的A4和进程B虚拟内存空间中的B3都映射到了物理内存空间的A4/B3。为什么会出现这样的情况呢其实我们写的程序会依赖于很多外部的动态库.so比如libc.so、libd.so等等。这些动态库在内存中仅仅会保存/映射一份如果某个进程运行时需要这个动态库那么动态加载器会将这块内存映到对应进程的虚拟内存空间中。多个进程之间通过共享内存的方式相互通信也会出现这样的凊况。这么一来就会出现不同进程的虚拟内存空间会映射到相同的物理内存空间。这部分物理内存空间其实是被多个进程所共享的所以我们将他们称为共享内存用SHR来表示。某个进程占用的内存除了和别的进程共享的内存之外就是自己的独占内存了。所以要计算进程独占内存的大小只要用RES的值减去SHR值即可 。 ———————————————— 原文链接https://blog.csdn.net/qq_41687938/article/details/120479067 页面置换算法的作用 因为发生了缺页因此可能会出现使用页面置换算法的情况 缺页中断就是要访问的页不在主存需要操作系统将其调入主存后再进行访问。 当发生缺页中断时如果当前内存中并没有空闲的页面操作系统就必须在内存选择一个页面将其移出内存以便为即将调入的页面让出空间。用来决定淘汰哪一页的规则叫做页面置换算法。 页面置换算法有什么 最佳页面置换算法OPTOptimal replacement algorithm置换以后不需要或者最远的将来才需要的页面是一种理论上的算法是最优策略先进先出FIFO置换在内存中驻留时间最长的页面。缺点有可能将那些经常被访问的页面也被换出从而使缺页率升高最近最少使用算法LRULeast Recently UsedLRU算法赋予每个页面一个访问字段用来记录一个页面自上次被访问以来所经历的时间 T当须淘汰一个页面时选择现有页面中其 T 值最大的即最近最久未使用的页面予以淘汰。最少使用页面置换算法LFU Least Frequently Used: 该置换算法选择在之前时期使用次数最少的页面最近未使用算法NRUNot Recently Used检查访问位R、修改位M优先置换RM0其次是R0, M1 什么是块表和多级页表 1快表 为了解决虚拟地址到物理地址的转换速度操作系统在页表方案基础之上引入了 快表 来加速虚拟地址到物理地址的转换。我们可以把快表理解为一种特殊的高速缓冲存储器Cache其中的内容是页表的一部分或者全部内容。 2多级页表 引入多级页表的主要目的是为了避免把全部页表一直放在内存中占用过多空间特别是那些根本就不需要的页表就不需要保留在内存中。多级页表属于时间换空间的典型场景。
http://www.zqtcl.cn/news/697484/

相关文章:

  • 下载建设网站软件投资公司注册资金多少
  • 如何创建一个论坛网站免费域名解析平台
  • 国外经典手机网站设计单位做网站有哪些
  • 网站备案 优帮云百度提交入口网址截图
  • 广州五羊建设官方网站富阳区住房和城乡建设局网站
  • 网站代理怎么做的wordpress有什么缺点
  • 哪些网站可以做免费外贸Wordpress首图自动切换
  • 建网站几个按钮公司黄页企业名录在哪里查
  • 网站建设类外文翻译游戏开科技软件免费
  • 黄山家居网站建设怎么样济南在线制作网站
  • 东莞电子产品网站建设营销型网站推广方式的论文
  • 如何寻找做网站的客户聚名网查询
  • 甘肃制作网站凡科快图官网登录入口在线
  • discuz网站建设教学视频教程哪些大型网站有做互联网金融
  • jquery动画特效网站物流网站前端模板下载
  • 上海集团网站建设网站都是用什么语言写的
  • 地铁公司招聘信息网站网站推广页面 英语
  • 廊坊做网站的企业哪家好做网站app价格多少钱
  • wap网站制作当阳网站建设电话
  • 服装电子商务网站建设3000字中装建设有限公司
  • 河南卓越建设工程有限公司网站怎么做垂直门户网站
  • 接单做网页的网站手机端app开发公司
  • 古田路9号设计网站在线制作图片拼图
  • 深圳网站开发ucreator售后服务 网站建设
  • 做网站的语北京比较好的it公司
  • 长春建站模板制作php项目开发案例源码
  • 绍兴seo外包公司山东网站建设优化
  • php做网站知乎境外网站icp备案
  • 做seo网站图片怎么优化地坪漆东莞网站建设技术支持
  • wordpress theme forest济南优化网站排名