第一节 计算机概述
一、计算机的发展历史
- 世界上第一台计算机(埃尼阿克):ENIAC(电子数字积分计算机) 1946 年 2 月 15 日 美国宾夕法尼亚大学
特点:
- 150m2
- 30 吨
- 18000 只电子管
- 5000 次加法/分钟
- 主要用于军事和科学领域计算
- 计算机发展的四个阶段
阶段 | 起止年份 | 主要元件 | 速度(次/秒) | 特点 |
---|---|---|---|---|
第一代 | 1946年——1957年 | 电子管 | 5000~10 000 | 体积巨大,运算速度较低,耗电量大,存储容量小 |
第二代 | 1958年——1964年 | 晶体管 | 几万~几十万 | 体积减小,耗电较少,运算速度提高,价格下降 |
第三代 | 1965年——1970年 | 中小规模集成电路 | 几十万~几百万 | 体积、功能进一步减少,可靠性及速度进一步提高 |
第四代 | 1971年至今 | 大规模、超大规模集成电路 | 几千万~千百亿 | 性能大幅度提高,价格大幅度下降 |
3. 微机发展的六个阶段
代次 | 起止年份 | 典CPU | 数据位数 | 主频 |
---|---|---|---|---|
第一代 | 1971年~1973年 | lntel 4004、8008 | 4位、8位 | 1MHz |
第二代 | 1973年~1975年 | Intel 8080 | 8位 | 2MHz |
第三代 | 1975年~1978年 | Intel 8085 | 8位 | 2~5MHz |
第四代 | 1978年~1981年 | Intel 8086 | 16位 | >5MHz |
第五代 | 1981年~1993年 | Intel 80386、80486 | 32位 | >25MHz |
第六代 | 1993年~今 | pentium 系列 | 64位 | 60MHz~2GHz |
二、计算机的分类
- 根据处理的信号:模拟计算机、数字计算机、数字模拟混合计算机
- 根据使用范围:专用计算机、通用计算机
- 根据性能:巨型机、大中型机、小型机、工作站、微型机
三、计算机的特点
- 计算机是高度自动化的信息处理设备。
主要特点有:处理速度快、计算精度高、记忆能力强、可靠的逻辑判断能力、可靠性高、通用性强。
- 运算速度快
- 计算机运算速度是计算机最重要的性能指标之一,现代计算机每秒能进行几百亿次以上的加法运算,这使大量复杂的科学计算问题得以解决。计算机的运算速度用 MIPS(每秒钟执行多少百万条指令)来衡量。
- 计算精度高
- 数据的运算精度主要取决于计算机的字长,可以通过增加字长来提高数值运算的精度,字长越长,运算精度越高。
- 记忆能力强
- 计算机的存储器类可以存储大量的数据和计算机的程序,例如文字、图像、音频、视频等信息。是否具有强大的存储能力,是计算机和其他计算装置(如计算器)的一个重要区别。
- 可靠的逻辑判断能力
- 计算机的逻辑判断能力能够实现判断和推理,并能根据结果执行相应命令和操作。
- 可靠性高,通用性强。
- 计算机靠存储程序控制进行工作。无论是复杂的还是简单的问题,都可以分解成基本的算术运算和逻辑运算,并可用程序描述解决问题的步骤。所以,计算机通用性很强。
四、计算机的性能指标 (主子内存运)
- 计算机的主要技术性能指标有主频、字长、内存容量、存取周期、运算速度及其他指标。
- 主频(时钟频率):是指计算机 CPU 在单位时间内输出的脉冲数。它在很大程度上决定了计算机的运行速度。单位 MHz。
- 字长:是指计算机的运算部件能同时处理的二进制数据的位数。字长决定运算精度。
- 内存容量:是指内存贮器中能存贮的信息总字节数。通常以 8 个二进制位(bit)作为一个字节(Byte)。
- 存取周期:存贮器连续二次独立的“读”或“写”操作所需的最短时间,单位来纳秒(ns,1ns=10^-9s)。存储器完成一次“读”或“写”操作所需的时间称为存储器的访问时间(或读写时间)。
- 运算速度:是一个综合性的指标,单位为 MIPS(每秒百万条指令)。影响运算速度的因素,主要是主频和存取周期,字长和存储容量也有影响。
- 其他指标:机器的兼容性(包括数据和文件的兼容、程序兼容、系统兼容和设备兼容)、系统的可靠性(平均无故障工作时间 MTBF)、系统的可维护性(平均修复时间 MTTR)、机器允许配置的外部设备的最大数目、计算机系统的汉字处理能力、数据库管理系统及网络功能等、性能/价格比是一个综合性评价计算机性能的指标。
五、计算机的应用
- 科学计算
- 数据处理
- 实时控制
- 计算机辅助系统
- 人工智能
- 网络通
第二节 计算机系统组成原理
- 一台完整的计算机系统通常是由硬件系统和软件系统两大部分组成。
一、计算机的硬件系统
- 运算器(Arithmetical and Logical Unit,ALU)
- 运算器又称算术逻辑单元,主要功能是对数据进行各种运算,包括算术运算和逻辑运算。
- 其中算术运算包括常规的加、减、乘、除等基本的算术运算,逻辑运算包括“与”、“或”、“非”这样的基本逻辑运算以及数据的比较、移位等操作。
- 控制器(Control Unit,CU)
- 控制器是整个计算机系统的控制中心,它的基本功能就是按程序计数器所指出的指令地址从内存中取出一条指令,并对指令进行分析,根据指令的功能向有关部件发出控制命令,控制执行指令的操作。
- 一条指令执行完毕,控制器控制计算机继续运行下一条指令,直到程序运行完毕。所以控制器的基本任务就是不停的取指令和执行指令。
通常把运算器和控制器合称为中央处理器(Central Processing Unit,CPU)。
- 存储器(Memory)
- 存储器是计算机的记忆装置,主要功能是存储程序和各种数据信息,并能在计算机运行过程中高速、自动地完成程序或数据的存取。
存储器分为两大类:
- 主存储器和辅助存储器。中央处理器只能直接访问存储在主存储器中的数据,辅助存储器中的数据只有先调入主存储器后,才能被中央处理器访问和处理。
不同类型、不同用途的内存储器
内存储器类型 | 特 点 | 用 途 |
---|---|---|
随机存储器(RAM)、动 态 随 机 存 储 器(Dynamic RAM)、静态随机存储器(Static RAM) | 可以读出,也可以写入;读出时并不损坏原来存储的内容,只有写入时才修改原来所存储的内容;断电后,存储内容立即消失,即具有易失性。 | 在主板上的随机存储器,也称为主存,一般采用 DRAM。主板上一般配有 3 个或 4 个内存插槽,每个内存插槽可用来插入一根内存条,一根内存条的引脚目前多为 128 芯,容量一般为 1GB 或 2GB 。 |
只读存储器(ROM)、可编程只读存储器(PROM)、 电可擦除可编程只读存储器(EEPROM) | ROM 上面存储的信息都具有永久保存的优点,不会因断电而丢失。只读存储器上面存储的信息可以随机读出,但不可以随机写入。 | ROM 一般用来存放专用的固定程序和数据。在主板上都装有 ROM,在它里面固化了一个基本输入/输出系统,称为BIOS。主要作用是完成对系统的加电自检、系统中各功能模块的初始化,以及引导操作系统。 |
高速缓冲存储器(Cache)、CPU 内部 Cache (L1 Cache)、CPU 外部 Cache(L2 Cache) | 高速缓冲存储器的特点是速度比 RAM 存储器更快,属于可读写的存储器,位于 CPU和 RAM 存储器之间。 | 主要用来作为 CPU 和 RAM 之间的一个缓冲,以缓解高速 CPU 与普通速度 RAM 之间的速率差,从而提高计算机的整体性能。 |
- 主存储器(Main Memory)
- 主存储器是设在主机中的内部存储器(简称内存),用于存放当前运行的程序和程序所用的数据,属于临时存储器。内存容量的大小是衡量计算机性能的主要指标之一。
- 辅助存储器(Auxiliary Memory)
- 辅助存储器是属于计算机外部设备的存储器,叫外部存储器(简称外存)。外存储器主要有磁盘存储器和光盘存储器。目前,常用的外存储器有软盘、硬盘和光盘存储器。
软磁盘存储器:
- 软磁盘是用柔软的聚酯材料制成圆形底片,在两个表面涂有磁性材料。
- 软盘总容量=磁道数×扇区数×扇区字节数(512B)×磁盘面数(2 面)
例:3.5 英寸软盘有 80 个磁道,每条磁道 18 个扇区,每个扇区 512B,共有两面,则其存储容量为:
软盘容量=80×18×512×2=1 474 560B=1440KB(约为 1.44MB)
硬磁盘存储器:
- 硬盘的两个主要性能指标是硬盘的平均寻道时间和内部传输速率。一般来说,转速越高的硬盘寻道的时间越短,而且内部传输速率也越高,不过内部传输速率还受硬盘控制器的 Cache 影响。
- 硬盘每个存储表面被划分成若干个磁道(不同硬盘磁道数不同),每个磁道被
划分成若干个扇区(不同的硬盘扇区数不同)。每个存储表面的同一磁道形成一个圆柱面,称为柱面,柱面是硬盘的一个常用指标。 - 硬盘的存储容量计算公式为:存储容量=磁头数×柱面数×每扇区字节数×扇区数。
例:某硬盘有磁头数 15 个,磁道数(柱面数)8894 个,每道 63 扇区,每扇区512B,则其存储容量为:
15×8894×512×63=4.3GB。
光盘存储器:
- 光盘指的是利用光学方式进行信息存储的圆盘。光盘存储器可分成CD-ROM 和 CD-R 两种。
- CD-ROM,即 Compact Disc-Read Only Memory,是只读型光盘,这种光盘的盘片是由生产厂家预先将数据或程序写入的,出厂后用户只能读取,而不能写入或修改。
- CD-R 是指 CD-Recordable,即一次性可写入光盘,但必须在专用的光盘刻录机中进行。通常光盘刻录机既可以作刻录机用,也可读取普通的 CD-ROM 盘片。它的读盘速度为 6X 或 8X,而刻录时为 2X 或 4X。CD-R 光盘的容量一般为650MB。
- 存储单位
- 计算机中所有的数据都是以二进制来表示的,一个二进制代码称为一位,记为 bit。位是计算机中表示信息的最小单位。在对二进制数据进行存储时,以八位二进制代码为一个单元存放在一起,称为一个字节,记为 Byte。字节(Byte)是计算机中存储信息的基本单位,一个字节由 8 位二进制数字组成,即 1 Byte=8bit,单位是 B。
计算机的存储器通常是用字节来表示容量的,常用有 K字节、M(兆)字节、G(吉)字节、T(太)字节,换算规则如下:
- 1KB=1024B=210B
- 1MB=1024KB=220B
- 1GB=1024MB=230B
- 1TB=1024GB=240B
- 输入设备(Input devices)
输入设备指的是将外界信息(数据、程序、命令及各种信号)送入计算机的设置。计算机常用输入设备为键盘、鼠标、扫描仪等。
- 键盘:键盘是人们向计算机输入信息的最主要设备,各种程序和数据都可以通过键盘输入到计算机中。
- 鼠标:鼠标是计算机不可缺少的标准输入设备。目前使用的鼠标,根据其工作原理可分为机械鼠标、光学鼠标和光学机械鼠标 3 种。鼠标还可以根据外形分为两键鼠标、三键鼠标、滚轴鼠标和感应鼠标。
- 扫描仪:扫描仪是一种图形、图像专用输入设备。
- 其它输入设备:常见的其他输入设备还有光笔、条形码读入器、麦克风、数码相机、触摸屏
等。
- 输出设备(Output devices)
所谓输出设备是指将计算机处理和计算后所得的结果以一种人们便于识别的形式(如字符、数值和图表等)记录、显示或打印出来的设备。常用的设备有显示器、打印机、绘图仪等。
- 显示器:目前,显示器主要由两种显示管构成,它们是 CRT(Cathocle Ray Tube,显示阴极管射线和 LCD(Liquid Crystal Display,液晶显示器)。衡量显示器的主要性能指标有点距和分辨率,目前常用的 CRT 的像素间距有 0.28mm、0.26mm、0.25mm 和 0.24mm 等。CRT 的分辨率是指显示设备所能表示的像素个数,像素越密则分辨率越高,图像就越清晰。例如,某显示器的分辨率为 1024×768,就表明该显示器在水平方向能显示 1024 个像素,在垂直方向能显示 768 个像素,即整屏能显示 1 024×768 个像素。
- 打印机:打印机按工作原理可粗分为两类:击打式打印机和非击打式打印机。其中计算机系统常用的点阵打印机属于击打式打印机。非击打式的喷墨打印机和激光打印机,目前应用越来越广。
- 击打式打印机:以机械撞击方式使打印头通过色带在打印纸上印出计算机输出结果的设备称为击打式打印机。针式打印机的主要优点是结构简单、价格便宜、维护费用低,它的缺点是打印速度慢、噪音大、打印质量也较差。
- 激光打印机:由于激光打印机速度快、分辨率高、无击打噪声。
- 喷墨打印机:喷墨打印机价格低廉,又具有接近激光打印机的高输出分辨率,能输出色彩
很好的彩色图形。喷墨打印机没有打印头,打印头用微小的喷嘴代替。它利用喷墨替代针打式
色带,可直接将墨水喷到纸上实现印刷。按打印出来的字符颜色,可将它分为黑白和彩色两种。
二、计算机的软件系统
- 计算机软件系统是指计算机运行时所需的各种程序和数据,以及有关的文档。计算机软件非常丰富,通常分为系统软件和应用软件两大类。
(一) 系统软件(操语数网)
- 系统软件是一种综合管理硬件和软件资源,为用户提供一个友好操作界面和工作平台的大型软件。系统软件一般包括操作系统、语言处理程序、数据库管理系统和网络管理系统。
1. 操作系统(Operating System,OS)
- 操作系统是方便用户管理和控制计算机系统资源的系统软件,是最重要、最基本的系统软件。可看成是计算机硬件的第一级扩充。操作系统是计算机用户和计算机硬件(物理设备)的接口,用户只有通过操作系统才能使用计算机,所有应用程序必须在操作系统的支持下才能运行。
- 计算机系统资源包括硬件资源(CPU、存储器、外部设备等)和软件资源(各种系统程序、应用程序和数据文件)。
2. 操作系统的主要作用
- 一是提供方便友好的用户界面
- 二是提高系统资源的利用,
- 三是提供软件开发的运行环境。
3. 操作系统基本功能(C存外文作)
- 操作系统一般应具有 CPU 管理、存储管理、外部设备管理、文件管理、作业管理等五个方面的功能。
4. 操作系统分类
- 按使用环境可分为批处理、分时、实时操作系统。
- 按用户数目可分为单用户(单任务、多任务)、多用户、单机、多机系统。
- 按硬件结构可分为网络、分布式、并行、和多媒体操作系统等。
在实际应用中,人们常又采取以下的分类方法,一般可分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。(分分批实网)
系统名称 | 特点 |
---|---|
批处理操作系统 | 在计算机系统中能支持同时运行多个相互独立的用户程序的操作系统。 |
分时操作系统 | 把计算机的系统资源(尤其是 CPU 时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片,实现多个用户分享同一台主机的操作系统。分时系统的基本特征:多路性、独立性、交互性、及时性。 |
实时操作系统 | 实时系统用于控制实时过程,它主要包括实时过程控制和实时信息处理两种系统。其特点是:对外部事件的响应十分及时、迅速;系统可靠性高。 |
网络操作系统 | 使网络上各计算机能方便而有效地共享网络资源,为网络用户提供所需的各种服务的软件和有关协议的集合。 |
分布式操作系统 | 分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布。分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载。 |
5. 计算机语言
- 计算机语言是人们指挥计算机完成任务,进行信息交换的媒介与工具。计算机语言随计算机科学技术的发展而逐步形成了三大类,即人们常说的三代语言:
语言名称 | 特点 |
---|---|
机器语言(Machine Language) | 是用直接与计算机打交道的二进制代码所表达的计算机语言。 |
汇编语言(Assembler Language) | 是指用助记符表达的计算机语言。但是使用这种语言不能被计算机 CPU 直接识别,必须经过翻译程序翻译成汇编语言。这个翻译程序称为汇编程序,翻译成机器语言描述的程序称为目标程序。 |
高级语言(High-level Language) | 与人们习惯使用的自然语言与数学语言非常接近,高级语言编写的源程序需要“翻译”成机器指令才能让计算机执行。高级语言的“翻译”过程一般分为两种方式,即编译方式和解释方式。 |
6. 数据库管理系统
- 计算机要处理的数据往往相当庞大,使用数据库管理系统可以有效地实现数据信息的存储、更新、查询、检索、通信控制等。常见的数据库管理系统有FoxPro、Access、SQL Severe 等,大型数据库管理系统有 Oracle、Sybase 等。
二、 应用软件
- 应用软件是指为了解决各类应用问题而设计的各种计算机软件。
应用软件一般分为两类:
- 一类是专用软件,是为特定需要开发的实用软件,如订票系统、财会软件、教务系统等。
- 另一类是通用软件,是为了方便用户使用而提供的一种工具软件,如用于文字处理的 Word 或 WPS、用于辅助设计的 AutoCAD、聊天软件 QQ 等。
第三节 计算机中的数制与编码
一、计算机中的常用数制
- 在计算机中,无论何种信息,都用“0”和“1”来表示,即二进制数。因此计算机在工作时,信息必须转换成二进制形式数据。这是由计算机所使用的元器件性质决定的,计算机中用低电位表示“0”,高电位则表示“1”。
(一) 数制的定义
- 数制也叫记数制,是指用一组固定的符号和统一的规则来表示数值的方法。除了人们生活中常见的十进制(D),还有二进制(B)、八进制(O)、十六进制(Ox)等。对于任意 R进制计数制有基数 R、权 Ri 和按权展开式。其中 R 可以是任意正整数,如二进制的 R 为 2,十进制的 R 为 10,十六进制的 R 为 16 等。
1. 基数
- 基数指计数制中所用到的数字符号的个数。在基数为R的计数制中,包含0、1、…、R-1 共 R 个数字符号,进位规律是“逢 R 进一”,称为 R 进位计数制,简称 R 进制。例如:十进制数包含 0、1、2、3、4、5、6、7、8、9 十个数字符,它的基数 R=10。为区分不同数制的数,可以对于任一 R 进制的数 N 记作:(N)R。例如(10101)2、(AB18)16 分别表示二进制数 10101 和十六进制数 AB 18。不用括号及下标的数,默认为十进制数,如 128。还有一种方法是在数的后面加上字母,例如十进制用D、二进制用 B、十六进用 H 来表示其前面的数用的是什么进制。如 10101B 表示二进制数 10101;AB 18H 表示十六进制数 AB 18。
2. 权
- 数制每一位所具有的值称为权。R 进制数的位权是 R 的整数次幂。例如,十进制数的位权是 10 的整数次幂,其个位的位权是 100,十位的位权是 101,以此类推。
3. 数值的按权展开
- 任一 R 进制数的值都可表示为:各位数值与其权的乘积之和。
例如:二进制数 1101.11 的按权展开为 1101.11B=1×23+1×22+0×21+1×20+1×2-1+1×2-2这种过程叫做数值的按权展开。
(二)计算机中常用编码
- 把对某一类信息赋予代码的过程称为编码(Coding)。计算机中经常处理的信息不仅包括数值数据,还有大量的非数值型数据比如西文字符和中文字符。这些数据都需要在计算机中以二进制数的形式来表示,所以需要对它们进行编码。
- 西文字符的编码
-
为了在世界范围内进行信息的处理与交换,必须遵循一种统一的编码标准,
-
目前计算机中广泛使用的编码有 BCD 码和 ASCII 码。
-
BCD 码采用 4 位二进制数表示一位十进制数,例如 BCD 码 1000 0010 0110 1001 按 4 位二进制一组分别转换,结果是十进制数 8269,一位 BCD 码中的 4位二进制代码都是有权的,从左到右按高位到底位依次是 8、4、2、1,这种二—十进制编码是一种有权码。1 位 BCD 码最小数是0000,最大数是 1001。
-
ASCII(American Standard Code for Information Interchange),即美国信息交换标准代码。ASCII 码占一个字节,有 7 位版本和 8 位版本两种,7 位称为标准 ASCII码,8 位称为扩充 ASCII 码。
-
ASCII 码表示了 128 个不同字符,其中控制字符 34 个(0——31),阿拉伯数字 10 个(0的ASCII是48),大小写英文字母 52 个(65和97,之间相差32),各种标点符号和运算符号 32 个。在计算机中实际用 8 位表示一个字符,最高位为“0”。
- 汉字的编码
- 在使用计算机进行信息处理时会遇到大量汉字。计算机对汉字信息的处理过程实际上是各种汉字编码间的转换过程。这些编码主要包括:汉字信息交换码(国标码)、汉字输入码、汉字内码、汉字字形码等。
(1)汉字信息交换码(国标码)
- 1980 年我国颁布了国家标准——《信息交换用汉字编码字符集——基本集》,即国家标准GB2312-80 方案,简称国标码。由于汉字数量多,用一个字节的 128种状态不能全部表示出。因此在该方案中规定使用两个字节的 16 位二进制表示一个汉字,共收集了汉字、字母、数字和符号共 7445 个,其中 6763 个常用汉字和 682 个非汉字字符。
- 类似西文的 ASCII 码表,汉字也有一张国标码表。简单说,把 7445 个国标码放置在一个 94 行×94 列的阵列中。实际上,区位码也是一种输入法,其最大优点是一字一码的无重码输入法,最大的缺点是难以记忆。
(2)汉字输入码
- 汉字输入码又称外码,是为将汉字输入计算机而编制的代码。目前汉字主要是经标准键盘输入计算机的,所以汉字输入码都由键盘上的字符或数字组合而成。汉字输入码是根据汉字的发音或字形结构等多种属性和汉语有关规则编制的,目前流行的汉字输入码的编码方案有数字编码、拼音编码、字形编码和音形编码等。
(3)汉字内码
- 汉字内码是为在计算机内部对汉字进行存储、处理和传输而编制的汉字代码,它应能满足存储、处理和传输的要求。当一个汉字输入计算机后就转换为内码,然后才能在机器内流动、处理。对应于国标码一个汉字的内码也用 2 个字节存储,并把每个字节的最高二进制位置“1”作为汉字内码的标识,以免与单字节的ASCII 码产生歧义。
(4)汉字字形码
- 汉字输入计算机后转为内码,而显示器显示或打印机输出汉字不能直接使用内码,必须配置相应的汉字字形码。汉字字形码就是汉字字库中存储的汉字字形的信息,用于汉字的显示和打印。如图 1-3 所示是汉字字形点阵,这是一个 16点阵的汉字,将一个汉字分为16行16列,每个格的信息要用一位二进制码表示,有点的用“1”表示,没有点的用“0”表示。
第四节 计算机安全
一、计算机安全概述
- 计算机安全主要是指计算机系统资源和信息资源不受自然和人为有害因素的威胁和危害。
- 计算机安全主要包括:实体安全、运行安全和数据安全等三个方面。
- 实体安全
- 实体安全又称物理安全或设备安全。在计算机系统中,计算机及相关的硬件设备、设施统称为计算机系统的实体。实体安全是指在从物理媒介层面上采取措施,保护计算机硬件设备、设施免遭地震、水灾和火灾等环境事故及人为操作错误或各种计算机犯罪行为而导致破坏。
- 运行安全
- 为保障系统的正常运行,为计算机系统提供一整套安全措施,以保证信息处理过程以及数据的安全,避免因系统的崩溃或损坏而对系统存储、处理和传输的信息造成破坏和损失。
- 数据安全
- 数据安全就是要确保数据的传输安全和存储安全。
- 即在数据的共享和传输过程中要确保不出现:非法访问、更改、破坏数据。
- 要保证数据的完整性、保密性、可用性、不可否认性及可控性。
二、计算机病毒与预防管理
- 所谓计算机病毒(Computer Virus),是指编制或在程序中插入的破坏计算机功能或损坏数据,影响计算机使用并能自我复制的一组计算机指令或程序代码。
- 计算机病毒的主要特征有:
- 繁殖性:计算机病毒可以像生物病毒一样进行繁殖,当正常程序运行的时候,它也进行运行自身复制,是否具有繁殖、感染的特征是判断某段程序为计算机病毒的首要条件。
- 破坏性:计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或受到不同程度的损坏。通常表现为:增、删、改、移。
- 传染性:计算机病毒不但本身具有破坏性,更有害的是具有传染性,一旦病毒被复制或产生变种,其速度之快令人难以预防。
- 潜伏性:有些病毒像定时炸弹一样,让它什么时间发作是预先设计好的。比如黑色星期五病毒,不到预定时间一点都觉察不出来,等到条件具备的时候一下子就爆炸开来,对系统进行破坏。
- 隐蔽性:计算机病毒具有很强的隐蔽性,有的可以通过病毒软件检查出来,有的根本就查不出来,有的时隐时现、变化无常,这类病毒处理起来通常很困难。
- 可触发性:病毒因某个事件或数值的出现,诱使病毒实施感染或进行攻击的特性称为可触发性。为了隐蔽自己,病毒必须潜伏,少做动作。
- 计算机病毒的传播途径
常见的计算机病毒传播途径有以下 4 种:
- 通过不可移动的计算机硬件设备进行传播;
- 通过移动存储设备进行传播;
- 通过计算机网络进行传播;
- 通过点对点通信系统和无线通道进行传播塑料袋;
- 计算机病毒的预防
- 我们必须了解必要的病毒防治方法和技术手段,尽可能做到防患于未然。计算机病毒的预防是指在病毒尚未入侵或刚刚入侵时,就拦截、阻止病毒的入侵或立即报警,目前在预防病毒工具中采用的技术主要有:
- 从合法、正规的渠道获取信息资源;
- 不使用来历不明的程序或数据;
- 尽量不用别人的 U 盘、移动硬盘;
- 不轻易打开来历不明的电子邮件;
- 使用防病毒软件;
- 定期备份数据。
- 计算机病毒的检测
计算机病毒的检测技术是指通过一定的技术手段判定出计算机病毒的一种技术。病毒检测技术主要有两种:
- 一种是根据计算机病毒程序中的关键字、特征程序段内容、病毒特征及传染方式、文件长度的变化,在特征分类的基础上建立的病毒检测技术;
- 一种是不针对具体病毒程序的自身检验技术,即对某个文件或数据段进行检验和计算并保存其结果,以后定期或不定期地根据保存的结果对该文件或数据段进行检验,若出现差异,即表示该文件或数据段的完整性已遭到破坏,从而检测到病毒的存在。
5.计算机病毒的清除
一旦检测到计算机病毒,就应该想办法将病毒立即清除,可采取如下方法:
- 先将正版杀毒软件升级到最新版,再进行全盘扫描并杀毒。
- 如果一个杀毒软件不能杀除,可到网上找一些专业性的杀病毒网站下载
最新版的其它杀病毒软件,进行查杀。 - 若遇到清除不掉的同种类型的病毒,可到网上下载专杀工具进行杀毒。
- 若以上方法均无效,只有格式化磁盘,重装系统;
第五节 数据结构与算法
一、算法
- 算法的定义
- 算法是解决问题方法的准确而完整的描述。——编程序的方案
- 算法不等于数学公式,数学公式是算法的一种;
- 算法的基本特征
- 可行性——能够执行;
- 确定性——明确的功能;
- 有穷性
- 拥有足够的情报(有输入,有输出):有1个或者多个输入,有0个或者多个输出
- 算法的复杂度
- 算法的时间复杂度:计算的工作量,与时间没有关系,不是这个算法所需要的时间
- 算法的空间复杂度:内存空间
二、数据结构
1. 数据结构的基本概念
- 数据在计算机中是如何存储的;
- 数据之间的运算(算数、关系、逻辑运算);
2. 数据结构研究的内容
-
数据之间的逻辑存储关系;
数据之间的前后件关系:Eg:春——夏——秋——冬; -
数据之间的物理存储关系;
顺序存储结构——链式存储结构——索引存储结构; -
数据之间的相关运算——在相应科目中做考察;
3. 数据结构的分类
- 线性结构:
条件:有且只有一个根节点;每一个元素最多有一个前件元素, 也最多有一个后件元素;
根节点:没有前件元素的节点 ;
叶子节点:没有后件元素的节点;
典型代表:线性表(顺序表和线性链表)、栈、队列。
- 非线性结构:不满足线性结构条件的
典型代表:树(二叉树)、图
三、 线性表及其顺序存储结构
1. 数据的物理存储结构
- 顺序存储结构;
- 链式存储结构;
- 索引存储结构;
分类 | 存储方式 | 说明 |
---|---|---|
顺序表 | 线性表的顺序存储结构 | 线性表 |
线性链表 | 线性表的链式存储结构 | 线性表 |
2. 顺序表的考点
- 线性表在插入运算时,等概率的情况下需要平均移动___n/2___个元素;
- 线性表在删除运算时,等概率的情况下需要平均移动____(n-1)/2__个元素;
四、栈和队列
1. 栈
- 栈是一个有底无盖的数据结构;
- 允许插入和删除元素的一端称为栈顶top;
- 不允许插入和删除元素的一端称为栈底bottom;
- 栈中的元素会随着栈顶Top指针的移动而移动;
- 栈:“先进后出,后进先出”
2. 栈的分类:顺序栈和链式栈
分类 | 存储方式 | 说明 |
---|---|---|
顺序栈 | 顺序存储结构 | 栈、线性结构 |
链式栈 | 链式存储结构 | 栈、链式结构 |
3. 队列
- 头(front)删除尾(rear)插入的数据结构;
- 队列的组织结构的特点:“先进先出,后进后出”;
4. 队列中元素个数的计算方法
- rear>front 元素个数=rear-front;
- rear =front 元素个数=队列数或者0;
- rear<front 元素个数=队列数-front+rear;
5. 线性链表
- 线性表采用了链式存储结构;
- 占用的空间: 线性表的顺序存储结构 < 线性表的链式存储结构
五、树与二叉树
1. 树是非线性结构
2. 树的基本概念
- 父结点:某一个结点的前件元素;
- 子结点:某一个结点的后件元素;
- 根节点:没有前件的元素;
- 叶子节点:没有后件的元素;即叶子结点的度就是0。
3. 树的三度问题
- 结点的度:某一个结点它有几个后件元素、结点的度就是几;
- 树的度:在一棵树中,结点的度最大的值称为树的度;
- 树的深度:树有几层,深度就是几;
4. 二叉树及其基本性质
- 二叉树:非线性结构;
5. 二叉树的特点:
- 非空二叉树只有一个根节点;
- 每个结点的度最大为2,即最多有2颗子树;
结论:
- 二叉树的度:度为0的叶子节点;度为1的叶子结点;度为2的叶子节点;
6. 二叉树的性质:
- 在一棵二叉树的第K层上,最多有2^(k-1)个结点;
- 对于一颗深度为m的二叉树,最多有2^m - 1 个结点;
- 在一棵二叉树中,度为0的结点数比度为2的结点数多1个;
7. 二叉树的分类
- 满二叉树;除最后一层外,每一层上的所有结点均有两个子结点(只有度为0的和度为2的)
- 完全二叉树;除最后一层外,每一层上的结点数均达到最大值,在最后一层只允许缺少右边的若干结点
- 二叉树的结点数 = 度为0+ 度为1 + 度为2;
8. 二叉树的遍历(必考)
遍历:使用一种科学的方法来毫无遗漏地访问到二叉树中的每一个结点;
- 前序遍历(先根遍历):先去访问根结点——左子树——右子树;
- 中序遍历(中根遍历):先去访问左子树——根结点——右子树;
- 后序遍历(后根遍历):先去访问左子树——右子树——根结点;
提示:对于任何一个非空结点均看成是根结点;
六、排序和查找
1. 查找
- 顺序查找——最坏情况需要查找N次;最优情况下查找1次;
- 二分查找——最坏情况需要查找log2n次;最优情况下查找1次;
线性表的存储方式 | 有顺序 | 无顺序 |
---|---|---|
顺序存储方式-----顺序表 | 二分查找 | 顺序查找 |
链式存储方式-----线性链表 | 顺序查找 | 顺序查找 |
2. 排序
类别 | 排序方法 | 时间复杂度 | 说明 |
---|---|---|---|
交换类 | 冒泡排序 | n(n-1)/2 | |
快速排序 | n(n-1)/2 | ||
插入类 | 简单插入排序 | n(n-1)/2 | |
希尔排序 | n^1.5 | ||
选择类 | 简单选择排序 | n(n-1)/2 | |
堆排序 | nlog2n |
第六节 程序设计基础
一、程序设计风格
- 程序设计强调:清晰第一,效率第二;
二、结构化程序设计(强调过程)
1. 程序化结构设计的原则
- 自顶向下;
- 逐步求解;
- 模块化;
- 限制使用goto语句;
2. 结构化程序设计的基本结构
- 顺序结构;
- 选择结构;
- 循环结构;
三、面向对象的程序设计(强调结果)
1. 面向对象编程思想的优点
- 与人类的思维方法一致;
- 稳定性好;
- 可重用性好;
- 易于开发大型产品;
- 可维护性好;
2. 面向对象程序设计的几个概念
对象:能够被计算机识别的,并且可以相互区别的事物;
找对象:
-
外观(长相):身高、胖瘦、脸蛋……——不太丑就行——属性;
-
内在:责任心、爱心、事业心——操作——操作、方法。
-
一个对象是由对象名、属性和操作三部分组成;
3. 对象的基本标识
- 标识唯一性;
- 分类性;
- 多态性;
- 封装性;——信息的隐蔽性是通过对象的封装性来实现的。
- 模块的独立性好;——高内聚,低耦合
4. 在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送消息。
5. 类的继承性是类之间共享属性和操作的机制,它提高了软件的可重用性。
第七节 软件工程基础
一、软件工程的基本概念
1. 软件的概念
- 计算机软件是由程序、数据、相关文档来组成;
2. 软件危机
- 软件危机可以归纳为成本、质量、生产率等问题;
3. 软件工程
- 软件开发技术(软件开发方法学、软件工具、软件工程环境);
- 软件开发管理(软件管理、软件工程经济学);
4. 软件的生命周期
- 软件生命周期:从软件提出、实现、使用维护到停止使用退役的过程;
软件生命周期有三个阶段:
软件定义阶段:
- 制定计划:确定总目标,可行性研究,讨论解决方案,制定开发计划——最后成果:可行性分析报告;
- 需求分析:对待开发的软件提出需求进行分析并给出详细定义——最后成果:需求规格说明书;
软件开发阶段:
- 软件设计:总体设计(概要设计)和详细设计(过程设计);
- 软件实现:编代码;
- 软件测试:软件测试的关键在于用例的选取,一个好的测试用例能够发现找到迄今为止尚未发现的错误;
软件的运行维护阶段:——生命周期当中花费时间最长的一个阶段;
4. 软件工程的目标和原则
- 原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性;
二、结构化分析方法
- 软件定义阶段——需求分析——需求分析所用到的方法是——结构化分析法;
- 需求分析的任务:导出目标系统的逻辑模型,解决“什么”的问题;
需求分析的步骤:
- 需求获取;
- 需求分析;
- 编写需求规格说明书;
- 需求评审;
需求分析阶段的最后成果是需求结构说明书;
结构化分析方法的所用到的工具:
- 数据流图——DFD图;
- 数据字典——DD;
- 判定树;
- 判定表;
数据流图的图形:
- 椭圆——加工;
- 箭头——数据流;
- 双横线——存储文件;
- 矩形——源、潭;
- 数据字典:是对数据流程图中出现的被命名元素做出确切解释,数据字典是结构化分析方法的核心;
三、结构化设计方法
- 结构化设计方法——软件设计的方法
- 需求分析主要解决做什么的问题;软件分析主要解决“怎么做”的问题;
软件设计的步骤:
- 结构设计;
- 数据设计;
- 接口设计;
- 过程设计;
- 软件设计的基本原理
- 抽象:将客观世界的事物转化成为计算机可以识别的事物的过程;
- 模块化:把复杂问题简单化;
- 信息隐蔽:是通过对象的封装性来实现的,他提高了软件的可重用性;
- 模块的独立性好——高内聚,低耦合;
模块的耦合性和内聚性是衡量软件模块独立性好坏的两个定性指标;
- 内聚性:模块内部各个元素之间的关系;
最强的:功能内聚;
最弱的:偶然内聚; - 耦合性:模块之间各个元素之间的关系;
最高:内容耦合;
最弱:非直接耦合;
- 软件设计:总体设计(概要)和详细设计(过程)
- 总体设计的任务
- 设计软件的系统结构;
- 数据结构和数据库设计;
- 编写概要设计文档;
- 概要设计文档评审;
数据流的类型:变换型和事务型;
5. 详细设计
- 图形工具:程序流程图,N-S方盒图,PAD问题分析图、HIPO图(层次+输入+处理+输出图);
- 表格工具:判定表;
- 语言工具:PDL伪代码;
四、软件测试
1. 软件测试
- 软件测试的目的是尽可能多地去发现程序中的错误,不能也不可能证明程序没有错误。
- 软件测试的关键在于测试用例的选择,一个好的测试用例能够发现或者找到软件迄今为止尚未发现的错误。
2. 软件测试的方法
静态测试:
- 人工测试;
- 不运行软件;
动态测试:
- 计算机测试;
第八节 数据库设计基础
一、数据库的几个概念
- 数据、数据库、数据库管理系统
- 数据(Data):能够被计算机识别的,并且可以相互区别的事物;
- 数据库(Data base):数据的仓库;
- 数据库管理系统:Data base management system;系统软件
- 功能:数据的组织、数所操纵(增、删、改、查)、数据控制、保护、服务。
- 数据的定义:————建立表;
- 数据存储的物理构建;
- 数据操纵——增删改查;
- 数据库的并发控制和故障恢复;
- 数据服务(数据复制、转存、重组、性能监测、数据分析);
- 数据库的管理员(data base administrator 定义、设计、维护、监视)
- 数据库系统:
- 数据库(实质:数据库中存放数据,以二维表的形式进行表现);
- 数据库管理系统:access SQL-server My-sql oracle;
- 数据库管理员;
- 硬件平台——计算机;
- 软件平台——windows7;
- 数据库的应用系统:Data base Application system;
二、数据库系统的发展
背景 | 人工管理阶段 | 文件系统阶段 | 数据库系统阶段 |
---|---|---|---|
应用背景 | 科学计算 | 科学计算、管理 | 大规模数据管理 |
硬件背景 | 没有存储设备 | 磁带 | 大容量磁盘 |
软件背景 | 没有操作系统 | 文件系统 | 数据库管理系统 |
处理方式 | 批处理 | 联机实时处理、批处理 | 联机实时处理、批处理、分布式处理 |
特点 | 最不好 | 居中 | 最好 |
三、数据库系统的基本特点
- 数据的高集成性;
- 数据的高共享性;
- 数据的低冗余性;
数据的独立性好:数据和程序是分开存储的,互不依赖;
- 物理独立性;
- 逻辑独立性;
数据库系统可以减少数据的冗余,但是无法避免或消除一切冗余;
四、数据库系统的三级模式
- 概念模式:客观事物——计算机的第一个阶段,过于接近客观事件;
- 外模式:用户模式——过于接近计算机用户;
- 内模式:物理模式——过于接近计算机硬件;
五、数据模型
1. 数据的模型
数据模型主要包括三个部分:
- 数据结构;
- 数据操作;
- 数据约束;
2. 数据的约束
- 实体完整性约束:在一个表中必须有主键,用主键来保证实体的唯一性;
- 用户自定义的完整性约束:某字段的取值范围;
- 参照完整性约束:两个实体集之间的相互制约的关系;
3. 数据模型的分类
- 概念模型:E-R(实体——关系)模型、扩展E-R模型、面向对象的模型、谓问模型——过于接近客观世界;
- 逻辑数据模型:层次模型、网状模型、关系模型、面向对象的模型;
- 物理数据模型:在计算机中物理结构表示。
六、实体关系模型及E-R图
1. E-R模型的基本概念
- 实体:客观存在的并且可以相互区别的事物——对象;
- 属性:事物的特征——外观;
- 联系:实体与实体之间的关系——一对一,一对多,多对一,多对多;
2. E-R模型的图形表示
- 实体——矩形;
- 属性——椭圆;
- 联系——菱形;
七、数据库管理系统常见的数据模型
- 层次模型;
- 网状模型;
- 关系模型;
八、关系模型
1. 关系:用二维表的方式来表示实体及实体集之间的一种模型
- 元组:二维表中的每一行,除了第一行——记录;
- 属性:二维表中的每一行,只有第一行——字段;
提示:在一个关系中不能有完全相同的两个元组,即两条完全相同的记录;
2. 主键——保证实体完整性:在一个表中至少应该有一个字段,不能重复、不能有不确定的值;
3. 外键——在一个表中,某个字段,它不是当前的主键,但他是另一个表的主键。
九、关系中的数据约束
- 实体完整性约束——有主键来保证;
- 参照完整性约束——表与表之间的相互制约关系;
- 用户自定义的完整性约束——也称域完整性约束,是指字段的取值范围;
十、关系代数
1. 传统的集合运算
- 并:两个表有相同的关系模式,两个表所有元素的集合;
- 交;两个表有相同的关系模式,两个表相同元组的集合;
- 差;两个表有相同的关系模式,A和B的差就是属于A的元素但不属于B的元素的集合;
- 广义的笛卡尔集;不要求有相同的关系;
步骤:
- 两个表进行并运算;
- 所有元素进行排列组合;
2. 专业的关系运算
- 选择:从关系中选择符合条件的行(元组);
- 投影:从关系中选择符合条件的列(属性);
- 连接:去掉重复属性的等值相连;
十一、数据库设计方法与步骤
1. 数据库设计的阶段
- 需求分析——解决做什么的问题;
- 概念设计——形成E-R图;
- 逻辑设计——将E-R图转换为RDMs中的关系模型;
- 物理设计——将计算机数据库放到计算机中;