进程管理:信号量限制与进程状态转换

需积分: 50 0 下载量 165 浏览量 更新于2024-08-23 收藏 1.18MB PPT 举报
该资源是关于操作系统课程的课件,主要讨论了进程管理和信号量的使用规则,同时涉及进程的概念、状态转换、组成以及进程控制块(PCB)的重要作用。 在操作系统中,信号量是一种重要的同步机制,用于解决进程间的同步与互斥问题。对信号量的操作有明确的限制: 1. 信号量在初始化时必须赋以非负数值,确保其初始状态是可用的。 2. 在进程执行过程中,信号量的值只允许通过P(wait)和V(signal)操作进行修改,不允许其他方式直接访问或修改,以保证同步机制的正确性。 P操作(P(S))通常代表"等待",当进程尝试访问一个资源时,如果资源不可用(信号量值为0),进程会被挂起,进入阻塞状态;如果资源可用(信号量值大于0),则会减小信号量并继续执行。 V操作(V(S))表示"唤醒",当一个进程完成对资源的使用,会增加信号量的值,若此时有进程因等待该资源而被阻塞,V操作会唤醒其中一个等待的进程,使其变为就绪状态。 进程是操作系统中执行程序的基本单位,具有以下关键属性: - 动态性:进程的创建、执行、暂停、恢复和终止都是动态进行的。 - 并发性:多个进程可以在同一时间段内交替执行,给人一种同时执行的错觉。 - 调度性:操作系统可以根据调度算法决定哪个进程获得CPU执行权。 - 异步性:进程执行的相对顺序不是预先确定的,取决于系统调度。 - 结构性:每个进程都有自己的进程控制块(PCB),存储着描述进程状态和控制进程执行的信息。 进程控制块(PCB)是操作系统核心管理进程的关键结构,包含如下信息: - 进程名称和标识信息。 - 当前状态(运行、就绪、阻塞)。 - 调度信息,如优先级。 - 通信信息,用于进程间的数据交换。 - 现场保护区,保存CPU寄存器状态。 - 资源需求和分配信息。 - 控制信息,用于操作系统的调度决策。 - 其他相关信息,如父子进程关系。 进程状态通常有三种基本状态:运行、就绪和阻塞,还可以通过以下方式转换: - 就绪到运行:进程被调度器选中,获得CPU执行权。 - 运行到阻塞:进程因等待某种事件(如I/O完成或信号量)而暂停执行。 - 阻塞到就绪:等待的事件发生,进程变为就绪状态,等待被调度。 - 运行到就绪:进程自愿放弃CPU(如完成任务或被高优先级进程抢占)。 此外,进程组织方式中,线性方式是指所有PCB以线性列表的形式存储,方便操作系统遍历和管理。操作系统根据这些PCB对进程进行控制,保证并发环境下的正确执行和资源分配。