1、软件设计师笔记一、计算机系统基础知识1. CPU 的功能:程序控制、操作控制、时间控制、数据处理。软件系统中央处理单元CPU硬件系统计算机存储器输入设备控制总线寄存器组控制器运算器输出设备2. 计算机系统组成示意图:指令寄存器程序计数器地址寄存器指令译码器外存储器内存储器状态条件寄存器数据缓冲寄存器累加寄存器算术逻辑单元IDARPCIRPSWDRACALURAMROM3. 数据表示:原码、反码、补码、移码。(0 为正,1 为负)4. 移码:如果机器字长为 N,偏移量为 2N-1,则X移=2N-1+X补(X 为纯整数)。X移=1+X(X为纯小数)。5. IEEE754:符号位(1 位,0 正 1
2、 负)+阶码(8 位,+127)+尾数(23 位,小数点在最高位之后,随后省略最高位)。6. 浮点数加减:0 操作数检查,对阶操作(小阶变大阶),尾数加减(阶码用双符号位,尾数用单符号位),结果规格化,舍入处理(判定溢出)。7. 常用校验码:奇偶校验码(只能检错)、海明码(纠错加检错)、循环冗余校验码(CRC)。8. 计算机体系结构分类:单处理系统,并行处理与多处理系统,分布式处理系统。9. 指令集的发展:CISC(复杂指令集计算机):增强原有指令的功能,用更为复杂的新指令取而代之;RISC(精简指令集计算机):减少指令总数简化指令功能,优化编译降低复杂度。 10.指令控制方式:顺序方式,重叠
3、方式,流水方式。11. RISC 中的流水线技术:超流水线技术,超标量技术,超长指令字技术。12. 并发性的解决:阵列处理机,并行处理机,多处理机。13. 主存与 cache 地址映射方式:全相联映射-将主存一个块的地址与内容一起存入 cache 中,拷贝灵活但是比较器电路难设计实现;直接映射-一个主存块只能拷贝到 cache 的特定行上去,硬件简单成本低但是容易冲突效率下降;组相联映射-主存块放到哪个组是固定的,但是放到哪一行是灵活的,折中办法广泛采用。14. 虚拟存储器:页式:页表硬件小,查表速度快但不利于存储保护;段式:界限分明便于程序的模块化设计,易于编译修改和保护,但主存利用率低,产
4、生大量碎片,查表速度慢;段页式:折中办法,广泛采用,但地址变换速度比较慢。15. 计算机与外设数据交换:无条件传送,查询方式传送,中断方式传送,直接存储器存取方式(DMA):CPU 仅在过程开始和结束时有处理,过程中DMA 占用系统总线传送数据。 16.多中断处理办法:多中断信号线法,中断软件查询法,菊花链法,总线仲裁法,中断向量表法。17. 总线分类:内部总线:芯片的互连,系统总线:CPU,内存,接口等的连接;外部总线:数据交换。18. 信息安全 5 要素:机密性,完整性,可用性,可控性,可审查性。19. 加密技术:对称加密(私人密钥加密):数据加密标准(DES)+三重 DES+RC-5+国
5、际数据加密算法(IDEA)+高级加密标准(AES);非对称加密(公开密钥加密,比如 RSA 算法):加密模型+认证模型。20. PKI:一种遵循既定标准的密钥管理平台,能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,必须具有权威认证机构、数字证书库、密钥备份和恢复系统、证书作废系统、应用接口。21. 计算机可靠性:可靠性:串联系统 R=R1*R2,并联系统 R=1-(1-R1)(1-R2);平均无故障时间:串联系统 K=K1+K2,并联系统 K=1/K*(1+1/2)。22. 计算机系统性能评测常用方法:时钟频率,指令执行速度,等效指令速度法,数据处理速率(PDR)
6、。二、程序语言基础知识1. 编程语言之间的翻译形式:汇编,解释,编译。2. 程序设计语言的定义:语法,语义,语用。3. 程序语言的分类:命令式程序设计语言:FORTRAN,PASCAL,C 语言;面向对象的程序设计语言(C+,JAVA,smaltalk);函数式程序设计语言(LISP);逻辑型程序设计语言(PROLOG)。4. 程序语言的基本成分:数据,运算,控制,传输。5. 汇编语言源程序:指令语句,伪指令语句,宏指令语句。6. 汇编程序:将汇编语言所编写的源程序翻译成机器指令程序。7. 编译过程:源程序-词法分析-语法分析-语义分析-中间代码生成-代码优化-目标代码生成-目标代码。(另全过
7、程有符号表管理和出错处理)8. 解释程序:分析部分:词法分析、语法分析、语义分析-中间代码;解释部分:解释执行中间代码。9. 编译与解释方式的比较:前者效率高;后者更具有灵活性和可移植性。三、操作系统知识1. 操作系统的作用:通过资源管理提高计算机系统的效率;改善人机界面,向用户提供友好的工作环境。2. 操作系统的特征:并发性、共享性、虚拟性和不确定性3. 操作系统的功能:处理机管理、文件管理、存储管理、设备管理、作业管理4. 操作系统的类型:批处理操作系统(单道、多道)、分时操作系统(UNIX,多路性、独立性、交互性、及时性)、实时操作系统(快速的相应时间、有限的交互能力、高可靠性)、网络操
8、作系统、分布式操作系统、微机操作系统(Windows,Linux)、嵌入式操作系统5. 程序并发执行的特点:失去了程序的封闭性,程序和机器的执行程序的活动不再一一对应,并发程序间的相互制约性6. 进程的组成:程序、数据、进程控制块(PCB)7. 进程的状态:新建、就绪、运行、阻塞、终止8. 原语(若干条机器指令组成)的特点:执行时不能被分割,要么都做要么都不做9. 进程的同步:进程间完成一项任务时直接发生相互作用的关系10 进程的互斥:系统中各进程互斥使用临界资源11. 信号量的意义:若 S=0 表示某资源的可用数;若 S具有通信功能的多机系统-以共享资源为目的的计算机网络-以局域网及因特网为
9、支撑环境的分布式计算机系统2. 计算机网络的功能:数据通信,资源共享,负载均衡,高可靠性3. 计算机网络的分类:局域网(LAN:10m1000m),城域网(MAN:10km),广域网(WAN:100km 以上)4. 网络拓扑结构:总线型,星型,环型,树型,分布式(无严格的布线规定和形状,各节点有多条线路相连)5. OSI 七层参考模型:物理层(物理地传送比特流),数据链路层(负责两相邻节点间无差错传送以帧为单位的数据),网络层(提供端到端的交换网络数据传送功能),传输层(提供可靠的数据传输服务),会话层(提供会话管理服务),表示层(提供格式化的表示和转换数据服务),应用层(提供网络与用户应用软
10、件之间的接口服务)6. 网络互连设备:中继器(物理层上实现局域网网段互连,用于扩展局域网网段长度),集线器(特殊的多路中继器,有信号方法功能并便于网络维护);网桥(工作与数据链路层,用于连接两个局域网网段),交换机(按每一个包中的 MAC 地址相对简单地决策信息转发);路由器(网络层异构互连,连接多个逻辑上分开的网络),网关(在两个不同类型协议的网络系统之间进行通信)7. 网络传输介质:有线介质(双绞线,同轴电缆:直接传输数字信号,光纤:传输光信号、需信号转换);无线介质(微波:利用无线电波传输,红外线:传输红外光信号,激光:传激光信号,卫星通信:传输电磁波信号)8. 局域网组成部件:服务器(
11、文件服务器、打印服务器、通信服务器),客户端(用户与网络应用接口设备),网络设备(网卡,收发器,中继器,集中器,网桥,路由器等),通信介质(数据的传输媒体),网络软件(底层协议软件、网络操作系统等)9. 协议:规定通信时的数据格式、数据传送时序以及相应的控制信息和应答信号等内容10. 网络的标准:电信标准,国际标准(IEEE 标准等),Internet 标准(自发标准非政府干预)11. 决定局域网特性的主要技术:用以传输数据的传输介质,用以连接各种设备的拓扑结构,用以共享资源的介质访问控制方法12. 局域网协议:LAN 模型(物理层,数据链路层:逻辑链路控制子层、介质访问控制);以太网(CSM
12、A/CD 技术:边发送边接收、时刻侦听信道);令牌环网(适用于环型网络结构的分布式介质访问控制:广播发送令牌、目标站进行处理);FDDI(类似令牌环网协议、光纤作为传输介质)13. 广域网协议:点对点协议(PPP:主要用于拨号上网,建立点对点连接发送数据),数字用户线(xDSL:不对称数字用户线ADSL,甚高速数字用户线 VDSL),数字专线(电信数字数据网固定专线,电信铺设),帧中继(在用户网络接口之间提供用户信息流的双向传送,并保持顺序不变),异步传输模式(ATM:面向分组的快速分组交换模式,使用异步时分复用技术),X.25 协议(在本地数据终端设备和远程数据终端设备之间提供一个全双工、同
13、步的透明信道)14. TCP/IP 协议簇特性:逻辑编址,路由选择,域名解析,错误检测和流量控制15. TCP/IP 模型应用层文件传输协议 FTP远程登录协议Telnet电子邮件协议 SMTP网络文件服务协议 NFS网络管理协议 SNMP应用层表示层会话层传输层TCPUDP传输层网络层IPICMPARP (地址解析协议)RARP网际层数据链路层Ethernet IEEE 802.3FDDIToken-Ring/ IEEE 802.5ARCnetPPP/SLIP网络接口层物理层硬件层16. Internet 地址格式:域名格式,IP 地址格式17. 解决 IP 地址短缺问题:长期(使用 Ipv
14、6),短期(使用网络地址翻译技术 NAT:在子网内部使用局部地址,外部使用少量的全局地址,通过路由器进行内部地址和外部地址的转换)18. Ipv6:40 个字节的首部长度,16 个字节的 IP 地址长度19. 服务端口:公共端口(01023)注册登记端口(102465535)20. Internet 高层协议:域名服务(UDP 端口,53,通过 DNS 服务器将域名变换为 IP 地址);远程登录服务(TCP 端口,23,将用户计算机与远程主机连接起来);电子邮件服务(TCP端口,25:SMTP and 110:POP3,发送:SMTP,接收:SMTP+POP3);WWW 服务(TCP端口,80
15、,基于客户端/服务器模式的信息发送技术和超文本技术的综合);文件传输服务(TCP 端口,20:数据连接 and 21:控制连接)21. 网络安全的威胁:计算机存储着国家、机构、组织的秘密信息或个人的隐私成为某类人攻击的目标;软件规模的膨胀容易使系统存在缺陷;信息传输的安全性存在隐患;网络协议本身的漏洞也会引发安全问题22. 网络安全:运行系统安全,信息系统的安全,信息传播的安全,信息内容的安全23. 信息系统的需求:保密性,完整性,可用性,可控性,可核查性24. 网络的安全威胁:物理威胁,网络攻击,身份鉴别,编程威胁,系统漏洞25. 网络的信息安全:信息的存储安全(用户的标识与验证,用户存取权
16、限限制,系统安全监控,计算机病毒防治,数据的加密,计算机网络安全);信息的传输安全(链路加密,节点加密,端到端加密)26. 防火墙:建立在内外网络边界的过滤封锁机制,防止不良数据包进出被保护的内部网络27. 防火墙的分类:包过滤型(直接转发报文,对用户透明),应用代理网关型(通过服务器建立连接),状态检测型(建立状态连接表,跟踪检测每一个会话状态)28. 典型防火墙的体系结构:包过滤路由器(在网络层对进出内部网络所有信息进行分析限制),双宿主主机(代理服务器软件在双宿主主机上运行,每一个接口连接不同网段),被屏蔽主机(由过滤路由器和应用网管组成,包过滤+代理服务,内网和外网双重保障),被屏蔽子
17、网(由两个包过滤路由器和一个应用网关组成,最安全的防火墙系统)六、多媒体基础知识1. 媒体:感觉媒体(使人产生感觉的媒体),表示媒体(传输感觉媒体的中介媒体),表现媒体(进行信息输入和输出的媒体),存储媒体(用于存储表示媒体的物理介质),传输媒体(传输表示媒体的物理介质)2. 多媒体的特性:多样性,集成性,交互性,非线性,实时性,信息使用的方便性,信息结构的动态性3. 虚拟现实:运用计算机对现实世界进行全面仿真,创建与现实社会类似的环境,通过多种传感设备使用户“投入到该环境中”,实现用户与该环境直接进行自然交互4. 虚拟现实技术的特征:多感知(听觉感知、力觉感知、触觉感知、运动感知、味觉感知、
18、嗅觉感知),沉浸(用户感受到的模拟环境的真实程度),交互(用户对模拟环境内物体的可操作程度和从环境得到反馈的自然程度)5. 虚拟现实的分类:桌面虚拟现实,完全沉浸的虚拟现实,增强现实性的虚拟现实,分布式虚拟现实6. 声音感觉的三个指标:音量,音调,音色7. 声音信号的数字化:采样,量化,编码8. 数字语音的数据压缩方法:波形编码,参数编码,混合编码9. 声音合成:语音合成(发音参数合成、声道模型参数合成、波形编辑合成),音乐合成10. MIDI(乐器数字接口):数字音乐的国际标准11. 色彩三要素:亮度,色调,色饱和度12. 彩色空间:RGB,CMY,YUV 等13. 图形数据表示形式:矢量图
19、形(用数学的方式描述图像),位图图像(用像素点来描述的图)14. 图像的属性:分辨率,图像深度,真彩色和伪彩色15. 图像的数据量:图像的总像素*图像深度/816. 数据压缩:有损压缩(压缩过程中损失一定信息),无损压缩(行程长度编码,增量调制编码,霍夫曼编码)17. 多媒体数据压缩编码标准:JPEG,MPEG,H.26118. 动画(本质是运动):实时动画(用各种算法来实现运动物体的运动控制),矢量动画(由矢量图衍生出的动画形式),二维动画(对传统动画的一个改进),三维动画(根据三维数据模型)19. 彩色电视制式:NTSC 制,PAL 制,SECAM 制20. 数字视频标准:采样频率,分辨率
20、,数据量21. 超文本(将文本中遇到的一些相关内容通过链接组织在一起)三要素:节点,链,网络22. 超媒体:用超文本方式组织和处理多媒体信息23. 流媒体:在网络中使用流式传输技术的连续时基载体。信息经过压缩之后放到专用流服务器上,让浏览者一边下载一边观看或收听24. 多媒体计算机硬件系统:音频卡,视频卡,光盘驱动器,扫描仪,光学字符阅读器,触摸屏,数字化仪,操纵杆,绘图仪、投影仪和激光视盘播放器25. 多媒体计算机软件系统:多媒体操作系统,多媒体应用软件的开发工具,多媒体应用软件七、数据库技术基础1. 数据库系统:数据库,硬件,软件,人员2. DBMS(数据库管理系统)的功能:数据定义,数据
21、库操作,数据库运行管理,数据组织、存储和管理,数据库的建立和维护,与其他软件系统的通信功能等3. DBMS 的特征:数据结构化且统一管理,有较高的数据独立性,数据控制功能(数据库的安全性保护、数据的完整性、并发控制、故障恢复)4. DBMS 分类:关系数据库系统(实体间的联系用关系表示),面向对象的数据库系统(以对象形式对数据建模),对象关系数据库系统(在关系数据模型基础上提供处理新的数据类型操作的能力)5 数据库系统体系结构:集中式(数据、数据管理、数据库功能等都集中在一起),分布式(物理上分布+逻辑上分布),C/S 模式(客户端负责数据表示服务、服务器负责数据库服务),并行结构(多个 CP
22、U 物理上连在一起处理)6. 数据库的三级模式:概念模式(数据库中全部数据的逻辑结构和特征的描述、只涉及型的描述而不涉及具体的值),外模式(用户与数据库系统的接口、用户用到那部分数据的描述),内模式(数据物理结构和存储方式的描述、数据在数据库内部的表示方式)7. 数据库的两级映像:模式/内模式映像(实现概念模式与内模式的转换),外模式/模式映像(实现外模式与概念模式的转换)8. 数据的独立性:物理独立性(数据库的内模式改变时数据的逻辑结构不变),逻辑独立性(用户的应用程序与数据库的逻辑结构相互独立)9. 数据模型:概念数据模型(E-R 模型等),基本数据模型(层次模型:用树型结构表示数据间的联
23、系、网状模型:用网络结构表示数据间的联系、关系模型:用表格结构表示实体间的联系、面向对象模型:对象标识+封装+对象的属性+类和类层次+继承)10. 数据模型三要素:数据结构,数据操作,数据的约束条件11.E-R 图:实体(矩形),联系(菱形),属性(椭圆形)12. 完整性约束:实体完整性,参照完整性,用户自定义完整性13. 关系代数运算:并,交,差,笛卡尔积,投影,选择,连接,除14. SQL 语言的特点:综合统一,高度非过程化,面向集合的操作方式,两种使用方式(自含式、嵌入式),语言简洁易学易用15. SQL 语言的组成:数据定义语言,交互式数据操纵语言,事务控制,嵌入式 SQL 和动态 S
24、QL,完整性,权限管理16. SQL 数据定义:创建(create),修改(alter),删除(drop):表(table),视图(viewas select),索引(indexon)17. SQL 数据查询:select.from.where.group by.having.order by.P37518. 插入数据:insert into.values.19. 修改数据:update.set.=.where. 20.删除数据:delete from.where.21. 授权:grant.on.to(with grant option)22. 回收权限:revoke.on.from.23.
25、函数依赖:反映属性间的联系(XY);完全函数依赖:(学生 ID,所修课程 ID)成绩;部分函数依赖 :(学生 ID,所修课程 ID)学生姓名;平凡函数依赖:XY 且 Y 包含于X;非平凡函数依赖:XY 且Y 不包含于X;传递函数依赖:XY,YZ24. 规范化:1NF:每个分量都不可再分;2NF:消除非主属性对码的部分函数依赖;3NF:消除非主属性对码的传递函数依赖25. 模式分解标准:无损连接,保持函数依赖26. 事务的 ACID 性质:原子性,一致性,隔离性,持久性27. 事务管理:事务开始(begin transaction),事务提交(commit),事务回滚(rollback) 28.
26、数据库故障:事务内部故障,系统故障,介质故障,计算机病毒29. 数据备份方法:静态转储和动态转储,海量转储和增量转储,日志文件30. 数据恢复步骤:反向扫描文件日志,对事物的更新操作执行逆操作,继续反向扫描和更新,直到事务的开始标志31. 并发控制的技术:封锁(写锁、读锁)32. 数据不一致性:丢失修改,不可重复读,读脏数据八、数据结构1. 数据结构:数据元素的集合及元素间的相互关系和构造方法2. 线性表的存储结构:顺序存储,链式存储3. 单链表节点:typedef struct nodeint data;struct node *link;NODE,*LinkList; 4.双向链表:每个节
27、点有两个指针,分别指出直接前驱和直接后继5. 循环链表:尾节点指针指向第一个节点6. 静态链表:借助数组来描述线性表的链式存储结构7. 栈:后进先出;初始化栈:InitStack(S) 判栈空:StackEmpty(S) 入栈:Push(S,x) 出栈:Pop(S) 读取栈顶元素:Top(S)顺序存储+链式存储8. 队列:先进先出,尾入头出;初始化队:初始化队:InitQueue(Q) 判队空:Empty(Q) 入队:EnQueue(Q,x) 出队:DeQueue(Q) 读队头元素:FrontQue(Q)顺序存储+链式存储9. 串:仅由字符构成的有限序列,是取值范围受限的线性表串的模式匹配10
28、. 数组:定长线性表在维数上的扩张,一般不做插入删除运算11. 矩阵:特殊矩阵(元素分布有一定的规律:对称矩阵、三角矩阵、对角矩阵);稀疏矩阵(非零元素远少于零元素且肺部无规律:用三元组存储(行号,列号,值))12. 广义表(表中有表):表头(表中第一个元素);表尾(表中除去表头剩下的部分)13. 树:递归的,元素之间有明显的层次关系14. 完全二叉树应采用顺序存储结构,一般二叉树则应采用链式存储结构15. 二叉树的链式存储结构 :typedef struct BiTnode int data; struct BiTnode *lchild,*rchild;BiTnode,*BiTree;16
29、. 二叉树的遍历:先序遍历(先访问根节点),中序遍历(第二访问根节点),后序遍历(最后访问根节点),层序遍历(利用队列、每次出同一层的节点时进他们的子节点层)17. 线索二叉树:加上线索(直接前驱和直接后继)的二叉树18. 最优二叉树(哈夫曼树):一类带权路径长度最短的树19. 树的存储结构:双亲表示法(顺序存储);孩子表示法(链式存储);孩子兄弟表示法(链式存储,两个指针分别为第一个孩子和下一个兄弟)20. 图:一个节点的前驱节点和后继节点数目没有任何限制21. 图的表示:G=(V,E);V:顶点的集合;E:边的集合22. 网:边带权值的图无向图度连通图连通分量网完全图子图路径有向树出度强连
30、通图入度强连通分量有向图图23. 图的相关概念24. 图的存储结构:邻接矩阵表示法,邻接链表表示法25. 图的遍历:深度优先搜索,广度优先搜索26. 生成树:极小连通子图,针对连通图27. 最小生成树(权值和最小的生成树)算法:普尼姆算法(在相邻边的基础上求最小,与边数无关,适于边稠密的网);克鲁斯科尔算法(在不构成环的基础上找最小边直至连通,与顶点数无关,适于边稀疏的网)28. AOV 网:有向图中顶点表示活动,有向边表示活动间的优先关系29. 拓扑排序:将AOV 网中所有顶点按优先顺序排成一个线性序列的过程30. AOE 网:有向图中有向边表示活动,边上的权值表示该活动持续的时间31. 关键路径:从源点到汇点的路径中长度最长的32. 最短路径:从源点到其余各顶点的最短路径迪杰斯克拉算法33. 平均查找长度:关键字和给定值进行过比较的记录个数的平均值34. 静态查找方法:顺序查找;折半查找;分块查找35. 动态查找:表结构本身在查找过程中是动态生成的36. 二叉排序树:左子树上所有节点的值小于根节点的值,右子树上