进程虚拟地址空间划分

news2024/11/17 19:33:45

任何编程语言->产生指令和数据
我们以x86 32位linux 作为知识介绍的背景
编译后生成exe文件在磁盘上,需要加载到内存才能运行
但不能直接加载到物理内存

linux给当前进程分配一个2^32大小的一块空间,4G

虚拟地址空间解释

  • 它存在,你看得见,它是物理
  • 它存在,你看不见,它是透明
  • 它不存在,你看得见,它是虚拟
  • 它不存在,你看不见,它是被删除

进程虚拟地址空间

在这里插入图片描述

.text是代码段,.rodata是只读数据段,存放如字符常量相关的数据,如

char *p = "hello world";

*p = 'a'; // error

stack是高地址向低地址生长,heap是低地址向高地址生长

zone_normal pcb(进程控制块)块,内核函数所依赖的栈空间

举个例子,理解数据存在进程虚拟地址空间的哪一部分:

#include "pch.h"
#include <iostream>
using namespace std;

int gdata1 = 10; // .data段,已初始化且不为0
int gdata2 = 0;	// .bss段,初始化但为0
int gdata3; // .bss段

static int gdata4 = 11; // .data段,已初始化且不为0
static int gdata5 = 0; // .bss段
static int gdata6; // .bss段

int main()
{
	// 下面三行代码是指令mov,不产生负号,存放在.text段
	int a = 12; // mov dword ptr[a], 0Ch   分4字节空间将12存入其中
	int b = 0;
	int c;

	static int e = 13; // .data段
	static int f = 0; // .bss段
	static int g; // .bss段

	return 0; // .text段
}

每一个进程的用户空间是私有的,但内核空间是共享的

在这里插入图片描述

这也就引出了进程间通信方式中的 匿名管道通信,也就是在内核空间开了一块共享内存

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

背包问题——01背包|完全背包

目录 前言&背包问题的历史 01背包 1、题目 2、暴力解01背包 Ⅰ、代码 3、动态规划解01背包 Ⅰ、二维dp数组解01背包 1&#xff09;dp数组的含义 2&#xff09;递推公式 3&#xff09;dp数组的初始化 4&#xff09;遍历顺序的讨论 5、代码 Ⅱ、一维数组解01背包 1&…

HCLE----atd以及备份方式

atd是一种基于时间的任务调度器&#xff0c;可以在指定时间执行一次性任务。atd启动时会读取/etc/at.allow和/etc/at.deny两个文件&#xff0c;来决定哪些用户有权限使用at命令提交任务。crond是一种周期性任务调度器&#xff0c;可以按照指定的时间间隔执行重复性任务。crond启…

5.3、web服务器简介HTTP协议

5.3、web服务器简介HTTP协议 1.Web-Server&#xff08;网页服务器&#xff09;2.HTTP协议(应用层的协议)①简介②概述③工作原理④HTTP请求报文格式⑤HTTP响应报文格式⑥HTTP请求方法⑦HTTP状态码 1.Web-Server&#xff08;网页服务器&#xff09; 一个 Web Server 就是一个服…

【arduino】超声波垃圾桶

&#x1f38a;专栏【Arduino】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【勋章】 大一同学小吉&#xff0c;欢迎并且感谢大家指出我的问题&#x1f970; 目录 ⭐效果 ⭐所需器材 ⭐连线图片 ⭐程序代码 ⭐代码分析 …

MySQL常见七种通用的Join查询练习题

准备数据库表 t_dept 和 t_emp CREATE TABLE t_dept (id int NOT NULL AUTO_INCREMENT,deptName varchar(30) DEFAULT NULL,address varchar(40) DEFAULT NULL,CEO int DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT7 DEFAULT CHARSETutf8mb3 CREATE TABLE t…

面包多面包多面包多面包多面包多面包多

1.背景 1.摘要 本文是针对智慧政务中的文本数据挖掘应用的研究。通过建立基于三层网络结构的fastText文本分类模型&#xff0c;聚类量化模型&#xff0c;熵权评估模型解决了群众留言分类&#xff0c;热点问题挖掘&#xff0c;答复意见评价等问题。 针对群众留言分类问题&#…

《学习循环》---C语言

目录 前言&#xff1a; 1.while循环 1.1while循环的结构 1.2while语句中的break和continue 2.getchar配合循环清空缓冲区 3.for循环 3.1for循环的结构 3.2for循环中的break和continue 3.3for循环的注意事项 3.4使用多个循环变量控制for循环 4.do while循环 4.1do …

chrome 浏览器在 112 正式版本以及 114 canary 版本从 devtools 控制台复制文本不会复制高亮显示的文本?

问题 我的 chrome 浏览器版本如下&#xff1a;版本 112.0.5615.138&#xff08;正式版本&#xff09; &#xff08;64 位&#xff09; 今天我在写代码的时候报错了&#xff0c;看了一下控制台浏览器&#xff0c;是某个属性没有定义&#xff0c;然后我双击这个属性名称 ctrl c…

asp.net+C#大学生高校运动会比赛综合管理系统

目录 1 绪论 3 1.1 课题背景 3 1.2 课题目标 3 1.3 研究现状 3 1.4 论文工作内容以及结构安排 4 1.4.1 论文工作内容 4 1.4.2 论文结构安排 4 2 系统开发技术介绍 6 2.1 ASP.NET简介 6 2.2 Microsoft Visual Studio 2010平台 7 2.3 SQL Serve…

第16章_网络编程

第16章_网络编程 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.com 本章专题与脉络 1. 网络编程概述 Java是 Internet 上的语言&#xff0c;它从语言级上提供了对网络应用程序的支持&#xff0c;程…

达梦数据迁移问题罗列

目录 一、前言 二、问题罗列 一、前言 最近小编接触到国产的数据库达梦数据库&#xff0c;然后在用达梦数据迁移工具MySQL迁移至达梦的时候遇到了一系列的问题现在罗列一下在这里。目前关于国产的数据库达梦这些资料比较少&#xff0c;希望能够帮到有需要的同志们&#xff01…

MySQL 服务的启动和停止

4.MySQL 服务的启动和停止_mysql数据库启停_头疼小宇的博客-CSDN博客

【网络编程】TCP

✨个人主页&#xff1a;bit me&#x1f447; ✨当前专栏&#xff1a;Java EE初阶&#x1f447; 目 录 &#x1f52e;一. TCP流套接字编程&#x1f4bf;二. TCP中的长短连接&#x1f4c0;三. 写一个 TCP 版本的 回显服务器-客户端 &#x1f52e;一. TCP流套接字编程 ServerSock…

d2l 注意力评分函数 --附加mask_softmax讲解

本章节tensor处理操作也不少&#xff0c;逐个讲解下&#xff1a; 目录 1.mask_softmax 1.1探索源码d2l.sequence_mask 2.加性注意力 3.缩放注意力 1.mask_softmax dim-1表示对最后一个维度进行softmax .dim()返回的是维度数 对于需要mask的数&#xff0c;要用绝对值非…

FreeRTOS 任务创建与删除实验

本实验主要实现 FreeRTOS 使用动态方法创建和删除任务&#xff0c;本实验设计了四个任务&#xff0c;这四 个任务的功能如下表所示&#xff1a; 软件设计 1. 程序流程图 本实验的程序流程图&#xff0c;如下图所示&#xff1a; 2. FreeRTOS 函数解析 (1) 函数 xTaskCreate…

spring框架基础知识和基于XML的Bean对象的管理回顾

什么是spring框架&#xff1f; spring基本功能所必须的jar包就是这些 如何获取bean&#xff1f; IOC原理 上面耦合度太高了 改进使用工厂模式 上面并没有把耦合度降低到最低&#xff0c;使用反射 spring实现IOC的两种方式 BeanFactory和ApplicationContext IOC如何管理Bea…

5个方法,帮助你快速提高团队管理效率

团队中&#xff0c;大家看起来都很忙&#xff0c;但最终交付的结果却总是差强人意。会议那么多&#xff0c;但有效的却很少越管理&#xff0c;但偏偏有时候越管理越乱......相信以上这些问题&#xff0c;很多管理者都有遇到过&#xff0c;团队管理是一个项目中最关键的一环。好…

如何打造全流程数字化零工场景,实现零工管理一体化?

近年来&#xff0c;零工市场发展迅速&#xff0c;不仅为企业提供更低成本、更便捷的用工方式&#xff0c;也为劳动者就业提供更低门槛更灵活形式&#xff0c;发挥了就业「蓄水池」的重要作用。但由于零工经济模式下的用工形式非常灵活&#xff0c;企业想要管好零工并不容易。 …

短视频平台-小说推文(知乎)推广任务详情

知乎会员 知乎日结内测中&#xff0c;可能暂只对部分优质会员开放! 2023/03/29通知: 知乎拉新项目&#xff0c;由于内部测试转化较低&#xff0c;暂时下线&#xff0c;原有关键词出单不受影响。 1、关键词 1.1 选择会员文 在知乎【首页】或者【会员】里面选取&#xff0c;需…

PEIS体检系统全套源代码,C# 源码

医院体检信息系统PEIS源码,C# 源码&#xff0c;PEIS源码源码 文末获取联系&#xff01; 系统概述 医院体检信息系统是专门针对医院体检中心的日常业务运作的特点和流程&#xff0c;结合数字化医院建设要求进行设计研发的一套应用系统。该系统覆盖体检中心的所有业务&#xff0…