2

二、进程管理
2.1 进程管理之进程实体
为什么需要进程:

进程是系统进行资源分配和调度的基本单位;
进程作为程序独立运行的载体保障程序正常执行;
进程的存在使得操作系统资源的利用率大幅提升。+
进程控制块(PCB):用于描述和控制进程运行的通用数据结构,记录进程当前状态和控制进程运行的全部信息,是进程存在的唯一标识。

进程(Process)与线程(Thread):

线程:操作系统进行**运行调度的最小单位**。
进程:系统进行**资源分配和调度的基本单位**。
区别与联系:

一个进程可以有一个或多个线程;
线程包含在进程之中,是进程中实际运行工作的单位;
进程的线程共享进程资源;
一个进程可以并发多个线程,每个线程执行不同的任务。


2.2 进程管理之五状态模型
就绪状态:其它资源(进程控制块、内存、栈空间、堆空间等)都准备好、只差CPU的状态。
  执行状态:进程获得CPU,其程序正在执行。
  阻塞状态:进程因某种原因放弃CPU的状态,阻塞进程以队列的形式放置。
  创建状态:创建进程时拥有PCB但其它资源尚未就绪。
  终止状态:进程结束由系统清理或者归还PCB的状态。

 

2.3 进程管理之进程同步
生产者-消费者问题:有一群生产者进程在生产产品,并将这些产品提供给消费者进程进行消费,生产者进程和消费者进程可以并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池,生产者进程需要将所生产的产品放到缓冲区中(+1操作),消费者进程可以从缓冲区取走产品消费(-1操作)。

 

 

产生问题:当两者并发执行时可能出差错,导致预期的结果与真实的结果不相符:当执行生产者+1和消费者-1操作之后,缓冲区的值从10变为了11。

 

哲学家进餐问题:有5个哲学家,他们的生活方式是交替的思考和进餐,哲学家们共同使用一张圆桌,分别坐在5张椅子上,圆桌上有5只碗和5只筷子。平时哲学家们只进行思考,饥饿时则试图取靠近他们的左右两只筷子,只有两只筷子都被拿到的时候才能进餐,否则等待,进餐完毕后,放下左右筷子进行思考。

 

这会导致以下的问题,筷子就相当于临界资源:

临界资源指的是一些虽作为共享资源却又无法同时被多个线程共同访问的共享资源。当有进程在使用临界资源时,其他进程必须依据操作系统的同步机制等待占用进程释放该共享资源才可重新竞争使用共享资源。

 

进程同步的作用:对竞争资源在多进程间进行使用次序的协调,使得并发执行的多个进程之间可以有效使用资源和相互合作。

进程间同步的四原则:

空闲让进:资源无占用,允许使用;
忙则等待:资源被占用,请求进程等待;
有限等待:保证有限等待时间能够使用资源;
让权等待:等待时,进程需要让出CPU

posted @ 2025-01-14 19:38  cor0000  阅读(9)  评论(0)    收藏  举报