问题描述
- 多道程序设计基本思想
-
多到程序设计技术可以提高 资源利用率,它是通过什么方式实现的?
解决方案
你学的是60年前的“计算机科学”,换言之,你是爷爷辈的人做的东西。那时候的计算机和现在的计算机根本不是一码事了。
不知道你为什么对计算机考古学感兴趣。但是我很愿意讲些我也不曾经历的故事给你。
那时候的计算机非常大,而且贵。大家都是用终端机去使用它。那种计算机只有几百k的内存,而且根本没有现代意义上的操做系统。
上机的流程是,一个人使用终端输入程序,然后计算机执行,然后输出。
大家发现一个问题,就是在用户输入程序需要很长时间,这些时间白白浪费了,而计算机是很贵很贵的。所以不能让它闲着。
解决的办法就是用多道监控程序(操作系统的原型,大约上世纪60年代非常盛行,国内80年代初还有用),允许用户离线输入程序,放入作业队列,而主机直接从队列中读取程序,并且执行。
解决方案二:
事实上,这些东西在pc和操作系统兴起后就再没有人去研究了。早就被扫进垃圾堆了。你只要知道,你今天花个几千块钱买一个iPhone,轻轻松松拥有了超过银河2号(1992年中国最快的计算机)的运算能力。这就够了。
解决方案三:
- 多道程序,通过将程序分解成多个独立的进程或者线程,cpu同一时刻只能处理一个进程,但是通过分时复用的方式,感觉所有的进程都在执行。
- 当其中一个程序会出现阻塞,比如等待IO完成,这个时候它可以释放cpu,让其他进程进行工作
时间: 2024-11-03 20:46:25