CPU-bound(计算密集型) 和I/O-bound(I/O密集型)

来源:互联网 发布:淘宝卖家蚂蚁花呗支付 编辑:程序博客网 时间:2024/06/06 03:11

I/O密集型(I/O-bound)

       大部分时间花在读/写 I/O (硬盘/内存)上的进程,我们称之为读/写 I/O (硬盘/内存)。

      例如对静态网页的访问,简单的表查询。

计算密集型 (CPU-bound) 

      在多重程序系统中,大部份时间用来做计算、逻辑判断等CPU动作的程序称之CPU bound。

      例如一个计算圆周率至小数点一千位以下的程序,在执行的过程当中绝大部份时间用在三角函数和开根号的计算,便是属于CPU bound的程序。

如果在一个系统里CPU bound的程序和I/O bound的程序一起run会怎么样?

      应该是CPU bound的程序对CPU的占用率会非常不公平地接近100%吧。因为I/O bound的程序可能一个时间片还没用完就block了,放弃CPU了。而CPU bound的程序

因此而得到了很多调度机会并且每次都能把CPU run完。故在这样的系统里要给I/O bound的程序更高的优先级使其能被调度得更多些。


    

原创粉丝点击