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

网络推广网站首页大图企业推广方法

网络推广网站首页大图,企业推广方法,做网站销售这几天你有什么想法,网站如何建设🌟 各位看官好,我是! 🌍 Linux Linux is not Unix ! 🚀 今天来学习Linux中进程概念与基本操作。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更多人哦&#xff01…

🌟 各位看官好,我是

🌍 Linux == Linux is not Unix !

🚀 今天来学习Linux中进程概念与基本操作。

👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更多人哦!

目录

粗略理解进程

进程概念

进程操作

查看进程

/proc系统文件夹查看

ps工具获取 

fork创建进程 

fork返回值


粗略理解进程

我们说过在C/C++中可执行程序需要加载到内存当中,交给CPU进行执行。那么进程是指什么呢?

输出结论:进程 = 内核数据结构(PCB ...)+  代码和数据。

在下图中,可执行程序加载到内存,此时操作系统会分配一个PCB指向加载的代码和数据,将PCB+代码和数据称为一个进程(实际上是内核数据结构,但虚拟地址空间、页表需后面学习)。

struct PCB
{//包含进程的所有的属性信息代码地址数据地址int pidstruct PCB *next; //实际是双链表进行连接
};

 

那么可以有多个程序加载到内存中吗?肯定可以。

势必意味着存在多个进程,那么操作系统要不要管理这些大量的进程呢?该如何管理这些进程呢?

先描述,再组织!!!

因此操作系统对进程的管理,就转成对链表的增删查改操作!

扩展:

  • 每一个进程会以双链表的形式进行链接
  • 这里的运行队列(runqueue)会链接该进程链表,执行进程
  • 由于有多个进程,那么每一个进程就都要排队。因此进程排队,本质是让PCB结点进行排队。

 

进程概念

  •  标示符: 描述本进程的唯⼀标示符,⽤来区别其他进程。
  •  状态: 任务状态,退出代码,退出信号等。
  •  优先级: 相对于其他进程的优先级
  •  程序计数器: 程序中即将被执⾏的下⼀条指令的地址
  •  内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
  •  上下⽂数据: 进程执⾏时处理器的寄存器中的数据。
  •  I / O状态信息: 包括显⽰的I/O请求,分配给进程的I∕O设备和被进程使⽤的⽂件列表。
  •  记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。
  •  ...

代码和数据加载到内存,操作系统创建一个PCB指向加载的代码和数据,将内核数据结构(PCB)+ 代码和数据 称为进程,这个进程需要被执行。而进程的执行会牵扯到进程状态、进程优先级、进程切换的问题,我们在后续章节一一展开。(这里浅浅认识下)

按照我们的理解一个进程不应该执行完再执行下一个进程吗?

而我们日常打开浏览器,wps,微信时,它们却能同时存在,这说明进程被执行的时候,并不是把这个进程执行完再下一个,而是要做切换、调度的!!!

但我由进程1切换到进程2时,后面我又要执行进程1时,就要重新执行,这显然不是我们所期望的。因此,在CPU中有一套寄存器(上下文数据),它会记录当时进程执行到的代码和数据,下一次轮到该进程被执行时,只需要做硬件上下文的保存和恢复,而不需要重新执行该进程!!!

CPU中有一个IR用来获取代码和数据,它通过PC(程序计数器)所指向的代码进行获取。

 

 寄存器里的内容: 

进程操作

查看进程

既然每一个进程都有自己的标示符,那么系统是否提供接口供我们查看进程所在标示符呢?

getpid用来获取当前进程的标示符,它是由操作系统提供的系统调用。

/proc系统文件夹查看

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>int main()
{while(1){printf("pid: %d\n", getpid());}return 0;
}

 

那么id为250128的进程里面的内容有什么呢?

  

可以看到进程里面的exe和cwd是什么呢?

exe不就是我们的可执行程序吗?这说明进程会记录自己对应的磁盘二进制可执行文件

cwd为进程启动的时候,默认工作路径是自己可执行程序所处的路径,指向当前进程的工作路径

而我们之前使用fopen库函数时,是在当前路径下进行打开。那么什么叫做当前路径呢

  

ps工具获取 

  

在上图中的PPID又是什么呢?它是当前进程的父进程,那么操作系统又是否提供了查看父进程标示符的系统调用呢?

getppid用来查看父进程的标示符

这里的bash不就是当时王婆婚介所的王婆吗?她通过派出自己婚介所的人员进行执行。

 

fork创建进程 

Linux系统,增多进程,是通过父进程创建子进程的方式,让Linux系统中的进程变多的!!!

那么该如何创建子进程呢?

fork是由操作系统所提供的系统调用,用来创建子进程

fork返回值 

可以看到fork是有返回值的,那么它的返回值是用来做啥的呢?如下所示 

 

  • 问题1:返回值为什么是这样的?成功创建,父进程返回子进程pid,子进程返回0
  • 问题2:一个函数怎么会有两个返回值?
  • 问题3:在我们的印象当中,一个变量不应该只有一个返回值吗?为什么这里一个变量可以返回一个大于0,又能返回等于0?需要学虚拟地址空间才能解惑,先晾在一边。

解惑问题1:

父进程创建子进程可以是1:n的关系,而父进程只能有1个,但子进程可以有多个。

因此父:子 = 1:n的关系。

而子进程要找到父进程的方式很容易,因为它是唯一的。但是父进程要找到子进程是不容易的,它需要拿到子进程的pid。

解惑问题2:

证明确实有两个返回值:

为什么有两个返回值:

在fork的内部在返回值之前就创建了子进程,此时父子分别执行不同的代码区域,从而实现让父子执行不同的任务!即父子可以返回各自有返回值,这是可以理解的。


  


文章转载自:

http://q9nhkdvL.xhLqL.cn
http://hD0xhWJ6.xhLqL.cn
http://T5VDLd45.xhLqL.cn
http://mVzQKu4T.xhLqL.cn
http://9Rqp1XvD.xhLqL.cn
http://QwW2rsCi.xhLqL.cn
http://JGBxptNO.xhLqL.cn
http://zAp0bEDQ.xhLqL.cn
http://mDQXFD5g.xhLqL.cn
http://Mdo1TchF.xhLqL.cn
http://k8mpNbnw.xhLqL.cn
http://THoqnT0K.xhLqL.cn
http://C9VmKJTu.xhLqL.cn
http://EFN7sYoR.xhLqL.cn
http://qFRwvDSJ.xhLqL.cn
http://2YPZKedo.xhLqL.cn
http://jFeE6fKB.xhLqL.cn
http://b1KsD2fL.xhLqL.cn
http://PUMbK5VW.xhLqL.cn
http://UCPHG5cr.xhLqL.cn
http://2mjMpSRg.xhLqL.cn
http://g9WgUDaT.xhLqL.cn
http://wbOsE3wB.xhLqL.cn
http://cexEG50z.xhLqL.cn
http://euCxKI2m.xhLqL.cn
http://CqZ8OOo1.xhLqL.cn
http://qHzqmoAU.xhLqL.cn
http://YHIvAEPP.xhLqL.cn
http://va4TQLlX.xhLqL.cn
http://AZZbdzVm.xhLqL.cn
http://www.dtcms.com/wzjs/762760.html

相关文章:

  • 旅行社做网站淮北网站制作
  • 可以做国外购物的网站有哪些做网站所用的技术
  • python做网站还是数据库方象科技专注于什么领域
  • 网站设计怎么做明信片网站seo具体怎么做?
  • 该网站尚未备案 腾讯云设计坞网站官方下载
  • 长沙网页制作模板的网站南京企业网站建设
  • 苏州高端网站设计东莞华商网络科技有限公司
  • 为什么做网站要用谷歌浏览器wordpress 钩子怎么用
  • 长沙 网站建设公司wordpress文字博客主题
  • 网站运营的成本wordpress淡出
  • 那些外贸网站个人可以做广州知名网站建设哪家公司好
  • 做网站用软件山西路桥建设集团网站
  • 青岛网站定做网站建设应该注意的问题
  • 网站开发服务费计入哪项费用网页制作与开发教程
  • 网站头部设计html网页模板大全
  • 做网站什么类型好深圳网站开发哪家服务专业
  • 网站备案号规则网站免费正能量软件直播
  • 什么是网站开发时间进度表叙述网站建设的流程
  • 湖北响应式网站建设费用微网站制作价格
  • 优惠券网站怎样做做网站如何快速推广一款产品
  • 招考网站开发wordpress图文模板下载
  • 网站建设广告素材徽章设计制作网站
  • 做网站需要多大的内存专业定制网咖装修效果图
  • 便宜网站建设免费软文推广平台
  • 一家专门做灯的网站网络营销与直播电商专业
  • 企业网站博客上如何营销站长统计
  • 2网站建设公司东莞营销网站建设
  • 平湖新埭哪里有做网站的论客企业邮箱官网
  • 教育教研网站建设的意义现在流行做网站吗
  • 深圳市做网站知名公司wordpress七牛云缩略图