操作系统—进程调度与死锁

进程调度
说明:
1.进程调度:有操作系统内核的进程调度程序完成。
2.调度算法:从就绪态进程中选择一个或几个进程分配CPU使其进入执行的算法。
3.调度准则:周转时间短 截至时间的保证 处理机利用率 系统吞吐量高 响应时间快
4.先来先服务:适合长进程,不利于短进程
5.短进程优先:能降低进程的平均等待时间
      缺陷:1.对长进程不利,如果系统中不断有短进程进来,长进程可能长时间得不到调度。
         2.不能保证紧迫进程的及时处理
         3.进程的长短根据用户的估计而定,不一定能真正做到短进程优先。
6.优先权调度:优先权值越大,优先权越高。当使用优先权调度算法进行调度时,系统将CPU分配给就绪队列中优先权值最高的进程。
优先权调度算法的类型:抢占式和非抢占式
优先权类型:1.静态优先权,在创建时确定,在进程的整个运行期间保持不见,可以根据进程的类型需要的资源和用户的请求;2.动态优先权:可以使系统获得更好的调度性能。
问题:饥饿问题
解决方法:老化技术。
7.时间片轮转:时间片单位很小10-100ms Linux2.4内核给用户进程分配的时间片大小一般为50ms。
确定时间片的大小考虑的因素:系统对响应时间的要求 就绪队列总进程的数目 系统的处理能力
实时系统调度的基本条件:提供必要的调度信息 就绪时间 开始截至时间和完成截至时间 处理时间 资源要求 优先级
8.进程切换步骤:
1)保存包括程序计数器和其他寄存器在内的CPU上下文环境
2)更新被替换进程的进程控制块
3)修改进程状态,执行改就绪或阻塞
4)移到就绪队列或阻塞队列
5)更新进程的进程控制块
6)更新内存管理的数据结构
7)回复被调度程序中的进程的硬件上下文
9.死锁:多个进程竞争共享资源而引起的进程不能向前推进的僵死状态。
必要条件:互斥条件 请求和保持条件 不剥夺条件 环路等待条件
处理死锁的基本方法:死锁的预防 死锁的避免(安全状态和不安全状态)

猜你喜欢

转载自blog.csdn.net/sunzheng176/article/details/107700896