操作系统的组成、功能、种类和发展
内容提要:这是一篇高级科普文章。文章依次介绍了电脑操作系统的基本概念、发展历程、组成部分、功能和种类。
关键词:计算机电脑操作系统WindowsUNIXLinux微软IBM
(一)电脑操作系统的基本概念
在这里,“电脑”包括电子计算机和其它智能设备、装置(智能手机等)。
在计算机系统,操作系统(英语:OperatingSystem,简称OS)是最基本、最重要的基础性系统软件。操作系统是管理和控制计算机硬件与软件资源的计算机程序的集合,是直接运行在“裸机”上的最基本的系统软件。任何其它软件都必须在操作系统的支持下才能运行。从计算机用户的角度来说,操作系统体现为其提供的各项服务;从设计人员的角度来说,操作系统是指各式各样的系统模块和单元之间的联系。
操作系统位于底层硬件与用户之间,是两者沟通的桥梁和纽带。没有操作系统,计算机就是废物。
经过几十年的发展,计算机操作系统已经由一开始的简单控制循环体发展成为很复杂、很庞大的计算机软件系统。
计算机操作系统的主要功能是资源管理,程序控制和人机交互。
计算机系统的资源可分为设备资源和信息资源两大类。设备资源指的是组成计算机的硬件设备,如中央处理器,主存储器,磁盘存储器,磁带存储器,显示器,键盘输入设备和鼠标,打印机,等等。信息资源指的是存放于计算机内的各种数据,包括文件、程序库、知识库、系统软件和应用软件等。
有些操作系统很简单,例如智能设备的操作系统、控制系统的嵌入式操作系统。有些操作系统很复杂,例如桌面操作系统(Windows、MacOS等)、超级计算机的操作系统(服务器版Linux等)。
智能手机实质上是一种微型电脑。手机的操作系统主要是谷歌公司的Android(安卓)和苹果公司的iOS。它们也很复杂。
(二)计算机操作系统的发展历程
1939年,在美国爱阿华大学诞生了第一台电子计算机。这台计算机并没有很大使用价值。1946年,在美国宾夕法尼亚大学诞生了第一台实用的电子计算机。
最初的电子计算机没有操作系统,人们通过各种按钮来控制计算机。后来出现了汇编语言,操作人员通过有孔的纸带将程序输入计算机进行编译。这些将语言内置的计算机只能由设计人员自己编写程序来运行。
到了1960年代早期,计算机研制者制造了批次处理系统。此系统可将工作的设置、调度、执行序列化。此时,研制者为每一台不同型号的计算机制作不同的操作系统。
到了1964年,IBM公司在世界上首次推出了一系列用途与价位都不同的大型计算机IBMSystem/360。它们都共享代号为OS/360的操作系统。让单一操作系统适用于整个系列的产品是System/360成功的关键。为System/360所写的应用程序依然可以在现代的IBM机器上执行。
1964年,AT&T公司的贝尔实验室开发了操作系统UNIX。这是世界上第一个网络操作系统。此操作系统在1969年由C语言重写。UNIX适合于作网络操作系统,不适合做桌面操作系统。UNIX后来派生了很多个发行版:FreeBSD,GNU/Linux、IBMAIX,HP-UX,Solaris,Linux,等等。
随着计算机的核心硬件集成电路的发展,产生了微型计算机,并且迅速发展起来。20世纪70年代中期,开始出现了微型机操作系统。在1976年,美国DigitalResearch公司推出了第一个微型机操作系统:8位的CP/M操作系统。这个系统允许用户通过控制台的键盘对系统进行控制和管理。此后的磁盘操作系统DOS(DiskOperatingSystem)来源于CP/M,并且具有CP/M的全部功能。
1981年8月12诞生的IBM个人计算机(IBMPC)使用的就是DOS。
1977年4月,美国苹果公司最先推出了图形界面(GUI)操作系统,在微型机AppleI上运行。直到1984年,苹果公司才推出图形界面操作系统——MacOS。此操作系统与苹果公司的麦金托(Macintosh)电脑捆绑在一起。
1985年,微软公司推出微型机视窗操作系统Windows1.0。该系统没有得到用户普遍应用。1987年12月9日,Windows2.0发布。
1987年4月2日,操作系统OS/2问世。OS/2是IBM公司和微软公司共同开发的。后来,微软公司退出了开发团队,集中精力开发Windows。
1990年5月22日,Microsoft发布了具有里程碑意义的产品Windows3.0。
1991年10月5日,芬兰赫尔辛基大学研究生LinusTorvalds(林纳斯·托瓦兹)开发的Linux问世了。他在因特网上公开发布了源程序代码。Linux适于做网络操作系统和大型、巨型计算机的操作系统。
1995年8月24日,微软公司推出了Windows95。微软公司的Windows适合于作桌面操作系统,尤其是具有x86架构芯片的微型机。而英特尔公司研制的x86架构芯片微型机只能用Windows作操作系统。这样,就形成了稳泰尔(Wintel)联盟。
1996年4月,微软公司发布网络操作系统WindowsNT4.0,面向工作站、网络服务器和大型计算机。微软的最新网络操作系统是WindowsServer2019。
2001年10月,微软公司发布WindowsXP。
2005年12月23日,IBM宣布不再销售和支持OS/2系统。这样,IBMOS/2与微软Windows的竞争,以OS/2的失败告终。此后,稳泰尔联盟垄断了微型机芯片和操作系统的市场。
截至2013年底,微软公司几乎占据了用x86芯片的微型机市场的每一空间,将市场占到了极致。
微软公司最新的桌面操作系统是Windows10,于2014年10月1日发布。新系统的名称从Windows8跳到Windows10,跃过了数字“9”。
尽管微软的Windows占据桌面版操作系统的统治地位20多年,但是,Linux占据了全世界网络操作系统市场的70%以上,占据了巨型机操作系统市场的90%以上。
四个常用操作系统
(三)操作系统的组成部分和内核
(A)操作系统的组成部分
操作系统有下列四大部分组成:
一.驱动程序:最底层的、直接控制和监视各类硬件的部分。它们的职责是隐藏硬件的具体细节,并向其它部分提供一个抽象的、通用的接口。
二.内核:操作系统的内核部分通常运行在最高特权级,负责提供基础性、结构性的功能。
三.接口库:是一系列特殊的程序库。它们的职责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API)。这是最靠近应用程序的部分。
四.外围:指操作系统中除以上三类以外的所有其它部分,通常是用于提供特定高级服务的部件。
并不是所有的操作系统都严格包括上述四大部分。例如,在早期的微软Windows中,各部分耦合程度很深,难以区分彼此。而在使用外核结构的操作系统中,则根本没有驱动程序的概念。
操作系统中四大部分的不同布局形成了几种整体结构。常见的结构包括:简单结构,分层结构,微内核结构,垂直结构,以及虚拟机结构。
(B)操作系统的内核结构
内核是操作系统的核心,是最基础的构件。内核的结构有下列四种:
一.单内核(Monolithickernel),又称为宏内核。单内核结构是操作系统中各内核部件杂然混居的形态。该结构始于1960年代,是操作系统内核与外围分离时的最初形态。
二.微内核(Microkernel),又称为微核心。微内核结构是1980年代产生的,其结构性部件与功能性部件是分离的。
三.混合内核(Hybridkernel),像微内核结构,只不过它的组件更多地在核心中运行,以获得更快的执行速度。
四.外内核(Exokernel),其设计理念是尽可能地减少软件的抽象化。这使得开发者可以专注于硬件的抽象化。
大部分常用操作系统采用单内核结构,例如大部分的UNIX、Linux,以及Windows(微软声称WindowsNT是基于改良的微内核架构的)。有一些嵌入式操作系统使用外核。
(四)计算机操作系统的功能
计算机操作系统的基本功能是负责管理与配置内存、决定系统资源供需的先后次序、控制输入与输出设备、操作网络与管理文件系统等。
计算机操作系统主要包括以下五个方面的功能:
一.进程管理
进程管理的任务是进程调度。在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占,进程管理的工作十分简单。但在多道程序或多用户的情况下,组织多个作业或任务时,就要解决处理器的调度、分配和回收等问题。处理器可能是一个,也可能是多个。不同类型的操作系统将针对不同情况采取不同的进程调度策略
二.存储管理
存储管理包括存储分配,存储共享,存储保护,以及存储扩张。存储管理的主要任务是:分配内存空间,保证各作业占用的存储空间不发生矛盾,并使各作业在自己所属存储区中不互相干扰。
三.设备管理
负责管理各类外围设备,包括分配、启动和故障处理等。当用户使用外部设备时,必须提出要求,待操作系统进行统一分配后方可使用。当用户的程序运行到要使用某外设时,由操作系统负责驱动外设。操作系统还具有处理外设中断请求的能力。
四.文件管理
文件管理是指操作系统对信息资源的管理,包括文件存储空间的管理,目录管理,文件操作管理,以及文件保护。在操作系统中,将负责存取的管理信息的部分称为文件系统。文件是在逻辑上具有完整意义的一组相关信息的有序集合。每个文件都有一个文件名。文件管理支持文件的存储、检索和修改等操作,并且有文件的保护功能。
五.作业管理
每个用户请求计算机系统完成的一个独立的操作称为一个作业。作业管理包括作业的输入和输出,作业的调度与控制(根据用户的需要控制作业运行的步骤)。
(五)电脑操作系统的种类
电脑操作系统的种类繁多。各种设备安装的操作系统从简单到复杂,可分为智能卡(IC卡)操作系统,传感器节点操作系统,嵌入式操作系统,实时操作系统,桌面微型机操作系统,网络操作系统,大型机、巨型机操作系统,等等。
对操作系统进行分类,有两种方式:一是根据操作系统的功能分类,二是根据操作系统的应用领域分类。
(A)根据操作系统的功能分类
根据操作系统的功能,分别有实时系统、批处理系统、分时系统、网络操作系统等。
一.实时系统
实时系统主要是指系统可以迅速地对外部命令进行响应,在对应的时间里处理问题,协调系统工作。各种计算机控制系统的操作系统都是实时系统。
二.分时系统
在分时系统,多个用户共同使用一台主机,满足用户的人机交互需要。分时系统具有多路性、独立性、交互性、及时性等优点。这是主机-用户-终端架构的系统。早期的大型机操作系统都是这种架构的分时系统。IBM公司的OS/360就是这种系统。
三.批处理系统
批处理系统出现在20世纪60年代。多个用户在终端提交任务,批处理系统按照预定的规则分期、分批处理各项任务。批处理系统能够提高资源的利用率和系统的吞吐量。IBM公司的OS/360也是一种批处理系统。
四.网络操作系统
是向网络计算机提供服务的特殊的操作系统。网络系统分为服务器和客户端。服务器的主要功能是管理服务器和网络上的各种资源和网络设备的共用。客户端有着能接收应用服务器所传递的信息的功能。
(B)根据操作系统的应用领域分类
根据操作系统的应用领域划分,主要有三种:桌面操作系统、服务器操作系统和嵌入式操作系统。
一.桌面操作系统
桌面操作系统主要用于个人计算机(微型机)上。个人计算机市场从硬件架构上来说主要分为两大阵营,PC机与Mac机;从软件上来说主要分为两大类,Windows操作系统和类UNIX操作系统:
1、微软公司Windows操作系统:WindowsXP,WindowsME,Windows8,Windows10,等等。
2、类UNIX操作系统:MacOSX,以及Linux各种发行版(如RedHat、Debian、Ubuntu、openSUSE,Fedora等)。
二.服务器操作系统
服务器操作系统一般指的是安装在大型计算机上的操作系统,比如Web服务器、应用服务器和数据库服务器等。服务器操作系统主要有下列三大类:
1、UNIX系列:FreeBSD,SUNSolaris,IBMAIX,HP-UX,等等。
2、Linux系列:GNU/Linux,RedHatLinux,Debian,Ubuntu,等等。
3、Windows系列:WindowsNT,WindowsServer2003,WindowsServer2008,WindowsServer2019。
三.嵌入式操作系统
嵌入式系统是以应用为中心,以计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软件硬件模块的专用电脑系统。
嵌入式系统由硬件和软件组成。嵌入式系统的软件包括操作系统、中间件和应用程序。嵌入式系统的硬件包括信号处理器、存储器、通信模块(输入输出接口)等。
嵌入式操作系统(EmbeddedOperatingSystem,EOS)是指用于嵌入式系统的操作系统。该系统负责嵌入式系统的全部软件、硬件资源的分配,任务调度,控制、协调系统的活动。
嵌入式系统广泛地应用在生活、生产的各个方面,从便携式设备到大型固定设施,如手机、平板电脑、数码相机、家用电器、医疗设备、交通灯、航空电子设备和工厂控制设备,等等。复杂的嵌入式系统安装有实时操作系统。
在嵌入式领域常用的操作系统有µC/OS-III、嵌入式Linux、WindowsEmbedded、VxWorks等。
在智能手机或平板电脑等消费电子产品使用的嵌入式操作系统,有Android、iOS、Symbian、WindowsPhone、BlackBerryOS,以及华为公司的鸿蒙系统(HarmonyOS)。
某些情况下,嵌入式系统的OS(操作系统)指的是一个内置了固定应用软件的巨大多功能程序。在许多最简单的嵌入式系统中,所谓的OS就是指其上唯一的应用程序。