一、项目管理
一、基本概念
- 范围管理:确定项目的边界,即那些工作是项目应该做的,那些工作不应该包括在项目中
- 范围定义的输入包括:项目章程、项目范围管理计划、批准的变更申请、组织过程资产
- WBS的作用包括:便于估算、明确范围、防止需求蔓延、最底层是工作包
一、时间管理
- 时间管理的过程包括:活动的定义、活动的排序、活动的资产估算、活动的历时估算、制定计划、进度控制
- 三点估算法公式:(乐观时间 4*最可能时间 悲观时间)/6
- 进度控制
- 需求判断的关键点:
- 第一步:判断延误活动是否为关键活动,若为关键活动,则需要加快速度
- 第二步:若延误活动不是关键活动,则判断【偏差是否大于总时差】,大于,则加快进度
- 第三步:偏差不大于总时差时,进一步判断偏差是否大于自由时差,若大于自由时差,先不调整计划,但是要加强监管
- 加快进度的手段:
- 赶工:增加资源,加班,加人
- 快速跟进:活动并行执行
- 进度网络图---关键路径法(PERT)
- 关键路径是在制定进度计划时使用的一种进度网络分析技术,关键路径法沿着项目进度网络路径进行正向与反向分析,从而计算出所有计划活动理论上的最早开始与完成日期,最迟开始与完成日期,不考虑任何资源限制。
- 总时差(松弛时间):在不延误工期的前提下,该活动的机动时间。活动的总时差等于该活动最迟完成事件与最早完成时间之差,或该活动最迟开始时间与最早开始时间之差
- 自由时差
- 在不影响紧后或的最早开始时间前提下,该活动的机动时间
- 对于有紧后活动的活动,其自由时差等于所有紧后活动最早开始时间减去活动最早完成事件所得之差的最小值
- 对于没有紧后活动的活动,也就是以网络计划终点节点为完成节点的活动,其自由时差等于计划工期与本活动最早完成时间之差
- 对于网络计划中以终点节点为完成节点的活动,其自由时差与总时差相等。此外,由于活动的自由时差是其总时差的构成部分,所以,当活动的总时差为零时,其自由时差必然为零,可不必进行专门的计算。
- Gantt图
- 优点:甘特图直观、简单、容易制造,便于理解,能很清晰地标识出每一项的起始与结束时间,一般适用于比较简单的小项目,可用于WBS的任何层次、进度控制、资源优化、编制资源和费用计划
- 缺点:不能系统地表达一个项目所包含的各项工作之间的复杂关系,难以进行定量的计算和分析,以及计划的优化等
- 与PERT相比
- PERT图以网络图为基础,能表达活动间复杂逻辑关系
- Gantt图简单直观,但是不能表达活动间的复杂逻辑关系
- PERT图主要描述不同任务之间的依赖关系,Gantt图主要描述不同任务之间的重叠关系
三、软件过程改进CMMI
- 优化级:组织级改革与实施、因果分析和解决方案 ,关键特征:持续优化
- 定量管理级:组织级过程性能、定量项目管理;关键特征:量化式管理
- 已定义级别:
- 需求开发、技术解决方案、产品集成、验证、确认、组织级过程焦点、组织级过程定义、组织级培训、集成项目管理、风险管理、集成化团队、决策分析和解决方案、组织级集成环境;关键特征:组织级、文档级标准化
- 已管理级:需求管理、项目计划、配置管理、项目监督与控制、供应商合同管理、度量和分析、过程和产品质量保证;关键特征:项目级别可重复
- 混乱级
二、计算机组成与体系结构
一、计算机体系结构分类(Flynn分类法)
- 单指令流单数据流
- 单指令流读数据流
- 多指令流单数据流
- 多指令流多数据流
二、CISC与RISC
- 硬联逻辑级:这是计算机的内核、由门、触发器等逻辑电路组成
- 微程序级:这一级的机器语言是微指令集,程序员用微指令的微程序一般直接由硬件执行
- 传统机器级:这一级的机器语言是该机器的指令集,程序员用 机器指令编写的程序可以由微程序进行解释
三、流水线
概念:流水线执行时间计算、流水吞吐率、流水线加速比、流水线效率
- 流水线建立时间:1条指令执行时间,记作t
- 流水线周期:执行时间最长的一段
- 流水线执行时间(理论公式):(t1 ...tn) (n-1)*t
- 流水线执行时间(实践公式):k*tm (n-1)*t
- 流水线吞吐率:TP=指令条数/流水线执行时间
- 流水线的最大吞吐率=1/tm
- 流水线加速比:顺序执行时间/流水线执行时间
四、存储系统
概念:Cache,相联存储器是按内容存取的,一般用于Cache
- Cache的相关概念:
- 功能:提高CPU数据输入输出的速率,突破冯诺依曼,即CPU与存储系统间数据传送带宽限制
- 在计算机存储系统体系中,Cache是除寄存器以外,访问速度最快的层次
- 使用Cache改善系统性能的依据是程序的局部性原理
- 时间局部性:指程序中的某条指令一旦执行,不久以后该指令可能再次执行
- 空间局部性:指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址是可能集中在一定范围内
- Cache对于程序员来说透明的(地址映射是由硬件直接完成的)
- 直接相联映像:硬件电路简单,但是冲突率很高
- 全相联映像:电路难于设计和实现,只适用于小容量的cache,冲突率较低
- 组相联映像:直接相联与全相联的折中
- 平均存取时间,如果以h代表对Cache的访问命中率,(1-h)称为失效率(未命中率),t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用Cache 主存储器的系统的平均周期为t3,则t3=h*t1 (1-h)*t2
- Cache页面淘汰算法,随机算法、先进先出算法、近期最少使用算法、最不经常使用页面置换;
- Cache的读写过程:
- 写直达:同时写Cache与内存
- 写回:只写Cache,淘汰页面时,写回内存
- 标记法:只写入内存,并将标志位清0,若用次数据,需要再次调取
磁盘结构与参数
- 存取时间=寻道时间 等待时间,寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间,有时还需要加上数据的传输时间
- 在处理过程中,如果有关于缓存区的使用,需要了解单缓存区每次只能被一个进程使用,即向缓冲区传输数据的时候不能从缓冲区读取数据,反之亦然
- 对于磁盘存储的优化,是因为磁头保持转动的状态,当读取数据传输或处理时,磁头会移动到超前的位置,需要继续旋转才能回到逻辑下一个磁盘块,优化存储就是调整磁盘块的位置,让逻辑下一磁盘块放到磁头将要开始读取该逻辑块的位置
- 磁盘调度算法:先来先服务FCFS;最短寻道时间优先SSTF、扫描算法;循环扫描
- 单双缓冲区
- 概念:单缓冲区:在单缓冲区的情况下,每当用户进程发出IO请求时,OS便在主存中为之分配一缓冲区。在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为T,OS将该缓冲区的数据传送到用户区的时间为M,而CPU对这一块数据的处理时间为C,T和C是可以并行的
- 双缓存区:
- 由于缓冲区是共享资源,生产者与消费者在使用缓冲区时必须互斥
- 如果消费者尚未取走缓冲区的数据,生产者又生产新的数据,也无法将它送入缓冲区,所以设置了两个缓冲区。
五、系统配置与性能评价
一、性能指标
- 主频和CPU时钟周期(Clock Cycle):主频又称为时钟频率,时钟周期是时钟频率的倒数;主频=外频*倍频
- 指令周期:取出并执行一条指令的时间
- 总线周期(Bus Cycle):也就是一个访问存储器或IO端口操作所用的时间
- 指令周期、总线周期和时钟周期之间的关系:一个指令周期由若干总线周期组成,而一个总线周期时间又包含有若干时钟周期(也就是说一个指令周期包含若干时钟周期)
- MIPS:每秒处理的百万级的机器语言指令数,主要是用于衡量标量机的性能
- MFLOPS:每秒百万个浮点数,不能反映整体情况,只能反映浮点运算情况,主要用于衡量t向量机性能
二、性能评价方法
- 时钟频率法:以时钟频率高低衡量速度
- 指令执行速度法:表示机器运算速度的单位是MIPS
- 等效指令速度法:通过各类指令在程序中所占的比例进行计算得到的。考虑:指令比例不同的问题
- 数据处理速率法:PDR值的方法来衡量机器性能,PDR值越大,机器性能越好;考虑:CPU 存储
- 综合理论性能法:
- 基准程序法:把应用程序中用的最多,最频繁的那部分核心程序作为评估计算机系统性能的标准程序,称为基准测试程序。基准程序法是目前一致承认的测试系统性能的较好方法
六、操作系统
一、进程管理
- 进程与线程(**)
- 进程资源分配与调度的基本单位,线程是调度的基本单位,不是资源分配的基本单位,某些资源可以共享
- 同一个进程当中的各个线程,可以共享该进程的各种资源,如内存地址空间,代码,数据,文件等,线程之间的通信与交流非常方便。都有线程都有自己独立的cpu运行上下文和栈,这是不能共享的
- 信号量与PV操作
- 相关概念:互斥、同步、临界资源、临界区、信号量
- 互斥:千军万马过独木桥,同类资源的竞争关系(资源上制约、间接制约)
- 同步:速度有差异,在一定情况停下等待,进程间的协作关系(工序上的制约,直接制约)
- 临界资源:诸进程间需要互斥方式读其进行共享的资源,如打印机、磁带机等
- 信号量:是一种特殊的变量,当信号量小于0时,还可以表示排队进程数
- PVC操作的过程“
- 前驱图:
- 前驱图表示:起点---》终点,可以此形式表示前驱图中所有的箭线,1个箭头表示1个前驱关系。
- 针对箭线标注信号量,箭线的起点位置是V操作(即前驱活动完成后以V操作通知后继活动);箭线的终点位置是P操作(即后继活动开始前以P操作检查前驱活动是否完成)。前驱图与PV结合,根据前驱图箭线标注信号量,再根据进程图填空。
- 死锁以及银行家算法
- 格局题干给出的进程和资源分配,判断形成死锁的最小资源数或其他参数;对应这种情况,分配资源时每个进程得到可以完成进程的资源数减一,此时是形成死锁的最差情况,在此情况下多1个资源即可解决死锁问题,即不可能形成死锁。假设m个进程各自需要w个R资源,系统共有n个R资源,此时不可能形成死锁的条件是:m*(w-1) 1<=n
- 银行家算法:判断系统当前剩余资源数;判断各个进程当前仍需资源数;当前执行进程仍需资源数超过系统剩余资源则死锁,不超过则执行该进程;执行进程后释放该进程所有资源(当前系统剩余资源数为:系统前期剩余资源 当前进程前期已分配资源)。
- 根据银行家算法判断相关进程程序序列是否会形成死锁,是则为不安全序列,能够正常执行所有进程则为安全序列。
二、存储管理
- 段页式存储:
- 知道页面大小时,可以依次判断页内地址的长度,并且据此知道该地址的页号
- 页号与页帧号的转换可以通过查表进行
- 段地址格式,段号后跟的段地址偏移量不能超过段长
- 页式存储:将程序与内存均划分为同样的大小的块,以页为单位将程序调入内存
- 段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样
- 段页式存储:段式与页式的综合体,先分段,再分页。1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段的大小不同。
- 页面置换算法:
- 页面淘汰时,主要依据原则:先淘汰最近未被访问的(访问位为0),其次淘汰但未被修改的(即修改位为0,因为修改后的页面)
七、嵌入式技术
一、嵌入式微服务处理器分类
- 嵌入式微控制器(MCU:micro controller unit):又称为单片机,片上外设资源一般比较丰富,适合于控制
- 嵌入式微处理器(EMPU:Micro Processing Unit):称为单片机,由通用计算机中的CPU发展而来的,仅保留和嵌入式应用紧密相关的功能硬件
- 嵌入式DSP处理器(DSP:Digital Signal Processor):专门用于信号处理方面的处理器
- 嵌入式片上系统(SOC):追求产品系统最大包容的集成容器
- 成功实现了软硬件的无缝结合,直接在微处理片内嵌入操作系统的代码模块
- 减少了系统的体积和功耗,提高了可靠性和设计生产效率。
二、嵌入式微处理体系结构
- 冯诺依曼结构
- 冯诺依曼结构也称为普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。一般用于PC处理器;二指令与数据存储器合并在一起;三指令与数据都通过相同的数据总线传输;
- 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈弗结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
- 一般用于嵌入式系统处理器(DSP)
- 指令与数据分开存储,可以并行读取,有较高数据的吞吐率
- 有指令和数据的数据总线与地址总线4条总线
三、嵌入式系统软件
- 基本概念
- 嵌入式系统是一种以应用为中心,以计算机技术为基础,可以适应不同应用对功能、可靠性、成本、体积和功耗等方面的要求,集可配置可裁剪的软件、硬件于一体的专用计算机系统。
- 嵌入式的系统的特点:规模较小,开发难度大、实时性和可靠性要求高、要求固化存储等
- 嵌入式系统软件分类:
- 根据系统对事件的敏感度可将嵌入式系统划分为:
- 嵌入式系统
- 嵌入式实时系统:强实时系统、弱实时系统
- 从安全性要求看,嵌入式系统还可以划分为:
- 安全攸关的系统
- 非安全攸关的系统
八、数据库系统:
一、数据库模式
- 体系结构:
- 三级模式:外模式对应视图,模式(也称为概念模式)对应数据库表,内模式对应物理文件
- 两层映像:外模式-模式映像,模式-内模式映像;两层映像可以保证数据库中的数据具有较高的逻辑独立性和物理独立性
- 逻辑独立性:即逻辑结构发生改变时,用户程序对外模式的调用可以不做修改。由外模式-模式映像来保证。
- 物理独立性:即数据库的内模式发生改变时,数据的逻辑结构不变。由模式-内模式映像保证
- 视图:
- 数据库视图:它是一个虚拟表(逻辑上的表),其内容由查询定义(仅保存SQL查询语句)。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并没有真正存储这些数据,而是通过查询原始表动态生成所需的数据
- 视图的优点:视图能简化用户操作、视图使用户能以多种角度看待同一数据、视图对重构数据库提供了一定程度的逻辑性、视图可以对机密数据提供安全保护
- 物化视图:它不是传统意义上的虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。
二、关系代数
- 并:(结果为二者元祖之和去除重复行)
- 交:(结果为二者重复行)
- 差:(前者去除二者重复行)
- 笛卡尔积:结果列数为二者属性列数之和,行数为二者元组行数的乘积。两个表做笛卡尔积,结果表的元祖由前表与后表的元祖拼接而成,不同的排列组合形成不同的结果元祖。
- 投影:筛选符合条件的属性列
- 选择:筛选符合条件的元祖,属性名可以依次标序号,直接以数字形式出现在表达式中。
- 自然连接:结果列数为二者属性列数之和减去重复列,行数为二者同名属性列其值相同的结果元祖。笛卡尔积、选择、投影的组合表示可以与自然连接等价
- 普通连接的条件会写出,没有写出则表示为自然连接。