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

手机网络加速器医疗网站优化怎么做

手机网络加速器,医疗网站优化怎么做,wordpress去广告插件,河南招标投标信息网【Linux进程七】程序地址空间 1.进程的地址空间分布2.类型的本质是偏移量3.什么是进程地址空间4.页表的映射和访问权限字段5.地址空间的作用 1.进程的地址空间分布 堆是向上扩展的,栈是向下扩展的 因为字符常量区和代码区相邻,受到同样的保护&#xff0c…

【Linux进程七】程序地址空间

  • 1.进程的地址空间分布
  • 2.类型的本质是偏移量
  • 3.什么是进程地址空间
  • 4.页表的映射和访问权限字段
  • 5.地址空间的作用

1.进程的地址空间分布

在这里插入图片描述
堆是向上扩展的,栈是向下扩展的
因为字符常量区和代码区相邻,受到同样的保护,字符常量区和代码区一样不允许修改
通过代码验证:
在这里插入图片描述
在这里插入图片描述

2.类型的本质是偏移量

栈整体向下扩展,局部向上读取
堆整体向上扩展,局部向下读取
用栈举例:
在这里插入图片描述

所以类型的本质是偏移量

3.什么是进程地址空间

我们用下面的代码可以查看到一个事实

#include <stdio.h>    
#include <unistd.h>    
#include <sys/types.h>    
#include<stdlib.h>    int main()    
{    int id = fork();    int tmp = 100;    if(id == 0)//子进程执行的代码    {    tmp = 200;    while(1)    {    printf("子进程tmp: %d,&tmp: %p\n",tmp,&tmp);    sleep(1);    }    }    if(id > 1)//父进程执行的代码    {    while(1)    {    printf("父进程tmp: %d,&tmp: %p\n",tmp,&tmp);    sleep(1);    }    }                                                                                                                                                                   return 0;    
}    

在这里插入图片描述

子进程和父进程的地址一样,但却有两个值

所以是事实:平时看见的地址并不是真实的地址而是虚拟地址,真实的地址空间被称为物理地址(物理内存)

在这里插入图片描述
每个进程都有自己的进程地址空间

操作系统想管理进程,就一定要先描述,再组织
所以进程地址空间是一个数据结构struct用于描述进程

在这里插入图片描述

程序地址空间有多个区域结合而成,而区域之间的划分就是区域开头begin和区域结尾end
说明进程地址空间就是一个线性区域
就像下面代码一样:

struct mm_struct
{int code_begin;//代码区起始int code_end;//代码区结束int init_begin;//初始化区起始int init_end;//初始化区结束int heap_begin;//堆区起始int heap_end;//堆区结束......
};

4.页表的映射和访问权限字段

OS为每一个进程配对一个虚拟地址空间和一张页表,要访问物理地址时,需要先在页表进行映射(若访问的是非法地址,则会在页表层阻止你的访问)

在这里插入图片描述
所以父进程和子进程之间的关系是这样的:
在这里插入图片描述

创建子进程,就要创建子进程的PCB,及地址空间和页表结构 子进程的相关内核数据结构的属性字段会继承父进程
正常来说,子进程要对tmp对修改,把tmp变成200,父进程通过映射关系找到tmp,读到200
但因为进程具有独立性,子进程对数据的修改,不影响父进程,所以当子进程要对tmp修改时,在内存中重新申请一块空间,拷贝tmp值给新空间,重新映射指向新开辟的空间,不影响父进程的tmp值,最终将新开辟的空间tmp值改成200
所以二者虚拟地址相同,但物理地址不同

更详细的页表:
在这里插入图片描述

常量字符串不能修改,正是因为映射时的访问权限字段里没有修改权限

5.地址空间的作用

  1. 让进程已统一的视角看待内存(物理地址):无序变有序
    任意一个进程都可以通过地址空间和页表将内存中乱序的内存数据变为有序
  2. 虚拟地址有效保护了物理地址
    操作系统通过虚拟地址的映射过程,用页表的权限访问字段阻止了非法访问
  3. 将进程管理和内存管理解耦
    因为有进程地址空间和页表的存在,物理内存的分配就可以和进程的管理互不打扰
  4. 保证进程的独立性
    操作系统通过虚拟地址的映射过程,用页表将进程映射到不同的物理内存,实现进程间的独立
    进程=内核数据结构+进程的代码和数据

文章转载自:

http://EEeUPGVf.kzrbn.cn
http://pceHBs2v.kzrbn.cn
http://EFPzBA5S.kzrbn.cn
http://KP28Im8V.kzrbn.cn
http://UvdXehAo.kzrbn.cn
http://vzeQpxzc.kzrbn.cn
http://PhcO5oXn.kzrbn.cn
http://9lqjMsEg.kzrbn.cn
http://Tyh4nfsH.kzrbn.cn
http://AhSIxTGg.kzrbn.cn
http://TXmqo8dd.kzrbn.cn
http://DVkWavQA.kzrbn.cn
http://HfH9RRQB.kzrbn.cn
http://uQ0BLWGi.kzrbn.cn
http://zdOMfLuw.kzrbn.cn
http://Ll777rdu.kzrbn.cn
http://iKXrhnUj.kzrbn.cn
http://xBc5xTHH.kzrbn.cn
http://EADVpHZi.kzrbn.cn
http://gy1RJjeO.kzrbn.cn
http://ldiDbqYq.kzrbn.cn
http://x3ZeNLUe.kzrbn.cn
http://HCRRRmcz.kzrbn.cn
http://WZKDvlbQ.kzrbn.cn
http://TBvEFgVm.kzrbn.cn
http://Jv7YTWFk.kzrbn.cn
http://uunIPQft.kzrbn.cn
http://McU7HFln.kzrbn.cn
http://N44w8Q3K.kzrbn.cn
http://JHwg0aga.kzrbn.cn
http://www.dtcms.com/wzjs/652017.html

相关文章:

  • 网站开发技术方案编写网站建设和维护待遇怎样
  • 南昌市城市建设档案馆网站外地人在海南注册公司
  • 淮安网站推广万网域名购买
  • 西宁最好网站建设公司烟台优化网站排名
  • 网站访问流程设计免费app制作平台下载
  • 网站备案实名认证网络空间安全
  • 外贸购物网站如何建造网站
  • 美食网站建设策划报告网页制作的工具有哪些
  • 食品建设网站前的市场分析做网站 需要注意什么
  • 网站开发字典文档wordpress英文文章
  • 建网站用什么软件好网店推广工作内容
  • 成都建设银行网站首页网站定制设计价目表
  • 郑州专业网站建设公司首选网站开发加22760047
  • 广东哪家网站建设WordPress缩图不显示
  • 保定手机网站长沙自适应网站制作
  • 深圳网站建设公司怎么样南京网站建设知识
  • 网站的跳出率很高wordpress自动提交百度
  • 网站属于什么公司wordpress 首页显示分类文章
  • jsp 做网站需要什么软件购物的网站功能
  • 网站开发手机自适应wordpress 默认页面自适应
  • 找工作哪个网站好找wordpress 显示热度
  • 鹰潭网站建设公司网站开发工程师试用期
  • 如何进行企业营销型网站建设国内卡一卡二卡三网站视频
  • 建设银行信用卡中心网站wordpress企业站实例
  • 做外贸要看哪些网站合肥学室内设计学校
  • 购买商标去哪个网站wordpress如何卸载
  • wordpress 全站加密缅甸网站后缀
  • 如何做收费网站网站建立的公司
  • 网站建设验收确认书免费下载百度营消 营销推广
  • 免费的网站一般做网站