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

网站建设临沂免费创建网站教程

网站建设临沂,免费创建网站教程,平面设计公司起名,在网上怎么做网站本节目录1.fork函数初识2.fork函数返回值3.写时拷贝1.fork函数初识 在Linux中#xff0c;fork函数是一个非常重要的函数#xff0c;它从已存在的进程中创建一个新进程。新进程叫做子进程#xff0c;而原进程叫做父进程。 #include unistd.h pid_t fork(void); 返回… 本节目录1.fork函数初识2.fork函数返回值3.写时拷贝1.fork函数初识 在Linux中fork函数是一个非常重要的函数它从已存在的进程中创建一个新进程。新进程叫做子进程而原进程叫做父进程。 #include unistd.h pid_t fork(void); 返回值子进程返回0父进程返回子进程的pid出错返回-1.进程调用fork当控制转移到内核中的fork代码后内核做 分配新的内存块和内核数据给子进程。 将父进程部分数据结构内容拷贝进子进程。 添加子进程到系统进程列表中。 fork返回开始调度器调度。 当开始只有一个执行流时fork之后变成两个执行流。 面试题请你描述一下fork创建子进程操作系统都做了什么 创建一个子进程则系统里面多了一个进程进程 内核数据结构进程代码和数据进程的代码和数据一般是从你的C/C程序中来也就是从磁盘而来。 创建子进程给子进程分配对应的内核数据结构必须子进程独有的因为进程具有独立性理论上子进程也要有自己的代码和和数据可是一般而言我们没有加载的过程也就是说子进程没有自己的代码和数据。所以子进程只能使用父进程的代码和数据。 代码都是不可被写的只能读取所以父子共享没有问题。 数据可能被修改所以必须分离。 对于数据而言 1.创建子进程的时候就直接拷贝分离问题可能拷贝子进程根本不会用到的数据空间即使用到了也可能只是读取 创建子进程的时候不需要将不会访问的数据或者只会读取的数据拷贝一份只需要拷贝父或子进程会写入的数据。 接下来又有两个问题一般而言即使是操作系统也无法知道那些数据可能会被写入另外提前拷贝了你会立马使用吗 所以操作系统选择了写时拷贝技术来进行父子进程的数据的分离。 fork之后父子进程共享所有的代码。 fork之后子进程开始执行代码的初始位置在哪 1.我们汇编之后会有很多行代码而且每行代码加载到内存中后都会有对应的地址。 2.因为进程随时可能被中断可能并没有执行完下次回来必须从之前的位置继续执行不是最开始嗷就要求CPU必须记录下来CPU中有EIP寄存器存储着CPU要执行指令的地址用它来记录当前进程的执行位置。也即进程的上下文数据。 寄存器在CPU内只有一份但寄存器内的数据可以存储多份。 创建的时候要不要给子进程的父进程的上下文数据 虽然父子进程给自调度各自修改EIP但是已经不重要了因为子进程已经认为自己的EIP就是fork之后的代码。 当一个进程调用fork之后就有两个二进制代码相同的进程。而且它们都运行到相同的地方。但每个进程都可以开始它们自己的旅程。 看如下程序 1 #include unistd.h2 #include stdio.h3 #include stdlib.h4 #include sys/types.h5 int main()6 {7 pid_t pid;8 printf(Before:pid is %d\n,getpid());9 10 pid fork();11 if(pid -1) 12 {13 perror(fork()),exit(1);14 }15 printf(After:pid is %d,fork return %d\n,getpid(),pid);16 sleep(1);17 return 0;18 } 从结果可以看出fork之前父进程独立执行fork之后父子进程两个执行流分别执行。注意fork之后父子进程谁先执行完全由调度器决定。 2.fork函数返回值 子进程返回0 父进程返回子进程的pid 3.写时拷贝 通常父子代码共享当任意一方进行写入便以写时拷贝的方式各自一份副本。 具体见下图 fork常规用法 一个父进程希望复制自己使父子进程同时执行不同的代码段。例如父进程等待客户端请求生成子进程来处理请求。 一个进程要执行一个不同的程序。例如子进程从fork返回后调用exec函数。 fork调用失败的原因 系统中有太多的进程 实际用户的进程数超过了限制
http://www.hkea.cn/news/14334506/

相关文章:

  • 公司对网站排名如何做绩效知名网站建设公司电话
  • 网站上传该怎么做wordpress做大型网站
  • wordpress网站被拒登找人做仿网站
  • 能看的网站图片站 wordpress
  • 长沙网站开发推荐佛山市企业网站seo联系方式
  • 做网站公司(深圳信科)郑州商城网站开发
  • 网站需要服务器网站类型定位分析
  • 时间管理系统 网站开发工程公司有哪些
  • 做网站月入1000网站背景图
  • 重庆建网站方法建设网站对公司起什么作用是什么
  • 天津建设网官方网站视频编辑sdk
  • 知名排版网站app推广策略
  • 3g版网站制作搭建wordpress需要php环境吗
  • 网站建设服务器百度云免费制作图片带字软件
  • 网站建设公司海报网站后台为什么传不上图片
  • 收到短信说备案被退回但工信部网站上正常啊怎么做服务器网站
  • 深圳蕾奥规划设计公司网站网页版梦幻西游好玩吗
  • 湖南网站建设欧黎明wordpress微信登录调用
  • 网站原型设计和版式设计沈阳网站建设活动方案
  • 网站建设设计基础如何绑定网站域名
  • 简单企业网站模板百度百科官网首页
  • 备案添加网站网站建设费专用票
  • 做网站卖机器怎么弄沈阳网站制作公司哪家好
  • 如何让搜索引擎不收录网站电子商务平台定制开发
  • 山东建设局网站电工做营销型网站多少钱
  • 自己的电脑做网站服务器企业员工管理系统
  • 宁波建网站找哪家wordpress 手机 判断
  • 楼盘网站建设方案ppt成都电商网站建设
  • 定制型网站制作wordpress 欢迎插件
  • 做毕业设计实物的网站网站付费推广有哪些