第一篇 操作系统的基本原理
第1章 操作系统概论
1.1 操作系统的定义
1.计算机系统的组成
随着计算机技术的迅速发展,计算机系统的硬件和软件资源越来越丰富。从功能上,可把整个计算机系统划分为四个层次:硬件、操作系统、实用程序和应用程序,如图1.1所示。这四层的关系表现为一种单向调用关系,即外层的软件必须以事先约定的方式调用内层软件或硬件提供的服务。通常把这种约定称为界面或接口(interface)。下面简单介绍一下各个层次的特点。
图1.1 计算机系统的组成
(1)硬件
硬件层由计算机的硬件资源组成,它包括中央处理机(简称CPU)、存储器和输入/输出设备。其中,存储器包括主存和辅助存储器(又叫外存,包括磁盘、磁带、光盘等);输入设备包括卡片或纸带输入机、键盘、鼠标、图形扫描仪等;输出设备有卡片或纸带输出机、显示器、打印机、绘图机等。这种不加任何扩充的计算机称为裸机。一个裸机的功能即使很强,用户也很难使用,因为这些裸机的部件是通过执行机器指令来实现计算和输入/输出功能的。
(2)操作系统
操作系统是整个计算机系统的管理和控制中心。一个计算机如果没有操作系统,整个系统将无法工作。
(3)实用程序
实用程序层包括下面一些程序,且它们通常是驻留在磁盘上的。
① 各种语言编译程序。语言编译程序包括高级语言和汇编语言的编译和汇编程序。
② 文本编辑程序。文本编辑程序是用来建立和修改用户的源程序或其他文本数据的,这类程序种类繁多,功能各异,有面向行的和面向全屏幕的。
③ 调试排错程序。它用来帮助用户调试程序,从而方便地找出程序中的逻辑错误。
④ 连接装配和装入程序。连接装配程序把用户独立编译好的各目标程序连接装配成一个可执行的程序。而装入程序,则负责将一个可执行程序装入到主存运行。
还有一些实用程序,如标准过程和函数、系统诊断程序、文件加密/解密程序以及用户连网使用的Internet浏览器等。总之,这些实用程序为用户提供了一个良好的使用计算机系统环境。
(4)应用程序
应用程序是计算机系统的最外层软件,它主要负责解决用户的实际问题。这些程序通常由用户或专门的软件公司编制。这类软件比较丰富,如各种数据库管理软件、计算机辅助设计软件、各种事务处理软件(如制表软件、Web浏览器)等。
2.操作系统的定义和设计目标
为了深入、全面地理解操作系统的含义,从以下两个方面来阐述:
① 从计算机系统设计者的角度看,操作系统是由一系列程序模块组成的一个大的系统管理程序,它依据设计者设计的各种管理和调度策略,对计算机的硬件和软件(程序和数据)资源进行管理和调度,合理地组织计算机的工作流程,从而提高资源的利用效率。由此可认为,操作系统是计算机软硬件资源的管理和控制程序。
② 从用户角度看,配上操作系统的计算机是一台比裸机功能更强、使用更方便简单的虚拟机。也即,它是用户与计算机系统之间的一个接口界面,用户通过它来使用计算机。它向用户及其程序提供了一个良好的使用计算机的环境。它使系统变得容易维护、安全可靠、容错能力强和更加有效。
从上述两个角度可总结出,设计操作系统的目标有两个:一个是使用户方便、简单地使用计算机系统,另一个就是使计算机系统能高效可靠地运转。故操作系统是现代计算机系统不可缺少的关键部件。计算机系统越复杂,操作系统越显得重要。为此,有必要了解操作系统的组成和功能,以便更好地利用计算机进行系统和应用开发。这正是本书要讨论的主题。