软件设计师知识点汇总

合集下载

软考软件设计师知识点

软考软件设计师知识点

软考软件设计师知识点软考(软件设计师考试)作为国内软件行业的重要认证考试之一,对于软件设计师的专业知识和技能有着严格的要求。

本文将系统地介绍软考软件设计师考试的重要知识点,帮助考生有效备考。

一、计算机基础知识1. 计算机组成与结构在软件设计师考试中,了解计算机的组成和结构是必不可少的。

对于计算机硬件、操作系统、数据库等方面的基本原理和架构,需做到心中有数。

2. 数据结构与算法数据结构与算法是软件设计师考试中的重中之重。

要掌握各种基本数据结构的特点和操作方式,熟悉常用算法的设计思想和实现方法,能够灵活运用于实际问题的解决。

3. 编程语言与开发工具软件设计师需要熟悉多种编程语言和开发工具,如Java、C++、Python等,掌握其语法与特性,并了解各类开发工具的使用方法,能够根据实际需求进行选用和配置。

二、软件需求与规格说明1. 需求分析与设计在软件设计师考试中,需了解软件需求分析的基本方法与技巧,掌握需求获取、需求分析和需求规格说明的过程和要求。

同时,要熟练运用建模工具(如UML)进行需求分析与设计。

2. 软件规格说明书软件设计师需要具备编写软件规格说明书的能力。

规格说明书体现了软件的设计思路和实现要求,对于开发团队的沟通和协作具有重要作用。

考生需要了解规格说明书的结构和要素,学会规范编写。

三、软件设计与实现1. 软件架构与设计模式软件的架构设计是软件设计师的核心能力之一。

需要深入了解常见的软件架构模式(如MVC、MVVM等),并能够根据实际需求选择和设计合适的软件架构。

2. 接口设计与开发软件设计师需具备熟练的接口设计和开发能力。

了解面向对象设计思想和设计原则,掌握接口设计的方法和标准,能够设计和实现稳定、高效的接口。

3. 数据库设计与优化数据库设计与优化是软件设计师需要重点关注的领域。

要了解关系数据库的基本原理和常用操作,熟悉数据库设计的规范和方法,能够进行数据库性能优化和调优。

四、软件测试与质量保证1. 软件测试方法与技术软件测试在软件开发生命周期中占据重要地位。

2023年软件设计师知识点

2023年软件设计师知识点

1、浮点数的表示(1)浮点数格式阶码决定范围,阶码越长,范围越大;尾数决定精度,尾数越长,精度越高。

(2)浮点数运算过程对阶→尾数计算→格式化;对阶:小数像大数看齐,尾数右移。

2、海明校验码3CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。

4、流水线技术流水线建立时间:第1条指令执行时间。

流水线周期:指令分段后,最长段时间。

流水线执行时间(默认使用理论公式,无答案时考虑实践公式)。

理论公式:流水线建立时间+(指令条数-1)*流水线周期。

实践公式:指令段数*流水线周期+(指令条数-1)*流水线周期。

吞吐率=指令条数/流水线执行时间。

最大吞吐率=流水线周期的倒数。

5、Cache在计算机的存储系统体系中,Cache是(除寄存器以外)访问速度最快的层次。

解决CPU与主存之间速度容量不匹配问题。

6、输入输出技术程序控制(查询)方式:分为无条件传送和程序查询方式。

方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率。

程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。

DMA方式:DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的。

DMA方式比程序控制方式与中断方式都高效。

7、线程同一个进程当中的各个线程,可以共享该进程的各种资源,如内存地址空间、代码、数据、文件等,线程之间的通信与交流非常方便。

对于同一个进程当中的各个线程来说,他们可以共享该进程的大部分资源。

每个线程都有自己独立的CPU运行上下文和栈,这是不能共享的(程序计数器、寄存器和栈不能共享)。

8、PV操作P操作:S=S-1(申请并锁定资源);S<0(检查资源是否足够)。

V操作:S=S+1(释放资源);S<=0(检查是否有进程排队并通知排队进程)。

S信号量:表示资源数,初值即为初始状态无操作时,资源的数量;信号量小于0的时候,还可以表示排队的进程数量。

9、前趋图与PV操作分析题技巧针对箭线标注信号量,箭线的起点位置是V操作(即前趋活动完成后以V操作通知后继活动);箭线的终点位置是P操作(即后继活动开始前以P操作检查前趋活动是否完成)。

软件设计师知识点

软件设计师知识点

软件设计师知识点一、软件设计师的职责和能力1.1 职责软件设计师是软件开发团队中的核心成员,负责根据用户需求和系统需求,设计出满足这些需求的软件系统。

他们需要与项目经理、开发人员和测试人员紧密合作,确保项目按时完成,并符合质量标准。

1.2 能力软件设计师需要具备以下能力:- 熟悉常见的软件开发方法和工具;- 精通至少一门编程语言;- 具备良好的沟通能力和团队协作能力;- 能够独立思考和解决问题;- 具有较强的学习能力和自我驱动能力。

二、软件设计的基本原则2.1 模块化模块化是指将一个复杂的系统分解为多个独立的模块,每个模块只关注自己所负责的功能。

这样可以提高代码重用性、可维护性和可扩展性。

2.2 高内聚低耦合高内聚低耦合是指一个模块内部各个组成部分之间联系紧密,但与其他模块之间联系松散。

这样可以降低代码之间相互依赖的程度,提高代码的可维护性和可扩展性。

2.3 接口设计接口是模块之间进行交互的桥梁。

良好的接口设计可以使得模块之间的交互更加清晰明确,降低代码耦合度,提高代码重用性和可维护性。

2.4 可测试性软件设计应该考虑到测试的需求,尽可能地将代码分解为可测试的单元,并为每个单元编写相应的测试用例。

这样可以提高软件质量和稳定性。

三、常见的软件设计模式3.1 工厂模式工厂模式是一种创建型模式,它将对象创建过程封装在一个工厂类中,客户端通过调用工厂类来获取所需对象。

这样可以将对象创建过程与客户端解耦,提高代码重用性和可扩展性。

3.2 单例模式单例模式是一种创建型模式,它保证一个类只有一个实例,并提供一个全局访问点。

这样可以避免多次创建相同对象造成资源浪费,同时也方便管理全局状态。

3.3 适配器模式适配器模式是一种结构型模式,它将不兼容的接口转换为兼容的接口,使得不同类之间可以进行协同工作。

这样可以提高代码重用性和可扩展性。

3.4 观察者模式观察者模式是一种行为型模式,它定义了对象之间的一对多依赖关系,当一个对象状态发生改变时,所有依赖它的对象都会收到通知并自动更新。

最新软件设计师知识点汇总.(良心出品必属精品)

最新软件设计师知识点汇总.(良心出品必属精品)

-----------------------计算机系统组成------------------------------------------计算机系统组成-------------运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。

控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器。

CPU的功能:程序控制、操作控制、时间控制、数据处理(最根本的。

相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中。

CACHE高速缓存的地址映像方法:直接地址映像(主存分区,区分块、全相联映像(主存分块、组相联映像(主存分区,区分块、块成组,CACHE分块成组。

替换算法:随机、先进先出、近期最少用、优化替换算法。

性能分析:H为CACHE命中率,t c为Cache存取时间、t m为主存访问时间,Cache等效访问时间t a=H t c+(1-Ht m提高了t m/t a倍。

虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成。

RISC精简指令集:指令种类少、长度固定、寻址方式少、最少的访内指令、CPU内有大量寄存器、适合流水线操作。

内存与接口统一编址:都在一个公共的地址空间里,独立使用各自的地址空间。

优点是内存指令可用于接口,缺点内存地址不连续,读程序要根据参数判断访内还是访接口。

廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传输率N 倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各磁盘进行读写的阵列,用一个检测盘、5级无专门检测盘。

中断方式处理方法:多中断信号线法、中断软件查询法、菊花链法(硬件、总线仲裁法、中断向量表法(保存各中断源的中断服务程序的入口地址。

直接存储器存取DMA:内存与IO设备直接成块传送,无需CPU干涉。

根据占据总线方法不同分为CPU停止法、总线周期分时法、总线周期挪用法。

软件设计师必背知识点

软件设计师必背知识点

软件设计师必背知识点一、计算机组成与体系结构。

1. 数据的表示。

- 进制转换:- 二进制、八进制、十进制、十六进制之间的相互转换。

例如,十进制转二进制可以采用除2取余法,将十进制数不断除以2,取余数,直到商为0,然后将余数从右到左排列得到二进制数。

- 二进制数的运算,包括算术运算(加、减、乘、除)和逻辑运算(与、或、非、异或)。

- 原码、反码、补码:- 原码:最高位为符号位,0表示正数,1表示负数,其余位表示数值的绝对值。

- 反码:正数的反码与原码相同,负数的反码是在原码的基础上,符号位不变,其余位取反。

- 补码:正数的补码与原码相同,负数的补码是其反码加1。

计算机中通常采用补码来表示和运算数据,因为补码可以简化减法运算,将减法转换为加法。

2. 计算机的基本组成。

- 冯·诺依曼结构:由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

- 运算器:进行算术和逻辑运算的部件,如加法器、乘法器等。

- 控制器:指挥计算机各部件协调工作的部件,它从存储器中取出指令,分析指令并产生相应的控制信号,控制计算机各部件执行指令。

- 存储器:用于存储程序和数据。

分为内存储器(主存)和外存储器(辅存)。

内存储器包括随机存取存储器(RAM)和只读存储器(ROM)。

RAM是可读可写的存储器,断电后数据丢失;ROM是只读存储器,断电后数据不丢失,常用于存储BIOS等基本系统程序。

- 输入设备:如键盘、鼠标等,用于向计算机输入数据和指令。

- 输出设备:如显示器、打印机等,用于将计算机处理的结果输出。

3. 指令系统。

- 指令的格式:一般包括操作码和操作数两部分。

操作码表示指令要执行的操作,操作数表示操作的对象。

- 指令的寻址方式:- 立即寻址:操作数直接包含在指令中。

- 直接寻址:操作数的地址直接包含在指令中。

- 间接寻址:指令中给出的是操作数地址的地址。

- 寄存器寻址:操作数存放在寄存器中,指令中给出寄存器编号。

软件设计师学习重点

软件设计师学习重点

一、计算机系统基础知识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.虚拟存储器虚拟存储器:页式:页表硬件小,查表速度快但不利于存储保护;段式:界限分明便于程序的模块化设计,易于编译修改和保护,但主存利用率低,产生大量碎片,查表速度慢;段页式:折中办法,广泛采用,但地址变换速度比较慢。

软件设计师常考知识点

软件设计师常考知识点

软件设计师常考知识点软件设计师是一个充满挑战和机遇的职业,软件设计师需要具备广泛的知识和技能。

在软件设计师的考试中,以下是一些常考的知识点。

一、编程语言基础1. C语言基础C语言是软件设计师最重要的编程语言之一,掌握C语言的基本语法、流程控制、函数以及指针等知识是非常重要的。

2. Java语言基础Java是一种常用的面向对象编程语言,掌握Java的基本语法、类与对象、继承与多态、异常处理等知识是软件设计师必备的能力。

3. Python语言基础Python是一种简单而强大的编程语言,熟悉Python的基本语法、变量、循环、条件语句等知识对软件设计师来说非常有帮助。

二、数据结构与算法1. 数组与链表了解数组和链表的特点与用途,可以对其进行插入、删除、查找等操作。

2. 栈与队列理解栈与队列的概念,以及它们的应用场景和基本操作。

3. 树与图熟悉树与图的相关概念、存储结构和基本遍历算法。

4. 查找与排序了解二分查找、冒泡排序、插入排序、快速排序等常用查找与排序算法。

三、操作系统1. 进程与线程了解进程与线程的概念、特点以及它们之间的区别。

2. 内存管理掌握内存的分配与回收方法,了解虚拟内存的概念与工作原理。

3. 文件系统熟悉文件系统的组织结构以及文件的读写操作。

四、数据库1. SQL语言熟悉SQL语言的基本语法、数据查询与操作,掌握常用的数据库操作命令。

2. 数据库设计与规范化了解数据库设计的基本原则,熟悉规范化的各个层次。

3. 数据库管理与优化掌握数据库的管理与维护方法,了解数据库的性能优化技巧。

五、软件工程与开发1. 需求分析与规划了解软件开发的需求分析和规划流程,掌握相关方法和工具。

2. 设计模式熟悉常用的设计模式,如单例模式、工厂模式等,了解它们的应用场景与原理。

3. 软件测试与调试掌握软件测试的基本方法与流程,熟悉调试工具的使用。

4. 版本控制与项目管理了解版本控制工具如Git的基本使用,熟悉项目管理的基本原则与方法。

软件设计师知识点总结

软件设计师知识点总结

软件设计师知识点总结1. 软件设计的基本概念与原则1.1 软件设计的定义软件设计是指根据给定的需求规格,按照一定的方法和原则,将系统划分为模块、定义模块之间的接口、确定模块的实现与数据封装方式,并制定相应的算法和策略,从而得到系统的详细设计文档。

1.2 软件设计的原则•单一职责原则(SRP):一个类应该只有一个引起它变化的原因。

•开放封闭原则(OCP):软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。

•里氏替换原则(LSP):子类对象必须能够替换其父类对象而不影响程序的正确性。

•依赖倒置原则(DIP):高层模块不应该直接依赖低层模块,二者应该依赖其抽象。

•接口隔离原则(ISP):不应该强迫客户端依赖于它们不需要的接口。

•迪米特法则(LoD):一个软件实体应当尽可能少地与其他实体发生相互作用。

2. 软件设计的基本步骤软件设计的基本步骤通常包括:需求分析、概要设计、详细设计、编码、测试、维护等阶段。

2.1 需求分析需求分析是对用户需求进行调研和分析,明确软件系统的功能、性能、接口等方面的要求。

在需求分析阶段,需要进行用户访谈、需求收集、需求分析及相应的文档编写。

2.2 概要设计概要设计是将需求分析得到的需求进行抽象,确定系统的整体结构和组成模块,包括系统的功能模块划分、模块间的关系、数据流程等内容,并绘制出系统的结构图。

2.3 详细设计详细设计是在概要设计的基础上,对系统进行更加详细的设计,包括对每个模块的功能和接口进行定义、模块内部的算法和数据结构设计、数据的封装方式等。

详细设计需要编写相应的设计文档,供程序员进行编码实现。

2.4 编码与测试在编码阶段,根据详细设计文档进行编程实现。

编码完成后,需要进行测试工作,包括单元测试、集成测试、系统测试等。

测试的目的是验证程序的正确性、性能、和稳定性。

2.5 维护软件设计不仅仅是开发的过程,还包括软件的维护阶段。

维护包括对软件进行修复bug、对软件进行功能增强、适应新的运行环境等。

软件设计师考试知识点总结

软件设计师考试知识点总结

软件设计师考试知识点总结第⼀章:计算机组成原理与体系结考点1:运算器和控制器1. 运算器1. 算术逻辑单元ALU:数据的算术运算和逻辑运算2. 累加寄存器AC:通⽤寄存器,为ALU提供⼀个⼯作区,⽤在暂存数据3. 数据缓冲寄存器DR:写内存时,暂存指令或数据4. 状态条件寄存器PSW:存储状态标志与控制标志2. 控制器1. 程序计数器PC:存储下⼀条要执⾏指令的地址2. 指令寄存器IR:存储即将执⾏的指令3. 指令译码器ID:对指令中的操作码字段进⾏分析解释4. 时序部件:提供时序控制信号考点2:数据的表⽰1. 进制转换1. R进制转⼗进制:按权展开2. ⼗进制转R进制:短除法3. ⼆进制转⼋、⼗六进制:分组快速转换2. 数据编码1. 原码:正数的原码是它本⾝,负数的原码是符号位为12. 反码:正数的反码是它本⾝,负数的反码是除符号位不变,其他位取反3. 补码:正数的补码是它本⾝,负数的补码是负数的反码+14. 移码:将补码的最⾼位取反3. 浮点数1. 浮点数的表⽰:N=M*R e,M为尾数,R为基数,e为阶码1. 尾数⽤补码表⽰,阶码⽤移码表⽰2. 尾数的位数决定数的有效精度,位数越多精度越⾼3. 阶码的位数决定数的表⽰范围,位数越多范围越⼤2. 浮点数的运算1. 对阶,将阶码⼩的扩⼤,使两个数的阶码相同2. 求尾数和(差)3. 结果规格化并判断溢出考点3:Flynn分类法考点4:CISC与RISC考点5:流⽔线技术1. 流⽔线相关概念1. 流⽔线:流⽔线是指在程序执⾏时多条指令重叠进⾏操作的⼀种准并⾏处理实现技术2. 流⽔线建⽴时间:1条指令执⾏时间3. 流⽔线周期:执⾏时间最长的⼀段4. 吞吐率:单位时间内流⽔线处理机流出的结果。

对指令⽽⾔就是单位时间内执⾏的指令数。

2. 流⽔线相关计算1. 流⽔线执⾏时间1. 理论公式:(t1+t2+..+tk)+(n-1)*Δt2. 实践公式:k*Δt +(n-1)*Δt2. 吞吐率1. 吞吐率:TP = 指令条数 / 流⽔线执⾏时间2. 最⼤吞吐率:1 / Δt3. 流⽔线加速⽐:顺序执⾏时间 / 流⽔线执⾏时间考点6:存储系统1. 分级存储系统1. 存储体系结构2. 局部性原理1. 概念:程序在执⾏时呈现出局部性规律,即在⼀段时间内,整个程序的执⾏仅限于程序中的某⼀部分。

软件设计师知识点总结

软件设计师知识点总结

软件设计师知识点总结一、概述软件设计师是一种为现代企业设计并应用软件系统的专业人员。

软件设计师需具备深厚的计算机科学知识,能够熟练掌握各种编程语言和开发工具,并且要有良好的逻辑和设计能力。

本文将从软件设计师的专业知识点出发,对其所需掌握的知识进行总结。

二、基础知识1. 数据结构与算法数据结构与算法是软件设计师必须掌握的基础知识。

数据结构指的是在计算机中组织和存储数据的方式,而算法则是解决问题的一系列步骤。

常见的数据结构包括数组、链表、栈、队列、树、图等,而算法则包括各种排序、查找、递归等常用算法。

2. 编程语言软件设计师需要熟练掌握至少一种编程语言,如Java、C++、Python等。

不同的编程语言适用于不同的场景,而且也有不同的特点和优势。

因此,软件设计师需要对多种编程语言有所了解。

3. 软件工程软件设计师需要了解软件工程的相关知识,包括软件开发过程、需求分析、系统设计、编码、测试、维护等各个环节。

此外,软件设计师也需要掌握软件开发的一些常用模型,如瀑布模型、敏捷开发等。

4. 设计模式设计模式是解决软件设计问题的一种经验总结,软件设计师需要了解并熟练应用各种设计模式。

常用的设计模式包括工厂模式、单例模式、观察者模式、适配器模式等。

5. 数据库软件设计师需要了解数据库的相关知识,包括数据库的设计、查询语言、事务处理、索引优化等。

常用的数据库包括关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)。

三、高级知识1. 多线程与并发软件设计师需要了解多线程与并发的相关知识,包括线程的创建与管理、线程间的通信、锁机制、死锁等。

多线程与并发是提高软件性能和响应速度的关键技术。

2. 计算机网络软件设计师需要了解计算机网络的相关知识,包括网络协议、网络传输、网络拓扑结构、网络安全等。

此外,还需要了解HTTP、TCP/IP、UDP等常用协议。

3. 操作系统软件设计师需要了解操作系统的相关知识,包括进程管理、内存管理、文件系统等。

软件设计师知识点

软件设计师知识点

二进制编码1、只有补码能够将减法转化为加法,故用硬件加法器可以较方便地进行数字加减法。

由于正数的移码大于负数的移码,利用这一特点,移码被广泛用来表示浮点数阶码的数字编码,这可以用比较阶码的大小来实现真值大小的比较。

2、操作数包含在指令中的寻址方式为立即寻址;操作数在寄存器中的寻址方式为寄存器寻址;操作数的地址在寄存器中的寻址方式为寄存器间接寻址。

计算机操作系统:1、在计算机系统中,构成虚拟存储器,既需要硬件,如大容量的外部存储器(硬磁盘)及一定容量的主存储器,同时还需要必要的管理软件,能够对虚拟存储器进行管理。

只有这样才能实现虚拟存储器。

2、在页式存储管理中,有效地址除页的大小,取整为页号,取余为页内地址。

根据页号取得物理块数,再用物理块数* 页面大小+ 页内地址即可得该逻辑地址的物理地址。

3、操作进程之间的相互作用,主要是如何利用P、V操作实现进程间的同步与互斥。

P操作表示申请一个资源,即P(S):S = S -1若S>=0 则调用P操作的进程继续执行;若S<0;则调用P操作的进程堵塞,并把它插入到等待信号量S的堵塞队列中,V操作表示释放一个资源,即V(S):S = S + 1;若S > 0 则调用V操作的进程继续执行;若S <= 0;则从等待信号量S的阻塞队列中唤醒第一个进程,然后自己继续执行。

4、在CPU的寄存器中,指令寄存器对用户是完全透明的。

计算机病毒:1、包过滤防火墙无法实现对应用层协议HTTP的限制,可以实现对传输层TCP协议的限制。

通信加解密:Rc.5是对称密码,加解密都使用相同的密钥,加密效率高,适合于加密大量的数据。

RSA和EcC是非对称密码,加解密使用不同的密钥(公钥和私钥),它们对计算资源的消耗较大,适合于加密非常少量的数据,例如加密会话密钥,可以用于数字签名。

MD5可以用于生成数字摘要。

2、对数据加密可以使用对称密码和非对称密码,在加密大量数据时需要使用非对称密码,,RSA和ECC是非对称密码,3DES是对称密码。

软件设计师常考知识点

软件设计师常考知识点

软考知识点第一章计算机系统知识1.计算机体系结构(计算机系统结构)属性:硬件所能处理的数据类型、所能支持的寻址方式、CPU的内部寄存器、CPU的指令系统、主存的组织与主存的管理、中断系统的功能、输入输出设备及连接接口、计算机特性结构类型。

分类:(1)Flynn分类法(1966):指令流、数据流、多倍性按指令流和数据流的不同组织方式分:单指令流单数据流(SISD);单指令流多数据流(SIMD);多指令流单数据流(MISD);多指令流多数据流(MIMD)。

(2)冯式分类法(1972):最大平行度P m :指计算机系统在单位时间内能够处理的最大的二进制位数。

设每个时钟周期△t i 内能处理的二进制位数为p i ,则T个时钟周期内平均并行度为:P a =(∑P i)/T ,在T 周期内的平均利用率为:u=Pa/Pm=(∑Pi)/(T*Pm)。

平均并行度取决于系统的运行程度,与应用程序无关。

按最大并行度进行分类:字串行、位串行(WSBS):N=1,M=1;字并行、位串行(WPBS):N=1,M>1;字串行、位并行(WSBP):N>1,M=1;字并行、位并行(WPBP):N>1,M>1。

与计算机组成的区别:前者解决的问题是计算机系统总体上、功能上需要解决的问题,后者要解决的是逻辑上如何具体实现的问题;指令系统的确定属于前者,而指令的具体实现属于后者;主存容量及编址方式的确定属于前者,而具体如何构成主存属于后者。

结构的并行性:内容:同时性、并发性并行处理分类:存储器操作并行;处理器操作步骤并行(流水线处理机);处理器操作并行(阵列处理机)。

指令、任务、作业并行(多处理机、分布式系统、计算机网络)并行性的发展:精简指令集计算机(RISC)、指令集上并行的的超标量处理机、超级流水线处理机、超长指令计算机、多微处理机系统、数据流计算机;大规模并行处理(MPP)的多处理机系统和多计算机系统。

2.存储系统:层次结构:CPU寄存器、高速缓存Cache、主存、辅存。

软件设计师考点整理

软件设计师考点整理

软件设计师考点整理一、引言软件设计师考试是计算机专业技术人员资格考试中的一个重要组成部分,旨在测试软件设计师在计算机科学、系统、操作系统、数据库、数据结构与算法、面向对象开发、网络、编译原理、测试以及项目管理等方面的知识和技能。

本文档旨在为准备参加软件设计师考试的人员提供全面的考点整理和复习指导。

二、考点整理1. 计算机科学基础知识计算机科学的基本概念、方法和原理,包括计算理论、算法复杂度分析、离散数学、数据结构与算法等。

2. 计算机系统基础知识计算机系统的基本组成、硬件结构、指令系统、操作系统、文件系统等。

3. 操作系统基础知识操作系统的基本概念、原理和功能,包括进程管理、内存管理、文件管理、设备管理等。

4. 数据库基础知识数据库的基本概念、原理和设计方法,包括关系型数据库、SQL 语言、数据库设计等。

5. 数据结构与算法知识数据结构的基本概念和算法,包括数组、链表、栈、队列、树等数据结构和排序、查找等算法。

6. 面向对象开发知识面向对象的基本概念和方法,包括类、对象、继承、多态等。

7. 网络基础知识网络的基本概念和协议,包括TCP/IP协议栈、HTTP协议、DNS等。

8. 编译原理基础知识编译原理的基本概念和原理,包括词法分析、语法分析、语义分析等。

9. 测试基础知识测试的基本概念和方法,包括单元测试、集成测试、系统测试等。

10. 项目管理基础知识项目管理的概念和方法,包括项目计划、项目进度管理、项目质量管理等。

三、复习指导1. 制定复习计划:根据考试大纲和自己的实际情况,制定详细的复习计划和时间表。

2. 系统学习:从计算机科学基础知识开始,系统学习各个方面的知识,做到全面覆盖。

可以参考相关教材或在线课程进行学习。

3. 重点突破:针对自己的薄弱环节进行重点突破,可以多做相关练习题或模拟试题。

4. 注重实践:理论学习是基础,但实践更为重要。

可以通过编写程序或参与项目实践来加深对知识的理解和掌握。

软件设计师考试笔记考点(知识点)归纳总结

软件设计师考试笔记考点(知识点)归纳总结

1、软件开发模型(1)原型法--适用于需求不明确的开发(2)瀑布模型--适用于需求已经明确的开发(3)螺旋模型--适用于风险较大的大中型项目(4)喷泉模型--主要用于描述面向对象的开发过程2、成本估算时,COCOMOⅡ方法以规模作为成本的主要因素,考虑多个成本驱动因子。

3、高内聚低耦合是软件设计的一个原则,其中内聚指模块内部各元素之间联系的紧密程度,也就是代码功能的几种程度。

耦合指模块之间互相联系的紧密程度。

4、通信内聚:如果一个模块的所有成分都操作同一个数据集或生成同一个数据集,则称为通信内聚;5、巧合内聚:也称偶然内聚,模块内各部分之间没有联系,或即使有联系,也很松散,是内聚程序最低的模块。

6、过程内聚:某模块内涉及多个功能,这些功能必须以特定的次序执行,则该模块的内聚类型为过程内聚7、数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递。

例如模块A将学生信息,即学生姓名、学号、手机号等放到一个结构体中,传递给模块B,则称模块A 和B之间的耦合类型为数据耦合8、CMM模型将软件过程的成熟度分为5各等级(1)初始级:软件过程的特点是无秩序的,有时甚至是混乱的。

项目成功往往依赖于个人。

(2)可重复级:已经建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。

(3)定义级:用于管理和工程的的软件过程均已文档化、标准化,并形成整个软件组织的标准软件过程。

(4)管理级:软件过程和产品质量有详细的度量标准。

(5)优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够持续性地进行过程改进。

9、软件测试(1)白盒测试又称结构测试,主要用于单元测试阶段,测试者完全知道程序的结构和处理算法(2)黑盒测试又称为功能测试,主要用于集成测试盒确认测试阶段。

(3)α测试是用户在开发者的场所由开发者指导完成的测试(4)β测试是在一个或多个用户的现场由该软件的最终用户实施的,开发者通常不在现场。

软件设计师知识点

软件设计师知识点

•在输入输出控制方法中,采用DMA可以使设备与主存之间的数据块传送无须 CPU 干预。

•内存容量为4GB,即内存单元的地址宽度为32位;字长为32位,即要求数据总线的宽度为32位。

•ARP攻击造成网络无法跨网段通信的原因是:伪造网关ARP报文使得数据包无法发送到网关。

•软件商标权的权利人是:软件注册商标所有人。

•利用商业秘密权可以对软件的信息、经营信息提供保护。

(管理方法、经营方法、产销策略、客户情报、软件市场的分析、预测报告、和对未来的发展规划、招投标中的标底以及标书内容)。

•某项目组拟开发了一个大规模系统,且具备了相关领域以及类似规模系统的开发经验,则瀑布模型最适合开发此项目。

•编译程序分析源程序的阶段依次是:词法分析、语法分析、语义分析。

•结构冗余:按其方法可以分为静态、动态和混合冗余。

信息冗余:为了检测或纠正信息在运算或传输中的错误另外加的一部分信息。

时间冗余:以重复执行指令或程序来消除瞬时错误带来的影响。

冗余附加技术:是指为实现上述冗余技术所需要的资源和技术。

•软件过程的改进框架:过程改进基础设施、过程改进线路图、软件过程评估方法、软件过程改进计划。

每一次改进要经历4个步骤:评估、计划、改进和监控。

•软件复杂性度量的参数:软件的规模、软件的难度、软件的结构、软件的智能度。

•软件系统的可维护性评价指标包括可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率,不包括可扩展性。

•开-闭原则是面向对象的可复用设计的基石。

开-闭原则是指一个软件实体应当对扩展开放,对修改关闭;里氏代换原则是指任何基类对象可以出现的地方,子类对象一定可以出现。

依赖倒转原则就是要依赖于抽象,而不依赖于实现,或者说要针对接口编程,不要针对实现编程。

•汇编语言的指令语句必须要有操作码字段,可以没有操作数字段。

•贪心算法不能保证求得0-1背包问题的最优解。

•公钥体系中,私钥用于解密和签名,公钥用于加密和认证。

(用公钥加密、私钥解密可实现保密通信;用私钥加密、公钥解密可实现数字签名)•指令系统中采用不同寻址方式的目的是:扩大寻址空间并提高编程灵活性。

软件设计师考试笔记考点(知识点)归纳总结

软件设计师考试笔记考点(知识点)归纳总结

1、软件开发模型(1)原型法--适用于需求不明确的开发(2)瀑布模型--适用于需求已经明确的开发(3)螺旋模型--适用于风险较大的大中型项目(4)喷泉模型--主要用于描述面向对象的开发过程2、成本估算时,COCOMOⅡ方法以规模作为成本的主要因素,考虑多个成本驱动因子。

3、高内聚低耦合是软件设计的一个原则,其中内聚指模块内部各元素之间联系的紧密程度,也就是代码功能的几种程度。

耦合指模块之间互相联系的紧密程度。

4、通信内聚:如果一个模块的所有成分都操作同一个数据集或生成同一个数据集,则称为通信内聚;5、巧合内聚:也称偶然内聚,模块内各部分之间没有联系,或即使有联系,也很松散,是内聚程序最低的模块。

6、过程内聚:某模块内涉及多个功能,这些功能必须以特定的次序执行,则该模块的内聚类型为过程内聚7、数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递。

例如模块A将学生信息,即学生姓名、学号、手机号等放到一个结构体中,传递给模块B,则称模块A 和B之间的耦合类型为数据耦合8、CMM模型将软件过程的成熟度分为5各等级(1)初始级:软件过程的特点是无秩序的,有时甚至是混乱的。

项目成功往往依赖于个人。

(2)可重复级:已经建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。

(3)定义级:用于管理和工程的的软件过程均已文档化、标准化,并形成整个软件组织的标准软件过程。

(4)管理级:软件过程和产品质量有详细的度量标准。

(5)优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够持续性地进行过程改进。

9、软件测试(1)白盒测试又称结构测试,主要用于单元测试阶段,测试者完全知道程序的结构和处理算法(2)黑盒测试又称为功能测试,主要用于集成测试盒确认测试阶段。

(3)α测试是用户在开发者的场所由开发者指导完成的测试(4)β测试是在一个或多个用户的现场由该软件的最终用户实施的,开发者通常不在现场。

软件设计师知识点总结(重点)

软件设计师知识点总结(重点)

软件设计师知识点总结一、软件工程软件工程基础知识软件生命周期:软件的生存期划分为制定计划、需求分析、设计、编程实现、测试、运行维护等几个阶段,称为软件生命周期。

软件开发模型常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型。

瀑布模型(Waterfall Model):'缺点:瀑布模型缺乏灵活性,无法通过开发活动澄清本来不够明确的活动。

因此,当用户需求比较明确时才使用此模型。

演化模型(Evolutionary Model):也称为快速原型模型。

快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。

螺旋模型(Spiral Model):将瀑布模型和演化模型相结合,综合了瀑布模型和演化模型的优点,并增加了风险分析。

包含4个方面活动:制定计划:风险分析:实施工程:客户评价:喷泉模型(Water Fountain Model):主要用于描述面向对象的开发过程。

喷泉一词体现了面向对象开发过程的迭代和无间隙特征。

即允许开发活动交叉、迭代地进行。

、迭代:模型中的开发活动常常需要重复多次,在迭代过程中不断完善软件系统。

无间隙:指在开发活动(如分析、设计、编码)之间不存在明显的边界。

V模型(V Model):该模型强调测试过程应如何与分析、设计等过程相关联。

增量模型(Incremental Model):好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险。

构件:是由多种相互作用的模块所形成的提供特定功能的代码片段构成.软件开发方法软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。

包括:结构化的方法、Jackson方法、面向对象开发方法结构化方法指导思想是自顶向下、逐层分解,基本原则是功能的分解与抽象。

、Jackson方法:是面向数据结构的开发方法,包括JSP(Jackson Structure programming)和JSD (Jackson System Development)面向对象开发方法:面向对象方法是以对象为最基本的元素,对象也是分析问题和解决问题的核心。

软件设计师常考知识点汇总

软件设计师常考知识点汇总

软件设计师常考知识点汇总软件设计师是IT行业中一种重要的职业角色,承担着软件系统的设计、开发和维护等工作。

为了能够胜任这一职位,软件设计师需要具备一定的技术素养和专业知识。

本文将对软件设计师常考的知识点进行汇总,以帮助有意向从事或正在从事该职业的人士更好地准备相关考试或工作。

知识点一:软件工程原理与方法软件设计师需要了解软件工程的基本原理和方法,包括软件开发生命周期、软件需求分析、软件设计与建模、软件测试与调试、软件发布与维护等。

此外,还需要熟悉常用的软件开发模型,如瀑布模型、敏捷开发等,并能在实际工作中合理选择适用的开发模型。

知识点二:编程语言与框架软件设计师需要熟悉一种或多种常用的编程语言,如Java、C++、Python等,并了解各种编程语言的特性、语法和常用库函数等。

此外,还需了解常用的开发框架,如Spring、Django等,以提高开发效率。

知识点三:数据结构与算法软件设计师需要熟悉常用的数据结构,如数组、链表、栈、队列、树、图等,以及常用的算法,如排序算法、查找算法、图算法等。

了解数据结构和算法的特性和复杂度分析,能够根据实际问题选择合适的数据结构和算法进行设计和优化。

知识点四:数据库技术软件设计师需要熟悉数据库的基本原理和常用的数据库管理系统,如MySQL、Oracle、SQL Server等,能够设计和优化数据库模型,并熟悉SQL语言进行数据库操作和查询。

此外,还需要了解数据库的索引、事务、存储过程等高级特性。

知识点五:网络与通信技术软件设计师需要了解网络协议、网络编程和通信机制,包括TCP/IP 协议族、HTTP协议、RESTful接口等。

能够进行网络编程和实现不同设备间的通信,对于分布式系统和云计算等技术具备一定的了解和应用经验。

知识点六:系统架构与设计模式软件设计师需要具备良好的系统架构设计能力,了解常用的系统架构模式,如MVC、微服务架构等,并能根据实际需求进行系统架构设计和优化。

软件设计师知识点汇总

软件设计师知识点汇总

计算机系统组成--------------------------------------计算机系统组成运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。

控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器。

CPU的功能:程序控制、操作控制、时间控制、数据处理(最根本的)。

相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中。

CACHE高速缓存的地址映像方法:直接地址映像(主存分区,区分块)、全相联映像(主存分块)、组相联映像(主存分区,区分块、块成组,CACHE分块成组)。

替换算法:随机、先进先出、近期最少用、优化替换算法。

性能分析:H为CACHE命中率,t c为Cache存取时间、t m为主存访问时间,Cache等效访问时间t a=H t c +(1-H) t m提高了t m/t a倍。

虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成。

RISC精简指令集:指令种类少、长度固定、寻址方式少、最少的访内指令、CPU内有大量寄存器、适合流水线操作。

内存与接口统一编址:都在一个公共的地址空间里,独立使用各自的地址空间。

优点是内存指令可用于接口,缺点内存地址不连续,读程序要根据参数判断访内还是访接口。

廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传输率N倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各磁盘进行读写的阵列,用一个检测盘、5级无专门检测盘。

中断方式处理方法:多中断信号线法、中断软件查询法、菊花链法(硬件)、总线仲裁法、中断向量表法(保存各中断源的中断服务程序的入口地址)。

直接存储器存取DMA:内存与IO设备直接成块传送,无需CPU干涉。

根据占据总线方法不同分为CPU停止法、总线周期分时法、总线周期挪用法。

输入输出处理机用于大型机:数据传送方式有字节多路方式、选择传送方式、数组多路方式。

软件设计师易考知识点

软件设计师易考知识点

1、海明码校验位的⻓度:假设N表示添加了校验位后整个信息的⼆进制位数,K代表有效信息位数,r表示添加的校验码位,他们之间满⾜的关系为:2r>= K+r+1 = N2、公开密钥加密,也称为⾮对称加密,例如RSA、ElGamal、背包算法、Rabin、ECC、DSA等。

DES是典型的私钥加密体制,属于对称加密。

RSA⾮对称加密算法;SHA-1与MD5属于信息摘要算法;RC-5属于对称加密算法。

对⼤量明⽂加密,考虑效率问题,⼀般采⽤对称加密。

3、正规式运算符:“|”、“·”、“*”分别称为“或”,“连接”,“闭包”。

在正规式的书写中,连接运算符“·”可省略。

运算符的优先级从⾼到低顺序排列为:“*”、“·”、“|”。

运算符“|”表示“或”、并集。

“*”表示*之前括号⾥的内容出现0次或多次。

4、功能内聚:完成⼀个单⼀功能,各个部分协同⼯作,缺⼀不可。

顺序内聚:处理元素相关,⽽且必须顺序执⾏。

通讯内聚:所有处理元素集中在⼀个数据结构的区域上。

过程内聚:处理元素相关,⽽且必须按特定的次序执⾏。

瞬时内聚:所包含的任务必须在同⼀时间间隔内执⾏(如初始模块)。

逻辑内聚:完成逻辑上相关的⼀组任务。

偶然内聚:完成⼀组没有关系或者松散关系的任务。

内容内聚:⼀个模块需要涉及到另⼀个模块的内部信息。

5、McCabe度量法先画出程序图,然后采⽤公示V(G)=m-n+2计算环路复杂度,其中m是有向弧的数量,n是节点的数量。

6、装饰器模式:结构型模式,创建⼀个装饰类,⽤来包装原有的类,并在保持类⽅法签名完整性的前提下,提供额外的功能。

外观模式:结构型模式,它向现有的系统添加⼀个接⼝,来隐藏系统的复杂性。

享元模式:结构型模式,运⽤共享技术有效地⽀持⼤量细粒度的对象。

适配器模式:结构型模式,将⼀个类的接⼝转换成客户希望的另外⼀个接⼝。

组合模式:结构型模式,将对象组合成树形结构以表示“部分-整体”的层次结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1计算机系统组成运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。

控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器。

CPU 的功能:程序控制、操作控制、时间控制、数据处理(最根本的)。

CACHE高速缓存的地址映像方法:直接地址映像(主存分区,区分块)、全相联映像(主存分块)、组相联映像(主存分区,区分块、块成组,CACHE分块成组)。

替换算法:随机、先进先出、近期最少用、优化替换算法。

性能分析:H为CACHE命中率,t c为Cache存取时间、t m为主存访问时间,Cache等效访问时间t a=H t c +(1-H) t m提高了t m/t a倍。

虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成。

相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中。

RISC精简指令集:指令种类少、长度固定、寻址方式少、最少的访内指令、CPU内有大量寄存器、适合流水线操作。

内存与接口统一编址:都在一个公共的地址空间里,独立使用各自的地址空间。

优点是内存指令可用于接口,缺点内存地址不连续,读程序要根据参数判断访内还是访接口。

廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传输率N倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各磁盘进行读写的阵列,用一个检测盘、5级无专门检测盘。

中断方式处理方法:多中断信号线法、中断软件查询法、菊花链法(硬件)、总线仲裁法、中断向量表法(保存各中断源的中断服务程序的入口地址)。

直接存储器存取DMA:内存与IO设备直接成块传送,无需CPU干涉。

根据占据总线方法不同分为CPU停止法、总线周期分时法、总线周期挪用法。

输入输出处理机用于大型机:数据传送方式有字节多路方式、选择传送方式、数组多路方式。

指令流水线:操作周期是最慢的操作的时间。

建立时间是达到最大吞吐率的时间。

总线内总线:ISA、EISA、PCI;外总线:RS-232(3根线全双工15米)、SCSI(并行外总线、16位、最大320M秒、最多63个设备20米)、USB(4条线480M秒接5层127个设备)、IEEE-1394(串行6条线3.2G秒热插)阵列处理机:单指多数据流SIMD,同步同时执行同一指令。

多处理机:多指多数据,多处理机互连应满足高频带、低成本、方式多样、在不规则通讯下连接的无冲突性。

四种结构:总线式、交叉开关、多端口存储器结构、开关枢纽式。

并行处理机:单指令多数据流,分布存储和共享存储两种结构。

特点资源重复、连接模式、专用性(与算法联系)、复合性。

信息安全五要素:机密性、完整、可用、可控性、可审查性。

安全等级:三类技术安全性、管理安全性、政策法规安全性。

《可信计算机系统评测标准》TCSEC/TDI分4组7级。

A1可验证安全设计、B3安全域、B2结构化安全保护、B1标记安全保护、C2受控访问控制、C1初级、D最低无安全功能。

安全威胁:对资源的机密性、完整性、可用性、合法性造成危害。

两类故意和偶然。

加密技术的两个元素:算法和密钥。

对称加密即私密加密,加解密使用相同的密钥DES;非对称加密即公密加密RSA,加密公开解密保密,适合少量数据加密;不可逆加密。

常用加密算法:DES算法采用56位密钥对64位数据加密密钥太短、三重DES效果相当于密钥长度加倍;RC5算法RSA 采用此算法;IDEA密钥是128位。

密钥管理:密钥产生由权威认证机构CA中心、公开密钥体系PKI、密钥分发中心KDC。

认证技术主要解决通讯双方身份认可。

PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术(包括加密、数字签名、数据完整机制、数字信封、双重数字签名)。

密钥备份恢复仅限解密密钥,私密不备份。

PKI采用证书进行公钥管理,PKI把公钥密码和对称密码结合起来,保证网上数据安全传输。

机密性(不被偷看)、完整性(不被篡改)、有效性(不被否认)。

PKI标准化有两个方面:RSA的机密密钥标准PKCS和工业基础协议PKIX。

Hash函数:输入不同长度字符返回定长串,即Hash值。

它可以在数字签名中解决验证签名和用户身份验证、不可抵赖性的问题。

信息摘要即数字指纹,它用于创建数字签名,对于特定文件信息摘要是唯一的,常用Hash函数有MD2、MD4、MD5他们都产生128位摘要。

数字签名使用发送方密钥对,使用发送方私密加密,接受方用发送方的公密解密,是一对多关系;数字加密使用接受方密钥对,公钥加密,私密解密、是多对一的关系。

SSL安全协议:即安全套接层协议,用于保证通讯安全系数。

提供三方面的服务:用户和服务器的合法认证、机密数据以隐藏被传送的数据、保证数据的完整性(采用Hash函数和机密共享技术保证数据完整性)。

数字时间戳技术:提供电子文件的日期和时间信息的安全保护。

时间戳包括三部分:需加时间戳的文件的摘要、DTS收到文件的日期和时间、DTS的数字签名。

解决局域网安全问题的技术:①划分网段、局域网交互技术、VLAN,②加密、数字签名、认证和VPN技术,③防火墙,④入侵检测技术⑤网络安全扫描技术。

计算机的可靠性:衡量一个计算机系统可靠性R、可用性A、可维修性S。

平均无故障时间MTBF=1/λ;串连系统可靠性R=R1+R2 ;失效率λ=λ1+λ2;并联系统:R=1-(1-R1)(1-R2);总失效率=1/( (1/λ)* ∑(1/1..n) );计算机性能评测方法:时钟频率、指令执行速度、等效指令速度法、数据处理速率、核心程序法。

2汇编和编译汇编语言的三类语句:指令、伪指令、宏指令语句。

编译的过程:①词法分析,②语法分析,③语义分析、④中间代码生成(三地址码)、⑤代码优化:基本块划分:第一条、转移、转移后面的语句。

三种优化:合并已知变量、删除无用赋值、删除多余运算。

⑥目标代码生成,⑦符号表管理,⑧出错处理。

编译比解释效率高,解释的灵活性和可移植性好。

文法语言自动机产生式规则0-型递归可枚举语言图灵机无限制1-型上下文相关语言线性有界非确定图灵机αAβ -> αγβ 2-型上下文无关语言非确定下推自动机 A -> γ 3-型正规语言有限状态自动机 A -> aB3操作系统四个特征:并发、共享、虚拟性、不确定性。

五大管理功能:进程、文件、存储、设备、作业管理。

运行、就绪、阻塞。

操作系统内核包含支撑功能(中断处理、时钟管理、原语操作)、资源管理功能(进程、存储、设备管理)。

引起阻塞的原因:启动某个IO操作、新数据尚未到底、无新工作可作。

互斥临界区的管理原则:有空则进、无空等待、有限等待、让权等待。

信号量机制有整型信号量、记录型、信号量集机制。

公用信号量:实现互斥,等于临界资源数目;私用信号量实现同步。

P(-1)V(+1)。

进程的高级原语通信的类型有:共享存储系统、消息传递系统、管道通信。

管程实现同步机制的基础是条件结构。

进程调度:三级调度高级调度(长调度、作业调度、接纳调度)、中级调度(对换调度)、低级调度(进程调度)。

调度方式:先来先服务、时间片轮转、优先级调度、多级反馈调度算法。

优先级的确定:I/O型最高优先级、计算型进程减少调度次数、主要是CPU处理的进程、为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时降低优先级。

死锁产生的原因:资源竞争及进程推进顺序非法。

产生死锁的四个必要条件:互斥条件、请求保持、不可剥夺条件、环路条件。

死锁的处理:鸵鸟政策、预防政策(静态分配法、资源有序分配法)、避免政策(安全状态和银行家算法)、检测与解除死锁。

线程也称为轻型进程:目的是提高系统内程序并发程度、提高吞吐量。

线程作为调度和分配的基本单位,基本不拥有资源;进程作为独立分配资源的单位。

线程可以创建线程,同一进程有多个线程。

存储管理的功能:主存的分配和回收、提高主存的利用率、存储保护、主存扩充。

可变分区的四种算法:最佳适应(保留最大空白区、找最适合的分区)、最差适应(不易产生碎片、找最大的分区)、首次适应(最易合并相邻空白区)、循环首次适应。

解决碎片的方法是拼接即紧凑。

地址重定位是逻辑地址被转成主存物理地址的过程。

可重定位分区是解决碎片问题的简单有效的方法。

分页存储管理:页表的作用是实现从页号到物理块号的地址映射。

地址变换机构的基本任务是利用页表把用户程序中的逻辑地址变换成主存中的物理地址。

快表:硬件实现,有一组联想高速存储器组成。

两级页表机制:外层页表即页目录存放页表的物理地址,内层页表页的物理块号。

分段存储管理:便于编程、分段共享、分段保护、动态链接、动态增长。

段页式存储管理。

虚拟存储管理:根据程序运行局部性原理,具有请求调入和置换功能;特征:离散性、多次性、对换性、虚拟性。

请求分页的硬件支持:缺页中断特点:在指令执行期间产生和处理(一般中断在后)、返回时回到该指令的开始重新执行该指令(一般中断回到下一条)、一条指令可产生多次缺页中断。

虚拟存储的页面置换算法减少抖动颠簸:最佳置换、先进先出FIFO、最近最久未使用LRU、最近未用算法NUR。

工作集:驻留内存,是进程集合。

设备管理:目标提高设备利用率。

I/O系统组成:设备、控制器、通道、总线、I/O软件。

块设备(磁盘):传输率高、可寻址、DMA方式。

字符设备(终端、打印机):传输率低、不可寻址、中断方式。

中速(各种打印机)高速设备(磁带磁盘光盘)。

设备管理的主要技术:中断技术、DMA、通道、缓冲技术。

I/O软件的目的是设备独立性和统一命名。

分四层:中断处理程序、设备驱动程序、与设备无关的系统软件(功能统一接口、设备命名、保护、缓冲、错误处理、存储分配释放)、用户级软件(I/O调用、格式化I/O、Spooling)。

通道:目的是使数据独立于CPU。

字节多路通道、数组选择通道、数组多路通道。

DMA技术:指主存与I/O设备间直接成块传送,只需CPU 启动信号,不需CPU干涉。

缓冲技术:目的提高外设利用率,解决CPU与IO速度不匹配、减少中断频率放宽中断相应时间的限制、提高CPU与IO的并行。

Spooling假脱机技术使独占设备变成多台虚拟设备,由预输入程序、缓输出技术、井管理程序、输入输出井组成。

磁盘调度目标是使平均寻道时间最短。

常见文件系统FAT32 NTFS HPFS VXT2 VFAT。

文件控制块FCB是由基本信息(名、物理地址)、存取控制信息、使用信息组成。

FCB的集合称为目录。

磁盘分配表是外存空闲空间管理的数据结构。

空闲空间管理方法有空闲区表、位示图、空闲块链、成组链接法。

文件共享:硬链接ln名新名、软链接ls –s。

作业由程序、数据、作业说明书组成。

作业的四种状态:提交、后备、执行、完成。

相关文档
最新文档