LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 312|回复: 0

什么是多任务?

[复制链接]
发表于 2024-1-15 15:01:18 | 显示全部楼层 |阅读模式
CPU 在一个时间内仅能处理一个程序,那么同时启动两个程序的话,怎么办? 如果这个 CPU 有多任务能力的话,则可以在不同程序间切换。

CPU 频率假设为 1GHz 的话,哪表示 CPU 一秒钟可以进行 10 的 9 次方工作,假设每个程序对 CPU 只有 1000 次运行周期, 然后就得切换到下个程序的话,那么 CPU 一秒钟就能够切换 10 的 6 次方次。在这么快的处理速度下, 你会发现,两个程序感觉上几乎是同步在执行的

早期的 intel x86 对多任务支持不佳,intel 386 出来以后改善了很多,torvalds 就买了一台, 然后在这个机器上面测试性能,写了如下三个程序

持续输出 A 程序
持续输出 B 程序
一个程序将上面两个程序进行切换
结果屏幕上面就看到了 ABAB.. 的输出结果,多任务处理测试成功了

要有多任务处理能力,需要以下两点:

CPU 支持多任务
操作系统需要支持多任务
有个例子很适合来解释多任务大体是什么样子的。开记者招待会,主持人问:谁要发问?下面一大群人举手, 那么主持人会挑选一位进行回答,然后再问:谁要发问?下面又一群人举手,刚刚被回答过的记者也可以举手。 这就是多任务特性,同一时间只能处理一个问题


您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表