'''
首次2019.5.6
2017年上
'''
一,
程序计算器(pc)用于存放下一条指令所在的单元地址
累加器(AC),当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供工作区,同时存放ALU运算的结构信息
指令寄存器(IR):用于存放当前从主存存储器读出的正在执行的一条指令
地址寄存器AR:用于保存当前cpu所访问的内存单元的地址
二,
DMA(直接存储器访问方式),DMA将数据从一个地址空间复制到另一个地址空间是,cpu初始化传输动作,传输本身是有DMA控制器执行,完成
三,
串行系统的可靠性:R=R1 X R2... .并行系统的可靠性:R=1-(1-R1) X(1-R2) ...
四,
海明码校验位的位数:
(m 为信息位,k 为校验位) 当 k=5 ,m=16时,31≥21 等式成立
五,
Cache中储存的内容是主存部分内容的复本,是按程序的局部性原理选取出来的最常使用或不久将
来仍将使用的内容。
六,
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的 HTTP 通道,是 HTTP
的安全版。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议
七,
加密算法:https://www.cnblogs.com/colife/p/5566789.html
常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。
对称加密:指加密和解密使用相同密钥的加密算法。对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。
常见的对称加密算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES
非对称加密: 指加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。
常见的非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
hash加密: Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。
常见的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1
加密算法的选择
我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。
对称加密算法不能实现签名,因此签名只能非对称算法。
由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。
在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。
如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。
八,
数字信号处理:采样频率大于等于工作频率的二倍,才能恢复实际波形
九,
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法
十,
静态建模:创建并建立一个系统的静态特征
1.用例图:描述系统功能及功能的使用者.
2.类 图:表现系统里实体的关系,责任,类和类之间的关系,属性及方法.
3.对象图:当类图不能完全显示关系时用对象图.描述对象的属性,对象名,方法.
4.组件图:对类功能的封装,一个组件包含多个类.
虚线:表示依赖关系.
5.部署图:描述系统中的物理结构.
实线:表示连接
动态间模:用来展示系统的行为
1.时序图:描述对象的交互过程.以时间为参考(强调的是时间顺序).
虚线:(生命线)表示对象的生命周期.
实线:对象消息.
虚线:返回消息.
长方形:活动(激活).
叉:对象消亡.
2.协作图:跟时序图一样,但强调对象的连接关系.
3.状态图:描述对象的自身的状态(一个对象的类型不同可能行为很古怪,行为变化很大).
4.活动图:(类似于流程图)描述一个环境中的交互顺序.
十一,
十二,
有主程员的是n-1
十三,
十四,
词法分析阶段:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词,删除无用的信息,报告分析时的错误
语法分析阶段,语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式,赋值,循环等,按语法规则分析检查每条语句是否有正确的逻辑结构
语义分析阶段主要检查源程序是否存在语义错误,并收集类型信息供后面的代码生成阶段使用,如赋值语句的右端和左端类型不匹配,表达式的除数为0等
十四,
不造成死锁的最小资源数
例题:设某系统中有3个并发进程都需要4个同类资源,该系统不会发生死锁的最少资源数量?
答案是10
3个进程要想不死锁 每个进程都需要4个同类资源 所以。。
只要每个进程都有3个资源 另外一个在给一个额外的资源。 那么3个进程中有一个可以运行。。运行完以后 释放资源然后其余的 进程在申请资源就可以了啊 。。。
十四,
十五,
极限编程
是一种软件工程方法学,是敏捷软件开发中可能是最富有成效的几种方法学之一
极限编程的主要目标在于降低因需求变更而带来的成本。在传统系统开发方法中,系统需求是在项目开发的开始阶段就确定下来,并在之后的开发过程中保持不变的
十六,
十七,
面向对象的多态指的是:
十八,
协作图(通信图)
时序图(序列图)
活动图
活动图(activity diagram)是UML的动态视图之一,用来描述事物或对象的活动变化流程。活动图可看作状态图的特殊形式。特殊性在于活动图中的一个活动结束后将立即进入下一个活动而不需要事件触发活动的转移
十九,
软件设计模式
https://blog.csdn.net/l_215851356/article/details/50935476
软件模式分为:创建型模式,结构型模式,行为型模式
二十
二十一
二十二,
算法,最短路径和关键路径
算法:
(1)分治法
是将待求解的原问题划分成k个较小规模的子问题,对这k个子问题分别求解。如果子问题的规模仍然不够小,则再将每个子问题划分为k个规模更小的子问题,如此分解下去,直到问题规模足够小,很容易求出其解为止(子问题求解思路一致),再将子问题的解合并为一个更大规模的问题的解,自底向上逐步求出原问题的解。
(2)动态规划法
是将待求解问题分解成若干个相互重叠的子问题,每个子问题对应决策过程的一个阶段,一般来说,子问题的重叠关系表现在对给定问题求解的递推关系(也就是动态规划函数)中,将子问题的解求解一次并填入表中,当需要再次求解此子问题时,可以通过查表获得该子问题的解而不用再次求解,从而避免了大量重复计算。
(3)贪心法
贪心法在解决问题的策略上目光短浅,只根据当前已有的信息就做出选择,而且一旦做出了选择,不管将来有什么结果,这个选择都不会改变。换言之,贪心法并不是从整体最优考虑,它所做出的选择只是在某种意义上的局部最优。这种局部最优选择并不总能获得整体最优解(Optimal Solution),但通常能获得近似最优解(Near-Optimal Solution)
(4)回溯法
回溯法就是一种有组织的系统化搜索技术,可以看作是蛮力法穷举搜索的改进。回溯法每次只构建可能解的一部分,然后评估这个部分解,如果这个部分有可能导致一个完全解,对其进一步搜索,否则,就不必继续构造这部分的解了,回溯法常常可以避免搜索所有可能的解,所以,它往往比满立法效率更高,适用于求解组合数组较大的问题。
(5)
分支限界法(branch and bound method)
分支限界法按广度优先策略遍历问题的解空间,在遍历过程种,对已经处理的每一个结点根据限界函数估算目标函数的可能值,从中选取使目标函数取得极值(极大或极小)的结点优先进行广度优先搜索,从而不断调整搜索方向,尽快找到问题的解。因为界限函数常常是基于问题的目标函数而确定的,所以,分支限界法适用于求解最优化问题。
二十三,
二十三,
数据传输
二十四
路由