|
CPU 在一个时间内仅能处理一个程序,那么同时启动两个程序的话,怎么办? 如果这个 CPU 有多任务能力的话,则可以在不同程序间切换。
CPU 频率假设为 1GHz 的话,哪表示 CPU 一秒钟可以进行 10 的 9 次方工作,假设每个程序对 CPU 只有 1000 次运行周期, 然后就得切换到下个程序的话,那么 CPU 一秒钟就能够切换 10 的 6 次方次。在这么快的处理速度下, 你会发现,两个程序感觉上几乎是同步在执行的
早期的 intel x86 对多任务支持不佳,intel 386 出来以后改善了很多,torvalds 就买了一台, 然后在这个机器上面测试性能,写了如下三个程序
持续输出 A 程序
持续输出 B 程序
一个程序将上面两个程序进行切换
结果屏幕上面就看到了 ABAB.. 的输出结果,多任务处理测试成功了
要有多任务处理能力,需要以下两点:
CPU 支持多任务
操作系统需要支持多任务
有个例子很适合来解释多任务大体是什么样子的。开记者招待会,主持人问:谁要发问?下面一大群人举手, 那么主持人会挑选一位进行回答,然后再问:谁要发问?下面又一群人举手,刚刚被回答过的记者也可以举手。 这就是多任务特性,同一时间只能处理一个问题
|
|