当前位置: 首页 > news >正文

四川网站建设费用市场调研的五个步骤

四川网站建设费用,市场调研的五个步骤,php网站开发实例教程源代码,网络编程是做什么的目录一、fork函数二、vfork函数1.函数的原理2.函数的隐患3.解决函数隐患的方法在Linux的进程学习中,常使用fork函数来创建子进程,但其实还有一个vfork函数也可以创建子进程。但是这两个函数的实现机制不同,fork函数使用了写实拷贝技术&#x…

目录

  • 一、fork函数
  • 二、vfork函数
    • 1.函数的原理
    • 2.函数的隐患
    • 3.解决函数隐患的方法

  在Linux的进程学习中,常使用fork函数来创建子进程,但其实还有一个vfork函数也可以创建子进程。但是这两个函数的实现机制不同,fork函数使用了写实拷贝技术,而vfork函数不是这样。

  在看本文前,需要对虚拟内存有一定的了解,因为创建子进程离不开虚拟内存。

一、fork函数

pid_t fork(void);

  fork函数运用的是写实拷贝技术,子进程不但会复制父进程的pcb的信息,也会复制父进程的虚拟空间和页表

  所以在刚创建子进程后,子进程和父进程映射的是同一块物理内存,因此实现了父子进程代码共享。

fork初始

  但是如果子进程需要修改数据,比如程序中有一个变量a,子进程想要修改a的数据,那么系统就会给子进程在物理内存重新开辟一块空间存储a的数据,子进程要修改就修改自己的a,不要去修改父进程的a。这样就保证了父子进程的数据独有
修改变量

二、vfork函数

pid_t vfork(void);

1.函数的原理

  vfork与fork相比,vfork创建的子进程只复制了父进程的pcb,并没有复制虚拟空间和页表。父子进程使用的是同一块虚拟空间和页表,因此父子进程映射的是同一块物理内存。

vfork

2.函数的隐患

(1)由于vfrok创建的子进程和父进程共用虚拟空间和页表,因此访问的是同一个内存空间,那么一旦子进程改变了某个数据,父进程的数据同样会随之改变。

(2)更严重的问题是,会导致调用栈混乱。

  当程序运行一个函数时,就要先将函数压入函数调用栈,当运行完毕才会将函数出栈。vfork创建的父子进程共用调用栈,当父进程运行A函数时,需要把A函数压入函数调用栈,如果在A函数还没运行完的时候时间片就用完了,就需要切换到子进程。子进程运行的是B函数,子进程还没运行完B函数的时候时间片就用完了,因此切换到父进程运行。父进程在这个时间片把函数A运行完了,因此函数A需要出栈,但此时函数调用栈的栈顶是B函数,就会将B函数出栈,从而造成调用栈混乱。

  结合下图来理解:

调用栈混乱

3.解决函数隐患的方法

  既然vfork函数如上所述的缺点,那么自然要有相应的解决方法。

  如果用vfrok函数创建子进程,当子进程运行时,父进程会被阻塞。父进程被阻塞到什么时候?一直到子进程退出,或者是子进程进行了程序替换后。这样就可以解决上面的缺点。

http://www.tj-hxxt.cn/news/91325.html

相关文章:

  • 论述题亿唐网不做网站做品牌google chrome浏览器
  • 网站建设文化哪家好手机优化专家
  • 西宁做网站制作的公司电商代运营公司排名
  • 网站源码带采集seo公司厦门
  • 舟山网站建设费用互联网网站
  • 美女教师做爰网站站内营销推广途径
  • 教做美食的网站东莞网站seo推广
  • 学习做网站需要多久百度官方推广平台
  • java网站开发pdf百度一下 你就知道首页官网
  • 淘客网站自己做舆情信息报送
  • 网站微信登录怎么做的太原seo关键词排名
  • 西安学校网站建设游戏推广怎么做
  • win2008r2搭建php网站邵阳seo排名
  • 蛋糕网站建设毕业论文重庆关键词优化平台
  • 宁波模板建站哪家服务专业百度账户安全中心
  • 两个公司的网站建设seo快速排名服务
  • 建设一个国外服务器的网站全网营销的公司
  • 彩票网站开发违法免费的网站推广软件
  • 郑州app开发公司免费的seo教程
  • 网页设计需要学什么编程全面落实疫情防控优化措施
  • 做化学科普网站的目的企业seo网站推广
  • wordpress手机浏览器如何做seo
  • 免费推广产品平台有哪些网站优化基本技巧
  • 淘宝网站建设方案模板十大门户网站
  • 九江有哪些免费推广网站网络推广渠道都有哪些
  • 北京专业网站建设公司排名百度seo按天计费
  • 四川工程信息网官网山东服务好的seo公司
  • 临沂疫情最新消息今天成都seo优化公司排名
  • 杭州利兴建设官方网站百度seo是什么
  • 网站如何做伪静态推广竞价账户托管