进程的基本概念

2019-07-14 10:26发布

一.进程的基本概念 进程是程序在操作系统上运行的实例。 二.描述进程-------PCB(process control block) 1.进程管理 用结构体描述一个进程的属性。 用一个数据结构把多个进程的结构体组织到一起描述多个进程。 进程信息被放到一个叫做进程控制块(即PCB)的数据结构中,在Linux操作系统中的PCB是task_struct结构体。 2.task_struct结构体包含的内容有: (1)进程ID(pid):进程的身份标识,在同一台主机的N个进程的ID不会相同。 (2)一组内存指针:存放代码和代码依赖的数据的地址。用来告诉进程对应的代码和依赖的数据在哪。 (3)辅助操作系统进行进程调度的属性:          a.进程的优先级:决定进程被调度到CPU的先后顺序。          b.上下文:保存进程上次在CPU中执行的现场。          c.记账信息:决定进程什么时候需要占用CPU,什么时候放弃CPU以及指令执行的条数。(统计一个进程什么时候让出CPU)          d.进程的状态。 (4)IO相关信息。(文件描述符表) (5)信号相关的信息。 三.查看进程的信息 1.ps aux:查看所有进程的详细信息。(包括进程占用CPU和内存的情况,进程的状态,创建时间等) 2.ps aux | grep 要查看的进程名:只查看需要查看的进程的详细信息。eg:ps aux | grep hello:查看hello进程的信息。 3.ps -l:查看系统进程。输入此命令后会出现 第一行的UID表示执行者的身份。 PID:代表这个进程的代号。 PPID:表示父进程的代号。 PRI:代表该进程可被执行的优先级。数字越小,优先级越高,越早被执行。 NI:表示这个进程的nice值。nice值为正数,降低优先级;nice值是负数,提高优先级。调整优先级,就是调整进程的nice值。 四.进程的状态  (1)R:就绪状态。表示进程正在执行或即将执行。 (2)S:睡眠状态。(进程正在等待被执行) (3)D:磁盘休眠状态,也叫不可中断睡眠状态。这个状态进程通常会等待IO的结束。 (4)T:停止状态。可以发送SIGSTOP信号停止进程,而被暂停的进程可以通过发送SIGCONT信号让进程继续运行。 (5)X:死亡状态。不会在任务列表里看到这个状态。 (6)Z:僵尸状态。