进程调度与互斥同步:操作系统关键概念详解

需积分: 14 2 下载量 113 浏览量 更新于2024-08-21 收藏 481KB PPT 举报
进程调度和死锁是操作系统中的核心概念,涉及到进程的管理和资源分配。在操作系统中,一个基本的任务是决定哪个进程应获得处理器的控制权,这通常通过进程调度算法来实现。这里有两种主要的调度策略: 1. **长调度(长程调度)**:这是指从外存(如硬盘)的后备队列中选择一个作业调入内存,然后将其放入就绪队列,等待CPU的分配。这个过程通常在系统启动初期或者进程数量较少时发生,确保内存空间被有效地利用。 2. **短调度(短程调度)**:在内存中,短调度主要关注就绪队列,根据某些调度算法(如先来先服务、优先级调度等)选择下一个执行的进程,分配CPU执行时间片。 3. **中调度(中级调度)**:当系统中有进程暂时无法运行,可能因为等待资源或者被阻塞,这时会将它们调出内存,放到外存等待,当资源条件满足时,再重新调入内存,加入就绪队列。 **进程同步与互斥** 是解决多进程间共享资源问题的关键技术。互斥(Mutual Exclusion)是指对有限的、临界资源的访问必须是互斥的,即一次只有一个进程可以访问。例如,例1中的十字路口交通规则,确保任何时候只有一个方向的车辆可以通过。 **信号量机制** 是一种常用的同步工具,用于实现进程间的互斥和同步。`P`操作(P是英文“wait”的缩写)用于请求资源,如果资源可用(信号量大于0),则减1并继续执行;否则,进程会被阻塞。`V`操作(V是英文“signal”的缩写)用于释放资源,增加信号量的值,并检查是否需要唤醒等待的进程。 **例子**: - 例1展示了如何使用信号量`s`来管理十字路口的单向通行,每个方向的进程(如`EastToWest`和`SouthToNorth`)在通过路口前先请求互斥,完成后再释放资源,确保任何时候只有一个方向的车辆通行。 - 例2中,材料保管员与学生之间的交互也使用了信号量。互斥信号`s`保证同一时间只能有一个学生访问小盒,而同步信号`paper`和`pen`用于协调纸和笔的发放与回收。 总结来说,进程调度和死锁处理涉及如何公平地分配系统资源,以及如何确保并发进程中对共享资源的正确使用,从而避免因资源竞争导致的系统混乱。理解这些概念对于设计和优化操作系统至关重要。通过实例,学生可以深入学习信号量、互斥和同步在实际场景中的应用。