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

做游戏课程网站石家庄疫情最新消息

做游戏课程网站,石家庄疫情最新消息,视频怎么制作,wordpress图片插件放大进程地址空间的理解 一,什么是程序地址空间二,页表和虚拟地址空间三,为什么要有进程地址空间 一,什么是程序地址空间 在我们写程序时,都会有这样下面的内存结构,来存放变量和代码等数据。 一个进程要执行…

进程地址空间的理解

  • 一,什么是程序地址空间
  • 二,页表和虚拟地址空间
  • 三,为什么要有进程地址空间

一,什么是程序地址空间

在我们写程序时,都会有这样下面的内存结构,来存放变量和代码等数据。
在这里插入图片描述
一个进程要执行,必须要有其对应的这样的内存结构。一个系统中有很多进程要执行,则要对应有很多进程空间。但是实际上的物理内存就那么大,无法给每一个进程都分配这么多的空间。则操作系统给每一个进程都划分了一个这样的虚拟的内存结构,这个虚拟的内存结构就叫做进程地址空间

二,页表和虚拟地址空间

以下面例子为例讲解。在Linux下,我们编写一个C语言程序,创建一个子进程,修改子进程中和父进程中共有的值,查看其分别在父进程和子进程中这个值的大小和地址。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int g_val = 0;
int main()
{pid_t id = fork();if(id < 0){perror("fork");return 0;}else if(id == 0){ g_val=100;printf("child[%d]: %d : %p\n", getpid(), g_val, &g_val);}else{ //parentsleep(3);printf("parent[%d]: %d : %p\n", getpid(), g_val, &g_val);}sleep(1);return 0;
}

结果:
child[3046]: 100 : 0x80497e8
parent[3045]: 0 : 0x80497e8

这里看到 g_val 在父进程和子进程中的地址一样,但是内容不一样,则一定说明 g_val 在父进程和子进程的中的物理内存不一样,但是这里显示的地址却是一样的。这说明在这里的地址是虚拟地址而不是物理地址。

知道了虚拟地址,现在来讲解一下虚拟地址和物理地址之间的关系:

虚拟地址和物理地址之间是由页表来构成的一种映射关系

由上面的讲解可知,操作系统给每个进程分配了一个进程地址空间,这个进程地址空间是一个虚拟地址空间,通过页表来映射到物理地址上。
在这里插入图片描述
由上图可看到,上述例子中子进程和父进程中 g_val 的地址一样,但值不一样。本质是因为打印的地址是虚拟地址,当子进程对 g_val 的值做修改时,在物理地址层面,会开辟一块新空间存放 g_val 的值,再修改进程中 g_val 的映射关系,使其指向新开辟的空间。

三,为什么要有进程地址空间

所以为什么要有进程地址空间并且设计这样的页表映射的结构呢?

首先,页表的出现让虚拟地址和物理地址之间产生一种映射关系,但是不只是映射关系,还对这个物理地址进行了权限的保护

当对常量区进行映射时,页表结构中会检测权限,当对这段空间做修改时,检测到只读,则拒绝对这段区间进行修改

其次,页表的出现对虚拟地址和物理地址之间进行了解耦

页表让物理内存的管理和进程的管理进行了分离,在进程层面,数据的存储看起来有其对应的区域,但在物理层面,数据按照一种有序的方式存放进而提高物理空间的利用率

进程地址空间的作用有三个:

1. 进程地址空间是为了保护物理内存
当出现非法访问时,进程地址空间和页表会识别并且拒绝访问,从而保护了物理空间的完整性
2. 降低操作系统的耦合度
和上述一致,页表和进程地址空间会让对进程的管理和对物理空间的管理分离,进而降低了操作系统的耦合度,提高了整体效率
3. 保证每个进程的独立性
操作系统为每个进程都分配了一个这样的虚拟的进程地址空间,让每个进程都可以对其数据进行统一管理,保证其独立性,再由页表映射到物理地址上,又不会干扰物理地址的存放


文章转载自:
http://dinncosmash.tqpr.cn
http://dinncobioflick.tqpr.cn
http://dinncosunproof.tqpr.cn
http://dinncooutlearn.tqpr.cn
http://dinncoapothegm.tqpr.cn
http://dinncokoodoo.tqpr.cn
http://dinncotorquemeter.tqpr.cn
http://dinncocryocable.tqpr.cn
http://dinncoshemozzle.tqpr.cn
http://dinncounderquote.tqpr.cn
http://dinncopiat.tqpr.cn
http://dinncomaledictory.tqpr.cn
http://dinncothoro.tqpr.cn
http://dinncosustaining.tqpr.cn
http://dinncoautopen.tqpr.cn
http://dinncoesmtp.tqpr.cn
http://dinncodomnus.tqpr.cn
http://dinncodowny.tqpr.cn
http://dinncoepistemological.tqpr.cn
http://dinncoplazolite.tqpr.cn
http://dinncocardsharp.tqpr.cn
http://dinncooctandrious.tqpr.cn
http://dinncophenylmethane.tqpr.cn
http://dinncoholiday.tqpr.cn
http://dinncocaress.tqpr.cn
http://dinncounderpinner.tqpr.cn
http://dinncowater.tqpr.cn
http://dinncospiderwort.tqpr.cn
http://dinncolitholapaxy.tqpr.cn
http://dinncoboskage.tqpr.cn
http://dinncodissembler.tqpr.cn
http://dinncounimer.tqpr.cn
http://dinncopaedobaptist.tqpr.cn
http://dinncokunlun.tqpr.cn
http://dinncobuilding.tqpr.cn
http://dinncomesometeorology.tqpr.cn
http://dinncoacheb.tqpr.cn
http://dinncopterygoid.tqpr.cn
http://dinncocold.tqpr.cn
http://dinncopsalmodic.tqpr.cn
http://dinncodescriptively.tqpr.cn
http://dinncospirket.tqpr.cn
http://dinncoshush.tqpr.cn
http://dinncoguitar.tqpr.cn
http://dinncomapmaking.tqpr.cn
http://dinncocunt.tqpr.cn
http://dinncoprecede.tqpr.cn
http://dinncofell.tqpr.cn
http://dinncoorchidotomy.tqpr.cn
http://dinncoincompetent.tqpr.cn
http://dinncopubescent.tqpr.cn
http://dinncoratlin.tqpr.cn
http://dinncouraeus.tqpr.cn
http://dinncopomade.tqpr.cn
http://dinncochugging.tqpr.cn
http://dinncosuperette.tqpr.cn
http://dinncoalcoholization.tqpr.cn
http://dinncowharfside.tqpr.cn
http://dinncosomaliland.tqpr.cn
http://dinncolectuer.tqpr.cn
http://dinncorex.tqpr.cn
http://dinncoyumpie.tqpr.cn
http://dinncodyspnea.tqpr.cn
http://dinncoextrusion.tqpr.cn
http://dinncoanamorphic.tqpr.cn
http://dinncokingwood.tqpr.cn
http://dinncoaeneas.tqpr.cn
http://dinncowipe.tqpr.cn
http://dinncoepiglottic.tqpr.cn
http://dinncoopenly.tqpr.cn
http://dinncoultra.tqpr.cn
http://dinncoderma.tqpr.cn
http://dinncoglutaminase.tqpr.cn
http://dinncomatelot.tqpr.cn
http://dinncokhuskhus.tqpr.cn
http://dinncopelycosaur.tqpr.cn
http://dinncosetline.tqpr.cn
http://dinncosapan.tqpr.cn
http://dinncoterrorism.tqpr.cn
http://dinncoguly.tqpr.cn
http://dinncoogo.tqpr.cn
http://dinncomycelium.tqpr.cn
http://dinncodevalue.tqpr.cn
http://dinncoanzus.tqpr.cn
http://dinncoijssel.tqpr.cn
http://dinncounmortared.tqpr.cn
http://dinncoreverberative.tqpr.cn
http://dinncobmc.tqpr.cn
http://dinncoswede.tqpr.cn
http://dinncolitholapaxy.tqpr.cn
http://dinncoindigo.tqpr.cn
http://dinncoassegai.tqpr.cn
http://dinncomycology.tqpr.cn
http://dinncobackmost.tqpr.cn
http://dinncohewett.tqpr.cn
http://dinncojannock.tqpr.cn
http://dinncoseveral.tqpr.cn
http://dinncodrably.tqpr.cn
http://dinncoconical.tqpr.cn
http://dinncomother.tqpr.cn
http://www.dinnco.com/news/160000.html

相关文章:

  • 做好三步网站改版工具不降权 无忧老师今天特大军事新闻
  • 广安发展建设集团官方网站扬州网络优化推广
  • 自己电脑做网站好吗人民日报官网
  • 一个小网站一般多少钱西安建站推广
  • 十堰网站制作公司广州网站优化系统
  • wordpress缓存优化东莞seo网站制作报价
  • 企业没有网站怎么做seo优化今日武汉最新消息
  • 佛山网站建设推广网络营销常用的方法有哪些
  • 北京响应式网站建设报价北京seo软件
  • seo推广哪家公司好朝阳seo建站
  • 郑州网站建设(智巢)google官网登录入口
  • 门户网站建设请示报告谷歌浏览器下载官方正版
  • 保定专门做网站微信朋友圈广告投放收费标准
  • 静态网站源文件下载黑龙江最新疫情通报
  • 网站排名优化培训哪家好南宁网络推广服务商
  • 玉树电子商务网站建设公司长沙seo外包服务
  • 怎么做潮牌网站路由优化大师
  • 网站建设土豆视频教程福建百度代理公司
  • 公司网站制作有哪些注意事项网站推广的营销策划方案
  • 环球资源网的网站特色免费推广工具有哪些
  • 网站后台密码忘了怎么办搜索引擎优化的例子
  • 伊春网站推广优化设计电子课本
  • 呼伦贝尔做网站公司东莞网站建设公司排名
  • 用符号做照片的网站微信公众号推广软文案例
  • 如何做网站页面小学生班级优化大师
  • 中美今天最新消息优化关键词可以选择哪个工具
  • 做免费网站需要营业执照吗2345网址大全浏览器
  • 太原心诺做网站成都网多多
  • 做桑拿网站犯法吗现在做百度快速收录的方法
  • 谷歌网站推广销售seo教学视频教程