2022下半年软考程序员总结(未完)
0 前言
- 编辑时间:2022 年下半年软考前
- 整理时间:2023年3月初
- 总结说明:因为最近又发现了这篇总结,发现新的一年软考已经开始了,于是又整理了一下。本文是为了 22 年软考—程序员。在练题时顺便做的一些知识总结。程序员怎么考,这里就不做介绍了。直接开始本文的介绍。文章分为了两块主要部分。上午题和下午题。主要的知识点也就在这两部分。同时因为总结的知识点几乎都是本人做历年真题(2010-2019)所经历而总结的,所以总结的知识体系必定不完整,划分也并不一定准确。请各位读者一定不要听本人一面之词。如果发现错误点,请见谅。指教必改。
- 知识框架:这里就不单独列了,读者可通过目录直观的看出知识架构。
1 上午
1.1 计算机基础
1.1.1 硬件基础
1.1.1.1 CPU 部分
主机:由CPU(运算器、控制器)和存储器(内存)三部分组成
| 主机部分 | 描述 | 构成 | 补充 |
|---|---|---|---|
| 运算器 | 主要完成算术运算和逻辑运算(核心),实现对数据的加工与处理 | 基本都包括:算术和逻辑运算单元、累加器(AC)、状态字寄存器(PSW)、寄存器组及多路转换器等 | 累加器:在运算过程中暂时存放操作数和中间运算结果。不能用于长时间保存数据 寄存器:CPU 内部的临时存储单元 |
| 控制器 | 获取指令并进行分析 | 由程序计数器(pc),指令寄存器,状态字寄存器、时序产生器和微操作信号发生器等组成 | |
| 存储器 | 存放数据和各种程序的装置 | 由存储单元集合体、地址寄存器、译码驱动电路、读出放大器以及时序控制电路等几部分组成 |
CPU 中的寄存器
- 寄存器:给有特定功能的内存单元取一个别名,这个别名就叫做寄存器
- 通常分为存放数据的寄存器、存放地址的寄存器、存放控制信息的寄存器、存放状态信息的寄存器和其他寄存器等类型
| 寄存器类型 | 描述 | 用途 |
|---|---|---|
| 通用寄存器 | 作为暂时存放数据的存储设备 | |
| 程序计数器(PC) | 又称为指令计数器。当程序顺序执行时,每取出一条指令,PC 内容自动增加一个值,指向下一条要取的指令。当程序出现转移时,则将转移地址送入PC,然后由 PC 指向新的程序地址 | 用于给出指令的内存地址。发生中断时,需要保护 CPU 的工作现场,由硬件保护并更新程序计数器的内容,可以快速进入中断处理程序并正确返回被中断的程序 |
| 指令寄存器(IR) | 当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至 IR,指令寄存器中操作码字段的输出就是指令译码器的输入 | 用来保存当前正在执行的指令 |
| 状态寄存器 | 也称为状态字寄存器 | 用于保存指令执行完成后产生的条件码 |
| 指令译码器 | 操作码一经译码后,即可向操作控制器发出具体操作的特定信号 | 识别所要求的操作,对操作码进行测试,以实现执行任何给定的指令 |
| 地址寄存器(AR) | 由于在内存和 CPU 之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止 | 用来保存当前 CPU 所访问的内存单元的地址 |
| 数据寄存器 | 反之,当向内存写入一个数据字时,也暂时将它们存放在数据缓冲寄存器中 | 用来暂时存放由内存储器读出的一条指令或一个数据字 |
CPU 指令系统架构:RISC(精简指令集计算机) 和 CISC(复制指令集计算机)
- RISC 指令系统的特点:
- 选取使用频率最高的一些简单指令,指令条数少
- 指令长度固定,指令格式种类少
- 只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行
指令中的寻址方式
- 寻址方式:如何对指令中的地址字段进行解释,以获得操作数的方法或获得程序转移地址的方法
| 常见寻址方式 | 描述 |
|---|---|
| 立即寻址 | 操作数就包含在指令中 |
| 直接寻址 | 操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址 |
| 寄存器寻址 | 操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名 |
| 间接寻址 | 指令中给出操作数地址的地址 |
| 寄存器间接寻址 | 操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中 |
| 相对寻址 | 指令地址码给出的是一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移量 |
| 变址寻址 | 操作数地址等于变址寄存器的内容加偏移量 |
1.1.1.2 存储器部分
存储器分类
- 按照所处位置:内存储器、外存储器(一下简称内存和外存)
- 内存:CPU可直接访问的存储器,和CPU一起构成计算机主机
- 外存:主机的外部设备,用来长期保存程序或数据
- 按照材料:磁存储器、光存储器
- 磁存储器:磁盘
- 光存储器:光盘
- 按照读写:读写存储器、只读存储器
内存的分类
-
RAM(随机访问存储器)
RAM 存储器类型 描述 特点 主要用途 DRAM(动态随机存取存储器) 使用电容存储,为了保持数据,必须隔一段时间刷新一次,如果存储单元没有被刷新,存储的信息就会丢失 断电后内容消失 内存部件 SRAM(静态随机存取存储器) 利用晶体管来存储数据,不需要刷新电路即能保存它内部存储的数据 需要很大的体积,功耗较大 Cache (高速缓存) CMOS(互补金属氧化物半导体) 制造大规模集成电路芯片用的一种技术或用这种技术制造出来的芯片 是计算机主板上的一块可读写的 RAM 芯片 存储硬件配置,保存 BIOS 设置完计算机硬件参数后的数据 -
ROM(只读存储器):其内容被固化,断电时内容不丢失。通常用于存储计算机的引导程序
ROM 存储器 描述 PROM(可编程的只读存储器) 内容可以由用户一次性地写入,写入后不能再修改 EPROM(可擦除可编程只读存储器) 内容既可以读出,也可以由用户写入,写入后还可以修改。改写的方法是,写入之前先用紫外线照射15〜20分钟以擦去所有信息,然后再用特殊的电子设备写入信息 EEPROM(电擦除的可编程只读存储器) 与 EPROM 相似,EEPROM 中的内容既可以读出,也可以进行改写。只不过这种存储器是用电擦除的方法进行数据的改写 -
Cache:高速缓冲存储器
-
一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问
-
Cache 的出现是基于两种原因:
- 首先是由于 CPU 的速度和性能提高很快而主存速度较低且价格高
- 其次就是程序执行的局部性特点
-
因此,将速度比较快而容量有限的 SRAM 构成 Cache,目的在于尽可能发挥 CPU 的高速度
-
主存
- 主存是 CPU 可以直接访问的存储器,需要执行的程序与需要处理的数据就是存放在主存中。通常可以认为主存=内存。但是不完全,主存是不包括ROM,但是ROM是内存的一部分
- 构成:主要由存储体、控制线路、地址寄存器、数据寄存器和地址译码电路等部分组成
- 主存储器容量的大小反映了计算机即时存储信息的能力
磁盘
-
构成:盘片、驱动器、控制器和接口组成
- 盘片:用来存储信息
- 驱动器:用于驱动磁头沿盘面作径向运动以寻找目标磁道位置,驱动盘片以额定速率稳定旋转,并且控制数据的写入和读出
-
磁盘的基本概念
磁盘的基本概念 描述 磁道 每个盘片的盘面被划分成多个狭窄的同心圆环,数据就存储在这样的同心圆环上面,我们将这样的圆环称为磁道。使用时要对磁道进行编号,按照半径递减的次序从外到里编号,最外一圈为 0 道,往内道号依次增加 扇区 为了便于记录信息,磁盘上的每个磁道又分成若干段,每一段称为一个扇区 硬盘的寻址信息 由硬盘驱动号、圆柱面号、磁头号(记录面号)、数据块号(或扇区号)以及交换量组成 记录面 硬盘中记录信息的磁介质表面 硬磁盘的主要技术指标 道密度、位密度、存储容量、平均存取时间、寻道时间、等待时间、数据传输率 -
磁盘的技术评价指标
| 部分技术指标 | 描述 | 补充 |
|---|---|---|
| 位密度 | 指在磁道圆周上单位长度内存储的二进制位的个数。虽然每个磁道的周长不同,但是其存储容量却是相同的 | 因此,同一个磁盘上每个磁道的位密度都是不同的。 最内圈的位密度称为最大位密度 |
| 存储容量 | 磁盘的容量有非格式化容量和格式化容量之分。一般情况下,磁盘容量是指格式化容量 | 非格式化容量=位密度X内圈磁道周长X每个记录面上的磁道数X记录面数格式化容量=每个扇区的字节数X每道的扇区数X每个记录面的磁道数X记录面数 |
| 寻道时间 | 指磁头移动到目标磁道(或柱面)所需要的时间,由驱动器的性能决定, 是个常数,由厂家给出 | |
| 等待时间 | 指等待读写的扇区旋转到磁头下方所用的时间,一 般选用磁道旋转一周所用时间的一半作为平均等待时间 | 提高磁盘转速缩短的是平均等待时间 |
光盘
- DVD-RAM、DVD-RW 是 DVD 技术所支持的两种不同的可多次擦除重写的 DVD 光盘格式
- CD-R指一次性可写(刻录)CD 光盘
- CD-RW指可多次擦除、重写的 CD 光盘
虚拟存储器
- 将内存与外存(辅存)结合使用,好像有一个容量极大的内存储器,工作速度接近于主存,每位的成本又与辅存相近,在整机形成多层次存储系统
- 虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量,一般用户的逻辑地址空间可以比主存的绝对地址空间要大
- 运行方式:根据程序执行的互斥性和局部性两个特点,允许在内存只装入程序的一部分,而另一部分放在磁盘上,当需要的时候再装入到主存,这样一来,在一个小的主存空间就可以运行一个比它大的程序
- 管理:虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理
- 工作过程包括6个步骤:
- 中央处理器将访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即以a为索引查地址变换表,以确定该组信息是否在主存中
- 若该组号已在主存,则转而执行4;否则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将需要的这组信息调入主存
- 从辅存读出所要的组,并送到主存空闲区,并登记在地址变换表中
- 从地址变换表读出与逻辑组号a对应的物理组号a
- 从物理组号a和组内字节地址b得到物理地址根据物理地址从主存中存取需要的信息
1.1.2 计算机系统
1.1.2.1 CPU 部分原理
周期
- 通常分为时钟周期、机器周期、指令周期。
- 三者关系:指令周期通常用若干个机器周期表示, 而机器周期时间又包含有若干个时钟周期
| 周期类型 | 描述 | 说明 |
|---|---|---|
| 时钟周期 | 也称震荡周期,定义为时钟脉冲的倒数,是计算机中最基本的、最小的时间单位 | 在一个时钟周期内,CPU 仅完成一个最基本的动作。人们规定 10 纳秒(ns)为一个时钟周期,更小的时钟周期就意味着更高的工作频率 |
| 机器周期 | 内存中读取一个指令字的最短时间,指令不同,所需的机器周期数也不同 | 对于一些简单的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其他的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。 从指令的执行速度看,单字节和双字节指令一般为单机器周期和双机器周期,三字节指令都是双机器周期,只有乘、除指令占用 4 个机器周期。在编程时要注意选用具有同样功能而机器周期数少的指令 |
| 指令周期 | 执行一条指令所需要的时间,一般由若干个机器周期组成(执行完所需的全部时间) | 也就是 CPU 从内存取出一条指令并执行这条指令的时间总和 |
主频 & 外频 & 倍频
| 说明 | |
|---|---|
| 主频 | CPU 的工作频率,也就是 CPU 的时钟频率。 一般来说,一个时钟周期完成的指令数是固定的,所以主频越高,CPU 的速度也就越快,故常用主频来描述 CPU 的运算速度 |
| 外频 | 系统总线的工作频率 |
| 倍频 | CPU 外频与主频相差的倍数。主频=外频X倍频 |
字长:CPU 在单位时间内(同一时间)能一次处理的二进制数的位数
- 是计算机进行运算和数据处理的基本信息单位
- 通常处理字长为 8 位数据的 CPU 叫 8 位 CPU, 32 位 CPU 就是在同一时间内可处理字长为 32 位的二进制数据
1.1.2.2 系统总线
总线:计算机各个功能之间传送信息的公共通信干线
系统总线分类:从功能上分为三类,包括地址总线、数据总线和控制总线
- 地址总线:用于数据传送CPU与内存或外设之间的地址信息
- 地址总线决定了可寻址的内存容量
- 地址总线宽度:决定了 CPU 可以访问的物理地址空间,简单地说就是 CPU 到底能够使用多大容量的内存
- 数据总线:用于数据传送CPU与内存或外设之间的数据信息
- 数据总线宽度:指在芯片内部数据传送的宽度,数据总线宽度决定了 CPU 与二级缓存、内存以及输入/输出设备之间一次数据传输的信息量
- 数据总线的宽度决定了字长
1.1.2.2 XX评价指标
磁盘
- 硬盘的性能指标:主要包括磁盘转速、容量、平均寻道时间
- 硬盘平均访问时间=平均寻道时间+平均等待时间
- 平均寻道时间(Average seek time):指硬盘在盘面上移动读写头至指定磁道寻找相应目标数据所用的时间,它描述硬盘读取数据的能力,单位为毫秒
- 平均等待时间:也称平均潜伏时间(Average latency time),是指当磁头移动到数据所在磁道后,然后等待所要的数据块继续转动到磁头下的时间
CPU
- MIPS(单字长定点指令平均执行速度 Million Instructions Per Second),每秒处理百万级的机器语言指令数:衡量CPU速度的一个指标
计算机系统
- MFLOPS (Million Floating-point Operations per Second,每秒百万个浮点操作)衡量计算机系统的技术指标,不能反映整体情况,只能反映浮点运算情况
- 平均无故障时间(MTBF):指系统多次相继失效之间的平均时间,该指标和故障率用来衡量系统可靠性
- 平均修复时间(MTTR):指多次故障发生到系统修复后的平均间隔时间,该指标和修复率主要用来衡量系统的可维护性
- 数据处理速率:通常用来衡量计算机本身的处理性能
周期
- CPI(Clockcycle Per Instruction) :指每条指令的时钟周期数
总线
-
性能指标:带宽、位宽、工作频率
-
带宽:单位时间上传送的数据量、地址和控制信号
-
位宽:能同时传送的二进制数据的位数,或数据总线的位数。常见:32 位和64 位
-
工作频率:工作时钟频率 MHz 为单位
-
1.1.3 数据表示
原码、反码、补码
-
在原码中,数值 0 对于两种形式:[+0原]=0 0000000、[-0原]=1 0000000
-
补码:数值 X 的补码记作 [X] 补,如果机器字长为 n,则最高位为符号位,0 表示正号,1 表示负号,表示的整数范围为\(-2^{n-1}〜2^{n-1}-1\)
- 正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1
-
计算机中常用原码、反码、补码和移码表示数据, 其中表示 0 时仅用一个编码的是补码和移码
-
计算方式:
-
原码:与原来相同的编码格式
-
反码:按位取反
-
补码:按位取反+1
-
例题
-
在所有四位二进制数(从 0000 至 1111 )中,数字 0 和 1 数目相同的数占_________。
- 答案:37.5%
- 解析:4 位二进制数(包括 24)有 16 个数:0000, 0001,0010, 0011, 0100, 0101,0110, 0111, 1000, 1001, 1010, 1011,1100, 1101, 1110, 1111。其中数字 0 和 1 数目相同的数有 0011, 0101, 0110, 1001,1010, 1100 这 6 个,占\(\frac6{16}=37.5\%\)
-
在6位二进制数中,0 和 1 各有 3 位的数有()个,比例为()。
-
答案:\(\frac{6!}{3!3!}=20\), \(\frac{20}{26}=31.25\%\)
-
解析:如果将 0 与 1 作为随机出现的数,则 4 次中各出现两次的概率不到 50%。位数更多时,这种比例还会更低。
0 比较多或 1 比较多的情况是大多数。按照对称性,0 比较多的比例与 1 比较多的比例应相同,0 和 1 的个数正巧相同的可能性并不大。这是随机波动性的特征
-
-
地址编号 A0000H 至 DFFFFH 的内存空间中共有( )个内存空间。
- 答案:218个
- 解析:\(DFFFF-A0000=3FFFF,3\times16^4+F\times16^3+F\times16^2+F\times16^1+F\times16^0=262143\)个,再+1就是内存空间总数:\(262143+1=262144\)
八进制数转为的二进制
- 方法:将八进制的一位数字以三位二进制表示,通过二进制位置对应的数字相加为八进制即可
- 例题:
- 将八进制 1706 的四位数字转为二进制。
- 答案:1 111 000 110
- 解析:1对应 001;7 对应 111,0 对应 000,6 对应 110。因为三位二进制分别表示十进制 4、2、1,而八进制 7,就等于十进制 4+2+1,所以二进制为 111,结果为:1 111 000 110。其他类似
- 将八进制 1706 的四位数字转为二进制。
二进制化为十六进制
- 方法与八进制转二进制类似,与八进制不同的是以四位二进制表示一位十六进制,二进制若高位不足补 0
- 例如:11 1100 0110,从右往左4位一组可得对应的16进制数 3C6
浮点数
- 阶码:决定数值范围
- 尾数:表示数值的精度
- 对阶的原则:小阶对大阶,采用补码表示的尾数右移时,符号位保持不变
短路运算
- 且:前面是0时,且后面的不计算。
- 或:前面不是0时,或后面的不计算
1.2 操作系统
1.2.1 进程管理
进程
-
一般具有三种基本状态:运行态、就绪态和阻塞态。
-
当CPU空闲时,系统将根据某种调度算法选择处于就绪态的一个进程进入运行态
-
当CPU的一个时间片用完时,当前处于运行态的进程就进入了就绪态
-
信号量 S(semaphore)
- 信号量 S 用于互斥,初值为 1,信号量的值仅能通过 PV 操作改变
- 信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关
- 物理意义为:当S>=0,表示资源的可用数;当S<0时,其绝对值表示等待资源的进程数
PV 操作
-
PV 操作:P 操作原语(不可中断的过程)和 V 操作原语组成,用于对信号量进行操作
-
PV 操作的意义:用信号量及 PV 操作来实现进程的同步和互斥。PV操作属于进程的低级通信
-
具体定义
操作名 操作状态 状态转换 P(S) 申请资源,将信号量 S 的值减 1,即 S=S-1 如果 S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列 V(S) 释放资源,将信号量 S 的值加 1,即 S=S+1 如果 S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程
进程调度方式
- 指某进程正在运行,当有更高优先级的进程到来时如何分配 CPU
- 调度方式分为可剥夺和不可剥夺两种
- 可剥夺式是指当有更高优先级的进程到来时,强行将正在运行进程的 CPU 分配给高优先级的进程
- 不可剥夺式是指当有更高优先级的进程到来时,必须等待正在运行进程自动释放占用的 CPU,然后将 CPU 分配给高优先级的进程
1.2.2 存储管理
常用的磁盘调度算法
| 磁盘调度 | 描述 | 特点 |
|---|---|---|
| 先来先服务算法 | 最简单的磁盘调度算法,它根据进程请求访问磁盘的先后次序进行调度 | 该算法可能会随时改变移动臂的运动方向 |
| 最短寻道时间优先算法 | 根据进程请求访问磁盘的寻道距离短的优先调度 | 该算法可能会随时改变移动臂的运动方向 |
| 电梯调度算法 | 是先响应同方向(向内道或向外道方向)的请求访问,然后再响应反方向的请求访问,如同电梯的工作原理一样 | 若该方向上无请求访问时,就改变臂的移动方向再选择 |
| 单向扫描算法 | 是电梯调度法的改进,该算法在返程时不响应请求访问,目的是为了解决电梯调度法带来的饥饿问题 | 不改变臂的移动方向 |
页式存储管理
-
文件目录:是由文件控制块组成的,专门用于文件的检索
-
页内地址的宽度是页面大小;页号的宽度就是页面总数
- 例题:设有一个 64K×32 位的存储器(每个存储单元为 32 位),其存储单元的地址宽度为()
- 答案:16
- 解析:\(\frac{64\times32}{32}k=2^{16}\) ,所以总共16位
- 例题:设有一个 64K×32 位的存储器(每个存储单元为 32 位),其存储单元的地址宽度为()
-
缺页中断
-
在请求分页系统中, 当访问的页面不在主存时会产生一个缺页中断,缺页中断在一条指令执行期间可能会产生多次,每当发生缺页中断并进行处理后,将返回到被中断指令开始重新执行
- 当运行进程访问的页面不在主存且主存中没有可用的空闲块时,系统应该先产生缺页中断,然后依次按照决定淘汰页一页面调出一页面调入的顺序进行处理
-
缺页中断与一般中断的主要区别:
- 缺页中断:是在指令执行期间产生并进行处理的
- 一般中断:是在一条指令执行完,下一条指令开始执行前进行处理的
-
电子邮箱
- 经用户申请后由邮件服务机构为用户建立的。建立电子邮箱就是在其邮件服务器的硬盘上为用户开辟一块专用的存储空间,存放该用户的电子邮件
1.2.3 设备管理
CPU 与 I/O 设备交换数据时常见的控制方式:程序查询方式、中断方式、DMA 方式和通道方式
- 程序查询方式:CPU 执行指令查询外设的状态,在外设准备好的情况下才输入或输出数据
- 中断方式:外设准备好接收或发送数据时发出中断请求,CPU 无需主动查询外设的状态
- DMA 方式下,数据传送过程是直接在内存和外设间进行的,不需要 CPU 执行程序来进行数据传送
- CPU 与外设可并行工作
串行接口 & 并行接口
- 串行接口:采用串行传送方式,数据的所有位按顺序逐位输入或输出。一般情况下,接口与 I/O 设备之间采用串行传送方式,而串行接口与主机之间则采用并行方式
- 并行接口:采用并行传送方式,即一次把一个字节(或一个字)的所有位同时输入或输出,同时(并行)传送若干位。并行接口一般指主机与 I/O 设备之间、接口与 I/O 设备之间均以并行方式传送数据
- 一般来说,并行接口适用于传输距离较近、速度相对较高的场合,接口电路相对简单;串行接口则适用于传输距离较远、速度相对较低的场合
时间片轮转分配算法在操作系统设备管理中,通常不能采用
1.2.4 作业管理
1.2.4.1 数据校验
奇偶校验编码:是一种检错码,通过增加一位校验位来使编码中“1”的个数恒为奇数(奇校验)或者为偶数(偶校验)。
- 分类:在实际使用时又可分为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验等几种
- 对于奇偶校验,若合法编码中奇数个位发生了错误,也就是编码中的1变成0或0变成1,则编码中1的个数的奇偶性就发生了变化,从而可以发现错误,但不能检测出是哪些位出错。
- 例如:采用偶校验编码时,数据位和校验位中“1”的个数应是偶数。当接收方收到的8位数据中“1”的个数为奇数时,可以确定传输过程中出错
海明码
- 是一种多重奇偶校验检错系统,利用奇偶性来校验数据,通过在数据位之间插入K个校验位来扩大码距,从而实现检错和纠错
- 海明码中数据信息位与校验位需要满足一定的位置关系
- 校验位:位于 2i 的位置,其余位设置为数据位
循环冗余校验码(CRC)
- 基本原理是在尺位信息码后再拼接位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码
1.3 数据库
1.3.1 基本知识
外键:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系外键
- 如果关系模式 R 中的属性或属性组不是当前关系的键,但它是其他关系的键,那么该属性或属性组对关系模式 R 而言是外键
- 外键表示了两个关系之间的相关联系。
- 主表 and 从表:以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表
简单属性 & 复杂属性
- 简单属性是原子的、不可再分的
- 复合属性可以细分为更小的部分(即划分为别的属性)
数据模型:通常分为两类,关系模型和非关系模型。主要有关系模型、网状模型、层次模型和面向对象模型
- 关系模型:
- 在关系模型中用二维表格结构表达实休集,以及实休集之间的联系
- 优点:关系模型的关系数据库则较好地解决数据独立性这些问题,最大特色是描述的一致性
- 应用:关系数据库系统采用关系模型作为数据的纽织方式
- 非关系模型:主要指网状模型和层次模型
- 优点:很好地解决了数据的集中和共享何题
- 不足:在数据独立性和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径
- 真题:关系 R 与 S 可以进行并、交、差运算:具有相同的关系模式,即关系 R 与 S 的结构相同(对)
数据独立性:指应用程序和数据之间相互独立、不受影响,即数据结构的修改不会引起应用程序的修改。包括物理数据独立性和逻辑数据独立性
- 物理数据独立性:数据库物理结构改变时不必修改现有的应用程序
- 逻辑数据独立性:数据库逻辑结构改变时不用改变应用程序
外模式/模式映象
- 作用:保证逻辑独立性
- 定义在外模式描述中,把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系起来 ,保证逻辑独立性;当模式改变时,只要对外模式/模式映象做相应的改变,使外模式保持不变,则以外模式为依据的应用程序不受影响,从而保证数据的逻辑独立性(数据与程序之间的逻辑独立性)
模式/内模式映象:
- 作用:保证物理独立性
- 定义在模式描述中,把描述全局逻辑结构的模式与描述物理结构的内模式联系起来 ,保证物理独立性:当内模式改变时,比如存储设备或存储方式有所改变,只要模式/内模式映象做相应的改变,使模式保持不变,则应用程序保持不变
视图:可以被看成是虚拟表或存储查询。视图访问的数据不作为独特的对象存储在数据库内
- 可帮助用户屏蔽真实表结构变化带来的影响,实现数据的逻辑独立性
E-R 方法
- 概念结构设计常用方法是 E-R 方法。它采用 E-R 模型将现实世界的信息结构统一由实体、属性,以及实体之间的联系来描述。
- 使用 E-R 方法,无论是哪种策略,都要对现实事物加以抽象认识,以 E-R 图的形式描述出来
Armstrong 公理系统的传递律规则:传递律:若 X→Y 和 Y→Z 在 R 上成立,则 X →Z 在 R 上成立
1.3.2 关系运算
-
真题:查询供应商及价格小于等于 2500 元且大于 等于 1280 元的“电冰箱”的数量的 SQL 语句应该采用 Between…AND…,故完整的 SQL 语句为:
SELECT商品名,供应商名,价格,数量 FROM P WHERE 商品名='电冰箱' AND 价格 Between 1280 AND 2500;
1.3.3 数据库语言
UNIQUE:数据库限制唯一语句语法
modify:修改字段的属性
完整性约束
- 真题:属性”性别”的取值巧能为 M 或 F,因此需要用语句
CHECK(性别 IN ('M',F))进行完整性约束 - 外键需要用语句 “REFERENCES“进行参考完整性约束
投影操作:从关系R中选择出若干属性列组成新的关系,该操作对关系进行垂直分割,消去某些列,并重新安排列的顺序,再删去重复元组
并运算符:U。
- RUS 的含意为 R 关系的记录(元组)与 S 关系的记录(元组)进行合并运算
数据库完整性(Database Integrity):指数据库中数据的正确性和相容性
- 数据库完整性约束包括实体完整性、参照完整性和用户定义完整性
| 数据库完整性约束 | 描述 | 补充 |
|---|---|---|
| 实体完整性(Entity Integrity) | 属于表中行的完整性,要求每个关系(表)有且仅有一个主键,每一个主键值必须唯一,而且不允许为“空”(NULL)或重复 | 主要用于保证操作的数据(记录)非空、唯一且不重复 |
| 参照完整性(Referential Integrity) | 属于表间规则。实现了表与表之间的联系,外键的取值必须是另一个表的主键的有效值,或是“空”值 | 若属性组 F 是关系模式 R1 的主键,同时 F 也是关系模式 R2 的外键,则在 R2 的关系中,F 的取值只允许两种可能:空值或等于 R1 关系中某个主键值 |
| 用户定义完整性(User-defined Integrity) | 也称域完整性规则,是对数据表中字段属性的约束。包括字段的值域、字段的类型和字段的有效规则(如小数位数)等约束,是由确定关系结构时所定义的字段的属性决定的 | 百分制成绩的取值范围在0〜100之间;性别取值为“男”或“女”等 |
1.4 多媒体
1.4.1 多媒体分类
媒体分类:按照国际电话电报咨询委员会(CCITT)的定义,媒体可以归类为感觉媒体、表示媒体、表现媒体、存储媒体、传输媒体
| 分类 | 说明 | 示例 |
|---|---|---|
| 感觉媒体 | 直接作用于人的感觉器官,使人产生直接感觉的媒体 | 引起听觉反应的声音、引起视觉反应的图像等 |
| 表示媒体 | 传输感觉媒体的中介媒体,即用于数据交换的编码 | 图像编码(JPEG、MPEG)、文本编码(ASCII、GB2312)和声音编码等 |
| 表现媒体 | 进行信息输入和输出的媒体 | 键盘、鼠标、扫描仪、话筒、摄像机等为输入媒体,显示器、打印机、喇叭等为输出媒体 |
| 存储媒体 | 用于存储表示媒体的物理介质 | 磁盘、光盘、ROM及RAM等;传输媒体指传输表示媒体的物理介质,如电缆、光缆、电磁波等 |
视频
- 视频文件格式主要有:Flic 文件、AVI 文件、Quick Time 文件、MPEG 文件和 RealVideo 文件格式
1.4.2 图像
彩色查找表:生成图像时,对图像中不同色彩进行采样,产生的包含各种颜色的颜色表
伪彩色:描述像素的颜色由每个基色分量的数值直接决定,把像素值作为彩色查找表的表项入口地址,去找出相应的 R、G、B 强度值所产生的彩色
计算机图像文件格式分类:主要分为两大类,静态图像文件格式和动态图像文件格式
- 静态图像文件格式:JPEG(拓展名:jpg)、PDF、PNG、TIFF(扩展名为 .tiff 或 tif)、BMP(Windows操作系统中的标准图像文件格式)
GIF
- GIF 分为静态 GIF 和 动画GIF ,扩展名为.gif,是一种压缩位图格式,支持透明背景图像,适用于多种操作系统,“体型”很小。支持伪彩色图像存储格式
- GIF 是将多幅图像保存为一个图像文件,从而形成动画,最常见的就是通过一帧帧的动画串联起来的 gif 图,所以归根到底 GIF 仍然是图片文件格式
估算数据量:扫描生成一幅图像时,实际上就是按一定的图像分辨率和一定的图像深度对模拟图 片或照片进行采样,而生成一幅数字化的图像。图像的图像分辨率越高,图像深度越深,则数字化后的图像效果越逼真,图像数据量越大
-
如果按照像素点及其深度映射图像数据大小采样,可用公式:
\[图像数据量=图像的总像素\times\frac{图像深度}8 (字节)\quad(图像的总像素为图像的水平方向像素乘以垂直方向像素数) \]来估算数据量
- 例如:一幅分辨率为 \(320\times240\) 的 \(256\) 色未压缩图像所占用的存储空间计算公式为:\(\frac{320\times240\times8}{8\times2^{10}}\)
图像的基础计算
- 每英寸 300DPI,3x3 英寸是 900x900 DPI
- 真题:使用 150DPI 的扫描分辨率扫描一幅 3x4 英寸的彩色照片,得到原始的 24 位真彩色图像的数据量是 810000 Byte
- (150X3X150X4X24)/8=81000
描述一幅画:
- 矢量图:根据几何特性、通过多个对象的组合生成图形,矢量可以是一个点或一条线。用系列计算机指令来描述幅图的内容
- 对象:矢量文件中的图形元素。每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性
- 位图:也称为点阵图、像素图等。由像素阵列的排列来实现其显示效果,每个像素有自己的颜色信息,可以改变图像的色相、饱和度、明度,从而改变图像的显示效果。
- 对位图进行缩放时会失真
- 构成位图的最小单位是像素。在对位图图像进行编辑操作对象是每个像素
1.4.3 声音
声音:是一种模拟信号,计算机要对它进行处理,必须将它转换为数字声音信号,即用二进制数字的编码形式来表示声音
- 采样-量化法:最基本的声音信号数字化方法。分为采样、量化和编码 3 个步骤
- 采样:把时间连续的模拟信号转换成时间离散、幅度连续的信号
- 量化处理:把在幅度上连续取值(模拟量)的每一个样本转换为离散值(数字量)表示
- 量化后的样本是用二进制数来表示的, 二进制位数的多少反映了度量声音波形幅度的精度, 称为量化精度
- 编码:按照一定格式进行数据编码及组织成文件,可选择数据压缩编码存储,减少存储量
- 为了便于计算机的存储、处理和传输
波形声音:一个用来表示声音强弱的数据序列,它是由模拟声音经采样、量化和编码后得到的便于计算机存储和处理的数据格式
- 声音信号数字化后,其数据传输率(每秒位数)与信号在计算机中的实时传输有直接关系,而其总数据量又与计算机的存储空间有直接关系
- 数字波形声音数据量非常大,因此在编码的时候常常要采用压缩的方式来压缩数字数据以减少存储空间和提高传输效率(降低传输带宽)
MIDI 数据:乐谱的数字描述,也称为 MIDI 消息。每个消息对应一个音乐事件(如键压下、键释放等),MIDI 能指挥各音乐设备的运转,而且具有统一的标准格式,能够模仿原始乐器的各种演奏技巧甚至无法演奏的效果,而且文件的长度非常短,一组 MIDI 消息送到 MIDI 音源时,音源即合成出相应的音乐。
- 乐谱由音符序列、定时、音色和音量等组成,
声音文件类型:
- 常见的声音文件格式:WAV、MID、MP3、voc、snd
- MID 是目前较成熟的音乐格式, 实际上已经成为一种产业标准,如 General MIDI 就是最常见的通行标准
声音设备:
- 话筒:向计算机提供声音信号的设备,作用是将自然声音信号转换为电信号(模拟声音信号),然后送到音频卡(声卡),将话筒输入的声音信息进行模数转换(A/D)、压缩等处理
- 声卡的分类主要根据其数据采样量位数来确定,通常分为 8 位、16 位和 32 位等。位数越多,其量化精度越高,音质就越好
防范重放攻击:一般采用在数据包中添加时间戳或者序列号的方式来防范重放攻击
频带宽度:或称为带宽,是描述组成复合信号的频率范围
-
音频信号的频带越宽,所包含的音频信号分量越丰富,音质越好
-
语音信号的有效频率带宽标准定义为 0.3~3.4kHz,这个频率范围满足大部分人的正常话音频带特征
-
人耳能听得到的音频信号的频率范围是 20Hz~ 20kHz
声音信号的采样频率:奈奎斯特采样定理规定:声音信号的采样频率要用原始声音信号最高频率的两倍来进行采样,才能保证原模拟信号不丢失
- 所以话音信号的采样频率定义为8kHz,可以满足重建话音带宽内的所有频率分量的要求
1.5 网络
1.5.1 URL
组成:资源类型、存放资源的主机域名、资源文件名
一般语法格式:
protocol:// hostname[:port] / path /filename
protocol:指定使用的传输协议,最常见的是 HTTP 或者 HTTPS 协议,也可以有其他协议,如 file、ftp、gopher、mms、ed2k 等Hostname:主机名,即存放资源的服务域名或者 IP 地址
Port:指各种传输协议所使用的默认端口号,该选项是可选选项,例如 http 的默认端口号为 80,一般可以省略,如果为了安全考虑,可以更改默认的端口号,这时,该选项是必选的
Path:指路径,由一个或者多个“/”分隔,一般用来表示主机上的一个目录或者文件地址
filename:指文件名,该选项用于指定需要打开的文件名称
- 一般情况下,一个 URL 可以采用“主机名.域名”的形式打开抬定页面,也可以单独使用“域名”来打开指定页面,但是这样实现的前提是需进行相应的设置和对应
1.5.2 域名
域名地址构成:字母或数字组成,中间以"."隔开
最高层域名分为:机构性域名和地理性域名两大类
域名管理:域名系统 DNS 统一管理 Internet 上的域名
域名层次结构
- 最左边的字段表示单台计算机名,其他字段标识了拥有该域名的组
- 第二组表示网络名,如 rkb
- 第三组表示机构性质,例如 .gov 是政府部门
- 最后一个字段被规定为表示组织或国家,称为顶级域名,例如:.cn 是中国
格式:机器名.网络名.机构名. 最高域名
| 常见机构域名 | 机构性质 |
|---|---|
| .com | 工、商、金融等企业 |
| .net | 互联网络、接入网络服务机构 |
| .gov | 政府部门 |
| .arts | 艺术机构 |
| .org | 非盈利组织 |
| .edu | 教育机构 |
| .mil | 军事机构 |
| .firm | 商业公司 |
| .nom | 个体或个人 |
| 常见顶级域名 | 国家/地区 |
|---|---|
| .cn | 中国(China) |
- 例如:www.rkb.gov.cn
网站首页的文件名称:一般是 ndex.html、defult.html 或者 home.html 等,还有动态页面结尾的 .asp/.php/jsp/aspx 等形式
网页中的图片和乐曲都以独立的文件存储
1.5.3 TCP/IP 协议
TCP/IP 协议层次
| 层次划分 | 描述 |
|---|---|
| 应用层 | TCP/IP 协议的第一层,是直接为应用进程提供服务,可以建立或解除与其他节点的联系,这样可以充分节省网络资源。对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了 SMTP 协议、万维网应用使用了 HTTP 协议、远程登录服务应用使用了有 TELNET 协议应用层还能加密、解密、格式化数据; |
| 传输层 | TCP/IP 协议的第二层,TCP 协议属于传输层协议 |
| 网络层 | TCP/IP 协议中的位于第三层。可以进行网络连接的建立和终止以及 IP 地址的寻找等功能 |
| 网络接口层 | TCP/IP 协议的第四层。由于网络接口层兼并了物理层和数据链路层,所以网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路 |
各种协议
| 协议 | 描述 | 补充 |
|---|---|---|
| RARP | 根据 MAC 地址查找对应的 IP 地址 | 记忆:432 |
| ARP | 根据 IP 地址查找对应的 MAC 地址 | 与 RARP 协议区分方法,通过 RART 记忆 ARP 作用 |
| CMP | TCP/IP 协议簇的一个子协议,属于网络层,在 IP 数据报中传送。用于控制报文、传送有关通信问题的消息。 | 例如数据报不能到达目标站,路由器没有足够的缓存空间,或者路由器向发送主机提供最短通路信息等 |
| TFTP | 简单文件传输的协议。是 TCP/IP 协议簇的子协议,属于传输层协议。传输更易于使用但功能较少的文件。默认端口号为 69 | |
| FTP | 文件传输协议。使用的传输层协议为 TCP | |
| Telnet | 远程登录协议。传输层均采用 TCP 协议 | |
| DHCP | 自动分配 IP 地址 | |
| SNMP | 简单网络管理协议。简化了大型网络中设备的管理和数据的获取,效率高得了非常广泛的应用,传输层采用 SNMP | 目前最常用的网络管理协议 |
| ICMP | 因特网信报控制协议。报告 IP 数据报传送中的差错 | ping 命令采用 ICMP 协议 |
| SMTP | 发送邮件协议。邮件是以明文传输的,隶属于 TCP/IP 协议簇,默认状态下,通过 TCP 端口 25 建立连接 | 属于邮件类协议 |
| POP3 | 是接收邮件协议。隶属于 TCP/IP 协议簇,默认状态下,通过 TCP 端口 110 | 属于邮件类协议 |
| PGP | 邮件加密与解密的软件协议。也可以说是一个基于 RSA 公钥加密体系的邮件加密软件 | 属于邮件类协议 |
| MIME | 多用途互联网邮件扩展协议。设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开 | 是一个互联网标准,扩展了电子邮件标准, 使其能够支持:非ASCII字符文本;非文本格式附件(二进制、声音、图像等)由多部分组成的消息体;包含非ASCII字符的头信息 |
1.5.4 IP 地址
IP 地址:TCP/IP 网络中用来唯一标识每台主机或设备的地址,由 32 位(共四个八位组)的二进制组成
-
例如:22 的子网掩码有 22 个 1,10 个 0,所以是 11111111.11111111.11111100.00000000,即 255.255.252.0
-
IP 地址分为两部分:
-
左边网络编号部分用来标识主机所在的网络
-
右边部分用来标识主机本身,这部分称为主机地址。连接到同一网络的主机必须拥有相同的网络编号
-
-
例如:IP 地址块 192.168.80.128/27 包含了
30个可用的主机地址- IPV4 地址是由 32 个 2 进制位组成的,/27 则表明前 27 位是网络位,剩下的 5 位为主机地址,\(32-27=5\),再减去 2 个特殊地址(全 0 和全 1),即每个网络可以有 \(2^5-2=30\) 个主机地址
常用 IP 地址类型(由网络号的第一个字节来区分)
| 分类 | 范围 |
|---|---|
| A 类地址 | 第一个字节为1〜126 |
| B 类地址 | 第一个字节为 128〜191 |
| C 类地址 | 第一个字节为192〜223 |
| D类地址(组播) | 第一个字节为224〜239 |
| E 类地址(保留) | 第一个字节为240〜254 |
- 数字 0 和 127 不能作为 A 类地址:0 表示该地址是本地宿主机,127 保留给内部回送函数
特殊的IP地址:不能作为主机的 IP 地址
- Net-id 为全 0 的地址:表示本网络内的主机
- 例如,0.0.0.16 表示本网络内 Host-id 为 16 的主机
- Host-id 为全 0 的地址:子网网络地址,用于标识一个网络
- Host-id 为全 1 的地址:网络广播地址
- 例如,目的地址为 192.168.1.255 的报文,将转发给 192.168.1.0 网络内所有的主机
公网 & 私网
- 私网地址的范围:
A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0 ~172.31.255.255
C类地址:192.168.0.0~192.168.255.255 - 其他的都可叫公网
DHCP
-
为了简化网络管理工作,通常在大型网络中采用客户端从DHCP 服务器获取的IP地址的动态地址配置方式
-
自动专用 IP 地址(APIPA):是当客户机无法从 DHCP 服务器中获得 IP 地址时自动配置的地址
- IANA(Internet Assigned Numbers Authority) 为 APIPA 保留了一个 B 类地址块 169.254.0.0〜169.254.255.255。当网络中的 DHCP 服务器失效,或者由于网络故障而找不到 DHCP 服务器时,这个功能开始生效,使得客户机可以在一个小型局域网中运行,与其他自动或手工获得 APIPA 地址的计算机进行通信
目标地址 & 源地址
- 源地址:地址 0.0.0.0 表示本地地址,只能作为源地址使用,不能用作目标地址
- 目标地址:地址 127.0.0.1 表示本地环路地址,通常作为冃标地址,用于测试本地 TCP/IP 回路
1.5.5 知识点集合
Intranet(内联网):Internet (因特网)和 LAN (局域网)技术相结合的产物,是把 Internet 技术应用于局域网上建立的企业网或校园网
- 关键技术:TCP/IP 协议和 Web/Browser 访问模式。利用这些技术建立的企业网与外部的 Internet 之间用防火墙隔离,外部网络对 Intranet 的访问是可以控制的,从而提供了一定的安全保障机制
- 优点:具有良好的开放性,提供了统一的信息发布方式和友好的用户访问界面,还可以利用局域网的控制机制进行有效的配置和管理
虚拟局域网(VLAN):一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信
- VLAN 是一种比较新的技术,工作在 OSI 参考模型的第 2 层和第 3 层,一个 VLAN 就是一个广播域,VLAN之间的通信是通过第 3 层的路由器来完成的
- 优点:与传统的局域网技术相比较,VLAN 技术更加灵活;网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性
常见服务器
| 服务器 | 描述 |
|---|---|
| Gopher 服务器 | 提供分类的文档查询及管理。将网络中的信息分门别类地整理成菜单形式,提供用户快捷查询并选择使用 |
| Telnet 服务器 | 提供远程登录服务。一般使用 Telnet 协议。使用Telnet可以实现远程计算机资源共享。很多 BBS (电子公告牌)就是使用该协议来实现 |
| FTP 服务器 | 提供文件的上传和下载服务。一般使用 FTP 协议。使用该协议可以实现文件的共享,可以远程传递较大的文件。该服务器也提供存放文件或软件的磁盘空间 |
| E-mail 服务器 | 提供电子邮件服务。一般都支持 SMTP 和 POP3 协议。该服务器用来存放用户的电子邮件并且维护邮件用户的邮件发送 |
| Web 服务器 | 提供 www 服务。一般使用 http 协议来实现。浏览器软件必须通过访问 Web 服务器才能获取信息 |
网络监听
- 主机的一种工作模式,在这种模式下,主机可以接收到本网段在同一条物理通道上传输的所有信息。使用网络监听工具可轻而易举地截取包括口令和账号在内的信息资料
- 对付网络监听的有效手段:采用数据加密的方式保护包括口令和账号在内的信息资料,使得即使获取密文后也无法解密成明文
网络交换设备
| 网络划分层次 | 对应层次的设备 |
|---|---|
| 物理层 | 集线器:所有端口构成一个广播域,同时也是一个冲突域。虽然还有检测冲突的作用,但这些操作都属于物理层功能的范围 |
| 网络层设备 | 1. 中继器:作用是对接收的信号进行再生放大,以延长传输的距离 2. 路由器:可以识别 IP 地址,进行数据包的转发 |
| 数据链路层 | 1. 网桥:可以识别 MAC 地址,进行帧转发。处理的对象是中贞(数据链路层的协议数据单元)更准确地说,网桥包含了物理层和数据链路层两个功能层次,所以在以太网中,网桥也能起到延长传输距离的作用 2. 交换机:是由硬件构成的多端口网桥。交换机是一种 MAC 设备,各个端口构成一个广播域,但不是一个冲突域。现代以太网中,更多地使用交换机代替了网桥,只有在简单的小型网络中才用微机软件实现网桥的功能 补充:硬件地址:数据链路层的服务访问点 |
交换机 & 集线器
- 相同:
- 外部结构上相似,连接的网络拓扑结构相同
- 用集线器连接的工作站和用交换机连接的工作站都处于同一广播域中(网上的所有工作站都能收到广播信息)
- 不同:
- 交换机:只要目标站不冲突,连接的一组工作站就可以有多个设备同时发送数据
- 集线器:通过集线器连接的一组工作站形成一个冲突域,其中只能有一个设备发送数据, 其他设备只能接收数据或处于等待状态

浙公网安备 33010602011771号