漫谈操作系统

来源:互联网 发布:小白的第一本书python 编辑:程序博客网 时间:2024/06/11 09:49

        人类很早就开始使用工具了。从旧石器时代的石器到奴隶社会的青铜器,从封建社会初期的铁器到资本主义时代的工业机器,制造工具并使用工具把人和动物区分开来。在二十世纪40年代之前的5000多年里,人类工具的发展是平稳而缓慢的。
        1946
年,美国的宾西法尼亚大学研制出了人类历史上第一台计算机。这是一个占地数百平米的庞然大物。它由50000个电子管组成,运行一个简单的程序需要十天半个月的时间。然而,这标志着人类在工具制造领域进入了一个新的阶段。
       
此后,计算机技术得到了迅猛的发展,到今天,个人计算机的处理能力已经超出了第一台计算机数百万倍,数千万倍都不止。而且,还广泛应用于航天、医疗、信息处理、机器人、勘探等各个领域,远远超出了当年仅用于科学计算的用途。
       
计算机的产生是为了满足人类使用的需要。最早期的计算机是硬件操作的。操作员通过机器上的按钮和连接线来控制计算机的运行。所有的数据信号和控制信号都要用按钮来发送,为了操作员查看方面,每个按钮都配有指示灯。每个控制信号都是由一个若干位(通常是四位)二进制数组成的微指令,负责对数据进行加、减、乘、除、移位等操作。操作员首先通过按钮把第一个数输入缓冲区(这里的缓冲区就是一组寄存器,每个数据按钮和控制按钮都对应一个寄存器)。然后按下送数据按钮,将第一个数送入ALU。这时,缓冲区的数据还在。之后输入第二个数进入缓冲区,再按下送数据按钮,于是第二个数也进入了ALU。然后开始输入控制指令。同样,控制指令进入缓冲区。按下送数据按钮。微指令对两个操作数进行操作,最终结果保存在第一个数所在的数据寄存器中。
       
在这个系统中,操作员负责整个运算的操作,相当于简单的操作系统。此时的计算机只具有计算机运算的基本模式,而整个运算过程还是和计算器一样,全部需要人工干预。
       
早期的大型机实现了手动操作。程序是由一组打在卡片上的圆洞组成的,包括数据信息、控制信息、对CPU的操作以及I/O操作等等。程序员把卡片交给操作员,操作员将卡片放入与大型机相连接的读卡机上。读卡机一边读卡片,大型机一边进行运算,最后产生结果。这种机器上同样没有操作系统,所有的操作信息都写在卡片上。也就是说,即使很多人的操作程序一模一样,也要自己写自己的。
       
后来实现了批处理。操作员对程序进行分类,相似的程序放在一起顺序执行。对系统资源使用情况相同的程序的共同部分就形成了操作系统,驻留在内存中。大型机只要顺序读取每个卡片的数据信息就可以了。
       
批处理虽然加快了计算机的处理速度,但是它毕竟还是单任务的模式,即一次一任务,CPU大多数时间都是空闲状态,等一个作业完成后才能进行下一个任务。于是,多道程序设计的思想应运而生。
       
在多道程序系统中,操作系统和若干个作业同时驻留在内存中。驻留在内存中的作业是系统作业池的子集,因为在磁盘和其他存储介质上还有其他很多作业。操作系统先执行第一个作业,在执行过程中,如果作业要求一个外部操作(如I/O),这时,操作系统调度CPU开始执行第二个作业。如果第二个作业也需要做一个外部操作,那么操作系统就调度CPU开始执行第三个作业。依次类推,直到第一个作业完成外部操作并对OS发送请求,OS就回到第一个作业并继续执行它。
    这种多道程序系统没有用户交互的功能,全部的操作都由系统操作员来执行。系统操作员把多个作业同时放入系统内存,然后操作系统开始执行多个作业。后来的分时系统在这一基础上做了改进,增强了交互性。从某种意义上讲,分时系统是多道程序系统的自然延伸。
    分时系统是具有用户交互性的多道程序系统。多个用户共同使用同一个系统,系统内存中有多个正在进行的用户程序。由于用户的操作速度与系统处理速度相差很多,所以当系统在多个作业之间切换时,速度快到用户无法感觉出来,好象整个系统只归自己使用一样。这其中涉及到时间片、CPU调度等概念,等我学习到相关章节后再详细说明。:)
    有分时系统,就自然有实时系统。与其他计算机系统不同,实时系统对时间的要求非常严格。系统对事件的响应时间需要控制在某一特定范围之内,如果超出了这个范围,系统就是失败的。这就给系统设计人员提出了非常高的要求。分时系统在机器人、勘探、航天、过程控制等前沿学科领域有着很广泛的应用。
    随着计算机技术的不断发展,很多曾经只能运用在大型机上的技术,也开始应用在小型机甚至微型机上。最早的PC机操作系统是DOS,它是一种单用户、单任务的简单操作系统。后来的WINDOWS、LINUXS、UNIX系统开始支持多任务、多用户,在微型机上实现操作系统的多用户和多任务处理,开创了计算机系统的新时代。

 

 

 

原创粉丝点击