进程调度副本

进程调度副本

ID:43810059

大小:187.50 KB

页数:18页

时间:2019-10-15

进程调度副本_第1页
进程调度副本_第2页
进程调度副本_第3页
进程调度副本_第4页
进程调度副本_第5页
资源描述:

《进程调度副本》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1进程调度2进程调度基本概念多进程系统,多个进程在逻辑上均可运行的情况下,操作系统决定运行哪个进程的操作称为进程调度。操作系统中作出这种决定和进行调度的部分称作调度程序(scheduler)。进行调度的算法称为调度算法(schedulingalgorithm)。进程调度的基本要求公平:每个进程应该获得合理的CPU份额有效:使CPU百分之百地忙碌响应时间:使交互用户的响应时间尽可能短周转时间:使批处理用户等待输出的时间尽可能短吞吐量:使单位时间内处理的作业数量最多3调度算法时间片轮转法每个进程被分配一个时间

2、片时间片长度的确定优先级调度不同进程的重要程度不同动态优先级和静态优先级多重队列通过设立优先级类减少进程切换次数最短作业优先适用于运行时间可以预知的批作业的调度算法保证调度算法可以保证某种性能明确实现彩票调度算法进程使用各种资源的机会通过持有的彩票获得特性:反应迅速,彩票交换实时调度在可调度条件下满足各种时间要求两级调度分别用于内存中的进程和交换到磁盘上的进程的调度4Linux进程分类进程分类交互进程各种I/O操作鼠标,键盘,串口,磁盘读写,...批作业进程很少或没有I/O操作,以CPU运算为主计算程序,

3、图像处理程序,...实时进程有各种严格的时间需求机器人控制,音视频播放,...5进程状态的转换阻塞态运行态就绪态6Preemption:进程vs内核进程进程在用户空间运行时可随时被剥夺进程在内核空间运行时可剥夺:Solaris,Mach,...实时操作系统不可剥夺:Linux2.4,...非实时操作系统内核实时内核内核过程可以被打断并进行调度非实时内核内核过程可以被打断,但不能进行调度。7选择时间片大小进程切换时间决定时间片的基本大小快速响应和高CPU效率是一对相互矛盾的需求Linux选择时间片的标准时间

4、片尽量长同时保证系统良好的响应时间8进程的优先级优先级静态优先级动态优先级相关参数进程描述符intprio,static_prio;prio_array_t*array;unsignedlongrt_priority;相关常数MAX_USER_RT_PRIOMAX_RT_PRIOMAX_PRIO9nice值和优先级对于非实时调度的进程,用户的优先级用变量nice表示。nice取值范围:-20--+19nice相关操作NICE_TO_PRIO(nice)PRIO_TO_NICE(prio)TASK_NICE

5、(p)其他操作函数USER_PRIO(p)TASK_USER_PRIO(p)MAX_USER_PRIO10调度的实现方式直接调度(directinvocation)进程执行的代码中直接使用schedule()进行调度sleep_on(),wait_event(),...被动调度(lazyinvocation)当进程的时间片用尽后被系统剥夺运行权利而进行的调度在系统时钟中断处理函数中进行调度11schedule()进程调度的主要实现函数。进程调度的算法体现在这个函数的实现过程中。由它来决定是否要进行进程的切

6、换,如果要切换的话,切换到哪个进程等等。进程调度函数schedule()是一个不断改进和变化的函数。进程调度算法一直是操作系统研究的主要课题。调度函数的效率是首要因素。针对特定应用可以使用特定的调度算法。我们基于Linux2.4.20内核研究调度函数。调度函数的最主要目标是如何确定下一个需要运行的进程。那么当我们要执行调度程序时,我们把这种情况叫做调度时机。12Linux调度时机Linux调度时机主要有:1、进程状态转换的时刻:进程终止、进程睡眠;进程要调用sleep()或exit()等函数进行状态转换,

7、这些函数会主动调用调度程序进行进程调度;132、进程从中断、异常及系统调用返回到用户态时;不管是从中断、异常还是系统调用返回,最终都调用ret_from_sys_call()从系统调用返回意味着要离开内核态而返回到用户态,而状态的转换要花费一定的时间,因此,在返回到用户态前,系统把在内核态该处理的事全部做完。143、设备驱动程序主动调用schedule;当设备驱动程序执行长而重复的任务时,直接调用调度程序。在每次反复循环中,驱动程序都检查need_resched的值,如果必要,则调用调度程序schedul

8、e()主动放弃CPU。154、当前进程的时间片用完时(current->counter=0);由于进程的时间片是由时钟中断来更新的,因此,这种情况和时机2是一样的。1617进程调度小结每个进程都有一个优先级进程的优先级共分成140个等级,最高为0级,最低为139级。0到99级的进程为实时进程100到139级的进程为普通进程优先级的动态变化实时进程的优先级不会动态变化普通进程的优先级会随着运行情况而动态变化但普通进程的优先级最高

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。