应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

进程管理(电脑进程管理器)

  进程管理(电脑进程管理器)
  linux服务器开发相关视频解析:
  360度无死角讲解进程管理,调度器的5种实现
  linux多线程之epoll原理剖析与reactor原理及应用includelt;stdio。hgt;includelt;string。hgt;includelt;stdlib。hgt;includelt;unistd。hgt;voidmain(){charstr〔6〕hello;pidtpidfork();if(pid0){str〔0〕39;b39;;printf(子进程中strsn,str);printf(子进程中str指向的首地址:xn,(unsignedint)str);}else{sleep(1);printf(父进程中strsn,str);printf(父进程中str指向的首地址:xn,(unsignedint)str);}}
  子进程中strbello
  子进程中str指向的首地址:bfdbfc06
  父进程中strhello
  父进程中str指向的首地址:bfdbfc061、背景介绍
  这里就涉及到物理地址和逻辑地址(或称虚拟地址)的概念。
  从逻辑地址到物理地址的映射称为地址重定向。分为:
  静态重定向在程序装入主存时已经完成了逻辑地址到物理地址和变换,在程序执行期间不会再发生改变。
  动态重定向程序执行期间完成,其实现依赖于硬件地址变换机构,如基址寄存器。
  逻辑地址:CPU所生成的地址。CPU产生的逻辑地址被分为:p(页号)它包含每个页在物理内存中的基址,用来作为页表的索引;d(页偏移),同基址相结合,用来确定送入内存设备的物理内存地址。
  物理地址:内存单元所看到的地址。用户程序看不见真正的物理地址。用户只生成逻辑地址,且认为进程的地址空间为0到max。物理地址范围从R0到Rmax,R为基地址,地址映射将程序地址空间中使用的逻辑地址变换成内存中的物理地址的过程。由内存管理单元(MMU)来完成。
  可执行程序在存储(没有调入内存)时分为代码区,数据区,未初始化数据区三部分。
  (1)代码区存放CPU执行的机器指令。通常代码区是共享的,即其它执行程序可调用它。代码段(codesegmenttextsegment)通常是只读的,有些构架也允许自行修改。
  (2)数据区存放已初始化的全局变量,静态变量(包括全局和局部的),常量。static全局变量和static函数只能在当前文件中被调用。
  (3)未初始化数据区(BlockStartedbySymbol,BSS)存放全局未初始化的变量。BSS的数据在程序开始执行之前被初始化为0或NULL。
  代码区所在的地址空间最低,往上依次是数据区和BSS区,并且数据区和BSS区在内存中是紧挨着的。
  text段和data段在编译时已分配了空间,而bss段并不占用可执行文件的大小,它是由链接器来获取内存的。
  bss段(未手动初始化的数据)并不给该段的数据分配空间,只是记录数据所需空间的大小。
  data(已手动初始化的数据)段则为数据分配空间,数据保存在目标文件中。
  数据段包含经过初始化的全局变量以及它们的值。BSS段的大小从可执行文件中得到,然后链接器得到这个大小的内存块,紧跟在数据段后面。当这个内存区进入程序的地址空间后全部清零。包含数据段和BSS段的整个区段此时通常称为数据区。
  可执行程序在运行时又多出了两个区域:栈区和堆区。
  (4)栈区。由编译器自动释放,存放函数的参数值,局部变量等。每当一个函数被调用时,该函数的返回类型和一些调用的信息被存储到栈中。然后这个被调用的函数再为它的自动变量和临时变量在栈上分配空间。每调用一个函数一个新的栈就会被使用。栈区是从高地址位向低地址位增长的,是一块连续的内在区域,最大容量是由系统预先定义好的,申请的栈空间超过这个界限时会提示溢出,用户能从栈中获取的空间较小。
  (5)堆区。用于动态内存分配,位于BSS和栈中间的地址位。由程序员申请分配(malloc)和释放(free)。堆是从低地址位向高地址位增长,采用链式存储结构。频繁地mallocfree造成内存空间的不连续,产生碎片。当申请堆空间时库函数按照一定的算法搜索可用的足够大的空间。因此堆的效率比栈要低的多。
  【文章福利】需要CCLinux服务器架构师学习资料加群812855908(资料包括CC,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCPIP,协程,DPDK,ffmpeg等)
  2、fork
  fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了写时复制技术,也就是只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。在fork之后exec之前两个进程用的是相同的物理空间(内存区),子进程的代码段、数据段、堆栈都是指向父进程的物理空间,也就是说,两者的虚拟空间不同,但其对应的物理空间是同一个。当父子进程中有更改相应段的行为发生时,再为子进程相应的段分配物理空间,如果不是因为exec,内核会给子进程的数据段、堆栈段分配相应的物理空间(至此两者有各自的进程空间,互不影响),而代码段继续共享父进程的物理空间(两者的代码完全相同)。而如果是因为exec,由于两者执行的代码不同,子进程的代码段也会分配单独的物理空间。
  fork时子进程获得父进程数据空间、堆和栈的复制,所以变量的地址(当然是虚拟地址)也是一样的。
  每个进程都有自己的虚拟地址空间,不同进程的相同的虚拟地址显然可以对应不同的物理地址。因此地址相同(虚拟地址)而值不同没什么奇怪。
  具体过程是这样的:
  fork子进程完全复制父进程的栈空间,也复制了页表,但没有复制物理页面,所以这时虚拟地址相同,物理地址也相同,但是会把父子共享的页面标记为只读(类似mmap的private的方式),如果父子进程一直对这个页面是同一个页面,知道其中任何一个进程要对共享的页面写操作,这时内核会复制一个物理页面给这个进程使用,同时修改页表。而把原来的只读页面标记为可写,留给另外一个进程使用。
  这就是所谓的写时复制。正因为fork采用了这种写时复制的机制,所以fork出来子进程之后,父子进程哪个先调度呢?内核一般会先调度子进程,因为很多情况下子进程是要马上执行exec,会清空栈、堆这些和父进程共享的空间,加载新的代码段,这就避免了写时复制拷贝共享页面的机会。如果父进程先调度很可能写共享页面,会产生写时复制的无用功。所以,一般是子进程先调度滴。
  假定父进程malloc的指针指向0x12345678,fork后,子进程中的指针也是指向0x12345678,但是这两个地址都是虚拟内存地址(virtualmemory),经过内存地址转换后所对应的物理地址是不一样的。所以两个进城中的这两个地址相互之间没有任何关系。
  (注1:在理解时,你可以认为fork后,这两个相同的虚拟地址指向的是不同的物理地址,这样方便理解父子进程之间的独立性)
  (注2:但实际上,linux为了提高fork的效率,采用了copyonwrite技术,fork后,这两个虚拟地址实际上指向相同的物理地址(内存页),只有任何一个进程试图修改这个虚拟地址里的内容前,两个虚拟地址才会指向不同的物理地址(新的物理地址的内容从原物理地址中复制得到))3、exec家族
  exec家族一共有六个函数,分别是:lt;spanstylefontfamily:MicrosoftYaHei;fontsize:12px;gt;(1)intexecl(constcharpath,constchararg,。。。。。。);(2)intexecle(constcharpath,constchararg,。。。。。。,charconstenvp〔〕);(3)intexecv(constcharpath,charconstargv〔〕);(4)intexecve(constcharfilename,charconstargv〔〕,charconstenvp〔〕);(5)intexecvp(constcharfile,charconstargv〔〕);(6)intexeclp(constcharfile,constchararg,。。。。。。);lt;spangt;
  其中只有execve是真正意义上的系统调用,其它都是在此基础上经过包装的库函数。
  exec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件。这里的可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件。
  与一般情况不同,exec函数族的函数执行成功后不会返回,因为调用进程的实体,包括代码段,数据段和堆栈等都已经被新的内容取代,只留下进程ID等一些表面上的信息仍保持原样,颇有些神似三十六计中的金蝉脱壳。看上去还是旧的躯壳,却已经注入了新的灵魂。只有调用失败了,它们才会返回一个1,从原程序的调用点接着往下执行。

手机关机找不到了怎么定位(已关机的手机如何定位找到人)如果手机丢失,您必须尽快登录云服务器搜索手机的位置,否则如果手机被拿起并关闭,您将无法找到手机。你的朋友也会提醒你。手机关机后是否真的无法定位?关闭手机之后,也可以找到手机。普通手自己手机如何定位其他手机(手机定位器)想要通过手机A获取手机B的位置信息,首先需要为手机B绑定云账号,并开启查找手机功能,然后再通过手机A登录云账号,即可获得手机B的位置信息。为手机B绑定云账号所谓的云账号,即基于云端月经期最宜吃什么水果(宫寒排出来的血块图片)例假期被很多人所嫌弃,因为要讲究很多的注意事项,限制正常的生活,可是要知道例假期也可以给身体带来很多的好处的哦,尤其是女生来例假时,这3种水果使劲吃,养子宫,还防妇科炎症!榴莲来例手机电话怎么查定位(查定位手机号)手机号码是现在每个人的必备品,处处离不开手机,没有人不用手机的。用手机就得办理手机号码,甚至很多人自己的联系方式都有好几个。当你想了解朋友的大概情况,怎么通过手机号码去了解呢?如今如何定位手机联系人的位置(如何快速定位到对方在哪里)在日常生活中,由于手机的功能越来越强大,所以大部分人手上都会有智能手机。那么你用了这么久的手机,你知道手机上面隐藏的定位功能吗?你知道手机也能定位追踪位置吗?今天就给大家分享一招手学计算机应用有前景吗(计算机应用专业前景分析)计算机相关专业可以说是近几年国内最为热门的大学专业之一,以计算机科学与技术专业为例,全国共有1272所本科院校,其中开设有该专业的院校数量为952所,占比75。那么计算机专业的学生适合增强班级凝聚力的活动(怎样提升班级凝聚力)一班主任以身作则,树立威信班主任每天和学生接触最多,所以班主任不应只是对他们进行语言教育,更重要的是用自己的行动为他们做出榜样,使学生耳濡目染。比如,一些学生有随手乱扔废纸的不良习好玩的接亲堵门游戏(接亲游戏刺激)1。带口器一分钟吹灭10支蜡烛2。咬出LOVE形状的吐司面包3。伴郎戴鹿角帽,新郎套圈4。吹纸巾,1分钟不让纸巾落地5。猜柠檬水,在三个杯子中滴入不同酸度的柠檬水,并从高到低排序6远程破解微信聊天记录(远程接收微信聊天记录)玩的朋友必知黑客能密码能破解码吗?世界上纷繁复杂的情感,人与人剪不断理还乱的关系,都可以通过黑客能密码能破解码来获得来揭开真相!为什么要找黑客破解密码呢?专业的破解高手溦鈊44。2怎么用ps做色彩分析(ps怎么做红绿色虚影)匹配颜色可以匹配多个图像之间多个图层之间或者多个选区之间的颜色。一目标图像需要修改颜色的当前图像文件。1目标名称显示当前需要改变颜色的图像名称。2应用调整时忽略选区勾选的话,则修改陆贞传奇萧唤云吃醋(陆贞传奇沈碧结局)文十一看陆贞传奇,里面除开陆贞外,其他几个人物也都非常有意思。她们或为了皇权而活,或为了宠爱而生,或想要觅得一个好姻缘。但人生哪能那么多如意,很多时候,拼尽全力,也只能换来一点回忆
哪个丰胸医院最好(十大丰胸最好的医院)一手感真实隆胸手术后手感会变差吗?其实现在最好的隆胸手术,不仅使患者在外形上和自然胸部别无二致,假体隆胸效果手感上也温热柔软富有弹性,和自体乳腺组织没有区别。二疤痕隐蔽隆胸的目的不浦江夜游(夜浦东哪里值得打卡)浦江夜游(夜浦东哪里值得打卡)夜幕下的上海浦东会有一场什么样的视觉盛宴?浦东的夜生活,有多精彩?央视新闻上海浦东开发开放30周年特别直播节目夜游浦江明珠璀璨带你一起去感受夜浦东的魅自动挡轿车(自动挡轿车价格表)自动挡轿车(自动挡轿车价格表)但就汽车市场来说其实就有好多车型你以为已经停产了但其实人家还在卖,凭借超低的价格还在这个市场上赚得一杯羹。今天这个车是合资的还是个自动挡关键就卖6万多哪里可以做鸭(鸭子都在哪接单)鸭子作为我们日常生活中最为常见的一种食材,在家庭宴会中都会出现,有的食客喜欢卤制的鸭子,味道浓郁红烧鸭子,香气四溢,乡下老鸭子可以加入酸萝卜炖一锅老鸭汤,汤鲜味美,不过鸭子的做法真菏泽是哪里(菏泽市有多大面积)菏泽市位于山东省西南部,和济宁市,徐州市宿州市,商丘市等地相邻,全市总面积为12239平方公里。菏泽市风景秀丽,文化底蕴深厚,那么2020年菏泽市发展得如何了呢?下面我们一起来看看具恩典为什么消失了(非主流恩典现在怎么样了)那个贴吧正火的年代,梦幻西游正值青春期,帝吧百万毅丝圣战刚歇,QQ音乐三巨头风靡一时。在此背景下,网络上产生了一大批神秘的女神,包括前几天爆火的斗岩女神,还有一些至今仍为谜团的女神苹果园壁纸(苹果背景墙纸图片大全)苹果园壁纸(苹果背景墙纸图片大全)陕西省三原县马额镇,地处陕西三原县北部塬区,北与铜川新区相邻,东与富平接壤。赵氏河北部适合果树生长,仅苹果就有几万亩。苹果以红富士嘎啦美八为当家品虫草煲多久(冬虫夏草煮几分钟)冬虫夏草的几种有效食用方法,价值高,很难得冬虫夏草虽然很名贵,但是因为它的原草并不能被直接食用。有各种方法,家常的有泡酒,泡水,炖汤,民间的几种吃法真的有效吗?市面上也有把它做成各灰指甲是怎么样的(灰指甲前期是怎么样的)或许你只有在剪指甲的时候才会过自己的指甲,中医认为指甲通过经络与五脏六腑四肢百骸五官九窍紧密联系。有句话说指甲是健康的晴雨表,指甲的形态月牙纹路颜色都是身体状况的展示窗口。能够判断百年育才靠谱吗怎么样(百年育才高考志愿填报收费)随着铃声响起,2021年高考正式落下帷幕。1078万考生,从这刻正式结束高中生涯。今后的日子如何度过,将取决于十几天之后的高考志愿填报。常言道七分考,三分报,考了一个优异的成绩并不桂林到阳朔要多久(桂林到阳朔的大巴)漓江的山水享誉全国,桂林是山水融合得最高境界,是仙人的完美杰作,而阳朔徜徉在水墨丹青之中,是自然与青春的跳跃,是尼克松也会留恋的地方,是国家地理都称赞的地方,也是一个人一生中必去一
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网