进程地址空间的进一步认识

进程地址空间

 

地址空间的大小取决于系统的架构和操作系统的实现。在32位系统中,地址空间大小为2的32次方(约为4GB)。而在64位系统中,地址空间大小为2的64次方。

进程地址空间的划分使得不同的数据和代码可以在不同的区域中进行管理和保护。不同的区域具有不同的访问权限和特性,例如代码段是只读的,堆和栈是可读写的。进程地址空间也为操作系统提供了机会,以提供虚拟内存管理、内存映射和安全性等功能。

物理内存

我们前面学习文件的时候已经知道文件系统IO访问时的基本单位是4KB大小,所以我们的程序从磁盘加载到物理内存时都是以4KB为单位进行拷贝的,所以物理内存的使用情况也就是以4KB为单位的。而物理内存一般都是GB为单位的,所以操作系统就要对物理内存的属性以及使用情况进行管理,创建struct page的结构体数组描述每一个4KB单位的物理内存(页框)。

 

虚拟内存与物理内存的映射

我们假设是在32位系统下,那么地址空间的大小就是4GB,而页表会将虚拟地址和物理地址构建映射,所以一行页表最少就存了两个地址,8字节大小,页表行还有一些字段标识着是否要进行缺页中断,以及读写权限……那么一行页表也就占了将近10字节大小,而4GB的地址空间所需要的页表大小就是40GB,显然是不可能的。

 其实我们的页表结构并不是这个样子的,而真实的页表是被划分成页目录和页表项的,而我们的32为系统下的虚拟地址就是32个0、1组成的比特位,其实是被划分成了10+10+12的模式的,前面10个比特位可以表示0~1023的数据范围,而我们的页目录是开辟了1024个空间的数组,其中数组下标对应的就是虚拟地址的前10个比特位。而页目录每一个数组下标对应的内容指向下一级页表项。下一级页表项也被开辟了1024个空间用来存放地址的再10个比特位,其中数组下标对应的就是这10个比特位的排列,其中存放数据就是物理空间中的页框的起始地址。而我们知道页框的大小是4KB,而我们应该找的是字节地址,还剩下虚拟地址的最后12位就派生用场了,12个比特位对应的组合方式就是2^12种,恰好就是 4KB=2^12字节 大小。所以这剩下的12位相当于起到了偏移量的作用。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/467373.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IM项目题

消息协议 消息的可靠性 前言 IM系统的可靠性指的是端到端的可靠性,并不是tcp的可靠性,它是指客户端A,客户端B以及服务端三端通信之间的可靠性,并不是客户端A到服务端这么一个上行消息的可靠,这个tcp就可以保证了&#…

洛谷 P1378 油滴扩展

本道题可以理解成一个平面直角坐标系,在坐标系上标出整个矩形和油滴的坐标,计算两个油滴的面积和直径,判断点是否在圆内(点与圆的位置关系),利用使用坐标求两点间距离的公式取解。 代码如下: …

定位及解决OOM

一、定义 内存溢出:OutOfMemoryError,是指因内存不够,导致操作新对象没有剩余空间。会导致频繁fullgc出现STW从而导致性能下降。 内存泄漏:指用malloc或new申请了一块内存,但是没有通过free或delete将内存释放&#…

一维坐标的移动(bfs)

在一个长度为n的坐标轴上,小S想从A点移动B点。 他的移动规则如下: 向前一步,坐标增加1。 向后一步,坐标减少1。 跳跃一步,使得坐标乘2。 小S不能移动到坐标小于0或大于n的位置。 小S想知道从A点移动到B点的最少步数是多…

四.排序(冒泡/选择)

目录 11-排序介绍 常见排序算法: 12-冒泡排序介绍 代码要求: 思路: 13-冒泡排序 代码: 14-选择排序 简单写法: 好的写法: 11-排序介绍 排序:将一组“无序”的记录序列调整为“有序”的记录序列。 列表排序:将无序列表变为有序列表 输入&#…

LeetCode 2312.卖木头块:动态规划(DP)

【LetMeFly】2312.卖木头块:动态规划(DP) 力扣题目链接:https://leetcode.cn/problems/selling-pieces-of-wood/ 给你两个整数 m 和 n ,分别表示一块矩形木块的高和宽。同时给你一个二维整数数组 prices ,其中 prices[i] [hi, …

SCI一区 | Matlab实现RIME-TCN-BiGRU-Attention霜冰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现RIME-TCN-BiGRU-Attention霜冰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现RIME-TCN-BiGRU-Attention霜冰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程…

面试经典150题(114-118)

leetcode 150道题 计划花两个月时候刷完之未完成后转,今天完成了5道(114-118)150 gap 了一周,以后就不记录时间了。。 114.(70. 爬楼梯) 题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不…

【CTF笔记】 CTF web方向笔记分享 免费 附预览图

个人不怎么记东西,笔记不多,师傅们凑合看… 百度网盘:https://pan.baidu.com/s/1PspihUX28Y_AOQZPurHqKA 麻烦各位师傅帮忙填写一下问卷,提取码在问卷填写结束后显示~ 【https://www.wjx.cn/vm/mBBTTKm.aspx# 】 (…

6大赚钱平台大揭秘,正规靠谱,电脑手机均可操作增收

找到一个真正靠谱的赚钱平台,无疑是你开启创收之旅的绝佳起点!接下来,我将为你提供一些建议,帮助你在这浩瀚的互联网世界中,稳稳地迈出赚取第一桶金的第一步。 参与调查问卷:像Swagbucks和YouGov这样的调查…

信号量——生产消费者模型

前文 在这一篇博客(信号量博客)中我曾经提及过信号量的知识,而当对信号量进行提炼总结时,大致是以下三点: 1. 信号量本质是一个计数器(代表资源的数量) 2. 申请信号量本质就是对资源的一种预定机…

AI大模型额外学习一:斯坦福AI西部世界小镇笔记(包括部署和源码分析)

文章目录 一、简单介绍1)项目代码介绍2)重新播放模拟3)适当修改分叉模拟 二、部署斯坦福小镇Demo1)准备工作2)解决遇到的bug3)启动服务器和前端 三、源码剖析1)主题顺序 github链接 一、简单介…

luceda ipkiss教程 62:等长波导布线(二)

教程 27介绍了两段波导等长布线的例子,下面同样是通过控制偏移量实现三段波导的等长布线: 所有代码如下: from si_fab import all as pdk from ipkiss3 import all as i3class demo(i3.Circuit):mmi i3.ChildCellProperty(doc"mmi in…

【面经八股】搜广推方向:面试记录(九)

【面经&八股】搜广推方向:面试记录(九) 文章目录 【面经&八股】搜广推方向:面试记录(九)1. 自我介绍2. 科研-项目经历问答3. 实习经历问答4. 八股5. 编程题6. 反问1. 自我介绍 。。。。。。 2. 科研-项目经历问答 挑了我的论文,一直揪着问,建议一定要熟悉自…

mysql主从复制/主从备份搭建

mysql主从复制/主从备份搭建 前言一、主从复制1)为什么使用主从复制、读写分离?2)主从复制原理 二、如何实现主从复制?1)主库配置1、修改配置文件2、登录mysql: 2)从库配置1、修改配置文件2、登…

函数-Python

师从黑马程序员 函数初体验 str1"asdf" str2"qewrew" str3"rtyuio" def my_len(data):count0for i in data:count1print(f"字符串{data}的长度是{count}")my_len(str1) my_len(str2) my_len(str3) 函数的定义 函数的调用 函数名&a…

爱恩斯坦棋小游戏使用C语言+ege/easyx实现

目录 1、游戏介绍和规则 2、需要用到的头文件 3、这里我也配上一个ege和easyx的下载链接吧,应该下一个就可以 4、运行结果部分展示 5、需要用到的图片要放在代码同一文件夹下 6、代码地址(里面有需要用到的图片) 1、游戏介绍和规则 规则如…

电学基础知识

目录 电流 前言 电流的产生 电流的单位安培(A) 电路和电池 开路和闭路 电灯泡原理 对电池容量的理解 毫安时 毫瓦时 直流电和交流电 AC交流电 DC直流电 直流电和交流电对比 电压 对电器的电压和电流的理解 电阻 电压电阻电子的关系 欧…

GateWay路由规则

Spring Cloud GateWay 帮我们内置了很多 Predicates功能,实现了各种路由匹配规 则(通过 Header、请求参数等作为条件)匹配到对应的路由 1 时间点后匹配 server:port: 8888 spring:application:name: gateway-servicecloud:nacos:discovery:…

超实用!免费软件站大盘点,总有一款适合你

相信用Mac电脑的同学都知道一个网站MacWK,可以白嫖几乎所有常用软件,不用付费,但不好的消息是在2022年10月宣布关站,小编从此走上了开源免费的道路,尽管不太好用,奈何口袋木有钱,经过小编的不断…