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

网站关键词掉的很快烟台网站制作工具

网站关键词掉的很快,烟台网站制作工具,dux主题4.0 wordpress,dw怎么做网站注册登入页面目录 一、虚拟地址 二、进程地址空间 一、虚拟地址 父进程和子进程之间,代码共享,而数据可能会发生修改,所以当其中一个进程要写入数据时,则发生写时拷贝,各自私有一份。 现在有源文件内容如下所示。 int glob_val …

目录

一、虚拟地址

二、进程地址空间


一、虚拟地址


        父进程和子进程之间,代码共享,而数据可能会发生修改,所以当其中一个进程要写入数据时,则发生写时拷贝,各自私有一份。

        现在有源文件内容如下所示。

int glob_val = 10;
int main()
{pid_t id = fork();if(id == 0){int cnt = 0;while(1){printf("child : pid:%d, ppid:%d, glob_val:%d, &glob_val:%p\n",getpid(),getppid(),glob_val,&glob_val);sleep(1);++cnt;if(cnt == 5){glob_val = 20;printf("child change glob_val:10->20\n");}}}else{while(1){printf("child : pid:%d, ppid:%d, glob_val:%d, &glob_val:%p\n",getpid(),getppid(),glob_val,&glob_val);sleep(1);}}return 0;
}

        预期运行结果是,该程序运行五秒之内,父子进程打印的全局变量的值和地址均相同,五秒之后,子进程修改了值,则发生写时拷贝,父子进程打印的全局变量的值和地址均不同

        实际运行结果:

[euto@VM-4-13-centos 24926]$ ./myaddr 
child : pid:10513, ppid:31055, glob_val:10,  &glob_val:0x60105c
child : pid:10514, ppid:10513, glob_val:10,  &glob_val:0x60105c
child : pid:10513, ppid:31055, glob_val:10,  &glob_val:0x60105c
child : pid:10514, ppid:10513, glob_val:10,  &glob_val:0x60105c
child : pid:10513, ppid:31055, glob_val:10,  &glob_val:0x60105c
child : pid:10514, ppid:10513, glob_val:10,  &glob_val:0x60105c
child : pid:10513, ppid:31055, glob_val:10,  &glob_val:0x60105c
child : pid:10514, ppid:10513, glob_val:10,  &glob_val:0x60105c
child : pid:10513, ppid:31055, glob_val:10,  &glob_val:0x60105c
child : pid:10514, ppid:10513, glob_val:10,  &glob_val:0x60105c
child : pid:10513, ppid:31055, glob_val:10,  &glob_val:0x60105c
child change glob_val:10->20
child : pid:10514, ppid:10513, glob_val:20,  &glob_val:0x60105c
child : pid:10513, ppid:31055, glob_val:10,  &glob_val:0x60105c
child : pid:10514, ppid:10513, glob_val:20,  &glob_val:0x60105c
child : pid:10513, ppid:31055, glob_val:10,  &glob_val:0x60105c
child : pid:10514, ppid:10513, glob_val:20,  &glob_val:0x60105c
child : pid:10513, ppid:31055, glob_val:10,  &glob_val:0x60105c
child : pid:10514, ppid:10513, glob_val:20,  &glob_val:0x60105c
child : pid:10514, ppid:10513, glob_val:20,  &glob_val:0x60105c
child : pid:10513, ppid:31055, glob_val:10,  &glob_val:0x60105c

        为什么五秒之后全局变量的地址是相同的。

        其实,这个地址是虚拟地址,并不是实际的物理地址。


        而虚拟地址并不止在父子进程的数据拷贝上出现,在程序员这一层,所见到的都是由操作系统提供的虚拟地址,而非实际的物理地址。

        划分分区的也是虚拟地址。

        虚拟地址可以理解为逻辑地址,在底层其实是有物理地址的,只不过逻辑地址物理地址之间的函数关系是由操作系统处理的。


        当子进程做了写时拷贝后,其实发生的变化不在虚拟地址上,而是在物理地址上。

二、进程地址空间

         每一个进程,都存在进程地址空间

  • 操作系统对进程地址空间的管理

        先面向对象,再数据结构。

  •  进程和进程地址空间

        PCB内有一个结构体指针,这个指针指向地址空间这个结构体

  • 区域划分

        即虚拟地址空间的区域划分,用代码来实现,本质就是进程地址空间这个结构体的成员变量,进程地址空间的结构体一定有类似下面这样的字眼。

struct 进程地址空间
{int code_start,code_end;int init_start,init_end;int heap_start,heap_end;int stack_start,stack_end;·····
}
  • 区域划分的本质

        所谓的区域划分,本质就是操控特定的几个变量,这些变量实现了区域划分的条件:

        1.可以判断是否越界。

        2.可以扩大或者缩小范围。

        划分好的区域,在区域内的所有地址,是可以被当前进程所使用的。

  • 进程管理和内存管理是独立、互不影响的。

        代码、数据本质上还是保存在物理内存上面,而虚拟地址是操作系统逻辑上提供给用户的地址,将逻辑地址映射为物理地址的数据结构叫做页表。

        可执行程序加载到内存后,进程创建PCB即task_struct、PCB又创建进程地址空间即mm_struct

        内存管理:可执行程序的代码、数据都保存在物理内存中。

        进程管理:进程获取代码、数据是在进程地址空间,即获取到的是虚拟地址。

        二者之间用页表映射。

  • CPU完成页表的映射操作

        CPU获取到虚拟地址,CPU内部的寄存器CR3保存着页表的起始地址,CPU内部有一个部件MMU(memory mange unit)将虚拟地址通过页表映射到物理地址。

        注意,CR3内部保存的页表的起始地址一定是物理地址。

  • 进程地址空间和页表这种设计的意义 

        1.内存管理的时候,代码和数据的内存块都是碎片化的,处于无序的状态,而进程地址空间是有序的,页表将无序的物理内存转换为有序的进程地址空间,进程操作内存空间会更方便。

        2.内存管理和进程管理互相独立、不影响,这种解耦合的做法会大大减轻设计操作系统的负担。

http://www.yayakq.cn/news/713941/

相关文章:

  • 用dw怎么做用户登录页面的网站wordpress 最简单模板下载
  • 手机网站建设报价建设网站之前都需要准备什么
  • 廊坊网站建设 elu谷建网站建设模板
  • 石家庄网站制作机构局域网怎么做网站
  • 在线音乐网站开发php江门网站建设报价
  • 网站开发视频转码旅游营销型网站
  • 做公司网站用哪个公司比较好详情页模板免费套用
  • 在线做行测的网站整站排名服务
  • 织梦网站分享插件我想接app纯注册推广单
  • 做pc端网站资讯html编辑器手机版
  • 凡科做网站在百度能看见吗网页游戏网站那个好
  • yahoo不收录我的网站中小学生作文网
  • 自我介绍ppt配图百度搜索排名优化
  • 米课wordpress建站自己公司网站自己能做吗
  • 中山地区做网站公司南京市建设工程交易中心网站
  • 搭建网站吧wordpress 获取分类名
  • 对方把我的网站他网站内页友情链接 站长工具检测到是无反链品牌设计公司网站
  • 南召微网站开发网站建设征税标准
  • 网站收录没了龙岩百度推广
  • 做免费网站有哪些wordpress从零开始
  • 网站设计的优点建站公司成功案例
  • 电子政务网站建设公司教育网站报名
  • 电商网站技术方案腾讯企点下载
  • 企业网站建设系统更换网站模板
  • 洛龙区网站制作建设费用wordpress 链接跳转
  • 网站的内连接如何做哪家网站推广做的好
  • 深圳网站制作建设公司推荐网站怎么做背景
  • 网站建设 国外旅游攻略网站模板
  • 网站建设物美价廉河北建设行业信息网站
  • 甘肃省城乡与建设厅网站首页金华市建设银行网站