码迷,mamicode.com
首页 > 系统相关 > 详细

Linux进程的原理及与信号的联系

时间:2018-09-30 20:41:41      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:分配   优先级   切换   并行执行   守护   运行   区别   pkill   use   


第1节 程序、进程、守护进程的区别


 

  • 程序:c/php/java,代码文件,静态的,放在磁盘里的数据。

  • 进程:正在内存中运行的程序,进程是动态的,会申请和使用系统资源,并与操作系统内核进行交互。

  • 进程运行:系统把程序放在内存里执行。

  • 守护进程:在内存持续保持运行着的程序。

 


第2节 多任务与CPU


 

  1. 现在所有的操作系统(分时设计,例如CentOS)都能"同时"运行多个进程,也就是多任务或者说是并行执行。但实际上这是人类的错觉,一颗物理cpu在同一时刻只能运行一个进程,只有多颗物理cpu才能真正意义上实现多任务。

  2. cpu如何选择下一个要执行的进程,这是一件非常复杂的事情。在Linux上,决定下一个要运行的进程是通过"调度类"(调度程序)来实现的。程序何时运行,由进程的优先级决定,但要注意,优先级值越低,优先级就越高,就越快被调度类选中。
    除此之外,优先级还影响分配给进程的时间片长短。在Linux中,改变进程的nice值,可以影响某类进程的优先级值。

  3. 进程切换被CPU执行时,内核会将每个进程临时停止时的运行时环境(寄存器中的内容和页表)保存下来(保存位置为内核占用的内存),这称为保护现场,在下次进程恢复运行时,将原来的运行时环境加载到cpu上,这称为恢复现场,这样cpu可以在当初的运行时环境下继续执行。

  4. 在进程的优先级相同下;Linux的调度器不是通过cpu的时间片流逝来选择下一个要运行的进程的,而是考虑进程的等待时间,即在就绪队列等待了多久

  5. cpu的衡量单位是时间,就像内存的衡量单位是空间大小一样。进程占用的cpu时间长,说明cpu运行在它身上的时间就长。注意,cpu的百分比值不是其工作强度或频率高低,而是"进程占用cpu时间/cpu总时间",这个衡量概念一定不要搞错。
     

第3节 各进程与CPU的状态


的 


第4节 父子进程及创建方式(资源,shell实现)


 的


第5节 jobs与父子进程的前后台,fuser,lsof


 


第5节 信号与进程与kill,pkill,killall


 

 

Linux进程的原理及与信号的联系

标签:分配   优先级   切换   并行执行   守护   运行   区别   pkill   use   

原文地址:https://www.cnblogs.com/jeson-lbb/p/9733222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!