一,进程基础知识
1.什么是进程?
(1)进程是一个独立的可调度的任务
(2)进程是一个抽象的实体。系统执行程序是,分配和释放各种资源
(3)进程是一个程序的一次执行的过程
2.进程和程序的区别
(1)程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念。
(2)晋城市一个动态的概念,它是程序执行的过程,包括创建、调度和消亡3.
3. linux 基础中的进程包含三个段:数据段,正文段,堆栈段;
4.进程控制模块 PCB--Process Control Block
系统用来管理进程的手段,由内核创建和维护
是一个结构体:struct task_struct
5.进程四大特点:独立性:各进程互不干扰
并发性:同时执行(快速以至于可以看做一起执行,有先后执行顺序)
动态性:程序的动态执行过程
异步性:每个进程的执行速度有cpu调度决定
6.进程三个分类:
交互式进程 由shell终端产生和控制的进程
批处理进程 批处理程序一般是shell脚本
守护进程 一般在后台运行,开机时启动,关机才关闭(ssh samba tftp nfs)
7.进程的状态
8.进程的操作
Linux中查看进程
ps:静态查看进程
top:动态查看进程
pstree:树状结构查看进程
例如:ps -aux
START:进程的开始时间
TIME:执行时间
CIMMAND:命令(进程有那个命令执行的)
进程号的获取方法:
创建一个进程,系统就为这个进程分配一个唯一的PID号
#include<sys/types.h>
#include<unistd.h>
pid_t getpid(void);pid_t int //获取当前的PID号
pid_t getppid(void) //获取父进程的PID号
进程优先级,Linux操作系统有140个人优先级(数字越小,优先级越高)
ps -le(优先级查看)
PRI:优先级
NI:谦让值(-20~19)优先级相同,谦让值越低优先越执行
9.进度调度
进程互斥
进程互斥是指当有若干进程都要使用某一共享资源时,任何时候最多
允许一个进程使用,其他要 使用该资源的进程必须等待,直到只用自
愿者释放了该资源
进程同步
一组并发进程按一定的顺序执行的过程称为进程间的同步。具有同步关
系的一组并发进程称为合作进程,合作进程间互相发送的信号称为消
息或事件。
临界资源
操作系统中将以此只允许一个进程访问的资源称为临界资源
临界区
进程中访问临界资源的那段程序代码称为临界区。为实现对临界资源
的互斥访问,应保证诸进程互斥地进入各自的临界区。
死锁
多个进程因竞争资源而形成一种僵局,若无外力
作用,这些进程将永远不能向前推进。