Linux:进程

进程的概念

进程:进行中的程序,从操作系统的角度来说,操作系统通过pcb来控制一个进程的运行,这个pcb也叫做进程描述符,对操作系统而言,一个pcb就是一个进程(Linux中暑task_struct)

pcb(task_struct)

一个pcb中包括

  • 标识符 每个进程都有唯一的标识符pid
  • 状态 进程状态 s r z x t d
  • 优先级
  • 程序计数器 程序中即将被执行的吓一跳指令的地址
  • 内存指针 程序代码和进程相关数据的指针,和其他进程共享的内存块指针
  • 上下文数据:进程执行是处理器的寄存器中的数据
  • IO状态信息
  • 记账信息 处理器时间总和等

查看进程

进程的信息可以通过 /proc 系统文件夹查看,可以同过
ps -ef 或者 ps -aux查看

父进程和子进程

子进程是父进程的复制品,通过fork和vfork函数可以创建子进程,其过程相当于把父进程的pcb复制了一遍,子进程和父进程有相同的pcb(包括内存指针,上下文数据,程序计数器等)和父进程有一样的代码,一样的运算位置。注意:父子进程代码一样,数据独享

子进程的作用:

  • 分摊压力,cpu资源足够时可以父子进程同时处理数据 提高效率
  • 让子进程完成其他任务 (背锅 避免父进程崩溃)
发布了89 篇原创文章 · 获赞 11 · 访问量 5310

猜你喜欢

转载自blog.csdn.net/weixin_44997886/article/details/104279611
今日推荐