进程
什么叫进程
1:进程就是运行起来的程序,程序运行起来需要被加载到内存中(用户角度)。
2:在操作系统中,进程是进行系统资源分配,调度和管理的最小单位(线程是处理器分配资源的最小单位)
进程的组成
1:从静态观点看,进程由程序,数据,进程控制块组成(Process Control Block,PCB)
2:从动态上看,进程是计算机状态的一个有序集合。
三态
1:运行态:占有处理器正在运行。
2:就绪态:具备运行条件,等待系统分配处理器以便运行。
3:等待态(阻塞态):不具备运行条件,正在等待某个事件的完成。

五态
运行态,活跃就绪态,静止就绪态,活跃阻塞态,静止阻塞态。
活跃就绪态:指进程在主存,可以被调度的状态。
静止就绪态:指进程被对换到辅存时的就绪状态,是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起态进程具有更高的优先级,系统将把挂起就绪态进程调回主存并转换为活跃就绪。
活跃阻塞态:指进程在主存中。一旦等待的事件产生,便进入活跃就绪状态。
静止阻塞态:指进程对换到辅存时的阻塞状态。一旦等待的事件产生,便进入静止就绪状态。

PV操作
核心就一点:P操作减少一个资源,V操作释放一个资源。
管程与线程
管程:每一个管程管理一个临界资源。当有几个进程调用管程时,仅允许一个进程进入管程,其他调用者必须等待。当前进程使用完毕,并释放临界资源后,管程将调用等待队列的队首进程。
线程:线程是进程的活动成分,是处理器分配资源的最小单位,它可以共享进程的资源与地址空间,通过线程的活动,进程可以提供多种服务(服务器进程而言)或实行子任务并行(用户进程而言),采用线程最大的优点是节省开销,创建时间短。
死锁
死锁指多个进程之间互相等待对方的资源,而在得到对方资源之前又不释放自己占用的资源,造成循环等待的现象。
四个必要条件:
1:互斥条件:一个资源每次只能被一个进程使用。
2:请求保持条件:有一个进程已经获得了一些资源,但因为请求其他资源被阻塞时,对已经获得的资源保持不放。
3:不可剥夺条件:有些资源是不可抢占的,当某个进程已获得这种资源后,系统不能强行收回,只能由进程使用完时自己释放。
4:环路条件:若干个进程形成环路,每个都占用对方申请的下一个资源。
死锁的条件只要打破一个,就不会造成死锁。