软件设计师教程笔记 持续更新

软件设计师教程(第5版)学习笔记

第一章,计算机网络概论

1.1 计算机系统基础知识

1.1.1 计算机系统硬件基本组成

运算器,控制器,存储器,输入设备和输出设备

1.1.2 中央处理单元
  1. CPU的功能

    1)程序控制

    2)操作控制

    3)时间控制

    4)数据处理

  2. CPU的组成

    运算器,控制器,寄存器,内部总线等组件组成

  3. 多核CPU

1.1.3 数据表示
1.1.4 校验码
  1. 奇偶校验码
  2. 海明码
  3. 循环冗余校验码

1.2 计算机体系结构

1.2.1 计算机体系结构的发展
  1. 计算机系统结构概述

    1)计算机体系结构

    2)计算机组织

    3)计算机实现

  2. 计算机体系结构分类

    宏观上:单处理系统,并行处理与多处理系统,分布式处理系统

    微观上:

    ​ 1)Flynn分类法

    ​ 2)冯泽云分类法

    ​ 3)Handler分类法

    ​ 4)Kuck分类法

  3. 指令系统

    1)指令集体系结构的分类

    2)CISC和RISC

  4. 阵列处理机,并行处理机和多处理机

1.2.2 存储系统
  1. 存储器的层次结构

    CPU内部的通用寄存器组,CPU内部的Cache(高速缓存),CPU外部的Cache,主板上的主存储器,主板外的联机磁盘存储器和脱机的磁带存储器和光盘存储器

  2. 存储器的分类

    1)按存储器位置分类

    (1)内存。也称主存,在主机内或主机板上,用来存放机器当前运行所需要的程序和数据

    (2)外存。也称辅存,如磁盘,磁带和光盘

    2)按存储器构成材料分类

    (1)磁存储器

    (2)半导体存储器

    (3)光存储器

    3)按存储器工作方式分类

    (1)读/写存储器

    (2)只读存储器

    ​ ①固定只读存储器

    ​ ②可编程的只读存储器

    ​ ③可擦除可编程的只读存储器

    ​ ④电擦除可编程的只读存储器

    ​ ⑤闪速存储器

    4)按访问方式分类

    (1)按地址访问存储器

    (2)按内容访问的存储器

    5)按寻址方式分类

    (1)随机存储器

    (2)顺序存储器

    (3)直接存储器

  3. 相联存储器

  4. 高速缓存

    1)高速缓存的组成

    2)高速缓存的地址映像方法

    (1)直接映像

    (2)全相联映像

    (3)组相连映像

    3)替换算法

    (1)随机替换算法

    (2)先进先出算法

    (3)近期最少使用算法

    (4)优化替换算法

    4)Cache的性能分析

    容量越高,命中率越高,命中时间越长

    5)多级Cache

    L1容量较小,速度快,L2容量大

  5. 虚拟存储器

    虚拟地址

  6. 外存储器

    1)磁表面存储器

    2)光盘存储器

    3)固态硬盘

  7. 磁盘阵列技术

  8. 存储域网络

1.2.3 输入/输出技术
  1. 微型计算机中最常用的内存与接口的编址方法

    1)内存与接口地址独立编址方法

    2)内存与接口地址统一编址方法

  2. 直接程序控制

    1)无条件传送

    2)程序查询方式

    (1)降低了CPU的效率

    (2)对外部的突发事件无法做出实时响应

  3. 中断方式

    1)中断处理方法

    (1)多中断信号线法

    (2)中断软件查询法

    (3)菊花链法

    (4)总线仲裁法

    (5)中断向量表法

    2)中断优先级控制

    (1)优先处理高优先级的中断源

    (2)中断嵌套

  4. 直接存储器存取方式

    直接内存存取(Direct Memory Access,DMA)

  5. 输入/输出处理机(IOP)

1.2.4 总线结构
  1. 总线的分类

    1)数据总线(Data Bus,DB)

    2)地址总线(Address Bus,AB)

    3)控制总线(Control Bus,CB)

  2. 常见总线

    1)ISA总线

    2)EISA总线

    3)PCI总线

    4)PCI Express总线

    5)前端总线

    6)RS-232C

    7)SCSI总线

    8)SATA

    9)USB

    10)IEEE-1349

    11)IEEE-488

1.3 安全性,可靠性与系统性能评测基础知识

1.3.1 计算机安全概论
  1. 计算机的安全等级

    三类安全性包括技术安全性,管理安全性,政策法律安全性

    1)TCSEC

    2)CTCPEC

    3)PC

    4)ITSEC

    5)CC

  2. 安全威胁

    分为故意,偶然两类

  3. 影响数据安全的因素

    1)内部因素

    2)外部因素

1.3.2 加密技术和认证技术
  1. 加密技术

    1)对称加密技术

    (1)数据加密标准(Digital Encryption Standard,DES)

    (2)三重DES(3DES,或称TDEA)

    (3)RC-5(Rivest Cipher5)

    (4)国际数据加密算法(International Data Encryption Adleman,IDEA)

    (5)高机加密标准(Advanced Encryption Standard,AES)

    2)非对称加密技术

    3)密钥管理

    (1)密钥产生

    (2)密钥备份和恢复

    (3)密钥更新

    (4)多密钥的管理

  2. 认证技术

    完整的PKI系统:

    1)认证机构

    2)数字证书库

    3)密钥备份及恢复系统

    4)证书作废系统

    5)应用接口

    PKI标准化问题

    1)Hash函数与信息摘要

    ​ MD5算法特点:

    ​ (1)压缩性

    ​ (2)容易计算

    ​ (3)抗修改性

    ​ (4)强抗碰撞

    2)数字签名和数字加密

    3)SSL协议(Secure Socker Layer,安全套接层)

    (1)用户和服务器的合法性认证

    (2)加密数据以隐藏被传送的数据

    (3)保护数据的完整性

    ​ 对通信过程进行安全保护

    ​ (1)接通阶段

    ​ (2)密码交换阶段

    ​ (3)会谈密码阶段

    ​ (4)检验阶段

    ​ (5)客户认证阶段

    ​ (6)结束阶段

    4)数字时间戳技术

    数字时间戳服务(Digital Time Stamp Service,DTS)

    (1)需加时间戳的文件的摘要(Digest)

    (2)DTS收到文件的日期的时间

    (3)DTS的数字签名

1.3.3 计算机可靠性
  1. 计算机可靠性概述
  2. 计算机可靠性模型
1.3.4 计算机系统的性能评价
  1. 性能评测的常用方法

    1)时钟频率

    2)指令执行速度

    3)等效指令速度法

    4)数据处理速率(Processing Data Rate,PDR)

    5)核心程序法

  2. 基准测试程序

    1)整数测试程序

    2)浮点测试程序

    (1)理论峰值浮点速度

    (2)Linpack基准测试程序

    (3)Whetstone基准测试程序

    3)SPEC基准程序(SPEC Benchmark)

    4)TPC基准程序

第二章,程序设计语言基础知识

2.1 程序设计语言概述

2.1.1 程序设计语言的基本概念
  1. 低级语言和高级语言

  2. 编译程序和解释程序

  3. 程序设计语言的定义

  4. 程序设计语言的分类

    1)程序设计语言发展概述

    2)程序设计语言分类

    (1)命令式和结构化程序设计语言

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

    (3)函数式程序设计语言

    (4)逻辑型程序设计语言

2.1.2 程序设计语言的基本成分
  1. 程序设计语言的数据成分

    1)常量和变量

    2)全局量和局部量

    3)数据类型

    (1)基本类型

    (2)特殊类型

    (3)用户定义类型

    (4)构造类型

    (5)指针类型

    (6)抽象数据类型:类类型

  2. 程序设计语言的运算成分

  3. 程序设计语言的控制成分

    1)顺序控制

    2)选择控制

    3)循环控制

    4)C(C++)语言提供的控制语句

    (1)复合语句

    (2)if语句和switch语句

  4. 程序设计语言中的传输成分

  5. 函数

    1)函数定义

    2)函数声明

    3)函数调用

    (1)值调用

    (2)引用调用

2.2 语言处理程序基础

2.2.1 汇编程序基本原理
  1. 汇编语言

    1)指令语句

    2)伪指令语句

    3)宏指令语句

  2. 汇编程序

    将源程序翻译成机器指令程序

2.2.2 编译程序基本原理
  1. 编译过程概述

    1)词法分析

    2)语法分析

    3)语义分析

    4)中间代码生成

    5)代码优化

    6)目标代码生成

    7)符号表管理

    8)出错处理

  2. 文法和语言的形式描述

    1)字母表,字符串,字符串集合及运算

    2)文法和语言的形式描述

    (1)文法的定义

    (2)文法的分类

    (3)句子和语言

  3. 词法分析

    1)正规表达式和正规集

    2)有限自动机

  4. 正规式与有限自动机之间的转换

    1)有限自动机转换为正规式

    2)正规式转换为有限自动机

  5. 词法分析器的构造

    1)用正规式描述语言中的单词构成规则

    2)为每个正规式构造一个NFA,它识别正规式所表示的正规集

    3)将构造处于的NFA转换成等价的DFA

    4)对DFA进行最小化处理,使其最简

    5)从DFA构造词法分析器

  6. 词法分析

    1)上下文无关文法

    2)自顶向下语法分析方法

    3)自底向上语法分析方法

  7. 语法制导翻译和中间代码生成

    1)中间代码

    2)常见语法结构的翻译

    3)动态存储分配和过程调用的翻译

  8. 中间代码优化和目标代码生成

    1)中间代码形式

    2)目标代码形式

    3)寄存器的分配

    4)计算次序的选择

2.2.3 解释程序基本原理
  1. 解释程序的基本结构

  2. 高级语言编译与解释方式的比较

    1)效率

    2)灵活性

    3)可移植性

第三章,数据结构

3.1 线性结构

元素一个接着一个排列

3.1.1 线性表
  1. 线性表的定义

    1)存在唯一的一个称作“第一个”的元素

    2)存在唯一的一个称作“最后一个”的元素

    3)除第一个元素外,序列中的每个元素均只有一个直接前驱

    4)除最后一个元素外,序列中的每个元素均只有一个直接后驱

  2. 线性表的存储结构

    1)线性表的顺序存储

    2)线性表的链式存储

    (1)单链表

    (2)双向链表

    (3)循环链表

    (4)静态链表

3.1.2 栈和队列
  1. 1)栈的定义及基本运算

    (1)栈的定义

    ​ 先进后出的线性表,只允许在表的一端插入和删除元素

    (2)栈的基本运算

    ​ ①初始化栈InitialStack

    ​ ②判断空栈isEmpty

    ​ ③入栈Push

    ​ ④出栈Pop

  2. 栈的存储结构

    1)顺序存储

    2)链式存储

    3)栈的应用

  3. 队列

    1)队列的定义及基本运算

    (1)队列的定义

    ​ 先进先出的线性表,只允许在表的一端插入元素,另一端删除元素

    (2)队列的基本运算

    ​ ①初始化队列InitQueue

    ​ ②判队空isEmpty

    ​ ③入队EnQueue

    ​ ④出队DelQuene

    ​ ⑤读队头元素FrontQue

    2)队列的存储结构

    (1)队列的顺序存储

    (2)队列的链式存储

    3)队列的应用

3.1.3 串
  1. 串的定义及基本运算

    1)串的定义

    ​ 仅由字符构成的有限序列,是一种线性表

    2)串的几个基本概念

    (1)空串

    (2)空格串

    (3)子串

    (4)串相等

    (5)串比较

    3)串的基本操作

    (1)赋值操作

    (2)连接操作

    (3)求串长

    (4)串比较

    (5)求子串

  2. 串的存储结构

    (1)串的顺序存储结构

    (2)串的链式存储

  3. 串的模式匹配

    1)朴素的模式匹配算法(布鲁特—福斯算法)

    2)KMP算法

3.2 数组,矩阵和广义表

3.2.1 数组
  1. 数组的定义及基本运算

    1)数组的定义

    2)数组的两个基本运算

  2. 数组的顺序存储

3.2.2 矩阵
  1. 特殊矩阵
  2. 稀疏矩阵
3.2.3 广义表
  1. 广义表的基本操作

    1)取表头

    2)取表尾

  2. 广义表的特点

    1)广义表可以是多层次的结构

    2)广义表中的元素可以是已经定义的广义表的名字

    3)广义表可以是一个递归的表

  3. 广义表的存储结构

    采用链式存储结构

3.3 树

3.3.1 树与二叉树的定义
  1. 树的定义

  2. 树的基本概念

    1)双亲,孩子和兄弟

    2)结点的度

    3)叶子结点

    4)内部结点

    5)结点的层次

    6)树的高度

    7)有序(无序)树

  3. 二叉树的定义

3.3.2 二叉树的性值与存储结构
  1. 二叉树的性质

  2. 二叉树的存储结构

    1)二叉树的顺序存储结构

    2)二叉树的链式存储结构

3.3.3 二叉树的遍历

第四章,操作系统知识

第五章,软件工程基础知识

第六章,结构化开发方法

第七章,面向对象技术

第八章,算法设计与分析

第九章,数据库技术基础

第十章,网络与信息安全基础知识

第十一章,标准化和软件知识产权基础知识

第十二章,软件系统分析与设计

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值