网站的功能设计创业做网站APP开发

web/2025/9/30 1:46:27/文章来源:
网站的功能设计,创业做网站APP开发,旅游网页设计模板网站免费,网站建站的步骤重新了解地址空间 在学习c/c语言的时候,大家一定见过以下这张图 说的是程序会加载在如图的结构上,实际上,我们真的对他很了解吗,而在Linux进程控制这,就会有一个奇怪的现象 前提提要:简要介绍一下fork函数 进程内核数据结构(PCB)自己的代码以及数据 在Linux中,fork可以从当…重新了解地址空间 在学习c/c语言的时候,大家一定见过以下这张图 说的是程序会加载在如图的结构上,实际上,我们真的对他很了解吗,而在Linux进程控制这,就会有一个奇怪的现象 前提提要:简要介绍一下fork函数 进程内核数据结构(PCB)自己的代码以及数据 在Linux中,fork可以从当前进程创建一个新进程,创建的新进程为子进程,而当前当前进程就是子进程的父进程,而子进程会以父进程为模板,创建子进程 头文件在#include unistd.h pid_t fork(void); 返回值自进程中返回0父进程返回子进程id出错返回-1 进程调用fork当控制转移到内核中的fork代码后内核做 1.分配新的内存块和内核数据结构给子进程 2.将父进程部分数据结构内容拷贝至子进程 3.添加子进程到系统进程列表当中 4.fork返回开始调度器调度 这里先不深入讲解fork函数,主要是为接下来的行为做铺垫 请看以下代码 #include stdio.h #include unistd.h #include stdlib.h int g_val 0;//全局变量int main() {pid_t id fork();//创建进程if(id 0){//创建进程错误perror(fork);return 0;}else if(id 0){ //子进程返回码为0 这里就是子进程printf(child[%d]: %d : %p\n, getpid(), g_val, g_val);//getpid返回当前进程的pid}else{ //父进程printf(parent[%d]: %d : %p\n, getpid(), g_val, g_val);}sleep(1);return 0; } 运行结果也如我们所料 parent[19376]: 0 : 0x601050 child[19377]: 0 : 0x601050 子进程和父进程的g_val的地址都是相同的,很正常. 奇怪的事情 如果我们对以上代码的两个进程的其中一个进行修改,会发生什么呢,大家不妨大胆猜测一下 #include stdio.h #include unistd.h #include stdlib.h int g_val 0;//全局变量int main() {pid_t id fork();//创建进程if(id 0){//创建进程错误perror(fork);return 0;}else if(id 0){ //子进程返回码为0 这里就是子进程g_val10;//我们在子进程这修改g_val的值printf(child[%d]: %d : %p\n, getpid(), g_val, g_val);//getpid返回当前进程的pid}else{ //父进程printf(parent[%d]: %d : %p\n, getpid(), g_val, g_val);}sleep(1);return 0; } 在这里 我们修改了全局变量g_val的值,嗯,因为是全局的,g_val地址对应的值只有一个,所以父子进程都应该打印g_val10 对吧? 我们来看看实际的结果 parent[19907]: 0 : 0x601050 child[19908]: 10 : 0x601050 欸 不是哥们,啊? 你这俩进程全局变量的对应地址不都是一样的吗,咋打印出的值还不一样啊,难道技术创新了,一个地址可以对应两个值? 当然不是的,接下来,我们就来讲讲为什么会出现这种奇怪的现象  物理地址所对应的值有且只能有一个,所以我们可以退出以下结论 1.变量内容不一样,所以父子进程输出的变量绝对不是同一个变量 2.但地址值是一样的说明该地址绝对不是物理地址 3.在Linux地址下这种地址叫做 虚拟地址 4.我们在用C/C语言所看到的地址全部都是虚拟地址物理地址用户一概看不到由操作系统OS统一管理 那么------------ 也就是说 操作系统必须负责将 虚拟地址 转化成 物理地址, 进程地址空间 所以之前说‘程序的地址空间’是不准确的准确的应该说成进程地址空间,那该如何理解呢 那么操作系统是如何将进程虚拟地址转换成物理地址的呢? 页表虚拟进程地址空间 操作系统其实是利用一种页表的操作将进程虚拟地址空间映射到物理地址空间,而这个页表去映射的过程,其实就有点类似于哈希的映射的关系 上面的图就足矣说明问题同一个变量地址相同其实是虚拟地址相同内容不同其实是被页表映射到了不同的物理地址!!! 而操作系统为什么要这么做呢 这样做有两个好处 1.将物理内存从无序转换成有序,让进程以统一的视角,看待内存 2.将进程管理和内存管理进行耦合 地址空间页表也就是保护内存安全的一个重要手段

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

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

相关文章

网站维护公司哈尔滨网页制作课程

前言:在此之前我们已经学习到了异常的使用,虽然异常在大部分情况都还可以,但也存在太多缺陷,对于异常的问题,入内存泄漏,在复杂的场景下使用起来也是非常麻烦。为了更好的解决这些问题,c11中引入…

做网站哪些公司苏州首页排名关键词优化

前言 MyBatis框架中使用的5种设计模式分别是:1、建造者模式(生成器模式)。2、工厂模式。3、单例模式。4、代理模式。5、适配器模式。 1、建造者模式(生成器模式) 在MyBatis环境的初始化过程中,SqlSessio…

网站解决方案环球资源网怎么找客户

最近面试过一些人, 发现即使经验丰富的开发人员, 对于一些基础的理论和细节也常常会模糊. 写本文是因为就我自己而言第一次学习下面的内容时发现自己确实有所收获和感悟. 其实我们容易忽视的javascript的细节还有更多, 本文仅是冰山一角. 希望大家都能通过本文有所斩获.一. Jav…

网站通栏代码学校网站源码 带wap手机端

#这个夏天我们一定要去看海# 出国旅行时,语言障碍常常是最让人头疼的问题之一。 特别是在像缅甸这样英语并不普及的国家,基本的日常交流,比如用餐或问路,都可能成为难题。 然而,随着技术的进步,现在有了…

佛山市网站开发个人网站怎么命名

1. 题目 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。 insert(val):当元素 val 不存在时,向集合中插入该项。 remove(val):元素 val 存在时,从集合中移除该项。 getRandom:随机返回现…

在线音乐播放网站模板郑州网站建设兄长好

java 用流创建流在许多情况下,声明性代码(例如,具有Streams的功能组合)提供了出色的代码指标。 通过该动手实验文章系列进行编码,并成为Java Streams的主教练,从而成为一名更好的Java程序员。 Streams的整…

南京制作网站公司网站正规网站建设推荐谁好呢

类型保护是一种TypeScript技术,用于获取变量类型信息,通常使用在条件块语句中。 类型守卫是返回布尔值的常规函数,接受一个类型并告诉TypeScript是否可以缩小到更具体的类型。 TypeScript类型保护的方式 类型断言 类型断言是一种告诉编译器…

阿里云带宽5m能做什么网站小规模公司需要交哪些税

npm 和 yarn 都是 JavaScript 的包管理工具,用于管理项目中的依赖包。 安装速度 yarn: 速度较快,因为它会缓存已下载的包,并在安装时利用并行下载来最大化资源利用率。 npm: 速度较慢,尤其是在网络不稳定的情况下,可…

电商网站开发需要多少钱网站开发合同官司

java中使用es的dsl我们大多数人已经编写了一些处理图论算法的程序,例如找到两个顶点之间的最短路径,找到给定图的最小生成树等等。 在这些算法的每一种中,表示图形的编程方式是使用邻接矩阵或邻接列表 。 两者都不是定义图形输入的非常直观的…

有口碑的郑州网站建设企业网站托管技巧

目录 1.ChatGPT 是什么 2. ChatGPT 的发展史 3.ChatGPT 优缺点 4.ChatGPT 在未来生活中的发展趋势和应用 5.ChatGPT经历了几个版本 1.ChatGPT 是什么 ChatGPT 是一个在线聊天机器人,可以与使用者进行语义对话和提供帮助。它可以回答各种问题,提供建议…

微信php网站开发流程娄底seo

二叉树第k个大的节点 二叉树文章列表: 数据结构与算法–面试必问AVL树原理及实现 数据结构与算法–二叉树的深度问题 数据结构与算法–二叉堆(最大堆,最小堆)实现及原理 数据结构与算法–二叉查找树转顺序排列双向链表 数据…

深圳附近做个商城网站找哪家公司好wordpress网站上线

P1736 创意吃鱼法 题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*)。她发现,把大池子视为01矩阵&#xff0…

想要个免费网站推上网站

目录 一,代理模式和适配器模式区别 二,代理模式 三,特点 四,组成部分和实现步骤 五,案例 六,应用场景 一,代理模式和适配器模式区别 意图:代理模式控制访问并可能添加额外功能…

郑州网站建设维护公司客户网站开发全流程

文章目录 🎍序言🌳加法计算器🚩准备工作🚩约定前后端交互接⼝🌲后端服务器代码的书写 🌴用户登录🚩效果展示🚩准备工作🚩约定前后端交互接⼝🎈需求分析&#…

做网站需要什么图片广州番禺最新通告

谈谈 final、finally、 finalize 有什么不同?final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(o…

黄岩网站开发网站制作的收费

列表滑动性能优化是一个老生常谈的问题,最近在做项目的时候又遇到了列表滑动卡顿的问题,我在经过多次思考和尝试后,终于找到了滑动卡顿的元凶,于是将经验总结下来。ViewHolder先说说最常规的ViewHolder。ViewHolder的出现是为了解…

海南省建设网站的公司深圳网站seo地址

题目 产品数据表: Products 写一段 SQL来查找在 2019-08-16 时全部产品的价格,假设所有产品在修改前的价格都是 10 。 以 任意顺序 返回结果表。 查询结果格式如下例所示。 示例 1: 解题思路 1.题目要求我们查找在 2019-08-16 时全部产品的价格,假设所…

外贸公司访问国外网站网站做优化

问题描述: 农夫John的一头牛逃跑了,他想要将逃跑的牛找回来。现假设农夫John和牛的位置都在一条直线上,农夫John的初始位置为N(0≤N≤100,000),牛的初始位置为K(0≤K≤100,000)。农夫…

网站内链调整专业高端网站设计首选

paramiko模块 介绍: paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。 2. 下载安装 pip3 install paramiko #在pytho…

注册个空壳公司需要多少钱企业网站seo优化公司

GitHub 面对学生推出了学生认证服务,通过认证后就可以得到学生包,学生包大概有十几项优惠,包括 DATADOG Pro 帐户、免费两年的10台服务器,Icons8 3个月的带图标,照片,插图和音乐订阅服务、JETBRAINS 专业桌…