计算机应用技术

编程知识 更新时间:2023-04-19 01:52:48

文章目录

  • 计算机应用技术 \color{red}{计算机应用技术} 计算机应用技术
    • 第一章:计算机及其应用概述 \color{blue}{第一章:计算机及其应用概述} 第一章:计算机及其应用概述
      • 第一节:计算机的发展历史 \color{green}{第一节:计算机的发展历史} 第一节:计算机的发展历史
        • 一、计算的概念
        • 二、计算工具的发展
          • 1.手工计算阶段
          • 2.机械计算阶段
          • 3.电子计算阶段
        • 三、电子计算机的发展
          • 1.第一代计算机(20世纪40年代中期到50年代末)
          • 2.第二代计算机(20世纪50年代中后期到60年代中期)
          • 3.第三代计算机(20世纪60年代中期到70年代中期)
          • 4.第四代计算机 (20世纪70年代末期至今)
      • 第二节:计算机系统的组成 \color{green}{第二节:计算机系统的组成} 第二节:计算机系统的组成
        • 一、计算机的特点和功能
          • 1.计算机的特点
          • 2.计算机的功能
        • 二、计算机的硬件组成
          • 1.中央处理器(CPU)
            • (1)CPU的功能
            • (2)CPU的组成
            • (3)CPU的性能指标
          • 2.存储器
            • (1)按存储介质分类
            • (2) 按存取方式分类
            • (3)按信息的可更改性分类
            • (4)按断电后信息的可保存性分类
            • (5)按所处位置及功能分类
          • 3.外部设备
          • 4.总线
        • 三、计算机的软件组成
          • 1.软件的发展过程
          • 2.软件的分类
            • (1)系统软件
            • (2)应用软件
          • 3.程序设计语言
      • 第三节:计算机中的信息表示 \color{green}{第三节:计算机中的信息表示} 第三节:计算机中的信息表示
        • 一、计算机中的信息
        • 二、数值型数据的表示
          • 1.数制的概念
          • 2.二进制数的特点
          • 3.数制之间的转换
            • (1)任意进制转换成十进制
            • (2)十进制数转换成二进制数
            • (3)二进制数转换为十六进制数
            • (4)十六进制数转换为二进制数
          • 4.二进制数的编码表示
            • (1)原码
            • (2) 反码
            • (3)补码
          • 5.定点与浮点表示
            • (1)定点表示
        • 三、非数值型数据的表示
          • 1.西文字符的表示
          • 2.汉字的表示
            • (1)输入码(外码)
            • (2)交换码
            • (3) 机内码
            • (4)汉字的字形码
          • 3.位图图像的表示
          • 4.声音的表示
        • 四、计算机指令的表示
      • 第四节:计算机技术的应用 \color{green}{第四节:计算机技术的应用} 第四节:计算机技术的应用
        • 一、计算机的用途
          • (1)科学计算
          • (2) 信息管理
          • (3)自动控制
          • (4)人工智能(Artificial Intelligent,AI)
          • (5) 辅助工程
          • (6)学习娱乐
          • (7)电子商务
        • 二、未来计算机发展趋势
          • (1)网络化
          • (2)智能化
          • (3)巨型化和微型化
      • 本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾
        • 1.冯诺依曼“存储程序”计算机的基本结构和功能。
        • 2.现代计算机硬件构成和各功能部件的作用。
        • 3.计算机软件的作用。
        • 4.计算机中数值型和非数值型数据的表示。
        • 5.不同进制数据转换。
        • 6.原码、反码、补码的表示和三者的转换关系。
    • 第二章:计算机系统软件概述 \color{blue}{第二章:计算机系统软件概述} 第二章:计算机系统软件概述
      • **本章重难点**
      • 第一节:计算机基本输入系输出统 B I O S \color{green}{第一节:计算机基本输入系输出统BIOS} 第一节:计算机基本输入系输出统BIOS
        • 一、BIOS的概述
        • 二、BIOS的组成
          • 1.BIOS中断服务程序
          • 2.BIOS系统设置程序
          • 3.POST加电自检程序
          • 4.BIOS系统启动自举程序
        • 三、BIOS的基本功能
          • 1.自检及初始化
          • 2.提供程序服务处理
          • 3.提供硬件中断处理
        • 四、微型计算机启动的一般过程
      • 第二节:操作系统概述 \color{green}{第二节:操作系统概述} 第二节:操作系统概述
        • 一、操作系统的定义及作用
        • 二、操作系统的特征
          • 1.并发性
          • 2.共享性
          • 3.虚拟性
          • 4.异步性
        • 三、操作系统的功能
          • 1.进程管理
          • 2.存储器管理
          • 3.设备管理
          • 4.文件管理
          • 5.用户接口
        • 四、操作系统的发展与分类
          • 1.批处理操作系统
            • 批处理操作系统的主要特征如下。
          • 2.分时操作系统
            • 分时操作系统的主要特征如下。
          • 3.实时操作系统
          • 4.微机操作系统
          • 5.分布式操作系统
        • 五、常见的操作系统
          • 1.UNIX操作系统
          • 2.Linux操作系统
          • 3.NetWare网络操作系统
          • 4.Windows系列操作系统
      • 第三节:编译系统概述 \color{green}{第三节:编译系统概述} 第三节:编译系统概述
        • 一、编译的概念
        • 二、编译的过程
          • 1.词法分析阶段
          • 2.语法分析阶段
          • 3.语义分析阶段
          • 4.中间代码生成阶段
          • 5.代码优化阶段
          • 6.目标代码生成阶段
        • 三、编译器概述
          • 编译器的分类
      • 第四节:数据库管理系统 D B M S \color{green}{第四节:数据库管理系统DBMS} 第四节:数据库管理系统DBMS
        • 一、数据库管理系统概述
          • 1.人工管理阶段
          • 2.文件系统阶段
          • 3.数据库系统阶段
        • 二、数据库系统的结构
          • 1.数据库
          • 2.硬件支持系统
          • 3.软件支持系统
          • 5.用户
        • 三、数据库管理系统
          • 1.DBMS的工作模式
          • 2.DBMS的组成
          • 3.DBMS的功能
            • (1)数据定义功能
            • (2)数据操纵功能
            • (3)数据库的运行管理功能
            • (4)数据库的建立和维护功能
        • 四、常用的数据库管理系统
          • 1.DB2
          • 2.Oracle
          • 3.MS SQL Server
          • 4.MySQL
      • 第五节: A n d r o i d 系统概述 \color{green}{第五节:Android系统概述} 第五节:Android系统概述
        • 一、Android操作系统简介
          • (1)Applications(应用程序层)
          • (2)Application Framework(应用程序框架层)
          • (3) Libraries(系统运行库层)
          • (4)Linux Kernel(Linux内核层)
        • 二、Android开发环境的搭建
          • 1.JDK的下载与安装
          • 2.Android SDK的下载和安装
        • 三、创建一个简单的Android应用程序
          • 创建一个"Helloworld"程序
      • 本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾
        • 1.基本输入输出系统;
        • 2.操作系统;
        • 3.编译系统;
        • 4.数据库管理系统的构成、功能。
        • 5.android
    • 第三章:应用软件开发工具介绍 \color{blue}{第三章:应用软件开发工具介绍} 第三章:应用软件开发工具介绍
      • 本章重难点
      • 第一节:程序设计语言概述 \color{green}{第一节:程序设计语言概述} 第一节:程序设计语言概述
        • 一、计算机程序设计语言及其发展
        • 二、机器语言与汇编语言
          • 1.机器语言
          • 2.汇编语言
        • 三、高级程序设计语言
          • 1.高级程序设计语言的特点
          • 2.高级程序设计语言的构成
          • 3.常见的高级程序设计语言
            • (1)C语言
            • (2)面向对象的程序设计语言C++
            • 2)程序设计语言C++
            • (3)Java语言
      • 第二节:软件开发工具简介 \color{green}{第二节:软件开发工具简介} 第二节:软件开发工具简介
        • 一、程序的编辑
        • 二、程序的编译
        • 三、程序的调试
      • 第三节: v i s u a l s t u d i o 2010 简介 \color{green}{第三节:visual studio 2010 简介} 第三节:visualstudio2010简介
        • 一、主窗体介绍
        • 二、创建控制台应用程序
          • 1.新建项目
          • 2.应用程序设置
          • 3.编辑程序代码
          • 4.代码的编写
          • 5.调试执行
        • 三、在VS 2010中调试程序
      • 第四节: L i n u x 中常用命令和程序开发 \color{green}{第四节:Linux中常用命令和程序开发} 第四节:Linux中常用命令和程序开发
        • 一、Linux中的命令
          • 1.目录操作命令
            • (1) pwd
            • (2) cd
            • (3)Is命令
            • (4)mkdir命令
          • 2.文件操作命令
            • (1)touch命令
            • (2)cp命令
            • (3)rm命令
          • 3.文件内容操作命令
            • cat命令
          • 4.帮助命令
            • (1) --help
            • (2)man命令
        • 二、全屏幕编辑器vi
          • 1.文件操作
            • (1)打开文件
            • (2)保存文件
            • (3)退出vi
          • 2.光标移动
            • (1)上下左右移动
            • (2)行内光标移动
            • (3)文件内光标移动
            • (4)逐单词移动
            • (5)光标跳转
          • 3.文本选择
            • (1)字符选择
            • (2)行选择
            • (3)列选择
          • 4.文本编辑
            • (1)复制
            • (2)剪切
            • (3)粘贴
            • (4)删除
            • (5)撤销和恢复
            • (6)列编辑
          • 5.搜索替换
            • (1)搜索
        • 三、GCC编辑器
          • 1.GCC简介
          • 2.编译程序
        • 四、GDB基础
          • 1.在GDB中调试程序
            • (1)启动调试
            • (2)设置断点
            • (3)运行程序
            • (4)调试
            • (5)退出GDB
          • 2.GDB常用命令
            • (1) (gdb) run
            • (2) (gdb) continue/c
            • (3) (gdb) b/breakpoint function | file: line | *address
            • (4) (gdb) d/delete breakpoint-number
            • (5) (gdb) p/print variable
            • (6) (gdb) s/step
            • (7) (gdb) n/next
            • (8) (gdb) jump
            • (9) (gdb) I/list number
            • (10) (gdb) q/quit
            • (11) (gdb) help
      • 第五节:版本控制工具 \color{green}{第五节:版本控制工具} 第五节:版本控制工具
        • 一、版本控制工具的功能
          • 1)代码提交。
          • 2)代码更新。
          • 3)代码撤销。
          • 4)代码文件追踪。
          • 5)代码文件对比。
          • 6)版本历史查看。
          • 7)版本切换。
          • 8)版本标签。
          • 9)代码分支创建。
          • 10)代码分支合并。
        • 二、版本控制工具Git的使用
          • 1.安装配置Git
          • 2.初始化Git仓库
          • 3.代码提交
          • 4.代码比较
          • 5.代码切换
          • 6.代码文件追踪
          • 7.代码标签
          • 8.代码分支
        • 三、使用github
      • 本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾
    • 第四章:计算机网络 \color{blue}{第四章:计算机网络} 第四章:计算机网络
      • 本章重难点
      • 第一节计算机网络的形成与发展 \color{green}{第一节 计算机网络的形成与发展} 第一节计算机网络的形成与发展
        • 一、计算机网络的形成
        • 二、计算机网络的发展
          • 1.面向终端的计算机网络(1952-1969年)
          • 2.面向通信子网的计算机网络(1969-1974年)
            • 分组交换技术:
          • 3.体系结构标准化的计算机网络(1974-1993年)
          • 4.互联高速移动泛在的计算机网络(1993年至今)
      • 第二节计算机网络的定义与分类 \color{green}{第二节 计算机网络的定义与分类} 第二节计算机网络的定义与分类
        • 一、计算机网络的定义
          • 1.资源共享
          • 2.数据通信
        • 二、计算机网络的分类
          • 1.按照计算机网络的范围
            • (1)局域网(Local Area Network,LAN)
            • (2)城域网(Metropolitan Area Network,MAN)
            • (3)广域网(Wide Area Network,WAN)
            • (4)个域网(Personal Area Network,PAN)
            • (5)体域网(Body Area Network,BAN)
          • 2.按照计算机网络的服务
            • (1)公用网(Public Network)
            • (2)专用网(Private Network)
      • 第三节计算机网络的拓扑结构 \color{green}{第三节 计算机网络的拓扑结构} 第三节计算机网络的拓扑结构
        • 一、计算机网络拓扑的定义
        • 二、计算机网络拓扑的分类
          • 1.星形拓扑
          • 2.环形拓扑
          • 3.总线型拓扑
          • 4.树形拓扑
          • 5.网状拓扑
      • 第四节计算机网络的体系结构 \color{green}{第四节 计算机网络的体系结构} 第四节计算机网络的体系结构
        • 一、计算机网络协议
        • 二、OSI参考模型
          • 1.物理层
          • 2.数据链路层
          • 3.网络层
          • 4.传输层
          • 5.会话层
          • 6.表示层
          • 7.应用层
          • OSI模型各层主要功能的归纳总结:
        • 三、TCP/IP模型
      • 第五节计算机网络的传输介质 \color{green}{第五节 计算机网络的传输介质} 第五节计算机网络的传输介质
        • 一、双绞线
        • 二、同轴电缆
        • 三、光纤
        • 四、无线传输
      • 第六节计算机网络的连接设备 \color{green}{第六节计算机网络的连接设备} 第六节计算机网络的连接设备
        • 一、网卡
        • 二、集线器
        • 三、交换机
        • 四、路由器
      • 第七节计算机网络的常用服务 \color{green}{第七节 计算机网络的常用服务} 第七节计算机网络的常用服务
        • 一、万维网服务
        • 二、电子邮件
          • 1.SMTP
          • 2.POP3
          • 3.IMAP4
        • 三、文件传输协议
        • 四、域名系统
      • 本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾
    • 第五章:信息系统安全 \color{blue}{第五章:信息系统安全} 第五章:信息系统安全
      • 本章重难点
        • 本章的重难点和常考知识点
      • 第一节信息系统安全概述 \color{green}{第一节信息系统安全概述} 第一节信息系统安全概述
        • 一、信息系统安全的概念
          • (1)物理安全
          • (2)系统安全
          • (3)信息安全
        • 二、信息系统安全的发展
          • 第一阶段:通信保密阶段(20世纪40年代)。
          • 第二阶段:计算机系统安全阶段(20世纪70年代)。
          • 第三阶段:网络信息安全阶段(20世纪80年代)。
          • 第四阶段:信息安全保障阶段(20世纪90年代末)。
          • 第五阶段:泛网安全保障阶段(21世纪初)。
        • 三、信息系统安全评价准则与等级保护
          • 1.可信计算机系统评价准则
            • (1)D级(最低安全保护级)
            • (2)C1级(自主安全保护级)
            • (3)C2级(受控存取保护级)
            • (4)B1级(标记安全保护级)
            • (5)B2级(结构化保护级)
            • (6)B3级(安全区域级)
            • (7)A1级(验证设计级)
          • 2.信息技术安全评价通用准则
          • 3.计算机信息系统安全保护等级划分准则
            • (1)自主保护级
            • (2)系统审计保护级
            • (3)安全标记保护级
            • (4)结构化保护级
            • (5)访问验证保护级
      • 第二节系统攻击技术 \color{green}{第二节 系统攻击技术} 第二节系统攻击技术
        • 一、计算机病毒
          • 计算机病毒具有以下几个基本特征:
            • (1)传染性
            • (2)隐蔽性
            • (3)潜伏性
            • (4)破坏性
          • 分类:按照计算机病毒的危害划分:
            • (1)良性病毒
            • (2)恶性病毒
          • 按照计算机病毒的宿主类型划分:
            • (1)引导区型病毒
            • (2)文件型病毒
            • (3)混合型病毒
        • 二、蠕虫
          • 蠕虫并不是病毒,二者之间存在着以下不同:
            • 1)存在形式方面
            • 2)传染机制方面
            • 3)传染目标方面
            • 4)防治手段方面
        • 三、木马
        • 四、黑客攻击
          • 1.黑客攻击的一般步骤
            • (1)踩点
            • (2)查找、发现漏洞并实施攻击
            • (3)获取目标主机最高控制权
            • (4)消除踪迹,留下后门供日后使用
          • 2.黑客攻击的常用手段
            • (1)信息收集
            • (2)扫描攻击
            • (3)口令攻击
            • (4)网络窃听
            • (5)拒绝服务
            • (6)社会工程攻击
      • 第三节系统防御手段 \color{green}{第三节 系统防御手段} 第三节系统防御手段
        • 一、防火墙
          • 防火墙从诞生开始,大致经历了五代的技术发展:
            • (1)第一代防火墙
            • (2)第二代防火墙
            • (3)第三代防火墙
            • (4)第四代防火墙
            • (5)第五代防火墙
        • 二、入侵检测系统
          • 分类:入侵检测技术可以分为两类:
            • (1)误用检测
            • (2)异常检测
          • 入侵检测系统同样存在着以下几点不足:
        • 三、入侵容忍系统
          • 入侵容忍系统所使用的容忍技术措施
            • (1)冗余技术
            • (2)多样性技术
            • (3)门限方案技术
        • 四、蜜罐技术
          • 分类:
            • (1)低交互蜜罐
            • (2)中交互蜜罐
            • (3)高交互蜜罐
          • 根据产品的应用目的不同
            • (1)研究型蜜罐
            • (2)产品型蜜罐
      • 本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾
    • 第六章:多媒体技术 \color{blue}{第六章:多媒体技术} 第六章:多媒体技术
      • 本章重难点
        • 本章的重难点和常考知识点
      • 第一节多媒体技术概述 \color{green}{第一节多媒体技术概述} 第一节多媒体技术概述
        • 一、多媒体技术的基本概念
          • 1.媒体
            • (1)感觉媒体
            • (2)表示媒体
            • (3)表现媒体
            • (4)存储媒体(Storage Medium)
            • (5)传输媒体(Transmission Medium)
          • 2.多媒体
          • 3.多媒体技术
            • (1)同步性
            • (2)集成性
            • (3)交互性
            • (4)实时性
        • 二、多媒体计算机系统
          • 1.多媒体计算机的硬件系统
            • (1)输入设备
            • (2)输出设备
            • (3)接口卡
            • (4)存储设备
          • 2.多媒体计算机的软件系统
            • 多媒体操作系统:
            • 多媒体驱动程序:
            • 多媒体创作软件
            • 多媒体应用软件
        • 三、多媒体技术的发展历程
          • 1)1984年,美国Apple(苹果)公司首创用计算机处理图像。
          • 2)1985年,美国Commodore公司首创多媒体计算机系统Amiga。
          • 3)1986年3月,荷兰PHILIPS公司和日本SONY公司共同制定了CD-l交互式激光盘系统标准:
          • 4)1987年3月,RCA公司制定了DVI(Digital Video lnteractive)标准
          • 5)1990年11月,美国Microsoft公司和PHILIPS等公司成立多媒体个人计算机市场协会(Multimedia PC Marketing Council)。
          • 6)1991年,多媒体个人计算机市场协会提出MPC1标准。
          • 7)1993年5月,多媒体个人计算机市场协会公布了MPC2标准。
          • 8)1995年6月,多媒体个人计算机工作组公布了MPC3标准。
        • 四、多媒体技术的应用
          • 1.教育培训
          • 2.娱乐
          • 3.多媒体通信
          • 4.咨询广告
          • 5.电子出版物
      • 第二节多媒体计算机系统中的信息表示 \color{green}{第二节 多媒体计算机系统中的信息表示} 第二节多媒体计算机系统中的信息表示
        • 一、常见的媒体元素
          • 1.文本
          • 2.图像
          • 3.图形
          • 4.声音
          • 5.视频
          • 6.动画
        • 二、声音信息表示
          • 1.声音概述
            • (1)声音的物理特征
            • (2)声音的心理学特征
          • 2.音频信号的数字化
            • (1)采样
            • (2)量化
            • (3)编码
            • (4)音频数据的数据量
          • 3.常见的声音文件格式
            • (1)WAV格式
            • (2)MP3格式
            • (3)MIDI格式
            • (4)CD格式
            • (5)WMA格式
        • 三、图像信息表示
          • 1.图像概述
            • (1)图形与图像
            • (2)图像的基本属性
            • (3)色彩与颜色模型
          • 2.图像的数字化
          • 3.常见的图像文件格式
            • (1)BMP格式
            • (2)GIF格式
            • (3)PNG格式
            • (4) JPEG
            • (5)PSD格式
            • (6)TIFF格式
            • (7)SVG格式
        • 四、视频信息表示
          • 1.视频概述
            • (1)视频的定义
            • (2)视频的分类
          • 2.视频图像的数字化
          • 3.常见的视频文件格式
            • (1)MPEG格式
            • (2)AVI格式
            • (3)RM格式
            • (4)RMVB格式
        • 五、动画
          • 1.动画概述
            • (1)动画的定义
            • (2)动画和视频的区别
            • (3)动画的技术指标
          • 2.动画文件格式
            • (1)SWF格式
            • (2)FLC格式
            • (3)GIF格式
      • 第三节多媒体元素处理软件简介 \color{green}{第三节多媒体元素处理软件简介} 第三节多媒体元素处理软件简介
        • 一、数字音频处理软件
          • 1.WavEdit
          • 2.Creative WaveStudio
          • 3.Cool Edit
          • 4.GoldWave
          • 5.Cakewalk
        • 二、图形图像处理软件
          • 1.ACDSee
          • 2.Photoshop
          • 3.光影魔术手
          • 4.美图秀秀
          • 5.CorelDRAW
        • 三、数字视频处理软件
          • 1.Movie Maker Live
          • 2.Adobe Premiere Pro
          • 3.EDIUS
          • 4.绘声绘影
        • 四、动画制作软件
          • 1.二维动画制作软件
            • (1) Flash
            • (2) Animator Pro
            • (3) Swish
          • 2.三维动画制作软件
            • (1) Softimage
            • (2) Maya
            • (3) 3D Max
      • 第四节图像处理软件 P h o t o s h o p C S 6 \color{green}{第四节 图像处理软件Photoshop CS6} 第四节图像处理软件PhotoshopCS6
        • 一、系统工作界面
          • 1.启动界面
          • 2.主界面
          • 3.工具箱
        • 二、绘制图像和图像几何形状处理
          • 1.绘制图像
            • (1)利用画笔绘制散布叶片
            • (2)利用绘图工具绘制形状
          • 2.图像几何形状处理
            • (1)图像几何调整
            • (2)图像选区几何调整
        • 三、图像色彩调整和滤镜
          • 1.图像色彩调整
            • (1)色阶调整
            • (2)曲线调整
          • 2.滤镜
        • 四、图层和蒙版
          • 1.图层
          • 2.蒙版
        • 五、路径和综合效果
          • 1.路径
          • 2.综合效果
      • 第五节多媒体作品开发概述 \color{green}{第五节 多媒体作品开发概述} 第五节多媒体作品开发概述
        • 一、多媒体作品概述
          • 1.多媒体作品的基本模式
            • (1)示教型模式
            • (2)交互型模式
            • (3)混合型模式
          • 2.多媒体作品的设计原则
            • (1)界面设计原则
            • (2)创意设计原则
        • 二、多媒体作品的开发流程
          • 1.确定目标
          • 2.编写脚本
            • (1)编写系统脚本
            • (2)编写制作脚本
          • 3.素材准备
          • 4.集成
          • 5.测试与评价
            • (1)测试
            • (2)评价
          • 6.包装与维护
            • (1)包装
            • (2)维护
      • 本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾
  • 应试指导 \color{red}{应试指导} 应试指导
    • 考核目标
    • 考试题型介绍
    • 考题特点
    • 复习备考建议
    • 章节内容

计算机应用技术 \color{red}{计算机应用技术} 计算机应用技术


第一章:计算机及其应用概述 \color{blue}{第一章:计算机及其应用概述} 第一章:计算机及其应用概述


第一节:计算机的发展历史 \color{green}{第一节:计算机的发展历史} 第一节:计算机的发展历史

一、计算的概念

计算是一种重要的人类活动,也是人类区别于其他动物的特征之一。人类很早就学会了加、减、乘、除等运算,但直到20世纪30年代以前,没有人能真正说清楚计算的本质是什么。从20世纪30年代开始,由于哥德尔、邱奇和图灵等科学家的工作,人们开始对计算的本质有了清楚的理解。
那么到底什么是计算呢?

抽象地说,计算就是映射或基于规则的符号串的变换过程。从一个已知的符合串开始,按照一定的规则,一步一步地改变符号串,经过有限步骤,最后得到一个满足预先规定的符号串,这个变换过程就是计算。

与计算紧密联系的一个概念是“算法”。
算法是求解某类问题的通用法则或方法,即符号串变换的规则。算法通常由某种精确的语言来表述,算法的执行过程就是计算。

二、计算工具的发展

1.手工计算阶段

人类计算工具的开发是从记数开始的。在远古时代,人类还只能通过结绳和刻木的简单方法来记载生活中的事件。
随着生产力的发展,剩余物资开始增多,于是产生了数的概念,计算工具从记数走向计数,即对数进行度量。最简单的计数工具是人的十个手指,可以表达从1到10的数。

随着生产力的发展,出现了一种用来模拟和扩展手指运算功能的计算工具--算筹,算筹是由木头或竹子做成的小木棍,多个长短粗细相同的小木棍可以通过纵横相间的摆放来表达超过十的数字。

算盘是另一种用来扩展手指运算功能的计算工具。中国很早就出现了算盘,配套有完整的运算口诀和操作方法。口诀是针对算盘结构特点设计的基本操作规则,算盘从中国传到了日本、朝鲜、东南亚、西亚和欧洲,成为使用最广泛、价格最低廉的计算工具。
17世纪出现了计算尺,它是一种可滑动的尺子,长度来模拟运算数字,除了能进行简单的四则运算外,还能进行三角函数对数等比较复杂的运算。

2.机械计算阶段

1642年,法国人帕斯卡发明了用齿轮计算的机械加法器。1666年,英国人莫兰发明了可以进行加减运算的机械计算器。1673年,德国人莱布尼兹改进帕斯卡的设计,在机械计算器中增加了乘除运算
1822年,英国人巴贝奇首先提出计算过程自动化的概念设计出了第一台通用自动时序控制机械式计算机,称为“巴贝奇差分机”。这台机器不仅能提高乘法速度,而且改进了对数表等数字表的精确度。巴贝奇研制的差分机和分析机为现代计算机设计思想的发展奠定了基础。

3.电子计算阶段

1946年2月,在美国宾夕法尼亚大学诞生了世界上第一台真正意义上的电子计算机ENIAC(Electronic Numerical Integrator And Computer,电子数字积分计算机)。ENIAC体型巨大,其大小约为:高2.4m、宽0.9m、长30.5m,装有近1.8万个真空电子管、1500个继电器、7万个电阻、1万个电容,总重量30t,每秒能执行5000次加法、400次乘法运算,还能进行除法、平方根等运算。
ENIAC被用于弹道计算、原子裂变的能量计算、气象预报等多个领域,充分体现了电子计算机的巨大优势,ENIAC是划时代
成为现代数字计算机的典型代表。

1949年,英国剑桥大学开发出了世界上第一台存储程序的电子计算机EDSAC(Electronic Delay Storage Automatic Calculator,电子延迟存储自动计算机)。
之后的计算机都是基于冯 诺依曼的存储程序体系结构的计算机,被统称为冯·诺依曼机。冯·诺依曼被称为计算机之父,冯·诺伊曼机的体系结构如下图所示,由五大基本部件构成,具体如下:

冯·诺依曼机具有如下功能:

  • 把需要的程序和数据送至计算机中。

  • 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。

  • 具有完成各种算术运算、逻辑运算和数据传送的能力。

  • 能够根据需要控制程序的走向,并能根据指令控制机器的各部件协调操作

  • 能够按照要求将处理结果输出给用户

  • 把需要的程序和数据送至计算机中。

  • 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。

  • ·具有完成各种算术运算、逻辑运算和数据传送的能力。·能够根据需要控制程序的走向,并能根据指令控制机器的各部件协调操作。

  • ·能够按照要求将处理结果输出给用户。

三、电子计算机的发展

根据所使用的关键电子器件的不同,电子计算机的发展被分为四个时代

1.第一代计算机(20世纪40年代中期到50年代末)

电子管计算机–其逻辑元器件是电子管。
使用机器语言和汇编语言编程,体积庞大,速度慢。
代表:ENIAC、EDSAC以及1951年由冯,诺依曼研制成功的 IAS计算机。

2.第二代计算机(20世纪50年代中后期到60年代中期)

晶体管计算机–其逻辑元器件是晶体管。开始使用高级语言程序及其编译器进行硬件控制,整个计算机的体积和能耗都更小。
典型代表:
TRADIC、TX-2晶体管计算机、IBM7070和IBM7090、 IBM1401

3.第三代计算机(20世纪60年代中期到70年代中期)

集成电路计算机–逻辑元件为中小规模集成电路。
集成电路将电路中所需的晶体管、二极管、电阻、电容等元器件及连线固化并封装在半导体芯片上,功能更为丰富,体积更小。开始使用操作系统进行资源调度和输入/输出控制。这一时期开始出现各种型号的大型机、巨型机和小型机。

1964年世界上第一台采用集成电路通用计算机IBM360系统研制成功

4.第四代计算机 (20世纪70年代末期至今)

大规模、超大规模集成电路计算机。
计算机的体积、重量、功耗进一步减小,运算速度大幅度提高。同时,存储技术、操作系统、计算机语言的发展,使得计算机的功能更强大,使用更方便,计算机的应用领域深入到社会生活的各个方面。
目前主流的计算机还属于第四代计算机的范畴。

第二节:计算机系统的组成 \color{green}{第二节:计算机系统的组成} 第二节:计算机系统的组成

一、计算机的特点和功能

计算机是一种能对数字化信息进行算术和逻辑运算的高速处理装置,其处理的对象是数字化信息,处理的手段是算术和逻辑运算,处理的方式是自动的,因此,计算机与其他人工或机械式计算工具有着本质的区别。

1.计算机的特点

(1)计算速度快

(2)计算精度高

(3)逻辑性强
(4)数据处理量大

(5)自动化程度高

(6)应用领城广泛

2.计算机的功能

(1)数据处理是计算机系统最主要的功能。
(2)数据存储是计算机能采用自动工作方式的基本保证。

(3)数据传输是指在计算机内部的各个功能部件、计算机主机与外部设备之间、各个计算机系统之间进行信息交换的操作功能。计算机的数据传输功能是实现信息流动和共享的主要途径。

二、计算机的硬件组成

计算机硬件(Computer Hardware)是指计算机系统中由电子、机械和光电元器件等组成的各种物理装置的总称。这些物理装置按系统结构的要求构成一个有机整体,为计算机软件运行提供物质基础。
从外观上看,微型计算机的硬件主要由主机箱和外部设备组成。主机箱内主要包括中央处理器(CPU)、内存、主板、硬盘驱动器、光盘驱动器、各种扩展卡、连接线、电源等;外部设备包括鼠标、键盘、显示器、音箱等。

1.中央处理器(CPU)

是计算机运算处理的核心部件,相当于“计算机的大脑”。

(1)CPU的功能

1)程序控制

2)操作控制

3)时间控制

4)数据运算
除此之外,CPU还要负责计算机的输入/输出管理、总线控制、中断处理等任务。

(2)CPU的组成

计算机的CPU主要由运算器、控制器、寄存器组成。
1)运算器。运算器是计算机的加工处理部件,它的运算功能由算术逻辑运算单元(Arithmetic Logical Unit,ALU)实现的。
2)控制器。负责协调并控制计算机各功能部件执行程序的指令序列,是整个计算机的控制指挥部件。
3)寄存器。用来暂时保存运算和控制过程中的中间结果、最终结果以及各种控制、状态信息,寄存器可以分为通用寄存器和专用寄存两大类。

(3)CPU的性能指标

1)时钟频率(主频),表示CPU内数字脉冲信号振荡的速度、主频越高,CPU的运算速度也就越快。单位为赫兹Hz.
2)外频。外频是CPU与主板之间同步运行的速度,外频速度越高,CPU同时接收的外围设备传来的数据就越多。
3)指令系统和字长。指令系统是指计算机所能执行的全部指令集合,不同计算机的指令系统所包含的指令种类和数目也不同。字长是CPU一次能并行处理二进制数的位数。

2.存储器

存储器是计算机系统用来存储程序和数据的器件,它是一个记忆装置,也是计算机能够实现程序存储控制的基础。
计算机中的全部信息,包括输入的原始数据、计算机程序。中间运行结果和最终运行结果都保存在存储器中。

存储器可以有以下几种分类方式。

(1)按存储介质分类

目前使用的存取介质主要有半导体元器件、磁性材料和光介质。半导体存储器由半导体元器件构成,如目前使用的内存,
磁性材料存储器主要是磁表面存储器,如磁盘和磁带等,一般用于外部存储器,
光介质存储器采用金属或塑料材质,通过激光束来读写信息,如光盘。

(2) 按存取方式分类

可分为随机存取存储器器(Random Access Memory,RAM)、顺序存取存储器、直接存取存储器、按内容访问存储器等几类。

(3)按信息的可更改性分类

可分为读写存储器和只读存储器。
读写存储别中的信息可以读出和写入,如RAM芯片;
只读存储器(ReadOnly Memery,ROM)ROM芯片中保持的信息一旦确定,通常情况下只能读出而不能写入。

(4)按断电后信息的可保存性分类

可分成非易失性存储器和易失性存储器。
非易失性存储器的信息可一直保留,不需电源维持,主要用于外存,用来保存长久使用的信息,如磁盘、光盘、U盘等;
易失性存储器在断电后保存的信息立即消失,主要用于保存临时信息,如微型计算机中的RAM、高速缓冲存储器(Cache)

(5)按所处位置及功能分类

分为内部存储器和外部存储器。
内部存储器–包括高速缓冲存储器和主存储器,位于主机内,容量小,速度快,能被CPU直接访问。
外部存储器–又称辅助存储器,位于主机外部。CPU需要通过数据线访问外部存储器,常用的外存包括硬盘、光盘、U盘等。

高速缓冲存储器是位于主存与CPU之间的快速小容量存储器用来保存CPU正在运行的程序和需要及时处理的数据。与主存相比,它的存取速度更快,但容量小,成本较高。
主存储器简称主存,介于Cache和外部存储器之间,用来保存运行和将要运行的程序和数据,它的存储容量和速度是衡量计算机性能的主要指标。

外部存储器简称外存,用来存放当前暂时不需要参与运行的程序和数据,以及需要长久保存的信息。CPU不能直接访问外存,外存中的信息必须调入主存后才能被CPU处理,与主存相比,其容量大、速度慢、价格便宜。

3.外部设备

外部设备也称为输入/输出(I/O)设备,计算机与其使用者的交互是通过输入/输出设备来实现的。
输入设备将数据、命令和程序等来自外部的信息,转换成计算机能接收并识别的形式,送入计算机。
输出设备是将计算机运算处理的结果,转换成人或其他设备能接收和识别的形式并展现出来,输出信息的形式有数字、字符、。文字、图形、图像、声音、视频等。

4.总线

为了简化硬件电路设计、简化系统结构,常用一组线路配置适当的接口电路,与各部件和外围设备连接,这组共用的连接线路被称为总线。
采用总线结构便于部件和设备的扩充,尤其制定了统一的总线标准使不同设备间的互联更容易实现。

按总线传输的信号性质,可将总线分为地址总线、数据总线和控制总线。
数据总线(Data Bus)DB是CPU用来向各个部件传送数据信息的信号线。数据总线是双向、三态总线,即数据既可以从 CPU传送到其他部件,也可以从其他部件传送给CPU。总线可以输出高、低电平,也可以处于高阻抗状态(浮空状态)。数据总线的位数和处理器的位数相对应。

地址总线(Address Bus)AB是计算机用来传送地址信息的信号线。地址总线的位数决定了CPU可以直接寻址的内存空间的大小。因为地址总是从CPU发出的,所以地址总线是单向的、三态总线。
控制总线(Control Bus)CB用来传送控制信号、时序信号和状态信号等信息,其中有的是CPU向存储器或外围设备发送的信号,有的则是存储器或外围设备向CPU发送的信号。

计算机总线的技术指标主要包括以下几个方面。
1)总线的位宽:指的是总线能同时传送的二进制数据的位数,或数据总线的位数。
2)总线的工作时钟频率:以MHz为单位,工作频率越高,总线工作速度越快,总线带宽越宽。
3)总线的带宽(总线数据传输速率):指的是单位时间内总线上传送的数据量,即每秒钟传送兆字节(MB/s)的最大稳态数据传输率。

与总线的带宽密切相关的两个因素是总线的位宽和总线的工作频率,它们之间的关系:
总线的带宽=总线的工作频率x总线的位宽/8bit
常用的总线标准:IBM公司的ISA总线、Intel公司的PCI总线等系统总线标准以及RS-232C总线、USB总线等外部总线标准。

三、计算机的软件组成

软件是为运行、维护、管理和应用计算机所编制的程序、需要的数据及文档。硬件与软件协同工作才能实现计算机系统的功能,软件是用户与硬件之间进行交流的桥梁,用户通过软件将数据、命令、程序等信息传递给计算机硬件,控制和操作硬件工作,得到需要的结果。

1.软件的发展过程

第一阶段从ENIAC诞生(1946年)到开始出现高级语言(1956年)
第二阶段从高级语言应用的普及到20世纪60年代末软件工程概念出现
第三阶段软件工程出现至今

2.软件的分类

根据软件作用的不同,通常将软件大致划分为系统软件和应用软件两大类。

(1)系统软件

系统软件泛指那些为了有效地使用计算机系统资源、为应用软件开发与运行提供支持、能为用户管理与使用计算机提供方便的一类软件。

系统软件的主要特征是:
操作系统、编译系统等系统软件与计算机硬件有很强的交互性,能对硬件资源进行统一的控制、调度和管理;系统软件有一定的通用性,它并不是专为解决某个具体应用而开发的,如数据库管理系统。

(2)应用软件

应用软件泛指专门用于解决各种具体应用问题的软件或程序。按照应用软件的开发方式和适用范围,应用软件可再分成通用应用软件和定制应用软件两大类。
1)通用应用软件。
被广泛使用的软件,常见的有WPS、MediaPlayer、QQ. Excel等。

2)定制应用软件
按照不同领域用户的特定应用要求而专门设计、开发的软件。如企业的生产制造及销售综合系统ERP、银行的存取款系统、证券交易管理系统、社会保险管理系统等。

3.程序设计语言

程序语言是用户与计算机之间进行交互的工具,用户通过程序语言告诉计算机做什么、怎么做,这些程序语言或者直接操控硬件或者经过解释、翻译,变成硬件能识别的各种控制命令。随着时代的发展,经历了机器语言、汇编语言和高级语言几个阶段。

机器语言能由计算机直接识别和执行,是最底层的程序设计语言,工作效率很高,能够直接驱动硬件工作,但记忆和运用都比较困难,语句全部由二进制符号1和0组成。
汇编语言相对于机器语言要简单明了一些,采用约定的英文符号(助记符)来表示各种操作命令和操作数。
高级语言是更接近于人类语言的程序设计语言,易学易懂,符合人的思维习惯。

高级语言编写的程序计算机硬件不能直接识别,需要翻译成机器语言程序才能执行。高级语言的翻译过程有两种形式:编译(Complie)和解释(Interpret)。
编译是将高级语言编写的源程序翻译成目标程序,将目标程序链接成可执行程序后再执行,以完成源程序的功能。编译的过程是由编译程序完成的。
解释方式是指源程序进入计算机后,由解释程序对源程序进行分析,边解释边执行,并立即得到运行结果,解释过程中不产生目标程序。

程序或软件最终变成一条条具体的指令才能控制计算机硬件工作,计算机指令是指计算机硬件执行某种操作的命令。CPU根据指令指挥和控制计算机各部件协调工作,实现对信息的加工和处理、
一台计算机所有指令的集合构成该机器的指令集,也称为指令系统

第三节:计算机中的信息表示 \color{green}{第三节:计算机中的信息表示} 第三节:计算机中的信息表示

一、计算机中的信息

计算机要处理信息,必须先以某种方式表示信息、存储信息计算机要处理的数字、文字、图形、动画、音频、视频信息以及处理这些信息的程序都需要以某种规定的形式表达、存储,然后由硬件“识别”并处理。 现代计算机都采用二进制的“0”、“1”组合来表示

※消息:人类能够感知的描述。 比如视觉系统看到景象和事物、听觉系统听到的声音、嗅觉系统闻到气味等统称为消息。 ※信息:一个抽象的概念,可以理解为消息中所包含的有意义的内容。消息是信息的载体。 人们在收到消息后,如果消息告诉人们很多原来不知道的新内容,则感觉获得了很多信息;而如果消息是人们基本已经知道的内容,则得到的信息就不多。各种信息。本节介绍数值型数据和非数值型数据信息的二进制表示

信息论学的奠基人香农在其论文《通信的数学原理》中给出了信息的数学定义:信息是对事物状态或存在方式的不确定性表述。信息是可以度量的,其大小与消息的不确定性,即概率成反比,某件事情发生的概率越大,其产生的信息量越小,反之则越大。

数据是对客观事物的性质、状态以及相互关系等进行记载的符号及其组合,常用的数据形式包括了数字、文字、图像、声音、视频等,也可以是其他抽象的符号。
计算机处理的数据分为数值型数据和非数值型数据两大类。数值型数据即人们日常使用的十进制数、八进制数、十六进制数等,有大小和正负之分,非数值型数据包括了文字、符号、声音、图像等,无大小和正负之分。

二、数值型数据的表示

在计算机中表示数值型数据,要解决三个问题:

一是采用何种进位计数制;

二是如何区分数的正负;

三是如何确定数中小数点的位置。

1.数制的概念

数制是人们利用数字符号来计数的方法。将数字符号排列,按由低位向高位进位计数的方法称为进位计数制,概括起来可以说“逢几进一”,就是几进制计数制。
一个数无论采用哪种数制表示,都包含两个基本要素:基数与位权。

基数是指数制允许使用的基本数字符号的个数。二进制中只有0和1两个符号,基数为2,逢二进一;
十进制中有0,1,2,…,9共十个符号,基数为10,逢十进一;
十六进制中有0,1,2,…,9以及英文字母A,B,C,D, E,F共十六个符号,其基数为16,逢十六进一。
小常识,一位字符的数据,相同字符不同数制代表的数据大小相同。
多位字符组成的数据,相同组合数制越大的对应的数据越大。

位权:一个数字符号出现在数中不同数位上,其所代表的数值是不同的,就等于该数字乘以一个与它所在数位有关的常数,这个常数称为位权,简称权。

数值型数据的表示

为了方便表示各种数制,通常用括号把数括起来,并在右下角标注数制。
二进制数:(1101)2或 1101B

十进制数:(368)10或368D

十六进制数:(89)16 或 89H

2.二进制数的特点

计算机中采用二进制数,是因为二进制数有以下一些特点。

1)容易实现。

2)工作可靠。

3)运算简单。
4)便于逻辑运算和逻辑设计。

3.数制之间的转换
(1)任意进制转换成十进制

按权展开
例如:101.11B=1x22+0x21+1x20+1x2-1+1x2-2=5.75D

1F1AH=1x163+15x162+1x161+10x160=7962D

(2)十进制数转换成二进制数

整数部分:“除2取余,自下而上”;小数部分“乘2取整,自上而下”。

例:

100D=1100100B .047D=0.011B

十进制数转换成二进制数的小窍门
考试中遇到十进制转换二进制的时候可以采用“拆分法”。

8位二进制数的位权从大到小依次是:
128,64,32, 16, 8, 4, 2, 1

27,26,25 24,23,22,21,20

01100100
将+进制数拆分成位权的和,拆分时注意先找比该数字小的最大的位权。比如
100D=64+36=64+32+4=26+25+23+22=01100100B

(3)二进制数转换为十六进制数

四位一组、按组组合
法则:从小数点开始向两边分组,每四位一组,最后一组不足四位时,整数部分左边补零,小数部分右边补零,然后用等值的十六进制数代替每四位一组的二进制数即可。

(4)十六进制数转换为二进制数

法则:将十六进制数的每一位数字用等值的4位二进制数代替即可。
计算机中数据的单位
位(bit):一个二进制数0或1就是一位,最小的信息表示。简写成b
字节(Byte):8个位,计算机存储系统中基本的数据单位。简写成B。
1KB(千字节)=210B=1024B
1MB(兆字节)=210KB=1024KB=220B

1GB(吉字节)=210MB=1024MB=230B

1TB(太字节)=210GB=1024GB=240B

小常识: 如何区分计算机应用技术课程中的三个B?
十进制数最后面的B,是字节;
二进制数最后面的B,是二进制的数制记号。
十六进制数制记号H前面的B是十六进制数符号B.

4.二进制数的编码表示

一个数在计算机内的表达形式称为“机器数”,它代表的数值称为此机器数的“真值”。
计算机中所有数据都用二进制表示,数有正、负之分,在计算机中一般用“0”表示正号,“1”表示负号,将二进制数的最高位用作符号位。

常用的二进制编码包括了原码、反码和补码。

(1)原码

机器数即原码。正数的原码、反码、补码均相同。

(2) 反码

负数的反码与原码的关系:符号位不变,其余位取反(0变1,1变0)

(3)补码

负数的补码=反码+1

5.定点与浮点表示

由于计算机中表示任何信息都只能使用0和1两种数字,若在计算机中将小数点也用一位数字表示的话,则容易与其他二进制数相混淆,因此,计算机要处理数值信息,必须要解决小数点的表示问题。通常计算机通过约定小数点的位置来实现小数点的表示,小数点位置约定在固定位置的数称为定点数,小数点位置约定为可浮动的数称为浮点数。

(1)定点表示

所有数的小数点固定在同一位置不变,即小数点在机器中实际上是不表示出来的,是事先就约定好固定在某个位置上的。
定点表示有两种情况:定点小数,定点整数。原码为10100000的数
如果是定点整数,则该数的真值为-0100000B=-32D

如果是定点小数,则该数的真值为-0.0100000B=-0.25D

(2)浮点表示
浮点表示法类似于科学计数法,一个数N可以表示为 N=(-1)sxMxRE
其中,s取值为0或1,决定数的符号。
M为有效数字,称为数N的尾数,其位数反映了数据的精度。

R表示基数
E表示R的幂,称为数N的阶数。阶数决定了数的小数点的位量,其位数反映了该浮点数所表示的数的范围。

在计算机中,R取值为2,E是一个二进制定点整数,M是一个二进制定点小数。比如:
二进制整数-1010011可以表示为-0.1010011x27,其s=1 E=7,M=0.1010011.
二进制小数0.001101001可以表示为0.1101001x2-2,其 s=0,E=-2,M=0 1101001。

在计算机中保存的浮点数,其具体格式随机器的不同而有所区别,假如机器字长为16位,规定其二进制浮点数的阶数为4位,尾数为12位,则浮点数的格式如下:

其中,阶数和尾数都是带符号的数,可以采用不同的码制表示,例如尾数常用原码或补码表示,阶数多用补码表示.

三、非数值型数据的表示

在计算机内部,非数值信息也是采用“0”和“1”两个符号来进行编码表示的。
非数值型数据的表示可以分为西文字符、汉字、位图图像和声音四部分。

1.西文字符的表示

最常用的字符编码方案是ASCII码(美国信息互换标准代码),采用7位二进制数编码表示128个不同的字符,其中95个字符可以从计算机标准键盘中输入并且可以显示和打印,如大小写英文字母,0~9十个数字;另外33个字符是控制码,用于控制计算机设备或软件的运行,如回车字符CR,作用是使显示器光标换行,这些字符不能被显示或打印出来。

2.汉字的表示

在计算机中表示汉字,需要经过输入、处理、输出三个环节,根据汉字的表示在计算机处理过程中用途的不同,将汉字的编码分为下述四类。

(1)输入码(外码)

对每个汉字用西文键盘上的相应键进行编码的表示方法称为汉字的输入码,又称外码。汉字的输入码应具有易学习、易记忆易掌握、码长尽量短等特点。主要的汉字输入码有:数字编码。字音编码、字形编码等几类。

(2)交换码

交换码是用于汉字在计算机和外设之间进行传输的编码。国家标准委员会1980年制定了中华人民共和国国家标准GB2312- -1980《信息交换用汉字编码字符集–基本集》,简称国标码,国标码采用十六进制表示汉字,作为国家标准汉字编码。其中收录了6763个汉字和682个符号,共7745个字符。奠定了中文信息处理的基础。

(3) 机内码

长度一致且与汉字唯一对应的能在各种计算机系统内通用的编码,称为汉字机内码,简称内码。
内码在计算机中一般采用两字节表示,为了与英文字符加以区别,汉字机内码中两字节的最高位均规定为“1”
机内码是真正的计算机内部用来存储和处理汉字信息的代码

(4)汉字的字形码

汉字字形码就是将汉字显示在屏幕上或打印到纸上时所需要的图形数据。字形码记录汉字的外形,是汉字的输出形式。
点阵字型编码是一种最常见的字型编码,它用一位二进制码对应屏幕上的一个像素点,字形笔画所经过处的亮点用1表示,没有笔画的暗点用0表示,所有汉字字形点阵信息的集合称为汉字字库。
如:16x16点,24x24点,32x32点。点阵越大,描述的汉字字型越清晰,质量越高,但所占的存储空间也越大。

3.位图图像的表示

一个黑白二维静止图像,可以用一个二维连续函数f(x。y)来表示,其中x,y为直角坐标轴中的位置,f(x,y)的值表示这个二维图像在点(x,y)位置的灰度值(或亮度值)。如果是活动图像,可以在函数中加入时间变量t;如果是彩色图像,可以在函数中加入光的频率变量V。

4.声音的表示

将模拟的声音信号转换为能保存在计算机中的二进制数据需要经过采样、量化和编码三个步骤。

四、计算机指令的表示

程序或软件最终必须变成一条条具体的指令才能控制计算机硬件工作,程序“告诉”计算机先做什么后做什么,指令“告诉”机器执行什么操作。
一条机器指令通常由若干部分构成,主要包括操作码和操作对象。

操作码表明指令让机器执行什么操作。
操作对象可以是源操作数,也可以是源操作数所在的寄存器或者是源操作数所在的内存地址。操作数指出数据的来源;

地址码指出数据储存的地址。

第四节:计算机技术的应用 \color{green}{第四节:计算机技术的应用} 第四节:计算机技术的应用

一、计算机的用途

(1)科学计算

航空航天、国防军事,气象预报、水利工程等。

(2) 信息管理

商业,金融,社会保障、图书资料等。

(3)自动控制

在电力一机械制造、化工、冶金、交通,建筑等行业中,采用计算机进行过程控制。

(4)人工智能(Artificial Intelligent,AI)

人工智能是用计算机模拟人类的智能活动,包括判断、理解学习、信息识别、问题求解等。

(5) 辅助工程

计算机辅助设计(Computer Aided Design,CAD)、计算机辅助制造(Computer Aided Manufacturing, CAM)、
计算机辅助工程(Computer Aided Engineering,CAE)计算机仿真(Computer Simulation,CS)等。

(6)学习娱乐

电子游戏、数字音乐、数字电影、电子图书等。

(7)电子商务

二、未来计算机发展趋势

(1)网络化

云计算、物联网和大数据等。

(2)智能化
(3)巨型化和微型化

超级计算机巨型化通用计算机微型化。

本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾

1.冯诺依曼“存储程序”计算机的基本结构和功能。

2.现代计算机硬件构成和各功能部件的作用。

3.计算机软件的作用。

4.计算机中数值型和非数值型数据的表示。

5.不同进制数据转换。

6.原码、反码、补码的表示和三者的转换关系。

第二章:计算机系统软件概述 \color{blue}{第二章:计算机系统软件概述} 第二章:计算机系统软件概述

本章重难点

本章在考试中涉及全部题型。重点和常考知识点:
–基本输入输出系统

–操作系统

–编译系统
–数据库管理系统的构成、功能

第一节:计算机基本输入系输出统 B I O S \color{green}{第一节:计算机基本输入系输出统BIOS} 第一节:计算机基本输入系输出统BIOS

基本输入输出系统(Basic Input Output System,Bios是计算机系统软件中与硬件关系最密切的软件之一,它包含最基本的中断服务程序、系统设置程序、加电自检程序和系统启动自举程序。
识记:BIOS的概念、存在形式、组成及基本功能。

领会:计算机启动的一般过程。

一、BIOS的概述

BIOS是固化在计算机主板上的ROM芯片中的一组程序,直接对计算机系统中的输入/输出设备进行硬件级的控制,为其他软件程序与硬件设备之间建立连接提供基础。
BIOS是计算机加电后最先执行的程序,完成对系统的各个硬件设备初始化设置和测试等功能,以确保系统能够正常工作。若硬件不正常则立即停止工作,并把出错的设备信息反馈给用户。

在计算机主板中,保存BIOS程序的ROM及其配套电路构成了BIOS芯片,BIOS芯片通常是一块32针的双列直插式长方形或正方形集成电路,表面贴有“BIOS”字样的标签,是主板上唯一贴有标签的芯片。

BIOS芯片根据其ROM存储器特点的不同,可以分为EPROM和EEPROM两种类型。

EPROM称为可擦除可编程只读存储器,其芯片的中央有一个透明的小窗口,通过这个小窗口可以使用紫外线光将芯片上保存的信息擦除掉,因此需要一块不透明的标签将已保存了信息的EPROM芯片的紫外线窗口封住

EEPROM是电可擦除可编程只读存储器,在通常情况下, EEPROM与EPROM一样也是只读的,当需要写入内容时,只要在指定的引脚加上一个高电压即可快速写入或擦除。另外还有一种EEPROM就是现在主板上常见的FLASH ROM–闪速存储器,其读写速度更快、更可靠,而且可以用单电压进行读写和编程。为便携式设备的在线操作提供了极大的便利,也因此广泛应用在计算机主板上。

通常,在Intel486以及486以下档次计算机中使用的BIOS芯片基本上采用的是EPROM芯片,而586及以上档次计算机中使用的BIOS芯片基本上均是EEPROM。

在微型计算机主板上使用的主流BIOS产品有AMI BIOS、 Award BIOS、Phoenix BIOS三种类型。AMI BIOS是 AMI公司出品的BIOS系统软件,开发于20世纪80年代中期,早期的286、386大多采用AMI BIOS,Award BIOS是Award Software公司开发的BIOS产品,在台式机的主板中应用最为广泛,Phoenix BIOS是 Phoenix公司的产品,在性能和稳定性方面要优于
Award BIOS和 AMI BIOS,多用于服务器系统、品牌机和笔记本电脑中,目前,Phoenix公 司已经与Award公司合并,其产品 Phoenix- Award BIOS应用于各种类型的微型计算机主板系统。

二、BIOS的组成

1.BIOS中断服务程序

中断是改变处理器执行指令顺序的一种事件,这样的事件与 CPU芯片内外部硬件电路产生的电信号相对应,计算机在执行程序的过程中,当出现中断时,计算机停止现行程序的运行,转向对这些中断事件的处理,处理结束后再返回到现行程序的间断处。

2.BIOS系统设置程序

微型计算机中各部分组件的配置参数是放在一块可读写的 CMOS RAM芯片(简称CMOS)中的,它保存着系统CPU、软/硬盘驱动器、显示器、键盘等部件的配置信息。微型计算机关闭电源后,系统通过一块后备电池向CMOS供电以保持其中的信息。如果CMOS中关于微机部件的配置信息不正确,会导致系统性能降低和零部件不能识别,并由此引发一系列的软硬件故障。在 BIOS芯片中装有一个程序称为系统设置程序,其作用就是用来设置CMOS中的各种参数。

CMOS设置和BIOS设置概念的区别
CMOS是微型计算机主机板上一块特殊的RAM芯片,是系统参数存放的地方;而BIOS是一组程序,存储在主板上EPROM或EEPROM芯片中,BIOS 中所包含的系统设置程序是完成参数设置的手段。因此,准确的说法应是通过BIOS中的系统设置程序对CMOS参数进行设置。

3.POST加电自检程序

微型计算机在接通电源后,系统有一个对内部各个设备进行检查的过程,该过程是由一个通常称之为加电自检(Power On Self Test,POST)的程序来完成的。完整的POST自检过程包括了CPU、640KB基本内存、1MB以上的扩展内存、ROM、主板、CMOS 存储器、串口、并口、显示卡、硬盘及键盘的测试。。自检中若发现问题,系统将给出提示信息或鸣笛警告。

4.BIOS系统启动自举程序

BIOS系统启动自举程序的作用是在完成POST自检后,按照系统CMOS设置中的启动顺序搜寻硬盘驱动器及CD-ROM、网络服务器等有效的启动驱动器,读入操作系统引导程序,然后将系统控制权交给引导程序。操作系统从执行引导程序开始逐步完成操作系统内核的加载和初始化,完成系统的启动。

三、BIOS的基本功能

1.自检及初始化

在微型计算机接通电源到操作系统开始工作之前,BIOS 程序负责系统的启动。首先是通过POST自检程序对系统各个部件进行检查测试,一旦在自检中发现问题,系统将给出提示信息或。鸣笛警告。其次,BIOS可以为微型计算机系统提供初始化服务,包括创建中断向量、设置寄存器、对一些外部设备进行参数设置等,只有当硬件参数设置与实际微型计算机硬件相符合时,系统才能正常工作,最后,BIOS还负责操作系统的引导。

2.提供程序服务处理

BIOS是连接微型计算机系统软件和硬件之间的“桥梁”,它可以为各种操作系统软件和应用程序提供微型计算机输入输出设备的处理服务,比如磁盘的读写、键盘的读取、将文件输出到打印机等。

3.提供硬件中断处理

因为BIOS中包含了各种中断服务程序,当系统需要对不同硬件进行操作时,BIOS 可以调用其中的中断服务程序来实现微型计算机硬件设备的控制和使用。
提供程序服务处理和提供硬件中断处理两部分的功能虽然是各自独立,但在使用上密切相关。这两部分分别为软件和硬件服务,通常情况下都是联合在一起工作,保证微型计算机系统的正常运行。

四、微型计算机启动的一般过程

1)当电源开关按下时,电源开始向主板和其他设备供电,此时电压并不稳定,于是,当主板认为电压并没有达到CMOS中记录的CPU的主频所要求的电压时,就会向CPU发出RESET信号(复位信号)。当电压达到符合要求的稳定值时复位信号撤销, CPU立刻从基本内存的BIOS段读取一条跳转指令,跳转到BIOS启动代码处,开始执行启动系统的BIOS程序。

2)执行BIOS启动程序会进行加电自检(POST)。这个过程进行得很快,它的主要工作是检测关键设备,如电源、CPU芯片、BIOS 芯片、基本内存等电路是否存在,供电情况是否良好。如果自检出现了问题,系统扬声务会发出警报声(根据警报声的长短和次数可以知道出现了什么问题)。

3)如果自检通过,系统BIOS会查找显卡BIOS,找到后会调用显卡BIOS的初始化代码,此时显示器就开始显示了,BIOS会在屏幕上显示显卡的相关信息。

4)显卡检测成功后会进行其他设备的测试,通过测试后系统BIOS重新执行代码,并显示启动画面,将相关信息显示在屏幕上,而后会进行内存测试,最后是短暂出现系统BIOS设置的提示信息。此时按下进入BIOS程序设置CMOS参数界面的按键,可以对系统BIOS进行需要的设置,完成后系统会重新启动。

5)此后BIOS会检测系统的标准硬件(如硬盘、光驱、串行和并行接口等),检测完成后会接着检测即插即用设备,如果有的话就为该设备分配中断、DMA通道和IO端口等资源,至此所有的设备都已经检测完成了。
6)当上面的所有步骤都顺利完成以后,BIOS 将执行最后一项任务:按照用户指定的设备顺序,依次从设备中查找启动程序,以完成系统启动。

第二节:操作系统概述 \color{green}{第二节:操作系统概述} 第二节:操作系统概述

操作系统(Operating System,OS)是配置在计算机硬牛上的第一层软件,它既承担管理计算机硬件和软件资源的角色又兼有服务者的职责,为用户使用计算机提供方便,同时作为基础设施,是其他软件开发、运行的平台。

操作系统由接口层、系统绑定的应用程序和内核三部分构成操作系统接口层包括命令行界面、图形用户界面、提供给应用程序开发者的系统调用。系统绑定的应用程序,如Windows系统的IE浏览器程序。操作系统内核是操作系统中实现核心功能的那部分代码,通常包含对CPU、内存、输入输出设备和文件管理的功能,以及管理程序运行、同步、通信等功能。
识记:操作系统的定义、特征、功能、分类、批处理系统、单道批处理系统、多道批处理系统、分时系统、实时系统的定义和特征、分布式操作系统的定义。

一、操作系统的定义及作用

操作系统是一种控制和管理计算机硬件和软件资源的系统软件,合理地组织计算机的处理流程,并方便用户使用计算机。
操作系统设计和实现的目标是提高效率、方便用户。其作用包括以下几个方面:

1)从用户角度看,操作系统是一个把烦琐留给自己,把方便留给用户的一种系统软件。从普通用户的角度看,用户通过图形界面和字符界面可以方便地使用计算机,从程序开发者的角度看,操作系统把程序开发者从直接与硬件打交道的复杂任务中解放出来,为程序开发者提供了方便的系统调用接口。

2)从系统角度看,操作系统是一种资源管理程序,通过进程机制来对CPU进行调度和管理,通过虚拟内存机制对内存进行管理,通过中断机制和设备驱动程序对外部设备进行管理,通过异常机制对CPU内部出现的问题进行处理,通过文件系统对文件进行存储和检索等。

3)从软件设计角度看,操作系统是一组程序和数据结构的集合,其数据结构错综复杂,代码规模庞大,其他应用层软件的运行都依赖于它的支持。

二、操作系统的特征

1.并发性

并发性指两个或者两个以上的事件或者活动在同一时间间隔内发生,操作系统并发性是指计算机系统中同时存在若干运行着的程序,这些程序交错执行。

2.共享性

共享性指系统中的硬件和软件资源不再为某个程序独占,而是由多个并发执行的程序共享,共享性是因为并发性而产生,它们互相依存。

3.虚拟性

虚拟性指通过某种技术把一个物理上的实体变为若干逻辑上的对应物,前者是实际存在的,而后者只是用户的一种感觉,采用虚拟技术的目的是为用户提供易于使用、方便高效的操作系统环境。

4.异步性

在多道程序环境下,由于资源的竞争或共享,程序的执行会走走停停,因此多个程序的执行顺序以及所需的执行时间变得不可预知。

三、操作系统的功能

操作系统的主要任务是最大限度地提高系统中各种资源的利用率并方便用户的使用,为此,操作系统应具备五大功能:
进程管理、存储器管理、设备管理、文件管理以及用户接口。

1.进程管理

在多道程序系统中,进程是操作系统管理的重要对象,是指可以并发执行的程序在某个数据集合上的执行过程、进程管理功能包括对进程的描述、创建、运行和撤销;并发运行时确保它们互斥地使用临界资源,协调地执行;进程之间需要通信时能提供有效的通信方式;进程需要处理机时能按照一定的算法把处理机分配给它们。

2.存储器管理

存储器管理的主要任务是为多道程序的运行提供内存支持,把用户从直接与内存打交道的复杂事务中解放出来,在充分利用内存空间的基础上能从逻辑上扩充内存。因此,存储器管理的主要功能是内存的分配和回收、地址映射(将逻辋地址映射成物理地址)以及内存的扩充。

3.设备管理

设备管理是对计算机中的所有外部设备进行管理,其主要任务是当用户进程提出I/O请求时,为用户进程分配所需的I/O设备(包括控制器和I/O通道等),为了提高I/O速率和I/O设备的利用率,设备管理的功能还有缓冲区管理、设备分配、设备处理、虚拟设备以及I/O设备的独立性等。

4.文件管理

文件管理的主要功能是实现文件的按名存取和对外存储空间的管理,要对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。为此,文件管理应实现对文件存储空间的管理、对目录文件和普通文件的读/写管理以及文件的共享与保护等。

5.用户接口

操作系统提供的接口分为用户接口和程序接口两大类,前者是提供给最终用户使用的接口,用户可以通过该接口取得操作系统或其他程序提供的服务、功能,后者是提供给程序员编程时使用的接口,其形式是系统调用。

四、操作系统的发展与分类

自从20世纪50年代出现单道批处理操作系统以来,操作系统的形成和发展已经有六十多年的历史,20世纪60年代中期出现了多道程序批处理系统,同时也伴随着多道程序设计、中断处理等技术的产生。随后又出现了基于多道程序的分时操作系统,用于工业控制和武器控制的实时操作系统。20世纪80年代开始至21世纪初,是微机操作系统、多处理机操作系统分布式操作系统形成和发展的时期。目前,集群操作系统以及嵌入式操作系统正在迅速发展。

1.批处理操作系统

批处理操作系统的基本特征是“批量处理”,也就是把一批作业(作业指程序及程序要处理的数据)以脱机输入方式输入到磁带上,在操作系统的控制下,按某种调度算法选择一道或者多道装入内存运行。

批处理操作系统的主要特征如下。

1)多道性:内存中可同时存放多个作业。
2)调度性:由作业调度程序和进程泥度程序分别格作业调入内存并分配CPU

3)无序性:通常作业的进入和完成次序与作业进入内存的次序无关。
多道批处理系统一般用于交互性不太强、较大的计算机系统。

2.分时操作系统

所谓分时技术(Time Sharing)就是多个进程分享一台主机CPU的时间,即进程在处理机上的运行时间被分成很多的时间片,按时间片把处理机轮流分配给各进程使用。若某个进程在分配给它的时间片内不能完成其计算,则该进程暂停执行,把处理机让给另一个进程使用,等待下一轮时再继续其运行。
采用分时技术进行进程调度的系统就是分时操作系统。分时操作系统的主要目标是用户能与系统进行交互,对用户的请求进行及时响应,并在可能的条件下尽量提高系统资源的利用率。

进程是程序的一次执行过程,是现代操作系统中的重要概念由进程执行的程序代码、进程要处理的用户数据以及操作系统管理进程需要的系统数据三部分构成。当一个作业被装入内存后,操作系统会为作业的运行创建进程。

分时操作系统的主要特征如下。

1)同时性:一台计算机与多台终端相连,能同时为多个用户服务。

2)独立性:各用户可以相互独立,互不干扰。

3)及时性:系统对用户的输入及时做出响应。

4)交互性:用户与系统能进行人机交互。

3.实时操作系统

实时操作系统是用于实时控制和实时信息处理的一种操作系统。其主要特点是响应及时、可靠性高。它的设计目标是能对特定的输入做出及时响应(一般要求毫秒级甚至微秒级),在规定的时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作。
实时操作系统分为两大类:实时控制系统和实时信息处理系统。实时操作系统也具有分时操作系统的四个特征,但它的交互能力较弱,而及时性较强。

4.微机操作系统

根据在同一时间使用计算机用户的多少,微机操作系统又可以分为单用户操作系统和多用户操作系统,单用户操作系统是指一台计算机在同一时间只能有一个用户在使用,一个用户独自享用系统的全部硬件和软件资源,而如果在同一时间允许多个用户同时使用计算机,则称为多用户操作系统。

另外,如果用户在同一时间内可以运行多个应用程序(每个应用程序被称作一个任务),这样的操作系统称为多任务操作系统,如果用户在同一时间内只能运行一个应用程序,对应的操作系统称为单任务操作系统。

目前主流的Windows、Mac OS以及开源的Linux包含了计算机产业界的各种最新技术,具有以下特点。
1)开放性:支持不同系统互联,支持分布式处理以及多 CPU系统,
2)通用性:支持应用程序的独立性及在不同平台上的移植

3)高性能:硬件性能提高、64位机普及、CPU速度提高、应用对称多处理机、多线程等技术。

5.分布式操作系统

分布式计算机系统是指把多台分散的计算机通过互联网连接而成的系统。每台计算机高度自治,又互相协调,能在系统范围内实现资源管理、任务分配,能并行地运行分布式程序。分布式操作系统是以实现并行任务分配、并行进程通信、分布式控制以及分散资源管理等功能的操作系统。

五、常见的操作系统

1.UNIX操作系统

20世纪60年代出现的UNIX操作系统是典型的32位多用户多任务的操作系统,按照操作系统的分类,属于分时操作系统,它一般主要应用于小型机和大型机。
在采用UNIX操作系统的网络中,所有应用软件、文件和数据都集中保存在一个地方,其他用户终端通过网络来访问这些资源。
UNIX操作系统的两个最突出的特点就是:

1)安全、可靠。
2)能够很方便地与Internet相连。

2.Linux操作系统

1991年,赫尔辛基大学学生Linus Torvalds开发出一种类 UNIX的操作系统–Linux。Linux是一个基于POSIX的、多用户、多任务、支持多线程和多CPU的类UNIX操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议,可以支持32位和64位系统。
Linux继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统

Linux操作系统是自由软件和开放源代码发展中最著名的例子,只要遵循GNU通用公共许可证,任何人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。

3.NetWare网络操作系统

NetWare系列网络操作系统是Novell公司开发的用于管理网络的多任务网络操作系统,只适用于基于服务器的网络。
NetWare网络操作系统采用了文件服务器系统容错技术、开放系统体系结构等新的概念和设计思想,在20世纪80年代末到90年代初曾风靡一时。
最大的缺点就是最初的版本没有采用TCP/IP,而是自己指定了一个IPX/SPX协议,不能与internet互联,直到20世纪90年代才在NetWare网络操作系统中集成了TCP/IP。

4.Windows系列操作系统

Windows系列操作系统是由美国Microsoft公司开发的基于图形用户界面的操作系统,问世于1985年,起初仅仅是 Microsoft-DOS模拟环境。
Microsoft公司于1995年推出了Windows 95,它可以独立运行而无需DOS支持。
Microsoft于1993年推出的Windows NT是面向工作站、网络服务器和大型计算机的网络操作系统,也可作为PC操作系统。 Windows NT包括两个版本:Windows NT Workstation和 Windows NT Server.

除了这些适用于微型计算机的操作系统外,还有很多面向智能手机、平板电脑、应用电子设备等硬件的操作系统,如
Symbian、Android 等手机操作系统,VxWorks、μc/OS等嵌入式操作系统等。

第三节:编译系统概述 \color{green}{第三节:编译系统概述} 第三节:编译系统概述

编译系统是最常用的系统软件之一,其主要功能是把高级语言的程序(如C语言程序、C++程序)翻译成机器语言程序。
识记:编译、解释的概念;将高级语言翻译成机器语言的必要性;编译系统的定义;编译器的分类。
领会:编译过程的几个阶段,每个阶段需要完成的功能。

一、编译的概念

编译系统是现代计算机系统的基本组成部分之一,是一种重要的系统软件。基于冯.诺依曼“存储程序”结构的现代计算机,其各种功能是靠程序控制硬件工作来实现的,而程序是由计算机的使用者采用不同的程序设计语言编写而成的。程序设计语言是一人与计算机进行交流的语言,包括机器语言、汇编语言和高级语言等不同的类型。其中,只有机器语言程序才能被计算机硬件直接识别和执行,由汇编语言和高级语言编写的程序都不能被计算机硬件直接识别,必须通过某种机制翻译成机器语言程序才能被计算机识别和执行。

程序语言的翻译过程有两种形式:编译(Complie)和解释(Interpret)。
编译是将高级语言编写的源程序翻译成目标程序,然后再执行目标程序,以完成源程序的功能。编译的过程是由编译程序完成的。
解释是指源程序被加载到内存后,由解释程序对源程序进行分析,边解释边执行,并立即得到运行结果,在解释过程中不产生目标程序。

二、编译的过程

通常人们所说的编译器实际是指编译系统,如C语言编译器、 C++编译器都是指包含了预处理程序、编译器、汇编器、链接器、优化器的编译系统,在日常表达中将之统称为编译器。
编译器将高级语言的源程序翻译成汇编语言程序;

汇编器将汇编语言程序翻译成机器代码程序;
链接程序将汇编器输出的机器代码程序组装成可执行程序。

编译系统的构成及工作过程见下图。

编译器完成从源程序到汇编程序的翻译工作,是一个复杂的过程,分成不同的阶段进行。依次是词法分析阶段、语法分析阶段、语义分析阶段、中间代码生成阶段、代码优化阶段和目标代码生成阶段。

1.词法分析阶段

词法分析是编译过程的第一个阶段。该阶段的任务是从左到右逐个读取源程序中每个字符,对构成源程序的字符序列进行扫描分解,从而识别出每一个具有逻辑意义的连续字符组合,就好比在自然语句中挑出句子中的各种词汇并给出词性。
在词法分析阶段,空白字符(如空格、换行等字符)被过滤,不作为具有实际意义的符号。

2.语法分析阶段

语法分析是编译过程的第二个阶段,其任务是在词法分析的基础上将单词序列解析成各类语法短语,如语句、表达式等。
这个分析过程常用语法树来表示。

例子

3.语义分析阶段

语义分析的作用是审查源程序有无语义错误。语义分析要识别的语义错误包括变量没声明就使用、变量重复声明、运算对象类型不匹配等。

4.中间代码生成阶段

有的编译系统在进行了词法分析、语法分析和语义分析之后会将源程序变成一种内部表示形式,这种内部表示形式称为中间语言或者中间代码,中间代码通常具有结构简单、含义明确的生点,容易被翻译成目标代码。

5.代码优化阶段

代码优化阶段的任务是对中间代码进行等价变换或进行改造,其目的是使将来生成的目标代码更为高效,更节省运行时间和空间。

6.目标代码生成阶段

编译器的目标代码生成阶段的任务是把中间代码转换成特定机器上的汇编指令代码,该阶段的工作与硬件系统结构和指令含义有关系。

编译程序进行编译的过程通常被分成前端(Front End)和后端(Back End)。前端包括了词法分析、语法分析、语义分析和中间代码生成等阶段以及与这些阶段相关的出错处理和符号表管理等工作,这些工作主要依赖于源程序使用的语言,而与目标机器无关。后端包括目标代码生成和优化阶段,以及相关出错处理和符号表格操作工作,这部分工作只与硬件机器有关而与源程序语言无关。

三、编译器概述

能够实现将高级语言编写的源程序翻译成被硬件识别并执行的低级语言的程序,以及为实现编译提供各种辅助功能的工具共同构成了编译系统,习惯上也被称为编译器。

编译器的分类

按照适用的不同高级语言,可以分为C语言编译器、C++编译器、Java编译器等。
按照目标代码运行环境的不同,分为本地编译器和交叉编译器。按照编译软件是否收费可以分为商业编译器和开源编译器等。

第四节:数据库管理系统 D B M S \color{green}{第四节:数据库管理系统DBMS} 第四节:数据库管理系统DBMS

信息管理离不开数据,计算机信息管理离不开各种数据库以及管理数据库的数据库管理系统。学生的学籍管理、城镇居民的户籍管理、图书馆的图书信息管理和查询系统、网上购物的商品查询及订单管理等都离不开数据库和数据库管理系统的支持
识记:数据处理结束发展的三个阶段,数据库组成结构,数据库的定义,常用数据库管理系统。
领会,数据库管理系统的概念。工作模式、三个基本组成部分、基本功能。

一、数据库管理系统概述

数据处理包括对数据的采集、整理、存储、加工、传输等操作,其目的不但要从大量的、原始的数据中获得人们所需要的资料并提取有用的数据成分,而且要管理好这些数据信息,以便人们能够随时提取和方便使用它们。所以对数据进行有效的管理是数据处理的基本环节。数据管理工作包括了对数据的分类、编码、组织、存储、检索、维护等。

随着电子计算机软件和硬件技术的发展,数据处理过程发生了划时代的变革,而数据库技术的发展,又使数据处理跨入了一个崭新的阶段。一般认为数据处理技术的发展经历了三个阶段。

1.人工管理阶段

在20世纪50年代以前,计算机主要用于数值计算,因为要处理的数据量不大,所以没有专门的软件对数据进行管理。由于每个应用程序都有属于自己的一组数据,各应用程序之间不能互相调用,所以必须在处理同批数据的多个应用程序中重复存放这些数据,从而造成大量的数据冗余,不但加大了存储的容量,还容易造成数据的不一致性。

2.文件系统阶段

到了20世纪60年代中期,由于大容量数据存储器的出现,为适应科学计算及简单数据管理的需要,人们将数据从程序中分离出来,组成相互独立的数据文件。文件系统建立了数据文件内部的数据结构,每个程序都通过自己的文件系统与相应的数据建立联系,每个文件系统都管理程序需要的数据。
但是各数据文件之间没有联系,或者说文件系统在整体上是无结构的。

3.数据库系统阶段

到了20世纪60年代后期,随着计算机在管理领域的应用,数据处理的规模急剧增长,并且对数据处理的精度、速度也不断提出更高的要求。为了满足这种不断增长的要求,人们不但需要更先进的计算机,而且还需要更先进的数据组织与管理技术。于是一种新的数据处理方法–数据库技术出现了。

数据库技术一方面实现了数据与程序的完全独立,另一方面又实现了数据的统一管理,众多程序或应用要的各种数据,全部交给数据库系统管理,大大压缩了冗余数据,实现了多用户、多应用数掘的共享。

数据库系统是在文件系统的基础上发展起来的。由于数据库具有数据结构化、高度共享、冗余度低、程序和数据相互独立、易于扩充、易于编写应用程序等优点,所以数据库技术出现后便得到了迅速的发展。同时,数据库的应用范围已经从一般的事务处理扩展到计算机辅助设计、人工智能、软件工程、电子设计自动化(EDA)、办公室自动化、多媒体等计算机应用的各个领域。

二、数据库系统的结构

数据库系统(Data Base System)是指以计算机系统为基础,以数据库方式管理大量共享数据的综合系统,它一般由数据库、计算机软/硬件系统。应用系统数据库管理系统,数据库管理员和用户(最终用户、应用程序设计员)五部分构成。

1.数据库

数据库(Data Base,DB)可以定义为:以一定的方式将计算机硬件特定各项应用相关的全部数据组织在一起并存储在外存储器上所形成的,能为多个用户共享的、与应用程序彼此独立。的一组相互关联的数据集合。
数据库不是根据某个用户的需要,而是按照信息的自然联系构造数据。它能以最佳的方式,最少的冗余,为多个用户或多个应用提供共享服务。

数据库的主体是相关应用所需的全部业务数据的集合,称为物理数据库,另外还用一个数据字典系统存放各级数据结构的描述,称为描述数据库。

2.硬件支持系统

计算机硬件是数据库赖以存在的物理设备,特别是必须有足够大的内存储器、大容量的磁盘和光盘等直接存取设备,以及传输速率较高的数据传输设备等。

3.软件支持系统

最主要的是数据库管理系统(Data Base Management System,DBMS),它是在计算机操作系统支持下运行的庞大的系统软件,利用这个软件用户可以实现数据库的创建、操作、使用和维护,它是数据库系统的核心。

4.数据库管理员
对于较大规模的数据库系统来说,必须有专人全面负责建立维护和管理数据和数据库系统,承担这项任务的人员叫作数据库管理员(Data Base Administrator,DBA)。数据库管理员负责保护和控制数据,使数据能够被任何有权使用的人有效利用。其职责:定义并存储数据库的内容、监督和控制数据库的使用、负责数据库的日常维护、必要时重新组织和改进数据库。

5.用户

数据库系统的用户主要有两类:一类是对数据库进行联机查询和通过数据库应用系统提供的界面(菜单、表格、窗口、报表等)使用数掘库的最终用户,另一类是负责应用程序模块设计和数据库操作的应用系统开发设计人员。

三、数据库管理系统

数据库管理系统是指帮助用户建立、使用和管理数据库的软件系统。数据库管理系统是数据库系统的核心。

1.DBMS的工作模式

在数据库系统中,任何数据操作,包括创建数据库、查询数据、维护数据和数提库的运行控制都是在DBMS管理之下进行的。 DBMS是用户与数据库的接口,应用程序只有通过DBMS才能与数据库进行交互。

DBMS的工作模式可以描述为:

1)接收应用程序的数据请求。

2)将用户的数据请求指令转换为机器代码传递给数推库.

3)实现用户要求的数据操作。
4)从对数据库的操作中接收结果,

5)对结果进行处理。
6)将处理结果返回给应用程序

2.DBMS的组成

DBMS通常由下列三个基本部分组成
(1)数据描述语言(Data Description Language,DDL)用来描述数据库和表的结构,供用户建立数据库及表。
(2) 数据操纵语言 (Data Manipulation language, DML) 供用户对数据表进行数据的检索、统计、增加、删除修改等操作。

(3)其他管理和控制程序实现数据库建立、运行和维护时的统一管理、统一控制, 从而保证数据的安全、完整,及多用户并发操作,同时完成初始数据的输入、转换、转存、恢复、监控、通信,以及工作日志等数掘的管理和控制。
在小型数据库管理系统中,DDL和DML通常合二为一,成为一体化的语言。

3.DBMS的功能
(1)数据定义功能

所谓数据定义就是对数据库中数据对象的描述。其中包括定义数据库各模式及模式之间的映射关系,以及相关的约柬条件等,并最终形成数据库的框架。这些是通过数据描述语言DDL实现的。

(2)数据操纵功能

数据操纵功能是直接面向用户的功能,它将接收、分析和执行用户对数据库提出的各种操作要求,并且完成数据库数据的检索、插入、删除和更新等数据处理任务。这些是通过数据操纵语言DML实现的。

(3)数据库的运行管理功能

数据库管理系统的核心工作是对数据库的运行进行管理,主要是执行访问数据库时的安全性检查、完整性约束条件的检查和执行、数据共享的并发控制、发生故障后的系统恢复,以及数据库内部维护等。

(4)数据库的建立和维护功能

数据库的建立和维护主要是实现数据库初始数据的输入,转换工作,数据库的转储,恢复工作,数据库的组织和性能监视。分析工作等。

四、常用的数据库管理系统

1.DB2

DB2是IBM公司研制的一种关系型数据库系统,使用的语言是结构化查询语言SQL,DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户的不同环境,可在 OS/2、Windows 等平台上运行。

2.Oracle

Oracle是一个应用广泛、功能强大、最早商品化的关系型数据库管理系统。同时Oracle还是一个分布式数据库系统,支持各种分布式功能,特别是支持Internet 应用,Oracle 使用PL/SQL语言执行各种操作,具有开放性、可移植性、可伸缩性等功能。 Oracle 能在所有主流平台上运行(包括Windows、UNIX、
Linux 系统),支持所有的工业标准。采用完全开放策略,使客户可以选择最佳解决方案。

3.MS SQL Server

MS SQL Server是一个关系型数据库管理系统,使用的语言是Transact-SQL(T-SQL)。SQL Server 的优点包括:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等,但只能运行于微软的Windows平台,开放性比较差。

4.MySQL

MySQL是一个在开放源码的小型关系型数据库管理系统,使用的语言为结构化查询语言SQL,开发者为瑞典的MySQL AB公司。MySQL 被广泛应用在Internet上的中小型网站中。MySQL采用插件式的存储引擎,可以根据不同应用定制自己的数据库。 MySQL在面对高并发和海量数据的情况下,容易产生性能方面的问题,

第五节: A n d r o i d 系统概述 \color{green}{第五节:Android系统概述} 第五节:Android系统概述

Android系统是目前包括智能手机在内的移动终端上应用非常广泛地嵌入式操作系统平台,它包括一个Linux内核和在Linux内核上建立的开发框架、丰富的开发工具。
(识记:Android操作系统的应用领域、主要特性、系统架构(综合应用:Android开发环境的搭建、创建一个简单的 Android应用程序。)

一、Android操作系统简介

Android是一种以Linux为基础的开放源码操作系统,主要应用于智能手机、平板电脑等便携式电子设备。Android公司最早由 Andy Rubin创办,Google公司于2005年收购了Android公司,开始从事智能手机的系统软件和应用软件服务。2007年11月,Google首次发布了基于 Linux的开源移动手机平台-- Android,该平台由操作系统、中间件、用户界面和应用软件等组成。

2008年9月,美国运营商T-Mobile在纽约正式发布第一款采用Android系统的Google手机–T- Mobile GI。作为首个为移动终端设计的真正意义上的开放和完整的系统软件,Android的发展非常迅速,已经成为当前热门的智能手机操作系统。

为了更好地推广Android,Google与“开放手机联盟”进
行合作,联合运营开发Android系统,开放手机联盟成员包括摩托罗拉、HTC、飞利浦、高通、魅族、三星、LG、T-Mobile、中国移动等30多家设备制造商和运营商,这些企业都基于Android平台开发手机的各项新型应用,使得 Android在应用方面保持了很好的通用性和互联性。

Android作为最流行的智能手机操作系统,其主要特性包括:
1)应用程序框架支持组件的重用和替换。
2)内部集成基于开源的 WebKit引擎的浏览器。
3)支持2D、3D图形库。
4)支持常见的音频、视频和静态印象文件格式等多媒体。

5)支持全球移动通信系统(GSM)、码分多址(CDMA),指基于扩频技术的一种无线通信技术等移动通信模式。
6)支持蓝牙、WiFi、3G(第三代移动通信,一种宽频无线通信技术)等无线通信方式
7)支持照相机、全球定位系统(GPS)等各种应用。

Android系统拥有丰富的开发工具,包括设备模拟器、调试工具以及集成式开发环境Eclipse插件。Android系统使用Java语言进行应用程序开发,完全支持2D、3D和数据库技术,内部集成了浏览器,因此使用 Android平台可以迅速、高效地开发出丰
富多彩的应用程序。另一方面,Android通过软件商店Android Market,使得程序开发者可以发布并销售自己开发的Android应用程序,用户可以随意下载自己喜欢的应用。

Android系统采用了分层的架构,其架构共分为四层,从高到低分别是Applications(应用程序层)、Application Framework(应用程序框架层)、Libraries(系统运行库层)和Linux Kernel(Linux核心层)。

(1)Applications(应用程序层)

Android有一个核心应用程序集合,包括电子邮件客户端、短消息系统(SMS)程序、日历、地图、浏览器、联系人管理程序等,所有这些应用程序都是用Java编程语言写的。

(2)Application Framework(应用程序框架层)

应用程序框架层为开发者提供了开发 Android应用程序所需要的一系列应用程序接口(APl),应用程序的架构设计简化了组件的重用,任何一个应用程序都可以发布它的功能块并且任何其他的应用程序都可以使用其所发布的功能块,帮助程序员快速地开发程序,同时,应用程序重用机制使用户可以方便地替换
程序组件。

(3) Libraries(系统运行库层)

​ 该层分为两个部分:程序库和 Android运行库。
程序库是由一些C/C++库组成,这些库能被Android系统中不同的组件使用。它们通过 Android应用程序框架为开发者提供服务,主要包括基本的C库、多媒体库以支持各种多媒体格式、位图和矢量字体、2D和3D图形引擎、浏览器、数据库支持等。Android运行库主要包括核心库和Dalk虚拟机两部分。

(4)Linux Kernel(Linux内核层)

Android的核心系统服务依赖于Linux操作系统内核,包括安全管理、内存管理、进程管理、网络协议栈和驱动模型等功能。

二、Android开发环境的搭建

搭建 Android开发环境的步骤如下。
1)下载并安装Android开发工具包Android SDK。
2)下载并安装Java集成开发环境Eclipse
3)在Eclipse中下载安装 Android开发工具插件ADK。
4)在Android SDK中创建Android虚拟设备AVD
5)进行相应环境变量的设置。

1.JDK的下载与安装

JDK是进行Java开发的集成工具包,应用最广泛的JDK是由
SUN公司开发的,由于SUN公司已经被Oracle公司收购,因此,
可以登录Oracle公司官网下载JDK。
网址:jdk 下载,选择最新版本。

选择下载后,网站会列出适用于不同系统的JDK,选择Windows x64系统下的JDK,点击“Accept License
Agreement”后可以下载。

双击可执行文件图标进行安装,JDK的安装在默认路径为C:\Program FilesVava\yjdk1.8.0_91, 安装结束后,需要设置Windows环境变量。
右击“计算机”,从弹出的快捷菜单中选择“属性”—“高
级系统设置”—“高级”—“环境变量”选项,新建系统变量JAVA_HOME,其值设置为C:\Program FilesVava ljdk1.8.0_91\。

然后再新建一个环境变量classpath,将其值设为".; %JAVA_HOME%Vib; %JAVA_HOME%Vib\tools.jar"
接下来对系统变量Path进行编辑,在其值的最后面加上"; %JAVA_HOME%\bin; %JAVA_HOME%\jre\bin;"环境变量设置完成。

为了检验JDK是否安装成功,可以使用cmd命令进入DOS命令行窗口,输入java-version命令,出现下图提示信息即可。

2.Android SDK的下载和安装

Android SDK的官方下载网址是 http://developer.android/sdk/index.html。(需要翻墙)这个网址不可用的话,通过360软件管家可以下载。
然后安装,安装结束后提示启动Android SDK Manager,然后勾选下载SDK所需要的版本包,等待所选择的包全部下载并安装完成。再次进行SDK的环境变量设置。

新建环境变量SDK_HOME,值为SDK所在的目录C:\Users\ThinkPad\AppData\Local\Android\android-sdk.修改Path变量,后面加上 tools和platform-tools所在的路径。

即添加:"C:\Users\ThinkPad\AppData\Local\Android\android-sdk\platform-tools; C: \Users\ThinkPad AppData\LocalNAndroid\android-sdk\tools; "环境变量设置完成,通过DOS命令行,输入Android-h,出现下图界面,证明SDK安装成功。

3.Android虚拟设备AVD的创建下载适合本机操作系统的Eclipse并安装。启动Eclipse集成开发环境,如下图。

在Eclipse中创建Android虚拟设备AVD,步骤如下:启动AVD,点击“Create”;
给新的AVD命名、选择适合智能手机的类型、API Level、CPU型号、内存大小等设置,点OK。
回到AVD界面,点击“Start”按钮,进入"LaunchOptions"界面,点击Launch即可。

三、创建一个简单的Android应用程序

一个Android应用程序通常由四部分组成:Activity、Intent Receiver、Service和Content Provider.
1)Activity,通常以一个单独的界面形式存在,每个Activity就是一个单独的类,继承于Activity基础类,大多数程序都有多个Activity,比如发送短信程序包括了编写短信、查看短信、查找联系人等多个界面,每个界面都是一个Activity。

2)Intent Receiver,用来在应用程序之间传递数据,当需要执行一些与外部事件相关的代码时,比如当有来电呼叫或者QQ、微信等新消息,需要通知当前运行的应用程序来执行相应操作时,就会用到Intent Receiver。
3)Service,在系统后台运行,没有用户界面,主要用来进行数据的处理工作,比如播放音乐、视频等。
4)Content Provider,作用是将应用程序保存在SQLite数据库中的数掘提供给其他应用程序。

创建一个"Helloworld"程序

1.打开Eclipse工具,选择File菜单中的New-Android
Application Project选项,新建一个Android应用程序项目;
2.在打开的对话框中为Android应用程序、项目所在的文件包进行命名,同时进行最低版本的SDK、目标设备Target、使用的编译器等的设置,然后单击Next按钮;

3.在依次弹出的对话框中进行配置项目、设置图标、创建Activity、命名Activity等操作,最后单击Finish按钮,完成新Android应用程序项目的创建;
4.项目创建后,Eclipse界面左侧的Package Explore中会显示出新建的项目Helloworld;

5.要编写手机屏幕上输出"Helloworld"字符串的简单程序,
只需要对src中的MainActivity.java源程序进行修改,添加相应的字符串输出语句即可;
6.源程序改写完成后,在Package Explorer中选中
Helloworld项目,选中Run菜单中的Runas-Android Application命令,就会启动创建好的Android模拟器运行该应用程序,在手机屏幕上输出“Helloworld”字符串。

本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾

1.基本输入输出系统;

2.操作系统;

3.编译系统;

4.数据库管理系统的构成、功能。

5.android

第三章:应用软件开发工具介绍 \color{blue}{第三章:应用软件开发工具介绍} 第三章:应用软件开发工具介绍

本章重难点

本章一般会出选择题、填空题、简答题、综合题。
本章的重难点和常考知识点
应用程序开发的一般过程、高级程序设计语言的特点
VisualStudio2010中建立、编译、链接、调试和运行程序的过程
Linux的常用命令
vi编辑器、GCC、GDB的使用
版本控制工具Git的使用

第一节:程序设计语言概述 \color{green}{第一节:程序设计语言概述} 第一节:程序设计语言概述

一、计算机程序设计语言及其发展

最早——机器语言
1952年——汇编语言
1954年——第一个高级程序设计语言Fortran l

二、机器语言与汇编语言

1.机器语言

机器语言是用二进制代码表示的计算机能够直接识别和执行的一种机器指令系统,机器语言程序是机器语言指令的集合,具有灵活、直接执行和速度快等特点。
缺点:不同型号的计算机机器语言是不同的,按一种计算机指令编写的程序,不能支持另一种机器指令的计算机上执行,可移植性差。
一条机器指令就是机器语言程序的一条语句,由晦涩难懂的0、1代码组成,机器易懂而人难懂,编程困难,极易出错。

2.汇编语言

汇编语言是与硬件相关的一种程序设计语言,亦称符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址,与使用机器语言编写程序比较,使用汇编语言编写程序更容易,汇编语言更容易理解,也更容易
发现程序中的错误,便于程序调试。
缺点:不能直接在机器上运行,必须先由汇编器将之翻译成特定计算机上的机器语言程序。
特定的汇编语言和特定的机器语言指令集是——对应的,不同平台之间不可直接移植。

三、高级程序设计语言

高级程序设计语言是接近自然语言的形式化程序设计语言,使用高级语言编程的优点是使源程序与硬件平台无关。
与汇编语言、机器语言相比,使用高级语言编程速度快、工作量小、程序的可读性好、易于调适、修改和移植。

1.高级程序设计语言的特点

相对于汇编语言和机器语言而言独立于计算机硬件,不依赖于计算机的具体指令形式;必须由翻译程序将之翻译成二进制的机器指令构成的机器语言程序才能在计算机上运行。其共同特点
如下:
(1)形式化——严格的词法和语法规范、语义定义、结构控制,程序员必须遵循严格的形式化定义来书写源代码。
(2)接近自然语言。
(3)容易移植——不需修改源代码,通过重新编译或修改少量代码即可在另一种型号的计算机上运行。

(4)程序开发高效、便捷———条高级语言的语句可能对应多条汇编语句和机器指令。

2.高级程序设计语言的构成

(1)数据类型:简单类型和复杂类型。
(2)表达式语句。
(3)控制结构:顺序结构、分支结构、循环结构。
(4)函数和子程序。
一般来说,程序(包括函数和子程序)都有如下结构:
输入——获得问题初始值
处理——通过一定步骤求解
输出——输出求解结果

3.常见的高级程序设计语言
(1)C语言

20世纪70年代诞生于美国AT&T实验室,为重写UNIX操作系统而开发。

特点:
1)是面向过程的高级程序设计语言,表达能力强,表达方式简洁紧凑,使用灵活方便。
2)具有比其他语言更强大的支持复杂软件开发的能力,很多主流的操作系统和编译系统都采用C语言开发。
3)可以像汇编语言一样对位、字节和地址进行操作,有比其他高级语言更强的对硬件的访问能力。

4)提供了丰富的数据类型和运算符,为复杂算法的实现提供了方便的数据结构。
5)生成的目标代码质量高,程序在内存占用和执行时间方面的效率都比较高。兼有高级语言和低级语言的许多优点,应用领域遍及操作系统、编译系统、控制系统、图形图像软件等。

(2)面向对象的程序设计语言C++

1)面向对象的概念
:对具有相同或相似性质对象的抽象,其中创括某种数据类型的变量(表示对象的属性)和对这些变量的操作。
封装:面向对象程序设计的一个原则,就是把对象的属性和服务以某种形式紧凑的组织起来,并使服务实现细节对外不可见,

继承:面向对象程序设计提供的代码重用的重要机制之一,允许具有特性的子类继承具有公共特性的父类的属性和服务。
多态性:指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现不同的行为。

2)程序设计语言C++

C++是在C语言的基础上开发的,1983诞生于AT&T实验室,面向对象程序设计语言的代表。
特点:支持类、封装、重载、多态、继承等面向对象的特性;
应用领域:广泛应用于系统软件开发、引擎开发、语音识别、图形图像处理等非网络App和数据库应用的各种软件开发。

(3)Java语言

Java语言是支持计算机网络应用开发的经典编程语言,功能丰富、强大、跨平台、支持程序与分布式异构平台的无缝连接。Java语言继承了C/C++的语言特点,又具有自己独特的、不可替代的特性,即独立于硬件平台,不需要对源程序做任何修改就可以在异构平台上运行。

1)Java的跨平台特性

Java语言程序被编译成与平台无关的字节码,所有运行Java程序的计算机设备上都需要安装Java虚拟机软件,由Java虚拟机的解释程序将Java程序的字节码翻译成目标平台上的机器语言程序后运行。
2)Java开发平台构成
Java开发平台包括Java虚拟机及以下构成部分:
Java开发工具,Java部署技术,用户界面工具,集成APl,Java基本库。

第二节:软件开发工具简介 \color{green}{第二节:软件开发工具简介} 第二节:软件开发工具简介

一、程序的编辑

程序编辑器主要完成源程序代码的输入、编辑、按名存储。原则上可以使用任意一种文本编辑程序建立源程序,如
Windows下的记事本、写字板,Linux或UNIX操作系统中的vi编辑器等。无论使用哪种文本编辑器书写代码,文件名一般按编译器的要求命名,如C语言程序扩展名为c,C++程序扩展名为cpp。

二、程序的编译

编辑器中建立的高级语言程序或汇编语言程序,必须经过编译器或者解释器、汇编器翻译成机器语言程序后才能在硬件上执行。C/C++编译生成目标代码,再经过链接生成可执行程序后载入内存由CPU执行;UNIX和Linux命令行界面执行的Shell脚本需解释执行;Java源程序先被编译成字节码程序,再被Java虚拟机解释后执行

三、程序的调试

程序调试器是帮助程序员发现程序中错误的工具,其功能包括:
(1)控制程序运行
通过设置断点中断正在运行的程序,并使其按照程序调试者的意愿执行。
(2)查看程序运行中的信息
通过调试器可以查看程序的当前信息,如当前线程的寄存器信息、堆栈信息、内存信息、反汇编信息等。

第三节: v i s u a l s t u d i o 2010 简介 \color{green}{第三节:visual studio 2010 简介} 第三节:visualstudio2010简介

Visual Studio 2010(简称VS 2010)是微软公司推出的一个基于Windows操作系统的集成开发环境,提供了设计、开发
和调试Windows应用程序、Web应用程序、XML WebServices和传统的客户端应用程序所需的功能,可以快速开发
Windows桌面应用程序、ASP.NET Web应用程序、XML WebServices和移动应用程序等。

一、主窗体介绍

二、创建控制台应用程序

以C语言为例,简单介绍VS2010中应用程序的新建、编辑、编译、调试和运行。
源代码如下:

#include<stdio.h>
Void main ()
int a, b, sum;
printf ("please input two values a and b: ") ;
scanf ("%d%d", &a, &b) ;
sum=a+b;
printf ("sum=%d\n", sum) ;
1.新建项目

VisualC++——Win32项目;项目名称:Sum
步骤:文件-新建-项目

2.应用程序设置

控制台应用程序;空项目

3.编辑程序代码

源文件——添加——新建项;C++文件(.cpp)
名称:Sum.c

4.代码的编写

5.调试执行

Ctrl+F5

三、在VS 2010中调试程序

程序调试的目的是发现程序错误的原因和错误的位置。程序调试工具,也叫程序调试器,能够帮助程序员分析、发
现程序的错误,提高程序开发的效率和质量。

以Sum为例简述程序调试的步骤如下。
1)在程序中设置断点。(F9或右键菜单)

2)菜单“调试”→“启动调试”,或F5
3)通过监视窗口查看变量和表达式的值
4)单击调试工具栏中“逐语句”,或F11

5)菜单“调试”→“停止调试”,或Shift+F5

第四节: L i n u x 中常用命令和程序开发 \color{green}{第四节:Linux中常用命令和程序开发} 第四节:Linux中常用命令和程序开发

Linux操作系统是应用日益广泛地开源操作系统,其不同的发行版都有不同的图形用户界面和命令行界面-—Linux Shell。

一、Linux中的命令

Linux命令是用户向系统提交服务请求的一种方式。在图形用户界面下,用户通过鼠标单击工具按钮、菜单命令
等方式提交请求,告诉系统自己的需求。在命令行方式下,用户通过键盘输入命令向系统提交请求以获取需要的功能服务。

Linux命令的通用格式:
命令名 [选项] [参数]
“命令名”是表示功能的字符串;“选项”用于确定命令的具体功能,以减号“-”开始,后面跟一个表示功能选项的字符;
“参数”通常表示命令操作的对象。

例如:Is -a/bin
Is是命令名,其功能是显示目录;
-a表示命令ls的选项;
ls -a的功能是显示指定目录下的所有子目录与子文件;
参数/bin表示显示/bin目录下的所有子目录与子文件。
注意:命令名、命令选项、命令参数之间空一格。
命令不一定都有选项和参数。

Linux命令按照功能可分为7类:目录操作命令、文件操作命
令、文件内容操作命令、归档及压缩命令、权限命令、环境命令
和帮助命令。

1.目录操作命令
(1) pwd

功能:查看工作目录,判断当前目录在文件系统内的确切位置。
格式:pwd【选项】

$ pwd
/home/fish/New/D1/bluetooth

图中使用pwd命令显示出当前路径为
/home/fish/New/D1/bluetooth

(2) cd

功能:切换工作目录。
格式:cd【参数】

$ cd bluetooth
$ pwd
/home/fish/New/D1/bluetooth

图中使用cd命令进入当前目录的子目录bluetooth。

(3)Is命令

功能:显示目录。
格式:Is【选项】….【参数】
常用命令选项如下:
-l:以长格式显示文件的详细信息。
-a:显示指定目录下所有子目录和文件。
参数是目录或文件名。

(4)mkdir命令

功能:创建新目录。
格式:mkdir【选项】【参数】

$ midir D1
$ Is
D1
2.文件操作命令
(1)touch命令

功能:如果作为参数的文件不存在,则新建一个空文件;如
果作为参数的文件存在,则更新文件时间戳。
格式:touch【参数】
touch的参数是文件名。

$ touch f1
$ touch f2
$ Is
f1 f2
(2)cp命令

功能:复制文件或目录。
格式:cp【选项】【参数】
常用命令选项如下:
-r:复制整个目录树。
-f:以覆盖方式复制同名文件或目录。
cp命令的参数为文件名或目录名。

$ mkdir D2
$ ls
D1 D2 f1 f2
$ cp f1 D2
$ cp f1 D2/f3
$ ls D2
f1 f3
$ cp-r D1 D2
$ ls D2
D1 f1 f3
$ cp-f f2 D2
$ ls D2
D1 f1 f2 f3
(3)rm命令

功能:删除文件或目录。
格式:rm【选项】【参数】
常用命令选项如下:
-f:删除文件或目录,不进行提醒。
-i:删除文件或目录时提醒用户确认。
-r:删除整个目录树。

$ ls
D1 D2 f1 f2
$ rm f1
$ ls
D1 D2 f2
$ rm-f f2
$ ls
D1 D2
$ rm-r D1
$ ls
D2
$ rm-ri D2
rm:desend into directory'D2'? y
rm:remove regular file'D2/f3'?y
$
3.文件内容操作命令
cat命令

功能:显示出文件的全部内容
格式:cat【参数】
cat命令的参数为文件名或目录名。

$ Is
D1 f1 f2
$ cat f1
Helloworld ;
$

4.帮助命令
(1) --help

功能:大部分Linux外部命令都具有–help参数,通过输入:
命令–help,可以查阅当前命令的用法。

(2)man命令

功能:man是手册命令。使用man命令阅读手册页,使用
<↑><↓>方向键滚动文本,使用和键翻
页、使用键退出阅读环境,使用</>键查找内容。
格式:man【参数】
例如,man ls,获取ls命令的手册。

二、全屏幕编辑器vi

vi(Visual Edit),可视化的全屏幕文本编辑器,是UNIX、Linux系统中常用的文本编辑器。vi占用资源少,功能全面,使用方便。vim(Vi lmproved)是vi编辑器的升级版,不仅完全兼容vi的功能,还提供了更多丰富的功能,已经逐渐取代vi成为Unix和Linux主流的编辑器,不过大家仍习惯使用vi作为vim的简称。

Vi的工作模式有以下三种:
1)命令模式(Command Mode):首次打开vi编辑器时,默认进入vi命令模式。该模式下可以使用vi的快捷键命令,比如
移动光标、选择内容、复制、粘贴、删除等。

2)插入模式(Input Mode):插入模式下,可以在vi内输入字符。在命令模式下,按<a/A><i/l><o/O>等快捷键后可以
进入插入模式。最常用的快捷键功能:a-在当前光标字符后插入;A-在当前行尾插入;i-在当前光标位置插入;I-在当前行首插入;o-在下一行插入;O-在上一行插入。在插入模式返回命令模式可以按快捷键或者
<Ctrl+C>.

3)末行模式(LastLineMode):末行模式下进行辅助的文字编辑操作,如搜索替换、保存文件、执行vi命令、修改vi配
置等。在命令模式下,按<:>键可以进入末行模式,末行模式下输入vi命令后按键执行。末行模式下,vi命令模式下的快捷键仍然可用。

1.文件操作
(1)打开文件
$vi filename

使用vi命令指定文件名,可以打开或创建新的文件file。

(2)保存文件

使用":w”命令保存对文件的更改,使用“:w file”可以将文件保存为新文件file。

(3)退出vi

使用":q”退出vi。如果需要退出前保存文件更改,使用“:wq”或“:x”。如果丢弃文件的更改退出,使用“:q!”。使用vi修改文件时,有一种常见的文件情况,当用户编辑无权限文件时,是无法保存更改的,这时可以使用”:w!sudotee%”强制保存文件更改,然后使用“:q!”退出即可。不过该操作要求编辑文件的用户具有sudo权限。

2.光标移动
(1)上下左右移动

使用快捷键可以左、下、上、右移动光标,如果不习惯,可以使用方向键代替。

(2)行内光标移动

或<^>键将光标移动到下一行行首;<$>移动到行尾;
,在行首进入插入模式;在行尾进入插入模式。

(3)文件内光标移动

使用命令“gg”将光标移动到文件首部,使用 键将光标移动到文件尾部。浏览大文件时,可以使用翻页快捷键,
<Ctrl+d>向下翻页,<Ctrl+u>向上翻页。

(4)逐单词移动

向后跳过一个单词;同上,且可以跳过标点。向前跳过一个单词,同上,且可以跳过标点。

(5)光标跳转

使用“:n”或“nG”命令将光标跳转到第n行的行首。

3.文本选择
(1)字符选择

使用键选择当前光标后的字符,结合光标移动可以任意选择一段文本内容。“gg+v+G”选择所有文本内容;“v+n+Enter"选择当前光标到后边n行以内的文本。

(2)行选择

使用键选择当前行,结合光标移动可以任意选择多行内容,“gg+V+G”也可以选择所有文本。

(3)列选择

使用<Ctrl+v>选择光标所在的列,结合光标移动可以任意选择多列内容。

4.文本编辑
(1)复制

复制被选择的文本;“yy”复制当前行;<y+$>复制当前行光标到行尾所有内容;<y+^>复制当前行光标到行首内容。

(2)剪切

剪切光标后的字符,也可以剪切被选择的文本。

(3)粘贴

将上次复制或剪切的文本内容粘贴到当前光标的下一行;

将上次复制或剪切的文本内容粘贴到当前光标的上一行处。

(4)删除

”dd“删除当前行;”d+$“删除当前光标到行尾;删除当前光标到行尾并进入插入模式;”gg+d+G“删除整个文
件内容;删除行尾换行符,快速合并下一行到当前行;删除光标后一个单词”d+w";删除光标前一个单词”d+b".

(5)撤销和恢复

撤销上次编辑操作;<Ctrl+R>恢复操作。

(6)列编辑

例如为第10-20行的代码添加C语言单行注释“//”操作如下:

1)使用命令“:10”将光标移动到第10行行首。
2)使用<Ctrl+v>进入列选择模式,选择第10行第一列。
3)使用“10+Enter”向后选择后10行的第一列。
4)使用键进入列编辑插入模式,此时光标回到第10行
行首。
5)输入文本“//”插入C语言单行注释标志。
6)使用键退出列编辑模式。

5.搜索替换
(1)搜索

使用“/word”可以对单词word进行向后搜索,使用快捷键可以快速向后跳转到下一个匹配项,使用快捷键可
以反向跳转到上一个匹配项。使用“?word”可以对单词word进行向前搜索。和功能与前者相反。“\C”,大小写敏感匹配,如“/\Cword”。

实例:在终端创建sum.c文件,进入插入模式编辑文件,使用:wq命令保存并退出文件。

$ vi Sum.c
#include<stdio.h>
void nain()
{
    int a,b,sum;
    printf("please input two values a and b :");
    scanf("%dzd",&a,&b);
    sum=a + b;
    printf("sum=%d\n",sum);
}

三、GCC编辑器

1.GCC简介

GCC(GNU Compiler Collection)是Linux环境下的编译工具集,是GNU编译器套件,支持多种编程语言的编译,如
C/C++、Objective-C、Fortran、Java等。GCC支持×86、ARM、MIPS等多种硬件体系结构。

GCC编译器对程序的处理要经过预处理、编译、汇编、链接四个阶段,以产生一个可执行文件。GCC支持默认扩展名,上述四个阶段产生不同的默认文件类型。

用户可以通过终端输入info gcc或者man gcc分别查看GCC命令的选项及选项的说明信息。
GCC命令及部分选项如下:
(1) gcc -E file.c -o file.i
该命令将file.c预编译为源文件file.i

$ls
Sum.c
$ gcc-E Sum.c-o Sum.i
$ls
Sum.c Sum.i
$

(2) gcc -S file.c -o file.s
该命令将file.c翻译为汇编文件file.s,file.s内的汇编代码功能与源文件file.c的代码功能完全等价。预编译生成的文件file.i也可以作为该命令的输入,此时命令为gcc-S file.i -o file.s

$ls
Sum.c Sum.i
$ gcc-s Sum.c-o Sum.s
$ls
Sum.c Sum.i Sum.s
$ rm Sum.s
$ls
Sum.c Sum.i
$ gcc–s Sum.i-o Sum.s
$ls
Sum.c Sum.i Sum.s
$

(3) gcc -c file.c -o file.o
该命令将file.c编译为目标文件file.o。目标文件不能直接执行,需要与其他目标文件或库文件链接为可执行文件才能执行。
预编译生成的文件file.i和汇编生成的file.s也可以作为该命令输入。

$ ls
Sum.c Sum.i Sum.s
$ gcc-c Sum.c–o Sum.o
$ ls
Sum.c Sum.i Sum.o Sum.s
$

(4) gcc file.c –o file
该命令将file.c编译并链接为可执行文件file。预编译生成的文件file.i、汇编生成的file.s或目标文件file.o也可以作为该命令
的输入。
(5) gcc file.c -o file -g

gcc的“-g”选项表示编译时会生成调试信息,并将调试信息保存到可执行文件中,只有添加了该选项才能使用GDB对可执
行文件进行调试。

2.编译程序

通过文本编辑器建立、编辑Sum.c源代码文件之后,用户就可以通过GCC来进行编译。使用gcc Sum.c-o Sum命令,可直接生成Sum.c的可执行文件,使用ls命令可知Sum.c的可执行文件名为Sum,无扩展名。在终端下使用./Sum命令执行生成的可执行文件Sum。

$ls
Sum.c Sum.i Sum.o Sum.s
$gcc Sum.c-o Sum
$ls
Sum Sum.c Sum.i Sum.o Sum.s
$
$ls
Sum.c
$ gcc Sum.c-o Sum
$ls
Sum.c
Sum
$./Sum
please input two value a and b :1 2
sum=3
$

四、GDB基础

GDB是GNU开源组织发布的命令行调试器。主要具有以下
功能:
1.启动程序,可以按照自定义要求来运行程序。
2.在程序中设置断点,程序运行到断点处,程序将暂停。
3.当程序暂停时,可以打印或监视程序中变量或者表达式,将
变量或表达式的值显示出来。
4.单步调试功能,可以跟踪进入函数和从函数中退出。
5.运行时修改变量的值,GDB允许在调试状态下改变变量的值
动态改变程序的执行环境。
6.反汇编功能,显示程序的汇编代码。

1.在GDB中调试程序

上部分内容中,已使用GCC将Sum.c文件编译、链接成可执行文件Sum,只要在GCC命令中加入-g选项,就可以使用GDB对Sum文件进行调试。即先使用gcc Sum.c-o Sum -g命令编译、链接生成带调试信息的可执行文件Süm,然后使用gdb Sum命令进入调试模式。
GDB调试的常规步骤如下:

(1)启动调试

在终端中输入gdb Sum命令开始Sum程序的调试。

$ls
Sum
$gcc Sum i.c -o Sum -g
$ls
Sum Sum.c
$gdb Sum
Reading symbols from Sum...done.
(gdb)
(2)设置断点

使用I/list命令显示程序,使用b/breakpoint命令设置断点,这里使用b8(或breakpoint8)命令将断点设置到程序第8行
"sum=a+b;"处。

and "show warranty" for details.
This CDB was configured as "i686-1inux-gnu".
Type "show conflguratlon" for conftguratton details.
For bug reporting instructions, please see:
<http://www.gnu/software/gdb/bugs/>
Find the GDB manual and other documentation resources online at:
<http://ssw.gnu/software/gdb/documentation/>.
for help, type "help".
Type "apropos word" to search for commands related to "word".…
Readtng symbols fron Sun...done.
(gdb) l
1 #include <stdto.h>
2
3 votd natn()
4 {
5 int a, b, sum;
6 prtntr("please (nput two values a and b :");
7 scanf("%d %d",&a, &b);
8 sunsa+b;
9 prtntf("sun =Xd)n",sun);
10 }
(gdb) b 8
$reakpoint 1 at 6x804849e: flle Sun.c, line 8.
(gdb) 

(3)运行程序

使用r/run命令运行程序,程序将会运行到断点的位置暂停。

(4)调试

使用n/next命令进行调试,使用p/print命令显示“sum=a+b;”语句执行后各变量的值。

(5)退出GDB

调试完程序后,使用q/quit命令退出GDB。

2.GDB常用命令
(1) (gdb) run

运行被调试的程序,如果没有设置断点,则执行整个程序。如果设置有断点,则程序暂停在第一个断点处。

(2) (gdb) continue/c

继续执行被调试的程序、运行到下一个断点位置。如果后面没有断点,则程序执行到结束。

(3) (gdb) b/breakpoint function | file: line | *address

在指定函数名称处、指定文件的行号或指定内存地址处设置断点

(4) (gdb) d/delete breakpoint-number

删除一个以编号表示的断点。

(5) (gdb) p/print variable

打印出变量或者表达式的值。

(6) (gdb) s/step

以逐条指令单步执行的方式运行程序,如果代码中有函数调用,则进入该函数。

(7) (gdb) n/next

以逐条指令单步执行的方式运行程序,如果代码中有函数调用,则执行该函数,但不进入该函数。

(8) (gdb) jump

跳转到任意地址并且从该地址处继续执行,地址可以是行号,也可以是指定的内存地址。

(9) (gdb) I/list number

列出可执行文件对应源文件的代码。如命令list1,从第一行开始列出代码,每次按键后顺序列出后续代码。

(10) (gdb) q/quit

退出GDB调试环境。

(11) (gdb) help

帮助命令,如果使用help时没有参数,则提供一个所有可使用的帮助的总列表,如果调用时带命令参数,则提供该参数所表示的命令的帮助信息。

第五节:版本控制工具 \color{green}{第五节:版本控制工具} 第五节:版本控制工具

软件版本控制工具提供了源码的版本管理、提交历史追踪、多分支以及多人协同开发的功能。对于个人开发者,版本控制工具可以帮助查看每次代码提交的时间以及代码的更改,方便用户回滚到某个历史版本查看代码或者建立新的代码开发分支。对于团队开发者,版本控制工具可以自动合并多人的代码提交,提高了多人协同开发的效率,也可以帮助定位具体代码的修改者和修改内容等。

常用的开源软件版本控制软件有SVN和Git。
SVN将代码版本信息集中存放在一个中央仓库内,用户使用SVN客户端从中央仓库提取代码更新,或者将本地代码更改提交到中央仓库。有个比较大的问题是,当中央代码仓库无法访问时,无法对代码进行提交或者更新等操作。

Git是分布式的版本控制系统。Git也可以使用共享的远程代码仓库,Git工具可以将远程代码仓库复制到本地。用户将代码修改提交到本地仓库,与远程代码仓库的交互操作本质上是分支的合并操作,即提交操作是将本地分支合并到远程分支,更新操作是将远程分支合并到本地分支。这样即使共享代码仓库无法访问时,也可以将代码暂时提交到本地进行管理。

一、版本控制工具的功能

版本控制工具提供的基础功能大致相同,比如代码的提交、更新、撤销,代码文件的追踪、对比,版本的历史查看、切换、标签,代码分支的创建、合并等。

1)代码提交。

对代码进行修改后,将代码的更改同步到代码仓库。提交的信息包括代码的修改、提交者信息、提交时间以及提交的注释描述。

2)代码更新。

从代码仓库提取代码更新到本地。更新的信息包括更新的代码文件列表以及每个文件的代码修改内容。

3)代码撤销。

对代码文件修改后,可以放弃所做的更改将代码文件恢复到修改前的状态。

4)代码文件追踪。

将新的代码文件添加到版本控制工具中,以后对该文件的修改都会被版本控制工具追踪。

5)代码文件对比。

将当前的代码文件内容与最新的代码版本内容进行对比,以确认所做的更改。或者对比代码文件的不同历史版本,以确认每次提交记录中代码文件被修改的内容。

6)版本历史查看。

查看代码文件或目录的所有的提交历史,确认代码文件或目录发生的所有变化。

7)版本切换。

切换代码的某个历史版本,查看历史代码内容,或者在历史版本处创建代码分支。

8)版本标签。

可以为某次的代码提交打上版本标签,以方便代码版本的切换查看。

9)代码分支创建。

当某个代码版本处需要提交不同的代码修改时,可以使用代码分支对代码的内容独立管理。尤其是在需要对某个版本的代码进行新功能开发或调试时,可以创建一个独立于当前代码分支的新的分支。

10)代码分支合并。

将一个分支的代码合并到另一个分支上去。比如在新的代码分支开发测试完毕新的功能模块后,可以将所有的代码更改同步到主开发分支。

二、版本控制工具Git的使用

Git起初是由Linus Torvalds为帮助Linux内核开发者进行代码版本控制而开发的开源软件,目前已经被开源社区普遍作为代
码版本控制工具。Git提供了分布式的代码版本控制,允许每一个开发者拥有完整的代码仓库,解除了传统版本控制工具对中心代码仓库的全局依赖,使得任何一个开发者的本地仓库都可以被其他开发者当作代码仓库使用。另外,Git的代码分支管理功能允许开发者可以多人协同、多分支并行的对代码进行开发管理。

1.安装配置Git

使用Git版本控制工具,可以从Git官网(www.git-scm)下载不同操作系统安装包安装即可。安装结束后,使用Windows操作系统的Git Bash命令行工具或者Linux系统中命令行工具输入命令检测Git是否工作正常。

$git -- version
git version 2. 3. 2 (Apple Git -55)

在正式使用Git前需要对Git的提交用户信息进行配置。

$git config - - global user. name "My Name"
$git config -- global user. email "My Email"
2.初始化Git仓库

在工程目录下执行init命令初始化Git仓库。

~ /myproject $git init

该命令会在myproject目录下创建一个隐藏的目录".git”保存Git仓库信息。

3.代码提交

新初始化的Git仓库没有任何需要提交的内容。新建一个代码文件Sum.c后,Git可以检测到可能需要进行版本控制的文件。

~ /myproject $touch Sum. c
~ /myproject $git status
On branch master
Initial commit
Untracked files:
(use " git add < file > ..." to include in what will be committed)
Sum. c
nothing added to commit but untracked files present (use "git
add" to track)

将Sum.c添加到Git版本控制。

~ /myproject $git addSum. c
~ /myproject $git status
On branch master
Initial commit
Changes to be committed :
( use " git rm -cached < file > ... " to unstage)
new file: Sum. c

Git检测到Sum.c文件是一个新文件,可以将该文件提交到仓库。首次提交后,Git会将当前代码分支命名为master。commit命令的选项“-a”表示提交所有的更改,“-m”选项表示提交时带注释。如果不使用该选项,Git会打开编辑器让提交者输入注释内容。

~ /myproject $git commit -am "create Sum. c"
[master (root - commit) f9f6129] create Sum. c
1 file changed, 0 insertions (+), 0 deletions (-)
create mode 100644Sum. c

提交结束后,可以查看Git仓库的状态。Git检测到工作区目录没有需要提交的内容。

~ /myproject $git status
On branch master
nothing to commit, working directory clean

通过log命令可以查看Git的提交历史。

~ /myproject $git log
commit f9f612943b37c437e8e3d48ea079ba9545d8c50f
Author: My Name < My Email >
Date : Sun Jul 12 23:11:52 2015 + 0800
Create Sum.c

如果修改了Sum.c文件,Git会检测到该文件内容的改变。

~ /myproject $cat Sum.c
Sum#include < stdio.h >
void main( )
{ int a,b, sum;
printf("please input two valus a and b : ")
scanf(“%d %d", &a, &b);
sum=a+b;
printf "sum = %d/n", sum);
}

提交代码的更改后,Git会检测到Sum.c改变的内容。如Sum.c文件被添加了9行数据。

~ /myproject $git commit -am "Sum code"
[master 702466 ] Sum code
1 file changed, 9 insertions (+)

再次运行log命令,可以发现版本历史多了一个记录,并且拥有不同的commit ID。

~ /myproject $git log
commit 7027466fce08533 adbded6636fcf8cea41d48281
Author: My Name < My Email >
Date: Sun Jul 12 23:21:49 2015 +0800
Sum code
commit f9f612943b37c437e8e3d48ea079ba9545d8c50f
Author: My Name < My Email >
Date: Sun Jul 12 23:11:52 2015 +0800
create Sum.c
4.代码比较

当文件发生改变时,使用diff命令可以查看代码发生的变化。

~ /myproject $echo " // newline" >> Sum. c
~ /myproject $git diff
diff--git a/Sum. c b/Sum. c
index d8d3e33.. 5dfl2d7 100644
---a/Sum. c
+++b/Sum.c
@@ -4,3 +4,4 @ @ void main () {
sum= a + b
printf(" sum = %dIn ", sum) ;
}

+// new line

Git提供了快捷命令方便版本的比较,比如比较当前代码内容与最新版本提交记录的差别。

~/myproject $git diff HEAD

如果比较当前代码内容与上次版本提交记录的差别。

~/myproject $git diff HEAD~

如果比较最新版本提交记录与上次版本提交记录的差别。

~/myproject $git diff HEAD~ HEAD

HEAD是Git中比较重要的概念,它是一个指针,默认指向当前代码分支的最新的提交记录。HEAD后紧跟波浪线表示当前代码支的倒数第二次提交记录,以此类推。

5.代码切换

在代码开发中,经常需要回到代码的某个历史状态检查代码甚至回滚代码到一个历史状态。Git的checkout命令会修改HEAD指针的位置,Git会根据HEAD指向的版本记录将代码文件的内容切换到任意一个版本状态。

比如将代码切换到上次提交的版本,Sum.c文件恢复到刚创建的状态。

~ /myproject $git checkout HEAD~
Previous HEAD position was 7027466... sum
code
HEAD is now at f9f6129... createSum. c
6.代码文件追踪

Git中可以自由地对文件进行版本控制。如果需要对文件进行版本控制,使用add命令即可。如果需要将文件移出版本控制,使用rm命令。

~ /myproject $git add Sum. c
~ /myproject $git rm Sum. c
7.代码标签

当代码提交了一个比较重要的版本时,可以为提交的版本打上标签。下面Git的tag命令为当前版本打上了1.0的标签,并可以使用选项查看所有的标签。

~/myproject $git tag 1.0
~ /myproject $git tag - l
1.0
8.代码分支

代码分支是Git比较重要的功能,它使得代码开发可以并行化。
使用branch命令可以创建代码分支。

~ /myproject $git branch new
~ /myproject $git branch
master
new
~ /myproject $git checkout new
Switched to branch'new'

此处创建了分支new,由于创建分支时HEAD指针指向master分支的最新提交,因此分支new拥有master分支的所有提交记录。

三、使用github

前面介绍了Git中的常用命令,但是仅限于本地仓库的管理命令,而并未涉及与远程仓库的交互。github提供了公有的代码仓库、使用Git可以将本地的代码仓库推送到github。

首先需要在www.github上申请注册并登陆,新建一个"Repository"。然后在本地执行相关命令添加远程仓库地址。
最后使用push命令将本地仓库推送到github。代码推送完成后,访问地址https://github/MyGithubid/myproject可以看到github提供的仓库管理目录。如果本地仓库意外丢失或者更换开发机器,可以从github上直接将仓库复制到本地。

本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾

1.应用程序开发的一般过程、高级程序设计语言的特点;
2.VisualStudio2010中建立、编译、链接、调试和运行程序
的过程;
3.Linux的常用命令;
4.vi编辑器、GCC、GDB的使用;
5.版本控制工具Git的使用。

第四章:计算机网络 \color{blue}{第四章:计算机网络} 第四章:计算机网络

本章重难点

本章一般会出选择题、填空题、简答题。
本章的重难点和常考知识点
计算机网络的定义、分类
计算机网络的拓扑结构
OSI参考模型及其层次功能
TCP/IP模型
常用网络连接设备的功能对比

第一节计算机网络的形成与发展 \color{green}{第一节 计算机网络的形成与发展} 第一节计算机网络的形成与发展

计算机网络是计算机技术和通信技术相结合的产物,它几乎是与计算机一同产生和发展的。
(领会:计算机网络的形成;计算机网络发展的四个阶段及具体内涵,分组交换技术的原理。)

一、计算机网络的形成

1952年出现的美国半自动化地面防空系统被普遍认为是计算机技术与通信技术的首次结合。该系统分为17个防区,每个防区的指挥中心装有两台IBM公司的AN/FSQ-7计算机,通过通信线路连接防区的各雷达站、机场、防空导弹等,形成联机系统。20世纪60年代,美国航空公司与IBM公司合作投入使用联机订票系统,以SABRE-1为中心机,通过通信线路将遍布全美的2000多台终端连接起来,进行实时票务处理,产生了巨大的经济效益。

1969年,美国国防部高级计划研究署网络——阿帕网(ARPANET)的建成,标志着现代计算机网络的正式诞生。1983年,美国国防部将阿帕网分成两个独立部分,一部分用于科学研究和民用,仍然称作ARPANET;另一部分则用于军方通信,称作MILNET。

二、计算机网络的发展

计算机网络经历了从简单到复杂、从单一主机到多机协同工作的发展过程。其发展主要经历了以下四个阶段:

1.面向终端的计算机网络(1952-1969年)

早期的计算机数量少,体积庞大,价格昂贵,主要用于军事和科学运算,用户使用计算机必须到指定的计算机中心,为了方便用户使用,1954年出现了具有数据收发功能的终端设备。通过终端,用户可以将程序数据发送给远端的计算机系统,完成数据运算后将结果传回用户。

后来随着远程终端数量的增多,出现了多路终端控制器,使一台计算机可以同时与多个终端相连接,这就是计算机网络的雏形。它是将多台远程终端设备通过通信线路连接到一台中央计算机上,以实现远程数据的集中处理,并不是真正意义的计算机网络。

不足:终端用户数受终端控制器数目的限制;整个系统本质上是具有多个终端的一台计算机;终端之间仅仅能够进行简单的数据交换,而没有实现真正的计算机间资源共享等。

2.面向通信子网的计算机网络(1969-1974年)

1957年10月,苏联发射了第一颗人造地球卫星。冷战时期的美国朝野为之震惊,为此成立了美国国防部高级计划研究署(ARPA),并着手开展新的军事指挥控制网络的研制。1964年8月,波兰裔美国人保罗.巴兰提出了分组交换的思想。

分组交换技术:

将需要传输的数据报文首先分割为许多小的子报文,成为“包”或“分组”,每一个子报文都具有完整的报文目标地址和源地址,并且可以独立地选择合适的发送路径向目标主机传输数据。在接收端,主机通过分组的重组获得完整的报文。由于数据报文被分割成诸多小分组并按不同路径转发,分组交换技术满足了军事网络的安全性、可靠性要求;而由于多个转发设备可以独立、并行地转发不同的分组,分组交换技术满足了军事网络快速性的要求。

1965年,美国国防部高级研究计划局启动阿帕网计划,并于1969年12月成功投入运行。尽管早期的阿帕网上只连接了四台主机,但它却是真正意义上的计算机网络。阿帕网中,每一个计算机不再是数据处理的中心,而成为网络中的一个处理节点,计算机之间通过网络实现资源共享、任务协作和数据交换。现在人们公认阿帕网为现代计算机网络的鼻祖,并且由于阿帕网是第一个分组交换网络,也是当前最流行的Internet的直接雏形,因此又被认为是分组交换网络和Internet的鼻祖。以阿帕网为代表的网络系统称作第二代计算机网络,网络系统以计算机连接而成的通信子网为中心,而不再是以一台计算机为中心的多终端系统。

3.体系结构标准化的计算机网络(1974-1993年)

随着计算机网络的不断发展,计算机网络的功能越来越复杂和完善。为了有效地设计和开发功能完备的网络系统,人们开始采用网络功能层次化的思想,将网络系统划分为若干层次的功能模块,从而提高网络系统的研制和开发效率。

1974年,IBM公司宣布了其著名的系统网络结构SNA,首次将计算机网络系统划分了七层结构,此后各大公司和组织也纷纷推出了各自的体系结构标准。为了使不同体系标准的网络设备和软件能够互连和互操作,国际标准化组织于1983年推出了著名的开放式系统互连参考模型OSI模型。人们把具有网络协议分层结构的计算机网络称作是体系结构标准化的计算机网络。

4.互联高速移动泛在的计算机网络(1993年至今)

1993年,美国宣布实施国家基础设施建设计划,即“信息高速公路”计划,旨在将全美的信息基础设置进行高速互联。1994年4月20日,中国正式接入互联网。中科院高能物理所设立了我国第一个万维网服务器。

1995年,全球信息基础设施委员会(Global Information Infrastructure Committee,GIIC)成立,进一步推动了全球信息化的发展趋势。Internet浪潮开始席卷全球,几乎覆盖了世界上所有的国家和地区,将位于不同地理位置的数以千万计的网络、数以十亿计的计算机系统、移动终端、智能设备都互联到了一个庞大的网络中,成为世界上规模最大和增长速度最快的计算机网络。

2000年以来,移动计算、普适计算、无线传感器网络、物联网、云计算的出现,使得随时随地、无处不在的计算成为可能。计算机网络从传统的计算机设备扩展到了智能家电、智能手机、平板电脑、智能芯片、RFID电子标签、传感器、无线接入等领域,形成了互联高速移动泛在的网络。

第二节计算机网络的定义与分类 \color{green}{第二节 计算机网络的定义与分类} 第二节计算机网络的定义与分类

在计算机网络发展的不同阶段,人们对计算机网络的定义和分类也不相同。不同的定义和分类反映着当时计算机网络技术发展的水平以及人们对网络的认识程度。(领会:计算机网络的定义,计算机网络的两个基本特征,计算机网络的分类。)

一、计算机网络的定义

计算机网络是具有独立功能的计算机或其他设备,用一定的通信设备和介质互相连接起来,能够实现数据通信和资源共享的系统。
计算机网络主要有以下两大功能:资源共享数据通信

1.资源共享

主要包括了软件、硬件和数据信息资源的共享。

2.数据通信

用以实现主机与终端、主机与主机之间的数据传递。

二、计算机网络的分类

1.按照计算机网络的范围
(1)局域网(Local Area Network,LAN)

指较小范围内(几公里)将计算机、外设和通信设备互连在一起的网络系统,如大楼、实验室或中小企业内部网络。特点是规模小、组网简单、传输速率高、性能较可靠,是计算机网络发展中最基本、最普遍的形式。

(2)城域网(Metropolitan Area Network,MAN)

由多个局域网互联形成一个较大区域(如一个城市)的网络,其规模介于局域网和广域网之间。传输速度较快、可靠性较好。

(3)广域网(Wide Area Network,WAN)

大范围(大于100KM)的计算机网络,一般可跨越城市、地区、全国甚至全世界。特点是传输距离远、传输速率低、误码率一般较高,为了保证网络的可靠性,通常采用比较复杂的控制机制。

(4)个域网(Personal Area Network,PAN)

指在个人空间的范围内(10m),将笔记本电脑、智能手机、数码产品、蓝牙设备、红外设备等连接在一起的网络。例如,可以通过一款无线路由器设备将个人使用的多个无线设备进行数据通信和资源共享。

(5)体域网(Body Area Network,BAN)

指在人体范围内(1-2m),将可穿戴设备、如眼镜、手表、手环、智能卡以及传感器设备等连接在一起,进行数据通信和资源共享。

2.按照计算机网络的服务
(1)公用网(Public Network)

面向公众提供服务的计算机网络,如中国教育科研网,中国公众信息网等。

(2)专用网(Private Network)

某一部门或系统的专用网络,如军用网络系统,警用网络系统等。

第三节计算机网络的拓扑结构 \color{green}{第三节 计算机网络的拓扑结构} 第三节计算机网络的拓扑结构

尽管Internet网络结构非常庞大且复杂,但组成复杂庞大网络的基本单元结构却具有一些基本特征和规律。计算机网络拓扑结构就是用来研究网络基本结构和特征规律的。(领会:计算机网络拓扑的概念,计算机网络拓扑的分类方
法及基本拓扑类别。)

一、计算机网络拓扑的定义

为了应对复杂的网络结构设计,人们引入了计算机网络拓扑的概念。拓扑原为一个几何术语,用于描述点、线、面之间的关系。在计算机网络中,拓扑是指以网络中的每一台计算机或路由器为点、以计算机或路由器间的连接线路为线而构成的网络平面中的各个节点之间的相互关系。拓扑设计是建设计算机网络的第一步,也是实现各种网络协议的基础。拓扑结构不仅可以描述整个网络的结构特征,而且也反映了网络中各个主机或路由器之间的关系,影响着整个网络的设计性能、可靠性和通信费用。

二、计算机网络拓扑的分类

常见的网络拓扑结构有5种,星形、环形、总线型、树形、网状。

1.星形拓扑

星形拓扑结构是一种典型的集中型的网络,处于中心位置的中央节点一般是一台高性能主机或连接设备,以辐射状直接与各个分散节点相连接。任意两个节点通信均需经过中央节点转发,因此中央节点负荷重。星形拓扑结构的特点是结构简单、建网容易、便于管理。目前,星形拓扑结构的应用最为广泛。

2.环形拓扑

环形拓扑结构将各个主机节点连接称为闭合环路,数据一般沿环路单向传输,每个节点接收邻近节点发来的数据报文,并根据报文目标地址决定是自己接收下来还是继续向邻近的下一个节点转发。经过几段链路的转发,数据报文就被送到了目的节点。环形拓扑结构简单,建网较容易,但是每个节点的负荷都很重,网络可靠性差。其代表是令牌环网,目前已不再使用。

3.总线型拓扑

可以看作是环形网的开环形式,网络的每个节点都连接到一条称为总线的公共信道上,特点是任意节点之间可以通过总线直接通信而无须其他节点转发,总线上的节点彼此相互独立,可以方便地连接或断开网络,因此任何节点出现故障都不会影响整个网络的运行。总线型拓扑结构的代表是以太网。

4.树形拓扑

可以看作是星形拓扑结构的一种扩展,节点按照层次进行连接,信息交换主要在上、下节点之间进行,相邻及同层节点之间数据交换量较小,适用于汇聚信息的应用要求。

5.网状拓扑

又称无规则型或分布型拓扑结构,节点之间的连接是任意的,没有规律,任意两个节点的信息传输途径一般不是唯一的。当某节点或链路发生故障时,可以在多条路径中另外选择一条到达目的地,所以网络组网灵活、性能可靠,但路由选择较复杂。目前,实际使用的广域网或者大型城域网结构以及互联网主干基本上都采用网状拓扑结构。

第四节计算机网络的体系结构 \color{green}{第四节 计算机网络的体系结构} 第四节计算机网络的体系结构

网络协议是实现网络通信的基础,而一个完整的通信过程需要一系列协议的支持,并由软件和硬件共同完成不同的网络功能,这样就构成了计算机网络体系结构。
(领会:计算机网络协议的定义、作用,常见的几种网络协议;OS参考模型的目标和概念、七层模型以及各层的功能、数据信息的传输过程;TCP/IP模型的概念和四层模型、与OSI模型相对应的实际使用的五层协议模型及相对应各层包括的具体协议。)

一、计算机网络协议

计算机网络中的主机通信,需要采用某种特定的计算机语言来完成,称之为协议,协议就是指通信双方必须遵循的信息格式和信息交换规则的集合。
不同计算机网络采用的协议也各不相同,常见的网络协议集有TCP/IP、IPX/SPX、AppleTalk、NetBEUI等。最常用的计算机网络协议是TCP/IP。

二、OSI参考模型

OSI参考模型出现在20世纪70年代末,当时世界上诸多计算机公司都提出了备自的网络体系结构标准,如IBM公司的系统网络架构SNA、DEC公司的数字网络架构DNA等。为了使不同体系标准的网络设备和软件能够互连和互操作,1977年,国际标准化组织ISO成立了一个TC97计算机与信息处理标准化委员会的SC16分技术委员会,专门负责研究“开放式系统互联”问题。1983年,国际标准化组织ISO制定了OSI开放式系统互联基本参考模型。

制定OSI参考模型的目的在于使世界上的开放式网络系统能够互连互通,实现信息交换。所谓“开放”就是指遵循OSI参考模型标准的系统可以与世界上任何同样遵循OSI参考模型标准的系统进行通信。OSI参考模型一经推出,很快就得到了许多大公司和政府机构的支持,OSI参考模型成了网络体系的国际标准

OSI参考模型将网络的功能划分为7个层次:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。如下图所示。

1.物理层

物理层的功能是实现原始0、1比特流信号的发送和接收,它是面向底层物理设备的。在计算机网络体系中,物理层的功能最简单,只负责完成计算机二进制数据的传输,而不关心数据信息的具体意义和差错处理,因此也就不关心数据传输的同步接收和二进制序列的解析。物理层是网络传输的基础,在实际网络中一般是由网卡或者MODEM实现的。

2.数据链路层

为了有效地处理物理层中原始0、1比特流信号的传输差错和进行必要的同步,数据链路层引入了“帧”。帧(Frame)是数据链路层的协议数据单元,是具有某种格式的一组0、1二进制序列。数据帧一般包含了帧的起始标志、结束标志、控制信息和纠错检错信息等。
数据链路层的主要功能是以数据帧的形式无差错地传输数据。在实际网络中,数据链路层一般也是由网卡或者调制解调器实现的。也就是说,网卡或者调制解调器既是物理层设备,又是数据链路层设备。

3.网络层

网络层是网络协议体系中重要的一层,它主要完成两大基本功能:数据报文的分组打包(或重组)和数据报文的路由选择。此外,网络层还完成流量控制、地址解析等功能。

4.传输层

传输层的功能是以完整的报文为单位,端到端地传输数据报文。其中,端到端(End to End)数据传输是传输层提供的重要功能,它实现了将数据从一个应用进程或窗口到另一个应用进程或窗口的传输。

5.会话层

会话层主要完成通信中会话的建立、连接和释放等。会话层主要完成通信中会话的建立、连接和释放等。

6.表示层

表示层的功能是将用户或应用层提交的服务请求表示成符合OSI语法的形式,同时完成数据的压缩和加密。

7.应用层

应用层的功能是直接为网络用户提供应用和服务,如电子邮件、文件传输、域名系统等,它是面向用户的协议模块。

由上可知,应用层、表示层和会话层主要是面向用户的协议层,并不参加数据的传输,因此通常又称作高层协议。相应地,物理层、数据链路层、网络层和传输层的主要功能是完成数据报文的传输,通常又称作低层协议。

OSI参考模型下,符合OSI参考模型的通信主机都具有相同的层次结构。在OSI参考模型数据通信过程中,数据通信从逻辑上看是在A、B双方的对等层之间进行的(虚线所示)。但实际上,数据流是沿实线表示的路径传送的。

如果A方应用层的数据报文要发送给B,则报文首先逐层向下传送,每经过一层都要附加一部分与该层协议有关的控制信息,直至物理层。在物理层,数据报文以0、1比特流的形式从主机A直接传送到主机B的物理层。主机B收到0、1原始比特流数据后,逐层向上传递,并在每一层拆除本层的控制信息,根据控制信息进行相应的处理后向上传送,直至B方的应用层,最终将用户A发送的消息传输给了用户B。

OSI模型各层主要功能的归纳总结:

应用层:与用户应用进程的接口,即相当于“做什么?”
表示层:数据格式的转换,即相当于“对方看起来像什么?”
会话层:会话的管理与数据传输的同步,即相当于“轮到谁讲话和从何处讲?”
传输层:从端到端经网络透明地传送报文,即相当于“对方在何处?”

网络层:分组交换和路由选择,即相当于“走哪条路可到达该处?”
数据链路层:在链路上无差错的传送帧,即相当于“每一步该怎么走?”
物理层:将比特流送到物理媒体上传送,即相当于“对上一层的每一步应该怎样利用物理媒体?”

OSI参考模型的网络功能可分为三组,下两层解决网络信道问题,第三、四层解决传输服务问题,上三层处理应用进程的访问,解决应用进程通信问题。

值得注意的是,尽管OSI参考模型推出后获得了众多计算机厂商的认可并采纳为国际标准,但OSI参考模型只是一个概念框架,其协议的具体实现由网络的设计者根据情况决定。到了20世纪90年代初,虽然整套的OSI国际标准都已经制定完成,但由于Internet的迅速发展,TCP/IP模型已经抢先占据了大部分的网络市场,因此OSI参考模型没有取得预想的成功。TCP/IP模型成了事实上的网络互连国际标准。

三、TCP/IP模型

TCP/IP是传输控制协议(TCP)和网际协议(IP)的简称,它并不是一个协议或两个协议,而是由上百个协议组成的协议簇,其中最主要的协议有两个:TCP和IP。TCP/IP是连接Internet的最重要的协议。
TCP/IP包括了四层协议体系模型,即应用层、传输层、网络层和网络接口层

为了与OSI模型相对应,在实际使用中常将TCP/IP划分为五层协议,与OSI的对应如下图所示:

物理层和数据链路层是TCP/IP的实现基础,依赖于具体的底层网络,包括各种广域网如ARPANET阿帕网、X.25公用数据网,以及各种局域网如以太网、令牌环网、千兆以太网、万兆以太网等。

网络层主要包括IP、网际网控制报文协议(Internet Control Message Protocol,ICMP)、地址解析协议(Address Resolution Protocol,ARP)以及相应的路由选择协议。网络层是TCP/IP中最重要的一层,它提供了专门的机制来解决与底层网络的转换,并规定了用于网络寻址的IP地址格式,从而将网络应用统一到IP数据报文和IP网际网地址中来。此外,网络层还完成数据分组的打包、重组和路由选择。

为了确定网络中通信主机的具体位置,IP定义了IP地址作为Internet上主机的唯一标识。IP地址采用32位二进制数字表示,并由互联网名称与数字地址分配机构(ICANN)进行分配。为了便于读写,人们常常把32位的IP地址中的每8位一组用其对应的十进制数字表示,并在十进制数字之间加上一个点,称作点分十进制表示法。
例如:“211.87.176.66”就是IP地址“1101001101010111101100001000010”的点分十进制表示形式。显然,点分十进制形式的IP地址比二进制形式读起来要方便得多。

传输层主要包括传输控制协议和用户数据报协议UDP,主要提供端到端的,面向连接或者无连接的网络传输服务。

应用层包含了具体的网络应用协议和服务,如万维网服务(World Wide Web,WWW)、简单邮件件传送协议(Simple Mail Transfer Protocol、SMTP)、邮局协议(Post Office Protocol 3,POP3)、域名系统(Domain Name System,DNS)、文件传输协议(File Transfer Protocol,FTP)等。

第五节计算机网络的传输介质 \color{green}{第五节 计算机网络的传输介质} 第五节计算机网络的传输介质

传输介质是计算机网络中信息传输的媒介,是网络通信的物理基础。目前,计算机网络中常用的传输介质有双绞线、同轴电缆、光纤以及无线通信。传输介质的特性对数据传输速率、通信距离和数据传输的可靠性等均有很大影响。
(识记:双绞线的基本结构,屏蔽双绞线、非屏蔽双绞线的分类方法;同轴电缆的基本结构和分类方法;光纤的基本结构及完全内部全反射原理、光纤的突出优点、单模光纤和多模光纤的分类及特性比较;无线电磁波谱及其在通信中的应用。)

一、双绞线

双绞线TP是计算机局域网中最常用的传输介质,它由两根具有绝缘保护层的铜导线相互绞合而成,因此得名“双绞线”。把两根绝缘的铜导线按一定密度相互扭绞在一起,可降低相邻电缆产生的电磁干扰(如串音干扰、信号干扰等)。

双绞线可分为非屏蔽双绞线UTP和屏蔽双绞线STP两种基本类型。屏蔽双绞线在电线和外部塑料外套之间有一个铝箔屏蔽层而非屏蔽双绞线没有这种金属屏蔽层。因而,屏蔽双绞线比非屏蔽双绞线有更好的抗电磁干扰能力,价格相对也要高一些。目前常见的网络布设中大都使用非屏蔽双绞线。

国际电气工业协会为双绞线电缆定义了几种不同特性的型号包括了从1类线到6类线的所有类型,满足电话、计算机网络等应用。其中,当前在计算机网络中应用最为广泛的是5类电缆线和6类电缆线。

5类电缆(CAT5)包括四个非屏蔽线缆对,抗电磁干扰性能好,最高可支持1000Mbit/s的数据传输速率,适合于构建100/1000Mbit/s的局域网。5类电缆又分为普通5类线和超5类线两种类型,是当前局域网布设中最常用的电缆类型。
6类电缆(CAT6)包括四个线对的非屏蔽或屏蔽双绞线电缆,通常在四对线缆之间放置绝缘十字架,更好地降低了不同线对之间的干扰,提高了传输性能,支持1000Mbit/s及以上的网络应用。

二、同轴电缆

同轴电缆是早期局域网中常用的传输介质,它由中心导体、绝缘材料层、铝制网状织物构成的屏蔽层以及外部隔离材料保护套层组成,其中两种导体共享同一中心轴,因此得名同轴电缆。

同轴电缆的中心,由一根坚硬的铜线贯穿于整条电缆。这根铜线的外部包裹着由塑料制成的泡沫绝缘层。在泡沫的外面则包裹着另一种导体,即由金属丝网、金属箔或由两者同时制成的一个套子。金属丝网的作用是防止内部电线遭到电磁干扰的影响,通常把这层金属丝网也称作屏蔽层。同轴电缆的屏蔽性能好,抗干扰能力强。

根据同轴电缆的直径,同轴电缆可以分为粗缆和细缆两种类型。粗同轴电缆的直径较粗(1.27cm),传输距离长(500m),可靠性好,适用于比较大型的局部网络。但粗同轴电缆网络必须安装收发器和收发器电缆,安装难度大,总体造价高。粗同轴电缆在早期的网络中应用广泛,目前已经很少使用。
细同轴电缆的直径(0.26cm)与粗同轴电缆相比要小很多,传输距离短(185m),安装简单,适用于总线型网络。细同轴电缆在安装过程要切断电缆,两头装上基本网络连接头,然后接在T型连接器两端,所以当接头多时容易产生接触不良的隐患,这是细缆以太网所发生的最常见故障之一。

根据同轴电缆的阻抗特性,可分为基带同轴电缆和宽带同轴电缆。
基带同轴电缆阻抗为50Ω,通常用于传输数字信号(如计算机信号)。由于数字信号在传输过程中占用整个信道,因此同一时间内基带同轴电缆只能传送一路数字信号。

宽带同轴电缆阻抗为75Ω,通常用于传输模拟信号(如有线电视信号)。模拟信号在传输过程中需要通过调制技术调制到不同的载波频率上,并以频分多路复用的方式同时传送多路模拟信号(如一根有线电视电缆可以同时传输几十路电视信号)。宽带同轴电缆的性能比基带同轴电缆好,主要用于有线电视系统。

三、光纤

光导纤维简称光纤,是一种由玻璃或塑料制成的纤维。光纤通过光的全反射原理实现信息的传输,由于具有带宽极高、抗电磁干扰能力强、制作材料广泛等突出优点,因而成为目前应用很广、前景很好的一种网络传输介质。

光纤线缆由包在玻璃管中的一根或者多根玻璃或者塑料光纤芯线构成,其结构如图所示。光纤通常由非常透明的石英玻璃拉成细丝,称为纤芯。纤芯质地脆易断裂,折射率高。纤芯外面的玻璃层称作包层。

玻璃包层的折射率远小于纤芯,因而当入射光按照在某特定角度范围内入射纤芯,将会形成全反射,即当入射光大于临界角时,光的传播过程中只有反射光而没有折射光,这样一来,光就会不断在光纤中反射传播下去。

在光纤传输中,只要射入纤芯的光线的入射角大于某一临界角,就可以产生全反射。因此,对于直径较大的光纤,可以允许从多个不同角度入射的光线在一条光纤中传输,这样的光纤称作多模光纤。
多模光纤的纤芯直径一般为50~200μm,成本低,可以使用价格便宜的发光二极管光源,传输损耗高,适合于近距离通信传输。

而当光纤直径只有一个光波的波长,则光线只有平行入射才可以在光纤中传输,光线在光纤中不存在多个传播路径,这种光纤称作单模光纤。
通常,单模光纤的纤芯直径为8~10μm,制作工艺精密,成本高,通常需要使用价格昂贵的半导体激光器光源,因而价格比多模光纤及设备高得多。但单模光纤的传输损耗低,因而适合于长距离通信传输。

四、无线传输

无线传输介质包括无线电波、红外线信号、微波以及卫星通信等。因此,在使用电缆非常困难或者说根本不可能时,无线通信可以很好地代替有线通信。

1865年,英国著名物理学家詹姆斯·克拉克·麦克斯韦(James Clark Maxwell)预言,电子运动时可以产生自由传播的电磁波,并断言光波就是一种电磁波,光现象是一种电磁现象。1887年,德国物理学家海因里希·鲁道夫·赫兹(Heinrich Rudolf Hertz)利用实验方法产生了电磁波,证明了麦克斯韦的预言。在电路上加入适当大小的天线,电磁波便可在自由空间中有效地广播,并被一定距离内的接收器收到,这就是无线通信传输的基本原理。

通常,电磁波的传播有两种方式:一种是在自由空间中传播,即通过无线方式传播;另一种是在有限制的空间区域内传播,即通过有线方式传播。同轴电缆、双绞线、光纤等介质传输电磁波的方式属于有线式传播,而地面微波、卫星通信、红外等传输电磁波的方式属于无线方式传播。

无线传输可使用的频段很广,在网络通信中有着广泛的应用。地面微波通常使用2~40GHZ频率范围传输电话、电报、图像、数据等信息,抗干扰性能好,易于跨越山区、江河,布设方便。由于微波在空间中是直线传播的,而地球表面是个曲面,因此微波传播的距离受到限制,传播距离为数十至上百千米。为了实现远距离地面微波通信,需要在一条无线电通信信道的两个终端之间架设若干个中继站,从而可以将前面站点发送来的信号经过放大后发送到下一站,称为“接力”。

卫星通信本质上也是一种微波通信方式,通常利用位于约36000km高空的人造同步地球卫星作为中继站完成接力通信。卫星通信频率范围宽,通信容量大,通信距离远,覆盖范围广(一颗同步地球卫星发射出的电磁波能覆盖全球约1/3的面积)。无线局域网技术和蓝牙技术则使用2.4GHz频带和5.8GHz
频段进行短距离通信传输,近年来得到了广泛的应用。

第六节计算机网络的连接设备 \color{green}{第六节计算机网络的连接设备} 第六节计算机网络的连接设备

作为计算机网络的基本组成部分,除了计算机和传输介质,还需要用网络连接设备将分散的传输介质和计算机连接起来。网卡、集线器、交换机和路由器等都是常见的计算机网络连接设备。
(识记:网卡的基本功能、网卡物理地址及特点、网卡的分类、无线局域网的标准及特点;集线器的基本功能、工作原理、层次及其特点;交换机的基本功能、工作原理、层次及其特点;路由器的基本功能、工作层次及特点。)

一、网卡

网络接口卡,又称网络适配器,也称作网卡,是网络中的一种连接设备,用来将计算机与有线或无线介质相连接,实现网络中数据收发的功能,同时网卡也负责将从网络中监听到的发送给本计算机的电信号转化为数据流,并送到本地计算机的数据总线上。

每一块网卡都有一个固定的全球唯一的物理地址,又称介质访问控制(MAC)地址,该地址是用来在网络中区分计算机的一个标识,也是网络上数据包最终能够到达目的地计算机所依赖的地址。
不同的局域网标准所规定的物理地址的格式和长度通常是不同的,如Ethernet以太网的物理地址长度为48bit,FDDI光纤分布式数据接口的物理地址长度为16bit或48bit,而AppleTalk网络的物理地址长度则为24bit。一般来说,网卡的物理地址在网卡出厂时就已经固化在网卡中,不能改变,并由网卡的生产厂商
来保证该物理地址的唯一性。

分类:
按照网卡与计算机的总线接口类型,网卡可以分为ISA网卡、EISA网卡、PCI网卡、PCI-E网卡、PCMCIA网卡、USB网卡等。其中,PCI网卡常用于台式个人计算机,网卡数据速率为10Mbit/s~1 Gbit/s,是目前市场上的主流网卡;PCI-E网卡则可支持高达1~8Gbit/s的高速网络应用,主要针对服务器设计,内部采
用了专用控制芯片,用于缓解网络通信对CPU的负载,价格较贵;PCMCIA网卡则用于便携式笔记本电脑上的网络应用。

按照采用的传输介质来分,网卡又可分为有线网卡和无线网卡。有线网卡需要提供一个网络接口与网线相连接。目前常见的网络接口有以太网的RJ-45接口和光纤接口。

无线网卡通过电磁波实现数据传输,主要的产品标准有802.11、802.11a、802.11b、802.11g和802.11n。其中,802.11是最早出现的无线局域网标准,使用2.45GHz频段,数据传输速率为1~2Mbitfs。802.11a使用5GHz频段,数据传输速率为54Mbit/s。由于采用了不同的无线频段,802.11a标准与802.11标准并不兼容。而802.11b/11g/11n则完全兼容802.11标准,使用2.45GHz频段,数据传输速率可达11 Mbit/s、54Mbit/s和108Mbit/s,统称为WiFi(Wireless Fidelity,无线保真)技术。目前,802.11n+标准的无线数据传输速率已高达600Mbit/s。

二、集线器

集线器又称HUB,是一种特殊的多端口中继器。
集线器与网卡、网线一样,属于局域网中的物理层设备,其主要功能是对接收到的信号进行再生、整形和放大,以扩大网络的传输距离,同时把所有节点集中到以它为中心的节点上。它通常作为一个中心连接点将多个网络节点连接起来,构成星形拓扑结构的网络。

集线器组网灵活,增加或减少主机只需要将网线接头插到或拔下RJ-45端口即可,因而是早期局域网组网中最经济实用的组网方式。

集线器通常有两类接口:用来连接各个网络节点的RJ-45端口和连接上一级网络设备的UP-LINK端口。向上的端口也可以是双绞线的RJ-45端口、也可以是光纤连接端口或者同轴电缆BNC端口。RJ-45端口则用于连接网络主机节点,通常有8端口、16端口、24端口等多种不同规格。

集线器采用广播方式转发数据包,每个时刻只能有一个节点传输数据,否则传输过程会出现数据信号的冲突而导致失败。因而,集线器中所有连接端口共享网络带宽,网络中的节点数越多,数据传输速率就会越低,目前已经较少使用。

三、交换机

交换机是一种能够在通信系统中根据目标地址完成信息交换功能的设备。
所谓交换,就是将数据或信息从一个端口转发到另一个端口,从而避免传统的广播技术所带来的数据冲突,提高网络通信能力。基于交换技术的局域网又称为交换式局域网。

由于在数据交换转发过程中需要对数据目标地址进行解析和处理,因而传统交换机属于局域网中数据链路层设备。交换机是交换式局域网的核心网络设备,其外形类似于集线器

交换机与集线器外形类似,但工作方式有着本质的区别:集线器采用“共享介质”的工作方式,所有端口“共享”网络带宽;交换机则采用交换技术,各个端口“独占”网络带宽。“共享”和“独占”带宽可以这样理解:对于一个100Mbit/s带宽的集线器和交换机,如果都连接了10台主机,则集线器构成的局域网中10个端口共享100Mbit/S带宽,也就是说每个端口平均速率只有10Mbit/s,即十台计算机“共享”100Mbit/s带宽,而交换机构成的局域网中每个端口的速率都是100Mbit/s,即每台计算机都“独占”了100Mbit/s带宽。

交换机的种类较多,不同交换机的性能差别很大。根据支持的速率,交换机可以分为100Mbit/s交换机、1000Mbit/S交换机(千兆交换机)、10Gbit/s交换机(万兆交换机)等。
根据工作层次的不同,交换机可以分为第二层交换机、第三层交换机等。传统的交换机工作在OSI参考模型的第二层——数据链路层上,主要功能包括了寻址、差错校验等。由于第二层交换机不能很好地解决子网划分和广播限制等问题,第三层交换机应运而生,它将工作在数据链路层的交换机和工作在网络层的路由器功能进行了有机结合,形成了一个灵活的解决方案,可以在不同层上提供数据传输。

四、路由器

路由器用于连接多个逻辑上分开的网络,其基本功能是根据数据报的目标IP地址,将数据报从一个网络转发到另一个网络。与集线器、交换机类似,路由器也是一种多端口设备,其端口数比集线器、交换机少得多。在运行机理上,集线器工作在物理层,交换机通常工作在数据链路层,而路由器则工作在网络层,具有判断网络地址和选择IP路径的功能,用于连接各种不同的局域网和广域网。

近年来,随着互联网应用的普及,各大电信运营商分别推出了各种宽带接入技术,成为家庭和许多小型公司单位接入Internet 的主要方式。为了使家庭用户、小企业用户共享一个账号接入互联网,出现了具有非对称数字用户环路(ADSL)、有线电缆、光纤等宽带接入功能的设备。为了区别传统路由器,通常将这些设备称作宽带路由器。宽带路由器本质上只是一种提供了代理上网功能的交换机,价格远低于传统路由器,一般具有一个广域网接口(WAN)和几
个局域网接口(LAN),通过网络地址转换技术(NAT,一种将内网IP地址转化为合法IP地址的技术)实现多用户的共享接入。

第七节计算机网络的常用服务 \color{green}{第七节 计算机网络的常用服务} 第七节计算机网络的常用服务

Internet的强大生命力,离不开功能实用、推陈出新的软件应用和服务。从Internet诞生至今出现过许多的网络服务,而万维网、电子邮件、文件传输、域名系统是当前Internet上应用最广泛的网络服务。
(领会:WWW服务的基本功能、URL的基本格式、常见的WWW服务端软件和客户端软件;电子邮件的基本功能和基本格式,POP3、SMTP、IMAP4协议的功能和作用;文件传输协议的基本功能、传输方式,“上传”和“下载”的概念,匿名FTP传输的用途、账号和密码登录方式;域名系统的概念和功能、层次
划分,顶级域的几种不同类别,域名命名的基本格式。)

一、万维网服务

万维网(World Wide Web,WWW),简称Web,由欧洲粒子物理研究室的蒂姆.伯纳斯.李(TimBerners-Lee)于1989年3月首次提出,1993年完全免费对外开放,是目前使用最为广泛地信息浏览服务。

万维网将全球信息资源通过关键字方式建立链接,使信息不仅可按线性方式搜索,而且可按交叉方式访问。万维网向用户提供了友好的信息查询接口,通过统一资源定位符(URL)定位和查找Internet上的数据信息资源。

URL是Internet上唯一确定信息资源位置的定位符,用于描述Internet上信息资源的位置。一个完整的URL包括了协议、主机域名或IP地址、路径名和资源文件名,其基本格式如下:
协议:∥/主机名/资源文件名
其中,协议用来指示资源类型,如万维网服务使用HTTP,文件传输协议使用FTP;主机名表示资源所在机器的域名或IP地址;资源文件名用于指示信息资源在服务器的具体位置,包括路径和文件名。

例如:http://www.upc.edu/new_sec/xxj.html该例中,“http”表示WWW服务所使用的传输协议,“www.upc.edu”则是中国石油大学(华东)WWW服务器的域名,“new_sec/xxjj.html”表示该信息资源“xxjj.html"存放在该服务器的”/new_sec"文件夹下。需要特别指出的是,URL中服务协议和主机名一般是不能省略的,而路径名和资源文件名则可以根据默认设置而进行省略如"ftp://ftp.microsoft"表示了使用FTP的ftp.microsoft。

通过统一资源定位符,用户只需要提出查询要求,即可利用万维网检索Internet上几乎所有的信息资源,包括文本、图像、声音、动画乃至视频等链接信息,称之为“超文本”(HyperText)。万维网服务正是使用超文本传输协议(HTTP),基于客户机/服务器(C/S)方式,为用户提供超文本信息查询服务。

客户机/服务器方式,是Internet上应用服务的经典工作模式。提供服务的一方称为服务器(Server),而访问该服务的另一方称为客户机(Client)。常见的万维网、电子邮件、文件传输、域名系统等Internet服务都基于该方式工作。

通常,客户机需要安装和运行相应的客户端软件,如浏览器、股票交易端软件、手机聊天软件等,而服务器则需要运行提供所需服务的服务器软件,如万维网服务器软件、股票交易服务器软件、即时通信服务器软件等。

由于服务器必须要时刻准备接收客户端的请求并提供所需要的服务,因此,作为服务器的计算机及其服务器程序必须始终处于运行状态。一旦服务器崩溃或者暂停运行,客户机就将无法访问到正常的结果。

二、电子邮件

电子邮件是一种通过计算机网络与其他用户进行邮件消息联系的现代化通信手段。由于具有成本低、速度快、可靠性高、可达范围广、内容形式多样等优点,成为目前使用最广泛的Internet应用服务之一。

电子邮件地址基本格式如下:Username@Hostname其中,Username表示用户名,即邮箱名;Hostname表示邮箱所在的主机名或主机域名。整体上电子邮件地址表示了名称为Username的用户在域名为Hostname的邮件服务器上的一
个邮箱。
例:network@126
它表示了在域名为“126”的邮件服务器上开设的账户为"network”的邮箱地址。

电子邮件服务器的功能包括发件服务器和收件服务器两部分,分别由SMTP通信协议(发信)和POP3或IMAP4通信协议(收信)实现。

1.SMTP

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制邮件的中转方式。它帮助每台计算机在发送或中转邮件时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把E-mail寄到收信人的服务器上了。

2.POP3

POP3(Post Office Protocol 3)即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议,是因特网电子邮件的第一个离线协议标准。POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务
器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件。

3.IMAP4

Internet消息访问协议的第4个版本,也是一种邮件接收协议,与POP3的区别是:POP3在接收邮件时,一次性将邮件所有内容下载到客户端计算机上,而IMAP4则将邮件保留在服务器上,检查邮件时只将邮件头文件下载到客户端计算机,因而可以实现在线接收邮件和阅读。

三、文件传输协议

文件传输协议(File Transfer Protocol,FTP)是Internet上应用最广泛的通信协议,它是由支持Internet文件传输的各种规则所组成的集合,这些规则使Internet用户可以把文件从一个主机复制到另一个主机上,从而实现网络上两台计算机之间的文件传输。

文件传输协议可以传送几乎所有类型的文件,包括文本文件、图形文件、声音文件、视频文件、压缩文件等。在文件传输时,FTP提供了两种文件传输方式:ASCII文本传输方式和Binary二进制传输方式。ASCI传输方式用于传送ASCII字符文件,如扩展名为“txt”和“htm”以及各类源程序代码文件;Binary传输
方式则用于传送除了ASCII字符文件之外的其他类型文件,如声音、视频、可执行文件等。

FTP文件传输协议按照客户/服务器模式工作,包括FTP服务器和FTP客户端两部分。
当进行文件传输时,首先由运行在本地主机上的FTP客户程序提出文件传输请求。随后,运行在远程计算机上的FTP服务器程序响应FTP客户程序请求,完成指定文件的传输。把文件从远程服务器传输到本地计算机的过程,称为“下载”;反之,把文件从本地计算机传输到远程服务器的过程,为“上传”。

通常,要访问某个FTP服务器,必须首先向该服务器的系统管理员申请开设账户,并由FTP服务器管理员根据需要为不同账户提供不同的文件存取权限,如上传、下载,目录查看等。然而,FTP服务的资源文件,如驱动程序、软件补丁等,也常常面向公众用户共享和开放,为了能够面向公众提供文件下载
服务,FTP服务提供了一个默认的、公开的用户名和密码供公众下载使用,称之为匿名FTP。

匿名FTP服务使用"anonymous”作为用户名,密码为空或者输入任意的电子邮件地址。出于安全的目的,大部分匿名FTP主机一般只允许远程用户下载文件而不允许上传。另外,匿名FTP服务器还采用了其他一些安全措施来保护自己的文件不至于被用户修改和删除,并防止计算机病毒的侵入。

四、域名系统

域名系统是Internet上的命名系统,用于将便于人们记忆和使用的主机名字转换为所对应的IP地址。
对于Internet用户而言,尽管点分十进制形式的IP地址相比二进制形式读起来方便的多,但仍然是难以记忆和理解的。为了便于用户记忆各种网络应用,TCP/IP提供了一种字符型主机命名机制——域名。

Internet上的域名采用了层次结构的命名方法,任何一个连接在Internet上的主机或路由器,都有一个层次结构的名字,即域名。这里的“域”是名字空间中的一个可被管理的划分,域还可以划分为子域,子域也可以进一步划分为子域的子域。这样,就形成了顶级域、二级域、三级域等。

Internet的DNS域名空间中,域是其层次结构的基本单位,任何一个域最多只能有一个上级域,但可以有多个或没有下级域。在同一个域下不能有相同的域名或主机名,但在不同的域中则可以有相同的域名或主机名。DNS域名的最顶层为根域,它没有上级域,以句点".”来表示。Internet的根域只有一个,位于美国并由ICANN(互联网名称与数字地址分配机构)管理维护。根域之下的第一级域便是顶级域,它以根域为上级域,其域名在Internet上是标准化的,数目有限且不能轻易变动。

顶级域主要分为三大类:
1)国家顶级域名,如“uk”表示英国,“au”表示澳大利亚等。戳至2015年7月,国家顶级域名总共有301个,其中包括了一些使用一个国家自己的文字表示的国家顶级域名,如“cn”“中国”“、中國”都是中国的顶级域名。

2)通用顶级域名,如“com”表示公司企业,"“org”表示非营利组织,“edu”表示教育机构,"gov”表示政府部门,“mi表示军事部门,“int”表示国际组织等。

3)反向域名,这种顶级域名只有一个,即"arpa”,用于反向域名解析,也就是使用IP地址来查找该IP地址对应的域名信息。

Internet域名中,各级域之间都是以句点”.”分开,顶级域位于最右边。在分级结构的域名系统中、每个域都对分配在其下的子域拥有控制权,负责登记和管理自己的子域。

例如:中国石油大学希望申请域名为“upc.edu”,则需要向"edu”
的管理机构进行申请。
通常,一个完整而通用的域名格式可以表示如下:
主机名.本地名.通用顶级域名
或:主机名.本地名.二级域名.国家顶级域名
如:news.sohu表示了国际通用顶级域名com下sohu
企业中的一个名称为news的服务器;www.upc.edu表示国家顶级域名cn下教育机构edu中upc学校中的一个服务器。

本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾

1.计算机网络的定义、分类;
2.计算机网络的拓扑结构;
3.OSI参考模型及其层次功能;
4.TCP/IP模型;
5.常用网络连接设备的功能对比。

第五章:信息系统安全 \color{blue}{第五章:信息系统安全} 第五章:信息系统安全

本章重难点

本章一般会出选择题、填空题、名词解释题、简答题。

本章的重难点和常考知识点

1.信息系统安全的概念、基本要素
2.信息系统安全评价准则与等级保护
3.计算机病毒的基本特征
4.蠕虫与计算机病毒的区别
5.黑客攻击的基本步骤与攻击手段
6.常用系统防御手段的概念、功能及局限性

第一节信息系统安全概述 \color{green}{第一节信息系统安全概述} 第一节信息系统安全概述

信息系统安全可谓概念繁多,如信息安全、网络安全、系统安全、物理安全、计算机安全等。
(识记:信息系统安全的概念、范畴、系统安全的五个基本要素;信息系统安全技术发展的五个阶段。)
(领会:国内外信息系统安全评价准则与等级保护的标准、美国可信计算机系统评价准则的安全等级划分及含义、我国计算机信息系统安全保护等级划分准则的安全等级划分及含义。)

一、信息系统安全的概念

通常可以把信息系统安全定义如下:
信息系统安全指信息系统的硬件、软件及其系统中的数据受到保护,不因偶然者恶意的原因而遭到占用、破坏、更改、泄露,系统连续、可靠、正常的运行,信息服务不中断。

从安全作用范畴上划分,信息系统安全包括了物理安全、系统安全和信息安全三方面的内容。

(1)物理安全

指保护计算机设备、设施以及其他媒介免遭地震、水灾、火灾、有害气体和其他环境事故破坏的措施和过程,特别是避免由于电磁泄露产生信息泄露,从而干扰他人或受他人干扰。

(2)系统安全

是为了保障系统功能而进行的保护信息处理过程安全的措施和过程。系统安全侧重于保证系统正常运行,避免因为系统的崩溃和损坏而对系统存贮、处理和传输的信息造成破坏和损失。

(3)信息安全

信息安全是保护所处理信息的机密性与完整性、可控性、不可否认性等。

信息系统安全包含了五个基本要素,分别是机密性、完整性、可用性、可控性和不可否认性。
1)机密性,指防止信息泄露给非授权个人或实体,信息只为授权用户使用的特性,即信息内容不会被未授权的第三方所知。
2)完整性,指信息未经授权不能进行改变的特性,即信息在存储或传输过程中保持不被偶然或蓄意地删除、修改、伪造、序、重放、插入等破坏和丢失。

3)可用性,指信息可被授权实体访问并按需求使用的特性,即信息服务在需要时,允许授权用户或实体使用,或者网络部分受损或需要降级使用时,仍能为授权用户提供有效服务。
4)可控性,指对信息的传播及内容的访问具有控制能力的特性,可以控制授权范围内的信息流向及行为方式,控制用户的访问权限,同时结合内容审计机制,对出现的信息安全问题提供调查的依据和手段。

5)不可否认性,指在信息系统的交互中,确信参与者的真实性,即所有参与者都不能否认或抵赖曾经完成的操作和承诺。

二、信息系统安全的发展

纵观信息安全技术的发展过程,可将信息系统安全划分为以下几个阶段。

第一阶段:通信保密阶段(20世纪40年代)。

标志性事件是1949年克劳德·埃尔伍德·香农发表《保密通信的信息理论》,从而将密码学研究纳入科学轨道。这个阶段,人们关心的只是通信安全,重点是通过密码技术解决通信保密问题,保证数据的保密性和可靠性,主要安全威胁是搭线窃听和密码分析,主要的防护措施是数据加密。

第二阶段:计算机系统安全阶段(20世纪70年代)。

标志性事件是1970年美国国防部提出《可信计算机系统评价准则》(TCSEC)和1977年美国国家安全局公布国家数据加密标准(DES)。该阶段人们关注如何确保计算机系统中的硬件、软件及信息的机密性、完整性及可用性,主要的安全威胁扩展到非法访问、恶意代码、脆弱口令等,主要保护措施是安全操作系统设计技术。

第三阶段:网络信息安全阶段(20世纪80年代)。

该阶段的标志性事件是1987年美国国家计算机安全中心发布TCSEC的可信网络说明和1988年11月发生的“莫里斯蠕虫事件”。该阶段重点保护信息,强调信息的保密性、完整性、可控性、可用性和不可否认性,确保合法用户的服务和限制非授权用户的服务,以及必要的防御攻击措施。主要安全威胁有网络入侵、病毒破坏和信息对抗,主要防护措施包括防火墙、漏洞扫描、入侵检测、PKI公钥基础设施、VPN虚拟专用网等。

第四阶段:信息安全保障阶段(20世纪90年代末)。

标志性事件是1998年美国提出信息保障技术框架。该阶段人们认识到信息系统安全是对整个信息和信息系统进行保护的动态过程,因此将信息安全保障分为检测、响应、恢复、保护等几个环节,更强调信息系统整个生命周期的防御。

第五阶段:泛网安全保障阶段(21世纪初)。

该阶段,移动计算、普适计算、传感网、物联网的出现使得随时随地、无处不在的计算成为可能,安全威胁扩展到智能家电、智能手机、平板电脑、智能芯片、RFID电子标签、传感器、无线接入等方方面面,威胁变得无处不在。信息系统安全由过去专注于计算机、网络,扩展到了由所有智能设备构成的泛在网络。

三、信息系统安全评价准则与等级保护

1.可信计算机系统评价准则

TCSEC可信计简机系统评价准则是1970年由美国国防部提出并于1985年公布,是计算机系统安全评估的第一个正式标准,具有划时代的意义。TCSEC最初只是军用标准,后来延至民用领域。它将计算机系统的安全划分为4个等级、7个级别,依据安全性从低到高依次为D、C1、C2、B1、B2、B3和A1级,对用户登录、授权管理、访问控制、审计跟踪、隐蔽通道分析、可信通道建立、安全检测、生命周期保障等内容提出了规范性要求。

(1)D级(最低安全保护级)

该级不设置任何安全保护措施,也就是说任何人都可以占用修改系统数据和资源。MS-DOS、Windows95/Windows 98等操作系统均属于该级。

(2)C1级(自主安全保护级)

要求硬件有一定的安全级,用户必须通过登录认证方可使用系统,建立了访问许可权限机制,但仍不能控制已登录用户的访问级别。早期的UNIX、Xenix、NetWare3.0等系统属于该级别。

(3)C2级(受控存取保护级)

在C1级基础上增加了几个新特性,引进了受控访问环境,进一步限制了用户执行某些系统指令,采用了系统设计,跟踪记录所有安全事件及系统管理员工作等。目前常用的Windows XP、Win7/Win8、UNIX、Linux都属于该级,该级是保证敏感信息安全的最低级。

(4)B1级(标记安全保护级)

对网络上每个对象都实施保护,支持多级安全,对网络、应用程序工作站实施不同的安全策略,对象必须在访问控制之下,不允许拥有者自己改变所属资源的权限。例如,一个绝密系统中的文档不能允许文档拥有者共享发布给其他用户,即使该用户是文档的创建者。B1级是支持秘密、绝密信息保护的第一个级别,主要用于政府机构、军队等系统应用。

(5)B2级(结构化保护级)

要求系统中的所有对象都加标记并给各设备分配安全级别。
例如,允许用户访问一台工作站,却不允许该用户访问含有特定资料的磁盘存储系统。

(6)B3级(安全区域级)

要求工作站或终端通过可信任的途径连接到网络系统内部的主机上;采用硬件来保护系统的数据存储器;根据最小特权原则,增加了系统安全员,将系统管理员、系统操作员和系统安全员的职责分离。

(7)A1级(验证设计级)

计算机安全等级中最高的一级,包括了其他级别所有的安全措施,增加了严洛的设计、控制和形式化验证过程。设计必须是从数学角度经过验证的,且必须进行隐蔽通道和可信任分析。

2.信息技术安全评价通用准则

信息技术安全评价通用准则,简称CC准则是由美国、加拿大、英国、法国、德国、荷兰六国于1996年联合提出的信息技术安全评价准则,现已成为ISO国际标准。
CC标准定义了评价信息技术产品和系统安全性的基本准则,提出了目前国际上公认的表述信息技术安全性的结构,即把安全要求分为规范产品和系统安全行为的功能要求,以及解决如何正确有效地实施这些功能的保证要求。

3.计算机信息系统安全保护等级划分准则

计算机信息系统安全保护等级划分准则是我国于1999年公布的国家标准。该标准将信息系统安全划分为5个安全等级,分别是自主保护级、系统审计保护级、安全标记保护级、结构化保护级和访问验证保护级,安全保护能力随着安全保护等级逐渐增强。

(1)自主保护级

由用户决定如何对资源进行保护以及采用何种方式进行保护。其安全保护机制使用户具备自主安全保护的能力,保护用户的信息免受非法读写破坏。

(2)系统审计保护级

支持用户具有更强的自主保护能力,特别是具有审计能力,即能够创建、维护受保护对象的访问审计跟踪记录,记录与系统安全相关事件发的日期、时间、用户和事件类型等信息,所有安全相关的操作都能够被记录下来,以便发生安全问题时可以根据审计记录分析和追查事故责任人。

(3)安全标记保护级

具有第二级系统的所有功能,并对访问者及其访问对象实施强制访问控制。通过对访问者和访问对象指定不同的安全标记,限制访问者的权限。

(4)结构化保护级

将前三级的安全保护能力扩展到所有访问者和访问对象,支持形式化的安全保护策略,具有相当的抗渗透能力。本级的安全保护机制能够使信息系统实施一种系统化的安全保护。在继承前面安全级别功能的基础上,将安全保护机制划分为关键和非关键部分,直接控制访问者对访问对象的存取,从而加强系统的抗渗透能力。

(5)访问验证保护级

具备前四级的所有安全功能,还具有仲裁访问者能否访问某些对象的能力。为此,本级的安全保护机制是不能被攻击、被篡改的,具有极强的抗渗透能力。

第二节系统攻击技术 \color{green}{第二节 系统攻击技术} 第二节系统攻击技术

一、计算机病毒

计算机病毒是一种程序代码,它不仅能够破坏计算机系统,而且还能隐藏在正常程序中,将自身传播、感染到其他程序。是一些人利用计算机系统软件、硬件所固有的脆弱性,编制的具有特殊功能的程序。
1994年颁布实施的《中华人民共和国计算机信息系统安全保护条例》中对病毒明确定义如下:计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。

计算机病毒的出现经历了从概念、雏形,到逐步发展成熟的过程。
1949年,计算机之父冯·诺依曼在第一部商用计算机出现之前,在论文《复杂自动装置的理论及组织的进行》中勾勒出了病毒的概念。
1959年,美国电话电报公司AT&T的贝尔实验室中,三个年轻人道格拉斯·麦基尔罗伊、维克多·维索特斯克以及罗伯特·莫里斯在工作之余编写了能够杀死他人程序的程序,称为“磁芯大战”。

1983年11月,美国南加州大学生弗雷德·科恩在UNIX下编写出会引起系统死机的程序。
1985年3月,《科学美国人》专栏作家杜特尼在讨论磁芯大战时开始首次将该程序称为“病毒”。
1987年,巴基斯坦兄弟巴斯特和阿姆捷特为了防止自己的软件被盗版,编写了后来被公认为世界上第一个具备完整特征的计算机病毒C-Brain(脑病毒,又称巴基斯坦病毒),发作后将吃掉盗版者磁盘空间。

1987年后,形形色色的计算机病毒被发现,如大麻、圣诞树、黑色星期五、CIH等。
目前,全球计算机病毒数量以亿计,并且仍在以几何级数高速增长,病毒防范刻不容缓。

计算机病毒具有以下几个基本特征:
(1)传染性

是指计算机病毒具有把自身代码复制到其他程序中的特性,是计算机病毒最重要的特征,也是判断一段程序代码是否为计算机病毒的重要依据。

(2)隐蔽性

为了防止用户察觉,计算机病毒会想方设法隐藏自身。通常隐藏在磁盘引导扇区或正常程序代码之中,或以隐藏文件形式出现。

(3)潜伏性

计算机病毒在感染系统之后一般并不会立刻发作,而是长期潜伏在系统中,只有满足特定条件时才启动其破坏模块而爆发。

(4)破坏性

计算机中毒后,都会对系统及应用程序产生不同程度的影响,轻者会降低计算机工作效率,占用系统资源,重者可导致系统崩溃和瘫痪。

分类:按照计算机病毒的危害划分:
(1)良性病毒

指那些只是为了表现自身、恶作剧,并不破坏系统和数据,但会占用系统的CPU时间和系统开销的一类计算机病毒。如小球病毒、Yankee病毒、Norun恶作剧病毒、干年老妖病毒、白雪公主病毒等。

(2)恶性病毒

指那些一旦发作,就会破坏系统或数据,造成计算机系统瘫痪的计算机病毒。该类病毒危害很大,甚至会给用户造成不可逆转的损失。如CIH病毒、U盘病毒、黑色星期五病毒等。

按照计算机病毒的宿主类型划分:
(1)引导区型病毒

该病毒侵染软盘或U盘的引导区,蔓延到用户硬盘,并能侵染到用户硬盘中的“主引导记录”。通过修改系统引导记录,在系统开机启动时即运行并驻留内存,从而入侵主机系统,监控系统运行。

(2)文件型病毒

通常它感染各种可执行文件(如“”文件和“.exe”文件)、可解释执行脚本文件(*.vbs)、宏代码文件等。在用户运行染毒的可执行文件或脚本代码时,文件型病毒首先被执行,驻留内存,并伺机把病毒代码自身复制到其他文件中。

(3)混合型病毒

具有引导区型病毒和文件型病毒两者的特征,既传染引导区、又传染文件,从而扩大了病毒的传染途径。

二、蠕虫

蠕虫是一种能够利用系统漏洞通过网络进行自我传播的恶意程序。蠕虫是独立存在的程序,不需要寄宿或者附着在其他程序上。

1988年11月,美国康乃尔大学学生罗伯特·莫里斯利用UNIX系统上的电子邮件程序Sendmail的漏洞,编写了世界上第一个蠕虫——莫里斯蠕虫,并在一夜之间在Internet网络上蔓延,造成全球10%的Internet主机被感染,直接经济损失9600万美元。美国国防部特此成立了计算机应急响应小组以应付类似蠕虫事件。

2000年以后,红色代码、尼姆达、SQL蠕虫、冲击波、震荡波、魔波、谜波、高波、扫荡波、狙击波、熊猫烧香等各种蠕虫接踵而至,严重影响了Internet用户正常的工作、学习和生活。

类似病毒,蠕虫也具有传播性、隐蔽性、破坏性等特征,因
此也常被称为蠕虫病毒。但严格地讲,

蠕虫并不是病毒,二者之间存在着以下不同:
1)存在形式方面

计算机病毒需要寄存在宿主文件中,而蠕虫是一个独立计算机程序,无须宿主文件。

2)传染机制方面

计算机病毒依靠宿主程序运行而传播而蠕虫则依靠系统漏洞主动攻击,自主传播。

3)传染目标方面

计算机病毒传染本地计算机上的各种文件,而蠕虫则传染网络上存在漏洞的主机。

4)防治手段方面

计算机病毒防治的关键是将病毒代码从宿主文件中摘除,而蠕虫防治的关键则是为系统打补丁或者有效设置黑客防火墙。

三、木马

特洛伊木马,简称木马,是一种计算机程序,它能提供一些有用的或者令人感兴趣的功能,但同时还具有用户不知道的其他功能,例如在用户不知晓的情况下复制文件或窃取密码,当该程序被调用或激活时将执行一些有害功能。

木马通常工作在客户/服务器模式,有两个可执行的程序:一个是客户机,即控制端;另一个是服务器,即被控制端。植入病毒的计算机是“服务器”,而黑客利用“控制端”进入“服务器”的计算机。运行木马程序的“服务器”以后,植入病毒的计算机就会有一个或几个端口被打开,黑客可以利用这些打开的端口进入计算机系统,从而盗取用户的个人隐私。

木马的分类方式很多。按照木马使用的协议分类,可以分为TCP木马、UDP木马和ICMP木马;
按照木马攻击的方法分类,可以分为远程访问控制木马、密码发送型木马、键盘记录型木马和毁坏型木马;
按照木马攻击的目标分类,可以分为网游木马、网银木马、即时通信木马、广告木马和后门木马等;
按照木马是否需要宿主文件,可以分为大马和小马。

四、黑客攻击

黑客最初是一个褒义词,指热心于计算机技术、水平高超、崇尚自由精神的计算机专家,后来逐步演化为专门入侵他人系统进行不法行为的计算机高手。黑客攻击是信息系统安全面临的又一个重要威胁。

1.黑客攻击的一般步骤
(1)踩点

主要是获取对方的IP地址、域名服务器、管理员信息、公司信息、服务器操作系统、服务器软件版本等。信息的收集可以利用网络命令如telnet、net、ping等或者扫描工具Portscan、Nmap等,也可以通过诱骗对方用户并植入木马、嗅探或者暴力口令破解等实现。

(2)查找、发现漏洞并实施攻击

根据信息收集获得的信息,有针对性地查找目标系统可能存在的漏洞、并利用这些漏洞实施攻击。

(3)获取目标主机最高控制权

入侵系统获取权限,并进一步提升权限,寻找机密数据,或者以此为跳板,继续攻击其他主机。

(4)消除踪迹,留下后门供日后使用

消除入侵系统过程中产生的相关日志,尽力避免留下入侵踪迹,在目标系统、上植入木马,留下后门,供日后使用。

2.黑客攻击的常用手段
(1)信息收集

通过telnet、ping、tracert、net、nslookup等工具或Whois服务、Google/Baidu文档搜索等,收集目标系统的端口开放、操作系统、软件版本、管理员信息等。

(2)扫描攻击

利用扫描工具软件自动检测远程或本地主机上的漏洞或者开放端口,从而获得目标系统的端口、可用漏洞等信息。

(3)口令攻击

通过绕过或破解口令,使口令保护失败,如字典攻击、绕过口令攻击等。

(4)网络窃听

利用计算机的网络接口捕获网络上的传输目标地址为其他计算机的数据报文,并进行报文分析和数据还原。

(5)拒绝服务

利用系统或者协议存在的漏洞,仿冒合法用户向目标主机发起大量服务请求,致使目标网络或主机拥塞、瘫痪甚至死机,无法提供正常服务。

(6)社会工程攻击

利用对受害人的心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等危害手段,取得自身利益的方法。

第三节系统防御手段 \color{green}{第三节 系统防御手段} 第三节系统防御手段

系统防御手段的出现和发展,存在着一条明显的主线,从最初不惜一切代价御敌于城门之外(防火墙),到城门可能有疏漏而在全城严密监控(入侵检测),再到监控也会疏漏而需要在存在入侵情况下保障正常服务和功能(入侵容忍),最后开始采用虚假目标诱骗攻击者(蜜罐技术)。

一、防火墙

原本是当房屋还处于木质结构时.,人们用石块在房屋周围堆砌起一堵墙,用来防止火灾发生时蔓延到别的房屋,这样的一种墙被称之为防火墙。
而在Internet上,防火墙就是设置在信任程度不同的网络之间的访问控制系统,用于拒绝除了明确允许通过之外的所有通信数据,以保护内部网络的安全。防火墙是信息系统安全的第一道防线。

防火墙从诞生开始,大致经历了五代的技术发展:
(1)第一代防火墙

1983年,第一代防火墙技术出现,它几乎是与路由器同时问世的,采用了包过滤技术,称为简单包过滤防火墙。

(2)第二代防火墙

1989年,贝尔实验室推出了第二代防火墙的初步结构,即应用型防火墙,它可以检查所有应用层的数据包,从而提供身份认证、日志记录等功能,提高网络的安全性。

(3)第三代防火墙

1992年,南加州大学信息科学院开发出了基于动态包过滤技术的第三代防火墙,后来演变为目前所说的状态检测防火墙技术。1994年,以色列的CheckPoint公司开发出第一个采用这种状态检测技术的商业化产品。

(4)第四代防火墙

1997年,具有安全操作系统的防火墙产品问世,这种防火墙本身就是一个操作系统,因而在安全性能上较之前的防火墙都有了质的提高。

(5)第五代防火墙

1998年,美国的网络联盟公司NAI推出了一种自适应代理防火墙技术,并在其产品Gaunlet Firewallfor NT中得以实现,给代理服务器防火墙赋予了全新的意义,称之为第五代防火墙。


另外,防火墙既可以是软件,如CheckPoint公司的Firewalls-1系列防火墙、金山卫士等,也可以是硬件,如思科公司的PIX系列防火墙等。通常,软件防火墙价格便宜,但防范效率低,多适合于单机部署和应用,硬件防火墙采用了专门设备,效率高,价格贵,适合于保护整个网络。

同时,防火墙存在着诸多不足和局限,如防火墙不能防范内部人员的攻击;防火墙不能防范绕过它的攻击和威胁;防火墙不能防范未知的攻击和威胁等。

二、入侵检测系统

入侵检测系统是一种通过计算机网络或信息系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反完全策略的行为和被攻击的迹象,从而实现安全防护的技术手段。换句话说,入侵检测系统就是用来监视和检测入侵事件的系统,是信息系统安全的第二道防线。

1980年,詹姆斯·安德森在技术报告《计算机安全威胁监控与监视》中首次提出入侵检测的思想;
1986年,多萝西·丹宁首次将入侵检测作为一种计算机系统的安全防御措施,提出了一个经典的入侵检测系统模型;
近年来,入侵检测系统的研究进入到高速发展阶段,在智能化、分布式等方面取得了长足进展。

功能:入侵检测系统是对防火墙的有效补充,提高了信息安全基础结构的完整性。入侵检测系统可通过向管理员发出入侵或入侵企图来加强防火墙控制,识别防火墙通常不能识别的攻击,在发现入侵企图后提供必要的信息,提示网络管理员有效地监视、审计并处理系统的安全事件。

分类:入侵检测技术可以分为两类:
(1)误用检测

假设所有入侵行为都可以表达为一种模式或特征,因而可以通过入侵行为的特征库,采用特征匹配的方法来确定入侵事件。优点是检测结果的误报率低、速度快,但通常不能发现攻击特征库中没有事先指定的攻击行为,所以无法检测
未知的攻击和威胁。目前,大部分的入侵检测系统都使用误用检测技术。

(2)异常检测

假设入侵者活动异常于正常主体的活动,根据这一理念建立主体正常活动的特征,将当前主体的行为状况与正常特征相比较。当违反其统计规律时,认为该活动可能是“入侵”行为。异常检测技术的关键是异常阈值与正常特征的选
取,其优点是能够发现和识别未知的入侵行为,不足是容易产生误报。

由于入侵检测系统较好地弥补了防火墙在防范内部攻击方面的不足,因而防火墙+入侵检测系统成为近年来常见的防御组合模式。然而,

入侵检测系统同样存在着以下几点不足:

1)入侵检测系统存在大量误报、漏报,虚警率高。
2)入侵检测系统对IPSEC、VPN等加密流难以有效监控,
不适应高速网络需求。
3)入侵检测系统通常需要人工干预,缺乏准确定位和处理
机制。

三、入侵容忍系统

入侵容忍是指系统在遭受一定入侵或攻击的情况下仍然能够提供所希望的服务。
入侵容忍技术的容错和容侵能力使得构建安全、可生存的入侵检测系统成为可能。入侵容忍是在入侵已经存在或者发生的情况下,保证系统关键功能的安全性和健壮性,从而提供必要的系统服务。入侵容忍系统并非一味地容忍,而是根据自身收益选择容忍或响应,是信息系统安全的最后一道防线。

入侵容忍系统所使用的容忍技术措施
(1)冗余技术

冗余是硬件/软件错误容忍和分布式系统中的技术,原理:当一个组件失败时,其他冗余组件可以执行失败组件的功能直到该组件被修复。

(2)多样性技术

通过异构、多样等手段确保所有具有相同功能的复制组件不能具有同一漏洞,以提高系统容忍入侵的能力。

(3)门限方案技术

为攻击者设置一个门槛,当受到的攻击低于门槛时,系统可以容忍恶意攻击行为而保持系统的可用性。

四、蜜罐技术

蜜罐又称诱骗技术或网络陷阱,它通过模拟一个或多个易受攻击的目标系统,黑客提供一个包含漏洞并容易被攻破的系统作为他们的攻击目标,从而以虚假目标,吸引敌手攻击,并记录入侵过程,学习和了解黑客攻击的目的、手段和造成的后果。

分类:

根据蜜罐和黑客的交互层次的高低,蜜罐技术可以分为低交互蜜罐、中交互蜜罐和高交互蜜罐。

(1)低交互蜜罐

交互层次较低,只是模拟一些端口来提供某种虚假服务,如FTP服务、SMTP服务等。通常是一种虚拟蜜罐,攻击者并未与真实的操作系统进行交互,大大减少了系统风险,但收集的信息也是有限的。

(2)中交互蜜罐

交互程度加深,模拟了操作系统更多的服务,使蜜罐看起来更加真实、对攻击者来说更像是一个真实的系统,蜜罐和攻击者之间提供了更多的交互信息。

(3)高交互蜜罐

就是一个真实的系统,交互程度最高,也是最为复杂的系统。把真实系统作为诱骗目标暴露给攻击者,所以能够收集攻击者全部的信息。

根据产品的应用目的不同
(1)研究型蜜罐

主要是网络安全研究机构或人员为了学习攻击者的目的、手段等信息设计的,用来监视和学习攻击者的行为,从而保护系统的安全性。

(2)产品型蜜罐

一般应用于企业等商业组织中,可以检测商业组织网络中存在的威胁,只有检测到可疑行为才会做出诱骗并对攻击者做出针对性的响应,降低企业网络的安全风险。

蜜罐技术是一种主动网络防御技术,具有误报率、漏报率低的突出优点。然而,传统蜜罐是一种静态、固定不动的陷阱网络,当入侵者未闯入蜜罐系统或者入侵者意识到蜜罐系统存在的时候,它将无法发挥作用。
近年来,研究人员提出了各种蜜罐技术的改进,如动态蜜罐、阵列蜜罐、拟态蜜罐等,一定程度上解决了传统蜜罐技术的不足,使网络攻防构成了深度的诱骗博弈。

本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾

1.信息系统安全的概念、基本要素;
2.信息系统安全评价准则与等级保护;
3.计算机病毒的基本特征;
4.蠕虫与计算机病毒的区别;
5.黑客攻击的基本步骤与攻击手段;
6.常用系统防御手段的概念、功能及局限性。

第六章:多媒体技术 \color{blue}{第六章:多媒体技术} 第六章:多媒体技术

本章重难点

本章一般会出名词解释题、简答题、综合题。

本章的重难点和常考知识点

多媒体、多媒体技术的定义
声音、图像和视频的数字化过程(简单应用)
动画与视频的区别
声音、图像、视频和动画的多种格式及适用范围
平面图像处理软件Photoshop CS6的使用(综合应用)

第一节多媒体技术概述 \color{green}{第一节多媒体技术概述} 第一节多媒体技术概述

随着计算机软件、硬件技术以及人们需求的不断发展,计算机的处理能力以及应用领域不断拓展,促进了多媒体技术的发展完善。计算机的媒体形式由最初的单一媒体文字发展为目前的文字、声音、图像、动画等多种媒体的形式。

一、多媒体技术的基本概念

1.媒体

又称媒介,是信息表示、传递和存储的载体。在计算机领域,媒体主要有两种含义:
一是指承载信息的实体,例如磁盘、磁带、光盘、扬声器等;
二是指承载信息的表示形式,例如声音、图像、图形、文字等。

根据国际电信联盟电信标准部推出的ITU-TI.374建议的定义,可以将媒体划分为如下五类:

(1)感觉媒体

指直接作用于人的感觉器官,使人产生直接感觉的媒体。如文字、声音、图形、图像等。多媒体技术中的媒体一般指的是感觉媒体。

(2)表示媒体

表示媒体指的是为了传输感觉媒体而人为研究出来的媒体,借助于此种媒体,能有效地存储感觉媒体或将感觉媒体从一个地方传送到另一个地方。如语言编码、电报码、条形码等。

(3)表现媒体

表现媒体指的是用于通信中使电信号和感觉媒体之间产生转换用的媒体,如输入、输出设备,如键盘、鼠标、扫描仪、话筒、摄像机等为输入媒体;显示器、打印机、喇叭等为输出媒体。

(4)存储媒体(Storage Medium)

指用于存储表示媒体的物理介质。如硬盘、软盘、磁盘、光盘、ROM及RAM等。

(5)传输媒体(Transmission Medium)

指传输某种媒体的物理介质。如双绞线、同轴电缆和光缆等。

2.多媒体

“多媒体”最早出现于20世纪80年代。
多媒体不是多个媒体的简单复合,而是多种媒体的交互、互动、融合,从而为人们提供各种需求的视听效果。

3.多媒体技术

多媒体技术是使用计算机综合处理文本、图形、图像、声音、动画、视频等多种不同类型媒体信息的技术。

多媒体技术主要有以下四个特性:

(1)同步性

主要指多媒体业务终端上显示的图像、声音和文字等是以同步的方式工作的。

(2)集成性

指将各种媒体有机地组织在一起,共同表达一个完整的多媒体信息,使图像、声音、文字等一体化。例如,将一个声音文件和一个视频文件进行同步编辑处理,以便声音和视频协调同步呈现。

(3)交互性

交互性是指用户与计算机之间进行数据交换媒体交换和控制权交换的一种特性。交互性是多媒体技术的关键特性,是根据需求实现的。例如网上音频点播,用户可以下载自己喜欢的歌曲,或者在线播放,也可以进行播放控制等。
交互的主要方式是利用鼠标、键盘或触摸屏等输入设备对显示器提供的信息进行选择,还可以通过语音输入、网络通信控制等方式进行交互。

(4)实时性

指用户提出操作命令时,能够得到快速响应。与时间相关的媒体,要求多媒体技术必须支持实时处理。如使用网络电话,如果双方的声音能及时传输给通话双方,则能保证通话信息连贯无误,否则,通话会因为语音信号的延迟导致双方发生对话的混乱。

二、多媒体计算机系统

多媒体计算机系统简称多媒体系统,主要包括多媒体硬件系统和多媒体软件系统,除计算机系统外,还应包括多媒体信息处理的外部设和相应的多媒体软件。

1.多媒体计算机的硬件系统

多媒体计算机硬件系统是在多媒体计算机基础上,增加各种多媒体输入设备、输出设备及接口卡。多媒体计算机的主机可以是大、中型机,工作站和个人计算机。

(1)输入设备

多媒体输入设备除了常见的鼠标、键盘之外,还包括传声器、录音机、扫描仪、触摸屏、手写板、数码相机、数码摄像机等。

1)扫描仪
是20世纪80年代出现的一种光机电一体化的高科技产品。是利用光电技术和数字处理技术,以扫描方式将图形或图像信息转换为数字信号的装置。是第三代计算机输入设备。扫描仪的种类很多,有滚筒式扫描仪、手持式扫描仪和平板式扫描仪,以及近几年才有的笔式扫描仪、便携式扫描仪、馈纸式扫描仪、胶片扫描仪、底片扫描仪和名片扫描仪。主要性能指标有分辨率、灰度、色彩位数、速度和幅面等。

平板式扫描仪是目前流行的家用和商用扫描仪,主要应用在A3和A4幅面上,功能最强、种类最多;手持式扫描仪体积较小、重量轻、便于携带、价格低,但是扫描精度不够高,扫描质量较差;滚筒式扫描仪一般应用在大幅面扫描领域中,如工程图纸的输入。

2)触摸屏
又称为“触控屏”、“触控面板”,诞生于20世纪70年代是一种可接收触头等输入信号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连接装置,可用以取代机械式的按钮面板,并借由液晶显示画面产生出生动的影音效果。触摸屏作为一种新型计算机输入设备,是目前最简单、方便、自然的一种人机交互方式。主要应用于公共信息的查询、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等。

3)数字照相机(Digital Camera)。
又称“数码照相机”,诞生于20世纪80年代,是一种利用电子传感器把光学影像转换成电子数据的照相机。按用途分为:单反相机,微单相机,卡片相机,长焦相机和家用相机等。数码相机与普通照相机在胶卷上靠溴化银的化学变化来记录图像的原理不同,数字相机的传感器是一种光感应式的电荷耦合器
件(CCD)或互补金属氧化物半导体(CMOS),数字照相机中保存的照片不是实际的影像,而是一个个数字文件,其存储体不是传统的胶片,而是数字化存储器件。

(2)输出设备

1)显示器
是将电子图文信息通过特定的传输设备显示到屏幕上再反射到人眼的显示工具。根据制造材料的不同,可分为:阴极射线管显示器CRT、液晶显示器LCD、发光二极管显示器LED等。

2)绘图仪
绘图仪是一种输出图形的硬拷贝设备。绘图仪在绘图软件的支持下可绘制出复杂、精确的图形,是各种计算机辅助设计不可缺少的工具。绘图仪的性能指标主要有绘图笔数、图纸尺寸、分辨率、接口形式及绘图语言等。

3)投影机
是一种可以将图像或视频投射到幕布上的设备,可以通过不同的接口同计算机、VCD、DVD、游戏机、DV等相连接,播放相应的视频信号。投影机广泛应用于家庭、办公室、学校和娱乐场所,根据工作方式不同,有CRT,LCD,数字光处理DLP等不同类型。

(3)接口卡

1)声卡
也叫音频卡,是多媒体计算机中最基本的组成部分之一,是实现声波/数字信号相互转换的一种硬件。声卡的主要功能如下:

  1. 将传声器等输入的声音进行数字化处理,存入计算机。
  2. 将计算机处理后的数字波形声音还原为模拟信号声音。
  3. 可外接音乐设备数字接口(MIDI),将弹奏的乐曲以MIDI形式输入计算机内。
  4. 将计算机处理后的MIDI乐曲经合成器合成为音乐声音后输出。

声卡的性能指标主要有采样频率、采样位数。采样频率和采样位数越高、所录制的声音质量越好。声卡可以集成在主板上,也可以是单独部件,通过插入计算机的扩展槽中供使用。

2)显卡
全称显示接口卡,又称显示适配器,是计算机最基本、最重要的配件之一。显卡是计算机进行数模信号转换的设备,承担输出显示图形的任务。显卡接在计算机主板上,将计算机的数字信号转换成模拟信号并通过显示器显示出来,同时显卡还有图像处理能力,可协助CPU工作,提高计算机系统整体的运行速度。对于从事专业图形设计的人来说,显卡非常重要。

3)视频采集卡
用于将摄像机、录像机等设备播放的模拟视频信号经过数字化的采集,以文件形式存储起来。通常视频采集卡通过输入模拟的复合视频信号,可以在视窗内显示、播放视频画面。有些视频采集卡只能采集数字式的静止画面,有些视频采集卡不仅能够捕捉静止画面,而且还可以捕捉动态画面。视频采集卡按照其用途可以分为广播级视频采集卡、专业级视频采集卡、民用级视频采集卡。

(4)存储设备

1)光盘
即高密度光盘,是近代发展起来不同于完全磁性载体的光学存储介质,分不可擦写光盘(如CD-ROM、DVD-ROM等)和可擦写光盘(如CD-RW、DVD-RAM等),可以存放各种文字、声音、图形、图像、动画和视频等多媒体数字信息。一张12cm的CD盘片的存储能力为650MB。与CD不同,DVD的存储能力可达4.7~17GB,且为多用途光盘,已经成为当前不可缺少的存储介质。

2)硬盘
计算机主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。硬盘有固态硬盘(SSD盘,新式硬盘)、机械硬盘(HDD传统硬盘)、混合硬盘。SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘(HHD:Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。

3)闪存(Flash Memory)
闪存是一种采用电子芯片为存储介质、非易失、无须驱动器的存储器。闪存产品很多,有闪存盘、闪存卡和数码存储卡等。闪存盘是基于USB接口、采用闪存芯片作为存储介质的无须驱动器的存储器,即“USB闪存盘”,简称“U”盘。闪存卡主要应用在数字照相机、平板电脑、音频播放器(俗称MP3、MP4)等小型数码产品中。

除了存储设备外,新出现的云存储(Cloud Storage)技术可用来实现大容量的可靠存储。云存储是在云计算(Cloud Computing)概念上延伸和发展出来的一种新兴的网络存储技术。云存储通过集群应用、网络技术或分布式文件系统等功能,将网络中大量不同类型的存储设备集合起来协同工作,共同对外提供数据存储和访问功能。云存储系统容量大,并采取冗余技术为用户提供高可靠性,但是网络通信速度和安全问题也会影响云存储的性能和成本,需要进一步改善。

2.多媒体计算机的软件系统

多媒体软件系统的主要任务是将硬件有机地组织在一起,使用户方便处理和使用多媒体信息。
多媒体软件系统主要包括多媒体操作系统、多媒体驱动程序、多媒体开发工具(如多媒体素材制作和多媒体创作软件)、多媒体应用软件(如多媒体播放软件和多媒体转换软件)。

多媒体操作系统:

多媒体软件的核心系统,除具有一般操作系统的功能外,还必须具备对多媒体数据、多媒体软件和硬件的管理和控制功能,负责多媒体环境下多任务的调度、音频/视频的同步控制,保证多媒体信息处理的实时性,提供多媒体信息的各种基本操作和管理,使多媒体硬件和软件协调地工作。

多媒体驱动程序:

是多媒体计算机系统中直接与硬件打交道的软件,它完成设备的初始化,控制各种设备操作。每种多媒体设备都有对应的驱动程序,安装驱动程序后,设备才能正常使用。目前流行的多媒体操作系统通常自带了大量的常用多媒体驱动程序。

多媒体创作软件

不仅能将多媒体素材有机地组合成一个完美的多媒体作品,还具有操作界面的生成、交互控制、数据管理等功能。多媒体转换软件,对不同的文件格式进行转换,如音频文件和视频文件都有不同的格式,通过多媒体转换软件可以实现不同格式的音频/视频文件的格式转换。

多媒体应用软件

主要是一些创作工具或多媒体编辑工具,包括字处理软件、绘图软件、图像处理软件、动画制作软件、声音编辑软件以及视频软件。这些软件,概括来说,分别属于多媒体播放软件和多媒体制作软件。如文字编辑软件Word,WPS等;图像处理软件中处理位图图像的Photoshop、处理矢量图形的CorelDRAW等;动画制作软件Premiere等;音频处理软件Goldwave等;视频处理软件Premiere Pro等。

三、多媒体技术的发展历程

多媒体及多媒体计算机技术产生于20世纪80年代,是人类需求和计算机技术发展的必然产物。在多媒体技术的整个发展进程中,有如下几个代表性事件。

1)1984年,美国Apple(苹果)公司首创用计算机处理图像。

使用Bitmap(位图)描述图像,实现了图像简单处理。麦金塔(Macintosh,Mac)操作系统首次采用了图形用户界面:

  • Windows(窗口)
  • lcon(图标)理念
  • 图形化人机接口标准
2)1985年,美国Commodore公司首创多媒体计算机系统Amiga。

同年,激光只读存储器CD-ROM问世,对多媒体技术的发展起到了决定性的推动作用。
在这一时期,CDDA技术趋于成熟,使计算机具备了处理和播放高质量数字音响的能力。在计算机的应用领域中又多了一种媒体形式,即音乐处理。

3)1986年3月,荷兰PHILIPS公司和日本SONY公司共同制定了CD-l交互式激光盘系统标准:

允许在一片直径5英寸的激光盘存储650MB的数字信息。

4)1987年3月,RCA公司制定了DVI(Digital Video lnteractive)标准

该技术标准在交互式视频技术方面进行了规范化和标准化,可存储静止图像、活动图像、声音等多种信息模式。DVI标准的问世,使计算机处理多媒体信息具备了统一的技术标准。
同年,美国Apple公司开发了HyperCard(超级卡),该卡安装在苹果计算机中,使其具备快速、稳定的处理多媒体信息的能力。

5)1990年11月,美国Microsoft公司和PHILIPS等公司成立多媒体个人计算机市场协会(Multimedia PC Marketing Council)。

协会主要任务:制定多媒体计算机的“MPC标准”。对计算机多媒体功能所需的软硬件最低标准、量化指标,以及升级规范等进行规范。

6)1991年,多媒体个人计算机市场协会提出MPC1标准。

这是全球计算机业界共同遵守的标准,促进了MPC的标准化和生产销售,使多媒体个人计算机成为一种新的流行趋势。

7)1993年5月,多媒体个人计算机市场协会公布了MPC2标准。

该标准对声音、图像、视频和动画的播放、PhotoCD做了新的规定。此后,多媒体个人计算机市场协会演变成:多媒体个人计算机工作组(Multimedia PC Working Group)。

8)1995年6月,多媒体个人计算机工作组公布了MPC3标准。

该标准制定了视频压缩技术MPEG的技术指标,使视频播放技术更加成熟和规范化,制定了采用软件进行视频数据解压缩等技术标准。
同年,美国Microsoft公司的Windows 95操作系统问世,多媒体计算机的用户界面更容易操作,功能更为强劲。随着视频音频压缩技术日趋成熟,高速的奔腾系列CPU开始武装个人计算机,个人计算机市场已经占据主导地位,多媒体技术得到了蓬勃发展。
国际互联网络Internet兴起,促进了多媒体技术的发展,更新更高的MPC标准相继问世。

四、多媒体技术的应用

1.教育培训

根据一定的教学目标,在计算机上编制一系列的程序,设计和控制学习者的学习过程,使学习者通过使用该程序完成学习任务,这一系列计算机程序称为教育多媒体软件或称为计算机辅助教学(Computer Assist Instruction,CAl)。
计算机辅助教学通过视觉、听觉或者视听并用等丰富的表现形式和强大的信息传播能力,改变了传统教学手段的局限性。另外,虚拟培训及远程教育也被广泛应用于教育培训领域。

2.娱乐

随着多媒体技术的日益成熟,多媒体计算机已经不仅仅用来播放CD和VCD,现在已经可以利用网络看电视、电影和动画,实现混编特技、三维成像模拟特技、仿真游戏等。

3.多媒体通信

(1)多媒体会议系统
(2)视频点播系统
(3)远程医疗系统
(4)多媒体监控系统

4.咨询广告

由于多媒体信息易于理解、直观、生动、表现力强,被广泛应用于商业咨询与公益广告中,如宾馆饭店查询、图书情报查询、展览信息查询、影视商业广告、公共招聘广告等。咨询系统的内容可以是文字、图形、图像、声音、视频等,信息存储量大、使用方便。

5.电子出版物

电子出版是多媒体技术应用的一个重要方面。电子出版物是指以数字方式将各种多媒体元素如图、文、声、像等信息存储在磁盘或光盘等介质上,通过计算机或类似设备进行阅读使用,并可复制发行的大众传播媒体。电子出版物的出版形式主要有电子网络出版和电子书刊两大类。

第二节多媒体计算机系统中的信息表示 \color{green}{第二节 多媒体计算机系统中的信息表示} 第二节多媒体计算机系统中的信息表示

一、常见的媒体元素

1.文本

文本(Text)是以文字和各种专用符号表达的信息形式,它是现实生活中使用得最多的一种信息存储和传递方式。文本主要用于对知识的描述性表示,如阐述概念、定义、原理和问题以及显示标题、菜单等内容。文本数据的获得必须借助文本编辑环境,如Word、WPS和写字板等应用程序。常用的文本格式有"TXT”“RTF”“DOC”“DOT”等。"TXT”被称为纯文本文件,它可以在各种应用程序中通用,其他格式的文件往往都包含了排版信息等内容。

2.图像

图像是多媒体技术中最重要的信息表现形式之一,是决定一个多媒体软件视觉效果的关键因素。能够在计算机中处理的都是离散化的数字图像,即将所观察的景物按行列形式进行数字化,对图像的每一个点都用一个数值表示,所有这些值即一个数字阵列就组成了一幅图像。显示设备可以根据这些数字在不同的位置表示不同颜色来显示这幅图像。

3.图形

图形即矢量图形的简称,是图像的抽象,反映图像上的关键特征,如点、线、面等。它是用图形元素及其属性来描述的,如直线、矩形、圆、椭圆、文本、颜色等来描述二维图形对象,而用多面体、球体、颜色等来描述三维图形对象。通常将组成图形的基本成分称作图元。图形的外观还受到线型、线宽、颜
色等图元属性的影响。

4.声音

声音是人们用来传递信息、交流感情最方便、最熟悉的方式之一。声音是通过空气传播的一种连续的波,叫声波。声音的强弱体现在声波压力的大小上,声音的高低体现在声音的频率上。声音信号由许多频率不同的信号组成,这类信号称为复合信号,而单一频率的信号称为分量信号。

5.视频

又称动态图像,是一组图像按照时间顺序的连续表现。一幅图像在视频中为一帧。实验表明如果动画或电影的画面刷新频率为24帧/s左右,即每秒放映24幅画面,则人眼看到的就是连续的画面。

6.动画

动画也是利用人的视觉暂留特性,快速播放一系列连续运动变化的图形图像,也包括画面的缩放、旋转、变换、淡入淡出等特殊效果。通过动画可以把抽象的内容形象化,使许多难以理解的内容变得生动有趣。

二、声音信息表示

声音是一种物理信号,计算机要对它进行处理,其前提是必须用二进制数字的编码形式来表示声音,即声音信号的数字化。最常用的声音信号数字化方法是采样——量化——编码法,数字化后的声音以文件的形式存放在计算机中,其文件格式多种多样。
(领会:声音的定义、基本属性、物理学和心理学特征。)
(简单应用:音频信号的数字化过程,采样、量化和编码的过程;计算音频数据量的方法。)
(识记:声音文件格式,不同声音文件格式的含义和应用范围,常用数字音频处理软件及其功能、特点。)

1.声音概述

声音源自物体的振动,它具有物理和心理学特征。

(1)声音的物理特征

声音是由物体振动产生的声波,是通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。声波信号的物理特征主要有频率和振幅,声波在传播过程中经历两个波峰(或波谷)之间的相对时间称为声波的周期,周期的倒数称为声波的频率。也就是每秒声波波峰(或波谷)出现的次数,单位为赫兹(Hz)。声波的振幅指的是从声波信号的基线到波峰的距离。频率的大小与音高对应,而振幅影响声音的大小。

(2)声音的心理学特征

声音是人的听觉系统所感知的信息,因此感知到的声音特征称为心理学持征,其三要素为音调、音色和音强。
音调是由发声物体的振动频率决定的,振动越快,音调越高;振动越慢,音调越低。
音色是指声音的感觉特性,与声音的波形有关。如果高频的声音丰富,则音色就明亮;若低频的声音丰富,则音色就低沉。声音分纯音和复音两种类型。

音强就是声音的强弱,即常说的音量。音强与声音的振幅成正比。如果要改变原始声音的音强,可把声音数字化后,使用音频处理软件编辑处理。
声音信号通过话筒等设备转换成电信号以后称之为音频信号。

2.音频信号的数字化

音频信号在时间上和幅度上都是连续变化的模拟信号,而计算机只能处理和记录二进制的数字信号。将音频模拟信号转换成计算机能处理的数字信号的过程,称为模拟信号的数字化。
模拟音频信号转换成数字化音频需要经过采样、量化和编码三个过程。

(1)采样

采样是对模拟信号在时间上进行数字化,以固定的时间间隔抽取模拟信号的值。采样后就可以使一个时间连续的信息波变为在时间上取值数目有限的离散信号。其中采样间隔称为采样周期。采样周期的倒数就是采样频率,即单位时间内的采样次数,一般就指一秒钟内采样的次数。采样频率越高,单位时间内得到的声音样本数就越多,那么表示出来的声波就越精确。

根据奈奎斯特采样定理,采样频率>=信号最高频率的两倍时,能把数字化后的信号不失真地还原成原来的模拟信号频率成分。因此,在不同的应用场合,可以根据需要选择相应的采样频率对模拟音频进行采样。

(2)量化

量化是对模拟信号在幅度上进行数字化。也就是用有限个幅度值近似还原原来连续变化的幅度值,把模拟信号的连续幅度变为有限数量的有一定间隔的离散值。量化的过程首先要确定量化的位数,如果量化位数为N,那么将模拟音频信号的幅度在最大值和最小值之间划分成2N个量化区间,一般采用等分方式。量化时把位于同一个区间内的采样点的值归为一类,即给予相同的量化值,这样就带来了数据量表示的偏差,称为量化误差。量化的位数越多,划分的等级数就越多,所表示的声波幅度就越精确,量化误差就越小。

(3)编码

编码就是用二进制数表示每个采样的量化值(十进制数),或者说将量化值转换成二进制数。最基本的编码方法是脉冲编码调制(PCM)。PCM对语音信号采样8000次/秒,每次采样为16位,则一秒钟总共128kbit。

如果有N个量化区间,会产生N个量化值,故用大于或等于Log2N的最小整数位的二进制数来表示,这个最小的整数位又称作采样精度(或量化位数)。采样精度决定了记录声音的动态范围,以位(bit)为单位,比如8位、16位。位数越高,声音的保真度越高。
实际工作中,人们先根据需要确定采样精度、采样频率,利用模数转换器来完成信号的数字化,最终输入计算机并以音频文件的形式存储在计算机中。

(4)音频数据的数据量

音频模拟信号被数字化后产生的数据量与采样频率、采样精度以及声道数有关。每秒钟产生的数据量计算公式如下:数据量(B/s)=(采样频率(Hz)× 采样位数(bit)×声道数)/8

例:计算两分钟未压缩的CD立体声数字声音数据的数据量。
解:CD立体声数字声音的采样频率为44.1kHz,采样精度为
16bit,立体声有2个声道的数据,故两分钟数据量:2270
( (44.1×103×16×2) /8) ×120=21168000B≈20.19MB
可见,一首未经压缩的4min左右的CD立体声歌曲文件的大小约
为40MB,那么一个容量为1GB的播放器也只能存放25首这样的歌曲。
显然,由于数字音频文件的数据量很大,不利于音频文件的存储和传
输,所以一般都需要对数字化的音频数据进行压缩处理,以压缩后的
文件格式存储音频文件,播放时再进行解压缩处理。

3.常见的声音文件格式
(1)WAV格式

又称波形交件,是微软公司开发的一种声音文件格式,符合RIFF文件规范,用于保存Windows平台上的音频信息资源,被Windows平台及其应用程序广泛支持。标准格式化的WAV文件与CD格式一样,也是44.1kHz的采样率,16位量化数字,因此文件质量与CD相差无几。几乎所有音频编辑软件都能识别WAV格式。

(2)MP3格式

MP3格式诞生于20世纪80年代的德国,指的是MPEG标准中的音频层。MPEG音频层根据压缩质量和编码处理的不同分为MP1、MP2和MP3三种声音文件。
MP3音频编码具有1:10甚至1:12的高压缩率,基本保持低音频部分不失真,但牺牲了高音频部分的质量来缩小文件尺寸。因此,相同长度的音频文件用MP3格式文件来存储,一般只有WAV格式文件的1/10,但其音质要次于CD格式或WAV格式的声音文件。由于其文件尺寸小,音质也算较好,所以直到现在,这种格式还作为主流音频格式被广泛应用。

(3)MIDI格式

MIDI,即乐器数字化接口,是乐器与计算机结合的产物。MIDI提供了电子乐器与计算机内部之间的连接界面和信息交流方式,MIDI格式的文件采用“mid”为扩展名。
1983年8月5日,MIDI数字音乐国际标准正式制定。根据标准,MIDI设备必须具备三种连接器:IN(输入连接器)、OUT(输出连接器)和THRU(扩充连接器),利用三个连接器与外部乐器相连。演奏与MIDl相连的乐器时,按哪个键、用力大小、时间长短等信息被传送到MIDI设备中,形成“遥控键盘信息”。

由于MIDI文件并不记录波形音频信号,因此MIDI文件的数据量很小。MIDI文件形成后,可对音乐节拍、音色等文件细节部分进行修改。一般而言,MIDI文件只与乐器之间发生紧密的信息联系不太适合表现人声和自然界中的声音。

(4)CD格式

CD是一种音质非常好的音频格式。标准CD格式的采样频率为44.1kHz,量化位数为16bit,速率为88.2KB/s。CD音轨是近似无损的,因此它的声音基本保真度高。CD格式的音频文件扩展名为".cda”,但这只是一个索引信息,并不是真正的包含声音信息,所以在计算机上看到的.cda文件都是44B。不能直接复制CD格式的.cda文件到硬盘上播放,需要使用音频抓轨软件进行格式转换。

(5)WMA格式

WMA是微软公司推出的与MP3格式齐名的一种新的音频格式,在压缩比和音质方面都超过了MP3,即使在较低的采样频率下也能产生较好的音质。WMA的另一个优点是内容提供商可以通过DRM(Digital Rights Management)方案加入防复制保护。这种内置了版权保护的技术可以限制播放时间和播放次数,甚至于播放的机器等。另外,WMA还支持音频流技术,适合在网络上在线播放。现在的大多数MP3播放器都支持WMA文件。

此外,还有微软公司的ASF、Real公司的RAM和RA以及索尼公司的MD等音频格式。

三、图像信息表示

(领会:图形的概念、图像的概念、矢量图与位图的区别、图像的基本属性、色彩与颜色模型。)
(简单应用:图像的采样、量化和编码过程。)
(识记:图像文件格式的含义和应用范围,常用图像处理软件及其特点。)

图像,是多媒体技术中使用最多的素材之一,具有直观、便于理解的特点。随着计算机技术的发展,把图像数字化,进而使用计算机对图像进行处理,已经成为现实。

1.图像概述
(1)图形与图像

图形与图像在计算机上的显示结果基本相似,但实现方法却完全不同,一般把矢量图称为图形,而把位图称为图像。

  1. 矢量图(图形)
    使用直线和曲线来描述图形,这些图形的元素是一些点、线、形、多边形、圆和弧线等,它们都是通过数学公式计算获得的。其最大的优点是无论放大、缩小或旋转都不会导致失真。最大的缺点是难以表现色彩层次丰富的逼真图像效果,常用于图案、标志、文字等设计。
    例如,一幅花的矢量图形实际上是由线段形成外框轮廓,由外框的颜色以及外框所封闭的颜色决定花显示出的颜色。

  2. 位图(图像)
    位图是由许多像素点组成的,每个像素点用若干二进制位来表示其颜色、亮度和饱和度等属性。简单来讲,对图像在水平和垂直方向上等距分割成矩形的网状结构,所形成的微小方格称为像素点或像素。像素是组成图像的基本单位。位图文件又叫图像文件,存储了所有像素点的信息。位图的获取通常是用扫描仪、数码照相机、数码摄像机等设备把模拟的图像信号转化成数字的图像数据。位图的缺点是所需存储空间比较大,图像分辨率越高,组成图像的像素点越多,图像文件越大。

位图和矢量图的优缺点参见下表:

(2)图像的基本属性
  1. 像素数目
    指在位图图像的宽度和高度方向上含有的像素点数目。一幅图像在显示器上的显示效果由像素数目和显示器的设定共同决定。

  2. 率显示分辨率。指在显示器上能够显示出的像素数目,它由水平方向的像素总数和垂直方向的像素总数构成。例如,某显示器的水平方向为1024像素,垂直方向为768像素,则该显示器的显示分辨率为1024×768。
    图像分辨率。图像分辨率是指构成图像的横向和纵向的像素点的数目,是度量一幅图像的像素密度的方法。对同样大小的一幅图,如果组成该图的像素数目越多,则说明图像的分辨率越高,看起来就越逼真。

    图像分辨率与显示分辨率是两个不同的概念。图像分辨率是确定组成一幅图像的像素数目,而显示分辨率是确定显示图像的区域大小。
    如果显示屏的分辨率为640x480,当像素——对应时,那么一幅320×240的图像只占显示屏的1/4,而一幅1024×768的图像在这个显示屏上就不能完整地显示出来。

  3. 图像深度
    又称像素深度,是指表示每个像素点所用二进制的位数。图像深度决定了彩色图像的每个像素点可能有的颜色数,或者确定灰度图像中每个像素点可能有的灰度(灰度指图像亮度层次范围,灰度越高图像层次越丰富,目前可达256级灰度)等级数。
    例如,一幅彩色图像的每个像素用R(Red)、G(Green)、B(Blue)三个分量表示,且每个分量用8位二进制数表示,那么一个像素共需用24位表示,像素的深度就是24,每个像素可以有224
    种颜色。

(3)色彩与颜色模型

每一种色彩都同时具有三种基本属性:色调、明度和饱和
度,称为色彩的三要素。
色调又称色相,是指色彩的相貌,指在不同波长的光照射下,人眼感觉到的不同颜色,如红色、黄色、蓝色等。
明度又称亮度,指色彩的明暗程度。
饱和度又称色度、纯度,指色彩的鲜艳程度,也可以说颜色中白光的掺入程度。

颜色模型是描述和表示颜色的一种抽象数学模型。在不同应用中往往采用不同的颜色模型。如计算机处理图像通常采用RGB模型,印刷彩色图像通常采用CMYK模型,而彩色电视信号传输时采用YUV或YIQ模型等。
RGB(Red、Green、Blue)模型是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们之间的叠加来得到各式各样的颜色。RGB即代表三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色。

CMYK(Cyan、Magenta、Yellow、Black)模型的CMYK代表印刷上用的四种颜色:青色、洋红色、黄色和黑色。
该模型不是直接来自于各种光线色彩的叠加,而是来自于光线照射到颜料上以后被颜料吸收的部分光线,这种产生色彩的方式称为相减混色(例如在纸上涂上等量黄色和品红颜料,人眼将看到红色,因为黄色颜料吸收蓝色光,品红颜料吸收绿色光,所以只反射出红色光)。CMYK模型是最佳颜色打印模式。
RGB模型尽管色彩多,但不能完全打印出来。一般先用RGB模型进行编辑工作,打印时再将其转化为CMYK,因此,打印时的色彩会有一定的失真。

2.图像的数字化

图像是一种颜色和亮度变化连续的模拟信号,计算机处理图像时,必须先将其数字化。图像数字化运用的是计算机图形和图像技术,在测绘学、摄影测量与遥感学等学科中得到广泛
应用。
图像数字化的过程也包括采样、量化和编码三个步骤。

  1. 采样。

    实质就是要用多少点来描述一幅图像,采样结果质量的高低就是用前面所说的图像分辨率来衡量。一幅图像
    就被采样成有限个像素点构成的集合。如果采样的像素点越多,描述的细节越丰富,图像就越细腻、逼真,存储空间越大。
    例如:一幅640x480分辨率的图像,表示这幅图像是由
    640×480=307200个像素点组成。

  2. 量化。

    就是把每一个采样点用数值来表示,量化的位数决定了每一个像素点所能表示的颜色数。如果量化位数为1,
    则一个像素点只有黑白两种颜色;如果量化位数为8,则每个像素点可以显示256种不同的颜色。

  3. 编码。

    数字化后的图像数据量十分巨大,必须采用编码技术来压缩其信息量。编码压缩技术是实现图像传输与储存
    的关键。现在已有许多成熟的编码算法应用于图像压缩,比如预测编码、变换编码、分形编码、小波变换图像压缩编码等。
    为了使图像压缩标准化,20世纪90年代后,ITU、国际标准化组织(ISO)和国际电工委员会(IEC)已经制定并继续制定一系列静止和活动图像编码的国际标准,已批准的标准主要有JPEG标准、MPEG标准、H.261等。

3.常见的图像文件格式
(1)BMP格式

Windows系列操作系统的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB)两类。采用位映射存储格式,除了图像深度可选外,不采用其他任何压缩,故所占空间很大。Windows环境中运行的图形图像软件都支持BMP图像格式。

(2)GIF格式

原义是“图像互换格式”,是由CompuServe公司于1987年开发的图像文件格式。它是一种基于LZW压缩算法的无损压缩格式,压缩率一般在50%左右,它不属于任何应用程序,目前几乎所有相关软件都支持它。
在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。GIF文件所支持的颜色数最多为256种,这种图像文件所需存储空间相对比较小,因而很适合在网上进行传输。

(3)PNG格式

可移植网络图像格式。于1996年发布,是一种位图文件格式。PNG用来存储灰度图像时,灰度图像的深度可多到16位;存储彩色图像时,彩色图像的深度可多到48位。
PNG使用了无损数据压缩算法,压缩比高,生成文件容量小,一般应用于Java程序和网页中。
PNG利用特殊的编码方法标记重复出现的数据,因而对图像的颜色没有影响,也不可能产生颜色的损失,这样就可以重复保存而不降低图像质量,但是它不支持动画效果。

(4) JPEG

是一种广泛适用的压缩图像标准方式,这种压缩格式的文件一般就称为JPEG,扩展名有"jpe”、"jpeg”等,在主流平台最常见的是“jpg”。JPEG可以用不同的压缩比例进行图像压缩,同时对图像质量影响不大,因此可以用最少的磁盘空间得到较好的质量。由于它尺寸较小,下载速度快,成为网络上最受欢迎的格式。目前各类浏览器均支持JPEG格式。

JPEG不适用于所含颜色很少、具有大块颜色相近的区域或亮度差异十分明显的较简单的图片。

(5)PSD格式

是Adobe公司的图像处理软件Photoshop的专用格式,可以存储为RGB或CMYK模式,能够自定义颜色数并加以存储,可以保存Photoshop的图层、通道、路径等信息,是目前唯一能够支持全部图像色彩模式的格式。用PSD格式保存图像时,因为没有经过压缩,所以图层较多时,占用空间较大。

(6)TIFF格式

标签图像文件格式,是一种灵活的位图格式,主要用于存储包括照片和艺术图在内的图像。最初由Aldus公司与微软公司一起为PostScript打印开发,现在大部分图像处理应用以及桌面印刷和页面排版应用等都支持该格式。TIFF与JPEG和PNG—起成为流行的高位彩色图像格式。

(7)SVG格式

一种可缩放矢量图形格式。该格式基于可扩展标记语言,用于描述二维矢量图形。设计者通过修改标记语言,可以设计出丰富多彩、高分辨率的Web图形页面。允许用户以任何尺寸显示图形,但不会牺牲清晰度、细节等。在SVG文件中保留的文字是可编辑和可搜寻的。对字体没有限制,用户将会看到和他们制作时完全相同的画面。通常比JPEG和GIF格式的文件小得多,下载也很快。

四、视频信息表示

(识记:视频的定义、分类;常用视频处理软件工具的主要功能和特点。)
(领会:视频信息的获取、视频信号的采样、视频文件的格式、应用范围。)

1.视频概述
(1)视频的定义

视频(Video)就是其内容随时间变化的一组动态图像,所以又叫动态图像或活动图像。它是一种信息内容丰富、直观、生动、具体的信息载体。视频的内容随时间变化,且一般有画面同步的声音信号(又叫伴音)。

视频与图像既有区别又有联系:
图像是指静态的图片,而视频是指运动的图像,一幅图像在视频中叫作一帧。
图像一般通过扫描仪或数字照相机输入或图像处理软件绘制而成。视频则一般通过摄像机、录像机、影碟机的输入或视频编辑软件制作而成。
视频的主要应用领域有广播电视、通信、电视电话会议和娱乐等。如:数字电视、视频点播、视频会议、可视电话等。

(2)视频的分类

按照处理方式不同,视频分为模拟视频和数字视频。

  1. 模拟视频频(AV)。是一种用于传输图像和声音的随时间连续变化的电信号。传统视频的记录、存储和传输都是采用模拟方式,视频图像和声音是以模拟信号的形式记录在磁带上,无线广播时依靠模拟调幅的电波在空间传播。模拟信号随存储时间、复制次数和传输距离的增加,衰减较大,产生信号损失,不适合网络传输,也不便于分类、检索和编辑。

  2. 数字视频(DV),是由随时间变化的一系列数字化的图像序列组成。计算机要能够处理视频信息,就必须将模拟信号转换成计算机能够处理的数字信号,其数字化的过程包括采样、量化和编码。数字视频可以被永久的保存和无限次的复制而不会出现任何失真。数字视频信号在传输过程中不容易受到干扰,也没有传输距离的限制,不会因为信号衰减而导致失真,而且可以在计算机内进行存储、处理,很容易进行创造性编辑与合成,并进行动态交互。

2.视频图像的数字化

视频图像的数字化是将模拟的视频信号转换为数字视频信号的过程。通常有两种方法:一种是复合编码,它直接对复合视频信号进行采样、编码和传输;另一种是分量编码,它先从复合彩色视频信号中分离出彩色分量(Y:亮度;U、V:色度),然后数字化。

目前接触到的大多数数字视频信号源都是复合的彩色全视频信号,如录像带中存储的视频信号、模拟摄像机捕获的视频信号等。对这类信号的数字化均采用分量编码方案,通常是先分离成Y、U、V或R、G、B分量信号,分别进行滤波(滤波主要用于抑制和防止干扰),然后用3个A-D转换器对它们数字化,并进行编码。自20世纪90年代以来颁布的一系列图像压缩国际标准均采用分量编码方案,这种方案已成为视频信号数字化的主流。

采样是视频信号数字化的重要内容,对彩色电视图像进行采样时,还可以采用两种采样方法。
一种是使用相同的采样频率对图像的亮度信号和色差信号进行采样。
另一种是对亮度信号和色差信号分别采用不同的采样频率进行采样。如果对色差信号使用的采样频率比对亮度信号使用的采样频率低,这种采样就称为图像子采样,在数字图像压缩技术中得到广泛的应用。

3.常见的视频文件格式
(1)MPEG格式

MPEG(Moving Picture Experts Group)动态图像专家组是ISO与IEC于1988年成立的专门针对运动图像和语音压缩制定国际标准的组织。MPEG标准主要有以下五个,MPEG-1、MPEG -2、 MPEG-4, MPEG-7及MPEG-21。

  1. MPEG-1制定于1992年,为工业级标准而设计,可适用于不同带宽的设备。它可针对SIF标准分辨率的图像进行压缩,传输速率为1.5Mbit/s,每秒播放30帧,具有CD音质。MPEG-1也被用于数字电话网络上的视频传输。

  2. MPEG-2制定于1994年,设计目标是高级工业标准的图像质量以及更高的传输率,能适用于高清电视,使得原打算为HDTV设计的MPEG-3,还没出世就被抛弃了。除了作为DVD的指定标准外,MPEG-2还可用于为广播、有线电视网、电缆网络以及卫星直播提供广播级的数字视频。

  3. MPEG-4制定于1998年,是为了播放流媒体的高质量视频而专门设计的,它可利用很窄的带宽,通过帧重建技术,压缩和传输数据,以求使用最少的数据获得最佳的图像质量。目前MPEG-4最有吸引力的地方在于它能够保存接近于DVD画质的小视频文件。这种视频格式的文件扩展名有“asf” "mov”和"avi"等。

(2)AVI格式

1992年微软公司推出的音频视频交错格式(视频和音频交织在一起进行同步播放),是一种桌面系统上的低版本、低分辨率的视频格式。对视频文件进行了一种有损压缩方式,由于压缩比较高,因此尽管画面质量不是太好,但其应用范围仍然非常广泛。主要应用于多媒体光盘上,用来保存电视、电影等各种影像信息。

(3)RM格式

RM(Real Media)格式是RealNetworks公司所制定的一种流媒体视频文件格式,可以根据网络数据传输的不同速率制定不同的压缩比率,从而实现在低速率的Internet上进行视频文件的实时传送和播放。

(4)RMVB格式

是由RM视频格式升级延伸出的新视频格式,在保证静止画面质量的前提下,可大幅提高运动图像的画面质量,文件大小上也比较有优势,具有内置字幕和无须外挂插件支持等独特优点。此外,还有3GPP、F4V、ASF、WMV等多种视频格式。

五、动画

(领会:动画的定义、原理、与视频的区别、技术指标,动画文件格式的含义和应用范围,常用的二维和三维动画制作软件工具的主要功能和特点。)

1.动画概述
(1)动画的定义

动画的概念不同于一般意义上的动画片,它是集合了绘画、漫画、电影、数字媒体、摄影、音乐、文字等众多艺术门类的艺术表现形式。
1892年10月28日,埃米尔·雷诺首次在巴黎著名的葛莱凡蜡像馆向观众放映光学影戏,标志着动画的正式诞生,同时埃米尔·雷诺也被誉为“动画之父”。

原理:人们观察景物时,光信号传入大脑神经需要经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称为“后像”,视觉的这一现象称为“视觉暂留”。动画之所以成为可能,就是利用了人眼“视觉残留”的生物现象。人在看物体时,物体在大脑视觉神经中的停留时间约为(1/24)秒。如果每秒更替24个或更多的画面,那么,前一个画面在人脑中消失之前,下一个画面就进入人脑,从而形成连续的影像。

(2)动画和视频的区别

动画和视频都属于“动态图像”的范畴。动态图像是连续渐变的静态图像或者图形序列,沿时间轴顺次更换显示,从而产生运动视觉感受的媒体形式。但二者是两个概念。

动画的每帧图像都是由人工或计算机产生的。根据人眼的特性,用24帧/s或以上的速度顺序地播放静止图像帧,就会产生运动的感觉。
视频的每帧图像都是通过实时摄取自然景象或者活动对象获得的。视频信号可以通过摄像机、录像机等连续图像信号输入设备来产生。

(3)动画的技术指标
  1. 帧速度。
    一帧就是一幅静态的画面。帧速度就是一秒钟的动画所包含的静态画面数,即帧数。或者说一秒钟动画播放几帧。一般,动画的帧速度为30帧/s或者每25帧/s。有些软件默认的帧速度比较低,比如Flash中默认的帧速度为12帧/s。

  2. 数据量。
    在不计压缩的情况下,数据量是一秒钟的动画包含的所有帧的图像数据量之和。假设一个动画的帧速度为30帧/s,每帧上的图像数据均为2MB,那么,这个动画的数据量:帧速度×每帧图像的数据量=30×2MB=60MB使用数据压缩技术后,压缩前动画的数据量往往是压缩后动画的数据量的几十倍甚至上百倍,即使这样,动画的数据量仍然很大。因此,在制作动画时,要注意平衡动画数据量与动
    画效果的关系。

  3. 图像质量。
    图像质量的好坏直接影响动画效果,也对动画数据量有较大影响。图像质量和压缩比有很大关系,一般情况下,压缩比较小时对图像质量影响不大,但当压缩比超过一定的数值后,将会明显看到图像质量下降。因此,在制作动画时,要对图像质量和数据量进行适当折中。

2.动画文件格式
(1)SWF格式

是Macromedia(现已被Adobe公司收购)公司的动画设计软件Flash制作的矢量动画格式,这种格式的动画在缩放时不会失真,被广泛应用于网页设计、动画制作等领域,SWF文件通常也被称为Flash文件。SWF文件可以使用Adobe FlashPlayer打开,浏览器必须安装Adobe Flash Player插件。

(2)FLC格式

是Animator Pro制作的动画格式。它采用无损数据压缩技术,首先压缩并保存整个动画系列中的第一幅图像,然后逐帧计算前后两幅图像的差异或改变部分,并对这部分数据进行RLE压缩,由于动画序列中前后相邻图像的差别不大,因此可以得到相当高的数据压缩比,支持256色,最大图像分辨率是64000×64000。

(3)GIF格式

GIF不仅是图像文件格式,还可以是动画文件格式。目前制作动画的GIF格式,一般都是以GIF89a格式居多。GIF格式文件通过存储若干幅连续的静止图像而形成动画,目前lnternet上的动画文件还大量采用这种格式。

第三节多媒体元素处理软件简介 \color{green}{第三节多媒体元素处理软件简介} 第三节多媒体元素处理软件简介

一、数字音频处理软件

数字音频处理软件可以分为两类,即波形声音处理软件和MIDI软件。波形声音处理软件可以对WAV文件进行各种处理,如显示波形、剪贴和编辑波形、调节声音强度、调节声音频率、处理特殊的声音效果等。常见波形声音处理软件有WavEdit、Creative WaveStudio、Cool Edit、Windows录音机、GoldWave等。MIDl软件是创作和编辑处理MIDI格式音频的软件,如MIDI Orchestrator、Cakewalk、Macromedia Soundedit。

1.WavEdit

WavEdit是Voyetra公司开发的一套专门用来处理Windows标准的WAV文件的软件,它的主要功能有录制波形文件,设定录制参数;存储波形文件,选择存储的文件格式(如WAV)和压缩标准,变换文件格式与参数;记录播放时间;声音的剪切、复制、插入、删除;改变声音的大小、速度、回音、淡入与淡出等。

2.Creative WaveStudio

Creative WaveStudio又称录音大师,可在Windows环境下录制、播放和编辑波形数据。录音大师不但可以执行简单的录音,还可以运用众多特殊效果和编辑方式,如反向、添加回音、剪切、复制和粘贴等,制作出特殊的声音效果。

主要功能如下:

  • 录制波形文件;

  • 处理波形文件;

  • 对波形文件使用特殊效果

  • 自定义颜色;

  • 处理压缩波形文件。

3.Cool Edit

美国Syntrillium公司开发的一款功能强大、效果出色的多轨录音和音频处理软件。使用Cool Edit可以生成噪声、低音、静音、电话信号等,功能完善、操作简单,不仅适合于专业人员,也适合普通音乐爱好者。

功能:

  • 可以“绘”制音调、弦乐、颤音、噪声或是调整静音等;

  • 特性功能。放大和降低噪声;压缩或扩展音频;设置回声、处理失真、设置声音延迟等。

  • 可同时处理多个文件,轻松剪切、粘贴、合并、重叠声音操作;

  • 其他诸多功能。CD播放器、支持可选的插件、崩溃恢复、自动静音检测和删除、自动节拍查找、录制等。另外,它还可以在MP3、WAV等多种文件格式之间进行转换,并且能够保存为RealAudio格式。

Cool Edit的优点:
一是对文件的操作是非损伤性的;
二是能在发生意外故障时自动保存数据,当重新启动该系统时,可重新恢复到中断前的工作状态,甚至包括剪贴板中的内容。

4.GoldWave

GoldWave是由GoldWave公司开发的一个功能强大的数字音频处理软件,集声音编辑、播放、录制和转换为一体。GoldWave体积小巧,功能丰富,可以打开包括WAV、MP3、AVl、MOV等多种音频文件格式,也可以从光盘或其他视频文件中提取声音,完成剪辑、合成多个声音素材、制作回声、混响、改变音调和音量、均衡控制频率、声道编辑等功能。

5.Cakewalk

是由美国Cakewalk公司开发的一款音频制作软件,具有完善的MIDI作曲和编辑、音频处理和格式转换功能。为每个音频文件提供了多达256个同步音轨,每个音轨可创建不同乐器所演奏的乐曲。同时,支持MIDI设备、乐器、音频和视频编辑,还可生成并显示具有歌词以及几种设定表情在内的五线谱。在录音方面,Cakewalk提供了混合式、替换式或自动替换式三种录音模式,录音时允许进行单步录音、循环及自动往返,录音后可指定所录音的片断应存储的目标位置,或丢弃循环录音废片。

二、图形图像处理软件

1.ACDSee

ACDSkee(奥视迪)是非常流行的看图工具之一。它提供了良好的操作界面,简单人性化的操作方式,优质的快速图形解码方式,支持丰富的图形格式,强大的图形文件管理功能等等。它能打开包括ICO、PNG在内的20余种图像格式,并且能够快速显示它们。ACDSee除了图片编辑功能、数码图像处理功能外,还拥有去红眼、剪切图像、锐化、浮雕特效、曝光调整、旋转、镜像等功能。

2.Photoshop

Photoshop是Adobe公司旗下出名的图像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意、图像输入与输出于一体,深受广大平面设计人员和美术爱好者的喜爱。

3.光影魔术手

光影魔术手是国内最受欢迎的图像处理软件之一。它是一个对数码照片画质进行改善及效果处理的软件,简单、易用,不需要任何专业的图像技术,就可以制作出专业胶片摄影的色彩效果,且其批处理功能非常强大,能够满足摄影作品后期处理,图片快速美容、数码照片冲印整理的需要。

4.美图秀秀

美图秀秀由美图网研发推出的一款免费图片处理软件,比Adobe Photoshop简单很多,其界面直观、操作简单,可以轻松上手。
主要功能包括:

  • 人像美容;

  • 图片特效;

  • 拼图功能;

  • 动感DIY。

5.CorelDRAW

CorelDRAW是加拿大Corel公司出品的(天量图形制作工具软件,为设计师提供了矢量动画、页面设计、网页制作、位图编辑和网页动画等多种功能。该软件包含两个绘图应用程序:一个用于矢量图及页面设计,一个用于图像编辑。它提供的智慧型绘图工具以及新的动态向导可以充分降低用户的操控难度,允许用户更加容易、精确地创建物体的尺寸和位置,减少操作步骤,节省设计时间。这款软件主要用于新闻杂志排版、海报制作、插画以及一些工艺图形设计中。

三、数字视频处理软件

1.Movie Maker Live

Movie Maker Live(影音制作)是Windows Vista及以上版本附带的一个免费影视剪辑小软件。它功能比较简单,可以导入并编辑幻灯片和视频、编辑配乐并添加主题等,可以简单明了地将多个家庭视频和照片转变为家庭电影或商业广告,适合家用摄像后的一些小规模处理。

2.Adobe Premiere Pro

Adobe Premiere,2003年由Adobe公司推出,是一款常用的视频编辑软件,用于视频段落的组合和拼接,提供一定调色、美化音频、字幕添加、DVD刻录等功能,并可与其他Adobe软件高效集成,以满足在编辑、制作高质量作品方面的要求。

3.EDIUS

EDIUS是日本Canopus公司的优秀非线性编辑软件,专为广播和后期制作环境而设计,拥有完善的基于文件工作流程,提供了实时、多轨道、多格式混编、合成、色键、字幕和时间线输出功能。因其迅捷、易用和可靠的稳定性为广大专业制作者所广泛使用,是混合格式编辑的很好的选择。

4.绘声绘影

绘声绘影是加拿大corel公司制作的一款功能强大的视频编辑软件,具有图像抓取和编修功能,可以抓取,转换MV、DV、V8、TV和实时记录抓取画面文件,并提供有超过100多种的编制功能与效果,可导出多种常见的视频格式,甚至可以直接制作成DVD和VCD光盘。

四、动画制作软件

1.二维动画制作软件
(1) Flash

是目前流行的二维矢量动画制作软件之一。其基本功能包括绘图、编辑图形、补间动画和遮罩。它制作的动画短小精悍,被广泛用于网页动画的设计中,应用于广告、影视、动漫、游戏、演示产品宣传等领域。

(2) Animator Pro

是一个老牌的二维动画制作软件,由Autodesk公司开发。具有与传统动画相似的制作平台,将动画中的画面像拉开的胶卷底片一样,一格一格的呈现在屏幕上,以方便用户的设计与操作。

(3) Swish

是一个快速、简单的二维文字动画制作工具,可以创造形状、文字、按钮以及移动路径,也可以选择超过150种诸如爆炸、漩涡、3D旋转以及波浪等预设的动画效果,而且其中许多特效可以相互结合,以获得更加丰富的效果。

2.三维动画制作软件
(1) Softimage

是一款历史悠久、功能强大的工作站上应用的三维造型、绘图、动画软件,对于动画的制作尤其擅长。具有渲染、脚本编辑、动画编辑及场景管理等功能,制作的作品栩栩如生,
《侏罗纪公园》中的恐龙就是使用该工具创作的动画。

(2) Maya

是Autodesk旗下的三维动画制作软件。其功能完善,工作灵活,易学易用,主要应用于专业的影视广告、角色动画,电影特技。《星际战队》、《指环王》等影片中的电脑特技部分制作都是由它完成的

(3) 3D Max

是由Discreet公司开发的著名三维动画软件,被广泛应用于广告、影视、工业设计、建筑设计、游戏、辅助教学以及工程可视化等领域,《后天》中的部分电脑特技就是由它制作的。

第四节图像处理软件 P h o t o s h o p C S 6 \color{green}{第四节 图像处理软件Photoshop CS6} 第四节图像处理软件PhotoshopCS6

Adobe Photoshop简称“PS”,由美国Adobe公司开发和发行,是当前常用的平面图像处理软件,也是广告、出版、图形图像处理的首选平面设计工具。
(综合应用:Photoshop主界面的基本操作,图像处理功能:新建图像、画笔、绘图工具、图像尺寸缩放、几何变形、旋转、图像色彩调整、滤镜、图层、蒙版和路径功能)

一、系统工作界面

1.启动界面

启动PhotoshopCS6程序后,出现下图界面,并显示初始化相关模块进度等信息。

2.主界面

Photoshop CS6启动完成后,出现如下界面。

3.工具箱

Photoshop CS6工具箱界面如下图所示。使用某工具时,单击要使用的工具图标即可。如果工具右下角有小三角形,单击它可打开此工具的子菜单。

二、绘制图像和图像几何形状处理

1.绘制图像

选择菜单“文件”→“新建”,弹出“新建”对话框,在其中进行相应设置,新建一个默认大小的RGB图像文件,如下图所示。

(1)利用画笔绘制散布叶片

在“工具箱”中选择“画笔工具”,为取得更丰富的画笔绘制样式,可在“画笔面板”中进行详细设置。此处,选择画笔大小为95像素,画笔预设为“散布叶片”,如下图所示。

选中“形状动态”“散布”“颜色动态”和“平滑”复选框。“形状动态”中,“控制”选择“渐隐”模式,参数默认25;“最小直径”和“角度抖动”分别设置为0和100%。“布”中,“数量”和“数量抖动”分别为1和0%。“颜色动态中,“色相抖动”设置为100%。“平滑”无参数设置,直接选中即可。分别如下图所示。

在工具箱中,单击“设置前景色和背景色”图标,设置前景色为(R-242,G-146,B-68),背景色为白色。之后,在图像中单击或单击后拖曳鼠标,即可绘制出散落叶片的效果图,如下所示。

(2)利用绘图工具绘制形状

如果要绘制矩形框、圆形框等几何形状,可利用“钢笔工具”“自由钢笔工具”“矩形工具”“自定义形状工具”等绘制工具,并可通过设置不同的参数选项获得不同的图形效果。分别如下图所示。

2.图像几何形状处理

Photoshop可以对素材图像进行尺寸缩放、几何变形、旋转等几何处理。

(1)图像几何调整

打开素材图像,选择“图像”→“图像大小”命令,在弹出“图像大小”对话框中修改宽度、高度等数值,并单击“确定”按钮,即可得到调整尺寸后的图像,如下图所示。

调整时,除特殊要求外,建议选中“约束比例”复选框,以保持图像正确的宽高比例,避免大小调整造成图像比例失调。同时,尽量避免多次缩放图像,以免影响图像质量。
选择“图像”→“图像旋转”命令,通过选择“180度”“90度(顺时针)”“90度(逆时针)”“任意角度”和“水平翻转画布”“垂直翻转画布”等选项,可分别实现素材图像的旋转或镜像调整。如下图。

(2)图像选区几何调整

打开素材图像,利用“选框工具”在图像中划定选区,选择“编辑”→“变换”命令,通过选择“缩放”“旋转”“斜切”“扭曲”、“透视”“变形”等,选区四周会出现带调整块的虚线框,调整不同调整块,可实现选区图像多种形式的形状变形。达到预定缩放效果后,可双击虚线框内部或按< Enter >键完成调整。选择“旋转180度”“旋转90度(顺针)”等,可分别实现选区图像旋转和镜像等调整。

三、图像色彩调整和滤镜

1.图像色彩调整

在Photoshop CS6的“图像”→“调整”菜单中,给出了23种调整方法,可以实现对数字图像十分复杂的色彩调整。

(1)色阶调整

色阶调整命令,可以通过调整图像的暗色调、中间色调和高光部分的强度级别,校正图像的色调范围和色彩平衡。

(2)曲线调整

与色阶调整相比,曲线调整能够完成对图像更为丰富细致的颜色和色调调整。选择“图像”→“调整”→“曲线”命令,打开曲线对话框。

对话框中,横轴对应输入值,即表示图像在0~255亮度范围的像素分布情况。正方形框中灰色阴影部分,左右两侧波峰表示图像中暗色调和亮色调像素数量较多,而中间波谷表示图像中中间色调像素数量相对较少;纵轴对应输出值,即图像色调的调整数值,向上为加亮,向下为减暗;中间45度斜线代表了未经调整的图像色调值。

2.滤镜

滤镜,原指照相机镜头前选择性过滤自然光的附加镜头,用于增强图像效果或者产生特殊效果。Photoshop中的滤镜,样式和功能较传统照相机滤镜要强大得多,能够给图像创作出千变万化的特殊效果。

打开素材,利用“磁性套索工具”在图像水面部分建立选区,选择“滤镜”→“扭曲”→“波纹”命令,弹出“波纹”对话框,在对话框中通过选择大小和数量,实现水面逼真波纹效果。分别见下图。

四、图层和蒙版

1.图层

Photoshop中,图层可以看作是含有文字或图形等不同元素的一层图像,而含有不同元素的许多图层叠加后,就可以生成一幅完整的图像。就像在一张张透明的纸上作画,可以加入文本、图片、表格、插件,透过上面的纸可以看见下面纸上的内容,但是无论在上一层如何涂画都不会影响下面的纸,上面一层会遮挡住下面的图像。最后叠加起来,通过移动各层纸的相对位置或者添加更多的纸即可改变最后的合成效果。

打开素材,然后将图片拖曳至素材图像,这时在Photoshop界面右下角的图层面板中,就会看到有“背景”和“bird”两个图层,调整图片至背景图片左上角。见下图。

单击“背景”图层左侧的“眼睛”图标,隐去“背景”图层,只留下飞鸟图层,利用魔法棒和橡皮擦工具对飞鸟层进行“抠图”。首先栅格化飞鸟层(栅格化,简单讲就是将对象转换为位图,使其能够运Photoshop工具进行处理→“图层”→“栅格化”),然后选取魔法棒工具,取消勾选“消除锯齿”选项,其他默认。
删除其他元素,完成飞鸟抠图工作,重新显示“背景”层,即可看到合成后效果,如下图所示。

2.蒙版

Photoshop中的蒙版是一种遮盖工具,它可以分离和保护图像的局部区域。用蒙版选择了图像的一部分时,没有被选择的区域就处于被保护状态,这时再对选区运用颜色变化、滤镜和其他效果时,蒙版就能隔离和保护图像的其余区域,同时还可以将颜色或滤镜效果逐渐运用到图像上。从某种程度上讲,它是Photoshop中最准确的选择工具,利用蒙版可以自由、精确地选择形状、色彩区域。

Photoshop提供了三种蒙版:快速蒙版、图层蒙版和剪贴蒙版(矢量蒙版)。
快速蒙版为精确选取提供了可能。
图层蒙版在不损伤图像基础上,提供了针对局部区域的调整方式;
矢量蒙版则将矢量形状调整与图层紧密地结合起来,得到裁剪或规范图像的效果。

打开素材图像,拖曳名为cloud.jpg的白云图像至素材图像,生成cloud图层,并调整白云图层至适合大小,以全部覆盖背景。选中cloud图层,单击图层下方“蒙版”按钮,为该图层建立图层蒙版。
单击该图层蒙版,使其处于被编辑状态。然后设置前景色背景色为“前白后黑”,选中渐变工具,样式选为“前景色到背景色渐变”。拖动鼠标在白云图像由上到下划线,生成渐变效果,即可看到白云图像下部分被隐藏,调整适当渐变位置直至满意效果。分别见下图。

五、路径和综合效果

1.路径

Photoshop中,可以利用钢笔等工具绘制任意的规则或不规则、闭合或开放式的图形,即为路径,以此可以建立选区、定义文字排列形状,或者生成指定形状等图形。

打开素材图像,选择钢笔工具,在图像下方绘制波浪路径。使用“转换点工具”和“直接选择工具”调整至满意。

选择文字工具,在刚才绘制的路径上单击,输入需要的文字,则文字就会按照绘制的路径进行排列,调整文字大小,并适当添加描边、投影(选中文字图层,右击“混合选项”)等效果直至满意。
分别如下图所示。

2.综合效果

运用前面介绍的滤镜添加波纹、图层添加飞鸟、蒙版更换蓝天白云背景、路径添加指定形状文字操作对素材图像进行综合处理。
对比原始图像与处理后图像的不同效果。

第五节多媒体作品开发概述 \color{green}{第五节 多媒体作品开发概述} 第五节多媒体作品开发概述

(领会:多媒体作品的特点、基本模式、界面和设计原则、评价标准,开发流程。)

一、多媒体作品概述

多媒体作品有两个显著特点:
一是综合性,它将计算机、声像、通信技术合为一体,是计算机、电视机、录像机、传真机、音响等设备的综合应用。
二是充分的互动性,它可以形成人与机器、人与人及机器与机器间的互动,人机交流是多媒体作品最大的特点。

1.多媒体作品的基本模式
(1)示教型模式

该模式的多媒体作品主要用于教学、会议、商业宣传、影
视广告和旅游指南等场合。特点如下:

  • 外向性,以展示、演播、宣讲等形式向他人展开;

  • 很强的专业性和行业特点;

  • 简单而有效的操控性;

  • 适合大屏幕投影;

  • 作品通常配有教材或广告印刷品。

(2)交互型模式

该模式的多媒体作品主要用于自学,作品安装到计算机中后,使用者与计算机以对话形式交互式操作。

特点如下:

  • 交互性,一方面作品向使用者展示多媒体信息,另一方面使用者向作品提问或控制;

  • 而有效的操作形式;

  • 多采用自学类型;

  • 显示模式适合计算机显示器;

  • 界面色彩的设计与搭配比较自由;

  • 一般配有习题或解答;

  • 很强的通用性。

(3)混合型模式

介于示教型模式和交互型模式之间,兼备二者特点,主要
表现在以下方面

  1. 按照主题划分存储单元;

  2. 可根据需要配置不同的功能模块,以实现不同的功能;

  3. 根据使用环境的不同,定制不同版本的作品。

2.多媒体作品的设计原则
(1)界面设计原则
  1. 简洁明了;

  2. 布局合理;

  3. 适用性;

  4. 结合。

(2)创意设计原则

1)创新性;
2)科学性;
3)艺术性;
4)技术性。

二、多媒体作品的开发流程

1.确定目标

包括作品需求分析和目标确定。确定作品的开发目标,分析使用作品的用户、运行环境、作品规模、开发队伍、评价策略和标准。

2.编写脚本

即创作多媒体脚本,指将软件内容用文字表示,并标注好所需要的媒体和表现的方法。另外,还要对屏幕布局、交互方式进行设计。

(1)编写系统脚本

指为系统制作提供依据,根据开发确定的目标,进一步确定总体结构框架和设计指导思想。系统脚本的文字描述主要分为使用说明、系统内容和目标、系统脚本描述三部分。

(2)编写制作脚本

系统脚本只是一个概要性的描述,之后要进入具体的设计阶段,还必须对系统脚本所反映的作品目标进行仔细分析。编写制作脚本的过程,包括脚本分拆、划分各功能模块、具体内容设计和设计各部分功能的实现方式。

3.素材准备

一部分如文字、图像、声音、动画、影像等原始素材,需要通过一定的方法采集和制作,有些还需要加工与处理。制作素材是一项工作量很大的任务,制作中涉及的文件格式、硬件设备、处理软件、制作技巧都很多。

4.集成

集成阶段的主要任务是根据现有的多媒体硬件环境和设计要求,使用合适的多媒体创作工具,按照制作脚本的具体要求,把准备好的各种素材有机地融合在一起,形成一个具有特定功能的完整作品原型。

5.测试与评价
(1)测试

测试工作主要包括:

  1. 内容,测试内容的正确性,是否符合开发目标;

  2. 界面,测试界面有无缺陷,是否能更好地展示原型;

  3. 性能,由目标用户代表进行,确保原型是否符合方案中开发协议的要求;

  4. 容错,原型是否有容错功能。

    通过测试,可以很好地发现原型的错误、缺点和偏差。

(2)评价

作品评价的目的是促使作品开发的规范化。开发的多媒体作品既要符合行业标准,又要达到软件开发的目标和要求。评价由专家、项目开发小组成员、设计人员共同进行。

6.包装与维护
(1)包装

包装是所谓“眼球效应”的产物。包装之前,首先进行打包,即把全部文件进行捆绑,形成若干个集成文件,如有需要,生成安装文件和卸载文件。打包形成产品之后进行发行,通常根据传播媒体的不同,多媒体作品的发行分为CD发行和网上发行。

(2)维护

维护阶段的任务是改正作品在使用过程中发现的隐含错误,扩充在使用过程中由用户提出的新的功能及性能要求,其目的是保证作品的正常使用。

本章重难点回顾 \color{red}{本章重难点回顾} 本章重难点回顾

1.多媒体、多媒体技术的定义;
2.声音、图像和视频的数字化过程;
3.动画与视频的区别;
4.声音、图像、视频和动画的多种格式及适用范围;
5.平面图像处理软件Photoshop CS6的使用。

应试指导 \color{red}{应试指导} 应试指导

考核目标

在考核目标中,有识记、领会、简单应用和综合应用四个能
力要求。四个能力层次是递升的关系,后者必须建立在前者的基
础上。

识记:要求考生能够识别和记忆本课程中有关的概念性内容(如各种计算机相关的术语、定义、特点、分类、组成、过程、功能、作用等),并能够根据考核的不同要求,做出正确的表述、选择和判断。

领会:要求考生能够理解计算机是如何工作的、为什么采用二进制、软件与硬件有什么关系、编程语言有什么共性、应用程序开发的一般过程是什么等基本原理方面的内容。

简单应用:要求考生能够根据已知的计算机的基本概念、基本原理等基础知识,分析和解决一般的应用问题,如进位计数制的转换、多媒体的信息表示等。

综合应用:要求考生能够综合运用计算机的原理、方法、技术等,分析或解决较为复杂的应用问题。如在Android系统中开发简单的手机应用;在Visual Studio 2010中完成程序的建立、编译、链接、调试、运行;在Linux中应用vi、GCC、GDB、Git分别建立、编译、链接、调试、运行程序,对程序进行版本管理;应用Photoshop对图像进行处理等。

考试题型介绍

考题特点

1.考题包含信息量庞大
2.细节知识点极多
3.综合类题目需要记忆部分软件操作流程

复习备考建议

1.知识点非常多、信息量庞大,需牢记常识类细节知识

2.有效利用“考核内容与考核要求”,针对“识记”、“领会”、“简单应用”、“综合应用”的不同要求,在学习时做到心中有数。
3.针对软件操作类知识,建议学习同时加强上机操作练习。

章节内容

第一章计算机及其应用概述
第二章计算机系统软件概述
(基本输入输出系统、操作系统、编译系统、数据库管理系
统、Android系统)
第三章应用软件开发工具介绍(VS 2010,Linux,Git)
第四章计算机网络
第五章信息系统安全
第六章多媒体技术(PSCS6,多媒体信息表示)

更多推荐

计算机应用技术

本文发布于:2023-04-14 23:59:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/9349b6d034451ebee45eb65286bea4f6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:计算机应用技术

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 77301文章数
  • 14阅读数
  • 0评论数