一、操作系统的目标和作用
在计算机系统上配置操作系统的主要目标,首先与计算机系统的规模有关。其次,影响操作系统的主要目标的另一个重要因素是操作系统的应用环境。
1、操作系统的目标
目前存在着多种类型的 OS
,不同类型的 OS
,其目标各有所侧重。一般地说,在计算机硬件上配置的 OS
,其目标有以下几点。
1. 有效性
操作系统的有效性可包含如下两方面的含意:
- 提高系统资源利用率。配置了
OS
之后,可使CPU
和I/O
设备由于能保持忙碌状态而得到有效的利用,且可使内存和外存中存放的数据因有序而节省了存储空间。 - 提高系统的吞吐量。操作系统还可以通过合理地组织计算机的工作流程,而进一步改善资源的利用率,加速程序的运行,缩短程序的运行周期,从而提高系统的吞吐量。
2. 方便性
配置 OS
后可使计算机系统更容易使用。
方便性和有效性是设计操作系统时最重要的两个目标。
3. 可扩充性
随着 VLSI
技术和计算机技术的迅速发展,计算机硬件和体系结构也随之得到迅速发展,相应地,它们也对 OS
提出了更高的功能和性能要求。OS
必须具有很好的可扩充性,方能适应计算机硬件、体系结构以及应用发展的要求。
4. 开放性
Internet
的应用的日益普及,使计算机操作系统的应用环境已由单机封闭环境转向开放的网络环境。为使来自不同厂家的计算机和设备能通过网络加以集成化,并能正确、有效地协同工作,实现应用的可移植性和互操作性,要求操作系统必须提供统一的开放环境,进而要求 OS
具有开放性。
开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(OSI
)国际标准。凡遵循国际标准所开发的硬件和软件,均能彼此兼容,可方便地实现互连。
2、操作系统的作用
从一般用户的观点,可把 OS
看做是用户与计算机硬件系统之间的接口;从资源管理的观点看,则可把 OS
视为计算机系统资源的管理者。另外,OS
实现了对计算机资源的抽象,隐藏了对硬件操作的细节,使用户能更方便地使用机器。
1. OS 作为用户与计算机硬件系统之间的接口
OS
作为用户与计算机硬件系统之间接口的含义是:OS
处于用户与计算机硬件系统之间,用户通过 OS
来使用计算机系统。或者说,用户在 OS
帮助下,能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。应注意,OS 是一个系统软件,因而这种接口是软件接口。
用户可通过以下三种方式使用计算机。
- 命令方式。这是指由
OS
提供了一组联机命令接口,以允许用户通过键盘输入有关命令来取得操作系统的服务,并控制用户程序的运行。 - 系统调用方式。
OS
提供了一组系统调用, 用户可在自己的应用程序中通过相应的系统调用,来实现与操作系统的通信,并取得它的服务。 - 图形、窗口方式。这是当前使用最为方便、最为广泛的接口,它允许用户通过屏幕上的窗口和图标来实现与操作系统的通信,并取得它的服务。
2. OS 作为计算机系统资源的管理者
在一个计算机系统中,通常都含有各种各样的硬件和软件资源。归纳起来可将资源分为四类:处理器、存储器、I/O 设备以及信息(数据和程序)。相应地,OS
的主要功能也正是针对这四类资源进行有效的管理,即:处理机管理,用于分配和控制处理机;存储器管理, 主要负责内存的分配与回收;I/O 设备管理负责 I/O 设备的分配与操纵;文件管理,负责文件的存取、共享和保护。事实上,当今世界上广为流行的一个关于 OS
作用的观点,正是把 OS 作为计算机系统的资源管理者。
3. OS 实现了对计算机资源的抽象
OS
是铺设在计算机硬件上的多层系统软件,它们不仅增强了系统的功能, 而且还隐藏了对硬件操作的细节,由它们实现了对计算机硬件操作的多个层次的抽象。值得说明的是,对一个硬件在底层进行抽象后,在高层还可再次对该资源进行抽象,成为更高层的抽象模型。随着抽象层次的提高,抽象接口所提供的功能就越来越强,用户使用起来也更加方便。
3、推动操作系统发展的主要动力
推动操作系统发展的主要动力,可归结为如下所述的四个方面。
1. 不断提高计算机资源的利用率
在计算机发展的初期,计算机系统特别昂贵,人们必须千方百计地提高计算机系统中各种资源的利用率,这就是 OS
最初发展的推动力。由此形成了能自动地对一批作业进行处理的多道批处理系统。在 20 世纪 60 和 70 年代,又分别出现了能有效提高 I/O
设备和 CPU
利用率的 SPOOLing
系统和改善存储器系统利用率的虚拟存储器技术,以及在网络环境下, 在服务器上配置了允许所有网络用户访问的文件系统和数据库系统。
2. 方便用户
当资源利用率不高的问题得到基本解决后,用户在上机、调试程序时的不方便性便又成为主要矛盾。于是人们又想方设法改善用户上机、调试程序时的环境,这又成为继续推动 OS
发展的主要因素。随之便形成了允许进行人机交互的分时系统,或称为多用户系统。在 20 世纪 90 年代初出现了受到用户广泛欢迎的图形用户界面,极大地方便了用户使用计算机,使中小学生都能很快地学会上机操作,这无疑会更加推动计算机的迅速普及。
3. 器件的不断更新换代
微电子技术的迅猛发展,推动着计算机器件,特别是微机芯片的不断更新,使得计算机的性能迅速提高,规模急剧扩大,从而推动了 OS
的功能和性能也迅速增强和提高。
在多处理机快速发展的同时,外部设备也在迅速发展。
4. 计算机体系结构的不断发展
计算机体系结构的发展,也不断推动着 OS
的发展并产生新的操作系统类型。
二、操作系统的发展过程
OS 的形成迄今已有 50 多年的时间。在上世纪 50 年代中期出现了单道批处理操作系统; 60 年代中期产生了多道程序批处理系统;不久又出现了基于多道程序的分时系统,与此同时也诞生了用于工业控制和武器控制的实时操作系统。20 世纪 80 年代开始至 21 世纪初, 是微型机、多处理机和计算机网络高速发展的年代,同时也是微机 OS、多处理机 OS 和网络 OS 以及分布式 OS 的形成和大发展的年代。
1、无操作系统的计算机系统
1. 人工操作方式
从第一台计算机诞生(1945 年)到 20 世纪 50 年代中期的计算机,属于第一代计算机。这时还未出现 OS
。计算机操作是由用户(即程序员)采用人工操作方式直接使用计算机硬件系统,即由程序员将事先已穿孔(对应于程序和数据)的纸带(或卡片)装入纸带输入机(或卡片输入机),再启动它们将程序和数据输入计算机,然后启动计算机运行。当程序运行完毕并取走计算结果之后,才让下一个用户上机。这种人工操作方式有以下两方面的缺点:
- 用户独占全机。此时,计算机及其全部资源只能由上机用户独占。
- CPU 等待人工操作。当用户进行装带(卡)、卸带(卡)等人工操作时,
CPU
及内存等资源是空闲的。
2. 脱机输入/输出方式
为了解决人机矛盾及 CPU
和 I/O
设备之间速度不匹配的矛盾,20 世纪 50 年代末出现了脱机输入/输出(Off-Line I/O)
技术。该技术是事先将装有用户程序和数据的纸带(或卡片) 装入纸带输入机(或卡片机),在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当 CPU
需要这些程序和数据时,再从磁带上将其高速地调入内存。
由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说, 它们是在脱离主机的情况下进行的,故称为脱机输入/输出方式;反之,在主机的直接控制下进行输入/输出的方式称为联机输入/输出(On-Line I/O
)方式。这种脱机 I/O
方式的主要优点如下:
- 减少了CPU 的空闲时间。装带(卡)、卸带(卡)以及将数据从低速
I/O
设备送到高速磁带(或盘)上,都是在脱机情况下进行的,并不占用主机时间,从而有效地减少了CPU 的空闲时间,缓和了人机矛盾。 - 提高了 I/O 速度。当
CPU
在运行中需要数据时,是直接从高速的磁带或磁盘上将数据调入内存的,不再是从低速I/O
设备上输入,极大地提高了I/O
速度,从而缓和了CPU
和I/O
设备速度不匹配的矛盾,进一步减少了CPU
的空闲时间。
2、单道批处理系统
1. 单道批处理系统的处理过程
上世纪 50 年代中期发明了晶体管,人们开始用晶体管替代真空管来制作计算机,从而出现了第二代计算机。它不仅使计算机的体积大大减小,功耗显著降低,同时可靠性也得到大幅度提高,使计算机已具有推广应用的价值,但计算机系统仍非常昂贵。为了能充分地利用它,应尽量让该系统连续运行,以减少空闲时间。为此,通常是把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor
),在它的控制下使这批作业能一个接一个地连续处理。其自动处理过程是:首先,由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业。当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带(盘)上的第二个作业调入内存。计算机系统就这样自动地一个作业一个作业地进行处理,直至磁带(盘)上的所有作业全部完成,这样便形成了早期的批处理系统。由于系统对作业的处理都是成批地进行的,且在内存中始终只保持一道作业,故称此系统为单道批处理系统(Simple Batch Processing System
)。
2. 单道批处理系统的特征
单道批处理系统是最早出现的一种 OS
。严格地说,它只能算作是 OS
的前身而并非是现在人们所理解的 OS
。该系统的主要特征如下:
- 自动性。在顺利情况下,在磁带上的一批作业能自动地逐个地依次运行,而无需人工干预。
- 顺序性。磁带上的各道作业是顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序,在正常情况下应完全相同,亦即先调入内存的作业先完成。
- 单道性。内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。
3、多道批处理系统
20 世纪 60 年代中期,人们开始利用小规模集成电路来制作计算机,生产出第三代计算机。由 IBM 公司生产的第一台小规模集成电路计算机——360 机,较之于晶体管计算机, 无论在体积、功耗、速度和可靠性上,都有了显著的改善。虽然在开发 360 机器使用的操作系统时,为能在机器上运行多道程序而遇到了极大的困难,但最终还是成功地开发出能在一台机器中运行多道程序的操作系统OS/360
。
1. 多道程序设计的基本概念
为了进一步提高资源的利用率和系统吞吐量,在 20 世纪 60 年代中期又引入了多道程序设计技术,由此而形成了多道批处理系统(Multiprogrammed Batch Processing System
)。在该系统中,用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享 CPU
和系统中的各种资源。具体地说,在 OS
中引入多道程序设计技术可带来以下好处:
- 提高 CPU 的利用率。当内存中仅有一道程序时,每逢该程序在运行中发出
I/O
请求后,CPU
空闲,必须在其I/O
完成后CPU
才继续运行;尤其因I/O
设备的低速性,更使CPU
的利用率显著降低。在引入多道程序设计技术后,由于同时在内存中装有若干道程序,并使它们交替地运行,这样,当正在运行的程序因I/O
而暂停执行时,系统可调度另一道程序运行,从而保持了CPU
处于忙碌状态。 - 可提高内存和 I/O 设备利用率。为了能运行较大的作业,通常内存都具有较大容量, 但由于 80%以上的作业都属于中小型,因此在单道程序环境下,也必定造成内存的浪费。类似地,对于系统中所配置的多种类型的
I/O
设备,在单道程序环境下也不能充分利用。如果允许在内存中装入多道程序,并允许它们并发执行,则无疑会大大提高内存和I/O
设备的利用率。 - 增加系统吞吐量。在保持
CPU
、I/O
设备不断忙碌的同时,也必然会大幅度地提高系统的吞吐量,从而降低作业加工所需的费用。
2. 多道批处理系统的优缺点
虽然早在 20 世纪 60 年代就已出现了多道批处理系统,但至今它仍是三大基本操作系统类型之一。在大多数大、中、小型机中都配置了它,说明它具有其它类型 OS
所不具有的优点。多道批处理系统的主要优缺点如下:
- 资源利用率高。由于在内存中驻留了多道程序,它们共享资源,可保持资源处于忙碌状态,从而使各种资源得以充分利用。
- 系统吞吐量大。系统吞吐量是指系统在单位时间内所完成的总工作量。能提高系统吞吐量的主要原因可归结为:第一,CPU 和其它资源保持“忙碌”状态; 第二,仅当作业完成时或运行不下去时才进行切换,系统开销小。
- 平均周转时间长。作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。在批处理系统中,由于作业要排队,依次进行处理,因而作业的周转时间较长,通常需几个小时,甚至几天。
- 无交互能力。用户一旦把作业提交给系统后,直至作业完成,用户都不能与自己的作业进行交互,这对修改和调试程序是极不方便的。
3. 多道批处理系统需要解决的问题
多道批处理系统是一种有效、但十分复杂的系统。为使系统中的多道程序间能协调地运行,必须解决下述一系列问题。
- 处理机管理问题。在多道程序之间,应如何分配被它们共享的处理机,使 CPU 既能满足各程序运行的需要,又能提高处理机的利用率,以及一旦把处理机分配给某程序后, 又应在何时收回等一系列问题,属于处理机管理问题。
- 内存管理问题。应如何为每道程序分配必要的内存空间,使它们“各得其所”且不致因相互重叠而丢失信息,以及应如何防止因某道程序出现异常情况而破坏其它程序等问题,就是内存管理问题。
- I/O 设备管理问题。系统中可能具有多种类型的
I/O
设备供多道程序所共享,应如何分配这些I/O
设备,如何做到既方便用户对设备的使用,又能提高设备的利用率,这就是I/O
设备管理问题。 - 文件管理问题。在现代计算机系统中,通常都存放着大量的程序和数据(以文件形式存在),应如何组织这些程序和数据,才能使它们既便于用户使用,又能保证数据的安全性和一致性,这些属于文件管理问题。
- 作业管理问题。对于系统中的各种应用程序,其中有的属于计算型,即以计算为主的程序;有的属于
I/O
型,即以I/O
为主的程序;又有些作业既重要又紧迫;而有的作业则要求系统能及时响应,这时应如何组织这些作业,这便是作业管理问题。
为此,应在计算机系统中增加一组软件,用以对上述问题进行妥善、有效的处理。这组软件应包括:能控制和管理四大资源的软件,合理地对各类作业进行调度的软件,以及方便用户使用计算机的软件。正是这样一组软件构成了操作系统。据此,我们可把操作系统定义为:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
4、分时系统
1. 分时系统的产生
分时系统(Time Sharing System
)与多道批处理系统之间有着截然不同的性能差别,它能很好地将一台计算机提供给多个用户同时使用,提高计算机的利用率。它被经常应用于查询系统中,满足许多查询用户的需要。用户的需求具体表现在以下几个方面:
- 人机交互。由于新编程序难免有些错误或不当之处需要修改,因而希望能像早期使用计算机时一样对它进行直接控制,并能以边运行边修改的方式,对程序中的错误进行修改,亦即,希望能进行人机交互。
- 共享主机。在 20 世纪 60 年代计算机非常昂贵,不可能像现在这样每人独占一台微机,而只能是由多个用户共享一台计算机,但用户在使用机器时应能够像自己独占计算机一样,不仅可以随时与计算机交互,而且应感觉不到其他用户也在使用该计算机。
- 便于用户上机。在多道批处理系统中,用户上机前必须把自己的作业邮寄或亲自送到机房。这对于用户尤其是远地用户来说是十分不便的。用户希望能通过自己的终端直接将作业传送到机器上进行处理,并能对自己的作业进行控制。
由上所述不难得知,分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。
第一台真正的分时操作系统(CTSS
,Compatable Time Sharing System
)是由麻省理工学院开发成功的。继 CTSS
成功后,麻省理工学院又和贝尔实验室、通用电气公司联合开发出多用户多任务操作系统——MULTICS
,该机器能支持数百用户。值得一提的是,参加 MULTICS
研制的贝尔实验室的 Ken Thempson
,在 PDP-7
小型机上开发出一个简化的 MULTICS
版本,它就是当今广为流行的 UNIX
操作系统的前身。
2. 分时系统实现中的关键问题
为实现分时系统,必须解决一系列问题。其中最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。此后,用户可继续键入下一条命令,此即人机交互。应强调指出,即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理这些命令。
- 及时接收。要及时接收用户键入的命令或数据并不困难,为此,只需在系统中配置一个多路卡。例如,当要在主机上连接 8 个终端时,须配置一个 8 用户的多路卡。多路卡的作用是使主机能同时接收各用户从终端上输入的数据。此外,还须为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据)。
- 及时处理。人机交互的关键,是使用户键入命令后能及时地控制自己作业的运行, 或修改自己的作业。为此,各个用户的作业都必须在内存中,且应能频繁地获得处理机而运行;否则,用户键入的命令将无法作用到自己的作业上。
由此可见,为实现人机交互,必须彻底地改变原来批处理系统的运行方式。首先,用户作业不能先进入磁盘,然后再调入内存。因为作业在磁盘上不能运行,当然用户也无法与机器交互,因此,作业应直接进入内存。其次,不允许一个作业长期占用处理机,直至它运行结束或出现 I/O 请求后,方才调度其它作业运行。为此,应该规定每个作业只运行一个很短的时间(例如 0.1 秒钟,通常把这段时间称为时间片),然后便暂停该作业的运行,并立即调度下一个程序运行。如果在不长的时间(如 3 秒)内能使所有的用户作业都执行一次 (一个时间片的时间),便可使每个用户都能及时地与自己的作业交互,从而可使用户的请求得到及时响应。
3. 分时系统的特征
分时系统与多道批处理系统相比,具有非常明显的不同特征,由上所述可以归纳成以下四个特点:
- 多路性。**允许在一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务。**宏观上,是多个用户同时工作,共享系统资源;而微观上,则是每个用户作业轮流运行一个时间片。多路性即同时性,它提高了资源利用率,降低了使用费用,从而促进了计算机更广泛的应用。
- 独立性。每个用户各占一个终端,彼此独立操作,互不干扰。因此,用户所感觉到的,就像是他一人独占主机。
- 及时性。用户的请求能在很短的时间内获得响应。此时间间隔是以人们所能接受的等待时间来确定的,通常仅为 1~3 秒钟。
- 交互性。用户可通过终端与系统进行广泛的人机对话。其广泛性表现在:用户可以请求系统提供多方面的服务,如文件编辑、数据处理和资源共享等。
5、实时系统
所谓“实时”,是表示“及时”,而实时系统(Real Time System
)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
1. 应用需求
虽然多道批处理系统和分时系统已能获得较为令人满意的资源利用率和响应时间,从而使计算机的应用范围日益扩大,但它们仍然不能满足以下某些应用领域的需要。
- 实时控制。当把计算机用于生产过程的控制,以形成以计算机为中心的控制系统时, 系统要求能实时采集现场数据,并对所采集的数据进行及时处理,进而自动地控制相应的执行机构,使某些(个)参数(如温度、压力、方位等)能按预定的规律变化,以保证产品的质量和提高产量。通常把用于进行实时控制的系统称为实时系统。
- 实时信息处理。通常,人们把用于对信息进行实时处理的系统称为实时信息处理系统。该系统由一台或多台主机通过通信线路连接到成百上千个远程终端上,计算机接收从远程终端上发来的服务请求,根据用户提出的请求对信息进行检索和处理,并在很短的时间内为用户做出正确的响应。典型的实时信息处理系统有早期的飞机或火车的订票系统、情报检索系统等。
2. 实时任务
在实时系统中必然存在着若干个实时任务,这些任务通常与某个(些)外部设备相关,能反应或控制相应的外部设备,因而带有某种程度的紧迫性。可从不同的角度对实时任务加以分类。
- 按任务执行时是否呈现周期性来划分
- 周期性实时任务。外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备。
- 非周期性实时任务。外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间(
Deadline
)。它又可分为开始截止时间(某任务在某时间以前必须开始执行) 和完成截止时间(某任务在某时间以前必须完成)两部分。
- 根据对截止时间的要求来划分
- 硬实时任务(
Hard real-time Task
)。系统必须满足任务对截止时间的要求,否则可能
出现难以预测的结果。 - 软实时任务(
Soft real-time Task
)。它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。
3. 实时系统与分时系统特征的比较
实时系统有着与分时系统相似但并不完全相同的特点,下面从五个方面对这两种系统加以比较。
- 多路性。实时信息处理系统也按分时原则为多个终端用户服务。实时控制系统的多路性则主要表现在系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。而分时系统中的多路性则与用户情况有关,时多时少。
- 独立性。实时信息处理系统中的每个终端用户在向实时系统提出服务请求时,是彼此独立地操作,互不干扰;而实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰。
- 及时性。实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于 100 微秒。
- 交互性。实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理和资源共享等服务。
- 可靠性。分时系统虽然也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是无法预料的灾难性后果, 所以在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。
6、微机操作系统的发展
随着 VLSI
和计算机体系结构的发展,以及应用需求的不断扩大,操作系统仍在继续发展。由此先后形成了微机操作系统、网络操作系统等。
配置在微型机上的操作系统称为微机操作系统。最早诞生的微机操作系统是配置在8 位微机上的 CP/M
。后来出现了 16 位微机,相应地,16 位微机操作系统也就应运而生。当微机发展为 32 位、64 位时,32 位和 64 位微机操作系统也应运而生。可见,微机操作系统可按微机的字长来分,但也可将它按运行方式分为如下几类:
1. 单用户单任务操作系统
单用户单任务操作系统的含义是,只允许一个用户上机,且只允许用户程序作为一个任务运行。这是最简单的微机操作系统,主要配置在 8 位和 16 位微机上。最有代表性的单用户单任务微机操作系统是 CP/M
和 MS-DOS
。
- CP/M
1974 年第一代通用 8 位微处理机芯片Intel 8080
出现后的第二年,Digital Research
公司就开发出带有软盘系统的 8 位微机操作系统。1977 年Digital Research
公司对CP/M
进行了重写,使其可配置在以Intel 8080
、8085
、Z80
等 8 位芯片为基础的多种微机上。1979 年又推出带有硬盘管理功能的CP/M 2.2
版本。由于CP/M
具有较好的体系结构,可适应性强, 且具有可移植性以及易学易用等优点,使之在 8 位微机中占据了统治地位。 - MS-DOS
1981 年IBM
公司首次推出了IBM-PC
个人计算机(16 位微机),在微机中采用了微软公司开发的MS-DOS
(Disk Operating System
)操作系统,该操作系统在CP/M
的基础上进行了较大的扩充,使其在功能上有很大的增强。1983 年IBM
推出PC/AT
(配有Intel 80286
芯片), 相应地,微软又开发出MS-DOS 2.0
版本,它不仅能支持硬盘设备,还采用了树形目录结构的文件系统。1987 年又宣布了MS-DOS 3.3
版本。从MS-DOS 1.0
到 3.3 为止的 DOS 版本都属于单用户单任务操作系统,内存被限制在640 KB
。从 1989 年到 1993 年又先后推出了多个 MS-DOS 版本,它们都可以配置在Intel 80386
、80486
等 32 位微机上。从 20 世纪80 年代到 90 年代初,由于 MS-DOS 性能优越而受到当时用户的广泛欢迎,成为事实上的16 位单用户单任务操作系统标准。
2. 单用户多任务操作系统
单用户多任务操作系统的含义是,只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能。
目前在 32 位微机上配置的操作系统基本上都是单用户多任务操作系统,其中最有代表性的是由微软公司推出的 Windows。1985 年和 1987 年微软公司先后推出了 Windows 1.0 和 Windows 2.0 版本操作系统,由于当时的硬件平台还只是 16 位微机,对 1.0 和 2.0 版本不能很好的支持。1990 年微软公司又发布了 Windows 3.0 版本,随后又宣布了 Windows 3.1 版本,它们主要是针对 386 和 486 等 32 位微机开发的,较之以前的操作系统有着重大的改进,引入了友善的图形用户界面,支持多任务和扩展内存的功能,使计算机更好使用,从而成为 386 和 486 等微机的主流操作系统。
1995 年微软公司推出了 Windows 95,它较之以前的 Windows 3.1 有许多重大改进,采用了全 32 位的处理技术,并兼容以前的 16 位应用程序,在该系统中还集成了支持Internet
的网络功能。1998 年微软公司又推出了 Windows 95 的改进版 Windows 98,它已是最后一个仍然兼容以前的 16 位应用程序的 Windows,其最主要的改进是把微软公司自己开发的Internet
浏览器整合到系统中,大大方便了用户上网浏览,另一个特点是增加了对多媒体的支持。2001 年微软又发布了 32 位版本的 Windows XP,同时提供了家用和商业工作站两种版本,它是当前使用最广泛的个人操作系统。2001 年还发布了 64 位版本的 Windows XP。在开发上述 Windows 操作系统的同时,微软公司又开始开发网络操作系统 WindowsNT,它是针对网络开发的操作系统,在系统中融入了许多面向网络的功能,这里就不对它进行详细介绍了。
3. 多用户多任务操作系统
多用户多任务操作系统的含义是,允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行, 从而可进一步提高资源利用率和系统吞吐量。在大、中和小型机中所配置的大多是多用户多任务操作系统,而在 32 位微机上也有不少是配置的多用户多任务操作系统,其中最有代表性的是 UNIX OS
。
UNIX OS 是美国电报电话公司的 Bell 实验室在 1969~1970 年期间开发的,1979 年推出来的 UNIX V.7 已被广泛应用于多种中、小型机上。随着微机性能的提高,人们又将 UNIX 移植到微机上。在 1980 年前后,将 UNIX 第 7 版本移植到 Motorola 公司的 MC 680xx 微机上,后来又将 UNIX V7.0 版本进行简化后移植到 Intel 8080 上,把它称为 Xenix。现在最有影响的两个能运行在微机上的 UNIX 操作系统的变型是 Solaris OS
和 Linux OS
。
- Solaris OS:SUN 公司于 1982 年推出的 SUN OS 1.0 是一个运行在 Motorola 680x0 平台上的 UNIX OS。在 1988 年宣布的 SUN OS 4.0 把运行平台从早期的 Motorola 680x0 平台迁移到SPARC 平台,并开始支持 Intel 公司的 Intel 80x86;1992 年SUN 发布了Solaris 2.0。从 1998 年开始,Sun 公司推出 64 位操作系统 Solaris 2.7 和 2.8,这几款操作系统在网络特性、互操作性、兼容性以及易于配置和管理方面均有很大的提高。
- Linux OS:Linux 是 UNIX 的一个重要变种,最初是由芬兰学生 Linus Torvalds 针对 Intel 80386 开发的。1991 年在 Internet 网上发布第一个 Linux 版本,由于源代码公开,因此有很多人通过
Internet
与之合作,使 Linux 的性能迅速提高,其应用范围也日益扩大。相应地,源代码也急剧膨胀,此时它已是具有全面功能的 UNIX 系统,大量在 UNIX 上运行的软件(包括 1000 多种实用工具软件和大量的网络软件)被移植到 Linux 上,而且可以在主要的微机上运行,如 Intel 80x86 Pentium 等。