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

如何做网站 新手 个人 教程长沙手机网站建设哪些

如何做网站 新手 个人 教程,长沙手机网站建设哪些,上海建设银行黄浦区营业网站,室内设计3d效果图文章目录 1.程序地址空间与虚拟地址2.虚拟地址是什么3.虚拟地址空间结构体属性4.为什么要有虚拟地址空间5.一些问题1.如何理解进程挂起?2.堆是如何连续的呢? 1.程序地址空间与虚拟地址 我们在学习C/C的时候学习到以下的内容: 那时候我们觉得我们访问地址是直接就是操作系统的…

在这里插入图片描述

文章目录

  • 1.程序地址空间与虚拟地址
  • 2.虚拟地址是什么
  • 3.虚拟地址空间结构体属性
  • 4.为什么要有虚拟地址空间
  • 5.一些问题
    • 1.如何理解进程挂起?
    • 2.堆是如何连续的呢?

1.程序地址空间与虚拟地址

我们在学习C/C++的时候学习到以下的内容:

image-20250425101946502

那时候我们觉得我们访问地址是直接就是操作系统的地址码?

我们写一个代码来试一下:

image-20250425102649535

我们发现,父子进程,输出地址是⼀致的,但是变量内容不⼀样

image-20250425102956525

子进程和父进程在不发生更改的时候和父进程通过页表映射公用同一个内存空间

当子进程的内容发生更改的时候操作系统会重新分配一块新的内存来放子进程的数据

image-20250425104816395

而我们用户在上层查看时仍然只能查看到虚拟地址空间所以我们观察到的地址是一样的

2.虚拟地址是什么

那么虚拟地址到底是什么?

其实虚拟地址空间就是操作系统给进程画的一张"大饼"

让进程以为自己可以独占所有的物理内存

image-20250425105110558

但是由于进程过多,每个大饼又不一样,所以要将这些"大饼"管理起来

所以虚拟地址空间本质就是一个结构体(mm_struct)

3.虚拟地址空间结构体属性

虚拟地址主要目睹是管理区域划分,那我们如果管理一个数组的区域划分要定义怎样的结构体呢?

image-20250425105633817

如上我们只需要定义一个结构体记录开始和结束即可

当我们需要对这个结构体进行调整的是,直接让start/end进行加减即可

那我们mm_struct也是这样的

image-20250425105936122

我们可以再次来理解代码和数据和虚拟地址的关系

image-20250425110034859

  1. 现将进程加载到虚拟地址中,并且通过区域划分指定空间
  2. 加载程序申请物理空间
  3. 两只通过页表映射将物理地址转化为虚拟地址提交个用户使用

4.为什么要有虚拟地址空间

  1. 对于用户来说:物理地址通过页表映射产生的虚拟地址是连续的,将底层无序变为有序

  2. 用户使用虚拟地址去访问变量,需要现将虚拟地址转化为物理地址去找

    当用户访问不合理(权限问题/野指针)的时候,操作系统可以直接杀掉进程来保护内存

    如下面的情况

    image-20250425111440661

    这个操作是通过页表的第三个内容"权限"来判定的

    image-20250425111325831

  3. 当用户访问的代码数据过大的时候

    可以现将代码全部加载到虚拟空间(大饼)

    在物理地址上只映射加载前面部分代码

    当虚拟地址有而物理内存没有的时候,就会加载后续代码让程序继续运行这也叫缺页中断

  4. 让进程管理和内存管理解除耦合

5.一些问题

1.如何理解进程挂起?

查找页表找到对应的进程,将该进程的页表清空,将代码和数据换出,虚拟地址无需操作就可以将进程挂起

2.堆是如何连续的呢?

image-20250425111909962

对的连续是在堆中加了一个指针将堆像链表一样连起来了,而且每个堆中有开始和结算的指针来控制对的开始和结束

不仅对如此其他的也是这样控制的:

image-20250425173303995


文章转载自:

http://jqD0gN2Q.Lpzyq.cn
http://wc82dXM2.Lpzyq.cn
http://a4PM4LEo.Lpzyq.cn
http://q26CHxzL.Lpzyq.cn
http://5sCJlXrk.Lpzyq.cn
http://I1rFPAXn.Lpzyq.cn
http://Pef0e6BT.Lpzyq.cn
http://1yK1wMg4.Lpzyq.cn
http://W8plQcPL.Lpzyq.cn
http://781xlF5D.Lpzyq.cn
http://YBbHOecZ.Lpzyq.cn
http://15ksFKAR.Lpzyq.cn
http://vrfUIZ5d.Lpzyq.cn
http://BvM624HN.Lpzyq.cn
http://nomjGOlc.Lpzyq.cn
http://zSoL8Yd1.Lpzyq.cn
http://A0AZ5MNx.Lpzyq.cn
http://7iwiHQZO.Lpzyq.cn
http://dcmEXxkm.Lpzyq.cn
http://9qBvgEmt.Lpzyq.cn
http://mQSO1OQK.Lpzyq.cn
http://k5zOlWJY.Lpzyq.cn
http://8glLY5Nu.Lpzyq.cn
http://8tkRio4P.Lpzyq.cn
http://uxRsklFp.Lpzyq.cn
http://YYmz0IGT.Lpzyq.cn
http://QQlxFwoX.Lpzyq.cn
http://G5jNBurl.Lpzyq.cn
http://6DdSLAYl.Lpzyq.cn
http://otYlp6tg.Lpzyq.cn
http://www.dtcms.com/wzjs/769814.html

相关文章:

  • 永久免费网站建设大概多少钱如何做网站投放广告
  • 阿里云网站建设步骤云服务器2008做网站
  • 织梦网站是不是容易做seo企业管理软件选型要注意哪些因素
  • 多个微信管理系统网站建设推广优化公司
  • 网站开发调试工具seo刷关键词排名工具
  • 有哪些做设计交易网站有哪些乐云seo官网
  • 莱芜区宣传部网站免费做网站的网址有哪些
  • 怎么替换网站模板石家庄网站编辑
  • 网站建设的能力网页前端开发教程
  • 有趣的网站 知乎2345网址大全导航
  • 做简单网站用什么软件有哪些内容导航网站html模板
  • 广州东莞网站建设网站转换移动网站
  • 在电脑上怎么建设网站wordpress一个页面如何连接到首页
  • 全国信息企业查询系统官网北京网站优化诊断
  • 公司网站建设征求意见表开封市住房和城乡建设网站
  • 做刷机网站赚钱吗郑州网络推广公司
  • 网站站内链接工商登记网站
  • 学风建设专题网站网站页面设计与制作实践
  • 一个单位网站被黑该怎么做大连制作公司网站
  • 网站建设管理需要招聘什么人才wordpress建立cms
  • 极简风格网站介绍哪里搜索引擎优化好
  • 网站备案完才能建站吗网站宣传的重要性
  • 网站 为何要 备案天津市网站制作建设推广公司
  • 想学设计师首先要学什么广告优化师的职业规划
  • 广告去哪个网站做设计logo网站 生成器
  • 网站开发的项目开发计划阳江网红打卡地方
  • 东莞万江网站制作微网站的案例
  • 巴中网站建设页面设计师自我介绍
  • 前端和网站建设的区别西安做网站哪家好
  • 江苏建设服务信息网站申请微信公众号