计算机应用基础(一级MS Office教程)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3 操作系统概述

2.3.1 操作系统的概念

操作系统(Operating System,简称OS)是管理和控制计算机硬件资源与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统相当于是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。

2.3.2 操作系统的功能

操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户需求。以现代观点而言,一台标准的个人计算机的OS应该提供以下的功能。

1.资源管理

系统的设备资源和信息资源都是操作系统根据用户需求按一定的策略来进行分配和调度的。操作系统的存储管理就负责把内存单元分配给需要内存的程序以便让它执行,在程序执行结束后将它占用的内存单元收回以便再使用。对于提供虚拟存储的计算机系统来说,操作系统还要与硬件配合做好页面调度工作,根据执行程序的要求分配页面,在执行中将页面调入和调出内存,以及回收页面等。

2.处理器管理

处理器管理是操作系统资源管理功能的另一个重要内容。在一个允许多道程序同时执行的系统里,操作系统会根据一定的策略将处理器交替地分配给系统内等待运行的程序。一道等待运行的程序只有在获得了处理器后才能运行。一道程序在运行中若遇到某个事件,操作系统就要来处理相应的事件,然后将处理器重新分配。

3.设备管理

设备管理主要是分配和回收外部设备及控制外部设备按用户程序的要求进行操作等。对于非存储型外部设备,如打印机、显示器等,它们可以直接作为一个设备分配给一个用户程序,在使用完毕后回收,以便给另一个需求的用户使用。对于存储型的外部设备,如磁盘、磁带等,则是提供存储空间给用户,用来存放文件和数据。存储型外部设备的管理与信息管理是密切结合的。

4.信息管理

信息管理是操作系统的一个重要的功能,主要是向用户提供一个文件系统。一般来说,一个文件系统向用户提供创建文件、撤销文件、读写文件、打开和关闭文件等功能。有了文件系统后,用户可按文件名存取数据而无须知道这些数据存放在哪里。这种做法不仅便于用户使用,而且有利于用户共享公共数据。此外,由于文件建立时允许创建者规定使用权限,这样就可以保证数据的安全性。

5.程序控制

一个用户程序的执行自始至终是在操作系统的控制下进行的。一个用户将他要解决的问题用某一种程序设计语言编写了一个程序后就将该程序连同对它执行的要求输入到计算机内,操作系统就根据要求控制这个用户程序的执行直到结束。操作系统控制用户的执行主要有以下一些内容:调入相应的编译程序,将用某种程序设计语言编写的源程序编译成计算机可执行的目标程序,分配内存储等资源将程序调入内存并启动,按用户指定的要求处理执行中出现的各种事件,以及与操作员联系请示有关意外事件的处理等。

6.人-机交互

操作系统的人-机交互功能是决定计算机系统“友善性”的一个重要因素。人-机交互功能主要依靠可输入/输出的外部设备和相应的软件来完成。可供人-机交互使用的设备主要有键盘、显示器、鼠标、各种模式识别设备等。与这些设备相应的软件就是操作系统提供人-机交互功能的部分。人-机交互功能的部分的主要作用是控制有关设备的运行和理解,并执行通过人-机交互设备传来的有关的各种命令和要求。

7.进程管理

不管是常驻程序,还是应用程序,它们都以进程为标准执行单位。当年运用冯·诺依曼架构建造计算机时,每个中央处理器最多只能同时执行一个进程。早期的OS(例如DOS)也不允许任何程序打破这个限制,且DOS同时只能执行一个进程(虽然DOS自己宣称它们拥有中止并等待驻留(TSR)功能,可以部分且艰难地解决这问题)。现代的操作系统,即使只拥有一个CPU,也可以利用多进程(Multiple Processes)功能同时执行复数进程。进程管理指的是操作系统调整复数进程的功能。

由于大部分的计算机只包含一个中央处理器,在单内核(Monolithic Kernel)的情况下多进程只是简单迅速地切换各进程,让每个进程都能够执行,在多内核(Exokernel)或多处理器的情况下,所有进程通过许多协同技术在各处理器或内核上转换。越多进程同时执行,每个进程能分配到的时间比率就越小。很多OS在遇到此问题时会出现诸如声音断续或鼠标跳格的情况(称作崩溃,Thrashing)。一种OS只能不停地执行自己的管理程序并耗尽系统资源的状态,其他使用者或硬件的程序皆无法执行。进程管理通常实现了分时的概念,大部分的OS可以利用指定不同的特权等级(Priority),为每个进程改变所占的分时比例。特权越高的进程,执行优先级越高,单位时间内占的比例也越高。交互式OS也提供某种程度的回馈机制,让直接与使用者交互的进程拥有较高的特权值。

8.内存管理

根据帕金森定律:“你给程序再多内存,程序也会想尽办法耗光”,因此程序员通常希望系统给他无限量且无限快的存储器。大部分的现代计算机存储器架构都是层次结构式的,最快且数量最少的暂存器为首,然后是高速缓存、存储器和最慢的磁盘存储设备。而操作系统的存储器管理提供查找可用的记忆空间、配置与释放记忆空间,以及交换存储器和低速存储设备的内含物等功能。此类又被称作虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,即使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低运行效率的缺点,严重时甚至也会导致进程崩溃。

9.存储器管理

另一个重点活动就是借由CPU的帮助来管理虚拟位置。如果同时有许多进程存储于记忆设备上,操作系统必须防止它们互相干扰对方的存储器内容(除非通过某些协定在可控制的范围下操作,并限制可访问的存储器范围)。分区存储器空间可以达成目标。每个进程只会看到整个存储器空间(从0到存储器空间的最大上限)被分配给它自己(当然,有些位置被操作系统保留但禁止访问)。CPU事先存了几个表以比对虚拟位置与实际存储器位置,这种方法称为标签页(Paging)配置。借由对每个进程产生分开独立的位置空间,操作系统也可以轻易地一次释放某进程所占据的所有存储器。如果这个进程不释放存储器,操作系统可以退出进程并将存储器自动释放。

10.虚拟内存

虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常被分割成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

在早期的单用户单任务操作系统(如DOS)中,每台计算机只有一个用户,每次运行一个程序,且程序不是很大,单个程序完全可以存放在实际内存中。这时虚拟内存并没有太大的用处。但随着程序占用存储器容量的增长和多用户多任务操作系统的出现,在程序设计时,在程序所需要的存储量与计算机系统实际分配的主存储器的容量之间往往存在着矛盾。为此,希望在编写程序时独立编址,既不考虑程序是否能在物理存储中存放得下,也不考虑程序应该存放在什么物理位置。而在程序运行时,则分配给每个程序一定的运行空间,由地址转换部件将编程时的地址转换成实际内存的物理地址。如果分配的内存不够,则只调入当前正在运行的或将要运行的程序块(或数据块),其余部分暂时驻留在辅存中。

在众多常用的操作系统之中,除了QNX和基于Mach的UNIX等个别系统外,几乎全部采用单内核结构,例如大部分的UNIX、Linux,以及Windows(微软声称Windows NT是基于改良的微内核架构的,尽管理论界对此存有异议)。微内核结构和超微内核结构主要用于研究性操作系统,还有一些嵌入式系统使用外核。

2.3.3 操作系统的分类

2.3.3.1 常见分类

操作系统种类繁多,很难用单一标准统一分类。常见的有以下几种。

根据应用领域,可分为桌面操作系统、服务器操作系统、嵌入式操作系统。

根据所支持的用户数目,可分为单用户操作系统(如MS-DOS、OS/2、Windows)、多用户操作系统(如UNIX、Linux、MVS)。

根据源码开放程度,可分为开源操作系统(如Linux、FreeBSD)和闭源操作系统(如Mac OS X、Windows)。

根据硬件结构,可分为网络操作系统(NetWare、Windows NT、OS/2 Warp)、多媒体操作系统(Amiga)和分布式操作系统等。

根据操作系统的使用环境和对作业的处理方式来考虑,可分为批处理操作系统(如MVX、DOS/VSE)、分时操作系统(如Linux、UNIX、XENIX、Mac OS X)、实时操作系统(如IEMX、VRTX、RTOS,Windows RT)。

根据存储器寻址的宽度,可以将操作系统分为8位、16位、32位、64位、128位的操作系统。早期的操作系统一般只支持8位和16位存储器寻址宽度,现代的操作系统如Linux和Windows 7都支持32位和64位。

根据操作系统的技术复杂程度,可分为简单操作系统、智能操作系统(见智能软件)。所谓简单操作系统,指的是计算机初期所配置的操作系统,如IBM公司的磁盘操作系统DOS/360和微型计算机的操作系统CP/M等。这类操作系统的功能主要是操作命令的执行、文件服务、支持高级程序设计语言编译程序和控制外部设备等。

2.3.3.2 根据应用领域的分类介绍

1.桌面操作系统

桌面操作系统主要用于个人计算机,从硬件架构上来说主要分为两大阵营,PC机与Mac机;从软件上来说主要分为UNIX和类UNIX操作系统、Windows操作系统。

(1)UNIX和类UNIX操作系统:Mac OS X、Linux发行版(如Debian、Ubuntu、Linux Mint、OpenSUSE、Fedora等)。

(2)Windows操作系统:Windows XP、Windows Vista、Windows 7、Windows 10、Windows NT等。

2.服务器操作系统

服务器操作系统一般指的是安装在大型计算机上的操作系统,比如Web服务器、应用服务器和数据库服务器等。服务器操作系统主要集中在以下三大类。

(1)UNIX系列:SUN Solaris、IBM AIX、HP-UX、FreeBSD等。

(2)Linux系列:Red Hat Linux、CentOS、Debian、Ubuntu等。

(3)Windows系列:Windows Server 2008、Windows Server 2008 R2等。

3.嵌入式操作系统

嵌入式操作系统是应用在嵌入式系统的操作系统。嵌入式操作系统广泛应用在生活的各个方面,涵盖范围从便携设备到大型固定设施,如数码相机、手机、平板电脑、家用电器、医疗设备、交通灯、航空电子设备等,越来越多的嵌入式系统安装有实时操作系统。

在嵌入式领域常用的操作系统有嵌入式Linux、Windows Embedded、VxWorks等,以及广泛使用在智能手机或平板电脑等电子消费产品的操作系统,如Android、iOS、Symbian、Windows Phone和BlackBerry OS等。