地址空间收尾-进程控制

news2024/9/23 9:25:45

子进程为什么能继承父进程的环境变量呢?并且具有全局属性?
通过打印地址实验可以发现,进程的环境变量在栈区之上
父进程的环境变量也是由bash继承下来的,必定有页表帮助我们从虚拟到物理的映射,创建子进程的页表时也会将对应父进程的地址空间中环境变量的对应映射建立好,所以即便不传对应的env参数,子进程也能获得环境变量信息。

用户空间和内核空间
0G-2G是给用户使用的
3G-4G是给操作系统的
我们的PCB对象数据结构本身和进程地址空间也要在物理内存中放的哦,操作系统内核中的数据结构一定要映射到地址空间内核空间中
在这里插入图片描述

页表级写时拷贝原理

现在再来理解为什么代码不能被修改这句话
因为页表中把代码区的映射标志位设置为只读权限,所以代码就不可写!但是父进程尝试对数据进行写入时就可能会影响到子进程,反之亦然!
无论是父还是子想对数据进行写入,谁先写,谁就要先进行写时拷贝
在这里插入图片描述
操作系统是怎么知道父子进程是共享数据块此时需要发生写时拷贝的呢?
在创建子进程前,即便数据是具有读写权限,在创建子进程后,操作系统把父子进程的数据读写权限全部改为只读,此时不管父还是子想要对数据进行写入一定会引发系统级的权限问题,不过此时不会做异常处理,而是转而帮我们做写时拷贝,并且对该数据重新建立页表映射,并且把相关标志位改为读写恢复出来,就完成了写时拷贝。
本身是后续看谁先触发写入的错误,然后再来判断谁要先写时拷贝。
在这里插入图片描述

创建多个进程
在这里插入图片描述

结论
在这里插入图片描述

当子进程被创建出来时哪一个子进程先运行,或者是父进程和子进程哪一个先运行呢?
当创建出多进程时,无论是兄弟关系还是父子关系,到底哪一个进程先运行完全由调度器绝定

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

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

相关文章

PowerCLI 实现email发送消息

前提条件 开启wmi,配置网卡,参考 创建发送获取信息到邮件 最终实现获取esxi 主机版本信息, esxi 主机IP,esxi开机开启状态,虚拟机名称,虚拟机IP,虚拟机开机状态,虚拟机归属哪一个物理机,发送信息到邮箱。脚本解释以下全部注释解释,请你在#部分获取。powercli-send-e…

HTML页面获取URL传递的参数值

如: // 查询url上链接的参数与参数值 function getQueryString(name) {var url window.location.search; // 获取URLvar pattern new RegExp("[\?\&]" name "([^\&])", "i"); // 正则匹配URLvar matcher pattern.exec(…

村田:什么是UWB无线通信?使用UWB的定位方法有哪些应用 ​

UWB是Ultra-Wide Band的缩写,意思是超宽带。UWB无线通信是使用超宽带的频率带宽的无线通信,其主要特征是能够实现高精度定位。近年来,已普及至智能手机防丢失、高阶汽车智能钥匙等民用设备。预计未来将在多个领域普及。 UWB无线通信技术有哪些…

浙江环保用电计量adw300-hj治污产污生产设备监测

浙江环保用电计量表,浙江环保用电能表,浙江环保督查计量电表,环保设备能耗采集表 企业基本信息 企业名称:XXXXXXXXXXX 企业地址:XX省XX市 工 程 量:X台监测仪表 预计工期:X天 监测点位信息…

Git撤销已经push到远程分支的commit

有时想要撤销已经push到远程仓库的commit,将代码还原为commit之前的样子,应该如何做呢? 如果只有自己使用的分支:可以使用git reset命令 git log 查看需要还原的commitId,如下截图, 我们需要撤销ffe4a的…

【API篇】十、生成Flink水位线

文章目录 1、水位线的生成原则2、有序流内置水位线3、乱序流内置水位线4、自定义周期性水位线生成器5、自定义断点式水位线生成器6、从数据源中发送水位线 1、水位线的生成原则 水位线出现,即代表这个时间之前的数据已经全部到齐,之后不会再出现之前的数…

具有独特底部轮廓的剥离光刻胶的开发

引言 金属图案的剥离方法已广泛应用于各种电子器件的制造过程中,如半导体封装、MEMS和LED的制造。与传统的金属刻蚀方法不同的是,采用剥离法的优点是节省成本和工艺简化。在剥离过程中,经过涂层、曝光和开发过程后,光刻胶会在晶片…

最简单的Ubuntu更新Nvidia驱动的方法 解决nvidia-smi 不是内部或外部命令

在装有Ubuntu/Linux的服务器上遇到nvidia-smi不是内部或外部命令的问题,解决方法:更新英伟达驱动。 Ubuntu自带的“软件和更新”里可以方便地更新驱动,不需要从英伟达官网下载驱动。 我把它改成了第一项(原来是一个名为nouveau的…

点成案例 | 点成生物干浴器的多领域应用

前沿 在前面的文章中,我们给大家分享了点成生物水浴设备在食品行业的食物特性和生物活性测定的应用案例,本期文章将为大家详细介绍一下点成生物的干浴设备及其在多种领域中的应用。 一、干浴器简介 干浴器,又名恒温金属浴或金属浴。与水浴设…

好用的Visio绘图文件工具 VSD Viewer最新 for mac

VSD Viewer是一款可以查看Microsoft Visio绘图文件的工具,适用于Windows和macOS操作系统。它具有以下优点: 直观易用:VSD Viewer的用户界面非常简单直观,易于使用。支持多种文件格式:VSD Viewer支持多种Visio文件格式…

JavaScript函数:入门指南

目录 函数的定义和调用 函数参数 返回值 匿名函数 回调函数 箭头函数的定义和语法 箭头函数的参数和返回值 箭头函数的this绑定 递归函数简介 基本情况 递归调用 注意事项 递归的应用 JavaScript是一种广泛使用的编程语言,拥有强大的函数功能。函数是J…

Java基础——流程控制

文章目录 顺序结构分支结构ifif elseswitch 循环结构forwhiledo while嵌套循环 流程控制语句breakcontinuereturn 流程控制语句是用来控制程序中各语句执行顺序,可以把语句组合成能完成一定功能的小逻辑模块。 顺序结构 程序从上到下逐行执行,中间没有…

系统优化-异步化

目录 1:异步化 1.1:什么是同步?什么是异步? 1.2:异步化业务流程分析 1.3:异步化的问题 2:线程池的理论和实战 2.1:为啥需要线程池? 2.2:线程池的实现 2.2.1:线程池参数 2.2.2:线程池的工作机制 1:异步化 什么时候使用异步化? 调用的服务处理能力有限&#xff0c…

酷开科技 | 酷开系统大屏电视,打造精彩家庭场景

在信息资讯不发达的年代,电视机一直都是个人及家庭重要的信息获取渠道和家庭娱乐中心,是每个家庭必不可少的大家电之一!在快节奏的现代生活中,受手机和平板的冲击,电视机这个曾经的客厅“霸主”一度失去了“主角光环”…

Haproxy 服务

Haproxy:他也是常用的负载均衡软件 nginx 支持四层转发,七层转发 haproxy 也是四层和七层转发 LVS的DR和NAT都是基于四层转发 都是基于流量的转发。 tun:四层和七层都有。 基于四层的转发: 1,lvs 2,nginx 3&…

Go语言入门心法(十六):Go远程过程调用框架GRPC实战

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 Go语言入门心法(六): HTTP面向客户端|服务端编程 Go语言入门心法(七): 并发与通道 Go语言入门心法(八): mysql驱动安装报错o…

vue-admin相关问题记录

编辑器设置自定义高度 base.component.js内关于tinymce内容初始化设置&#xff0c;增加高度自定义接收并初始化 <tinymce :content.sync"form.article_content" :height"400"></tinymce> textarea自定义高度 tooltip备注

Python数据结构(树)

Python数据结构&#xff08;树&#xff09; 树的概念 树(英语: tree)是一种抽象数据类型ADT) 或是实作这种抽象数据类型的数据结构&#xff0c;用来模拟具有树状结构性质的数据集合。它是由n(n>1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一…

Elasticsearch核心技术与实战-05-elasticsearch的安装与简单配置-Windows

首先下载elasticsearch的zip包&#xff1a;下载地址 网络不通的解决方法&#xff1a;国内镜像站 es、kibana、logstash均可在华为云开元镜像站自行选择版本下载&#xff1a;下载地址 下载插件包&#xff1a; .\bin\elasticsearch-plugin install analysis-icu .\bin\elasti…