运算器:算术/逻辑运算单元ALU、累加器ACC、寄存器组、多路转换器、数据总线组成。
控制器:计数器PC、时序产生器、微操作信号发生器,指令寄存器、指令译码器。
CPU的功能:程序控制、操作控制、时间控制、数据处理(最根本的)。
相联存储器是按内容访问的,用于高速缓冲存储器、在虚拟存储器中用来作段表页表或快表存储器、在数据库和知识库中。
CACHE高速缓存的地址映像方法:直接地址映像(主存分区,区分块)、全相联映像(主存分块)、组相联映像(主存分区,区分块、块成组,CACHE分块 成组)。
替换算法:随机、先进先出、近期最少用、优化替换算法。
性能分析: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米扩展到1500米)、集线器。数据链路层:网桥(帧过滤特性)、交换机(三种交换技术:端口交换、帧交换【直通交换、存储转发、碎片丢弃】、信元交换)。网络层:路由器(路由选择、流量控制、过滤、存储转发、介质转换、增强型功能加密、压缩、容错)。应用层:网关(协议转换)
网络介质:双绞线(屏蔽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编码),802.11(无线局域网),802.12(100VG-ANYLAN)。
局域网技术的三个问题:介质、拓扑结构、介质访问控制方法。
LAN模型:数据链路层细划为:逻辑链路控制LLC和介质访问控制层MAC。MAC功能:介质访问控制和对信道分配资源,实现帧寻址、识别和检测。LLC功能加强了:寻址、排序、流控、差错控制,数据帧的封装和拆除。
以太网802.3标准:采用带有冲突检测的 载波监听多路访问协议CSMA/CD技术,检测到冲突的退避算法是二进制指数退避算法。802.3(10M以太网 10Base-T 10Base-F)、802.3u(100M快速以太网 100BaseT、100BaseF多模光纤400米、100BaseT4 )、802.3z(千兆以太网 三种介质光纤单模500米 多模2000米、宽带同轴电缆25M、5类UTP100米半双工)
广域网协议:PPP PPPoE PPPoA应用ADSL(上行1M 下行8M,线路按频段分为语音上下行3个信道)、 DDN是网状拓扑 不经过交换机房、ISDN一线通、FR帧中继、ATM异步传输模式:数据以定长的信元为传输单位,每个信元53B其中头5B信元体48B,四层的参考模型用户层、ATM适配层、ATM层、物理层。
Internet协议:
TCP/IP的特性:逻辑编址(48位物理地址,32位逻辑地址)、路由选择、域名解析、错误检测、流量控制、对应用程序的支持。
TCP/IP的四层结构:
①、网络接口层(最底层)。
②、网际层 只提供无连接不可靠服务协议有:IP,ICMP发送差错报文的协议( 5种差错报文即源抑制 超时 目的不可达 重定向 要求分段;4种信息报文即回应请求、回应应答、地址屏蔽码请求、地址屏蔽码应答),ARP地址解析转成物理地址,RARP反向。
③、传输层 协议TCP的可靠性靠重发技术来实现,三次握手SYN SEQ=200、ACK 201 SYN SEQ=300 、ACK301 ;UDP协议提高传输率。
④、应用层 只有FTP和Telnet是建立在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的扩展 网上邻居)。除NetBIOS对应于传输层外其余三协议都在网络层。
网络安全:基本要求是保密性、完整、可用、可控、可核查。
安全威胁:物理、攻击、身份鉴别、编程威胁、系统漏洞。
防火墙:内外网边界上的过滤*机制。在网络层包过滤,在传输层提供端到端的加密,在应用层提供身份认证、加密、内容检查。分类:包过滤型、应用代理网关、状态检测技术防火墙。
多媒体
数据传输率b/s=采样频率Hz×量化位数b ×声道数
声音信号数据量Byte=数据传输率×时间/8
语音压缩方法:波形编码、参数编码、混合编码
音源即音乐合成器有两类:数字调频合成器、PCM波形合成器。
色彩三要素:亮度、色调、色饱和度。红+蓝=品红;绿+蓝=青。
光栅化即点阵化 将图形转成图像;
向量化即图形跟踪技术 将图像转图形
无损压缩即熵编码:行程长度编码RLE、增量调制DME、霍夫曼编码。JPEG2000压缩算法:小波变换算法(有损)、离散余玄变换(无损)Mpeg4多媒体应用接口、Mpeg7内容描述接口
Gif采用LZW无损压缩算法、PNG用LZ77无损压算、
PAL 帧频25 场扫描频率50 行帧625 每场扫描625/2 分辨率352*288
电影每秒24次,电脑30帧/秒速度刷新
CCIR601标准:色度信号采样4:2:2 采样频率13.5MHZ 每点8位数字化 亮度220级色度225级
Mpeg1压缩后码率1.5Mb/s; Mpeg2(HDTV 80Mb/s);Mpeg4最低64Kb/s
流媒体:建立在UDP协议上的实时传输协议和实时流协议RTP/RTSP。通过MIME识别格式。
流媒体发布文件RAM、ASX;流式文件格式RM、RA RP RT ASF ASX
软件工程
软件生存周期:计划、需求、设计、编码、测试、运维。
软件开发模型:
瀑布(缺乏灵活性、导致完成后才发现错误)、
演化模型(适合需求不明确的情况)、
螺旋模型(制定计划、风险分析、实施、客户评估、循环)、
喷泉模型(用于描述面向对象的开发过程,体现的迭代和无间隙特点)
需求分析 任务是解决功能、性能、数据、界面(输入出数据)的要求。成本估算模型有普特南模型和构造性成本模型。风险分析关注三方面:关心未来、关心变化、关心选择。风险评估的三个参照:成本、进度、性能。进度管理常用的描述方法:甘特Gantt图(清晰反映任务起止及并行情况,不能反映依赖关系及关键所在)、计划评审技术PERT图(关键路径 松弛时间,但不能反映并行)。计算机软件工具CASE。软件过程能力评估CMM,软件过程七原理:按周期定计划实施、逐阶段确认、严格产品控制、使用现代程序设计、明确责任、用人少而精、不断改进开发过程。
软件能力成熟度模型CMM ISO/IEC 15504:通过创建规范的软件过程、软件管理过程、软件企业过程并使三者有机结合达到管理并控制软件产品的质量。
五个级别:①初始级;
②可重复级:焦点集中在软件管理过程上、成功依赖个人和管理层的支持(关键域是需求管理);
③定义级:对整个软件生命周期的管理和工程化都已实现标准化、项目组、团队;
④管理级:开始量化管理、实现度量标准化、强烈的群体工作意识(定量过程管理、软件质量管理);
⑤优化级:软件过程持续改进(预防缺陷、技术变更、过程变更管理)。
软件质量模型ISO/IEC 9126 :
功能性(适合、准确、互用、依从、安全)、
可靠性(成熟、容错、易恢复)、
易使用性(易理解、易学、易操作)、
效率(时间特性、资源特性)、
可维护性(易分析、易改变、稳定、易测试)、
可移植性(适应、易安装、一致、易替换)。
软件质量强调三点:能满足用户需求、软件应遵循标准开发准则、能满足某些隐形要求。
系统分析方法
结构化方法SA的分析结果包括:一套分层的数据流图DFD、一本数据字典(字典条目有:数据流、文件、数据项条目)、一组小说明(逻辑加工)和补充材料。
加工描述的逻辑方法:结构化语言、判定表、判定树。
系统分析报告的三个作用:描述系统逻辑模型,作为开发人员设计和实施的基础、用户和开发人员的协议和交流的基础、系统验收和评价的依据。
系统设计 两大步骤
①、总体设计即概要设计:任务分解、划分模块、确定模块功能及调用关系、决定模块界面即数据传递;
②、详细设计:代码设计、用户界面安全控制设计等。
系统设计的原则:抽象、模块化、信息隐蔽(能提高可修改性、可测试性、可移植性)、模块独立(高内聚低耦合)。
内聚低到高(偶然、逻辑、时间、过程、通信、顺序、功能);
耦合强到弱(内容、公共、控制、标记即传数据结构、数据、非直接耦合即无信息传递)。
结构化设计方法SD 信息流的两大类型:变换流(明显分为输入、加工、输出)、事务流(从事务中心辐射流出)。
面向数据结构的设计方法:Jackson图。
系统实施阶段的任务:购置安装硬件网络系统、软件准备、人力培训、数据准备、投入切换和试运行。
程序设计方法主要有:结构化方法、原型法、面向对象法。
系统测试
人工测试:即代码审查;
机器测试:只能发现症状无法定位,黑盒(功能测试 测试软件外部特征)、白盒(结构测试 测试对程序路径和过程测试 单元测试中用)。
测试步骤:
①、 单元测试:模块接口、数据结构、执行路径、出错处理、边界条件;(单元测试计划应该在详细设计阶段制定)
②、 组装测试即集成测试;(集成测试计划应该在概要设计阶段制定)
③、确认测试是软件测试的最后环节包括有效性(黑盒)、软件配置审查、验收测试;(确认测试计划应该在需求分析阶段制定)
④、系统测试 主要内容:恢复测试、安全性测、强调(压力)测、性能测试、可靠性测试、安装测试。
可维护性的评价指标:可理解性、可测试性、可修改性。
维护的内容:正确性维护、适应性、完善性、预防性维护。
审计在三个层次上设定:语句、特权、对象审计。
标准化知识
国际标准化组织ISO和IEC。统一是标准化的本质,目的是建立最佳秩序和获得最佳效益。标准复审(5年次)要确保其有效性、先进性、适用性。按性质分类:技术标准、管理标准、工作标准。采用国际和国外先进标准的方法:认可法、封面法、完全重印法、翻译法、重新制定法、包括引用法。采用程度:等同idt、等效eqv、非等效采用neq。标准化条码EAN,共有13位:3位前缀表示国家、4位厂商代码、5位商品代码、1位效验码。
ISO9000:是质量管理和质量保证的标准,按照全面质量管理的PDCA模式工作。ISO9000:2000现有13项标准,有4个核心标准(基础和术语 用概念图描述、要求、业绩改进指南、审核指南)。标准确认的8项原则:以顾客为中心、领导作用、全员参与、过程方法(4大过程即管理职责、资源管理、产品实现、测量分析和改进)、管理的系统方法、持续改进、基于实事的决策方法、互利的供求关系。
知识产权知识
《民法通则》保护。知识产权分为两类工业产权和著作权。特点:无形性、双重性、确认性、独占性、地域性、时间性(专利20年,实用新型和外观10年,到期前6个月展期10年)。
《计算机软件保护条例》受保护的软件的条件:独立创作、可被感知、逻辑合理。
软件著作权保护期50年。
软件著作权法律:民事责任(侵犯著作权 发表改名),行政责任(复制销售删改转让等),刑事责任。
《反不正当竞争法》商业秘密。
7 个解决方案
#1
常用算法
算法的五特性:有穷性、确定性、可行性、输入、输出
好的算法的目标:正确性、可读、健壮、效率与低存储需求
迭代法:求方程近似根。
穷举搜索法。
递推法。
递归法:执行过程分递推和回归两阶段 背包问题。
回溯法即试探法。
贪心法:不求最优但求快速有解,哈夫曼算法 装箱问题 马的遍历。
分治法:大问题分成小问题解决 快速排序 比赛日程。
动态规划法:求两字符串中最长公共字符序列。
面向对象技术
面向对象=对象+分类+继承+通过消息的通讯。
对象有对象名(标识)、属性和操作(方法)组成。对象是类的实例。类解决数据保护问题,继承是父子共享数据和方法的机制。
多态:是不同对象收到同一消息产生不同结果。通用多态有参数多态(最纯的、类属),包含多态(子类型化);特定多态有过载多态(同一变量被用来表示不同功能)、强制多态。
好的OOP必须支持:被封装的对象、类和实例的概念、继承性、多态。程序设计的发展:过程程序设计、模块化、函数、逻辑、面向对象。
面向对象的好处:对象技术解决了产品质量和生产率间的平衡;继承机制使系统具有很高的灵活性和易扩充性;面向对象是一个能管理复杂性并增强伸缩性的工具;从概念模型化到分析设计编码可以无缝传递;封装有助于建立安全的系统。
面向对象的概念:对象、类、方法、实例变量、消息、子类、继承
类的访问控制符:Private类内 Protected类及友元 Public
消息传递机制和对象自身引用将方法与特定的对象动态地联系在一起,使得不同对象在执行同样的方法体时,可因对象的状态不同而产生不同的行为,从而使方法对具体地对象具有个性。
衡量开发人员:能否最好地发挥已有类库地优点、将已有类库与新问题紧密匹配地能力、不得不另外编写地代码最少。
面向对象分析方法OOA:将数据和功能合在一起考虑,把系统地行为和信息间地关系表示为迭代构造特征。五个活动:认识对象、组织对象、对象间地相互作用、基于对象地操作。
面向对象设计OOD:设计分析模型和实现源代码。构件是功能和数据的封装。
面向对象测试:单元测试-综合测试-系统测试;算法层-类层-模板层-系统层。常采用回归测试和自动测试。
面向对象的分析和设计方法:
1)Peter Coad的OOA模型的五个层次:主题层、对象类层、结构层、属性层、服务层;两种结构分类结构(一般和特殊)和组装结构(整体和部分)。OOD的四个活动:设计问题域部件、设计人机交互部件、设计任务管理部件、设计数据管理部件。
2)Booch 的OOD:认为软件开发是螺旋的,每个周期包括标识类和对象、确定他们的含义、标识他们的关系、说明每一个类的界面和实现。
3)对象建模技术OMT:三个模型即对象模型(链和关联、泛化、聚集、模块)、动态模型(与时间和操作顺序有关的特征,用状态图表示)、功能模型(描述与值变换有关的特征 用数据流图表示)。
4)统一建模语UML:
UML三要素(UML的基本构造块、支配这些构造块如何存放的规则、运用与整个语言的一些公共机制)。三种构造块(事物、关系、图)。
四种事务:结构事物(静态部分类 接口 协作 用例 主动类 构件 结点)、行为事物(交互和状态机)、分组事物(包 是概念性的仅在开发时存在)、注释事物。
四种关系:依赖(事物间语义关系)、关联(结构关系)、聚集(特殊的关联 整体和部分)、泛化(一般和特殊)、实现(类元之间的语义关系)。
五类9种图:①用例图(用户角度描述系统功能,用于对系统的语境和需求建模)、②静态图(类图、对象图;定义类之间关系和类内结构)、③行为图(状态图由状态转换事件和活动组成;活动图用于工作流建模和对操作建模)、④交互图(顺序图 合作图:描述对象间的交互关系)、⑤实现图(构件图:描述代码部件的物理结构及各部件之间的关系; 配置图即部署图:定义系统中软硬件关系。)
数据结构
栈:先进后出;队列:尾进头出 循环对列F=(R+1+Memory_Length) mod M
串:(主串n 模式串m)朴素的模式匹配算法即布鲁特-福斯算法:最好情况平均比较次数=(n+m)/2 最坏=m(n+m)/2
二叉树:
性质1、i层至多2i-1个结点;
性质2、深度为k的二叉树最多2k-1个结点;
性质3、具有n个结点的完全二叉树的深度为└ log2n ┘ + 1;
森林和树的转换利用树的孩子兄弟表示法。哈夫曼树即最优二叉树,是带权路径最短的树。
图:
N个顶点的无向完全图有n(n-1)/2条边;
任何图的边=顶点总度数/2;
连通图是指无向图任两顶点连通,最大的连通子图叫连通分量;
生成树是极小连通图;
n个顶点e条边的无向图的邻接链表需要n个头结点和2e个表结点。
求最小生成树有普里姆算法prim和克鲁斯卡尔算法Kruskal;
AOV网:工程可行性;AOV的拓扑排序(选入度为0的输出、删)
AOE网:工程需时和关键活动;关键路径是最长路径。
最短路径:迪杰斯特拉算法
查找:
①、顺序查找平均查找次数ASL=(n+1)/2;
②、折半ASL=(n+1)/2 * log2(n+1) -1 ;
③、分块(s是每块的个数)块内块间都顺序ASL=(n/s + s )/2 +1 块内顺序块间折半ASL= log2(n/s+1) + s/2
二叉排序树即二叉查找树 左小于右;平衡二叉树AVL树左右深度差不超过一;m阶B-树 根至少有两棵子树其他非叶至少有m/2进位取整棵
哈希表 散列表:构造方法有直接定址法、数字分析法、平均取中法、折叠法、随机数法、除留余数法;冲突处理方法有开放地址法、链地址法、再哈希法、建公共溢出区法;装填因子=表中记录数/哈希表长度。
排序:堆排序 建堆从最后一个非叶开始(一直往下)一个个往前筛选。
(1)、直接插入 好O(n) 均O(n2) 坏O(n2) 辅O(1) 稳定
(2)、直接选择 O(n2) O(n2) O(n2) O(1) 不稳
(3)、冒泡排序 O(n) O(n2) O(n2) O(1) 稳定
(4)、希尔排序 ――― O(n1.25) 不稳 缩小增量排序
(5)、快速排序 O(nlogn) O(nlogn) O(n2) O(nlogn)不稳后往前找小交换
(6)、堆排序 O(nlogn) O(nlogn) O(nlogn) O(1) 不稳
(7)、归并排序 O(nlogn) O(nlogn)O(nlogn) O(1) 稳定 两两排序归并
(8)、基数排序 O(d(n+rd))O(d(n+rd))O(d(n+rd))O(rd) 稳定r=10,d位数
操作系统
四个特征:并发、共享、虚拟性、不确定性。
五大管理功能:进程、文件、存储、设备、作业管理。
三态模型:运行、就绪、阻塞。
操作系统内核包含支撑功能(中断处理、时钟管理、原语操作)、资源管理功能(进程、存储、设备管理)。
引起阻塞的原因:启动某个IO操作、新数据尚未到底、无新工作可作。
互斥临界区的管理原则:有空则进、无空等待、有限等待、让权等待。
信号量机制有整型信号量、记录型、信号量集机制。
公用信号量:实现互斥,等于临界资源数目;
私用信号量实现同步。P(-1)V(+1)。
进程的高级原语通信的类型有:共享存储系统、消息传递系统、管道通信。管程实现同步机制的基础是条件结构。
进程调度:三级调度 高级调度(长调度、作业调度、接纳调度)、中级调度(对换调度)、低级调度(进程调度)。
调度方式:先来先服务、时间片轮转、优先级调度、多级反馈调度算法。
优先级的确定:I/O型最高优先级、计算型进程 减少调度次数、主要是CPU处理的进程、为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时降低优先级。
死锁产生的原因:资源竞争及进程推进顺序非法。
产生死锁的四个必要条件:互斥条件、请求保持、不可剥夺条件、环路条件。
死锁的处理:鸵鸟政策、预防政策(静态分配法、资源有序分配法)、避免政策(安全状态和银行家算法)、检测与解除死锁。
线程也称为轻型进程:目的是提高系统内程序并发程度、提高吞吐量。
线程作为调度和分配的基本单位,基本不拥有资源;
进程作为独立分配资源的单位。
线程可以创建线程,同一进程有多个线程。
存储管理的功能:主存的分配和回收、提高主存的利用率、存储保护、主存扩充。
可变分区的四种算法:最佳适应(保留最大空白区)、最差适应(不易产生碎片)、首次适应(最易合并相邻空白区)、循环首次适应。解决碎片的方法是拼接即紧凑。
地址重定位是逻辑地址被转成主存物理地址的过程。可重定位分区是解决碎片问题的简单有效的方法。
分页存储管理:页表的作用是实现从页号到物理块号的地址映射。地址变换机构的基本任务是利用页表把用户程序中的逻辑地址变换成主存中的物理地址。
快表:硬件实现,有一组联想高速存储器组成。两级页表机制:外层页表即页目录存放页表的物理地址,内层页表页的物理块号。
分段存储管理:便于编程、分段共享、分段保护、动态链接、动态增长。段页式存储管理。
虚拟存储管理:根据程序运行局部性原理,具有请求调入和置换功能;特征:离散性、多次性、对换性、虚拟性。请求分页的硬件支持:缺页中断特点:在指令执行期间产生和处理(一般中断在后)、返回时回到该指令的开始重新执行该指令(一般中断回到下一条)、一条指令可产生多次缺页中断。虚拟存储的页面置换算法 减少抖动颠簸:最佳置换、先进先出FIFO、最近最久未使用LRU、最近未用算法NUR。
工作集:驻留内存,是进程集合。
设备管理:目标提高设备利用率。
I/O系统组成:设备、控制器、通道、总线、I/O软件。
块设备(磁盘):传输率高、可寻址、DMA方式。
字符设备(终端、打印机):传输率低、不可寻址、中断方式。中速(各种打印机)高速设备(磁带磁盘光盘)。
设备管理的主要技术:中断技术、DMA、通道、缓冲技术。
I/O软件的目的是设备独立性和统一命名。分四层:中断处理程序、设备驱动程序、与设备无关的系统软件(功能统一接口、设备命名、保护、缓冲、错误处理、存储分配释放)、用户级软件(I/O调用、格式化I/O、Spooling)。
通道:目的是使数据独立于CPU。字节多路通道、数组选择通道、数组多路通道。
DMA技术:指主存与I/O设备间直接成块传送,只需CPU启动信号,不需CPU干涉。
缓冲技术:目的提高外设利用率,解决CPU与IO速度不匹配、减少中断频率放宽中断相应时间的限制、提高CPU与IO的并行。Spooling假脱机技术使独占设备变成多台虚拟设备,由预输入程序、缓输出技术、井管理程序、输入输出井组成。磁盘调度目标是使平均寻道时间最短。
常见文件系统FAT32 NTFS HPFS VXT2 VFAT。文件控制块FCB是由基本信息(名、物理地址)、存取控制信息、使用信息组成。FCB的集合称为目录。磁盘分配表是外存空闲空间管理的数据结构。空闲空间管理方法有空闲区表、位示图、空闲块链、成组链接法。文件共享:硬链接ln 名 新名、软链接ls –s。
作业 由程序、数据、作业说明书组成。作业的四种状态:提交、后备、执行、完成。作业调度算法:先来先服务、短作业先服务、相应比高优先、优先级调度、均衡调度算法。
网络操作系统:有三类集中式、客户服务器模式、对等模式。常见:NT 、Unix、 SunOS、 Hpox、 aix、 linux。嵌入式操作系统:微型化、可定制、实时性、可靠性、易移植性(硬件抽象层HAL屏蔽了硬件平台的差异),常见:Win CE 、VxWorks、pSOS、 Palm OS 、C/OS-
Unix采用三级索引、四种寻址方式。文件系统布局:引导块、超级块、索引结点区、数据存储区。
进程控制语句:Fork创建、Exec执行、Exit结束、Signal相应事件、Kill发送软中断信号。进程调度采用动态优先数调度算法。采用分页式虚拟存储机制,二次机会页面替换算法。文件系统与设备驱动程序的接口通过设备开关表控制。正则表达式符号:.任意字符 *前一字符的多次出现 []选一个 ^否定 $行尾 \转义符 “”忽视特殊字符 \<字首匹配 \>字尾匹配。SHELL变量:IFS分割符 LOGNAME、$0本程序名 $#参数个数、$*所有位置参数、$@双引号内保持不变、$?上一命令的返回码、$$当前命令的进程、$!最近后台进程号、$-Shell标识位组成的字符串。
Win2000系统:用户态即目态只能执行特权指令,核心态即管态可执行任何指令并改变状态。四类进程:系统支持进程、服务进程、环境子系统、应用程序。子系统动态链接库是服务进程和应用进程和系统交互的凭借。NTFS使用64位簇进行索引。进程对象属性包括进程标识、资源访问令牌、进程的基本优先级。采用二级页表结构来转换物理地址和虚拟地址。IO设备虚拟界面,将所有读写数据看成送往虚拟文件的字节流。体系结构分三层:IO系统层、设备驱动层、硬件抽象层HAL。
算法的五特性:有穷性、确定性、可行性、输入、输出
好的算法的目标:正确性、可读、健壮、效率与低存储需求
迭代法:求方程近似根。
穷举搜索法。
递推法。
递归法:执行过程分递推和回归两阶段 背包问题。
回溯法即试探法。
贪心法:不求最优但求快速有解,哈夫曼算法 装箱问题 马的遍历。
分治法:大问题分成小问题解决 快速排序 比赛日程。
动态规划法:求两字符串中最长公共字符序列。
面向对象技术
面向对象=对象+分类+继承+通过消息的通讯。
对象有对象名(标识)、属性和操作(方法)组成。对象是类的实例。类解决数据保护问题,继承是父子共享数据和方法的机制。
多态:是不同对象收到同一消息产生不同结果。通用多态有参数多态(最纯的、类属),包含多态(子类型化);特定多态有过载多态(同一变量被用来表示不同功能)、强制多态。
好的OOP必须支持:被封装的对象、类和实例的概念、继承性、多态。程序设计的发展:过程程序设计、模块化、函数、逻辑、面向对象。
面向对象的好处:对象技术解决了产品质量和生产率间的平衡;继承机制使系统具有很高的灵活性和易扩充性;面向对象是一个能管理复杂性并增强伸缩性的工具;从概念模型化到分析设计编码可以无缝传递;封装有助于建立安全的系统。
面向对象的概念:对象、类、方法、实例变量、消息、子类、继承
类的访问控制符:Private类内 Protected类及友元 Public
消息传递机制和对象自身引用将方法与特定的对象动态地联系在一起,使得不同对象在执行同样的方法体时,可因对象的状态不同而产生不同的行为,从而使方法对具体地对象具有个性。
衡量开发人员:能否最好地发挥已有类库地优点、将已有类库与新问题紧密匹配地能力、不得不另外编写地代码最少。
面向对象分析方法OOA:将数据和功能合在一起考虑,把系统地行为和信息间地关系表示为迭代构造特征。五个活动:认识对象、组织对象、对象间地相互作用、基于对象地操作。
面向对象设计OOD:设计分析模型和实现源代码。构件是功能和数据的封装。
面向对象测试:单元测试-综合测试-系统测试;算法层-类层-模板层-系统层。常采用回归测试和自动测试。
面向对象的分析和设计方法:
1)Peter Coad的OOA模型的五个层次:主题层、对象类层、结构层、属性层、服务层;两种结构分类结构(一般和特殊)和组装结构(整体和部分)。OOD的四个活动:设计问题域部件、设计人机交互部件、设计任务管理部件、设计数据管理部件。
2)Booch 的OOD:认为软件开发是螺旋的,每个周期包括标识类和对象、确定他们的含义、标识他们的关系、说明每一个类的界面和实现。
3)对象建模技术OMT:三个模型即对象模型(链和关联、泛化、聚集、模块)、动态模型(与时间和操作顺序有关的特征,用状态图表示)、功能模型(描述与值变换有关的特征 用数据流图表示)。
4)统一建模语UML:
UML三要素(UML的基本构造块、支配这些构造块如何存放的规则、运用与整个语言的一些公共机制)。三种构造块(事物、关系、图)。
四种事务:结构事物(静态部分类 接口 协作 用例 主动类 构件 结点)、行为事物(交互和状态机)、分组事物(包 是概念性的仅在开发时存在)、注释事物。
四种关系:依赖(事物间语义关系)、关联(结构关系)、聚集(特殊的关联 整体和部分)、泛化(一般和特殊)、实现(类元之间的语义关系)。
五类9种图:①用例图(用户角度描述系统功能,用于对系统的语境和需求建模)、②静态图(类图、对象图;定义类之间关系和类内结构)、③行为图(状态图由状态转换事件和活动组成;活动图用于工作流建模和对操作建模)、④交互图(顺序图 合作图:描述对象间的交互关系)、⑤实现图(构件图:描述代码部件的物理结构及各部件之间的关系; 配置图即部署图:定义系统中软硬件关系。)
数据结构
栈:先进后出;队列:尾进头出 循环对列F=(R+1+Memory_Length) mod M
串:(主串n 模式串m)朴素的模式匹配算法即布鲁特-福斯算法:最好情况平均比较次数=(n+m)/2 最坏=m(n+m)/2
二叉树:
性质1、i层至多2i-1个结点;
性质2、深度为k的二叉树最多2k-1个结点;
性质3、具有n个结点的完全二叉树的深度为└ log2n ┘ + 1;
森林和树的转换利用树的孩子兄弟表示法。哈夫曼树即最优二叉树,是带权路径最短的树。
图:
N个顶点的无向完全图有n(n-1)/2条边;
任何图的边=顶点总度数/2;
连通图是指无向图任两顶点连通,最大的连通子图叫连通分量;
生成树是极小连通图;
n个顶点e条边的无向图的邻接链表需要n个头结点和2e个表结点。
求最小生成树有普里姆算法prim和克鲁斯卡尔算法Kruskal;
AOV网:工程可行性;AOV的拓扑排序(选入度为0的输出、删)
AOE网:工程需时和关键活动;关键路径是最长路径。
最短路径:迪杰斯特拉算法
查找:
①、顺序查找平均查找次数ASL=(n+1)/2;
②、折半ASL=(n+1)/2 * log2(n+1) -1 ;
③、分块(s是每块的个数)块内块间都顺序ASL=(n/s + s )/2 +1 块内顺序块间折半ASL= log2(n/s+1) + s/2
二叉排序树即二叉查找树 左小于右;平衡二叉树AVL树左右深度差不超过一;m阶B-树 根至少有两棵子树其他非叶至少有m/2进位取整棵
哈希表 散列表:构造方法有直接定址法、数字分析法、平均取中法、折叠法、随机数法、除留余数法;冲突处理方法有开放地址法、链地址法、再哈希法、建公共溢出区法;装填因子=表中记录数/哈希表长度。
排序:堆排序 建堆从最后一个非叶开始(一直往下)一个个往前筛选。
(1)、直接插入 好O(n) 均O(n2) 坏O(n2) 辅O(1) 稳定
(2)、直接选择 O(n2) O(n2) O(n2) O(1) 不稳
(3)、冒泡排序 O(n) O(n2) O(n2) O(1) 稳定
(4)、希尔排序 ――― O(n1.25) 不稳 缩小增量排序
(5)、快速排序 O(nlogn) O(nlogn) O(n2) O(nlogn)不稳后往前找小交换
(6)、堆排序 O(nlogn) O(nlogn) O(nlogn) O(1) 不稳
(7)、归并排序 O(nlogn) O(nlogn)O(nlogn) O(1) 稳定 两两排序归并
(8)、基数排序 O(d(n+rd))O(d(n+rd))O(d(n+rd))O(rd) 稳定r=10,d位数
操作系统
四个特征:并发、共享、虚拟性、不确定性。
五大管理功能:进程、文件、存储、设备、作业管理。
三态模型:运行、就绪、阻塞。
操作系统内核包含支撑功能(中断处理、时钟管理、原语操作)、资源管理功能(进程、存储、设备管理)。
引起阻塞的原因:启动某个IO操作、新数据尚未到底、无新工作可作。
互斥临界区的管理原则:有空则进、无空等待、有限等待、让权等待。
信号量机制有整型信号量、记录型、信号量集机制。
公用信号量:实现互斥,等于临界资源数目;
私用信号量实现同步。P(-1)V(+1)。
进程的高级原语通信的类型有:共享存储系统、消息传递系统、管道通信。管程实现同步机制的基础是条件结构。
进程调度:三级调度 高级调度(长调度、作业调度、接纳调度)、中级调度(对换调度)、低级调度(进程调度)。
调度方式:先来先服务、时间片轮转、优先级调度、多级反馈调度算法。
优先级的确定:I/O型最高优先级、计算型进程 减少调度次数、主要是CPU处理的进程、为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时降低优先级。
死锁产生的原因:资源竞争及进程推进顺序非法。
产生死锁的四个必要条件:互斥条件、请求保持、不可剥夺条件、环路条件。
死锁的处理:鸵鸟政策、预防政策(静态分配法、资源有序分配法)、避免政策(安全状态和银行家算法)、检测与解除死锁。
线程也称为轻型进程:目的是提高系统内程序并发程度、提高吞吐量。
线程作为调度和分配的基本单位,基本不拥有资源;
进程作为独立分配资源的单位。
线程可以创建线程,同一进程有多个线程。
存储管理的功能:主存的分配和回收、提高主存的利用率、存储保护、主存扩充。
可变分区的四种算法:最佳适应(保留最大空白区)、最差适应(不易产生碎片)、首次适应(最易合并相邻空白区)、循环首次适应。解决碎片的方法是拼接即紧凑。
地址重定位是逻辑地址被转成主存物理地址的过程。可重定位分区是解决碎片问题的简单有效的方法。
分页存储管理:页表的作用是实现从页号到物理块号的地址映射。地址变换机构的基本任务是利用页表把用户程序中的逻辑地址变换成主存中的物理地址。
快表:硬件实现,有一组联想高速存储器组成。两级页表机制:外层页表即页目录存放页表的物理地址,内层页表页的物理块号。
分段存储管理:便于编程、分段共享、分段保护、动态链接、动态增长。段页式存储管理。
虚拟存储管理:根据程序运行局部性原理,具有请求调入和置换功能;特征:离散性、多次性、对换性、虚拟性。请求分页的硬件支持:缺页中断特点:在指令执行期间产生和处理(一般中断在后)、返回时回到该指令的开始重新执行该指令(一般中断回到下一条)、一条指令可产生多次缺页中断。虚拟存储的页面置换算法 减少抖动颠簸:最佳置换、先进先出FIFO、最近最久未使用LRU、最近未用算法NUR。
工作集:驻留内存,是进程集合。
设备管理:目标提高设备利用率。
I/O系统组成:设备、控制器、通道、总线、I/O软件。
块设备(磁盘):传输率高、可寻址、DMA方式。
字符设备(终端、打印机):传输率低、不可寻址、中断方式。中速(各种打印机)高速设备(磁带磁盘光盘)。
设备管理的主要技术:中断技术、DMA、通道、缓冲技术。
I/O软件的目的是设备独立性和统一命名。分四层:中断处理程序、设备驱动程序、与设备无关的系统软件(功能统一接口、设备命名、保护、缓冲、错误处理、存储分配释放)、用户级软件(I/O调用、格式化I/O、Spooling)。
通道:目的是使数据独立于CPU。字节多路通道、数组选择通道、数组多路通道。
DMA技术:指主存与I/O设备间直接成块传送,只需CPU启动信号,不需CPU干涉。
缓冲技术:目的提高外设利用率,解决CPU与IO速度不匹配、减少中断频率放宽中断相应时间的限制、提高CPU与IO的并行。Spooling假脱机技术使独占设备变成多台虚拟设备,由预输入程序、缓输出技术、井管理程序、输入输出井组成。磁盘调度目标是使平均寻道时间最短。
常见文件系统FAT32 NTFS HPFS VXT2 VFAT。文件控制块FCB是由基本信息(名、物理地址)、存取控制信息、使用信息组成。FCB的集合称为目录。磁盘分配表是外存空闲空间管理的数据结构。空闲空间管理方法有空闲区表、位示图、空闲块链、成组链接法。文件共享:硬链接ln 名 新名、软链接ls –s。
作业 由程序、数据、作业说明书组成。作业的四种状态:提交、后备、执行、完成。作业调度算法:先来先服务、短作业先服务、相应比高优先、优先级调度、均衡调度算法。
网络操作系统:有三类集中式、客户服务器模式、对等模式。常见:NT 、Unix、 SunOS、 Hpox、 aix、 linux。嵌入式操作系统:微型化、可定制、实时性、可靠性、易移植性(硬件抽象层HAL屏蔽了硬件平台的差异),常见:Win CE 、VxWorks、pSOS、 Palm OS 、C/OS-
Unix采用三级索引、四种寻址方式。文件系统布局:引导块、超级块、索引结点区、数据存储区。
进程控制语句:Fork创建、Exec执行、Exit结束、Signal相应事件、Kill发送软中断信号。进程调度采用动态优先数调度算法。采用分页式虚拟存储机制,二次机会页面替换算法。文件系统与设备驱动程序的接口通过设备开关表控制。正则表达式符号:.任意字符 *前一字符的多次出现 []选一个 ^否定 $行尾 \转义符 “”忽视特殊字符 \<字首匹配 \>字尾匹配。SHELL变量:IFS分割符 LOGNAME、$0本程序名 $#参数个数、$*所有位置参数、$@双引号内保持不变、$?上一命令的返回码、$$当前命令的进程、$!最近后台进程号、$-Shell标识位组成的字符串。
Win2000系统:用户态即目态只能执行特权指令,核心态即管态可执行任何指令并改变状态。四类进程:系统支持进程、服务进程、环境子系统、应用程序。子系统动态链接库是服务进程和应用进程和系统交互的凭借。NTFS使用64位簇进行索引。进程对象属性包括进程标识、资源访问令牌、进程的基本优先级。采用二级页表结构来转换物理地址和虚拟地址。IO设备虚拟界面,将所有读写数据看成送往虚拟文件的字节流。体系结构分三层:IO系统层、设备驱动层、硬件抽象层HAL。
#2
数据库
DBMS特点:①数据结构化且统一管理,②有较高的数据独立性,③数据控制功能:安全性、完整性、并发控制(带来的数据不一致性有三类:丢失更新、不可重复读、读脏数据)、故障恢复(事务内部故障、系统、介质、病毒)
三级模式:①、内模式 存储模式:数据物理格式存储方式描述、②、模式 概念模式:数据逻辑结构及联系描述、③、外模式即用户模式 子模式。
两级映射:模式到内模式(数据的物理独立性)、外模式到模式(数据的逻辑独立性)
目或度n:R上的n元关系,
元数:属性的个数,
基数:元组的个数记录数,
候选码:唯一标识一个元组,
主码:关键字,
主属性:全部候选码,
全码:所有属性都是候选码。
数据模型的三要素:数据结构、数据操作、数据的约束条件。
三类完整性约束条件:实体的(主属性不空)、参照的即引用的、用户定义的完整性
五个基本运算:1并∪、2-差、3 × 笛卡儿积 from、4投影п select、5选择σwhere
扩展运算:1交∩ R∩S=R-(R-S), 2连接◇, 3除
Create TABLE tbname(sno char(5) NOT NULL UNIQUE,
PRIMARY KEY(sno),UNIQUE(sno),
FOREIGN KEY(x) REFERENCES tbname(x) );
Alter TABLE tbname [ADD 列名 完整性约束条件]
[Drop 完整性约束名]
[MODIFY 列名 类型]
Create [UNIQUE][CLUSTER]INDEX idname ON tbname 列名ASC/DSC
Create VIEW viewname 列名 AS SELEC子句[WITH CHECK OPTION]
Select [ALL|DISTINCT]列表名 FROM tbname/vname Where [GROUP BY 列名 HAVING 条件表达式][ORDER BY 列名ASC/DESC]
Insert INTO tbname (字段名) VALUES(常量/查询子句)
Update tbname SET 列名=值(,,,) Where
GRANT <权限,,>ON<对象类型><对象名>TO用户WITH GRANT OPTION
REVOKE <权限,,> ON <对象类型><对象名> FROM 用户
grant all privileges on table tbname to user1
grant insert on table tbname to user2
grant createtab on database dbname to user3
revoke update(sno) on table tbname from user4
Select语句:
求选修了课程名J的姓名:select sname from s where sno IN select sno from sc where cno IN select cno from c where cname='J'
求不选C3课程的姓名:select sname from S where NOT EXISTS (select * from sc where sc.sno=s.sno and cno='C3')
求选修了全部课程的姓名:select sname from S where NOT EXISTS (select * from C where NOT EXISTS (select * from SC where sno=s.sno and cno=c.cno) )
求至少选修了学生S2所修课程的学生姓名:select DISTINCT SNO from SC x where NOT EXIST (select * from SC y where y.sno='s2' and NOT EXISTS ( select * from sc z ehere z.sno=x.sno and z.cno=y.cno))
求选修了C2课程的学生选修的其他课程号:select cno from SC x where CNO<>'c2' and SNO IN select SNO from sc y where y.cno='c2'
求定购了bid='123'图书的用户定购的其他图书(表orders orderlist):select bid from orderlist A where NOT exists (select * from orders B where A.orderbum=B.orderbum and B.cid NOT IN (select cid from orderlist C,orders D where D.cid='123' and c.ordernum=D.ordernum))
按学号给出每个学生选修课程的门数:select sno,count(CNO) from sc group by SNO
查某工程至少用了3家供应商供应零件的平均数(表S、P、J、SPJ)(三个实体一个联系):
select JNO,avg(QTY) avg(QTY)子句仅对分组JNO作计算
from SPJ
group by JNO
having count(distinct(SNO))>=3
order by JNO DESC
(查询某工程至少用了3家供应商(包含3家)供应的零件的平均数量,并按工程号的降序排列)
分组查询:
1、GROUP BY 子句 Select子句中使用的聚集操作符仅用在每个分组上。
2、HAVING子句 假如元组在分组前按照某种方式加上限制,使得不需要的分组为空,可以在GROUP BY 子句后面跟一个HAVING 子句即可。
规范化
1NT:没有表中表,
2NT消除了1NT中非主属性对码的部分函数依赖即每一个非主属性完全依赖于全部的码(X->Y即Y依赖X)、
3NT消除了非主属性对码传递依赖、BCNF消除了主属性对码的部分和传递依赖、
4NT表中没有多值依赖
事务的四个特征:原子性、一致性(数据不会因事务而破坏)、隔离性(事务独立运行)、持久性(事务一旦提交)。
BEGIN TRANSACTION ; COMMIT;ROLLBACK
并发控制的主要技术是*,三级*协议:1级可解决丢失更新问题;2级可解决读脏数据;3级防止丢失更新、不读脏数据、防不可重复读
建立冗余数据的方法是数据转储和登记日志文件。
DBMS特点:①数据结构化且统一管理,②有较高的数据独立性,③数据控制功能:安全性、完整性、并发控制(带来的数据不一致性有三类:丢失更新、不可重复读、读脏数据)、故障恢复(事务内部故障、系统、介质、病毒)
三级模式:①、内模式 存储模式:数据物理格式存储方式描述、②、模式 概念模式:数据逻辑结构及联系描述、③、外模式即用户模式 子模式。
两级映射:模式到内模式(数据的物理独立性)、外模式到模式(数据的逻辑独立性)
目或度n:R上的n元关系,
元数:属性的个数,
基数:元组的个数记录数,
候选码:唯一标识一个元组,
主码:关键字,
主属性:全部候选码,
全码:所有属性都是候选码。
数据模型的三要素:数据结构、数据操作、数据的约束条件。
三类完整性约束条件:实体的(主属性不空)、参照的即引用的、用户定义的完整性
五个基本运算:1并∪、2-差、3 × 笛卡儿积 from、4投影п select、5选择σwhere
扩展运算:1交∩ R∩S=R-(R-S), 2连接◇, 3除
Create TABLE tbname(sno char(5) NOT NULL UNIQUE,
PRIMARY KEY(sno),UNIQUE(sno),
FOREIGN KEY(x) REFERENCES tbname(x) );
Alter TABLE tbname [ADD 列名 完整性约束条件]
[Drop 完整性约束名]
[MODIFY 列名 类型]
Create [UNIQUE][CLUSTER]INDEX idname ON tbname 列名ASC/DSC
Create VIEW viewname 列名 AS SELEC子句[WITH CHECK OPTION]
Select [ALL|DISTINCT]列表名 FROM tbname/vname Where [GROUP BY 列名 HAVING 条件表达式][ORDER BY 列名ASC/DESC]
Insert INTO tbname (字段名) VALUES(常量/查询子句)
Update tbname SET 列名=值(,,,) Where
GRANT <权限,,>ON<对象类型><对象名>TO用户WITH GRANT OPTION
REVOKE <权限,,> ON <对象类型><对象名> FROM 用户
grant all privileges on table tbname to user1
grant insert on table tbname to user2
grant createtab on database dbname to user3
revoke update(sno) on table tbname from user4
Select语句:
求选修了课程名J的姓名:select sname from s where sno IN select sno from sc where cno IN select cno from c where cname='J'
求不选C3课程的姓名:select sname from S where NOT EXISTS (select * from sc where sc.sno=s.sno and cno='C3')
求选修了全部课程的姓名:select sname from S where NOT EXISTS (select * from C where NOT EXISTS (select * from SC where sno=s.sno and cno=c.cno) )
求至少选修了学生S2所修课程的学生姓名:select DISTINCT SNO from SC x where NOT EXIST (select * from SC y where y.sno='s2' and NOT EXISTS ( select * from sc z ehere z.sno=x.sno and z.cno=y.cno))
求选修了C2课程的学生选修的其他课程号:select cno from SC x where CNO<>'c2' and SNO IN select SNO from sc y where y.cno='c2'
求定购了bid='123'图书的用户定购的其他图书(表orders orderlist):select bid from orderlist A where NOT exists (select * from orders B where A.orderbum=B.orderbum and B.cid NOT IN (select cid from orderlist C,orders D where D.cid='123' and c.ordernum=D.ordernum))
按学号给出每个学生选修课程的门数:select sno,count(CNO) from sc group by SNO
查某工程至少用了3家供应商供应零件的平均数(表S、P、J、SPJ)(三个实体一个联系):
select JNO,avg(QTY) avg(QTY)子句仅对分组JNO作计算
from SPJ
group by JNO
having count(distinct(SNO))>=3
order by JNO DESC
(查询某工程至少用了3家供应商(包含3家)供应的零件的平均数量,并按工程号的降序排列)
分组查询:
1、GROUP BY 子句 Select子句中使用的聚集操作符仅用在每个分组上。
2、HAVING子句 假如元组在分组前按照某种方式加上限制,使得不需要的分组为空,可以在GROUP BY 子句后面跟一个HAVING 子句即可。
规范化
1NT:没有表中表,
2NT消除了1NT中非主属性对码的部分函数依赖即每一个非主属性完全依赖于全部的码(X->Y即Y依赖X)、
3NT消除了非主属性对码传递依赖、BCNF消除了主属性对码的部分和传递依赖、
4NT表中没有多值依赖
事务的四个特征:原子性、一致性(数据不会因事务而破坏)、隔离性(事务独立运行)、持久性(事务一旦提交)。
BEGIN TRANSACTION ; COMMIT;ROLLBACK
并发控制的主要技术是*,三级*协议:1级可解决丢失更新问题;2级可解决读脏数据;3级防止丢失更新、不读脏数据、防不可重复读
建立冗余数据的方法是数据转储和登记日志文件。
#3
楼主辛苦了,非常感谢,非常感谢!
#4
之前看过几次, 连考前看了一晚上,下午的差一分 真倒霉,这个应该不算难 中国学生考试都有一绝 我们班的看了一星期就过了
#5
考过两次,没怎么看书就去了。。第一次上午差一分,第2次还没看书,下午挂了...
之后再也没去过
之后再也没去过
#6
不会吧,这么宏大~~谢谢了楼主!
#7
谢谢楼主了
#1
常用算法
算法的五特性:有穷性、确定性、可行性、输入、输出
好的算法的目标:正确性、可读、健壮、效率与低存储需求
迭代法:求方程近似根。
穷举搜索法。
递推法。
递归法:执行过程分递推和回归两阶段 背包问题。
回溯法即试探法。
贪心法:不求最优但求快速有解,哈夫曼算法 装箱问题 马的遍历。
分治法:大问题分成小问题解决 快速排序 比赛日程。
动态规划法:求两字符串中最长公共字符序列。
面向对象技术
面向对象=对象+分类+继承+通过消息的通讯。
对象有对象名(标识)、属性和操作(方法)组成。对象是类的实例。类解决数据保护问题,继承是父子共享数据和方法的机制。
多态:是不同对象收到同一消息产生不同结果。通用多态有参数多态(最纯的、类属),包含多态(子类型化);特定多态有过载多态(同一变量被用来表示不同功能)、强制多态。
好的OOP必须支持:被封装的对象、类和实例的概念、继承性、多态。程序设计的发展:过程程序设计、模块化、函数、逻辑、面向对象。
面向对象的好处:对象技术解决了产品质量和生产率间的平衡;继承机制使系统具有很高的灵活性和易扩充性;面向对象是一个能管理复杂性并增强伸缩性的工具;从概念模型化到分析设计编码可以无缝传递;封装有助于建立安全的系统。
面向对象的概念:对象、类、方法、实例变量、消息、子类、继承
类的访问控制符:Private类内 Protected类及友元 Public
消息传递机制和对象自身引用将方法与特定的对象动态地联系在一起,使得不同对象在执行同样的方法体时,可因对象的状态不同而产生不同的行为,从而使方法对具体地对象具有个性。
衡量开发人员:能否最好地发挥已有类库地优点、将已有类库与新问题紧密匹配地能力、不得不另外编写地代码最少。
面向对象分析方法OOA:将数据和功能合在一起考虑,把系统地行为和信息间地关系表示为迭代构造特征。五个活动:认识对象、组织对象、对象间地相互作用、基于对象地操作。
面向对象设计OOD:设计分析模型和实现源代码。构件是功能和数据的封装。
面向对象测试:单元测试-综合测试-系统测试;算法层-类层-模板层-系统层。常采用回归测试和自动测试。
面向对象的分析和设计方法:
1)Peter Coad的OOA模型的五个层次:主题层、对象类层、结构层、属性层、服务层;两种结构分类结构(一般和特殊)和组装结构(整体和部分)。OOD的四个活动:设计问题域部件、设计人机交互部件、设计任务管理部件、设计数据管理部件。
2)Booch 的OOD:认为软件开发是螺旋的,每个周期包括标识类和对象、确定他们的含义、标识他们的关系、说明每一个类的界面和实现。
3)对象建模技术OMT:三个模型即对象模型(链和关联、泛化、聚集、模块)、动态模型(与时间和操作顺序有关的特征,用状态图表示)、功能模型(描述与值变换有关的特征 用数据流图表示)。
4)统一建模语UML:
UML三要素(UML的基本构造块、支配这些构造块如何存放的规则、运用与整个语言的一些公共机制)。三种构造块(事物、关系、图)。
四种事务:结构事物(静态部分类 接口 协作 用例 主动类 构件 结点)、行为事物(交互和状态机)、分组事物(包 是概念性的仅在开发时存在)、注释事物。
四种关系:依赖(事物间语义关系)、关联(结构关系)、聚集(特殊的关联 整体和部分)、泛化(一般和特殊)、实现(类元之间的语义关系)。
五类9种图:①用例图(用户角度描述系统功能,用于对系统的语境和需求建模)、②静态图(类图、对象图;定义类之间关系和类内结构)、③行为图(状态图由状态转换事件和活动组成;活动图用于工作流建模和对操作建模)、④交互图(顺序图 合作图:描述对象间的交互关系)、⑤实现图(构件图:描述代码部件的物理结构及各部件之间的关系; 配置图即部署图:定义系统中软硬件关系。)
数据结构
栈:先进后出;队列:尾进头出 循环对列F=(R+1+Memory_Length) mod M
串:(主串n 模式串m)朴素的模式匹配算法即布鲁特-福斯算法:最好情况平均比较次数=(n+m)/2 最坏=m(n+m)/2
二叉树:
性质1、i层至多2i-1个结点;
性质2、深度为k的二叉树最多2k-1个结点;
性质3、具有n个结点的完全二叉树的深度为└ log2n ┘ + 1;
森林和树的转换利用树的孩子兄弟表示法。哈夫曼树即最优二叉树,是带权路径最短的树。
图:
N个顶点的无向完全图有n(n-1)/2条边;
任何图的边=顶点总度数/2;
连通图是指无向图任两顶点连通,最大的连通子图叫连通分量;
生成树是极小连通图;
n个顶点e条边的无向图的邻接链表需要n个头结点和2e个表结点。
求最小生成树有普里姆算法prim和克鲁斯卡尔算法Kruskal;
AOV网:工程可行性;AOV的拓扑排序(选入度为0的输出、删)
AOE网:工程需时和关键活动;关键路径是最长路径。
最短路径:迪杰斯特拉算法
查找:
①、顺序查找平均查找次数ASL=(n+1)/2;
②、折半ASL=(n+1)/2 * log2(n+1) -1 ;
③、分块(s是每块的个数)块内块间都顺序ASL=(n/s + s )/2 +1 块内顺序块间折半ASL= log2(n/s+1) + s/2
二叉排序树即二叉查找树 左小于右;平衡二叉树AVL树左右深度差不超过一;m阶B-树 根至少有两棵子树其他非叶至少有m/2进位取整棵
哈希表 散列表:构造方法有直接定址法、数字分析法、平均取中法、折叠法、随机数法、除留余数法;冲突处理方法有开放地址法、链地址法、再哈希法、建公共溢出区法;装填因子=表中记录数/哈希表长度。
排序:堆排序 建堆从最后一个非叶开始(一直往下)一个个往前筛选。
(1)、直接插入 好O(n) 均O(n2) 坏O(n2) 辅O(1) 稳定
(2)、直接选择 O(n2) O(n2) O(n2) O(1) 不稳
(3)、冒泡排序 O(n) O(n2) O(n2) O(1) 稳定
(4)、希尔排序 ――― O(n1.25) 不稳 缩小增量排序
(5)、快速排序 O(nlogn) O(nlogn) O(n2) O(nlogn)不稳后往前找小交换
(6)、堆排序 O(nlogn) O(nlogn) O(nlogn) O(1) 不稳
(7)、归并排序 O(nlogn) O(nlogn)O(nlogn) O(1) 稳定 两两排序归并
(8)、基数排序 O(d(n+rd))O(d(n+rd))O(d(n+rd))O(rd) 稳定r=10,d位数
操作系统
四个特征:并发、共享、虚拟性、不确定性。
五大管理功能:进程、文件、存储、设备、作业管理。
三态模型:运行、就绪、阻塞。
操作系统内核包含支撑功能(中断处理、时钟管理、原语操作)、资源管理功能(进程、存储、设备管理)。
引起阻塞的原因:启动某个IO操作、新数据尚未到底、无新工作可作。
互斥临界区的管理原则:有空则进、无空等待、有限等待、让权等待。
信号量机制有整型信号量、记录型、信号量集机制。
公用信号量:实现互斥,等于临界资源数目;
私用信号量实现同步。P(-1)V(+1)。
进程的高级原语通信的类型有:共享存储系统、消息传递系统、管道通信。管程实现同步机制的基础是条件结构。
进程调度:三级调度 高级调度(长调度、作业调度、接纳调度)、中级调度(对换调度)、低级调度(进程调度)。
调度方式:先来先服务、时间片轮转、优先级调度、多级反馈调度算法。
优先级的确定:I/O型最高优先级、计算型进程 减少调度次数、主要是CPU处理的进程、为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时降低优先级。
死锁产生的原因:资源竞争及进程推进顺序非法。
产生死锁的四个必要条件:互斥条件、请求保持、不可剥夺条件、环路条件。
死锁的处理:鸵鸟政策、预防政策(静态分配法、资源有序分配法)、避免政策(安全状态和银行家算法)、检测与解除死锁。
线程也称为轻型进程:目的是提高系统内程序并发程度、提高吞吐量。
线程作为调度和分配的基本单位,基本不拥有资源;
进程作为独立分配资源的单位。
线程可以创建线程,同一进程有多个线程。
存储管理的功能:主存的分配和回收、提高主存的利用率、存储保护、主存扩充。
可变分区的四种算法:最佳适应(保留最大空白区)、最差适应(不易产生碎片)、首次适应(最易合并相邻空白区)、循环首次适应。解决碎片的方法是拼接即紧凑。
地址重定位是逻辑地址被转成主存物理地址的过程。可重定位分区是解决碎片问题的简单有效的方法。
分页存储管理:页表的作用是实现从页号到物理块号的地址映射。地址变换机构的基本任务是利用页表把用户程序中的逻辑地址变换成主存中的物理地址。
快表:硬件实现,有一组联想高速存储器组成。两级页表机制:外层页表即页目录存放页表的物理地址,内层页表页的物理块号。
分段存储管理:便于编程、分段共享、分段保护、动态链接、动态增长。段页式存储管理。
虚拟存储管理:根据程序运行局部性原理,具有请求调入和置换功能;特征:离散性、多次性、对换性、虚拟性。请求分页的硬件支持:缺页中断特点:在指令执行期间产生和处理(一般中断在后)、返回时回到该指令的开始重新执行该指令(一般中断回到下一条)、一条指令可产生多次缺页中断。虚拟存储的页面置换算法 减少抖动颠簸:最佳置换、先进先出FIFO、最近最久未使用LRU、最近未用算法NUR。
工作集:驻留内存,是进程集合。
设备管理:目标提高设备利用率。
I/O系统组成:设备、控制器、通道、总线、I/O软件。
块设备(磁盘):传输率高、可寻址、DMA方式。
字符设备(终端、打印机):传输率低、不可寻址、中断方式。中速(各种打印机)高速设备(磁带磁盘光盘)。
设备管理的主要技术:中断技术、DMA、通道、缓冲技术。
I/O软件的目的是设备独立性和统一命名。分四层:中断处理程序、设备驱动程序、与设备无关的系统软件(功能统一接口、设备命名、保护、缓冲、错误处理、存储分配释放)、用户级软件(I/O调用、格式化I/O、Spooling)。
通道:目的是使数据独立于CPU。字节多路通道、数组选择通道、数组多路通道。
DMA技术:指主存与I/O设备间直接成块传送,只需CPU启动信号,不需CPU干涉。
缓冲技术:目的提高外设利用率,解决CPU与IO速度不匹配、减少中断频率放宽中断相应时间的限制、提高CPU与IO的并行。Spooling假脱机技术使独占设备变成多台虚拟设备,由预输入程序、缓输出技术、井管理程序、输入输出井组成。磁盘调度目标是使平均寻道时间最短。
常见文件系统FAT32 NTFS HPFS VXT2 VFAT。文件控制块FCB是由基本信息(名、物理地址)、存取控制信息、使用信息组成。FCB的集合称为目录。磁盘分配表是外存空闲空间管理的数据结构。空闲空间管理方法有空闲区表、位示图、空闲块链、成组链接法。文件共享:硬链接ln 名 新名、软链接ls –s。
作业 由程序、数据、作业说明书组成。作业的四种状态:提交、后备、执行、完成。作业调度算法:先来先服务、短作业先服务、相应比高优先、优先级调度、均衡调度算法。
网络操作系统:有三类集中式、客户服务器模式、对等模式。常见:NT 、Unix、 SunOS、 Hpox、 aix、 linux。嵌入式操作系统:微型化、可定制、实时性、可靠性、易移植性(硬件抽象层HAL屏蔽了硬件平台的差异),常见:Win CE 、VxWorks、pSOS、 Palm OS 、C/OS-
Unix采用三级索引、四种寻址方式。文件系统布局:引导块、超级块、索引结点区、数据存储区。
进程控制语句:Fork创建、Exec执行、Exit结束、Signal相应事件、Kill发送软中断信号。进程调度采用动态优先数调度算法。采用分页式虚拟存储机制,二次机会页面替换算法。文件系统与设备驱动程序的接口通过设备开关表控制。正则表达式符号:.任意字符 *前一字符的多次出现 []选一个 ^否定 $行尾 \转义符 “”忽视特殊字符 \<字首匹配 \>字尾匹配。SHELL变量:IFS分割符 LOGNAME、$0本程序名 $#参数个数、$*所有位置参数、$@双引号内保持不变、$?上一命令的返回码、$$当前命令的进程、$!最近后台进程号、$-Shell标识位组成的字符串。
Win2000系统:用户态即目态只能执行特权指令,核心态即管态可执行任何指令并改变状态。四类进程:系统支持进程、服务进程、环境子系统、应用程序。子系统动态链接库是服务进程和应用进程和系统交互的凭借。NTFS使用64位簇进行索引。进程对象属性包括进程标识、资源访问令牌、进程的基本优先级。采用二级页表结构来转换物理地址和虚拟地址。IO设备虚拟界面,将所有读写数据看成送往虚拟文件的字节流。体系结构分三层:IO系统层、设备驱动层、硬件抽象层HAL。
算法的五特性:有穷性、确定性、可行性、输入、输出
好的算法的目标:正确性、可读、健壮、效率与低存储需求
迭代法:求方程近似根。
穷举搜索法。
递推法。
递归法:执行过程分递推和回归两阶段 背包问题。
回溯法即试探法。
贪心法:不求最优但求快速有解,哈夫曼算法 装箱问题 马的遍历。
分治法:大问题分成小问题解决 快速排序 比赛日程。
动态规划法:求两字符串中最长公共字符序列。
面向对象技术
面向对象=对象+分类+继承+通过消息的通讯。
对象有对象名(标识)、属性和操作(方法)组成。对象是类的实例。类解决数据保护问题,继承是父子共享数据和方法的机制。
多态:是不同对象收到同一消息产生不同结果。通用多态有参数多态(最纯的、类属),包含多态(子类型化);特定多态有过载多态(同一变量被用来表示不同功能)、强制多态。
好的OOP必须支持:被封装的对象、类和实例的概念、继承性、多态。程序设计的发展:过程程序设计、模块化、函数、逻辑、面向对象。
面向对象的好处:对象技术解决了产品质量和生产率间的平衡;继承机制使系统具有很高的灵活性和易扩充性;面向对象是一个能管理复杂性并增强伸缩性的工具;从概念模型化到分析设计编码可以无缝传递;封装有助于建立安全的系统。
面向对象的概念:对象、类、方法、实例变量、消息、子类、继承
类的访问控制符:Private类内 Protected类及友元 Public
消息传递机制和对象自身引用将方法与特定的对象动态地联系在一起,使得不同对象在执行同样的方法体时,可因对象的状态不同而产生不同的行为,从而使方法对具体地对象具有个性。
衡量开发人员:能否最好地发挥已有类库地优点、将已有类库与新问题紧密匹配地能力、不得不另外编写地代码最少。
面向对象分析方法OOA:将数据和功能合在一起考虑,把系统地行为和信息间地关系表示为迭代构造特征。五个活动:认识对象、组织对象、对象间地相互作用、基于对象地操作。
面向对象设计OOD:设计分析模型和实现源代码。构件是功能和数据的封装。
面向对象测试:单元测试-综合测试-系统测试;算法层-类层-模板层-系统层。常采用回归测试和自动测试。
面向对象的分析和设计方法:
1)Peter Coad的OOA模型的五个层次:主题层、对象类层、结构层、属性层、服务层;两种结构分类结构(一般和特殊)和组装结构(整体和部分)。OOD的四个活动:设计问题域部件、设计人机交互部件、设计任务管理部件、设计数据管理部件。
2)Booch 的OOD:认为软件开发是螺旋的,每个周期包括标识类和对象、确定他们的含义、标识他们的关系、说明每一个类的界面和实现。
3)对象建模技术OMT:三个模型即对象模型(链和关联、泛化、聚集、模块)、动态模型(与时间和操作顺序有关的特征,用状态图表示)、功能模型(描述与值变换有关的特征 用数据流图表示)。
4)统一建模语UML:
UML三要素(UML的基本构造块、支配这些构造块如何存放的规则、运用与整个语言的一些公共机制)。三种构造块(事物、关系、图)。
四种事务:结构事物(静态部分类 接口 协作 用例 主动类 构件 结点)、行为事物(交互和状态机)、分组事物(包 是概念性的仅在开发时存在)、注释事物。
四种关系:依赖(事物间语义关系)、关联(结构关系)、聚集(特殊的关联 整体和部分)、泛化(一般和特殊)、实现(类元之间的语义关系)。
五类9种图:①用例图(用户角度描述系统功能,用于对系统的语境和需求建模)、②静态图(类图、对象图;定义类之间关系和类内结构)、③行为图(状态图由状态转换事件和活动组成;活动图用于工作流建模和对操作建模)、④交互图(顺序图 合作图:描述对象间的交互关系)、⑤实现图(构件图:描述代码部件的物理结构及各部件之间的关系; 配置图即部署图:定义系统中软硬件关系。)
数据结构
栈:先进后出;队列:尾进头出 循环对列F=(R+1+Memory_Length) mod M
串:(主串n 模式串m)朴素的模式匹配算法即布鲁特-福斯算法:最好情况平均比较次数=(n+m)/2 最坏=m(n+m)/2
二叉树:
性质1、i层至多2i-1个结点;
性质2、深度为k的二叉树最多2k-1个结点;
性质3、具有n个结点的完全二叉树的深度为└ log2n ┘ + 1;
森林和树的转换利用树的孩子兄弟表示法。哈夫曼树即最优二叉树,是带权路径最短的树。
图:
N个顶点的无向完全图有n(n-1)/2条边;
任何图的边=顶点总度数/2;
连通图是指无向图任两顶点连通,最大的连通子图叫连通分量;
生成树是极小连通图;
n个顶点e条边的无向图的邻接链表需要n个头结点和2e个表结点。
求最小生成树有普里姆算法prim和克鲁斯卡尔算法Kruskal;
AOV网:工程可行性;AOV的拓扑排序(选入度为0的输出、删)
AOE网:工程需时和关键活动;关键路径是最长路径。
最短路径:迪杰斯特拉算法
查找:
①、顺序查找平均查找次数ASL=(n+1)/2;
②、折半ASL=(n+1)/2 * log2(n+1) -1 ;
③、分块(s是每块的个数)块内块间都顺序ASL=(n/s + s )/2 +1 块内顺序块间折半ASL= log2(n/s+1) + s/2
二叉排序树即二叉查找树 左小于右;平衡二叉树AVL树左右深度差不超过一;m阶B-树 根至少有两棵子树其他非叶至少有m/2进位取整棵
哈希表 散列表:构造方法有直接定址法、数字分析法、平均取中法、折叠法、随机数法、除留余数法;冲突处理方法有开放地址法、链地址法、再哈希法、建公共溢出区法;装填因子=表中记录数/哈希表长度。
排序:堆排序 建堆从最后一个非叶开始(一直往下)一个个往前筛选。
(1)、直接插入 好O(n) 均O(n2) 坏O(n2) 辅O(1) 稳定
(2)、直接选择 O(n2) O(n2) O(n2) O(1) 不稳
(3)、冒泡排序 O(n) O(n2) O(n2) O(1) 稳定
(4)、希尔排序 ――― O(n1.25) 不稳 缩小增量排序
(5)、快速排序 O(nlogn) O(nlogn) O(n2) O(nlogn)不稳后往前找小交换
(6)、堆排序 O(nlogn) O(nlogn) O(nlogn) O(1) 不稳
(7)、归并排序 O(nlogn) O(nlogn)O(nlogn) O(1) 稳定 两两排序归并
(8)、基数排序 O(d(n+rd))O(d(n+rd))O(d(n+rd))O(rd) 稳定r=10,d位数
操作系统
四个特征:并发、共享、虚拟性、不确定性。
五大管理功能:进程、文件、存储、设备、作业管理。
三态模型:运行、就绪、阻塞。
操作系统内核包含支撑功能(中断处理、时钟管理、原语操作)、资源管理功能(进程、存储、设备管理)。
引起阻塞的原因:启动某个IO操作、新数据尚未到底、无新工作可作。
互斥临界区的管理原则:有空则进、无空等待、有限等待、让权等待。
信号量机制有整型信号量、记录型、信号量集机制。
公用信号量:实现互斥,等于临界资源数目;
私用信号量实现同步。P(-1)V(+1)。
进程的高级原语通信的类型有:共享存储系统、消息传递系统、管道通信。管程实现同步机制的基础是条件结构。
进程调度:三级调度 高级调度(长调度、作业调度、接纳调度)、中级调度(对换调度)、低级调度(进程调度)。
调度方式:先来先服务、时间片轮转、优先级调度、多级反馈调度算法。
优先级的确定:I/O型最高优先级、计算型进程 减少调度次数、主要是CPU处理的进程、为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时降低优先级。
死锁产生的原因:资源竞争及进程推进顺序非法。
产生死锁的四个必要条件:互斥条件、请求保持、不可剥夺条件、环路条件。
死锁的处理:鸵鸟政策、预防政策(静态分配法、资源有序分配法)、避免政策(安全状态和银行家算法)、检测与解除死锁。
线程也称为轻型进程:目的是提高系统内程序并发程度、提高吞吐量。
线程作为调度和分配的基本单位,基本不拥有资源;
进程作为独立分配资源的单位。
线程可以创建线程,同一进程有多个线程。
存储管理的功能:主存的分配和回收、提高主存的利用率、存储保护、主存扩充。
可变分区的四种算法:最佳适应(保留最大空白区)、最差适应(不易产生碎片)、首次适应(最易合并相邻空白区)、循环首次适应。解决碎片的方法是拼接即紧凑。
地址重定位是逻辑地址被转成主存物理地址的过程。可重定位分区是解决碎片问题的简单有效的方法。
分页存储管理:页表的作用是实现从页号到物理块号的地址映射。地址变换机构的基本任务是利用页表把用户程序中的逻辑地址变换成主存中的物理地址。
快表:硬件实现,有一组联想高速存储器组成。两级页表机制:外层页表即页目录存放页表的物理地址,内层页表页的物理块号。
分段存储管理:便于编程、分段共享、分段保护、动态链接、动态增长。段页式存储管理。
虚拟存储管理:根据程序运行局部性原理,具有请求调入和置换功能;特征:离散性、多次性、对换性、虚拟性。请求分页的硬件支持:缺页中断特点:在指令执行期间产生和处理(一般中断在后)、返回时回到该指令的开始重新执行该指令(一般中断回到下一条)、一条指令可产生多次缺页中断。虚拟存储的页面置换算法 减少抖动颠簸:最佳置换、先进先出FIFO、最近最久未使用LRU、最近未用算法NUR。
工作集:驻留内存,是进程集合。
设备管理:目标提高设备利用率。
I/O系统组成:设备、控制器、通道、总线、I/O软件。
块设备(磁盘):传输率高、可寻址、DMA方式。
字符设备(终端、打印机):传输率低、不可寻址、中断方式。中速(各种打印机)高速设备(磁带磁盘光盘)。
设备管理的主要技术:中断技术、DMA、通道、缓冲技术。
I/O软件的目的是设备独立性和统一命名。分四层:中断处理程序、设备驱动程序、与设备无关的系统软件(功能统一接口、设备命名、保护、缓冲、错误处理、存储分配释放)、用户级软件(I/O调用、格式化I/O、Spooling)。
通道:目的是使数据独立于CPU。字节多路通道、数组选择通道、数组多路通道。
DMA技术:指主存与I/O设备间直接成块传送,只需CPU启动信号,不需CPU干涉。
缓冲技术:目的提高外设利用率,解决CPU与IO速度不匹配、减少中断频率放宽中断相应时间的限制、提高CPU与IO的并行。Spooling假脱机技术使独占设备变成多台虚拟设备,由预输入程序、缓输出技术、井管理程序、输入输出井组成。磁盘调度目标是使平均寻道时间最短。
常见文件系统FAT32 NTFS HPFS VXT2 VFAT。文件控制块FCB是由基本信息(名、物理地址)、存取控制信息、使用信息组成。FCB的集合称为目录。磁盘分配表是外存空闲空间管理的数据结构。空闲空间管理方法有空闲区表、位示图、空闲块链、成组链接法。文件共享:硬链接ln 名 新名、软链接ls –s。
作业 由程序、数据、作业说明书组成。作业的四种状态:提交、后备、执行、完成。作业调度算法:先来先服务、短作业先服务、相应比高优先、优先级调度、均衡调度算法。
网络操作系统:有三类集中式、客户服务器模式、对等模式。常见:NT 、Unix、 SunOS、 Hpox、 aix、 linux。嵌入式操作系统:微型化、可定制、实时性、可靠性、易移植性(硬件抽象层HAL屏蔽了硬件平台的差异),常见:Win CE 、VxWorks、pSOS、 Palm OS 、C/OS-
Unix采用三级索引、四种寻址方式。文件系统布局:引导块、超级块、索引结点区、数据存储区。
进程控制语句:Fork创建、Exec执行、Exit结束、Signal相应事件、Kill发送软中断信号。进程调度采用动态优先数调度算法。采用分页式虚拟存储机制,二次机会页面替换算法。文件系统与设备驱动程序的接口通过设备开关表控制。正则表达式符号:.任意字符 *前一字符的多次出现 []选一个 ^否定 $行尾 \转义符 “”忽视特殊字符 \<字首匹配 \>字尾匹配。SHELL变量:IFS分割符 LOGNAME、$0本程序名 $#参数个数、$*所有位置参数、$@双引号内保持不变、$?上一命令的返回码、$$当前命令的进程、$!最近后台进程号、$-Shell标识位组成的字符串。
Win2000系统:用户态即目态只能执行特权指令,核心态即管态可执行任何指令并改变状态。四类进程:系统支持进程、服务进程、环境子系统、应用程序。子系统动态链接库是服务进程和应用进程和系统交互的凭借。NTFS使用64位簇进行索引。进程对象属性包括进程标识、资源访问令牌、进程的基本优先级。采用二级页表结构来转换物理地址和虚拟地址。IO设备虚拟界面,将所有读写数据看成送往虚拟文件的字节流。体系结构分三层:IO系统层、设备驱动层、硬件抽象层HAL。
#2
数据库
DBMS特点:①数据结构化且统一管理,②有较高的数据独立性,③数据控制功能:安全性、完整性、并发控制(带来的数据不一致性有三类:丢失更新、不可重复读、读脏数据)、故障恢复(事务内部故障、系统、介质、病毒)
三级模式:①、内模式 存储模式:数据物理格式存储方式描述、②、模式 概念模式:数据逻辑结构及联系描述、③、外模式即用户模式 子模式。
两级映射:模式到内模式(数据的物理独立性)、外模式到模式(数据的逻辑独立性)
目或度n:R上的n元关系,
元数:属性的个数,
基数:元组的个数记录数,
候选码:唯一标识一个元组,
主码:关键字,
主属性:全部候选码,
全码:所有属性都是候选码。
数据模型的三要素:数据结构、数据操作、数据的约束条件。
三类完整性约束条件:实体的(主属性不空)、参照的即引用的、用户定义的完整性
五个基本运算:1并∪、2-差、3 × 笛卡儿积 from、4投影п select、5选择σwhere
扩展运算:1交∩ R∩S=R-(R-S), 2连接◇, 3除
Create TABLE tbname(sno char(5) NOT NULL UNIQUE,
PRIMARY KEY(sno),UNIQUE(sno),
FOREIGN KEY(x) REFERENCES tbname(x) );
Alter TABLE tbname [ADD 列名 完整性约束条件]
[Drop 完整性约束名]
[MODIFY 列名 类型]
Create [UNIQUE][CLUSTER]INDEX idname ON tbname 列名ASC/DSC
Create VIEW viewname 列名 AS SELEC子句[WITH CHECK OPTION]
Select [ALL|DISTINCT]列表名 FROM tbname/vname Where [GROUP BY 列名 HAVING 条件表达式][ORDER BY 列名ASC/DESC]
Insert INTO tbname (字段名) VALUES(常量/查询子句)
Update tbname SET 列名=值(,,,) Where
GRANT <权限,,>ON<对象类型><对象名>TO用户WITH GRANT OPTION
REVOKE <权限,,> ON <对象类型><对象名> FROM 用户
grant all privileges on table tbname to user1
grant insert on table tbname to user2
grant createtab on database dbname to user3
revoke update(sno) on table tbname from user4
Select语句:
求选修了课程名J的姓名:select sname from s where sno IN select sno from sc where cno IN select cno from c where cname='J'
求不选C3课程的姓名:select sname from S where NOT EXISTS (select * from sc where sc.sno=s.sno and cno='C3')
求选修了全部课程的姓名:select sname from S where NOT EXISTS (select * from C where NOT EXISTS (select * from SC where sno=s.sno and cno=c.cno) )
求至少选修了学生S2所修课程的学生姓名:select DISTINCT SNO from SC x where NOT EXIST (select * from SC y where y.sno='s2' and NOT EXISTS ( select * from sc z ehere z.sno=x.sno and z.cno=y.cno))
求选修了C2课程的学生选修的其他课程号:select cno from SC x where CNO<>'c2' and SNO IN select SNO from sc y where y.cno='c2'
求定购了bid='123'图书的用户定购的其他图书(表orders orderlist):select bid from orderlist A where NOT exists (select * from orders B where A.orderbum=B.orderbum and B.cid NOT IN (select cid from orderlist C,orders D where D.cid='123' and c.ordernum=D.ordernum))
按学号给出每个学生选修课程的门数:select sno,count(CNO) from sc group by SNO
查某工程至少用了3家供应商供应零件的平均数(表S、P、J、SPJ)(三个实体一个联系):
select JNO,avg(QTY) avg(QTY)子句仅对分组JNO作计算
from SPJ
group by JNO
having count(distinct(SNO))>=3
order by JNO DESC
(查询某工程至少用了3家供应商(包含3家)供应的零件的平均数量,并按工程号的降序排列)
分组查询:
1、GROUP BY 子句 Select子句中使用的聚集操作符仅用在每个分组上。
2、HAVING子句 假如元组在分组前按照某种方式加上限制,使得不需要的分组为空,可以在GROUP BY 子句后面跟一个HAVING 子句即可。
规范化
1NT:没有表中表,
2NT消除了1NT中非主属性对码的部分函数依赖即每一个非主属性完全依赖于全部的码(X->Y即Y依赖X)、
3NT消除了非主属性对码传递依赖、BCNF消除了主属性对码的部分和传递依赖、
4NT表中没有多值依赖
事务的四个特征:原子性、一致性(数据不会因事务而破坏)、隔离性(事务独立运行)、持久性(事务一旦提交)。
BEGIN TRANSACTION ; COMMIT;ROLLBACK
并发控制的主要技术是*,三级*协议:1级可解决丢失更新问题;2级可解决读脏数据;3级防止丢失更新、不读脏数据、防不可重复读
建立冗余数据的方法是数据转储和登记日志文件。
DBMS特点:①数据结构化且统一管理,②有较高的数据独立性,③数据控制功能:安全性、完整性、并发控制(带来的数据不一致性有三类:丢失更新、不可重复读、读脏数据)、故障恢复(事务内部故障、系统、介质、病毒)
三级模式:①、内模式 存储模式:数据物理格式存储方式描述、②、模式 概念模式:数据逻辑结构及联系描述、③、外模式即用户模式 子模式。
两级映射:模式到内模式(数据的物理独立性)、外模式到模式(数据的逻辑独立性)
目或度n:R上的n元关系,
元数:属性的个数,
基数:元组的个数记录数,
候选码:唯一标识一个元组,
主码:关键字,
主属性:全部候选码,
全码:所有属性都是候选码。
数据模型的三要素:数据结构、数据操作、数据的约束条件。
三类完整性约束条件:实体的(主属性不空)、参照的即引用的、用户定义的完整性
五个基本运算:1并∪、2-差、3 × 笛卡儿积 from、4投影п select、5选择σwhere
扩展运算:1交∩ R∩S=R-(R-S), 2连接◇, 3除
Create TABLE tbname(sno char(5) NOT NULL UNIQUE,
PRIMARY KEY(sno),UNIQUE(sno),
FOREIGN KEY(x) REFERENCES tbname(x) );
Alter TABLE tbname [ADD 列名 完整性约束条件]
[Drop 完整性约束名]
[MODIFY 列名 类型]
Create [UNIQUE][CLUSTER]INDEX idname ON tbname 列名ASC/DSC
Create VIEW viewname 列名 AS SELEC子句[WITH CHECK OPTION]
Select [ALL|DISTINCT]列表名 FROM tbname/vname Where [GROUP BY 列名 HAVING 条件表达式][ORDER BY 列名ASC/DESC]
Insert INTO tbname (字段名) VALUES(常量/查询子句)
Update tbname SET 列名=值(,,,) Where
GRANT <权限,,>ON<对象类型><对象名>TO用户WITH GRANT OPTION
REVOKE <权限,,> ON <对象类型><对象名> FROM 用户
grant all privileges on table tbname to user1
grant insert on table tbname to user2
grant createtab on database dbname to user3
revoke update(sno) on table tbname from user4
Select语句:
求选修了课程名J的姓名:select sname from s where sno IN select sno from sc where cno IN select cno from c where cname='J'
求不选C3课程的姓名:select sname from S where NOT EXISTS (select * from sc where sc.sno=s.sno and cno='C3')
求选修了全部课程的姓名:select sname from S where NOT EXISTS (select * from C where NOT EXISTS (select * from SC where sno=s.sno and cno=c.cno) )
求至少选修了学生S2所修课程的学生姓名:select DISTINCT SNO from SC x where NOT EXIST (select * from SC y where y.sno='s2' and NOT EXISTS ( select * from sc z ehere z.sno=x.sno and z.cno=y.cno))
求选修了C2课程的学生选修的其他课程号:select cno from SC x where CNO<>'c2' and SNO IN select SNO from sc y where y.cno='c2'
求定购了bid='123'图书的用户定购的其他图书(表orders orderlist):select bid from orderlist A where NOT exists (select * from orders B where A.orderbum=B.orderbum and B.cid NOT IN (select cid from orderlist C,orders D where D.cid='123' and c.ordernum=D.ordernum))
按学号给出每个学生选修课程的门数:select sno,count(CNO) from sc group by SNO
查某工程至少用了3家供应商供应零件的平均数(表S、P、J、SPJ)(三个实体一个联系):
select JNO,avg(QTY) avg(QTY)子句仅对分组JNO作计算
from SPJ
group by JNO
having count(distinct(SNO))>=3
order by JNO DESC
(查询某工程至少用了3家供应商(包含3家)供应的零件的平均数量,并按工程号的降序排列)
分组查询:
1、GROUP BY 子句 Select子句中使用的聚集操作符仅用在每个分组上。
2、HAVING子句 假如元组在分组前按照某种方式加上限制,使得不需要的分组为空,可以在GROUP BY 子句后面跟一个HAVING 子句即可。
规范化
1NT:没有表中表,
2NT消除了1NT中非主属性对码的部分函数依赖即每一个非主属性完全依赖于全部的码(X->Y即Y依赖X)、
3NT消除了非主属性对码传递依赖、BCNF消除了主属性对码的部分和传递依赖、
4NT表中没有多值依赖
事务的四个特征:原子性、一致性(数据不会因事务而破坏)、隔离性(事务独立运行)、持久性(事务一旦提交)。
BEGIN TRANSACTION ; COMMIT;ROLLBACK
并发控制的主要技术是*,三级*协议:1级可解决丢失更新问题;2级可解决读脏数据;3级防止丢失更新、不读脏数据、防不可重复读
建立冗余数据的方法是数据转储和登记日志文件。
#3
楼主辛苦了,非常感谢,非常感谢!
#4
之前看过几次, 连考前看了一晚上,下午的差一分 真倒霉,这个应该不算难 中国学生考试都有一绝 我们班的看了一星期就过了
#5
考过两次,没怎么看书就去了。。第一次上午差一分,第2次还没看书,下午挂了...
之后再也没去过
之后再也没去过
#6
不会吧,这么宏大~~谢谢了楼主!
#7
谢谢楼主了