进程与程序
1.进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可再计算器之间迁移;而程序通常对应着文件、静态和可以复制。
2.进程是暂时的,程序是长久的:进程是一个状态变化的过程,程序可以长久保存。
3.进程和程序组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。
4.进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
Linux中的进程包含3个段,分别为"数据段”、"代码段"和“堆栈段”:
“数据段”存放的是全局变量、常数以及动态数据分配的数据空间;
"代码段”存放的是程序代码的数据;
“堆栈段”存放的是子程序的返回地址、子程序的参数以及程序的局部变量等。
进程ID ( PID) :标识进程的唯一数字
父进程的ID ( PPID)
启动进程的用户ID ( UID )
进程互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用该资源的进程必须等待,直到占用该资源者释放了该资源为止。
操作系统中将一次只允许个进程访问的资源称为临界资源。
一组并发进程按一定的顺序执行的过程称为进程间的同步具有同步关系一组并发进程称为合作进程,合作进程间互相发送的信号称为消息或事件。
进程调度概念:按一定算法,从一组待运行的进程中选出一个来占有CPU运行。
调度方式:抢占式、非抢占式。
调度算法:先来先服务调度算法、短进程优先调度算法、高优先级优先调度算法、时间片轮转法。
死锁:多个进程因竞争资源而形成一种僵局,若无外力作用,这进程都将永远不能再向前推进。