计算机软件系统概述
计算机软件系统概述计算机软件系统概述 操作系统基础知识操作系统基础知识 数据输入、数据处理和数据输出等任务。软件可保证硬 件的功能得以充分发挥,并为用户提供良好的工作环境。本 章按照网络管理员考试大纲的要求,首先简述计算机软件系 统和软件技术的发展,再重点介绍操作系统的基本原理,以 及几个常用的操作系统。 计算机软件系统概述计算机软件系统概述 软件系统是指为运行、管理和维护计算机而编制的各种 程序、数据和文档的总称。程序是完成某一任务的指令或语 句的有序集合;数据是程序处理的对象和处理的结果;文档 是描述程序操作及使用的相关资料。计算机的软件是计算机 硬件与用户之间的一座桥梁。 计算机软件按其功能分为应用软件和系统软件两大类。 用户与计算机系统各层次之间的关系如图 3-1 所示。 图 3-1用户与计算机系统各层次之间的关系 1 1.系统软件.系统软件 系统软件是指控制计算机的运行,管理计算机的各种资 源,并为应用软件提供支持和服务的一类软件。其功能是方 便用户,提高计算机使用效率,扩充系统的功能。系统软件 具有两大特点:一是通用性,其算法和功能不依赖特定的用 户,无论哪个应用领域都可以使用;二是基础性,其他软件 都是在系统软件的支持下开发和运行的。 系统软件是构成计算机系统必备的软件,系统软件通常 包括以下几种。 1 1)操作系统)操作系统 操作系统(Operating System,OS)是管理计算机的各 种资源、自动调度用户的各种作业程序、处理各种中断的软 件。它是计算机硬件的第一级扩充,是用户与计算机之间的 桥梁,是软件中最基础和最核心的部分。它的作用是管理计 算机中的硬件、软件和数据信息,支持其他软件的开发和运 行,使计算机能够自动、协调、高效地工作。 操作系统多种多样, 目前常用的操作系统有 DOS、 OS/2、 UNIX、 Linux、 NetWare、 Windows 2000、 Windows XP/Vista、 Windows NT、Windows 2003 和 Windows 2008 等。 2 2)程序设计语言)程序设计语言 人们要使用计算机,就必须与计算机进行交流,要交流 就必须使用计算机语言。目前,程序设计语言可分为 4 类: 机器语言、汇编语言、高级语言及第四代高级语言。 机器语言是计算机硬件系统能够直接识别的、不需翻译 的计算机语言。机器语言中的每一条语句实际上是一条二进 制数形式的指令代码,由操作码和操作数组成。操作码指出 进行什么操作;操作数指出参与操作的数或在内存中的地 址。用机器语言编写程序时工作量大、难于使用,但执行速 度快。它的指令二进制代码通常随 CPU 型号的不同而不同, 不能通用,因而说它是面向机器的一种低级语言。通常不用 机器语言直接编写程序。 汇编语言是为特定计算机或计算机系列设计的。汇编语 言用助记符代替操作码,用地址符号代替操作数。由于这种 “符号化“的做法,因而汇编语言也称为符号语言。用汇编语 言编写的程序称为汇编语言程序。汇编语言程序比机器语言 程序易读、易检查、易修改,同时又保持了机器语言执行速 度快、占用存储空间少的优点。汇编语言也是面向机器的一 种低级语言,不具备通用性和可移植性。 高级语言是由各种意义的词和数学公式按照一定的语 法规则组成的,它更容易阅读、理解和修改,编程效率高。 高级语言不是面向机器的, 而是面向问题, 与具体机器无关, 具有很强的通用性和可移植性。高级语言的种类很多,有面 向过程的语言,例如 FORTRAN、BASIC、PASCAL、C 等;有面 向对象的语言,例如,C++、Visual Basic、Java 等。 不同的高级语言有不同的特点和应用范围。FORTRAN 语 言是 1954 年提出的,是出现最早的一种高级语言,适用于 科学和工程计算;BASIC 语言是初学者的语言,简单易学, 人机对话功能强;PASCAL 语言是结构化程序语言,适用于教 学、科学计算、数据处理和系统软件开发,目前逐步被 C 语 言所取代;C 语言程序简练、功能强,适用于系统软件、数 值计算和数据处理等,已成为目前高级语言中使用最多的语 言之一;C++、Visual Basic 等面向对象的程序设计语言, 给非计算机专业的用户在 Windows 环境下开发软件带来了方 便; Java 语言是一种基于 C++的跨平台分布式程序设计语言。 40 余年来,高级语言发生了巨大的变化,但从根本上说,上 述的通用语言仍是“过程化语言“。编码的时候,要详细描述 问题求解的过程,告诉计算机每一步应该“怎样做“。为了把 程序员从繁重的编码中解放出来,还需寻求进一步提高编码 效率的新语言,这就是第四代高级语言(4GL)产生的背景。 对于 4GL 语言,迄今仍没有统一的定义。一般认为,3GL 是 过程化的语言,目的在于高效地实现各种算法;4GL 则是非 过程化的语言,目的在于直接实现各类应用系统。前者面向 过程,需要描述“怎样做“;后者面向应用,只需说明“做什 么“。 3 3)语言处理程序)语言处理程序 将计算机不能直接执行的非机器语言源程序,翻译成能 直接执行的机器语言的语言翻译程序,总称为语言处理程 序。 各种高级语言和汇编语言均配有语言处理程序,它们将 高级语言和汇编语言编写的程序(源程序)翻译为机器所能 理解的机器语言程序(目标程序)。翻译的方法有两种:解 释方式和编译方式。前者是对源程序的每个语句边解释边执 行,这种方式灵活方便,但效率较低;后者则是把全部源程 序一次性翻译处理后,产生一个等价的目标程序,然后再去 执行。这种方式效率较高,但不够灵活。早期的高级语言要 么是解释方式,要么是编译方式。近年来新发展的语言常常 是一个集成环境,既有解释方式的灵活性,又有编译方式的 高效性,如Turbo 系列的 PASCAL、C、BASIC 和 Visual 系列 的 C、BASIC、PASCAL、FoxPro 等。 4 4)数据库管理系统)数据库管理系统 利用数据库系统可以有效地保存和管理数据,并利用这 些数据得到各种有用的信息。数据库系统主要包括数据库和 数据库管理系统。数据库是按一定方式组织起来的数据集 合。数据库管理系统具有建立、维护和使用数据库的功能; 具有使用方便、高效的数据库编程语言的功能;并能提供数 据共享和安全性保障。数据库管理系统按数据模型的不同, 分为层次型、网状型和关系型 3 种类型。其中关系型数据库 使用最为广泛, 例如, SQL Server、 FoxPro、 Oracle、 Access、 Sybase、MySQL 等都是常用的关系型数据库管理系统。 5 5)工具软件)工具软件 工具软件又称为服务性程序,是在系统开发和系统维护 时使用的工具,完成一些与管理计算机系统资源及文件有关 的任务,包括编辑程序、链接程序、计算机测试和诊断程序 等。这种程序需要操作系统的支持,而它们又支持软件的开 发和维护。 测试工具是指测试软件正确性的工具。测试工具主要有 两种类型的工具,一类是调试工具,用来帮助软件设计人员 排除软件错误,如汇编调试工具 Debug,面向源代码的调试 工具 Turbo Debugger、CodeView 等