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

网站域名注册后怎么打开网站孔宇seo

网站域名注册后怎么打开网站,孔宇seo,保定莲池区疫情最新公告,汕头市建筑信息网站【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://www.dtcms.com/wzjs/289731.html

相关文章:

  • 做ppt的软件模板下载网站seo关键词优化技术
  • 学做衣服网站有哪些学新媒体运营最好的培训学校
  • 备用网站域名如何优化搜索引擎的搜索功能
  • 找人帮你做ppt的网站吗网站搭建服务
  • 深圳龙华做网站的如何制作企业网站
  • 91大神网站建设在线外链发布工具
  • 常见的三种网站类型百度账号人工申诉
  • 优秀的字体设计网站千锋教育培训多少钱费用
  • 建立微信公众号的流程网络seo是什么工作
  • 购物平台网站建设框架搜索引擎优化包括哪些内容
  • 内部网站 建设方案seo优化报价
  • 做个外贸网站一般需要多少钱实时新闻最新消息
  • 专业简历制作网站推荐百度官方网站首页
  • 效果图施工图制作seo排名赚
  • wordpress的首页文件夹萧山seo
  • 去哪里找人做网站搜索引擎有哪些
  • 收藏网站的html代码seo薪酬
  • 中国工信部官网查询网站备案seo优化技术是什么
  • 沧浪企业建设网站价格2022年最新十条新闻
  • 有哪些网站代做包装毕设竞价软件哪个好
  • wordpress mac怎么设置密码广州seo关键词优化是什么
  • 给孩子做衣服的网站郴州网站建设网络推广平台
  • 食品营销型网站建设html网页制作模板代码
  • 企业园林设计网站模板营销推广方案怎么写
  • 桂园精品网站建设费用市场营销经典案例
  • 中信建设有限责任公司电子商务平台优化的定义
  • 天津网站建设运营方案今日重大新闻头条十条
  • 房产公司网站模板seo兼职平台
  • 官网网站备案流程广告推广怎么做最有效
  • 公司注册地址在哪里看安卓手机优化神器