软件设计师复习笔记重点总结一.计算机系统基础知识:CPU功能:程序控制,操作控制,时间控制,数据处理。组成:运算器(算术逻辑单元ALU,累加寄存器AC,数据缓冲寄存器DR,状态条件寄存器PSW),控制器(指令寄存器IR,程序计数器PC,地址寄存器AR,指令译码器ID),寄存器组(专业寄存器通用寄存器),内部总线。原码:负数把第一位改成1;反码:正数的反码与原码相同,负数的反码是其绝对值按位求反;补码:正数的补码与原码相同,负数补码等于其反码的末尾加1;移码:在数X上增加一个偏移量(实际上,将补码的符号位取反);最适合进行数字相加减的数字编码是补码,最适合浮点数阶码的数字编码是移码。双符号位判决法:即00表示正号,11表示负号,则溢出时两个符号位就不一致了,从而可以判定发生了溢出。符号位SF和进位标志CF进行异或运算为1时,表示运算的结果产生溢出。浮点数:N=2^E*FE:阶码F尾数尾符和尾数小数点后第一位数字相异为规格化数。校验码:奇偶校验码(在编码中增加一个校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶检验),从而使码距变为2)=只能检验一位的错误海明码(在数据位中之间插入k个校验位,通过扩大码距来实现检错和纠错)=既可以检测数据传输过程中出现的一位数据错误的位置加以纠正。2^k-1=n+k循环冗余校验码(利用生成多项式为k个数据位产生r个校验位来进行编码,长度为r+k)校验码越长,校验能力越强;结构,组织,实现,性能。结构只计算机系统各种应用的互联,组织指各种部件的动态联系和管理,实现指各模块设计的组装完成,性能指计算机系统的行为表现。系统分类:单处理系统,并行处理和多处理系统,分布式处理系统(指物理上远距离而松耦合的多计算机系统,通信时间和处理时间相比已经不可忽略)。Flynn分发:SISD单指令单数据流,SIMD单指令多数据流,MISD多指令单数据流,MIMD多指令多数据流;阵列处理机(ArrayProcessor)也称并行处理机(ParallelProcessor)通过重复设置大量相同的处理2单元PE(ProcessingElement),将它们按一定方式互连成阵列,在单一控制部件CU(ControlUnit)控制下,对各自所分配的不同数据并行执行同一组指令规定的操作,操作级并行的SIMD计算机,它适用于矩阵运算。冯译云分类:WSBS字串行位串行计算机,WPBS字并行位串行计算机,WSBP字串行位并行,WPBP字并行位并行;指令体系:堆栈,累加器,寄存器集;CISC复杂指令集计算机RISC精简指令集计算机(流水技术:超流水线技术,超标量技术,超长指令字技术)存储:相联寄存器是一种按内容访问的寄存器;cache地址映像方法:直接映像(地址变换简单,灵活性差),全相联映像(主存调入cache的位置不受限制,十分灵活,但是因为无法从主存中直接获得cache的块号,变化复杂,速度慢),组相联映像。cache替换算法:随机替换算法,先进先出算法,近期最少使用算法,优化替代算法。磁盘容量:内圈周长*最大位密度*每面磁道数*面数/8每面磁道数=(外直径-内直径)*磁道密度/2格式化容量:每磁道扇区数*每扇区容量*每面磁道数*面数平均传输速率=内圈周长*最大位密度*转速CD-ROM只读型光盘,WROM,只写一次光盘算法为平均访问时间约=平均寻道时间+平均潜伏时间输入输出技术:IO设备与主机之间交换数据主要有五种方式:程序查询方式,程序中断方式(IO系统与主机之间交换数据时,当IO系统完成了数据传输后则以中断信号通知CPU。CPU保护现场并转入IO终端服务程序完成与IO系统的数据交换。),DMA方式,通道方式,IOP输入输出处理机;DMA传送方式的优先级高于中断方式;总线结构:内部总线。(分为芯片内总线和元件内总线)系统总线(用于插件板的一级的互连包括ISA总线EIAS总线,PCI总线,PCI总线的时钟与处理器时钟是独立的,非同步的,PCI总线上的设备是即插即用的)内存分为:静态数据区,代码区,栈区,堆区;静态数据区(全局区):全局变量和静态变量存储时放在一块区域;代码区:存放函数体的二进制代码;3栈区:由编译器自动分配释放;堆区:一般由程序员分配释放;或OS管理;信息安全:保密性完整性可用性可控性可审查性加密技术:对称加密技术(发送和接受数据的双方必须使用相同的/对称的密钥对明文进行加密和解密)(DES三重DESRC-5)数据加密标准:DES,主要采用替换和移位的方法加密;非对称加密技术:需要两个密钥,公开密钥和私有密钥。算法--RSA算法:一种公开密钥,安全性在于基于大素数分解的困难性非对称PKI公开密钥体系Kerberos建立了一个安全的可信任的密钥分发中心KDC对称加密的基础上认证技术主要结局网络通信过程中通信双方的身份认证。常用的认证技术有:hash函数与信息摘要,数字签名SSL协议(安全套协议)数字时间戳技术数字签名是用于确认发送者身份和消息完整性的一个加密的消息摘要。数字证书是一个经过证书认证中心(CA)数字签名的包含公开密钥拥有者信息以及公开密钥的文件。数字证书结局了公开密钥体制下密钥的发布和管理问题。计算机性能评价:时钟频率,指令执行速度,等效指令速度法,数据处理速率。PDR法采用计算PDR值的方法来衡量机器性能,PDR值越大,机器性能越好。可靠性以平均无故障时间作为衡量指标。MTBFMTTR可维护性以平均修复时间。二.程序语言命令式程序语言:采用结构化程序设计,始于FortranCPASCAL面向对象程序设计语言:simula提出类和对象的概念。C++javaSmalltalk是面向对象程序设计语言的代表函数式程序设计语言:概念来自LISP逻辑性程序设计语言:PROLOGFortran是第一个被广泛用来进行科学计算的高级语言|||algol60主导了二十世纪六十年代程序语言的发展|||COBOL是一种面向事务处理的高级语言|||PHP是一种在服务端执行,嵌入HTML文档的脚本语言|||python是一种面向对象的解释型程序设计语言Delphi是Borland公司研制的可视化开发工具,windows下使用脚本语言又叫动态语言:PythonJavaScriptaspPHPPerlNUVA都是脚本语言语法错误:非法字符拼写错误缺少分号关键字不匹配语义错误:类型不一致参数不匹配死4循环作为除数的变量为0若局部变量和全局变量名相同,那么在函数内部以局部变量为准。三.操作系统作用:通过资源管理提高计算机系统的效率。改善人机界面,向用户提供友好的工作环境;特性:并发性,共享性,虚拟性,不确定性;功能:处理机管理文件管理存储管理设备管理作业管理;类型:批处理操作系统,分时操作系统,试试操作系统。UNIX是典型的多用户多任务的分时操作系统;UNIX系统中可以使用的任何计算机资源都可以用一种统一的方法表示。他们使用“文件”这个概念作为一切资源的抽象表示方法。UINIX包括两类设备:块设备和字符设备。在UNIX中把输入输出设备看作索引文件。UNIX/Linux文件系统中,直接寻址为10块,一次间接寻址为256块,二次间接寻址为2562块,三次间接寻址为2563块。偏移为263168字节的逻辑块号是:11264/1024=11。块内偏移量=11264-11×1024=0。由于1011256+10,故11264字节在一次间接寻址内。网络操作系统,分布式操作系统,微机操作系统,嵌入式操作系统。进程:前趋图是一个有向无循环图;进程=程序+数据+PCB(进程控制块)进程控制是由操作系统内核kernel中的原语实现的;信号量机制(Dijkstra提出)是一种解决进程同步与互斥的工具。信号量分为公用信号量和私用信号量;PV操作是实现进程同步与互斥的常用方法:P操作定义:S=S-1,若S=0,则执行P操作的进程继续执行,否则若S0,则置该进程为阻塞状态,因为无资源可用,并将其插入阻塞队列;V操作定义:S=S+1,若S0,则执行V操作的进程继续执行,否则若S=0,则从阻塞队列唤醒一个进程,并将其插入就绪队列,执行V操作的进程继续执行;利用PV操作实现进程的互斥:将信号量mutex的初值设为1,当进程进入临界区的时候执行P操作,退出临界区时执行V操作;有些资源一次只能供一个进程使用,称为临界资源CR(criticalresource).管理原则:有空则进,无空则等,有限访问,让全等待。中断响应时间是指从发出中断请求到进入中断处理所用的时间。5高级通信方式包括共享存储模式(共享某些数据结构货存储区实现进程之间的通信),消息传递模式(进程之间的数据交换以消息为单位),管道通信(管道只用于连接一个读进程和写进程,以实现他们之间通信的共享文件pipe文件);管程Monitor是由一些共享数据一组能为并发进程所执行的作用在共享数据上的操作的集合,初始化代码以及存取权组成。进程调度:FCFS先来先服务。时间片轮转。优先级调度。多级反馈调度(时间片和优先级的综合和发展)。三级调度:高(决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程)中(决定处于交换区中的就绪进程哪个可以调入内存,以便直接参与对CPU的竞争)低(决定处于内存中的就绪进程哪个可以占用CPU,最活跃最重要,对系统影响很大);死锁:互斥条件,不可抢占条件。占有且申请条件,循环等待条件。处理:死锁预防,死锁避免(银行家算法,需要很大的系统开销),死锁检测(允许死锁产生,检测产生再解除),死锁解除(重新启动系统,资源剥夺撤销进程);若系统有五个进程共享若干个资源R,每个进程需要四个R,则系统不发生死锁的资源R最少数目是16个。线程是比进程更小的能独立运行的基本单位,是处理器分配的最小单元。线程作为调度和分配的基本单位,进程作为独立分配资源的单位。存储管理:地址重定位是指将逻辑地址变换成主存物理地址的过程。静态重定位是指在程序装入内存时已经完成了逻辑地址到物理地址的变换,在程序的执行期间将不再发生变化。动态重定位是指在程序运行期间完成逻辑地址到物理地址的变化,其实现机制要依赖硬件地质变化机构,如基地址寄存器BR。存储管理方案:固定分区(在系统生成的时候已经主存划分为若干的区域)可变分区(在作业装入是进行的,分区的大小可不等,刚刚等于作业的大小(请求和释放分区算法:最佳适应算法,最差适应算法,首次适应算法,循环适应算法))可重定位分区;分区保护:采用上界下界寄存器保护。采用基址/限长寄存器保护。分页存储管理:将一个进程的地址空间划分为若干个大小相等的区域叫做页。将主存空间划分成与页相同大小的若干个物理块,称为块或者页框。再将进程的每一页离散的分配在主存的多个物理块中后,系统为每个进程建立了一张页面映射表,称为页表。地址变换机构的基本任务就是利用表页把用户程序中的逻辑地址变换成主存中的物理地址,实际行就是将用户程序中的页号变换成主存中的物理块号。在系统这设置页表寄存器,用来存放页表的始址和页表的长度。页式存储管理至少需要两次访问内存。联想寄存器是一组高速存储器组成,称之为快表,用来保存当前访问频率搞得少数活动页的页号及相关信息。只存放当前进程最活跃的少数几页。分段式存储管理:作业的地址空间被划分为若干个段,每个段都是一组完整地逻辑信息,如有主程序段,子程序段,数据段和堆栈段。6基址S和段内地址d相加,得到要访问的主存物理地址。段面是信息的逻辑单位,二维。页面是信息的物理单位,一维。段页式系统是先整个主存划分为大小相等的存储块,将程序按逻辑关系分为若干个块,每个段赋予一个段名,每个段再划分若干个页。其中段表中的内容不再是段的主存始址和段长,而是页表始址和页表长度。虚拟存储器是为了扩大主存容量而采用的一种设计方法,其容量是由计算机的地址结构决定的。(实现:请求分页系统,请求分段系统,请求段页式系统)页面置换算法:最佳值换算法(难以实现,通常用于评估其他算法)先进先出FIFO最近最少使用LRU最近未用NUR工作集(在指在某段时间间隔里,进程要访问的页