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

建设网站怎么设置网站页面大小网上营销网站

建设网站怎么设置网站页面大小,网上营销网站,前端培训机构推荐,营口建设工程质量监督站网站操作系统为每个进程分配独立的一套「虚拟地址」,人人都有,大家自己玩自己的地址就行,互不干涉。 操作系统会提供一种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来。 如果程序要访问虚拟地址的时候,由操作…

操作系统为每个进程分配独立的一套「虚拟地址」,人人都有,大家自己玩自己的地址就行,互不干涉。

操作系统会提供一种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来。

如果程序要访问虚拟地址的时候,由操作系统转换成不同的物理地址,这样不同的进程运行的时候,写入的是不同的物理地址,这样就不会冲突了。

于是,这里就引出了两种地址的概念

  • 我们程序所使用的内存地址叫做虚拟内存地址
  • 实际存在硬件里面的空间地址叫物理内存地址

操作系统引入了虚拟内存,进程持有的虚拟地址会通过 CPU 芯片中的内存管理单元(MMU)的映射关系,来转换变成物理地址,然后再通过物理地址访问内存,如下图所示:

32位操作系统下内核态虚拟内存空间的前 896M 区域是直接映射到物理内存中的前 896M 区域中的,直接映射区中的映射关系是一比一映射。映射关系是固定的不会改变。

操作系统提供内存分段内存分页管理虚拟地址和物理地址的关系

内存分段:

程序是由若干个逻辑分段组成的,如可由代码分段、数据分段、栈段、堆段组成。不同的段是有不同的属性的,所以就 用分段的形式把这些段分离出来。

段选择因子和段内偏移量:

  • 段选择子就保存在段寄存器里面。段选择子里面最重要的是段号,用作段表的索引。段表里面保存的是这个段的基地址、段的界限和特权等级等。
  • 虚拟地址中的段内偏移量应该位于 0 和段界限之间,如果段内偏移量是合法的,就将段基地址加上段内偏移量得到物理内存地址。

在上面,知道了虚拟地址是通过段表与物理地址进行映射的,分段机制会把程序的虚拟地址分成 4 个段,每个段在段表中有一个项,在这一项找到段的基地址,再加上偏移量,于是就能找到物理内存中的地址,如下图:

如果要访问段 3 中偏移量 500 的虚拟地址,我们可以计算出物理地址为,段 3 基地址 7000 + 偏移量 500 = 7500。

分段缺点:

  • 第一个就是内存碎片的问题。
  • 第二个就是内存交换的效率低的问题。

内存碎片主要分为,内部内存碎片和外部内存碎片。

内存分段管理可以做到段根据实际需求分配内存,所以有多少需求就分配多大的段,所以不会出现内部内存碎片

但是由于每个段的长度不固定,所以多个段未必能恰好使用所有的内存空间,会产生了多个不连续的小物理内存,导致新的程序无法被装载,所以会出现外部内存碎片的问题。

解决「外部内存碎片」的问题就是内存交换。

可以把程序内存写到硬盘上,然后再从硬盘上读回来到内存里。不过不读回原有的位置,而是进行内存紧缩

这个内存交换空间,在 Linux 系统里,也就是我们常看到的 Swap 空间,这块空间是从硬盘划分出来的,用于内存与硬盘的空间交换。

内存分页:

分页是把整个虚拟和物理内存空间切成一段段固定尺寸的大小。这样一个连续并且尺寸固定的内存空间,我们叫页(Page)。在 Linux 下,每一页的大小为 4KB

页表是存储在内存里的,内存管理单元 (MMU)就做将虚拟内存地址转换成物理地址的工作。

而当进程访问的虚拟地址在页表中查不到时,系统会产生一个缺页异常,进入系统内核空间分配物理内存、更新进程页表,最后再返回用户空间,恢复进程的运行。

分页的方式使得我们在加载程序的时候,不再需要一次性都把程序加载到物理内存中。我们完全可以在进行虚拟内存和物理内存的页之间的映射之后,并不真的把页加载到物理内存里,而是只有在程序运行中,需要用到对应虚拟内存页里面的指令和数据时,再加载到物理内存里面去。

在分页机制下,虚拟地址分为两部分,页号页内偏移。页号作为页表的索引,页表包含物理页每页所在物理内存的基地址,这个基地址与页内偏移的组合就形成了物理内存地址。

在 32 位的环境下,虚拟地址空间共有 4GB,假设一个页的大小是 4KB(2^12),那么就需要大约 100 万 (2^20) 个页,每个「页表项」需要 4 个字节大小来存储,那么整个 4GB 空间的映射就需要有 4MB 的内存来存储页表。

这 4MB 大小的页表,看起来也不是很大。但是要知道每个进程都是有自己的虚拟地址空间的,也就说都有自己的页表。

那么,100 个进程的话,就需要 400MB 的内存来存储页表,这是非常大的内存了,更别说 64 位的环境了。

多级页表:

我们把这个 100 多万个「页表项」的单级页表再分页,将页表(一级页表)分为 1024 个页表(二级页表),每个表(二级页表)中包含 1024 个「页表项」,形成二级分页。如下图所示:

如果某个一级页表的页表项没有被用到,也就不需要创建这个页表项对应的二级页表了,即可以在需要时才创建二级页表。

即一级页表有1024个页表项,每个页表项对应了4MB的内存空间,总共是4GB,如果一个程序只需要用400MB内存空间,只需要4KB(1024 * 4字节)(一级页表) + 100 * 4KB(二级页表) = 0.395MB的页表去存储,这比之前的4MB好多了

为什么不分级的页表就做不到这样节约内存?
我们从页表的性质来看,保存在内存中的页表承担的职责是将虚拟地址翻译成物理地址。假如虚拟地址在页表中找不到 对应的页表项,计算机系统就不能工作了。所以页表一定要覆盖全部虚拟地址空间,不分级的页表就需要有 100 多万个页表项来映射,而二级分页则只需要 1024 个页表项(此时一级页表覆盖到了全部虚拟地址空间,二级页表需要时再创建)。

对于 64 位的系统,两级分页肯定不够了,就变成了四级目录

多级页表虽然解决了空间上的问题,但是虚拟地址到物理地址的转换就多了几道转换的工序,这显然就降低了这俩地址转换的速度,也就是带来了时间上的开销。CPU 芯片中,加入了一个专门存放程序最常访问的页表项的 Cache,这个 Cache 就是 TLB(Translation Lookaside Buffer) ,通常称为页表缓存、转址旁路缓存、快表等。

段页式内存管理

内存分段和内存分页并不是对立的,它们是可以组合起来在同一个系统中使用的,那么组合起来后,通常称为段页式内存管理。

段页式内存管理实现的方式:

  • 先将程序划分为多个有逻辑意义的段,也就是前面提到的分段机制;
  • 接着再把每个段划分为多个页,也就是对分段划分出来的连续空间,再划分固定大小的页;

这样,地址结构就由段号、段内页号和页内位移三部分组成。

用于段页式地址变换的数据结构是每一个程序一张段表,每个段又建立一张页表,段表中的地址是页表的起始地址,而页表中的地址则为某页的物理页号,如图所示:

段页式地址变换中要得到物理地址须经过三次内存访问

  • 第一次访问段表,得到页表起始地址;
  • 第二次访问页表,得到物理页号;
  • 第三次将物理页号与页内位移组合,得到物理地址。

Linux 内存主要采用的是页式内存管理,但同时也不可避免地涉及了段机制。但是事实上,Linux 内核所采取的办法是使段式映射的过程实际上不起什么作用

为什么要使用虚拟内存?

  • 虚拟内存可以使得进程对运行内存超过物理内存大小,因为程序运行符合局部性原理,CPU 访问内存会有很明显的重复访问的倾向性,对于那些没有被经常使用到的内存,我们可以把它换出到物理内存之外,比如硬盘上的 swap 区域。
  • 由于每个进程都有自己的页表,所以每个进程的虚拟内存空间就是相互独立的。进程也没有办法访问其他进程的页表,所以这些页表是私有的,这就解决了多进程之间地址冲突的问题
  • 页表里的页表项中除了物理地址之外,还有一些标记属性的比特,比如控制一个页的读写权限,标记该页是否存在等。在内存访问方面,操作系统提供了更好的安全性
http://www.dtcms.com/wzjs/148052.html

相关文章:

  • 鹤壁做网站公司哪家好网络推广公司加盟
  • 如何下载网站模板文件在哪里腾讯云域名购买
  • 阜宁做网站互联网营销师证书是国家认可的吗
  • 做网站东莞选哪家公司好优化推广
  • 信息可视化网站时事新闻热点摘抄
  • 番禺网站建设番禺网络营销seo职位
  • 桐城网站设计网站开发流程的8个步骤
  • 如何识别一个网站是否做的好鄂州网站seo
  • 退役军人事务部网站建设seo网站排名后退
  • 制作闹钟网站腾讯企点qq
  • 吉祥物设计网站十大免费b2b网站
  • 外贸网站建设报价表的磁力搜索引擎
  • 想见你一个网站怎么做南宁网
  • 青岛做教育的网站搜索引擎营销推广方案
  • 临沂做网站推广的公司哪家好网页查询
  • 衡阳企业网站排名优化网络舆情监测平台
  • 做婚姻网站赚钱seo教程技术资源
  • dw课设做网站网站建设包括哪些内容
  • html5做网站属于网络营销的特点是
  • 访问最多技术网站排名上海优化seo排名
  • 成都小程序系统定制开发合肥百度seo代理
  • 网站建设客户沟通东莞推广公司
  • 怎么做网站免网络营销期末总结
  • 中小企业网站制作软件十大免费软文推广平台
  • 广州网站推广自助湖南靠谱seo优化
  • 做商城网站的项目背景图片百度官方网站网址是多少
  • 兵团第二师建设环保局网站网络营销案例分析论文
  • 什么样的网站可以做站群seo代码优化有哪些方法
  • 济南百度做网站百度小说排行榜前十名
  • wordpress程序包seo优化的主要任务包括