分时操作系统(20世纪70年代)

多道批处理操作系统的出现使计算机的效率(主要是吞吐率)大大提高。不过这时人们又提出了另外一个问题:将程序制作在卡片上交给计算机管理员来统一运行,将使得用户无法即时获知程序运行的结果。而这是一个大问题。想想如果你编写了一个程序,却需要让别人去运行,并等上若干天才能知道结果,这个滋味显然不好受。万一计算机管理员疏忽了,忘记运行你的程序,或者操作错误,导致程序丢失,情况就更加糟糕。

基于上述原因,人们考虑能否让人回到计算机前面来,每个人自己管自己的程序,但是,大家的程序可以同时运转。人的因素又引了回来。这看上去与原始的SOSC似乎一样,但有个关键的不同:多个人同时连在计算机上,每个人看做另外的一个I/O终端而已。每个用户拥有一个终端显示器,这些终端显示器经过RS232穿行线缆与计算机连接。终端显示器只能接收和发送文本命令和信息。计算机在所有连接的终端用户之间进行分时,即分给每个人有限的时间,只要时间到了,就换一个进程。这种时分切换下的操作系统就是分时操作系统。

在分时操作系统下,任意时间可以运行多个程序,且用户直接与计算机交互,当场调试程序。这就和单一操作员单一终端不一样了,从人本转成了物本。在单一操作员单一终端的情况下,一切等着人。以前执行一条命令就等人,分时系统就是人等机器。这个模型带来一个直接的结果,就是机器不再等你,等你想问题时机器就切换到别的程序,等你想好了机器我再切换回来,接受你的输入。就这样,计算机就在很多人之间来回转,你敲个命令就响应,然后切换走。如果时间掌握得好,用户输入完一个命令计算机正好回来,用户就无需等待。当然,如果一个用户打字速度足够快,可能会觉得计算机慢;如果打字速度非常慢,就有可能觉得计算机很快。不同的人感觉有可能完全不同。

显然,和前面几代的操作系统比,分时操作系统要复杂得多。相比于多道批处理系统,最主要的变化是资源的公平管理。在多道批处理下,公平不公平没有人知道。大家交了工作后只管回家等结果。至于自己的程序排在谁前谁后,抑或占用了多少CPU时间是无关紧要的。现在,大家都坐在计算机显示终端前面,任何的不公平将立即感觉到。因此,公平的管理用户的CPU时间就变得非常重要。除此之外,池化(pooling)、互斥、进程通信等机制相继出现,使得分时操作系统的复杂性大为增加

驱动这个阶段操作系统发展的动力是响应时间和对越来越多资源的管理。因为机器的昂贵,我们不能容忍机器(CPU)在I/O设备工作期间闲置。同时,因为人的时间宝贵,我们不能容忍人们坐在机器前漫长等待。因此发明了分时操作系统来解决这两个问题。因为分时引入的多道程序设计,又造成操作系统的空前复杂,我们需要应对竞争、通信、死锁、保护等一系列的新功能。因此,操作系统在本阶段变得相当复杂。

PS:
操作系统为何可以同时运行多个程序?

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值