无涯教程-进程 - 镜像

news2025/1/15 23:25:30

现在,我们已经了解了如何获取进程及其父进程的基本信息,是时候来研究进程信息的细节了。

以下是进程镜像的图形表示。

Process Images
进程镜像(Process Image)到底是什么? 进程镜像是执行程序时所需的可执行文件,该镜像通常包含以下部分-
  • 代码段或文本片段(Code segment or text segment)
  • 数据段(Data segment)
  • 堆栈段(Stack segment)
  • 堆片段(Heap segment)
  • 代码段(Code segment)  -  是目标文件或程序的虚拟地址空间的一部分,由可执行指令组成。这通常是只读数据段,并且具有固定的大小。

        两种类型。

               初始化的数据段(Initialized)           -   是目标文件或程序的虚拟地址空间的一部分,由初始化的静态变量和全局变量组成。

               未初始化的数据段(Un-initialized)  -  是目标文件或程序的虚拟地址空间的一部分,由未初始化的静态变量和全局变量组成。

  • 数据段(Data segment)      -   是可读写的,因为可以在运行时更改变量的值,此段的大小也固定。
  • 堆栈段(Stack segment)    -   是分配给自动变量和函数参数的内存区域,在执行函数调用时,它还会存储一个返回地址。 Stack使用LIFO(后进先出)机制来存储本地或自动变量,函数参数以及存储下一个地址或返回地址,返回地址是指函数执行完成后要返回的地址。根据本地变量,函数参数和函数调用,此段大小是可变的,此段从较高的地址增长到较低的地址。
  • 堆段(Heap segment)        -   是分配给动态内存存储的内存区域,例如malloc()和calloc()调用。根据用户分配,此段大小也是可变的。此段从较低的地址增长到较高的地址。

现在,让我们检查一些示例程序在段(数据段和bss段)上的大小变化,通过执行命令" size"可以知道段大小。

初始程序

文件:segment_size1.c

#include<stdio.h>

int main() {
   printf("Hello World\n");
   return 0;
}

在以下程序中,添加了未初始化的静态变量,这意味着未初始化的段(BSS)大小将增加4个字节,注意-在Linux操作系统中,int的大小为4个字节。整数数据类型的大小取决于编译器和操作系统支持。

文件:segment_size2.c

#include<stdio.h>

int main() {
   static int mystaticint1;
   printf("Hello World\n");
   return 0;
}

在以下程序中,将添加一个初始化的静态变量,这意味着初始化的段(DATA)大小将增加4个字节。

文件:segment_size3.c

#include<stdio.h>

int main() {
   static int mystaticint1;
   static int mystaticint2 = 100;
   printf("Hello World\n");
   return 0;
}

在以下程序中,将添加一个初始化的全局变量,这意味着初始化的段(DATA)大小将增加4个字节。

文件:segment_size4.c

#include<stdio.h>

int myglobalint1 = 500;
int main() {
   static int mystaticint1;
   static int mystaticint2 = 100;
   printf("Hello World\n");
   return 0;
}

在以下程序中,添加了未初始化的全局变量。这意味着未初始化的段(BSS)大小将增加4个字节。

文件:segment_size5.c

#include<stdio.h>

int myglobalint1 = 500;
int myglobalint2;
int main() {
   static int mystaticint1;
   static int mystaticint2 = 100;
   printf("Hello World\n");
   return 0;
}

执行步骤

汇编

babukrishnam $gcc segment_size1.c -o segment_size1
babukrishnam $gcc segment_size2.c -o segment_size2
babukrishnam $gcc segment_size3.c -o segment_size3
babukrishnam $gcc segment_size4.c -o segment_size4
babukrishnam $gcc segment_size5.c -o segment_size5

执行/输出

babukrishnam size segment_size1 segment_size2 segment_size3 segment_size4 segment_size5
   text  data  bss  dec  hex  filename
   878   252    8   1138 472  segment_size1 
   878   252   12   1142 476  segment_size2 
   878   256   12   1146 47a  segment_size3 
   878   260   12   1150 47e  segment_size4 
   878   260   16   1154 482  segment_size5
babukrishnam

进程 - 镜像 - 无涯教程网无涯教程网提供现在,我们已经了解了如何获取进程及其父进程的基本信息,是时候来研究进程信息的细节...https://www.learnfk.com/process/inter-process-communication-process-image.html

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

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

相关文章

三维模型数据加载速度不理想?这三种加载方式供你选择!

在四维轻云平台的使用过程中&#xff0c;有用户反映三维模型数据加载速度较慢。因此&#xff0c;平台推出了默认方式、质量优先、速度优先三种数据加载方式供用户选择。下面就来简单介绍一下这三种加载方式的特点&#xff0c;用户可根据需求选择合适的数据加载方式。 默认方式…

Django(2)-编写你的第一个 Django 应用

创建一个基本的投票应用程序。 它将由两部分组成&#xff1a; 一个让人们查看和投票的公共站点。 一个让你能添加、修改和删除投票的管理站点。 创建应用 $ python manage.py startapp polls每一个应用是一个python包&#xff0c;一个项目可以包含多个应用。 可以看到生成…

Telegraf 本地代码vscode调试

需要安装的软件&#xff1a; golang 1.20vscodevscode推荐的go插件 在RUN按钮中&#xff0c;创建Launch 自动生成launch.json文件&#xff0c;此处增加了&#xff1a;args参数。 {// Use IntelliSense to learn about possible attributes.// Hover to view descriptions…

JS逆向系列之商指针数据解密

文章目录 声明案例地址y解密算法分析ecryptByPrivateKey 解密算法分析写代码前的流程梳理参考代码往期逆向文章推荐声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除! 案例地址 aHR0cDovL…

系统上线安全测评需要做哪些内容?

电力信息系统、航空航天、交通运输、银行金融、地图绘画、政府官网等系统再正式上线前需要做安全测试。避免造成数据泄露从而引起的各种严重问题。 那么系统上线前需要做哪些测试内容呢&#xff1f;下面由我给大家介绍 1、安全机制检测-应用安全 身份鉴别 登录控制模块 应提供…

字节一面:post为什么会发送两次请求?

前言 最近博主在字节面试中遇到这样一个面试题&#xff0c;这个问题也是前端面试的高频问题&#xff0c;因为在前端开发的日常开发中我们总是会与post请求打交道&#xff0c;一个小小的post请求也是牵扯到很多知识点的&#xff0c;博主在这给大家细细道来。 &#x1f680; 作者…

视频尺寸缩小,一键批量剪辑,轻松制作精简版

大家好&#xff01;在视频剪辑中&#xff0c;有时我们需要将大尺寸的视频缩小&#xff0c;以适应特定的需求和平台要求。为了帮助您轻松制作精简版视频&#xff0c;我们推出了一款全新的工具——视频尺寸缩小批量剪辑软件&#xff01;让您一键批量将视频尺寸缩小&#xff0c;轻…

为什么叫源表?源表是如何四象限工作的?

为何称呼为源表&#xff1f; “源”为电压源和电流源&#xff0c;“表”为测量表&#xff1b; “源表”即指一种可作为四象限的电压源或电流源提供精确的电压或电流&#xff0c;同时可同步测量电流值或电压值的测量仪表。&#xff08;恒流源时测电压&#xff0c;恒压源时测电…

手机盖板IR油墨透光率检测仪T03

手机盖板作为手机最外层玻璃面板&#xff0c;其加工一般有落料、倒边、抛光、镀膜、丝印等多道加工工序组成&#xff0c;其中任何一个工序出现差错&#xff0c;都有可能导致手机盖板产生缺陷&#xff0c;例如漏油、透光、IR孔不良、视窗划伤、油墨区划伤、內污、边花等&#xf…

基于Android水果蔬菜果蔬到家商城系统 微信小程序uniAPP的开发与实现

果蔬到家是商家针对用户必不可少的一个部分。在商铺发展的整个过程中&#xff0c;果蔬到家担负着最重要的角色。为满足如今日益复杂的管理需求&#xff0c;各类果蔬到家程序也在不断改进。本课题所设计的springboot基于HBuilder X的果蔬到家APP&#xff0c;使用SpringBoot框架&…

Spring Boot 整合MyBatis-Plus

&#x1f600;前言 本篇博文是关于Spring Boot 整合MyBatis-Plus的&#xff0c;希望你能够喜欢&#x1f60a; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的…

Qt 获取文件图标、类型 QFileIconProvider

Qt中获取系统图标、类型是通过QFileIconProvider来实现的&#xff0c;具体如下&#xff1a; 一、Qt获取系统文件图标1、获取文件夹图标QFileIconProvider icon_provider;QIcon icon icon_provider.icon(QFileIconProvider::Folder);2、获取指定文件图标QFileInfo file_info(n…

Qt 自定义提示框 右下角冒泡

网页右下角上经常会出现一些提示性的信息&#xff0c;B/S有的东西&#xff0c;C/S当然也可以有&#xff0c;就像QQ的消息提示一样&#xff01; 实现一个类似的东西并不困难&#xff0c;只要想明白原理实现起来就很简单了&#xff01; 实现原理&#xff1a; &#xff08;1&#…

html实现页面切换、顶部标签栏(可删、可切换,点击左侧超链接出现标签栏)

一、在一个页面&#xff08;不跨页面&#xff09; 效果&#xff1a; 代码 <!DOCTYPE html> <html><head><style>/* 设置标签页外层容器样式 */.tab-container {width: 100%;background-color: #f1f1f1;overflow: hidden;}/* 设置标签页选项卡的样式…

OLED效果设计笔记1:显示横向滚动字幕

本文使用芯片&#xff1a;STM32 F103 C8T6 最小系统板 从这个笔记开始&#xff0c;学习一下OLED的一些显示动画效果的实现&#xff0c;尝试自己能够做出一些接近实际产品的界面切换&#xff0c;动画效果设计~ 文章提供源码&#xff0c;测试效果图&#xff0c;原理介绍&#x…

每日一题:leetcode 1267 统计参与通信的服务器

这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有。 如果两台服务器位于同一行或者同一列&#xff0c;我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一台其他服务…

Python“牵手”搜款网(VVIC)商品列表数据,关键词搜索搜款网API接口数据,搜款网API接口申请指南

搜款网&#xff08;VVIC&#xff09;平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范&#xff0c;搜款网API接口是指通过编程的方式&#xff0c;让开发者能够通过HTTP协议直接访问搜款网平台的数据&#xff0c;包括商品信息、店铺信息、物流…

Cesium 后台返回的图片如何在代码里生成路径

文章目录 需求分析解决 需求 Cesium 中给地球加皮肤&#xff0c;但是皮肤是后台接口返回的图片&#xff0c;是动态值 分析 我们平常所了解到的贴图&#xff0c;路径只能是静态目录下的图片&#xff0c;而去请求后台的图片时出现了跨域&#xff0c;所以这个方法不可行&#…

安全服务工程师-徐庆臣(黑客洗白者)

职位描述 负责安全服务项目中的实施部分&#xff0c;包括&#xff1a;漏洞扫描、渗透测试、安全基线检 查、代码审计、应急响应等&#xff1b; 爆发高危漏洞后时行漏洞的分析应急&#xff1b; 对公司安全产品的后端支持&#xff1b; 掌握专业文档编写技巧&#xff1b; 关注行业…

计算机网络(10) --- 高级IO

计算机网络&#xff08;9&#xff09; --- 数据链路层与MAC帧_哈里沃克的博客-CSDN博客数据链路层与MAC帧https://blog.csdn.net/m0_63488627/article/details/132178583?spm1001.2014.3001.5501 1.IO介绍 1.IO本质 1.如果数据没有出现&#xff0c;那么读取文件其实会被阻塞住…