进程:是一个可并发执行的具有独立功能的程序在某个数据集合上的一次动态执行过程,也是操作系统进行资源分配和保护的基本单位。
进程的三种基本调度状态:
进程与程序的区别:
1.进程是程序执行的动态过程,而程序是进程运行的静态文本。
2.一个进程可以执行一个或几个程序;反之,同一个程序可能由几个进程同时执行。
3..程序可以作为一种软件资料长期保存,但进程是有生命期的。
4..进程具有并发性,它能与其它进程并发执行;而一般的程序不具有这种明显的特性。
5.并发进程之间可能存在相互制约关系。
进程调度方式:
1.非抢占方式
2.抢占方式(开销大,增加了处理机调度的时机,引起为退出处理机的进程恢复现场等时间开销增大)
进程调度算法:
1.先来先服务算法
2.短进程优先算法
3.优先级算法
4.时间片轮转算法
5.多队列轮转调度算法
6.多级反馈队列调度算法
7.实时调度算法
进程互斥:是指若干进程都要使用同一个资源时,任何时刻最多允许一个进程使用其他要使用该资源的进程必须等待,知道占有资源的进程释放该资源。
进程同步:是完成统一任务的伙伴进程间因需要在某些位置上协调他们的工作或相互交换信息所产生的进程之间的直接制约关系。
进程通信:进程协同工作时,需要互相交换信息,进程之间互相交换信息的工作称为进程通信。
临界资源:把一次只允许一个进程使用的资源称为临界资源。
临界区:把每个进程中访问临界资源的那段代码从概念上分离出来,将其称为临界区。
相关临界区:是指并发进程中涉及相同临界资源的临界区。
死锁:若系统中存在一组进程,它们中的每一个进程都占用了某些资源而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,则说系统出现了死锁。
产生死锁的条件:
(1) 互斥使用资源
(2) 占有并等待资源
(3) 不可抢夺资源
(4) 循环等待资源
预防死锁:破坏四个条件 如 破坏“互斥使用资源”条件
死锁避免:
银行家算法
生产者——消费者问题
P-V操作