软件设计师教程(第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. 软件安装教程(持续更新)

    分享下常用的一些软件安装教程,仅供学习参考下哈  常见问题 常见问题 Adobe常见问题和错误代码[必读] Windows defender防火墙关闭教程[必读]  宝藏工具 ▌实用小工具 王者荣耀皮 ...

  2. 【软考中级】软件设计师学习笔记

    软件设计师学习笔记 计算机系统知识 程序语言设计 数据结构 操作系统 软件工程基础知识 结构化开发方法 创建型设计模式 行为型设计模式 结构型设计模式: 算法设计与分析 数据库技术基础 网络与信息安全 ...

  3. 重拾CCNA,学习笔记持续更新ing......(4)

    重拾CCNA,学习笔记持续更新ing......(4) 路由器作用功能的经典解说(笑)(非原创) 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大 ...

  4. 软件设计师考c语言,软件设计师教程考点精讲之C语言三大定律

    2016下半年软考软件设计师报名即将开始,同学们是否在学习过程中遇到了一些困难,下面由希赛软考学院为打算参加下半年考试的你们准备了一些软件设计师教程考点精讲之Java编程性能措施,希望对大家有所帮助. ...

  5. c语言综合知识,软件设计师教程综合知识集锦之C语言编程风格

    2016下半年软考软件设计师报名已经陆续开始了,同学们要开始备考了哦,希赛小编为打算参加下半年考试的你们准备了一些软件设计师教程综合知识集锦,希望对大家有所帮助. C语言的编程风格 缩进格式 Tab是 ...

  6. 软件设计师教程(九)计算机系统知识-软件工程基础知识

    软件设计师教程 软件设计师教程(一)计算机系统知识-计算机系统基础知识 软件设计师教程(二)计算机系统知识-计算机体系结构 软件设计师教程(三)计算机系统知识-计算机体系结构 软件设计师教程(四)计算 ...

  7. 软件设计师教程(十三)计算机系统知识-软件系统分析与设计

    软件设计师教程 软件设计师教程(一)计算机系统知识-计算机系统基础知识 软件设计师教程(二)计算机系统知识-计算机体系结构 软件设计师教程(三)计算机系统知识-计算机体系结构 软件设计师教程(四)计算 ...

  8. 软件设计师教程(四)程序设计语言基础知识

    软件设计师教程 软件设计师教程(一)计算机系统知识-计算机系统基础知识 软件设计师教程(二)计算机系统知识-计算机体系结构 软件设计师教程(三)计算机系统知识-计算机体系结构 程序设计语言知识 软件设 ...

  9. 软件设计师考试笔记-(10)

    软件设计师考试笔记-(10) 1.操作系统基本原理 1.1.进程管理 1.1.1.进程状态 1.1.2.前趋图 为了描述一个程序的各部分间的依赖关系,或者是一个大的计算的各个子任务间的因果关系的图示. ...

  10. 软件设计师考试笔记-(6)

    1.软件设计师考试笔记-(6) 1.6 Pert图:工程网络图 1.6.1 概述 工程网络图主要用于工程项目计划管理,它首先将施工项目整个建造过程分解成若干项工作,以规定的网络符号表达各项工作之间的相 ...

最新文章

  1. 组态王浏览器java_1工程浏览器是组态王的集成开发环境在这里可以
  2. HBase搭建完全分布式环境
  3. Qt QTcpSocket 对连接服务器中断的不同情况进行判定
  4. 4 contextHook
  5. Qt中QLabel的背景图片设置问题
  6. 精度、延迟两不误,移动端性能新SOTA,谷歌TF开源轻量级EfficientNet
  7. 【转载】VBA 读取EXCEL 行列总数
  8. SQLite的SQL语法
  9. 怎么在GIF动态图中添加文字
  10. win11使用win10右键菜单的四种办法
  11. android开发塔防游戏机,上手快又耐玩 五款Android平台塔防类游戏推荐
  12. Centos7 安装mongodb 4.x
  13. Notepad++下载与安装教程
  14. 微信支付服务商,消费者投诉处理系统
  15. linux c++ 守护 程序,supervisor守护进程 | C/C++程序员之家
  16. Excel受保护的工作表怎么操作?
  17. JAVA课程设计(小游戏贪吃蛇)完整源码附素材(二)
  18. SUSE12 LVM- Logical Volume Manager(逻辑卷管理)实例
  19. 带你简单的了解和学习一下STM32f1精英版(入门级)
  20. 【论文笔记】YOLOv4: Optimal Speed and Accuracy of Object Detection

热门文章

  1. 易语言解析html实例,易语言完整示例(单设备)
  2. 熵权法用matlab怎么,熵权法求权重原理详细步骤附matlab代码
  3. 计算机应用基础教程学什么,[电脑基础知识]计算机应用基础教程学习.ppt
  4. Labview之RS485通信
  5. python一百行代码的项目_用python一百行代码实现xss扫描工具
  6. 图像入门——2. 数字图像发展历史与图像处理概述
  7. java 图形编辑器_SVGX矢量化图形编辑器,100%JAVA实现的矢量化图形编辑器
  8. 专业音频测试软件应用比对,(精品文献)专业音频测试软件应用比对(升级版)_汤磊.pdf...
  9. Spoon工具使用(kettle进行实时同步数据)
  10. apktool + dex2jar + xjad反编译apk文件