单元2 计算机软件.docx
《单元2 计算机软件.docx》由会员分享,可在线阅读,更多相关《单元2 计算机软件.docx(15页珍藏版)》请在冰点文库上搜索。
![单元2 计算机软件.docx](https://file1.bingdoc.com/fileroot1/2023-6/8/524c1ca8-f0da-413c-bfcc-42883f4baccc/524c1ca8-f0da-413c-bfcc-42883f4baccc1.gif)
单元2计算机软件
单元2计算机软件
计算机系统有两个基本组成部分,即计算机硬件和计算机软件。
硬件是组成计算机的各种物理设备的总称,它在二进制世界里,功能虽然简单,速度却奇快无比;计算机软件(简称软件)是人与硬件的接口,它自始至终指挥和控制着硬件的工作过程。
没有软件就不知道做什么,计算机系统也就没有什么用了。
学习目标
(1)了解计算机软件的分类和计算机软件技术的内容
(2)了解操作系统的作用、功能、分类和常用操作系统
(3)了解程序设计语言的分类和常用程序设计语言;程序设计语言的成分;语言处理系统及其工作过程
(4)了解计算机软件的理论基础;算法和数据结构的基本概念
学习知识
1、计算机软件
一个完整的计算机系统有两个基本组成部分,即计算机硬件和计算机软件。
计算机硬件是组成计算机的各种物理设备的总称;而计算机软件指的是指示(指挥)计算机完成特定任务的、以电子格式存储的程序、数据和相关的文档。
(1)程序
程序是告诉计算机做什么和如何做的一组指令(语句),这些指令(语句)都是计算机能够理解并能够执行的一些命令。
(2)数据
程序所处理的对象和处理后得到的结果统称为数据(分别称为输入数据和输出数据)。
(3)文档
文档指的是与程序开发、维护及操作有关的一些资料(如设计报告、维护手册和使用指南等)。
(4)知识产权
软件是智力活动的成果,受到知识产权(版权)法的保护。
版权授予软件作者(版权所有者)享有下列权益:
拷贝、发布、修改、署名、出售等。
购买一个软件,用户仅仅得到了该软件的使用权,并没有获得它的版权。
随意进行软件拷贝和发布是一种违法行为。
2、软件的分类
计算机软件分为系统软件和应用软件两大类。
(1)系统软件
系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。
它主要包括操作系统、语言处理系统、数据库管理系统、网络通信管理系统、各类服务性程序等。
系统软件的核心是操作系统。
①操作系统
目前,微型计算机最常用的操作系统有Windows、Unix、Linux等。
②语言处理系统
语言处理系统是对软件语言进行处理的程序子系统。
语言处理系统的作用是把用软件语言书写的各种程序处理成可在计算机上执行的程序,或最终的计算结果,或其他中间形式。
③数据库管理系统
数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称dbms。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。
它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
DBMS提供数据定义语言与数据操作语,供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。
④服务性程序
服务性程序是一类辅助性的程序,它提供各种运行所需的服务。
例如用于程序的装入、链接、编辑和调试用的装入程序、链接程序、编辑程序及调试程序,以及故障诊断程序、纠错程序等,包括编辑程序、纠错程序、连接程序等。
(2)应用软件
①应用软件的概念
应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。
它可以拓宽计算机系统的应用领域,放大硬件的功能。
②应用软件的分类
从其服务的对象的角度来看,应用软件可分为通用应用软件和定制应用软件两大类。
通用应用软件支持最基本的应用,应用范围较为广泛,可以在市场上购买,如Office办公软件。
定制应用软件只应用于某一专业领域,只解决某个应用领域的具体问题,市场上没有现成的软件,需要专门人员进行开发。
3、商品软件、共享软件和自由软件
商品软件:
付费后才能得到使用权。
共享软件(shareware)(也称为试用软件demoware),具有版权,可免费试用一段时间,允许拷贝和散发(但不可修改),试用期满后需交费才能继续使用
自由软件(FreeSoftware)(≈开放源代码软件):
用户可共享,并允许随意拷贝、修改其源代码,允许销售和自由传播。
但是,对软件源代码的任何修改都必须向所有用户公开,还必须允许此后的用户享有进一步拷贝和修改的自由
免费软件(Freeware)(≠FreeSoftware):
无需付费即可获得的软件。
例如PDF阅读器、Flash播放器等。
自由软件很多是免费软件,免费软件不全是自由软件。
4、操作系统的作用与功能
(1)操作系统的定义
操作系统是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。
(2)操作系统的作用
操作系统主要有以下三方面的重要作用
①为运行的程序管理和分配各种软硬件资源。
②为用户提供友善的人机界面。
③为开发和运行应用程序提供高效率的平台。
(3)操作系统的功能
操作系统有5大管理功能,分别是处理器管理、存储管理、设备管理、文件管理和作用管理。
(4)操作系统的启动
①CPU执行BIOS中的自检程序,测试计算机中各部件的工作状态是否正常。
②执行BIOS中的自举装入程序,从启动盘的第1个扇区中读入“主引导记录”(MBR)。
③执行MBR中的引导程序,从指定分区中再读入操作系统的装入程序。
④执行装入程序,将操作系统装入到内存。
⑤运行操作系统。
⑥CPU执行引导程序。
⑦从硬盘向内存装入操作系统。
⑧CPU运行操作系统,计算机处于操作系统的控制之下,等待用户操作。
(5)存储管理
①存储管理的任务
存储管理的主要任务是内存的分配和回收内存的共享和保护,内存的自动扩充。
②虚拟存储技术
所谓虚拟存储,就是把内存与外存有机的结合起来使用,从而得到一个容量很大的“内存”,这就称之为虚拟存储。
(6)文件管理
程序和数据通常都存储在外存储器中,为了便于存取和管理,它们都组织成“文件(file)”。
文件是存储在外存储器中的一组相关信息的集合。
每个文件均有自己的“文件名”,用户(或软件)使用文件名读出/写入(称为“存取”)外存储器中的文件。
文件的名字由两部分组成:
(主文件名)[.扩展名]。
文件目录在Windows中称为文件夹,每个逻辑盘(物理盘或硬盘上的分区)是一个根文件夹,文件夹中既可包含文件,也可包含文件夹(子文件夹),子文件夹又可存放文件和子文件夹,形成树状多级文件夹结构。
5、常用操作系统
(1)操作系统的四种类型
①PC机使用的操作系统一般都具有多任务处理功能。
②网络服务器上安装运行的是“网络操作系统”,特点是:
具有强大的多用户并发处理能力,支持多种网络通信功能,提供专门的网络应用服务安全性强,可靠性好。
③军事指挥和武器控制系统、电网调度和工业控制系统、证券交易系统等,安装运行的是“实时操作系统”,特点是:
对外部事件能在允许的时间范围内快速作出响应,具有很高的可靠性和安全性。
④嵌入式计算机应用中运行的是“嵌入式操作系统”,特点是:
快速、高效、具有实时处理功能代码非常紧凑,存储器需求小。
(2)Windows操作系统
①Windows操作系统的特点:
提供了多任务处理能力,采用图形用户界面,简化计算机操作,在个人计算机上广泛使用
②版本的演变
(3)Unix操作系统
①最早由Bell实验室开发成功,在大学和科研单位广泛使用,因特网也首先在UNIX系统上流行
②特色:
结构简练、功能强大、可移植性好、可伸缩性和互操作性强、网络通信功能强、安全可靠等。
③直到Linux开始流行,UNIX系统一直是使用最广泛、影响最大的主流操作系统之一。
(4)Linux操作系统
Linux是一种自由和开放源码的类Unix操作系统。
目前存在着许多不同的Linux,但它们都使用了Linux内核。
Linux可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。
Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
6、算法和数据结构
(1)算法
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。
不同的算法可能用不同的时间、空间或效率来完成同样的任务。
一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述。
一个算法应该具有以下七个重要的特征:
①有穷性(Finiteness),算法的有穷性是指算法必须能在执行有限个步骤之后终止。
②确切性(Definiteness),算法的每一步骤必须有确切的定义。
③输入项(Input),一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件。
④输出项(Output),一个算法有一个或多个输出,以反映对输入数据加工后的结果。
没有输出的算法是毫无意义的。
⑤可行性(Effectiveness),算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。
⑥高效性(Highefficiency),执行速度快,占用资源少。
⑦健壮性(Robustness),对数据响应正确。
(2)算法的分析
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。
算法分析的目的在于选择合适算法和改进算法。
一个算法的评价主要从时间复杂度和空间复杂度来考虑。
①时间复杂度
算法的时间复杂度是指执行算法所需要的时间。
一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做“T(n)=Ο(f(n))”因此,问题的规模n越大,算法执行的时间的增长率与f(n)的增长率正相关,称作渐进时间复杂度(AsymptoticTimeComplexity)。
②空间复杂度
算法的空间复杂度是指算法需要消耗的内存空间。
其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。
同时间复杂度相比,空间复杂度的分析要简单得多。
7、程序设计语言极其分类
程序设计语言按其级别可以划分为机器语言、汇编语言和高级语言三大类。
①机器语言
机器语言是由二进制0、1代码指令构成,不同的CPU具有不同的指令系统。
机器语言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率极低。
目前,这种语言已经被淘汰。
②汇编语言
汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在着难学难用、容易出错、维护困难等缺点。
但是汇编语言也有自己的优点:
可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。
③高级语言
高级语言是面向用户的、基本上独立于计算机种类和结构的语言。
其最大的优点是:
形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。
高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。
因此,高级语言易学易用,通用性强,应用广泛。
8、程序设计语言的成分
程序设计语言的基本成分可归纳为四种。
①数据成分。
用以描述程序中所涉及的数据。
②运算成分。
用以描述程序中所包含的运算。
③控制成分。
用以表达程序中的控制构造。
④传输成分。
用以表达程序中数据的传输。
9、常用程序设计语言
常用程序设计语言有如下几类。
(1)FORTRAN语言
FORTRAN是FORmulaTRANslation(公式翻译)的缩写词,它是一种主要用于数值计算的面向过程的程序设计语言。
FORTRAN语言的特点是接近数学公式,简单易用。
目前最新的国际标准是FORTRAN2008。
(2)BASIC和VisualBasic语言
BASIC语言的特点是简单易学。
VisualBASIC(VB)语言是微软公司基于BASIC发展而来的一种程序设计语言,特点是:
是一种可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言。
具有高效率、简单易学及功能强大的特点。
可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件
(3)Java语言
Java语言是一种面向对象的、用于网络环境的程序设计语言。
Java语言基本特征是:
适用于网络分布环境,具有一定的平台独立性,安全性和稳定性好。
(4)C语言和C++语言
C语言兼有高级语言的优点和汇编语言的效率,有效地处理了简洁性和实用性、可移植性和高效性之间的矛盾。
C++语言以C语言为基础发展而成,既有数据抽象和面向对象能力,运行性能高,又能与C语言兼容,因而C++语言迅速流行,成为当前面向对象程序设计的主流语言。
学习小结
自我练习
一、是非题
1.AutoCAD是一种典型的图像编辑软件。
2.构思巧妙的算法一定是好算法。
3.自由软件就是用户可以随意使用的软件,也就是免费软件。
4.计算机软件通常指的是用于指示计算机完成特定任务的程序、数据和相关的文档。
5.计算机运行程序的过程,也就是CPU高速执行指令的过程。
6.硬件是有形的物理实体,而软件是无形的,它不能被人们直接观察和触摸。
7.自由软件的原则是:
用户可免费共享,随意拷贝和修改,谁修改谁就享有其版权。
8.评价一个算法的优劣应从需要耗费的存储资源(空间)和计算资源(时间)两方面进行考虑。
9.为了延长软件的生命周期,常常要进行软件更新和版本升级,其主要目的是减少错误、扩充功能、适应不断变化的运行环境。
10.免费软件是一种不需付费就可取得并使用的软件,但用户并无修改和分发权,其源代码也不一定公开。
360杀毒软件就是一种免费软件。
二、单选题
1.下面关于Windows操作系统多任务处理的叙述中,错误的是_____。
A、每个任务通常都对应着屏幕上的一个窗口
B、用户正在输入信息的窗口称为活动窗口,它所对应的任务称为前台任务
C、前台任务只有1个,后台任务可以有多个
D、前台任务可以有多个,后台任务只有1个
2.下面关于程序设计语言的说法错误的是_______。
A.FORTRAN语言是一种用于数值计算的面向过程的程序设计语言
B.Java是面向对象用于网络环境编程的程序设计语言
C.C语言所编写的程序,可移植性好
D.C++是面向过程的语言,VC++是面向对象的语言
3.下列有关网络操作系统的叙述中,错误的是_______。
A.网络操作系统通常安装在服务器上运行
B.网络操作系统必须具备强大的网络通信和资源共享功能
C.网络操作系统应能满足用户的任何操作请求
D.利用网络操作系统可以管理、检测和记录客户机的操作
4.为了支持多任务处理,操作系统采用________技术把CPU分配给各个任务,使多个任务宏观上可以"同时"执行。
A.时间片轮转
B.虚拟存储
C.批处理
D.即插即用
5.下面的几种Windows操作系统中,版本最新的是________。
A.WindowsXP
B.WindowsNT
C.WindowsVista
D.Windows7
6.计算机病毒是指________。
A.编制有错误的程序
B.设计不完善的程序
C.已经被损坏的程序
D.特制的具有自我复制和破坏性的程序
7.在银行金融信息处理系统中,为使多个用户都能同时得到系统的服务,采取的主要技术措施是______。
A.计算机必须有多台
B.CPU时间划分为“时间片”,轮流为不同的用户程序服务
C.计算机必须有多个系统管理员
D.系统需配置多个操作系统
8.C语言程序中的算术表达式(如X+Y-Z),属于高级程序语言中的________成分。
A.数据
B.运算
C.控制
D.传输
9.PC机加电启动时,正常情况下,执行了BIOS中的加电自检程序后,计算机将执行BIOS中的_________。
A.系统主引导记录的装入程序
B,CMOS设置程序
C.操作系统引导程序
D.键盘驱动程序
10.下列关于"木马"病毒的叙述中,错误的是____________。
A.一台PC机只可能感染一种“木马”病毒
B.“木马”运行时,比较隐蔽,一般不会在任务栏上显示出来
C.“木马”运行时,会占用系统的CPU、内存等资源
D."木马"运行时,可以截获键盘输入,从而盗取用户的口令、帐号等私密信息
11.下列关于操作系统设备管理的叙述中,错误的是________。
A.设备管理程序负责对系统中的各种输入输出设备进行管理
B.设备管理程序负责处理用户和应用程序的输入输出请求
C.每个设备都有自己的驱动程序
D.设备管理程序驻留在BIOS中
12.PC机加电启动时,计算机首先执行BIOS中的第一部分程序,其目的是_________。
A、读出引导程序,装入操作系统
B、测试PC机各部件的工作状态是否正常
C、从硬盘中装入基本外围设备的驱动程序
D、启动CMOS设置程序,对系统的硬件配置信息进行修改
13.以下关于操作系统中多任务处理的叙述中,错误的是:
________。
A、将CPU时间划分成许多小片,轮流为多个程序服务,这些小片称为"时间片"
B、由于CPU是计算机系统中最宝贵的硬件资源,为了提高CPU的利用率,一般采用多任务处理
C、正在CPU中运行的程序称为前台任务,处于等待状态的任务称为后台任务
D、在单CPU环境下,多个程序在计算机中宏观上同时运行,微观上由CPU轮流执行
14.下列关于计算机机器语言的叙述中,错误的是________。
A、机器语言就是计算机的指令系统
B、用机器语言编写的程序可以在各种不同类型的计算机上直接执行
C、用机器语言编制的程序难以维护和修改
D、用机器语言编制的程序难以理解和记忆
15.下列________语言内置面向对象的机制,支持数据抽象,已成为当前面向对象程序设计的主流语言之一。
A、LISP
B、ALGOL
C、C
D、C++
16.发现计算机磁盘上的病毒后,彻底的清除方法是________。
A、格式化磁盘
B、及时用杀毒软件处理
C、删除病毒感染的文件
D、删除磁盘上的所有文件
17.下列哪一项功能不属于操作系统中设备管理的"职责范围"?
________。
A、I/O设备的即插即用
B、光盘片从光驱中弹出
C、打印机缺纸报警
D、查杀硬盘中的木马程序
18.PC机正在工作时,若按下主机箱上的Reset(复位)按钮,PC机将立即停止当前工作,转去重新启动计算机,首先是执行________程序。
A、系统主引导记录的装入
B、加电自检
C、CMOS设置
D、基本外围设备的驱动
19.用高级语言和机器语言编写具有相同功能的程序时,下列说法中错误的是____________。
A、前者比后者可移植性强
B、前者比后者执行速度快
C、前者比后者容易编写
D、前者比后者容易修改
20.为求解数值计算问题而选择程序设计语言时,一般不会选用___________。
A、FORTRAN
B、C语言
C、VISUALFOXPRO
D、MATLAB