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。
分享到:
相关推荐
Quartz.Net-Multi-Schedulers 该项目演示了Quartz作业调度程序使用多个作业侦听器的情况。介绍此项目与对连接到相同SQL数据存储的一个应用程序使用多个作业侦听器有关。 这种方法的可能用途是当我们需要卸载某些作业...
rxjs-schedulers
学习速率调度程序包Tensorflow PyTorch-Keras 学习率计划旨在通过根据预定义的功能/时间表降低lr来更改神经网络训练期间的学习率。 有许多受欢迎的学习率调度程序可供使用, 步进衰减 指数衰减 余弦衰变 K衰变 ...
开源工具用于在亚马逊ECS上构建定制的调度器。Open source tools for building custom schedulers on Amazon ECS。
您可以使用以下方法检查您的呼叫是否正在肮脏的调度程序上处理:if(enif_is_on_dirty_scheduler(hp)){// hp是ErlNifEnv} 从Erlang 17.03开始,enif_schedule_dirty_nif,enif_schedule_dirty_nif_finalizer和...
Google的第三代分布式资源调度管理器架构介绍
Comparison of the three CPU schedulers in Xen Xen调度
LTE Matlab different schedulers
triggered schedulers’ performances. We evaluated and studied the performance of those time triggered schedulers with various parameters. The results have been incurred by implementation of ...
schedulers-BI
麻雀调度器 实施随机调度策略 实施每任务采样调度策略 实施批量抽样调度策略 实施延迟绑定调度策略 指示 客户端配置: 在 config/available_schedulers.properties 中设置可用调度程序列表 客户端执行: java -jar...
动态优先级编程算法代码matlab 该项目已作为的任务完成。 请参阅和以获取原始作业。 我曾尝试在Markdown上复制论文,但它并不完美。 纸张的实际Word ...schedulers are: sjf, fcfs, srtf, rr, unix -v Ver
调度程序可用于将操作员与开发人员分离,以提高开发人员的工作效率并减少操作员开销。使用调度程序还允许将工作打包到机器上,从而提高资源利用率并降低大规模机队的总运营成本。 Armon Dadgar概述了Nomad,这是一个...
从文件( cvec_from_file/1 )创建签名的警告,您需要使用脏调度程序支持( --enable-dirty-schedulers )构建 Erlang。 application : start ( puzzle ).{ ok , Cvec } = puzzle : cvec_from_file ( " /path/...
The core API of diffusers: Pipelines, models and schedulers
http://www.componentgo.com/projectservice/#/Views/ProjectPlanner 一个silverlight gantt,去除演示的字样。
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵 活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度 What's New In Quartz Scheduler ...
最近在研究python调度框架APScheduler使用的路上,那么今天也算个学习笔记吧! # coding=utf-8 """ Demonstrates how to use the background scheduler to schedule a job that executes on 3 second intervals. ...
开源项目-qvl-sleepto.zip,sleepto - an alternative to traditional task schedulers
CAB: Cache Aware Bi-tier Task-stealing in Multi-socket Multi-core ArchitectureQuan Chen∗ , Zhiyi Huang†, Minyi Guo∗ ...†Department of Computer ...However, traditional task-stealing schedulers tend to