软件设计师学习笔记
王勇软件设计师笔记
王勇软件设计师笔记说起软件设计这事儿,真的是个“谁做谁知道”的活。
你看,表面上看起来,这个工作好像就是写几行代码,搞个系统出来,哗啦啦一通操作,结果“哇,完美!”但实际上呢,哎哟喂,那可是大有学问的。
这些日子,我就一直在想着怎么才能把这个“软件设计”讲得轻松一点,毕竟光说技术术语,咱也不是每个人都能听懂是不是?记得刚开始做软件设计的时候,脑袋里就只有一个字:“乱”。
你说你学了好多年计算机,觉得自己好像挺懂的,可一旦真正上手,哇塞,那感觉就像是拿着一把剑站在迷宫的门口,根本不知从哪儿开始打破这层重重的迷雾。
别看软件设计听起来很牛逼,但它的奥秘可大着呢。
你写个代码,也许明天一小改,昨天做的功能就崩了,整个人都慌了。
这时候你就会发现,软件设计并不是一个写代码那么简单的事儿,它更像是在建造一座大厦,每一块砖、每一根钢筋都得仔细安排,才能让它稳稳地屹立在那里,不然一不小心就全垮了。
有时候呢,你做的系统或许没有直接崩溃,但各种bug就像是你背后的“隐形杀手”,不知道什么时候就会冒出来,给你来个措手不及。
说到bug,这还真是让人又爱又恨的东西。
你可能一开始以为自己已经完美解决了问题,结果在客户那里试了一下,又是各种奇怪的错误信息,或者功能跑得特别慢,那一刻,心里的那个“小火苗”简直要爆炸了!而且最可怕的是什么呢?这些问题往往出现在你最不想遇到的时候,像是你已经加班到凌晨3点,眼皮都要闭不上,突然发现某个模块完全不对劲,那种心情简直是要崩溃。
说到这里,有人可能就会问:“那软件设计到底怎么才能做得好呢?”哈哈,说白了,软件设计就是一个细节堆积的过程,讲求的是一个“精益求精”。
你得提前规划好架构,不要等到事后再去补救。
比如说,你在设计的时候,得留意到每个小模块的互动,哪怕是一个小小的细节,放错位置了,都会让后面一堆代码变得四不像。
那就得细心啊,心态也要好。
千万不能心浮气躁,往往大部分问题,都是因为你没耐心,草草了事。
软件设计师备考笔记
资料更新时间:2017年5月一、绪论略二、计算机系统数据表示与校验码1.数据表示:原码、反码、补码、移码。
符号位0为正数,1为负数。
两正数/负数相加,符号位不对时即出现“溢出”2.移码:补码符号位取反。
如果机器字长为N,偏移量为2N-1,则[X]移=2N-1+[X]补(X为整数)。
[X]移=1+X(X为小数)3.IEEE754:符号位(1位,0正1负)+阶码(8位,+127)+ 尾数(23位,小数点在最高位之后,随后省略最高位)。
4.浮点数加减:0操作数检查,对阶操作(小阶变大阶),尾数加减(阶码用双符号位,尾数用单符号位),结果规格化,舍入处理(判定溢出)。
5.常用校验码:奇偶校验码(检错,1位纠错)、海明码(检错,1位纠错)、循环冗余校验码(CRC)。
校验码越长越精确6.海明码:奇偶校验的一种扩充,采用多位校验码的方式,不等式关系:2k - 1≥ m + k,k个校验码,总共m + k个字符计算机系统硬件组成1.CPU的功能:程序控制、操作控制、时间控制、数据处理。
2.计算机系统组成示意图:3.寄存器:指令寄存器IR用来存放当前正在执行的指令,对用户是完全透明的。
状态寄存器用来存放计算结果的标志信息,如进位标志、溢出标志等。
通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。
4.计算机体系结构分类:单处理系统,并行处理与多处理系统,分布式处理系统。
5.RISC中的流水线技术:超流水线技术,超标量技术,超长指令字技术。
6.并发性的解决:阵列处理机,并行处理机,多处理机。
存储系统1.主存与cache地址映射方式:·全相联映射:将主存一个块的地址与内容一起存入cache中,拷贝灵活,但是比较器电路难设计实现;【冲突小】·组相联映射:主存块放到哪个组是固定的,但是放到哪一行是灵活的,广泛采用折中办法;·直接映射:一个主存块只能拷贝到cache的特定行上去,硬件简单、成本低,但易冲突、效率降低;【冲突高】2.虚拟存储器:·页式:页表硬件小,查表速度快但不利于存储保护;·段式:界限分明,便于程序的模块化设计,易于编译修改和保护,但主存利用率低,产生大量碎片,查表速度慢;·段页式:折中办法,广泛采用,但地址变换速度比较慢。
软件设计师个人笔记PDF
软件设计师笔记(中级)计算机系统知识冯式结构计算机:存储器、运算器、控制器、输入设备和输出设备。
算术运算和逻辑运算的等价关系,一般来讲,左移相当于乘2,右移相当于除2,但注意符号位。
被操作数的最高位移入“进位”位,其余所有位接收其相邻位低位值,最低位移入0的操作是逻辑左移指令。
被操作数的最高保持不变,其余所有位接收其相邻高位值,最低位移到“进位”位中的操作是除2运算指令。
在程序执行过程中改变程序计数器顺序读出指令的指令属于转移指令。
所谓寻址就是寻找操作数的地址,操作数所处的位置,可以决定指令的寻址方式。
操作数包含在指令中,寻址方式为立即寻址;操作数在寄存器中,寻址方式为寄存器寻址;操作数的地址在寄存器中,寻址方式为寄存器间接寻址。
相对寻址方式的实际地址是程序计数器的内容加上指令中形式地址值,得到需要的地址。
特权指令是计算机的操作系统的基本指令,是由系统执行的,主要用于系统资源的分配和管理。
中央处理器(CPU,Centrol Processing Unit)由寄存器组、算术逻辑单元ALU 和控制单元CU这三部分组成。
CPU的功能包括:(1)读取指令 (2)解释指令 (3)读取数据 (4)处理数据 (5)保存数据.计算机中的存储系统是用来保存数据和程序的,对存储器的最基本的要求就是存储容量要大、存取速度快、成本价格低。
主存储器是指能由CPU直接编程访问的存储器,它通常位于所谓主机的范畴,常称为内存。
如果内存的地址为n位,则容量为2的n次方。
辅助存储器的种类很多,主要有随机存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、闪速存储器(Flash Memory)。
信息的存取方式影响到存储信息的组织,常用的有四种:(1)顺序存取,存储器的数据是以记录的形式进行组织,对数据的访问必须按特定的线性顺序进行。
磁带存储器就是顺序存取。
软件设计师学习笔记
计算机系统组成运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成;控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器;CPU的功能:程序控制、操作控制、时间控制、数据处理最根本的;相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中;CACHE高速缓存的地址映像方法:直接地址映像主存分区,区分块、全相联映像主存分块、组相联映像主存分区,区分块、块成组,CACHE分块成组;替换算法:随机、先进先出、近期最少用、优化替换算法;性能分析:H为CACHE命中率,tc为Cache存取时间、tm为主存访问时间,Cache等效访问时间ta =Htc+1-Htm提高了tm/ta倍;虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成;RISC精简指令集:指令种类少、长度固定、寻址方式少、最少的访内指令、CPU内有大量寄存器、适合流水线操作;内存与接口统一编址:都在一个公共的地址空间里,独立使用各自的地址空间;优点是内存指令可用于接口,缺点内存地址不连续,读程序要根据参数判断访内还是访接口;廉价冗余磁盘阵列RAID:0级不具备容错能力但提高了传输率N倍、1级镜像容错技术、2级汉明码作错误检测、3级只用一个检测盘、4级是独立地对组内各磁盘进行读写的阵列,用一个检测盘、5级无专门检测盘;中断方式处理方法:多中断信号线法、中断软件查询法、菊花链法硬件、总线仲裁法、中断向量表法保存各中断源的中断服务程序的入口地址;直接存储器存取DMA:内存与IO设备直接成块传送,无需CPU干涉;根据占据总线方法不同分为CP U停止法、总线周期分时法、总线周期挪用法;输入输出处理机用于大型机:数据传送方式有字节多路方式、选择传送方式、数组多路方式;指令流水线:操作周期是最慢的操作的时间;建立时间是达到最大吞吐率的时间;总线内总线:ISA、EISA、PCI;外总线:RS-2323根线全双工15米、SCSI并行外总线、16位、最大320M秒、最多63个设备20米、USB4条线480M秒接5层127个设备、IEEE-1394串行6条线秒热插阵列处理机:单指多数据流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,②加密、数字签名、认证和VP N技术,③防火墙,④入侵检测技术⑤网络安全扫描技术;计算机的可靠性:衡量一个计算机系统可靠性R、可用性A、可维修性S;平均无故障时间MTBF=1 /λ串连系统可靠性R=R1R2;失效率λ=λ1+λ2并联系统:R=1-1-R11-R2总失效率=1/1/λ∑1/1..n计算机性能评测方法:时钟频率、指令执行速度、等效指令速度法、数据处理速率、核心程序法;汇编和编译汇编语言的三类语句:指令、伪指令、宏指令语句;编译的过程:①词法分析,②语法分析,③语义分析、④中间代码生成三地址码、⑤代码优化:基本块划分:第一条、转移、转移后面的语句;三种优化:合并已知变量、删除无用赋值、删除多余运算;⑥目标代码生成,⑦符号表管理,⑧出错处理;编译比解释效率高,解释的灵活性和可移植性好;网络知识网络的功能:数据通信、资源共享、负载均衡、高可靠性;内层通讯子网对应下三层、外层资源子网对应上三层;按信息交互方式分为:电路交换、分组交换、综合交换网;拓扑结构:总线、星状、环状、树状、分布式;OSI/RM:物理层:比特流;数据链路层:帧,流量控制、差错控制;网络层:数据包,报文分组,路由选择、交换方式、拥塞控制、差错报告、寻址排序;传输层:报文,报文分段、选择最适宜的网络层服务、最佳的利用网络资源;会话层:访问验证、会话管理;表示层:语法解释、压缩、加解密;应用层;网络设备:物理层:中继器由500米扩展到1500米、集线器;数据链路层:网桥帧过滤特性、交换机三种交换技术:端口交换、帧交换直通交换、存储转发、碎片丢弃、信元交换;网络层:路由器路由选择、流量控制、过滤、存储转发、介质转换、增强型功能加密、压缩、容错;应用层:网关协议转换网络介质:双绞线屏蔽STP,非屏蔽5类UTP最长100米;同轴电缆基带直接传输数字信号,宽带同轴电缆用于频分多路复用FDM闭路电视用;光纤多模发光二极管,单模注入型二极管两台PC间最长500米,最多4个HUB5段电缆;电信标准:CCITTV系列猫X系列;EIA的RS-232标准;IEEE的体系结构及网络互连,涉及逻辑数据链路标准,以太网CSMA/CD,令牌总线,令牌环差分曼彻斯特编码,城域网,光纤FDDI用4B/5B编码,无线局域网,100VG-ANYLAN;局域网技术的三个问题:介质、拓扑结构、介质访问控制方法;LAN模型:数据链路层细划为:逻辑链路控制LLC和介质访问控制层MAC;MAC功能:介质访问控制和对信道分配资源,实现帧寻址、识别和检测;LLC功能加强了:寻址、排序、流控、差错控制,数据帧的封装和拆除;以太网标准:采用带有冲突检测的载波监听多路访问协议CSMA/CD技术,检测到冲突的退避算法是二进制指数退避算法;10M以太网10Base-T10Base-F、100M快速以太网100BaseT、100BaseF多模光纤400米、100BaseT4、千兆以太网三种介质光纤单模500米多模2000米、宽带同轴电缆25M、5类UTP100米半双工广域网协议:PPPPPPoEPPPoA应用ADSL上行1M下行8M,线路按频段分为语音上下行3个信道、D DN是网状拓扑不经过交换机房、ISDN一线通、FR帧中继、ATM异步传输模式:数据以定长的信元为传输单位,每个信元53B其中头5B信元体48B,四层的参考模型用户层、ATM适配层、ATM层、物理层;Internet协议:TCP/IP的特性:逻辑编址48位物理地址,32位逻辑地址、路由选择、域名解析、错误检测、流量控制、对应用程序的支持;TCP/IP的四层结构:①、网络接口层最底层;②、网际层只提供无连接不可靠服务协议有:IP,ICMP发送差错报文的协议5种差错报文即源抑制超时目的不可达重定向要求分段;4种信息报文即回应请求、回应应答、地址屏蔽码请求、地址屏蔽码应答,ARP地址解析转成物理地址,RARP反向;③、传输层协议TCP的可靠性靠重发技术来实现,三次握手SYNSEQ=200、ACK201SYNSEQ=300、AC K301;UDP协议提高传输率;④、应用层只有FTP和Telnet是建立在TCP上,其余都在UDP上;IP地址:网络号部分+主机号部分,A类0000-127、B类10128-191、C类110192-223、D类1110224-239用于组播例如路由器修改、E类1111240-255实验保留;IPV6将32位地址扩展为128位;子网掩码:网络号部分填1,主机号部分填0;可变长掩码公共端口号0-1023,其他1024-65535;DNS用53、SMTP用25、SNMP用161,FTP命令21数据20, TCP23;WinNT网络:两个边界层:NDIS网络接口规范在会话与传输之间和TDI传输驱动程序接口数据链路层;四个协议:DLC访问大型机和打印机,TCP/IP,NWLinkNetWare接口,NetBEUINetBIOS的扩展网上邻居;除NetBIOS对应于传输层外其余三协议都在网络层;网络安全:基本要求是保密性、完整、可用、可控、可核查;安全威胁:物理、攻击、身份鉴别、编程威胁、系统漏洞;防火墙:内外网边界上的过滤封锁机制;在网络层包过滤,在传输层提供端到端的加密,在应用层提供身份认证、加密、内容检查;分类:包过滤型、应用代理网关、状态检测技术防火墙;多媒体数据传输率b/s=采样频率Hz×量化位数b×声道数声音信号数据量Byte=数据传输率×时间/8语音压缩方法:波形编码、参数编码、混合编码音源即音乐合成器有两类:数字调频合成器、PCM波形合成器;色彩三要素:亮度、色调、色饱和度;红+蓝=品红;绿+蓝=青;光栅化即点阵化将图形转成图像;向量化即图形跟踪技术将图像转图形无损压缩即熵编码:行程长度编码RLE、增量调制DME、霍夫曼编码;JPEG2000压缩算法:小波变换算法有损、离散余玄变换无损Mpeg4多媒体应用接口、Mpeg7内容描述接口Gif采用LZW无损压缩算法、PNG用LZ77无损压算、PAL帧频25场扫描频率50行帧625每场扫描625/2分辨率352288电影每秒24次,电脑30帧/秒速度刷新CCIR601标准:色度信号采样4:2:2采样频率每点8位数字化亮度220级色度225级Mpeg1压缩后码率s;Mpeg2HDTV80Mb/s;Mpeg4最低64Kb/s流媒体:建立在UDP协议上的实时传输协议和实时流协议RTP/RTSP;通过MIME识别格式;流媒体发布文件RAM、ASX;流式文件格式RM、RARPRTASFASX软件工程软件生存周期:计划、需求、设计、编码、测试、运维;软件开发模型:瀑布缺乏灵活性、导致完成后才发现错误、演化模型适合需求不明确的情况、螺旋模型制定计划、风险分析、实施、客户评估、循环、喷泉模型用于描述面向对象的开发过程,体现的迭代和无间隙特点需求分析任务是解决功能、性能、数据、界面输入出数据的要求;成本估算模型有普特南模型和构造性成本模型;风险分析关注三方面:关心未来、关心变化、关心选择;风险评估的三个参照:成本、进度、性能;进度管理常用的描述方法:甘特Gantt图清晰反映任务起止及并行情况,不能反映依赖关系及关键所在、计划评审技术PERT图关键路径松弛时间,但不能反映并行;计算机软件工具CASE;软件过程能力评估CMM,软件过程七原理:按周期定计划实施、逐阶段确认、严格产品控制、使用现代程序设计、明确责任、用人少而精、不断改进开发过程;软件能力成熟度模型CMMISO/IEC15504:通过创建规范的软件过程、软件管理过程、软件企业过程并使三者有机结合达到管理并控制软件产品的质量;五个级别:①初始级;②可重复级:焦点集中在软件管理过程上、成功依赖个人和管理层的支持关键域是需求管理;③定义级:对整个软件生命周期的管理和工程化都已实现标准化、项目组、团队;④管理级:开始量化管理、实现度量标准化、强烈的群体工作意识定量过程管理、软件质量管理;⑤优化级:软件过程持续改进预防缺陷、技术变更、过程变更管理;软件质量模型ISO/IEC9126:功能性适合、准确、互用、依从、安全、可靠性成熟、容错、易恢复、易使用性易理解、易学、易操作、效率时间特性、资源特性、可维护性易分析、易改变、稳定、易测试、可移植性适应、易安装、一致、易替换;软件质量强调三点:能满足用户需求、软件应遵循标准开发准则、能满足某些隐形要求;系统分析方法结构化方法SA的分析结果包括:一套分层的数据流图DFD、一本数据字典字典条目有:数据流、文件、数据项条目、一组小说明逻辑加工和补充材料;加工描述的逻辑方法:结构化语言、判定表、判定树;系统分析报告的三个作用:描述系统逻辑模型,作为开发人员设计和实施的基础、用户和开发人员的协议和交流的基础、系统验收和评价的依据;系统设计两大步骤①、总体设计即概要设计:任务分解、划分模块、确定模块功能及调用关系、决定模块界面即数据传递;②、详细设计:代码设计、用户界面安全控制设计等;系统设计的原则:抽象、模块化、信息隐蔽能提高可修改性、可测试性、可移植性、模块独立高内聚低耦合;内聚低到高偶然、逻辑、时间、过程、通信、顺序、功能;耦合强到弱内容、公共、控制、标记即传数据结构、数据、非直接耦合即无信息传递;结构化设计方法SD信息流的两大类型:变换流明显分为输入、加工、输出、事务流从事务中心辐射流出;面向数据结构的设计方法:Jackson图;系统实施阶段的任务:购置安装硬件网络系统、软件准备、人力培训、数据准备、投入切换和试运行;程序设计方法主要有:结构化方法、原型法、面向对象法;系统测试人工测试:即代码审查;机器测试:只能发现症状无法定位,黑盒功能测试测试软件外部特征、白盒结构测试测试对程序路径和过程测试单元测试中用;测试步骤:①、单元测试:模块接口、数据结构、执行路径、出错处理、边界条件;单元测试计划应该在详细设计阶段制定②、组装测试即集成测试;集成测试计划应该在概要设计阶段制定③、确认测试是软件测试的最后环节包括有效性黑盒、软件配置审查、验收测试;确认测试计划应该在需求分析阶段制定④、系统测试主要内容:恢复测试、安全性测、强调压力测、性能测试、可靠性测试、安装测试;可维护性的评价指标:可理解性、可测试性、可修改性;维护的内容:正确性维护、适应性、完善性、预防性维护;审计在三个层次上设定:语句、特权、对象审计;标准化知识国际标准化组织ISO和IEC;统一是标准化的本质,目的是建立最佳秩序和获得最佳效益;标准复审5年次要确保其有效性、先进性、适用性;按性质分类:技术标准、管理标准、工作标准;采用国际和国外先进标准的方法:认可法、封面法、完全重印法、翻译法、重新制定法、包括引用法;采用程度:等同idt、等效eqv、非等效采用neq;标准化条码EAN,共有13位:3位前缀表示国家、4位厂商代码、5位商品代码、1位效验码;ISO9000:是质量管理和质量保证的标准,按照全面质量管理的PDCA模式工作;ISO9000:2000现有1 3项标准,有4个核心标准基础和术语用概念图描述、要求、业绩改进指南、审核指南;标准确认的8项原则:以顾客为中心、领导作用、全员参与、过程方法4大过程即管理职责、资源管理、产品实现、测量分析和改进、管理的系统方法、持续改进、基于实事的决策方法、互利的供求关系;知识产权知识民法通则保护;知识产权分为两类工业产权和着作权;特点:无形性、双重性、确认性、独占性、地域性、时间性专利20年,实用新型和外观10年,到期前6个月展期10年;计算机软件保护条例受保护的软件的条件:独立创作、可被感知、逻辑合理;软件着作权保护期50年;软件着作权法律:民事责任侵犯着作权发表改名,行政责任复制销售删改转让等,刑事责任;反不正当竞争法商业秘密;常用算法算法的五特性:有穷性、确定性、可行性、输入、输出好的算法的目标:正确性、可读、健壮、效率与低存储需求迭代法:求方程近似根;穷举搜索法;递推法;递归法:执行过程分递推和回归两阶段背包问题;回溯法即试探法;贪心法:不求最优但求快速有解,哈夫曼算法装箱问题马的遍历;分治法:大问题分成小问题解决快速排序比赛日程;动态规划法:求两字符串中最长公共字符序列;面向对象技术面向对象=对象+分类+继承+通过消息的通讯;对象有对象名标识、属性和操作方法组成;对象是类的实例;类解决数据保护问题,继承是父子共享数据和方法的机制;多态:是不同对象收到同一消息产生不同结果;通用多态有参数多态最纯的、类属,包含多态子类型化;特定多态有过载多态同一变量被用来表示不同功能、强制多态;好的OOP必须支持:被封装的对象、类和实例的概念、继承性、多态;程序设计的发展:过程程序设计、模块化、函数、逻辑、面向对象;面向对象的好处:对象技术解决了产品质量和生产率间的平衡;继承机制使系统具有很高的灵活性和易扩充性;面向对象是一个能管理复杂性并增强伸缩性的工具;从概念模型化到分析设计编码可以无缝传递;封装有助于建立安全的系统;面向对象的概念:对象、类、方法、实例变量、消息、子类、继承类的访问控制符:Private类内Protected类及友元Public消息传递机制和对象自身引用将方法与特定的对象动态地联系在一起,使得不同对象在执行同样的方法体时,可因对象的状态不同而产生不同的行为,从而使方法对具体地对象具有个性;衡量开发人员:能否最好地发挥已有类库地优点、将已有类库与新问题紧密匹配地能力、不得不另外编写地代码最少;面向对象分析方法OOA:将数据和功能合在一起考虑,把系统地行为和信息间地关系表示为迭代构造特征;五个活动:认识对象、组织对象、对象间地相互作用、基于对象地操作;面向对象设计OOD:设计分析模型和实现源代码;构件是功能和数据的封装;面向对象测试:单元测试-综合测试-系统测试;算法层-类层-模板层-系统层;常采用回归测试和自动测试;面向对象的分析和设计方法:1PeterCoad的OOA模型的五个层次:主题层、对象类层、结构层、属性层、服务层;两种结构分类结构一般和特殊和组装结构整体和部分;OOD的四个活动:设计问题域部件、设计人机交互部件、设计任务管理部件、设计数据管理部件;2Booch的OOD:认为软件开发是螺旋的,每个周期包括标识类和对象、确定他们的含义、标识他们的关系、说明每一个类的界面和实现;3对象建模技术OMT:三个模型即对象模型链和关联、泛化、聚集、模块、动态模型与时间和操作顺序有关的特征,用状态图表示、功能模型描述与值变换有关的特征用数据流图表示;4统一建模语UML:UML三要素UML的基本构造块、支配这些构造块如何存放的规则、运用与整个语言的一些公共机制;三种构造块事物、关系、图;四种事务:结构事物静态部分类接口协作用例主动类构件结点、行为事物交互和状态机、分组事物包是概念性的仅在开发时存在、注释事物;四种关系:依赖事物间语义关系、关联结构关系、聚集特殊的关联整体和部分、泛化一般和特殊、实现类元之间的语义关系;五类9种图:①用例图用户角度描述系统功能,用于对系统的语境和需求建模、②静态图类图、对象图;定义类之间关系和类内结构、③行为图状态图由状态转换事件和活动组成;活动图用于工作流建模和对操作建模、④交互图顺序图合作图:描述对象间的交互关系、⑤实现图构件图:描述代码部件的物理结构及各部件之间的关系;配置图即部署图:定义系统中软硬件关系;数据结构栈:先进后出;队列:尾进头出循环对列F=R+1+Memory_LengthmodM串:主串n模式串m朴素的模式匹配算法即布鲁特-福斯算法:最好情况平均比较次数=n+m/2最坏=mn+m/2二叉树:性质1、i层至多2i-1个结点;性质2、深度为k的二叉树最多2k-1个结点;性质3、具有n个结点的完全二叉树的深度为└log2n┘+1;森林和树的转换利用树的孩子兄弟表示法;哈夫曼树即最优二叉树,是带权路径最短的树;图:N个顶点的无向完全图有nn-1/2条边;任何图的边=顶点总度数/2;连通图是指无向图任两顶点连通,最大的连通子图叫连通分量;生成树是极小连通图;n个顶点e条边的无向图的邻接链表需要n个头结点和2e个表结点;求最小生成树有普里姆算法prim和克鲁斯卡尔算法Kruskal;AOV网:工程可行性;AOV的拓扑排序选入度为0的输出、删AOE网:工程需时和关键活动;关键路径是最长路径;最短路径:迪杰斯特拉算法查找:①、顺序查找平均查找次数ASL=n+1/2;②、折半ASL=n+1/2log2n+1-1;③、分块s是每块的个数块内块间都顺序ASL=n/s+s/2+1块内顺序块间折半ASL=log2n/s+1+s/2二叉排序树即二叉查找树左小于右;平衡二叉树AVL树左右深度差不超过一;m阶B-树根至少有两棵子树其他非叶至少有m/2进位取整棵哈希表散列表:构造方法有直接定址法、数字分析法、平均取中法、折叠法、随机数法、除留余数法;冲突处理方法有开放地址法、链地址法、再哈希法、建公共溢出区法;装填因子=表中记录数/哈希表长度;排序:堆排序建堆从最后一个非叶开始一直往下一个个往前筛选;1、直接插入好On均On2坏On2辅O1稳定2、直接选择On2On2On2O1不稳3、冒泡排序OnOn2On2O1稳定4、希尔排序―――O不稳缩小增量排序5、快速排序OnlognOnlognOn2Onlogn不稳后往前找小交换6、堆排序 OnlognOnlognOnlognO1不稳7、归并排序 OnlognOnlognOnlognO1稳定两两排序归并8、基数排序Odn+rdOdn+rdOdn+rdOrd稳定r=10,d位数操作系统四个特征:并发、共享、虚拟性、不确定性;五大管理功能:进程、文件、存储、设备、作业管理;三态模型:运行、就绪、阻塞;操作系统内核包含支撑功能中断处理、时钟管理、原语操作、资源管理功能进程、存储、设备管理;引起阻塞的原因:启动某个IO操作、新数据尚未到底、无新工作可作;互斥临界区的管理原则:有空则进、无空等待、有限等待、让权等待;信号量机制有整型信号量、记录型、信号量集机制;公用信号量:实现互斥,等于临界资源数目;私用信号量实现同步;P-1V+1;进程的高级原语通信的类型有:共享存储系统、消息传递系统、管道通信;管程实现同步机制的基础是条件结构;进程调度:三级调度高级调度长调度、作业调度、接纳调度、中级调度对换调度、低级调度进程调度;调度方式:先来先服务、时间片轮转、优先级调度、多级反馈调度算法;优先级的确定:I/O型最高优先级、计算型进程减少调度次数、主要是CPU处理的进程、为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时降低优先级;死锁产生的原因:资源竞争及进程推进顺序非法;产生死锁的四个必要条件:互斥条件、请求保持、不可剥夺条件、环路条件;死锁的处理:鸵鸟政策、预防政策静态分配法、资源有序分配法、避免政策安全状态和银行家算法、检测与解除死锁;线程也称为轻型进程:目的是提高系统内程序并发程度、提高吞吐量;。
软件设计师笔记
软件设计师笔记-12008-06-05 20:141.1: SIMD单指令流多数据流一个控制部分,多个处理器,多个主存模块,各处理器以同步执行同一条指令,代表有并行处理机,阵列处理机,超级向量处理机,矩阵运算。
2. 运算器和控制器组成中央处理器。
运算器由ALU、累加器、寄存器、多路转换器、数据总线组成;控制器由程序计数器、指令寄存器、指令译码器、状态/条件寄存器、时序发生器、微操作信号发生器组成。
3. 总线数据传输率=时钟频率/每个总线包含的时钟周期数×每个总线周期传送的字节数每秒指令数=时钟频率/每个总线包含的时钟周期数/指令平均占用总线周期数。
4. 立即寻址:直接给出操作数,而非地址,ADD AX, 100;直接寻址:直接给出操作数地址,ADD AX, [100]或所在寄存器号(寄存器寻址, ADD AX, BX);间接寻址:给出的是操作数地址的地址, ADD AX, [DX]/[[100]];变址寻址:给出的地址需与特定的地址值累加从而得出操作数地址, ADD AX, [DI+100],相对寻址:PC加上偏移量,ADD AX, *100。
5. 移位指令:算术移位(左移则在空位补0,右移则补符号位)、逻辑移位(左移右移都补0)6. RISC编译后产生的机器指令数增多了,但是指令所需的周期数和每个周期的时间都减少了,以硬布线逻辑控制为主。
7. 多处理系统MIMD,需专门并行指令来控制并发执行,需要专门的同步措施。
并行处理机和采用流水线结构的单机系统都是SIMD系统,但是区别是,并行处理机采用资源重复技术,后者采用的是时间重叠技术。
8. Cache,相联存取,根据内容而非地址来选择读写点。
依据的是程序的局部性原理。
淘汰算法:随机淘汰、FIFO、LRU。
写操作方法:写直达(同时写主存和Cache)、写回(写Cache不马上写主存)、标记法。
9. 格式化容量=每道扇区数×扇区容量×总磁道数;非格式化容量=位密度×pi×最内圈直径×总磁道数;平均数据传输速率=每道扇区数×扇区容量×盘片转数。
软件设计师-随笔笔记
软件设计师-随笔笔记导读:最近正在为即将到来的软考做准备,所以重拾以前的笔记,通过⼿敲的形式将它们随意排版上来,希望能加深⾃⼰的印象,同时希望能够帮助⼀些⼈,⼀些内容是通过做题⽬收集的笔记,⽐较杂,但我认为如果你能够将我这篇⽂章看完⼀定会有很⼤的收获,⼀起加油吧!(ps:敲的我脑阔痛)附上思维导图:(1)计算机⽹络概述:⽹络层次与对应的设备功能:Ping命令⽹络检测由近到远操作:1.ping127.0.1先检查TCP/IP协议栈是否正常2.ping本地ip检查⽹卡是否正常⼯作3.ping⽹关地址检查和⽹关的连接性4.ping远程⽹站检查远程连接OSI参考模型及相关协议:逻辑⽹络设计步骤:1.确定逻辑设计⽬标2.⽹络服务评价3.技术选项评价4.进⾏技术决策ARP表:⽤于缓存设备中IP地址与MAC地址的对应关系,好处是可以限制⼴播数量。
中国的3G标准:TD-SCDMA->时分同步的码分多路访问。
查看路由IP等命令:1.ping命令:⽤于测试本机能否跟外部指定主机连接,⽆法判断故障发⽣的范围。
2.tracert命令:⽤于跟踪路由以查看IP地址数据包所⾛路径的连通情况,能查出路径上哪段路由出现了连通故障。
stat命令:⼀般⽤于查看本机各端⼝的连接情况。
netstat命令的连接状态:LISTEN:侦听来⾃远⽅的TCP端⼝的连接请求。
SYN-SENT:在发送连接请求后等待匹配的连接请求。
SYN-RECEIVED:在收到和发送⼀个连接请求后等待对⽅对连接请求的确认。
ESTABLISHED:代表⼀个打开的连接。
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认。
FIN-WAIT-2:从远程TCP等待连接中断请求。
CLOSE-WAIT:等待从本地⽤户发来的连接中断请求。
CLOSING:等待远程TCP对连接中断的确认。
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认。
TIME-WAIT:等待⾜够的时间以确保远程TCP接收到连接中断请求的确认。
软件设计师刷题笔记
软件设计师刷题笔记一、刷题就像打怪升级我呀,开始刷软件设计师的题时,那感觉就像是游戏里的小菜鸟开始打大怪兽。
每一道题都是一个小怪兽,等着我去征服。
比如说有那种关于算法复杂度计算的题,就像面对一个隐藏了很多机关的大boss,得小心翼翼地分析每个步骤,时间复杂度、空间复杂度,这都是攻克它的关键技能点。
你要是想在软件设计师这个游戏里“升级”,那刷题是必不可少的,不然你只能永远在新手村徘徊,眼巴巴看着别人一路披荆斩棘,成为大神,你甘心吗?二、笔记——我的秘密武器我跟你说,刷题笔记可是我的秘密武器。
就像武侠小说里大侠的内功心法,别人看不到,但关键时刻能发挥巨大威力。
每次遇到那种特别绕的数据库设计题,我就把解题思路详细地记在笔记上。
像“如何建立多表之间的关系”,这就好比是在构建一个江湖门派的关系网,谁是掌门,谁是弟子,相互之间的联系可不能乱。
我的笔记里还会写上一些自己容易犯错的点,这就像是在自己的练武秘籍里特别标注的陷阱区域,下次再遇到就能轻松避开,不至于再掉进同一个坑里摔得鼻青脸肿。
三、和朋友一起刷题的乐趣我有个朋友也在考软件设计师,我们经常一起刷题。
这就像两个人一起在黑暗的山洞里探险,互相照应。
有时候他会遇到那种关于编程语言语法的难题,像在茂密的丛林里迷了路一样。
我就会根据我的刷题经验给他指点迷津,“嘿,你看这里,这个语法就像是这个丛林里的特殊路标,你按照这个规则走就能走出去啦。
”然后我遇到那种网络拓扑结构的题,他又能给我讲得头头是道。
我们互相分享笔记,他的笔记里有一些关于软件测试的独特见解,我看了就像是发现了新大陆一样兴奋。
这种互相帮助、共同进步的感觉,真的很棒,你难道不想有这样一个一起刷题的伙伴吗?四、刷题中的挫败与成长哎呀,刷题哪有一帆风顺的呀。
有时候我被那些软件工程的题搞得焦头烂额,就像一个迷失在沙漠里的旅人,怎么都找不到方向。
那些概念像沙子一样迷得我眼睛都睁不开。
比如说软件生命周期的各个阶段,感觉每个阶段都在跟我作对,我都怀疑自己是不是这块料了。
软件设计的哲学笔记
软件设计的哲学笔记一、软件设计的哲学笔记软件设计啊,就像是一场充满智慧和创意的冒险。
1. 软件设计就像盖房子你得有个蓝图,就像软件的架构一样。
如果没有一个好的架构,软件就会像盖歪了的房子,随时可能倒掉。
比如说,你不能一开始就乱搭乱建,得先规划好哪里是客厅(主要功能模块),哪里是卧室(辅助功能模块)。
材料也很重要呢。
在软件里,这就是代码的质量。
就像房子的砖头质量不好,房子就不结实,代码写得不好,软件就容易出bug。
2. 软件设计中的美学简洁就是美。
一个软件界面如果搞得特别复杂,到处都是按钮和菜单,用户肯定会晕头转向的。
就像一个人穿得花里胡哨的,看着就不舒服。
好的软件设计就像一个穿着得体的人,简单大方又吸引人。
还有对称和平衡。
功能之间要平衡,不能有的功能特别强大,有的功能又弱得不行。
就像汽车的四个轮子,要是一个大一个小,那车肯定跑不稳。
3. 软件设计与用户体验用户是上帝啊。
你得知道用户想要什么。
要是你设计了一个特别高端的软件,但是操作起来超级复杂,用户根本搞不懂,那就白搭了。
比如说,有些软件搞一些特别奇怪的交互方式,用户只能一脸懵。
反馈也很重要。
当用户操作了一个按钮,软件得给他点反应,就像你按了电梯按钮,它得亮一下告诉你它收到信号了。
要是软件没反应,用户就会怀疑自己是不是按错了,或者软件是不是死机了。
4. 软件设计中的创新不能老是跟着别人的脚步走。
要有点新花样,就像苹果手机刚出来的时候,那个滑动解锁的设计多酷啊,以前都没见过呢。
创新有时候就是把一些看似不相关的东西组合在一起,创造出一种新的体验。
但是创新也不能太离谱。
要是你设计一个软件,操作方式完全违背了用户的习惯,那也不行。
比如说,大家都习惯从左到右滑动屏幕,你非要设计成从右到左,还没有任何提示,这就很让人抓狂。
5. 软件设计的可扩展性软件不能是一次性的。
它得能随着时间和需求的变化而变化。
就像一个小房子,以后可能要加个二楼或者扩建一下。
如果软件设计的时候没有考虑到可扩展性,以后想要添加新功能就会特别困难,可能得把整个软件重新写一遍。
软件设计师笔记
1、数据缓冲寄存器(Data Register,DR):在对内存进行读写操作时,用数据缓冲寄存器暂时存放由内存读写的一条指令或一个数据字,将不同的时间段内读写的数据隔离开。
2、指令寄存器(Instruction Register,IR):当CPU执行一条指令时,先把它从内存取到数据缓冲寄存器中,再送入指令寄存器暂存,指令译码器根据指令寄存器的内容产生各种微操作指令,控制其他的组成部件工作,完成指定的功能。
3、程序计数器(Program Count,PC):具有寄存信息和计数两种功能。
程序的执行分顺序和转移执行两种情况。
在程序开始执行前,CPU将程序的起始地址送入程序计数器,改地址在程序加载到内存时确定。
执行指令时,CPU将自动修改程序计数器的内容,以便使其保持的总是将要执行的下一条指令的地址。
由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单地堆程序计数器加1。
4、地址寄存器(Address Register,AR):保存当前CPU所访问的内存但愿的地址。
由于内存和CPU存在着操作速度上的差异,所以需要使用地址寄存器保持地址信息,直到内存的读写操作完成为止。
5、累加寄存器(Accumulater Register,AC):它是一个通用寄存器。
功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为它提供一个工作区。
6、程序状态寄存器(Program State Word,PSW):保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码,分为状态标志和控制标志。
7、寻址技术:立即寻址:操作数就包含在指令中,不需要到内存去取。
直接寻址:操作数存放在内存中,指令给出操作数所在内存单元的地址。
寄存器寻址:操作数存放在寄存器中,指令中给出存储器的名称。
寄存器间接寻址:操作数存放在内存中,操作数的所在内存单元的地址存在集训期中,指令中给出该寄存器的名称。
间接寻址:指令中给出操作数的地址的地址,要访问两次。
软件设计师学习笔记1
软件设计师1.数据结构线性表分为顺序表和链表。
双向链表,插入节点,需要先把不同方向的2个节点插入,下图绿色部分①②。
查找都是相同的,都是顺序查找,O(n/2)。
栈和队列。
循环队列最后一个空间不存数据。
tail +1 = head 队满。
tail一般在一个实际元素下一个位置。
树满二叉树,完全二叉树,前面的n-1层是满树,最后一层n,必须是从左到右连续排列。
完全二叉树,度数为0的节点个数 = 度数为2的节点个数 + 1。
树和二叉树转换,左孩子右兄弟。
前序遍历相同,其他相反。
树转化为二叉树右子树为空。
二叉排序树,小的在根左边,大的在根右边。
最优二叉树,权值最小的树。
一般看叶子节点。
哈夫曼编码,左0右1,23就是00。
线索把空指针利用起来。
多了2个域,用于区分是指针还是线索。
线索是指向前驱或后继的指针。
先把前序遍历写出来,根据前序遍历然后找到前驱和后继就可以了,最有一个节点右指针为空。
温馨推荐您可前往百度文库小程序享受更优阅读体验不去了立即体验中序线索二叉树,B的后继是右子树最左下的节点H。
后续线索二叉树,找后继节点分3种情况。
平衡二叉树为了方便查找,左右比较平衡。
平衡度用左子树深度减右子树深度。
下面2个树都不是平衡树。
平衡树各节点平衡度为-1,0,1。
2. 图子图,完全图。
简单回路,不走重复点。
连通分量,图的存储,链接表。
如果给了链接表,深度和广度优先,就确定了顺序。
关键路径,就是最长路径。
3.排序希尔排序,步长5,要元素1和元素6,2和7。
第一次步长为整个的一半,第二次为第一次的一半,一般要奇数。
5/2 = 2.5,用3。
调整从n/2个元素开始。
46其他的都和编号最大的对调,46和84对调,然后重新建堆。
快速排序,左右比较,左右移动指针。
同样的关键字,以前在前面的,排序后还在前面,就是稳定排序。
稳定排序,排序后,红色7仍然在紫色7前面。
21存到4号空间,30存到0号空间,11存到2号空间。
查找1,1次。
中级软件设计师笔记
中级软件设计师笔记1. 理解需求:作为中级软件设计师,首先要认真理解客户的需求,包括功能需求、性能需求、安全需求等。
只有对需求有清晰的理解,才能设计出符合客户需求的软件。
2. 分析系统:在设计软件之前,需要对系统进行详细的分析。
要了解系统的功能模块,相互之间的关系和依赖关系,以及与外部系统的接口等。
这有助于设计出合理的软件结构。
3. 设计软件架构:软件架构是软件设计的基础,它决定了软件的结构和组织方式。
在设计软件架构时,要考虑系统的可扩展性、可维护性、性能等方面的要求。
可以采用常见的架构模式,如MVC(Model-View-Controller)模式、微服务架构等。
4. 设计模块:根据系统的功能模块,将系统划分为多个模块,并设计各个模块的功能和接口。
模块应该具有高内聚、低耦合的特性,即模块内部的各个组件彼此相关联,但与其他模块的关联较弱。
这样可以提高代码的可维护性和复用性。
5. 选择合适的编程语言和开发工具:不同的项目可能需要使用不同的编程语言和开发工具。
中级软件设计师要根据项目需求和自己的经验,选择合适的工具进行开发。
同时,还要掌握常用的开发框架和库,以提高开发效率。
6. 编写软件设计文档:在设计软件时,要及时记录设计思路和设计决策。
这些信息应该整理成软件设计文档,包括系统概述、功能模块设计、接口设计等。
设计文档不仅方便自己理清思路,还可以作为团队沟通和项目管理的重要依据。
7. 进行代码审查和测试:设计师不仅负责设计软件架构,还要参与代码审查和测试工作。
代码审查可以提高代码质量和代码风格的统一性,测试可以验证软件功能的正确性和稳定性。
8. 持续学习和提升:软件设计是一门永无止境的学问,中级软件设计师要不断学习新的技术和工具,保持自我更新。
可以参加培训课程、阅读相关书籍和文章,与同行进行交流,提高自己的设计水平和创新能力。
以上是中级软件设计师的一些基本笔记,希望对你的学习和实践有所帮助。
软件设计师中级每章节知识点笔记
软件设计师中级每章节知识点笔记软件设计师中级这门考试,知识点那叫一个多,就像繁星点点,让人有点眼花缭乱。
不过别怕,咱们一起来捋一捋每章节的重点,就像梳理一团乱麻,慢慢就能理出头绪。
先说第一章,那简直是软件设计的基石。
好比盖房子,这第一章就是打地基的部分。
里面的软件开发方法,什么瀑布模型、敏捷开发,就像是不同的盖房策略。
瀑布模型,一步一步,规规矩矩,就像老老实实一砖一瓦盖房子;敏捷开发呢,灵活多变,快速响应,如同根据实时情况随时调整盖房的节奏和方式。
你说,要是不把这些搞清楚,后面的设计能靠谱吗?再看第二章,数据结构和算法,这可是软件设计的灵魂所在。
想象一下,数据结构就像是一个个不同形状的盒子,算法呢,则是把东西放进盒子和取出盒子的方法。
比如数组,整整齐齐排一排,找东西方便;链表呢,灵活得很,插入删除轻松。
算法更是神奇,排序算法里的冒泡排序,一个个数据就像水里的泡泡,一点点往上冒;快速排序,像个神奇的魔术师,瞬间让数据变得有序。
要是不懂这些,软件运行起来不就像没头的苍蝇乱撞?第三章的操作系统知识,那是软件运行的大舞台。
进程管理、内存管理,这不就像是舞台上的演员和场地的安排吗?进程调度,决定哪个演员先上台表演;内存分配,好比给演员划分表演区域。
如果安排不好,那不得乱套?第四章的数据库知识,就像一个巨大的仓库。
数据库设计、SQL 语句,这都是管理仓库的工具。
合理的设计让仓库井井有条,SQL 语句则是我们取货存货的指令。
不然,仓库里的东西乱七八糟,找都找不到,那还怎么用?第五章的多媒体知识,就像是给软件增添色彩的画笔。
音频、视频、图像,让软件变得丰富多彩。
就像一个平淡的房间,有了这些多媒体元素,瞬间变得生动有趣。
第六章的计算机网络知识,是软件与外界沟通的桥梁。
IP 地址、网络协议,就像是桥的架构和通行规则。
没有这些,软件就像被困在孤岛上的人,与世隔绝。
第七章的软件工程知识,那是软件设计的指导手册。
需求分析、设计模式,都是让软件变得更完美的法宝。
软件设计师笔记
软件设计师笔记上午题⼀、计算机组成原理与结构体系数据的表⽰进制转换R进制转⼗进制 : 按权展开法例如⼆进制 10100 = $1\times24+1\times22$ = 20例如七进制 604 = $6\times7^2 + 4\times7^0$ = 298⼗进制转R进制 : 短除法例如20转⼆进制2|20 余 02|10 余 02|5 余12|2 余02|1 余1余数从下往上就是10100⼆进制转⼋进制与⼗六进制转⼋进制,从右到左三位⼀段例如 10001110 = 216转⼗六进制,从右到左四位⼀段例如10001110 = 8E原码反码补码移码正数 1负数 1正1加负1 (1-1)原码0000 00011000 00011000 0010反码0000 00011111 11101111 1111补码0000 00011111 11110000 0000移码1000 00010111 11111000 0000原码:1B(字节byte) = 8bit如果⽤⼀个字节表⽰1,会先转成⼆进制,再在右边补7个0,其中最右边的0是符号位,0代表正数,1代表负数即1=0000 0001-1=1000 0001当1+(-1)时,原码1000 0010,值是-2,值是不对的,所以有其他编码⽅式反码:正数和原码⼀样.负数符号位不变,其他按位取反,即0变1,1变0,即1111 11101+(-1) = 1111 1111 ,变成原码 = 1000 0000 值为 -0补码:正数和原码⼀样.负数在反码的基础上+11+(-1) =1 0000 0000 为0 (其实补码应该⽤模的概念)移码:特定场合运⽤,浮点运算在补码基础上,符号位取反数值表⽰范围整数原码$-(2^{n-1}-1)$ ~ $2^{n-1}-1$反码$-(2^{n-1}-1)$ ~ $2^{n-1}-1$补码$-2^{n-1}$ ~ $2^{n-1}-1$浮点数运算浮点数表⽰(科学计数法)$N= M\times R^e$M成为尾数(必须是⾮0的个位数),e是指数,R是基数进⾏浮点运算对阶(低阶兑成⾼阶) -> 尾数计算 -> 结果格式化 (确保尾数是个位数)例如1000+119$1 \times 10^3 +1.19 \times 10^2 = 1 \times 10^3 +0.119 \times 10^3 = 1.119 \times 10^3$计算机结构主机只包括两个部分,⼀个CPU,⼀个主存储器(内存)CPU运算器1. 算术逻辑单元ALU2. 累加寄存器AC3. 数据缓冲寄存器DR4. 状态条件寄存器PSWCPU控制器1. 程序计数器PC2. 指令寄存器IR3. 指令译码器4. 时序部件Flynn分类法体系结构类型结构关键特性代表单指令流单数据流SISD 控制部分 : ⼀个处理器 : ⼀个主存模块 : ⼀个单处理器系统单指令流多数据流SIMD 控制部分 : ⼀个处理器 : 多个主存模块 : 多个各处理器以异步的形式执⾏同⼀条指令并⾏处理机阵列处理机超级向量处理机多指令流多数据流MISD 控制部分 : 多个处理器 : ⼀个主存模块 : 多个不存在理论上的,不存在多指令流多数据流MIMD控制部分 : 多个处理器 : 多个主存模块 : 多个能够实现作业、任务、指令等各级全⾯并⾏多处理机系统多计算机体系结构类型结构关键特性代表CISC与RISC指令系统类型指令寻址⽅式实现⽅式其他CISC (复杂)数量多,使⽤频率差别⼤,可变长格式⽀持多种微程序控制技术(微码)研制周期长RISC (精简)数量少,使⽤频率接近,定长格式,⼤部分为单周期指令,操作寄存器,只有Load/Store操作内存⽀持⽅式少增加了通⽤寄存器;硬布线逻辑控制为主;适合采⽤流⽔线优化编译,有效⽀持⾼级语⾔CISC的背景是计算机还没普及时,机构买计算机需要从硬件到指令都定制RISC的背景是计算机普及,所以删掉复杂指令,把基础指令提取出来,例如乘法可以由加法指令实现,多在寄存器操作流⽔线技术流⽔线概念流⽔线是指在程序执⾏时,多条指令重叠进⾏操作的⼀种准并⾏处理实现技术执⾏指令顺序 --> 取指 --> 分析 --> 执⾏未使⽤流⽔线执⾏指令情况:时间1时间2时间3时间4时间5时间6取指12分析12执⾏12使⽤流⽔线执⾏指令情况:时间1时间2时间3时间4取指12分析12执⾏12流⽔线时间计算流⽔线周期为执⾏时间最长的⼀段例如,取指耗时2ns,分析2ns,执⾏1ns,那么流⽔线的周期就是2ns流⽔线计算公式为1条指令执⾏时间 + (指令条数-1)*流⽔线周期理论公式 $(t1+t2+...+tk)+(n-1)*\Delta t$实践公式 $(k+n-1)*\Delta t$其中k为指令执⾏部分(如取指,分析,执⾏则k=3)$\Delta t$ 是流⽔线周期考试时,有理论的选项值先选理论,没理论选实践选项值流⽔线吞吐率计算流⽔线的吞吐率是只在单位时间内流⽔线所完成的任务数量或输出的结果数量吞吐率 $TP = \frac{指令条数}{流⽔线执⾏时间} $最⼤吞吐率 $TP_{max} = \frac{1}{流⽔线周期}$流⽔线的加速⽐计算完成同⼀批任务,不使⽤流⽔线所⽤的时间与使⽤流⽔线所⽤时间之⽐称为流⽔线的加速⽐$S= \frac{不使⽤流⽔线执⾏时间}{使⽤流⽔线执⾏时间}$流⽔线的效率流⽔线的效率是指流⽔线的设备利⽤率在时空图上,流⽔线的效率定义为n个任务占⽤的时空区域k个流⽔段总得时空区之⽐$E = \frac{n个任务占⽤的时空区}{k个流⽔段的总的时空区} = \frac{T_0}{KT_k} $存储系统层次化存储结构快CPU寄存器⼩$\uparrow$Cache按需内容存取$\downarrow$$\uparrow$内存(主存)$\downarrow$慢外存(辅存)硬盘,光盘,U盘等⼤CacheCache的功能 : 提⾼CPU数据输⼊输出的速率在计算机的储存系统中,Cache是访问速度最快的层次(如果算寄存器的话则寄存器最快)使⽤Cache改善系统性能的依据是程序的局部性原理使⽤"Cache+主存储器"的平均周期$t3 = h t_1+(1-h)t_2$$t_1$ 表⽰Cache的周期时间⽐如 1ns$t_2$表⽰主存储器周期时间⽐如1000nsh 表⽰对Cache的命中率(CPU能在Cache中访问到数据时读Cache,否则读主存), ⽐如95%那么 $t_3= 0.951+0.051000 = 50.95ns$局部性原理时间局部性 (例如,循环时,循环体的存储位置不断被重复访问)空间局部性 (例如,数组,访问某个元素存储位置时,很有可能访问下⼀个存储位置)⼯作集理论 : ⼯作集是进程运⾏时被频繁访问的页⾯集合主存分类:随机存取存储器 RAM只读存储器 ROM编址:(要会算)例如:内存地址从AC000H到C7FFFH,总共有___K个地址单元?⼤-⼩+1,如0到9是10个数字C7FFFH - AC000H +1 = C7FFFH + 1 - AC000H = C8000H -AC000H = 1C000H转换成K 就是 $\frac{1C000H}{1024} = \frac{1*164+12*163}{2^{10}} = 112$如果该内存地址按字(16bit)编址,有23⽚芯⽚构成,已知每⽚芯⽚有16K个存储单元,则该芯⽚每个存储单元存储__位设每个存储单元存储x位则 $112K 16 = 2816K*x$ 求得x=4磁盘结构与参数磁盘读取数据时,磁头会先找到对应的磁道,磁盘再转动,直到对应的扇区转到磁头的地⽅总线系统内部总线 (芯⽚与处理器的总线)系统总线 (插件板和系统板的总线)数据总线 (传输数据)地址总线 (传输地址)控制总线 (传输控制信号和时序信号)外部总线 (微机和外部的总线)可靠性串联系统$R = R_1R_2...*R_n$并联系统$R = 1-(1-R_1)(1-R_2)...*(1-R_n)$串并混合先看整体,如果是串联,就先算并联;如果是并联,就先算串联校验码循环校验码CRC(在要传输数据后添加的冗余位)模2除法:在做除法运算的过程中不计其进位的触发例:原始报⽂为"10111",其⽣成多项式为"$x^3+x+1$",对其进⾏CRC编码后的结果为?多项式⼆进制为 111 ,冗余位为多项式长度-1个0,即:111⼃$\overline{1011100}$111$\overline{0101100}$111$\overline{0010100}$111$\overline{0001000}$111$\overline{0000110}$111$\overline{0000001}$把最后的结果替换冗余位,即CRC编码后的结果是1011101可以把结果与111进⾏模2除法运算,如果为0就是对的海明校验码算信息位和校验位$2^k-1\geq n+k$校验位都是在2的次⽅的位置海明码从1开始,没有0,所以$2^k-1$k是校验位n是信息位⽐如3个校验位最多能传7个状态数,其中信息位最多7-3=4算校验位和海明码例如:求1011的海明码信息位为4,带⼊公式得出校验位为3,总位数为47654($2^2$)32($2^1$)1($2^0$)位数X4 值为1X3 值为0X2值为1X1值为1信息位J3J2J1校验位$7=22+21+2^0$$6=22+21$$5=22+20$$3=21+20$那么J1的值是所有含有$2^0$的信息位值的异或(同值为0,异值为1),即 $J_1 = X_1 \bigoplus X_2 \bigoplus X_4 =1\bigoplus 1\bigoplus 1=1$同理,J2 = 0 , J3 =0 ,即海明码为1010101海明码纠错将受到的校验码和原始校验码进⾏异或,得出的位置就是出错的位置例如,假如收到的海明码为1011101,校验码J3=1,J2=0,J1=1与原始校验码001异或,得出100说明是第$1*2^2+0+0=4$的位置出错了,取反得正确海明码1010101⼆、操作系统基本原理操作系统概述:管理系统的硬件,软件,数据资源控制程序运⾏⼈机之间的接⼝应⽤软件与硬件之间的接⼝进程管理进程的状态基本的三态 : -->等待-->就绪-->运⾏五态 : 加⼊了静⽌就绪和静⽌阻塞状态前趋图描述程序的某个部分的先后依赖关系考试⼀般配合PV操作⼀起考PV操作进程的同步与互斥互斥 : 千军万马过独⽊桥,只能⾛⼀个同步 : 两⼈⼀起去游泳馆,⼀个⾛路,⼀个骑⾃⾏车,但为了同时到,骑车的⼈需要时不时停下来等⾛路的⼈PV操作临界资源 : 诸进程间需要互斥⽅式对其进⾏共享的资源,如打印机临界区 : 每个进程中访问临界资源的那段代码信号量 : 是⼀种特殊的变量,⼀般⽤S表⽰P操作相当于阻塞 , 每次执⾏时信号量S=S-1,当信号量S<0时挂起V操作相当于释放 , 每次执⾏时信号量S=S+1,当信号量$S\leq 0$时激活P执⾏在解PV题时,需要先判断是同步还是互斥 , 同步时需要判断他们的先后依赖条件 ,进⾏阻塞例如 : 消费者和收银员两个进程.没买东西是不能触发收银员收钱的,所以消费者购买东西 V(S1) 激活收银员收钱 P(S1)收银员没收完钱消费者是不能拿着东西⾛的,所以收银员收完钱 V(S2) 激活消费者拿东西离开 P(S2)在解趋势图和PV操作混合题时,条件是V,导向的结果是P死锁问题如果没有资源让进程执⾏完就会发⽣死锁⼀般考试最少多少个资源不会发⽣死锁$ M=n*(k-1)+1 $n为进程数,k为每个进程需要的资源例如,3个进程都需要5个系统资源,则如果有13个资源就不会发⽣死锁,因为如果都先分配4个,剩下的⼀个随便分配都能完成,并释放资源存储管理段页式存储页式存储(页号+页内地址)页表存的是页号和物理块号页⾯⼤⼩都⼀样逻辑地址和物理地址转换,组成都是页号/块号 + 页内地址两者的页内地址都是相同的,先区分逻辑地址中的页号和页内地址,通过逻辑地址的页号找到物理地址的块号就⾏了例如:页⾯⼤⼩为4K,访问逻辑地址为5A29H,那么4K是$2^{12}$,对应16进制的三位,即A29是页内地址,5是页号,可通过页号5去页表⾥查物理块号如果需要淘汰页号,则淘汰状态在内存中,并且没有访问的页号段式存储(段号+段内地址)段表存的是段号+段长+基址按逻辑结构分,所以分割的段不⼀样⼤段页式存储先分段再分页页⾯置换(淘汰 )算法最优算法随机算法先进先出算法最近最少使⽤算法⽂件管理索引⽂件位⽰图第多少字从1开始算第多少位置从0开始算作业管理设备管理数据传输控制⽅式微内核操作系统虚设备与SPOOLING技术可理解为队列,先进先出三、数据库系统数据库模式三个模式:外模式 (视图)概念模式 (表)内模式 (存储⽅式)两级映射:外模式/概念模式映射. 当表改变时,视图不⽤变,保证了逻辑独⽴性概念模式/内模式映射. 当存储⽅式改变时,表结构不⽤变,保证了物理独⽴性ER模型注意转关系模式和联系⼀个实体转为⼀个关系模式⼀对⼀的关系,1个实体转成1个关系模式,中间的联系可以转成⼀个关系模式或合并到任意⼀个实体⾥⼀对多的关系,1个实体转成1个关系模式,中间的联系可以转成⼀个关系模式或合并到多的实体⾥,⽐如部门对员⼯多对多的关系,1个实体转成1个关系模式,中间的联系必须转成⼀个关系模式关系代数与元组演算并交差笛卡尔积 "X"结果是⾏*⾏,列+列投影 "π"选中的列 ,参数是字段名(或数字列)选择 "σ"选中的⾏,参数是属性值(或数字列)联接 "⋈"联接后会把相同字段去掉(与笛卡尔积⽐较)⾃然联接是默认条件是相同的字段规范化理论函数依赖函数依赖 A ->B部分函数依赖 A+B -> C ; A->C传递函数依赖 A -> B -> C求候选键给出⼀定关系,和函数依赖,求候选键画图,候选键能推导出所有的关系范式1NF : 属性值都是不可分的原⼦值2NF : 在1NF的基础上消除⾮主属性对候选键的部分依赖3NF : 在2NF的基础上消除⾮主属性对候选键的传递依赖BCNF : 在3NF的基础上消除主属性对候选键的传递依赖BCNF相当于每个属性都不部分依赖于候选键也不传递依赖于候选键主属性:候选关键字⾥的属性⾮主属性:候选关键字外的属性单主键不可能存在部分依赖,只有复合主键才可能有部分依赖模式分解保持函数依赖分解⽆损分解⽆损:可以还原; 有损:不能还原并发控制事务原⼦性事情要么做要么不做,不能拆分⼀致性能量守恒,做完前做完后总量⼀致隔离性独⽴进⾏,互不影响持续性执⾏后结果影响是持续的封锁协议丢失修改: 事务A修改数据R,但结束前其他事务也修改了数据R,导致数据丢失读脏数据: 事务A读取了其他事务还没提交的数据不可重复读: 数据A两次读取数据R之间,其他事务修改了数据R,导致同⼀数据前后读取不⼀致X锁,是事务T对数据A加上X锁时,只允许事务T读取和修改数据AS锁,是事务T对数据A加上S锁时,其他事务只能再对数据A加S锁,⽽不能加X锁,直到T释放A上的S锁。
软件设计师学习笔记
软件设计师考试笔记********************初等部分*************************** 关于数据的校验,海明码校验区位码:将国际码,即ASCII 码的码位图分成94 个区,每个区分94 个位,得到区位图,形成的就是区位码。
将区位码的区号和位号分别加上160,然后用十六进制表示就是机内码,即国际码。
设汉字以16*16 的点阵输出,则每个汉字所占的空间数为16bit*16bit=32B两级汉字6763 个字符和一些特殊字符要占用更大的存储空间。
磁盘的存储容量=柱面数*磁道数*每道扇区数*每扇区字节数寻道时间:磁头移动到目标磁道所需的时间等待时间:找到目标扇区所需时间数据传输率:找到地址后,单位时间内写入或读取的字节数磁盘的磁道是一些由中心到边缘的同心圆,所以越中心位密度越大。
Cache 通常由较快的静态半导体存储器制成。
读写机制:写通法,写回法,标记法。
淘汰算法:随机淘汰,先进先出算法,最近最少使用算法。
命中率为=Cache 的存取次数/Cache 和内存加在一起的存取次数CPU 的存储时间=Cache 的存取周期*Cache 命中率+主存存储周期*命中主存率注:不命中Cache 就会命中主存囊都文字总线带宽=(总线位宽/8)*总线工作频率还要看一个总线周期包含N 个时针周期,相应总线的工作频率=总线时针频率/N一个机器周期包括4 个时钟周期,而执行一个条指令需要三个机器周期。
MIPS 代表的是每秒执行的指令数。
进程调度方式:非剥夺方式,剥夺方式。
进程调度算法:先来先服务,优先级调度算法,轮转法,多级反馈调度。
多级反馈就是时间片轮和优先级算法的结合与发展。
进程之间的通信:同步是指在异步环境中,各进程通过消息发送而进行相互合作,相互等待,使各进程按一定的速度执行。
互斥是为了保证某一临界资源在某一时刻只能被一个进程访问。
临界区的管理原则:有空即进,无空则等,有限等待和让权等待。
软件设计师备考笔记(文末复习资料分享)
软件设计师备考笔记(⽂末复习资料分享)软考学习笔记⼀、数据的表⽰R进制转⼗进制使⽤按权展开法⼆进制符号位:0代表正数,1代表负数⼆进制转⼋进制:按三位划分计算⼆进制转⼗六进制:按四位划分计算正数的原码、反码、补码相同负数的反码:在原码的基础上除符号位全部取反负数的补码:在反码的基础上+1负数的补码转原码:除符号位全部取反 +1移码:在补码的基础上将符号位取反减法运算:使⽤两个数的补码相加⼆、数值表⽰范围定点整数原码 -(2^n-1-1) ~ +(2^n-1-1)反码 -(2^n-1-1) ~ +(2^n-1-1)补码 -2^n-1 ~ +(2^n-1-1)移码 -2^n-1 ~ +(2^n-1-1)定点⼩数原码 -(1-2^-(n-1)) ~ +(1-2^-(n-1))反码 -(1-2^-(n-1)) ~ +(1-2^-(n-1))补码 -1 ~ +(1-2^-(n-1))移码 -1 ~ +(1-2^-(n-1))三、浮点的运算浮点数表⽰:N = 尾数 * 基数^指数运算过程:对阶》尾数运算》结果格式化特点⼀般尾数⽤补码,阶码⽤移码阶码的尾数决定数的表⽰范围,位数越多范围越⼤尾数的尾数决定数的有效精度,位数越多精度越⾼对阶时,⼩数向⼤数看齐对阶是通过较⼩数的尾数右移实现的浮点数存储⽅式:阶符 | 阶码 | 尾符 | 尾码四、计算机结构外设输⼊设备存储器辅助存储器输出设备主机主存储器CPU运算器算数逻辑单元ALU:数据的算数运算和逻辑运算累加寄存器AC:通⽤寄存器,为ALU提供⼀个⼯作区,⽤在暂存数据数据缓冲寄存器DR:写内存时,暂存指令或数据状态条件寄存器PSW:存状态标志与控制标志(争议:也有将其归为控制器的)控制器程序计数器PC :存储下⼀条要执⾏指令地址指令寄存器IR:存储即将执⾏的指令指令译码器 ID:对指令中的操作码字段进⾏分析解释时序部件:提供时序控制信号地址寄存器DR:记录当前指令地址五、计算机体系结构分类-Flynn单指令流单数据流SISD控制部分处理器主存模块均⼀个代表:单处理器系统单指令流多数据流SIMD处理器和主存模块多个关键特性:个处理器以异步的形式执⾏同⼀条指令代表:并⾏处理机,阵列处理机,超级向量处理机多指令流单数据流MISD控制器和主存模块多个被证明不可能,⾄少是不实际⽬前咩有,有⽂献称流⽔线计算机为此类多指令流多数据流MIMD控制部分,处理器,主存模块均为多个能够实现作业,任务,指令等各级全⾯并⾏多处理机系统,多计算机六、指令的基本概念⼀条指令就是机器语⾔的⼀个语句,它是⼀组有意义的⼆进制代码,指令的基本格式:操作代码字段|地址码字段操作码部分指出了计算机要执⾏什么性质的操作,如加法、减法、取数、存数等。
软件设计师01.学习重点笔记
模2除法,按位进行异或操作。
海明校验码:2^r>=x + r + l;X为信息为的长度,⅛:1011, X为4;
当进行异或操作时,两个二进制的数相比之后,若前而的树为零,则再与第三个数相比 时,位为零的可以不再进行相比。
第二章程序语言基础
1.递归下降分析法和预测分析法是常用的自顶向下分析法。算符优先分析法和LR分析法属 于自底向上的语法分析方法。
7.磁道题目的延迟时间:
8.不发生死锁的公式:k*(n-l) + l: k为进程数,n为所需要的资源:
死锁发生的必要条件
(1)互斥条件:即一个资源每次只能被一个进程使用,在操作系统中这是真实存在的情 况。
(2)保持和等待条件:有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对 已获得
的资源保持不放。
1•瀑布模型:结构化方法。适用于需求明确场合,二次开发。
2.原型:先做一个简易的系统给用户体验,再让用户明确他想要的功能,针对需求不明确的 情况。需求不淸晰且规模不太大时采用原型化方法最合适
3.演化模型:原型一步一步演化完善为演化模型
4.增量模型:先做一点,再接着做,特点是可以更早的让用户和核心功能接触
端到靖连接
实现发送端和接收靖的端到端的数据分组传送,负责保证实现数据包 无羞脉 按顺序.无丢失和无冗余的传爺。其服务访问点为端口。代 表性协议KTCP.UDP、SPX等
网络层
分组传報和路由选择
通过网络连接交换传输层实体发岀的数据,解决路由选择、网络拥塞. 异构网烙互联的问题。服务访问点为逻辑地址(网络地址)。代表性协 议有IP、IPX等
表示层
数据表示
使应用层可以根摇其服务解释数摇的涵义。通常包括数摇编码的约定、 本地句法的转换。例如JPEG、ASCIk GIFS DESH MPEG等
软件设计师笔记
软件设计师笔记“哇塞,软件设计超酷的!”有一天,我看到哥哥在电脑前敲敲打打,满脸专注。
我好奇地凑过去问:“哥,你在干啥呢?”哥哥说:“我在做软件设计呢。
”我瞪大眼睛:“软件设计?那是啥玩意儿?”哥哥笑着解释:“就像盖房子一样,我们要把一个个功能搭起来,让软件变得好用。
”我心想:这听起来好厉害啊!软件设计不就像创造一个神奇的世界吗?我们可以在这个世界里实现各种好玩的功能。
“软件设计就像玩大拼图!”在学校里,我跟小伙伴们说起软件设计。
我说:“你们知道吗?软件设计就像玩大拼图一样。
”小伙伴们好奇地问:“为啥呀?”我兴奋地说:“你得把不同的代码块拼在一起,才能做出一个完整的软件。
”就像我们玩拼图的时候,要找到合适的碎片才能拼成一幅美丽的画。
软件设计不也是这样吗?要不断尝试,找到最合适的组合。
“做软件设计得有耐心,嘿!”周末,我看爸爸在帮别人修电脑。
我问爸爸:“爸爸,软件设计难不难呀?”爸爸说:“做软件设计得有耐心。
”我歪着脑袋想:是哦,要是没耐心,肯定做不好。
就像我们搭积木,如果没耐心,一会儿就不想玩了。
那软件设计不也得耐着性子,一点一点地把它做好吗?“软件设计就像变魔法!”有一次去参观科技馆,看到那些高科技的软件展示,我忍不住惊叹:“哇,这软件设计就像变魔法一样!”旁边的同学也点头说:“对啊,太神奇了。
”就像魔法师挥动魔杖就能变出各种奇妙的东西,软件设计师用代码就能创造出各种实用又好玩的软件。
这不是很厉害吗?“软件设计能让生活更美好,不是吗?”我看到妈妈用手机上的一个软件买菜,可方便了。
我对妈妈说:“软件设计能让生活更美好,不是吗?”妈妈笑着说:“是呀,这些软件给我们带来了很多便利。
”就像一盏明灯照亮了我们的生活,软件设计让我们的生活变得更加便捷、高效。
“软件设计要有创意,哇哦!”在课堂上,老师让我们发挥想象设计一个小软件。
我想了想,说:“软件设计要有创意,哇哦!”同桌也说:“对,不能跟别人一样。
”就像画画一样,要有自己的风格和想法。
软件设计师笔记
15. 程序设计语言分类:命令式/过程式(FORTRAN/C/PASCAL),函数式(Lisp/ML),面向对象(C++/SmallTalk/Java/C#),逻辑程序设计(Prolog)。
16. 解释型(接受所输入的用程序语言编写的源程序,然后直接解释执行,如Basic,现在的Java/C#也是一种半解释型的语言),翻译型(汇编和编译两类)
23. 实现VPN的关键技术是隧道技术、加解密技术、密钥管理技术和身份认证技术。VPN的关键技术是隧道技术,它是一种数据封装协议,也就是将一种协议封装在另一种协议中传输,从而实现被封装协议对封装协议的透明性。根据其工作的层次可分为以下两类:a. 二层隧道技术:包括PPP基础上的PPTP(点到点隧道协议)和L2F(二层转发协议)、L2TP(二层隧道协议)b. 三次隧道技术:主要代表是IPSec(IP层安全协议,它是IPv4和IPv6的安全标准)、移动IP协议和虚拟隧道协议(VTP)
10. 接受变化
这是一句老话了:唯一不变的只有变化。
你应该将所有系统将可能发生的变化以及潜在需求记录下来,以便将来能够实现(参见“Architecting for Change”,Thinking Objectively, May 1999)
通过在建模期间考虑这些假设的情况,你就有可能开发出足够强壮且容易维护的软件。设计强壮的软件是你最基本的目标。
12. 进程的五态模型:运行,就绪,阻塞,挂起。
13. 死锁的必要条件:互斥条件、保持和等待条件、不剥夺条件、环路等待条件。解决死锁的策略:死锁预防(破坏其必要条件)、死锁避免(银行家算法)、死锁检测、死锁解除(与死锁检测结合使用,采用剥夺方式)。
14. 存储分配算法:最佳适应法(最接近作业的自由区)、首次适应法(第一个可用的自由区)、最差适应法(选择最大的自由区)、循环首次适应法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计师学习笔记————————————————————————————————作者: ————————————————————————————————日期:计算机系统组成ﻫ运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。
控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器。
ﻫCPU的功能:程序控制、操作控制、时间控制、数据处理(最根本的)。
相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中。
ﻫCACHE高速缓存的地址映像方法:直接地址映像(主存分区,区分块)、全相联映像(主存分块)、组相联映像(主存分区,区分块、块成组,CAC HE分块成组)。
替换算法:随机、先进先出、近期最少用、优化替换算法。
ﻫ性能分析:H为CACHE命中率,tc为Cache存取时间、tm为主存访问时间,Cache等效访问时间ta=H tc+(1-H) tm 提高了tm/ta倍。
ﻫ虚拟存储器由主存、辅存、存储管理单元和操作系统软件组成。
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) )计算机性能评测方法:时钟频率、指令执行速度、等效指令速度法、数据处理速率、核心程序法。
汇编和编译ﻫ汇编语言的三类语句:指令、伪指令、宏指令语句。
编译的过程:①词法分析,②语法分析,③语义分析、④中间代码生成(三地址码)、⑤代码优化:基本块划分:第一条、转移、转移后面的语句。
三种优化:合并已知变量、删除无用赋值、删除多余运算。
⑥目标代码生成,⑦符号表管理,⑧出错处理。
编译比解释效率高,解释的灵活性和可移植性好。
ﻫ网络知识网络的功能:数据通信、资源共享、负载均衡、高可靠性。
内层通讯子网对应下三层、外层资源子网对应上三层。
按信息交互方式分为:电路交换、分组交换、综合交换网。
拓扑结构:总线、星状、环状、树状、分布式。
OSI/RM:物理层:比特流。
数据链路层:帧,流量控制、差错控制。
网络层:数据包,报文分组,路由选择、交换方式、拥塞控制、差错报告、寻址排序。
传输层:报文,报文分段、选择最适宜的网络层服务、最佳的利用网络资源。
会话层:访问验证、会话管理。
表示层:语法解释、压缩、加解密。
应用层。
ﻫ网络设备:物理层:中继器(由500米扩展到15 00米)、集线器。
数据链路层:网桥(帧过滤特性)、交换机(三种交换技术:端口交换、帧交换【直通交换、存储转发、碎片丢弃】、信元交换)。
网络层:路由器(路由选择、流量控制、过滤、存储转发、介质转换、增强型功能加密、压缩、容错)。
应用层:网关(协议转换)ﻫ网络介质:双绞线(屏蔽STP,非屏蔽5类UTP最长100米);同轴电缆(基带直接传输数字信号,宽带同轴电缆用于频分多路复用FDM 闭路电视用);光纤(多模发光二极管,单模注入型二极管)两台PC间最长500米,最多4个HUB5段电缆。
ﻫ电信标准:CCITT V系列(V.90猫)X系列(X.25)。
EIA的RS-232标准。
IEEE 的802.1(体系结构及网络互连),802.2(涉及逻辑数据链路标准),802.3(以太网CSMA/ CD),802.4(令牌总线),802.5(令牌环差分曼彻斯特编码),802.6(城域网),802.7(光纤FDDI 用4B/5B编码),8 02.11(无线局域网),802.12(100VG-ANYLAN)。
局域网技术的三个问题:介质、拓扑结构、介质访问控制方法。
LAN模型:数据链路层细划为:逻辑链路控制LLC和介质访问控制层MAC。
MAC功能:介质访问控制和对信道分配资源,实现帧寻址、识别和检测。
LLC功能加强了:寻址、排序、流控、差错控制,数据帧的封装和拆除。
ﻫ以太网802.3标准:采用带有冲突检测的载波监听多路访问协议CSMA/CD技术,检测到冲突的退避算法是二进制指数退避算法。
802.3(10M以太网10Base-T 10Base-F)、802.3u(100M快速以太网100Ba seT、100BaseF多模光纤400米、100BaseT4 )、802.3z(千兆以太网三种介质光纤单模500米多模2000米、宽带同轴电缆25M、5类UTP100米半双工)广域网协议:PPP PPPoE PPPoA应用ADSL(上行1M 下行8M,线路按频段分为语音上下行3个信道)、DDN是网状拓扑不经过交换机房、ISDN一线通、FR帧中继、ATM异步传输模式:数据以定长的信元为传输单位,每个信元53B其中头5B信元体4 8B,四层的参考模型用户层、ATM适配层、ATM层、物理层。
Internet协议:TCP/IP的特性:逻辑编址(48位物理地址,32位逻辑地址)、路由选择、域名解析、错误检测、流量控制、对应用程序的支持。
TCP/IP的四层结构:ﻫ①、网络接口层(最底层)。
ﻫ②、网际层只提供无连接不可靠服务协议有:IP,ICMP发送差错报文的协议(5种差错报文即源抑制超时目的不可达重定向要求分段;4种信息报文即回应请求、回应应答、地址屏蔽码请求、地址屏蔽码应答),AR P地址解析转成物理地址,RARP反向。
ﻫ③、传输层协议TCP的可靠性靠重发技术来实现,三次握手SYN SEQ=200、ACK 201SYN SEQ=300 、ACK301;UDP协议提高传输率。
④、应用层只有是建立在TCP上,其余都在UDP上。
ﻫIP地址:网络号部分+主机号部分,ﻫA类0(000-127)、B类10(128-191)、ﻫC类110(192-223)、D类1110(224-239)用于组播例如路由器修改、E类1111(240-255)实验保留。
IPV6将32位地址扩展为128位。
子网掩码:网络号部分填1,主机号部分填0。
可变长掩码公共端口号0-1023,其他1024-65535。
DNS用53、SMTP用25、SNMP用161,FTP命令21数据20,TCP23。
Win NT网络:两个边界层:NDIS网络接口规范(在会话与传输之间)和TDI传输驱动程序接口(数据链路层)。
四个协议:DLC访问大型机和打印机,TCP/IP,NWLink(NetWare接口),NetBEUI(NetBIOS的扩展网上邻居)。