软件设计师笔记
一、计算机系统基础知识
1.CPU 的功能:程序控制、操作控制、时间控制、数据处理。
2.计算机系统组成示意图:
指令寄存器 程序计数器 地址寄存器 指令译码器
3.数据表示:原码、反码、补码、移码。(0 为正,1 为负)
4.移码:如果机器字长为 N,偏移量为 2N-1,则[X]移=2N-1+[X]补(X 为纯整数)。[X]移=1+X(X
为纯小数)。
5.IEEE754:符号位(1 位,0 正 1 负)+阶码(8 位,+127)+尾数(23 位,小数点在最高位之后,随后省略最高位)。
6.浮点数加减:0 操作数检查,对阶操作(小阶变大阶),尾数加减(阶码用双符号位,尾数用
单符号位),结果规格化,舍入处理(判定溢出)。
7.常用校验码:奇偶校验码(只能检错)、海明码(纠错加检错)、循环冗余校验码(CRC)。
8.计算机体系结构分类:单处理系统,并行处理与多处理系统,分布式处理系统。
9.指令集的发展:CISC(复杂指令集计算机):增强原有指令的功能,用更为复杂的新指令取
而代之;RISC(精简指令集计算机):减少指令总数简化指令功能,优化编译降低复杂度。
10.指令控制方式:顺序方式,重叠方式,流水方式。
11.RISC 中的流水线技术:超流水线技术,超标量技术,超长指令字技术。
12.并发性的解决:阵列处理机,并行处理机,多处理机。
13.主存与 cache 地址映射方式:全相联映射-将主存一个块的地址与内容一起存入 cache 中,
拷贝灵活但是比较器电路难设计实现;直接映射-一个主存块只能拷贝到 cache 的特定行上去,硬件简单成本低但是容易冲突效率下降;组相联映射-主存块放到哪个组是固定的,但是放到哪一行是灵活的,折中办法广泛采用。
14.虚拟存储器:页式:页表硬件小,查表速度快但不利于存储保护;段式:界限分明便于
程序的模块化设计,易于编译修改和保护,但主存利用率低,产生大量碎片,查表速度慢; 段页式:折中办法,广泛采用,但地址变换速度比较慢。
15.计算机与外设数据交换:无条件传送,查询方式传送,中断方式传送,直接存储器存取
方式(DMA):CPU 仅在过程开始和结束时有处理,过程中DMA 占用系统总线传送数据。 16.多中断处理办法:多中断信号线法,中断软件查询法,菊花链法,总线仲裁法,中断向量表法。
17.总线分类:内部总线:芯片的互连,系统总线:CPU,内存,接口等的连接;外部总线: 数据交换。
18.信息安全 5 要素:机密性,完整性,可用性,可控性,可审查性。
19.加密技术:对称加密(私人密钥加密):数据加密标准(DES)+三重 DES+RC-5+国际数
据加密算法(IDEA)+高级加密标准(AES);非对称加密(公开密钥加密,比如 RSA 算法):加密模型+认证模型。
20.PKI:一种遵循既定标准的密钥管理平台,能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,必须具有权威认证机构、数字证书库、密钥备份和恢复系统、证书作废系统、应用接口。
21.计算机可靠性:可靠性:串联系统 R=R1R2,并联系统 R=1-(1-R1)(1-R2);平均无故
障时间:串联系统 K=K1+K2,并联系统 K=1/K(1+1/2)。
22.计算机系统性能评测常用方法:时钟频率,指令执行速度,等效指令速度法,数据处理速率(PDR)。
二、程序语言基础知识
1.编程语言之间的翻译形式:汇编,解释,编译。
2.程序设计语言的定义:语法,语义,语用。
3.程序语言的分类:命令式程序设计语言:FORTRAN,PASCAL,C 语言;面向对象的程序
设计语言(C++,JAVA,smaltalk);函数式程序设计语言(LISP);逻辑型程序设计语言
(PROLOG)。
4.程序语言的基本成分:数据,运算,控制,传输。
5.汇编语言源程序:指令语句,伪指令语句,宏指令语句。
6.汇编程序:将汇编语言所编写的源程序翻译成机器指令程序。
7.编译过程:源程序—词法分析—语法分析—语义分析—中间代码生成—代码优化—目标代
码生成—目标代码。(另全过程有符号表管理和出错处理)
8.解释程序:分析部分:词法分析、语法分析、语义分析->中间代码;解释部分:解释执行中间代码。
9.编译与解释方式的比较:前者效率高;后者更具有灵活性和可移植性。
三、操作系统知识
1.操作系统的作用:通过资源管理提高计算机系统的效率;改善人机界面,向用户提供友好的工作环境。
2.操作系统的特征:并发性、共享性、虚拟性和不确定性
3.操作系统的功能:处理机管理、文件管理、存储管理、设备管理、作业管理
4.操作系统的类型:批处理操作系统(单道、多道)、分时操作系统(UNIX,多路性、独立
性、交互性、及时性)、实时操作系统(快速的相应时间、有限的交互能力、高可靠性)、网络操作系统、分布式操作系统、微机操作系统(Windows,Linux)、嵌入式操作系统
5.程序并发执行的特点:失去了程序的封闭性,程序和机器的执行程序的活动不再一一对应,
并发程序间的相互制约性
6.进程的组成:程序、数据、进程控制块(PCB)
7.进程的状态:新建、就绪、运行、阻塞、终止
8.原语(若干条机器指令组成)的特点:执行时不能被分割,要么都做要么都不做
9.进程的同步:进程间完成一项任务时直接发生相互作用的关系
10 进程的互斥:系统中各进程互斥使用临界资源
11.信号量的意义:若 S>=0 表示某资源的可用数;若 S<0 则其绝对值表示阻塞队列中等待
该资源的进程数
12.PV 操作(低级通讯方式):P 操作申请一个资源,V 操作释放一个资源
13.高级通讯方式:共享存储模式,消息传递模式,管道通信
14.管城:由一些共享数据、一组能为并发进程所执行的作用在共享数据上的操作的集合、
初始代码以及存取权组成,一种同步机制
15.进程调度(可剥夺+不可剥夺)算法:先来先服务算法:主要用于宏观调度;时间片轮转: 微观调度,分时间片占用 CPU;优先级调度:根据优先级(静态+动态);多级反馈调度:分多个优先级队列前三中调度的综合,先执行新进程。
16.产生死锁的原因:竞争资源及进程推进顺序算法
17.产生死锁的四个必要条件:互斥条件,请求保持条件,不可剥夺条件,环路条件
18.死锁的处理:预防;避免(银行家算法:先计算,如果分配资源后系统进入不安全状态则不予分配);检测(系统定时运行死锁检测程序);解除(资源剥夺法+撤销进程法)
19.安全状态:系统能按某种顺序来为每个进程分配其所需资源,使每个进程都能顺序完成
20.线程:是进程中的一个实体,是被系统独立分配和调度的基本单位,基本上不拥有资源
21.存储器管理:分配和回收主存空间、提高主存利用率、扩充主存、有效保护主存信息
22.存储器的的层次结构:寄存器、快速缓存(cache)、主存、外存
23.地址重定位:将逻辑地址转变成物理地址的过程,分静态和动态(程序运行时完成转换)
24.虚拟存储页面置换算法:最佳置换(以后最久不会被使用),先进先出置换,最近最少未
使用,最近未用
25.设备管理的目标:提高设备的利用率,为用户提供方便统一的界面
26.磁盘调度(使平均寻道时间最少)算法:先来先服务,最短寻道时间优先,扫描算法,
单向扫描调度
27.文件:具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合
28.文件系统:操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理
和存取文件信息的软件机构
29.存储管理方案示意图
30.文件系统的安全:一类涉及到技术、管理、法律、道德和政治等问题;另一类涉及操作系统的安全机制
31.文件系统的可靠性:转储和恢复,日志文件,文件系统的一致性
32.作业:系统为完成一个用户的计算任务(或一次事物处理)所做的工作总和
33.作业状态:提交,后备,执行,完成
34.作业调度算法:先来先服务,短作业优先,响应比高优先,优先级调度,均衡调度
35.网络操作系统:集中模式,客户端/服务器模式,对等模式
36.嵌入式操作系统:微型化,可定制,实时性,可靠性,易移植性
37.shell 变量:用户定义变量,系统定义变量,shell 定义变量
四、系统开发和运行知识
1.软件工程:指应用计算机科学、数学及管理科学等原理,以工程