程序:静态的存储在计算机上,用适当形式描述的算法。。


进程:一个具有一定独立功能的程序的一次运行的活动;是正在运行程序的一个抽象。




进程的三个状态:


1、运行态(该时刻进程实际占用CPU)


2、就绪态(可运行,但因为其他进程正在运行而暂时停止)


3、阻塞态(除非某种外部事件发生,否则进程不能运行)


前两种逻辑上是相似的,两种进程都可以运行,,只是因为进程调度原因。。第3种是因为自身固有原因而挂起。。


                            


 三种状态的切换示意图





nemenyi 临界值 临界值dl du_进程




进程ID:标示进程的唯一数字


父进程:PPID


启动进程的用户ID: UID






临界资源:操作系统中将同一时刻只允许一个进程访问的资源;譬如共享内存,共享文件,共享变量,,各种共享的资源。




临界区:进程中访问临界资源的那段代码称为临界区。为实现对临界资源的互斥访问,应保证各进程互斥地进入各自的临界区


           使用临界区互斥的示意图(B等到A离开临界区才进入)



nemenyi 临界值 临界值dl du_nemenyi 临界值_02



竞争条件:当两个或者多个进程读写某些共享数据时,最后的结果取决于进程运行的精确时序。。。


采用互斥的方法避免竞争条件,即以某种手段确保当一个进程在使用一个共享变量或者文件时,其他的进程不能做同样的操作。


解决竞争条件问题时满足的4个条件


1、任何两个进程不能同时处于临界区


2、不应对CPU的速度和数量做任何假设


3、临界区外运行的进程不得阻塞其他进程


4、不得使进程无限期等待进入临界区


       


进程调度:按照一定的算法,从一组待运行的进程中选出一个来占用CPU运行。


调度算法的分类:(因为不同的系统中,调度程序的优化效果是不一样的,根据环境的不同分类)


1、批处理


一些商业领域的应用,一些周期性作业(账目支出、账目收入),每个进程都有较长时间的抢占式算法,,减少了进程之间的切换从而提高CPU性能


2、交互式


譬如服务器,避免一个进程长期霸占CPU而拒绝为其他进程提过服务


3、实时


通常的调度算法:


1、先来先服务


2、短进程优先调度


3、高优先级优先调度


4、时间片轮转法




调度的时机:


1、非抢占式调度


挑选一个进程,让该进程运行直至被阻塞或者该进程自动释放CPU。。


2、抢占式调度


挑选出一个进程,并让该进程只能运行一个固定的时间段,,超过这个时段,进程还在运行的话就会被挂起。。进行抢占式调度处理时,需要在时间间隔的末端发生时钟中断,以便把CPU控制返回调度程序。如果没有可用时钟,那么只能用非抢占式调度了