Linux操作系统基础案例教程
上QQ阅读APP看书,第一时间看更新

1.4 操作系统

操作系统(Operating System,OS)是有效管理计算机系统中的各种资源,合理组织计算机的工作流程,以方便用户使用的一组软件的集合。操作系统抽象层级结构如图1-6所示。

图1-6 计算机系统的抽象层次结构

操作系统是现代计算机系统的重要组成部分,它是计算机系统运行和工作必不可少的软件,各种类型的计算机系统都离不开操作系统。由图1-6可以看出,操作系统是在计算机硬件的基础上对硬件进行的扩充,它是计算机系统中最核心的系统软件,其他的系统软件和应用软件都是在操作系统的基础上构建起来的。

操作系统介于计算机硬件和计算机用户之间,它与计算机硬件、软件、应用系统,以至于计算机用户都有千丝万缕的联系。一台没有任何软件配置和支持的计算机被称为“裸机”,要让裸机接受用户发出的命令,执行相应的操作是非常困难的。操作系统在硬件之上建立了一个服务体系,为操作系统以外的系统软件和应用软件提供了强大的支持,用户通过这个服务体系操作和使用计算机系统,面对的是一个非常友好的、方便的环境界面,因而用户面对的是一个更加易于使用的计算机系统。

现代操作系统具有以下主要特征。

(1)并发性(Concurrence)

在操作系统中,并发是指多个事件在同一时间间隔内发生。对计算机而言,并发是指在一段时间内,多道程序“在宏观上同时运行”。显然,多道和并发是同一个事物的两个方面,正是由于多道程序设计的实现才导致了多个程序的并发执行。而程序的并发执行导致了多个程序竞争一台计算机,使得并行运行中的任何一个程序都处于已开始运行但又未结束的状态。现代操作系统是并发系统的管理机构,其本身就是与用户程序一起并发执行的。程序的并发执行带来了程序串行执行所没有的新问题,并导致操作系统对程序管理的复杂化,以及操作系统本身的复杂化。

(2)虚拟性(Virtual)

虚拟是指把一个物理实体映射为多个逻辑意义上的实体。前者是客观存在的,后者是虚构的,是一种感觉性的存在,即主观上的一种假象。例如,在多道程序系统中,虽然只有一个CPU,每次只能执行一个程序,但采用多道程序技术后,在一段时间间隔内,宏观上有多个程序在运行。在用户看来,就好像有多个CPU在各自运行自己的程序。这种情况就是将一个物理的CPU虚拟为多个逻辑上的CPU。逻辑上的CPU称为虚拟处理机,类似的还有虚拟存储器和虚拟设备等。

(3)共享性(Sharing)

操作系统是多道程序的管理机构。它使多个用户作业共享有限的计算机系统资源。由于资源是共享的,就必然会导致如何在多个作业之间合理地分配和使用资源,并且如何充分发挥计算机系统资源的利用效率的问题。

(4)不确定性(Nondeterministic)

所谓操作系统的不确定性,是指在操作系统控制下多个作业的执行顺序和每个作业的执行时间是不确定的。例如,有三个作业,两次或多次运行的执行序列可能不相同,每一个作业占有计算机的时间也可能不相同。

在计算机发展过程中,产生许多应用于不同类型计算机,具有不同功能、不同特点的操作系统,下面介绍几种当前主流的操作系统。

(1)Windows操作系统

从20世纪90年代起,在个人操作系统领域,微软公司的Windows操作系统系列占据着主流地位。目前流行的有Windows 2000、Windows Server 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 10、Windows Server 2008、Windows Server 2012等。

Windows操作系统特点如下:

•具有丰富多彩的图形用户界面,以全新的图标、菜单和对话方式支持用户操作,使计算机的操作更方便、更容易。

•支持多任务运行,多任务之间可方便地切换和交换信息。

•充分利用硬件的潜在功能,提供了虚拟存储功能等内存管理能力。

•提供了方便可靠的用户操作管理,如程序管理器、文件管理器、打印管理器、控制面板等操作,可完成对文件、任务和设备的并行管理。

•在操作系统本身,提供了功能强大的、方便使用的工具软件和实用软件,如字处理软件、绘图软件、通信软件、办公实用化软件等。

(2)UNIX操作系统

UNIX操作系统是全球闻名的功能强大的分时多用户多任务操作系统,最早由美国电话与电报公司(AT&T)贝尔实验室研制。在1969年以来,广泛应用于大、中、小型计算机上。随着微型机系统功能的增强,逐渐下移配置到个人计算机和微机工作站上。它的早期微机版本被称为XENIX系统,目前,已将UNIX系统的4.x版本在微机上实现运行。UNIX系统是一种开放式的操作系统,它具有以下特点:

•它是一个真正的多用户、多任务的操作系统,也是一种著名的分时操作系统。

•具有短小精悍的系统内核和功能强大的核外程序,前者提供系统基本服务,后者则向用户提供功能强大的服务,这种两层结构既方便了系统应用和维护,又方便了系统的扩充。

•具有典型的树状结构的文件系统,并可建立可拆卸的文件子系统(文件存储系统)。

•具有良好的可移植性,便于系统开发和应用程序开发。

•虽然用户操作界面多采用命令行方式,但其强有力的shell编程环境,既成为命令解释工具,又成为一种编程语言。并具有X Window等强大的图形显示环境。

(3)Linux操作系统

Linux操作系统是UNIX操作系统在微机上的实现,它最早于1991年开发出来并在网上免费发行。Linux的开发得到了Internet上许多UNIX程序员和爱好者的帮助,可以说它是由一些人员自发开发出来的操作系统,整个操作系统的设计是开放式和功能式的。它具有如下特点:

•Linux是一个完全多任务多用户操作系统,同时融合了网络操作系统的功能。允许多用户同时登录到一台机器上同时运行多道程序。它还支持虚拟控制台,这种虚拟控制台可使用户在多个登录上进行转换。

•Linux可支持各种类型的文件系统。ext2文件系统已被设计为Linux专用。

•Linux提供TCP/IP网络协议的实现。支持多种以太网卡及个人计算机的接口。同时还支持TCP/IP客户与服务器功能,如WWW、FTP、Telnet等。

•Linux支持字符和图形界面。它支持多种显示器,是一个完整的X窗口软件。