CPU时间片轮换机制
2020-07-14 06:31
95 查看
1.cpu时间片轮换机制是什么?
cpu时间片轮换机制是一种最古老,简单和公平的算法;又称为RR调度。时间片则是分配给每个进程的一个最大时间段。
2.运行机制有哪些?
(1)在某个进程的运行时间达到系统所分配的最大时间时,操作系统会将剥夺其cpu的执行权,分配给其他进程去执行;
(2)进程在规定的最大运行时间段中运行过程中,发生阻塞或异常结束,cpu马上就会切换到其他进程去执行;
注意:调度程序的作用是维护一张进程就绪列表,在进程耗费完时间片的时间时,则会添加到队列的末尾。
3.时间片长度的设置问题?
(1)时间片设置过短:由于设置过短,分配到每个进程的时间也会很短,因此会在多个进程中进行频繁的切换;降低cpu的执行效率。这种切换称为进程切,又叫上下文切换,一次切换需耗时5ms;
例子:假设时间片的长度为20ms,则在时间完成所有工作时,由于进程的任务还未全部完成,需要进行下一轮的分配执行,所以会进行进程间的切换,由此可见切换的过程会占据整个的20%,十分影响执行效率,所以不可取。
(2)时间片设置过长:由于设置过长,会导致短的交互请求响应很慢。
例子:假设时间片的长度为5000ms,现在有11个进程在执行,考虑在分时系统中,10个进程同时运行,刚好占满时间片的长度,所以导致时间片运行完后,才可切换到最后一个进程去运行,所以最后一个进程需要等待5s的时间,但是如果该进程本就是一个很短的请求,却要花费5s的时间去等待执行,会给用户带来很不好的体验。
总结:一般来说时间片的长度不宜过长或过短,一般我们建议设置在100ms比较合适。
相关文章推荐
- 程序在CPU中运行的机制
- 【转】Linux per_cpu机制的详解
- CPU内存管理和linux内存分页机制
- Linux cgroup机制分析之cpuset subsystem 【转】
- Linux cgroup机制分析之cpuset subsystem
- Linux内核同步机制之(二):Per-CPU变量
- DPDK学习笔记1--基础概念篇(UIO,大页内存,CPU亲和性,NUMA机制等)
- CPU提供的栈的机制(POP/PUSH)
- linux percpu机制解析
- Linux per_cpu机制的详解
- Linux cgroup机制分析之cpuset subsystem 【转】
- 获得进程/线程已经被分配的所有cpu时间片的总和
- 页面上色机制以及CPU高速缓存的工作方式
- WinDbg演示IA-32 CPU下的Windows 分页机制下的地址转换过程
- (转)X86 CPU在段式管理下的地址形成机制
- 区分进程的逻辑地址空间中段和cpu分段机制中段的概念
- WinDbg演示IA-32 CPU下的Windows 分页机制下的地址转换过程
- Linux内核的cpufreq(变频)机制
- cpu优先级调度算法和时间片算法模拟程序
- Weblogic内存回收机制设计不合理导致服务器CPU使用率100%