Most processes can be described as either I/O bound or CPU bound.

大多数进程都可以描述为IO绑定或者CPU绑定。
An I/O-bound process is one that spends more of its time doing I/O than it spends doing computations. A CPU-bound process, in contrast, generates I/O requests infrequently, using more of its time doing computations.

IO绑定的进程是花更多的时间做io相关工作,而CPU绑定进程请求IO不那么频繁,而是花更多时间在计算上。

It is important that the long-term scheduler select a good process mix of I/O-bound and CPU-bound processes. If all processes are I/O bound, the ready queue will almost always be empty, and the short-term scheduler will have little to do.

好的长调度应该平均选择IO绑定和CPU绑定的进程数量。如果所有进程都是IO绑定,那么准备队列就会差不多是空的,短调度就会没事干。

If all processes are CPU bound, the I/O waiting queue will almost always be empty, devices will go unused, and again the system will be unbalanced.

如果所有的进程都是CPU绑定,那么IO等待队列就会差不多是空的,这些设备就闲置了。那么系统也是不平衡(两种资源)的。

The system with the best performance will thus have a combination of CPU-bound and I/O-bound processes.

系统要发挥好性能就需要平均组合CPU绑定和IO绑定的程序。
On some systems, the long-term scheduler may be absent or minimal.

某些系统的长调度也许没有或者很少使用。
For example, time-sharing systems such as UNIX and Microsoft Windows systems often have no long-term scheduler but simply put every new process in memory for the short-term scheduler.

例如,分时系统如UNIX和Microsoft Windows系统经常没有长调度,只是简单地吧所以新的进程加载如内存,以供短调度调度。

The stability of these systems depends either on a physical limitation (such as the number of available terminals) or on the self-adjusting nature of human users. If performance declines to unacceptable levels on a multiuser system, some users will simply quit.

这些系统的稳定性或者是由系统物理极限限制(例如,终端数量)或者是由用户的自我调节控制。如果一个多用户的系统性能下降到一个不可接受的水平,那么有些用户就会退出。

Some operating systems, such as time-sharing systems, may introduce an additional, intermediate level of scheduling. This medium-term scheduler is diagrammed. .

一些系统,例如分时系统,也许引进额外的中调度。中调度图片如下:

Addition of medium-term scheduling to the queueing diagram.

The key idea behind a medium-term scheduler is that sometimes it can be advantageous to remove a process from memory (and from active contention for the CPU) and thus reduce the degree of multiprogramming. Later, the process can be reintroduced into memory, and its execution can be continued where it left off. This scheme is called swapping

中调度的主要思想是:有时候从内存的进程池中移除一个进程是可以提高性能的,因为降低了多道程序的程度。在合适的时候,移除的进程可以再次调入内存中运行,而且可以继续在之前中断的地方开始。这一过程叫页面置换(swapping)。
Swapping may be necessary to improve the process mix or because a change in memory requirements has overcommitted available memory, requiring memory to be freed up.

在平均内存中两种进程(IO绑定和CPU绑定)的时候,或者内存需求大于实际可用的内存,要求释放依稀内存的时候,都会用到Swapping。

操作系统双语阅读 - Schedulers调度器2相关推荐

  1. Go调度器系列(4)源码阅读与探索

    各位朋友,这次想跟大家分享一下Go调度器源码阅读相关的知识和经验,网络上已经有很多剖析源码的好文章,所以这篇文章不是又一篇源码剖析文章,注重的不是源码分析分享,而是带给大家一些学习经验,希望大家能更好 ...

  2. Linux进程调度:完全公平调度器 Completely Fair Scheduler 内幕| linux-2.6

    https://www.ibm.com/developerworks/cn/linux/l-completely-fair-scheduler/index.html? 目录 Linux 调度器简史 C ...

  3. 一个IO的传奇一生 (9) -- Noop和Deadline调度器

    Linux中常见IO调度器 Noop调度器算法 Noop是Linux中最简单的调度器,这个调度器基本上没做什么特殊的事情,就是把邻近bio进行了合并处理.从IO的QoS角度来看,这个Noop调度器就是 ...

  4. Go调度器系列(3)图解调度原理

    如果你已经阅读了前2篇文章:<调度起源>和<宏观看调度器>,你对G.P.M肯定已经不再陌生,我们这篇文章就介绍Go调度器的基本原理,本文总结了12个主要的场景,覆盖了以下内容: ...

  5. 有声双语阅读器-学英语背单词,做泛读的好帮手

    网上浏览英文文章或中英双语的文章时,您是否会有一种想法,要是让电脑想朗读哪句就读哪句,想朗读哪段就读哪段.想看中文就显示中文,想看英文就显示英文,想同时看中英文就显示中英文该有多方便! 双语阅读大师是 ...

  6. Linux 调度器发展简述

    引言 进程调度是操作系统的核心功能.调度器只是是调度过程中的一部分,进程调度是非常复杂的过程,需要多个系统协同工作完成.本文所关注的仅为调度器,它的主要工作是在所有 RUNNING 进程中选择最合适的 ...

  7. 调度器Quartz的简述与使用总结

    为什么80%的码农都做不了架构师?>>>    Quartz是一款性能强大的定时任务调度器.开发人员可以使用Quartz让任务在特定时间特定阶段进行运行.比如对特定类型新闻或股指期货 ...

  8. 7种主流案例,告诉你调度器架构设计通用法则(干货!)

    女主宣言 今天小编为大家转载一篇来自DBAplus社群的干货文章,希望能够帮助大家对关于调度器的理解.作者张晨,Strikingly数据平台工程师,算法.分布式系统和函数式编程爱好者.Shanghai ...

  9. 并发问题的解决思路以及Go语言调度器工作原理

    上周的文章<Go并发编程里的数据竞争以及解决之道>最后留下了一个用并发解决的思考题,期间有几位同学留言说了自己的实现思路,也有两位直接私信发代码让我看的,非常感谢几位的积极参与.今天的文章 ...

最新文章

  1. OpenCV【零】—————cv::Mat——Mat对象创建方法
  2. build.xml(黎活明安全管理部署文件)
  3. 阿里巴巴加大IT人才引进 只为捍卫云计算市场地位
  4. 使用腾讯bugly更新服务遇到的坑
  5. WPF 使用Console.Write打印信息到控制台窗口中
  6. java基于http协议编程_网络传输协议(http协议)
  7. 深度学习面试100题
  8. 计算机屏幕蓝光,电脑如何设置防蓝光?降低电脑屏幕蓝光危害的方法
  9. 小额批量支付系统可以完成跨行资金清算吗_今天,你转账了吗?带你看懂央行小额批量支付系统...
  10. Stata+PSM:倾向得分匹配分析简介
  11. 4.SQL常用函数汇总
  12. 1实训(学生信息管理系统)
  13. 为什么新一代的程序员连操作系统的基本知识都不懂?
  14. mysql删除指令_mysql怎么用命令删除数据?
  15. 数影周报:小米汽车供应商被罚100万,1688延迟下线“1688买家旺旺”
  16. 解决pxe网络批量安装部署linux遇到的问题和解决方法
  17. 美团半年财报出炉,外卖业务增长背后鲜为人知的秘密
  18. 电流互感器matlab,电流互感器对高频信号传变的MATLAB仿真研究
  19. git clean -fdx
  20. 数据可视化(ECharts)

热门文章

  1. git 编辑提交的技巧
  2. c语言能链表,C语言链表(能得懂的).ppt
  3. java的开发环境日蚀日_将依赖项添加到后未解析geotools的导入pom.xml文件在日蚀中...
  4. java pgp加密_如何解密PGP加密文件(由两个PGP密钥加密.Key1具有公钥,私钥.Key2只有公钥)通过JAVA API...
  5. php 增加数组下标_PHP数组排序更改下标KEY方法
  6. 手机wps怎么设置语言_怎么使用手机对路由器进行设置
  7. 20211109:DC综合的一些简单概念理解记录
  8. php rsa加密乱码_PHP RSA密文过长加密解密 越过1024的解决代码
  9. oracle adjusting parallel,Oracle 并行相关的初始化参数
  10. idea导入项目无法解析java