计算机软件系统概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机软件系统概述
操作系统基础知识
数据输入、数据处理和数据输出等任务。软件可保证硬件的功能得以充分发挥,并为用户提供良好的工作环境。本章按照网络管理员考试大纲的要求,首先简述计算机软件系统和软件技术的发展,再重点介绍操作系统的基本原理,以及几个常用的操作系统。
计算机软件系统概述
软件系统是指为运行、管理和维护计算机而编制的各种程序、数据和文档的总称。程序是完成某一任务的指令或语句的有序集合;数据是程序处理的对象和处理的结果;文档是描述程序操作及使用的相关资料。计算机的软件是计算机硬件与用户之间的一座桥梁。
计算机软件按其功能分为应用软件和系统软件两大类。用户与计算机系统各层次之间的关系如图3-1所示。
1.系统软件
系统软件是指控制计算机的运行,管理计算机的各种资源,并为应用软件提供支持和服务的一类软件。其功能是方便用户,提高计算机使用效率,扩充系统的功能。系统软件具有两大特点:一是通用性,其算法和功能不依赖特定的用户,无论哪个应用领域都可以使用;二是基础性,其他软件都是在系统软件的支持下开发和运行的。
系统软件是构成计算机系统必备的软件,系统软件通常包括以下几种。
1)操作系统
操作系统(Operating System,OS)是管理计算机的各种资源、自动调度用户的各种作业程序、处理各种中断的软件。它是计算机硬件的第一级扩充,是用户与计算机之间的桥梁,是软件中最基础和最核心的部分。它的作用是管理计算机中的硬件、软件和数据信息,支持其他软件的开发和运行,使计算机能够自动、协调、高效地工作。
操作系统多种多样,目前常用的操作系统有DOS、OS/2、UNIX、Linux、NetWare、Windows 2000、Windows XP/Vista、Windows NT、Windows 2003和Windows 2008等。
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)语言处理程序
将计算机不能直接执行的非机器语言源程序,翻译成能直接执行的机器语言的语言翻译程序,总称为语言处理程序。
各种高级语言和汇编语言均配有语言处理程序,它们将高级语言和汇编语言编写的程序(源程序)翻译为机器所能理解的机器语言程序(目标程序)。翻译的方法有两种:解释方式和编译方式。前者是对源程序的每个语句边解释边执行,这种方式灵活方便,但效率较低;后者则是把全部源程序一次性翻译处理后,产生一个等价的目标程序,然后再去执行。这种方式效率较高,但不够灵活。早期的高级语言要么是解释方式,要么是编译方式。近年来新发展的语言常常是一个集成环境,既有解释方式的灵活性,又有编译方式的高效性,如Turbo系列的PASCAL、C、BASIC和Visual 系列的C、BASIC、PASCAL、FoxPro等。
4)数据库管理系统
利用数据库系统可以有效地保存和管理数据,并利用这些数据得到各种有用的信息。数据库系统主要包括数据库和数据库管理系统。数据库是按一定方式组织起来的数据集合。数据库管理系统具有建立、维护和使用数据库的功能;具有使用方便、高效的数据库编程语言的功能;并能提供数据共享和安全性保障。数据库管理系统按数据模型的不同,
分为层次型、网状型和关系型3种类型。其中关系型数据库使用最为广泛,例如,SQL Server、FoxPro、Oracle、Access、Sybase、MySQL等都是常用的关系型数据库管理系统。
5)工具软件
工具软件又称为服务性程序,是在系统开发和系统维护时使用的工具,完成一些与管理计算机系统资源及文件有关的任务,包括编辑程序、链接程序、计算机测试和诊断程序等。这种程序需要操作系统的支持,而它们又支持软件的开发和维护。
测试工具是指测试软件正确性的工具。测试工具主要有两种类型的工具,一类是调试工具,用来帮助软件设计人员排除软件错误,如汇编调试工具Debug,面向源代码的调试工具Turbo Debugger、CodeView等;另一类是测试工具,用来检验软件的正确性和可靠性。
常用的工具软件有PC工具箱(PC Tools)、诊断测试软件(DIAG)、调试软件(Debug)、链接软件(LINK)、处理病毒软件(金山毒霸、瑞星、江民、卡巴斯基)和软件开发工具(Delphi、PowerBuilder)等。
2.应用软件
软件公司或用户为解决某类应用问题而专门研制的软
件称为应用软件。它包括应用软件包和面向问题的应用软件。一些应用软件经过标准化、模块化,逐步形成了解决某