VLIW:(Very Long Instructin Word,超长指令字)一种非常长的指令组合,他把许多条指令连在一起,增加了运算的速度。
进制转换:
90H(H表16进制) = 1001 0000(二进制)
若90H为补码,补码最高位为符号位,此为负数
且反码为补码-1:1000 1111
且原码为反码除符号位全取反:1111 0000(十进制为-112)
虚拟存储体系由 主存辅存两级构成
I/O:
中断
– 在CPU执行程序的过程中,由于某一个外部的或CPU内部事件的发生,使CPU暂时中止正在执行的程序,转去处理这一事件(即执行中断服务程序),当时间处理完毕后又回到原先被中止的程序,接着中止前的状态继续向下执行。这一过程叫 中断
– 对于中断源的识别标志,是可用来形成响应的中断服务程序的入口地址或存放中断服务程序的首地址,也称为中断向量
不可屏蔽中断
– CPU立即无条件响应
可屏蔽中断
– CPU爱理不理(例:打印机
直接主存存取 DMA(Direct Memory Access)
– 数据在主存与I/O设备之间(主存与外设之间)直接成块传送
BIOS
– 在计算机中,实现计算机与外部设备之间数据交换经常使用的方式有无条件传送、程序查询、中断和直接存储器存取(DMA)。其中前三种都是通过CPU执行某一段程序,实现计算机内存与外设间的数据交换。只有DMA方式下,CPU交出计算机系统总线的控制权,不参与内存与外设间的数据交换。而DMA方式工作时,是在DMA控制硬件的控制下,实现内存与外设间数据的直接传送,并不需要CPU参与工作。由于DMA方式是在DMA控制器硬件的控制下实现数据的传送,不需要CPU执行程序,故这种方式传送的速度最快。
BIOS存储在主板的ROM(Read-Only Memory)里
计算机结构:
CPU根据指令周期的不同阶段(取指令,分析和执行指令)区分内存中以二进制编码形式存放的指令和数据
CPU执行指令的过程,会根据时序部件发出的时钟信号进行操作。在取指令阶段读取的是指令;在分析和执行指令时,如果需要操作数,则读取操作数。
PC(程序计数器)是用于存放下一条指令所在单元的地址。当执行一条指令时,处理器首先需要从PC中取出指令在内存中的地址,通过地址总线寻址获取。
指令
流水线
层次化存储结构:
人话版本:
直接相连:1v1但哈希,冲突就死
全相连:任选一块进行1v1,但成本高
组相连:组与组之间1v1哈希,组内随便分配
程序的局限性表现在时间局部性和空间局部性:
(1)时间局部性是指如果程序中的某条指令一旦被执行,则不久的将来该指令可能再次被执行;
(2)空间局部性是指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问。
总线:
串联系统与并联系统
校验码:
可靠性
加密算法:
摘要算法:
数字证书:
其他网络安全控制技术
主动攻击:
被动攻击:
入侵检测技术:
专家系统、模型检测、简单匹配
漏洞扫描不是入侵检测技术,防火墙不提供漏洞扫描功能
买了工具软件A,用A开发了B,卖B的同时免费提供A,侵犯了A的著作权
著作权是 自作品完成之时就开始了保护,即使没申请注册商标,被别人仿制出来,也是被侵犯著作权
著作权中修改权、署名权、保护作品完成权都是永久保护的
注册商标有效期满,需要继续使用的,应当在期满前六个月内申请续展注册。专利权和著作权到期后都无法延长,而商业秘密权无期限限制。
乙企业委甲公司开发软件。根据《著作权法》第17条的规定,著作权归属由委托人和受托人通过合同约定。合同中未作明确约定的,著作权属于受托人。那么该案例中,软件著作权归属没有明确约定,所以著作权归受托人甲,而不是甲公司派出去的软件设计师。
烟草必须有商标
通信内聚:一个模块的所有成分都操作【统一数据集】或生成【同一数据集】,例:两个方法分别负责读/写
逻辑聚合:模块内部的各个组成在【逻辑上】具有相似的处理动作
过程聚合:【模块内部】各个组成部分所要完成的动作无关但必须【特定次序】
内容耦合:一个模块需要涉及【另一个模块的内部信息】
功能内聚:完成一个单一功能,各个部分【协同工作】,缺一不可
顺序内聚:处理元素相关,而且必须顺序执行
瞬时内聚:所包含的任务必须在同一时间间隔内执行
偶然/巧合内聚:完成一组没有 关系或松散关系的任务,由于内容不相关,所以必然导致它与外界多个模块有关联,这也使得模块间的耦合度增加
开发模型:
原型模式:适用于需求不明确时用以获取需求
演化/迭代:尽快投入使用,并可以在使用过程中不断完善
XP极限编程:
– 简单设计(只处理当前请求)
– 测试先行(先写测试代码,再写程序)
– 持续集成(可以按日甚至小时为客户提供可运行版本)
– 现场客户(系统最终用户代表应该全程配合XP团队)
– 计划游戏(快速制定计划,随着细节的不断变化而完善)
– 小型发布(系统的设计要能够尽可能早地交付)
– 隐喻(真到合适的比喻传达信息)
– 重构(重新审视需求和设计,重新明确地描述它们以符合新需求)
– 结对编程;集体代码所有制;每周工作40小时;编码标准;
— 极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其他一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。XP就提倡结对编程(Pair Programming),而且代码所有权是归于整个开发队伍。其中的结对编程就是一种对代码的审查过程,XP主要解决代码质量低的问题,编码速度不能改变。
敏捷开发
– Product Backlog(产品待办事项清单)
– Sprint Backlog(待办事项清单)
– Sprint(冲刺迭代)
喷泉模型
– 面向对象的开发模型。特点是:迭代无间隙,以用户需求为动力
并列争球法使用了迭代的方法,其中,把每段时间(30天)一次的迭代称为一个“冲刺”,并按需求的优先级别来实现产品,多个自组织和自治的小组并行地递增实现产品。
螺旋模型
– 螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。
增量模型
– 又称为渐增模型,也称为有计划的产品改进模型,它从一组给定的需求开始,通过构造一系列可执行中间版本来实施开发活动。第一个版本纳入一部分需求,下一个版本纳入更多的需求,依此类推,直到系统完成。每个中间版本都要执行必需的过程、活动和任务。增量模型是瀑布模型和原型进化模型的综合,它对软件过程的考虑是:在整体上按照瀑布模型的流程实施项目开发,以方便对项目的管理;但在软件的实际创建中,则将软件系统按功能分解为许多增量构件,并以构件为单位逐个地创建与交付,直到全部增量构件创建完毕,并都被集成到系统之中交付用户使用。比较瀑布模型、原型进化模型,增量模型具有非常显著的优越性。但增量模型对软件设计有更高的技术要求,特别是对软件体系结构,要求它具有很好的开放性与稳定性,能够顺利地实现构件的集成。
增量模型有以下不足之处:如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定;如果需要不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布;管理发生的成本、进度和配置的复杂性可能会超出组织的能力。一开始需求不清晰,会影响开发的进度。
质量保证:
人机界面设计:
其他:
软件设计原则
软件过程改进
协议应用提升:
上网:
路由配置
对于多种不同的路由协议到一个目的地的路由信息,路由器首先根据管理距离决定相信哪一个协议。
多态:
特殊/一般关系(泛化)
实体联系图(可以框选出一个集合进行两端联系,17上年下午2题)
类图(实心菱形-组合,展现了一组对象、接口、协作和它们之间的关系)
组件图(展现了一组组件之间的组织和依赖)
部署图(用来对面向对象系统的物理方面建模的方法,展现了运行时处理结点以及其中构件制品的配置)
通信图(强调收发消息的对象或参与者的结构组织)
顺序/序列图(1个用例和多个对象的行为,强调消息的时间次序的交互图)
状态图(迁移的概念,迁移的时间,每条线一定有事件)
活动图(每条线不一定有事件)
对象图(展示了某一时刻一组对象以及它们之间的关系)
用例图(展现了一组用例、参与者以及它们之间的关系)
Example:
类图里的类如果是abstract,它没有“直接对象”,因为它是抽象的
创建聚簇索引意味着重新确定表中的数据的物理顺序,是内模式是数据物理结构和存储方式的描述,对应着物理层,所以对于物理顺序的操作改变的一定是内模式。
外模式也称用户模式,是用户与数据库系统的接口,对应着视图层,AB是同一个概念。
模式也称概念模式,是数据库中全部数据的逻辑结构和特征的描述,对应着逻辑层。
编译型语言:预处理-编译-汇编-链接
中间代码的表达形式有:语法树,后缀式,三地址代码
程序设计语言的基本成分包括数据、运算、控制和传输等。
程序设计语言的控制成分包括顺序、选择和循环3种结构。
存取时间 = 寻道时间 + 等待时间
寻道时间是指磁头移动到磁道所需的时间;
等待时间为等待读写的扇区转到磁头下方所用的旋转延迟时间
实时操作系统是保证在一定时间限制内完成特定功能的操作系统。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。
改变数字载波频率可以改变乐音的音调。 改变它的幅度就可以改变乐音的音高。
一、语句覆盖
使程序中的每个可执行语句都能执行一次的测试用例
二、判断覆盖(分支覆盖)
对于判断语句,在设计用例的时候,要设计判断语句结果为True和False的两种情况
三、条件覆盖
设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考判断语句的计算结果
四、判断条件覆盖(分支条件覆盖)
设计测试用例时,使得判断语句中每个条件表达式的所有可能结果至少出现一次,每个判断语句本身所有可能结果也至少出现一次
五、条件组合覆盖
设计测试用例时,使得每个判断语句中条件结果的所有可能组合至少出现一次
六、路径覆盖
设计测试用例时,覆盖程序中所有可能的执行路径