计算机的控制程序

计算机
很久很久以前 , 有一台机器 , 体型巨大 , 每秒钟可以进行几千次的加法运算 , 名震一时 , 人类给它取了个名字:计算机 。
除了加法 , 它还能计算平方、立方、正弦、余弦 , 比人类的大脑算得快多了 。
计算机的控制程序
文章图片
许多程序慕名而来 , 想在它上面运行一下 , 体会这飞一般的感觉 。
计算机的控制程序】“来来来 , 排好队 , 一个一个来” , 计算机的管理员说到 。
众程序挨个排好队 , 等待管理员传唤 。
执行完一个 , 管理员再将其取出 , 换上下一个开始执行 。
久而久之 , 程序们纷纷抱怨:排队十分钟 , 执行三秒钟 。 人类管理员太慢了 , 时间都用在排队上了 , 能不能让计算机自动完成程序切换 , 不要手动切换?
计算机的控制程序
文章图片
人工操作的速度比起计算机实在是慢太多了 , 人机矛盾日益凸显 , 人类决定对机器重新进行设计 , 并且开发了一个控制程序 , 在它的指挥下 , 可以批量执行程序 , 自动实现切换 , 不用再需要人工介入了 , 效率提高了不少 。 多道程序处理
慕名而来的程序越来越多了 , 等待执行的队伍排的越来越长 。
有些程序等的不耐烦了 , 询问控制程序:“大哥 , 你看前面那家伙在做输入输出 , CPU给空出来了 , 一时半会儿用不上 , 这不是浪费吗 , 要不叫下一个上去执行吧”
控制程序皱着眉头说到:“那怎么行 , 前面程序执行的数据都在内存里放着了 , 再放程序进去 , 要是弄坏了谁负责?再说CPU只有一个 , 前面的程序忙完输入输出回来了又该如何处理?”
大家一时语塞 , 谁也给不出主意 , 纷纷叹气 , 只好作罢 , 继续等待 。
不过聪明的人类倒是发现了这问题:让一个程序独占计算机确实浪费资源 , 执行输入输出的时候 , CPU就空着了 , 执行计算操作的时候 , 输入输出设备又闲着了 , 总有一个闲着 。
于是人类又重新设计了计算机 , 并开发了新版的控制程序 , 这一次 , 允许多个程序同时进入计算机执行了 。
如果程序A执行输入输出 , 就把CPU空出来让给另一个程序B执行 , 一会儿B再执行输入输出 , 再把CPU分给A执行 , 彼此交替 , 这样一来就不会浪费了!时间分片
不过没多久 , 又出现了新的问题 。
这一天 , 其他程序都在排队等待控制程序翻牌子 , 可左等右等也不见传唤 , 众程序急了 , 质问控制程序 , 控制程序大倒苦水:“前面那个家伙写了个死循环 , 死活结束不了啊!”
听他这么一说 , 众程序都怒了 。
“怎么能这样 , 这也太自私了”
“你这控制程序也不管管 , 要你有何用?”
“赶紧想办法啊!”
“我也没办法 , 他不执行输入输出 , 我也拿不到CPU的控制权 , 拿他没有办法啊” , 控制程序叹气说到 。
众程序七嘴八舌 , 吵的是不可开交 。
敏感的人类又一次发现了这个问题 , 好一通研究 , 搞了一个叫“中断”的技术出来:可以给CPU发送中断信号 , CPU收到信号后 , 就得停下手头的工作 , 转而执行控制程序处理中断信号 , 这样控制程序就有办法获得控制权了!
计算机的控制程序
文章图片
为了能够让控制程序及时获得控制权 , 人类搞了一个中断源 , 周期性的给CPU发送中断信号 , 并把这叫做时钟中断 。