操作系统的发展历程
导读
大家好,很高兴又和大家见面啦!!!
在上一篇内容中我们介绍了操作系统的四大基本特征——并发、共享、虚拟和异步。在开始今天的内容前,我们先简单的复习一下前面的内容:
- 对于操作系统而言,并发和共享是它的两个最基本的特征。
- 并发指的是两个或多个事件在同一时间间隔内发生。
- 共享指的是系统中的资源可供内存中多个并发执行的进程共同使用。
- 如果操作系统不能实现资源共享,也就是说计算机中的资源只能够给一个程序使用,那就不存在多个程序在同一时间间隔内同时发生的情况,也就没有了并发;
- 如果操作系统不能实现并发,所有事件都是顺序进行,也就是说不存在计算机资源的争抢问题,那就不需要资源共享;
- 虚拟指的是把一个物理上的实体变为若干逻辑上的对应物。
- 异步指的是在多个程序并发执行的过程中,由于资源有限,进程的执行并不能一贯到底,而是走走停停的,以一种不可预知的速度向前推进。
- 借助并发与共享,操作系统将有限的物理资源进行了逻辑上的扩充,从而实现了虚拟;
- 但是由于资源的有限性,无法支持多个进程一直执行,所以需要时不时的停下来休息一下,这就带来了异步;
通过前面的学习,我们可以了解到现在我们接触的操作系统是十分强大的,但是操作系统并不是从诞生之初就是如此强大的,它也和人类一样在漫长的岁月里不断地打怪升级慢慢的成长起来的。在今天的内容中,我们将会介绍操作系统的发展史,来看一下这个咱们这位老友是如何一步一步走向强大的。
一、手工操作阶段
1.1 计算机的诞生
在上世纪40年代,也就是1946年,第一台通用计算机 ENIAC 问世并开始投入使用。与1949年8月,第一台离散变量自动电子计算机 EDVAC问世,与1951年正式开始投入运行。 [ENIAC]: 第一台通用计算机 [EDVAC]: 第一台离散变量自动电子计算机
1.2 计算机的使用
自从 ENIAC 问世以来,计算机还只是用于战争中计算导弹弹道的工作,当时的科学家们对计算机的工作还是采用手工操作的方式:
通过人工将对应用程序和数据的已穿孔的纸带(或者卡片)装入输入机,然后启动输入机,把程序和数据输入计算机的内存,接着通过控制台开关启动程序针对数据运行; 计算完毕后,打印机输出计算结果; 用户取走结果并卸下纸袋(或卡片)后,才让下一个用户上机
在使用计算机的整个过程中都需要人工干预,如程序的装入、运行、结果的输出等。这种手工操作方式存在两个突出的缺点:
- 用户独占全机,岁让不会出现因资源已被其他用户占用而等待的现象,但是资源利用率低。
- CPU等待手工操作,CPU的利用不充分。
在 EDVAC 问世之后,随着时代的更替,计算机硬件也在不断地发展,随之而来的计算量也在不断地增加。与20世纪50年代后期开始出现人机矛盾:
- 手工操作的慢速度与计算机的高速运算之间产生了尖锐的矛盾。手工操作方式已经严重损害了系统资源的利用率,通过手工操作方式对操作系统资源的利用只能做到百分之几甚至更低。
随着时代的继续发展,人机矛盾也越来越大,为了摆脱这个矛盾,唯一的解决办法就是用高速的机器来代替相对较慢的手工操作来对作业进行控制。
二、批处理阶段
为了解决人机矛盾以及CPU和I/O设备之间速度不匹配的矛盾,出现了批处理系统。按发展历程又分为单道批处理系统、多道批处理系统。
2.1 单道批处理系统
人们通过引入脱机输入/输出技术(用外围机+磁带完成),并由监督程序负责控制作业的输入、输出。
在单道批处理系统中,系统对作业的处理是成批进行的,但内存中始终保持一道作业。单道批处理系统是在解决人机矛盾以及CPU和I/O设备速率不匹配的矛盾中形成的。其主要特征如下:
- 自动性。在顺利的情况下,磁带上的一批作业能够自动地逐个运行,而无需人工干预。
- 顺序性。磁带上的各道作业顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序在正常情况下应完全相同,亦即先调入内存的作业先完成。
- 单道性。内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。
此时面临的问题是:每次主机内存仅存放了一道作业,每当它在运行期间发出输入/输出请求后,高速的CPU便处于等待低速的I/O完成的状态。
在这种情况下,计算机CPU的利用率相比于手工操作阶段是有所提升,但是还不够高,CPU仍存在大量的空闲等待状态。
2.2 多道批处理系统
为了进一步提高资源的利用率和系统的吞吐量,于是便引入的多道程序技术。
多道程序设计技术允许多个程序同时进入内存并允许它们在CPU中交替地允许,这些程序共享系统中的各种硬/软件资源。当一道程序因I/O请求而停止运行时,CPU便立即转去运行另一道程序。它不采用某些机制来提高某以技术方面的瓶颈问题,而让系统的各个组成部分都尽量去“忙”,因此切换任务所花费时间很少,可实现系统各部件之间的并行工作,使其整体在单位时间内的效率翻倍。
多道程序设计的特点是多道、宏观上并行、微观上串行。
- 多道。计算机内存中同时存放多道相互独立的程序。
- 宏观上并行。同时进入系统的多道程序都处于运行过程中,即它们先后开始各自的运行,但都未运行完毕。
- 微观上串行。内存中的多道程序轮流占有CPU,交替执行。
多道程序设计技术的实现需要解决以下问题:
- 如何分配处理器。
- 多道程序的内存分配问题。
- I/O设备如何分配。
- 如何组织和存放大量的程序和数据,以方便用户使用并保证其安全性与一致性。
在批处理系统中采用多道程序设计技术就形成了多道批处理操作系统。该系统把用户提交的作业成批地送入计算机内存,然后由作业调度程序自动地选择作业运行。
多道批处理系统的优点有:
- 资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;
- 系统吞吐量大,CPU和其他资源保持忙碌状态。
多道批处理系统的缺点有:
- 用户响应的时间较长;
- 不能进行人机交互,用户即不能了解自己的程序的运行情况,右不能控制计算机。
三、分时操作系统
3.1 分时技术
所谓的分时技术指的是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。
若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是,好象他独占了一台计算机。
3.2 分时操作系统
分时操作系统指的是多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而不互相干扰。因此实现分时系统最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接受并及时处理该命令,再将结果返回用户。
3.1 分时系统的主要特征
分时系统也是支持多道程序设计的系统,但它不同于多道批处理系统。多道批处理系统是实现作业自动控制而无需人工干预的系统,而分时系统是实现人机交互的系统,这使得分时系统具有批处理系统不同的特征:
- 同时性。同时性也称多路性,指允许多个终端用户同时使用一台计算机。即一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机。
- 交互性。用户能够方便地与系统进行人机对话,即用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互。
- 独立性。系统中多个用户之间可以相互独立操作,互不干扰,单个用户感觉不到别人也在使用这台计算机,好像只有自己单独使用这台计算机一样。
- 及时性。用户请求能在很短时间内获得响应。分时系统采用时间片轮转方式使一台计算机同时为多个终端服务,使用户能够对系统的及时相应感到满意。
在分时操作系统中,多个用户共同使用同一台计算机时,宏观上是各用户并行工作;微观上则是各用户轮流使用计算机;
用户在使用的过程中可根据系统对请求的响应结果,进一步向系统提出新的请求。这种能使用户与系统进行人机对话的工作方式,明显地有别于批处理系统,因而,分时系统又被称为交互式系统。
在计算机运行的过程中,系统保证各用户程序运行的完整性,不会发生相互混淆或破坏现象。
分时系统性能的主要指标之一是响应时间,它是指:从终端发出命令到系统予以应答所需的时间。分时系统的主要目标:对用户响应的及时性,即不至于用户等待每一个命令的处理时间过长。
分时系统可以同时接纳数十个甚至上百个用户,由于内存空间有限,往往采用对换(又称交换)方式的存储方法。即将未“轮到”的作业放入磁盘,一旦“轮到”,再将其调入内存;而时间片用完后,又将作业存回磁盘(俗称“滚进”、“滚出“法),使同一存储区域轮流为多个用户服务。
多用户分时系统是当今计算机操作系统中最普遍使用的一类操作系统。
四、实时操作系统
虽然多道批处理系统和分时系统能获得较令人满意的资源利用率和系统响应时间,但却不能满足实时控制与实时信息处理两个应用领域的需求。
为了能够在某个时间限制内完成某些紧急任务而不需要时间片排队,于是就产生了实时系统,即系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理。这里的时间限制可分为两种情况:
- 若某个动作必须在规定的时刻(或规定的时间范围)发生,则称为硬实时系统,也称为实时控制系统。如飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某个动作在规定的时间内完成。
- 若某个动作能够接受偶尔违反时间规定且不会引起任何永久性的损害,则称为软实时系统,也称为实时信息处理系统。如飞机订票系统、银行管理系统此类对响应及时性的要求稍弱于第一类。
实时系统在一个特定的应用中常作为一种控制设备来使用:
- 当用于飞机飞行、导弹发射等的自动控制时,要求计算机能尽快处理测量系统测得的数据,及时地对飞机或导弹进行控制,或将有关信息通过显示终端提供给决策人员,这时就需要用到实时控制系统;
- 当用于轧钢、石化等工业生产过程控制时,也要求计算机能及时处理由各类传感器送来的数据,然后控制相应的执行机构,这里也需要用到实时控制系统;
- 当用于预定飞机票、查询有关航班、航线、票价等事宜时,或当用于银行系统、情报检索系统时,都要求计算机能对终端设备发来的服务请求及时予以正确的回答。这里就可以用到实时信息处理系统;
实时操作系统的主要特点:
- 及时性。每一个信息接收、分析处理和发送的过程必须在严格的时间限制内完成。
- 可靠性。需采取冗余措施,双机系统前后台工作,也包括必要的保密措施等。
五、网络操作系统和分布式计算机系统
网络操作系统是指把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各台计算机之间数据的互相传送的操作系统。网络操作系统的最主要的特点是网络中各种资源的共享以及各台计算机之间的通信。
分布式计算机系统是由多台计算机组成并满足下列条件的系统:
- 系统中任意两台计算机通过通信方式交换信息;
- 系统中的每台计算机都有相同的地位,即没有主机也没有从机;
- 每台计算机上的资源为所有用户共享;
- 系统中的任意台计算机都可以构成一个子系统,并且还能重构;
- 任何工作都可以分布在机台计算机上,由它们并行工作、协同完成。
用于管理分布式计算机系统的操作系统称为分布式计算机系统。该系统的主要特点是分布性与并行性。分布式操作系统与网络操作系统的本质不同的是,分布式操作系统中的若干计算机相互协同完成同一任务。
六、个人计算机操作系统
个人计算机操作系统是目前使用最广泛的操作系统,它广泛应用于文字处理、电子表格、游戏中,常见的有Windows、Linux和MacOS等。此外还有嵌入式操作系统、服务器操作系统、智能手机操作系统等。
结语
在今天的内容中我们介绍了操作系统的发展历程:
通过今天的内容,我们了解了不同时期的操作系统的特点,从整个发展历程中我们不难发现,操作系统从诞生到后期的发展,都是为了解决不同时代的问题:
- 操作系统的诞生是为了解决计算机资源利用率低下的问题;
- 当计算机的资源利用率提高后,又缺乏人机之间的交互,因此诞生了分时操作系统;
- 当人机交互不需要特别频繁但需要及时可靠的处理信息时,又诞生了实时操作系统;
- 为了将计算机网络中的各台计算机有机地结合起来实现各台计算机之间的互相传送,于是就有了网络操作系统;
- 当需要多台计算机相互协同完成同一个任务时,便设计出了分布式计算机系统;
- 为了实现计算机的商业化,让更多的普通人能够接触到计算机,像Windows、Linux和MacOS等这些个人计算机操作系统就应运而生;
因此如果要从事IT行业的话,操作系统的相关知识储备对我们而言是必不可少的,随着时代的发展,现在的计算机技术也会逐渐走向智能化,为了顺应时代的发展,我们就需要趁现在打好扎实的基础才行。
今天的内容到这里就全部结束了,在下一篇内容中我们将介绍操作系统运行环境的相关知识点,大家记得关注哦!如果大家喜欢博主的内容,可以点赞、收藏加评论支持一下博主,当然也可以将博主的内容转发给你身边需要的朋友。最后感谢各位朋友的支持,咱们下一篇再见!!!