机器语言:二进制编码,机器可以直接识别
汇编语言:字符和符号编程
高级语言:面向用户
面向对象语言:代码重用
单用户单任务:dos
单用户多任务:windows
多用户多任务:linux
特点:破坏性,传染性,寄生性,潜伏性,隐蔽性,针对性
分类:文件性,引导性,混合性,宏病毒
中断是计算机在执行程序中没遇到突发事件,中断程序的正常执行,对突发事件进行处理。包含除零操作,IO请求,断电等
中断过程:中断请求、中断响应、中断处理、中断返回
激光打印机:非击打式打印机
喷墨打印机:非击打式打印机
热敏打印机:使热敏纸受热变色,非击打式打印机
针式打印机:通过打印机和纸张的物理接触来打印字符图形
强迫性中断:由硬件故障或者外部请求引起的,IO中断,缺页中断,时钟中断,硬件故障
自愿性中断:访管中断,用户在应用程序中刻意为之。执行IO,创建进程,分配内存,信号量操作
各个进程在一块共享存储区进行腹泻
管道用于连接读进程和写进程,是实现之间的工序的共享文件
必要条件:互斥,请求和保持,不可剥夺,循环等待。
处理策略:预防死锁,避免死锁,检测死锁,解除死锁
破坏请求和保持条件:进程运行之前一次性申请它所需要的全部资源。
破坏不可剥夺条件:当进程申请新的资源不被满足时,释放自己已经获得的资源。
破坏循环等待条件:采用有序资源分配法,所有资源按类型编号,每个进程按照严格的编号递增的请求资源,同类资源一次申请完。
银行家算法
正数的原码,反码,补码一样。以66为例:
负数的原码,反码,补码之间转换,符号位不变。以-22为例,最前面一位是符号位
由于计算机中只能执行加法运算,原码,补码和反码的出现是为了解决计算机上对于负数的计算问题。下面举个例子
[+1] = [0000 0001]原= [0000 0001]反= [0000 0001]补
[-1] = [10000001]原= [11111110]反= [11111111]补
计算十进制的表达式:1 - 1 = 0
原码计算:1 - 1 = 1 + (-1) = [0000 0001]原+ [1000 0001]原= [1000 0010]原= -2,如果用原码表示,让符号位也参与计算,显然对于减法来说,结果是不正确的。这也就是为何计算机内部不使用原码表示一个数。
反码计算:1 - 1 = 1 + (-1) = [0000 0001]原+ [1000 0001]原= [0000 0001]反+ [1111 1110]反= [1111 1111]反= [1000 0000]原= -0,发现用反码计算减法,结果的真值部分是正确的。而唯一的问题其实就出现在”0”这个特殊的数值上,虽然人们理解上+0和-0是一样的,但是0带符号是没有任何意义的,而且会有[0000 0000]原和[1000 0000]原两个编码表示0。于是补码的出现,解决了0的符号问题以及0的两个编码问题。
1-1 = 1 + (-1) = [0000 0001]原+ [1000 0001]原= [0000 0001]补+ [1111 1111]补= [1 0000 0000]补=[0000 0000]补=[0000 0000],这样0用[0000 0000]表示,而以前出现问题的-0则不存在了。而且可以用[1000 0000]表示-128,因为(-1) + (-127) = [1000 0001]原+ [1111 1111]原= [1111 1111]补+ [1000 0001]补= [1000 0000]补,但是注意因为实际上是使用以前的-0的补码来表示-128,所以-128并没有原码和反码表示。这就是为什么8位二进制,使用原码或反码表示的范围为[-127, +127],而使用补码表示的范围为[-128, 127]。
人工管理->文件系统->数据库系统
数据模型是现实世界数据特征的抽象。主要分为两种层次,第一层是概念模型,第二层是逻辑模型和物理模型。
概念模型主要用于数据库的设计,逻辑模型用于数据库管理系统的实现,物理模型是数据在磁盘上的存储方式,是数据管理系统需要实现的任务。
我们常用ER图描述现实世界的概念模型。
由数据结构,数据操作,数据的完整性约束构成。
码(健):关系中的某个属性或者某几个属性的组合,用于区分每个元组
候选码:唯一表示一个关系元组的属性集
主属性:候选码中的属性
非码属性:也叫非主属性,不包含任何候选码的属性
主码:若有多个候选码,选定一个为主码
外码:一张表中的非主码是另一张表中的主码,外键。
分为集合运算和关系运算
并∪、差-、交∩、笛卡尔积×
选择、投影、连接(等值连接,自然连接,外连接)、除(满足除数象集中的投影集合)
这里只记录一下冷门的权限操作
角色创建:create role U1
完整性定义存在两种定义方法,一种为列级定义,一种为表级定义。
针对参照完整性,在参照表或者被参照表(主码所在的表为参照表,外码所在的表为被参照表)中进行操作时,有三种策略:
用户定义完整性:not null、unique、check语句,例如check(grade>=0 and grade <=100)
完整性约束命名字句:constraint 自定义约束名 完整性约束条件,例如:constraint C1 check(grade>=0 and grade <=100)
这样做的意义在于,后期可以修改表中的完整性约束,例如:删除约束alter table student drop constraint C1,新增约束alter table student add constraint C1 check(grade>=0 and grade <=100)
使用断言可以创建更一般性的约束,可以定义涉及多个表的完整性约束。
create assertion 断言名 check 子句
例如限制数据库课程最多60名学生选修,该断言涉及两个表
create assertion C1 check(60>=(select count(*) from course, sc where course.cno = sc.cno and course.cname=’数据库’));
drop assertion 断言名
函数依赖:X函数确定Y,也可以说Y函数依赖于X,记作X->Y。例如学号,姓名,年龄,系别这几个,学号决定(姓名,年龄,系别),或者(姓名,年龄,系别)依赖于学号。
当X->Y,但是Y不包含于X,说明X->Y是非平凡函数依赖;如果Y包含于X,则称为平凡的函数依赖,对于任何关系模式,必然成立。
完全函数依赖:例如(学号,课程号)->成绩,是一个完全函数依赖,(学号,课程号)->系别则是部分函数依赖。
传递依赖:关系模式R中,X->Y,Y->Z,则Z传递依赖于X。例如,学号->系别,系别->系主任,则学号->系主任。
规范化:一个低一级别的范式的关系模式可以通过模式分解转化为若干个高一级别范式的关系模式集合。
任何关系模式都满足第一范式,简称1NF。
2NF:每一个非主属性完全依赖函数依赖于任何一个候选码。消除了非主属性对于码的部分函数依赖,也就是关系模式中不存在部分函数依赖。
避免了插入异常,删除异常,修改复杂。
3NF:消除了非主属性对于码的传递函数依赖,关系模式中不存在传递依赖。
BCNF:在 3NF 的基础上消除主属性对于码的部分与传递函数依赖,即去除关键字段决定关键字段的情况,每个表中只有一个候选键
需求分析
概念结构设计
逻辑结构设计
物理结构设计
数据库实施
数据库运行和维护
概念结构设计中常用ER图来描述概念模型。
ER图中存在实体型,属性和联系。实体性为矩形,属性为椭圆,联系为菱形。
主属性用“___“标出。
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪),商店编号为外键,用波浪线画出,这里用斜体标识
商品(商品号,商品名,规格,单价)
销售(*商店编号*,*商品号*,月销售量),商店编号和商品号为外键,用波浪线画出,这里用斜体标识
并发操作带来的数据不一致问题:丢失修改、不可重复度、读脏数据
一级封锁协议:修改数据前加排他锁,直至事务结束释放。
二级封锁协议:在一级封锁协议之上,增加读取数据前加共享锁,读完立即释放。
三级封锁协议:在一级封锁协议之上,读取数据前加共享锁,直至事务结束释放。
也就是类和属性的关系,双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。关联关系分为递归关联,二元关联和多元关联。
多元关联,不能像二元关联一样实现类之间的导航。二元关联可以通过类中的引用实现,但是多元关联要通过方法才能实现。
聚合表示类之间的整体和部分的关系,例如飞机中的各个零件,共同聚合成一个飞机,脱离飞机这个实体,各个零件还是可以单独存在
组合关系为整体拥有各个组成部分,整体不存在了,部分也就不能单独存在。例如一篇文章与参考文献的关系。
面向对象中的类继承关系。
面向对象中实现类与接口之间的关系。接口可以用类表格的形式表示,也可以用圆圈表示。
是一种使用的关系。依赖关系比较难以区分,如果两个类之间的关系不是泛化关系,实现关系和关联关系,那么就可以用依赖关系表示。
下面是一个系统的类图。
用例图主要包含参与者,用例和关系。
关系主要包括泛化,包含和扩展。
泛化关系:参与者之间的继承关系。例如教职工,教师和职工两个参与者是继承自教职工参与者
包含关系:用例之间的关系,被包含用例是包含用例绝对要执行的用例。例如我们在ATM机中查询余额时一定要登录。
扩展关系:用例之间的关系,被扩展用例是扩展用例的一个扩展点上的用例,不是一定要执行的用例。例如我们在制定计划时,可以选择新增计划和修改计划。
下面是一个大学课程注册系统的例子。
状态图绘制时需要识别实体,状态空间和状态转移
活动图分为带泳道的和不带泳道的
图像文件的类型和格式分为两个主要类别:光栅(或者叫作栅格)图像文件和矢量图像文件。
颜色参数主要有三种,色相,明度和纯度(饱和度)。
四种基本的色彩模式:RGB模式、CMYK模式、HSB模式、Lab颜色模式。除此之外,还有位图模式、灰度模式、索引颜色模式、双色调模式和多通道模式。RGB是发光模式,CMYK是反光模式,需要外界光源。
指每个像素使用的位数。
图像的大小=分辨率*颜色深度/8
振动产生声音,振动越强,声音越大,振动频率越高,音调越高。
音频数字化处理:采样,量化,编码
模拟信号的数字化转换质量指标
音频文件大小(bit)=采样频率*采样精度*声道数
视频由一系列图像组成,每张图像成为一帧
视频的制式:没秒钟的帧数
视频文件大小(bit)=单帧图片大小*帧数*时间(秒)
需求阶段,设计阶段,开发阶段,测试阶段,实施并维护
该模型类似于现实中的瀑布,它有起点和终点,就像水流从悬崖上落下,没有任何中断或改变。
哪些情况适合该模型:
优点:很多任务可以很容易地在软件部门之间进行划分,并监控任务完成情况。
缺点:不灵活,瀑布模型很难对任务进行修改,这是因为应用程序开发越深入到另一个阶段,就越难返回并更改其概念基础或文档。
V型模型允许按照V形顺序执行项目。该模型的另一个名称是验证和确认模型,因为它基于瀑布模型。然而在软件开发生命周期(SDLC)中,每个开发阶段也包括测试。因此,执行一个阶段,完成之后,再进行测试,然后才能进入下一个阶段,该阶段的结构与前一个阶段相同。
在V型模型中,开发阶段与测试阶段相对应,它们并行进行。
根据上图,有4个验证阶段,分别是:
验证阶段还包括4个阶段:
什么时候使用V型模型?
优缺点和瀑布模型一致
开发从实现几个小需求开始,然后通过多次迭代(增量)增强产品。增强过程以增量(迭代)的方式进行,直到应用程序功能完成并准备部署为止。
迭代模型适用于软件开发的哪些地方?
优点:可以在不知道所有需求的情况下开始开发,允许在开始开发软件时发现功能和设计的缺陷。
迭代模型和瀑布模型的组合,螺旋模型主要用于大型项目。螺旋模型的重点在于风险分析。以迭代的方式交付项目,并围绕其中心螺旋形旋转。用户反馈可以在项目的早期就被纳入,可能有项目会形成永无止境的螺旋式发展的风险。
原型是系统的一个初期版本,可以快速开发以查看客户是否满意。客户参与开发过程会增加最终产品被早期接受的机会。原型模型有助于可视化软件的某些组成部分。这有助于避免客户与开发团队之间的误会。对大型软件来说,如果没有现成的,就不应该考虑用原型法。
敏捷(Agile) SDLC 模型是迭代和增量方法的组合,致力于通过早期交付工作软件来适应灵活的需求并满足用户和客户的需求。
产品被分为小的增量构建,并以迭代方式交付。将所有任务划分为较小的时间范围,以便为每个版本准备工作功能。最终产品版本包含所有必需的功能。敏捷仍然是技术行业中使用最广泛的SDLC
加密算法分 对称加密 和 非对称加密,其中对称加密算法的加密与解密 密钥相同,非对称加密算法的加密密钥与解密 密钥不同,此外,还有一类 不需要密钥 的 散列算法。
常见的 对称加密 算法主要有 DES、3DES、AES 等;常见的 非对称算法 主要有 RSA、ECC等;散列算法主要有 SHA-1、MD5 等。
名称 | 安全性 | 速度 |
---|---|---|
SHA-1 | 高 | 慢 |
MD5 | 中 | 快 |
名称 | 成熟度 | 安全性 | 运算速度 | 资源消耗 |
---|---|---|---|---|
RSA | 高 | 高 | 中 | 中 |
ECC | 高 | 高 | 慢 | 高 |
名称 | 密钥名称 | 运行速度 | 安全性 | 资源消耗 |
---|---|---|---|---|
DES | 56位 | 较快 | 低 | 中 |
3DES | 112位或168位 | 慢 | 中 | 高 |
AES | 128、192、256位 | 快 | 高 | 低 |
100
倍,每秒可以加解密数 M
比特 数据),适合大数据量的加解密处理ppp协议叫做点对点协议,是数据链路层中的一种数据封装协议,将物理层中传输的01字节流封装成帧。
包括IPv4和IPv6,是网络之间互连的协议
地址解析协议负责IP地址到物理地址的查找。
网际控制报文协议,负责主机或者路由器报告差错情况,通过ping命令就可以知道两各网络之间的连通性。
距离向量协议,内部网关协议的一种,用于路由选择,超过15跳就不可达。
由叫做开放最短路径优先,内部网关协议的一种,用于路由选择,通过洪泛法获取全网的拓扑结构图。
边界网关协议,是一种外部网关协议,用于不同自治系统之间的路由选择。
传输控制协议提供可靠的面向连接的服务,传输数据前须先建立连接,结束后释放。
用户数据报协议,发送数据前无需建立连接,不使用拥塞控制,不保证可靠交付,最大努力交付。
文件传输协议,使网络上不同操作系统之间的主机项链,完成文件的互传和复制。使用两条TCP连接,控制连接端口21,数据连接端口20
远程登录协议,将用户终端连接到远程主机,进行在线工作。端口号23
超文本传输协议,端口号80
简单邮件传输协议,用于发送邮件,端口号25
邮局协议,用于接收邮件
安全传输协议
远程过程调用协议
局域网分类
局域网按照其规模可以分为小型局域网、中型局域网和大型局域网三种。
小型局域网主要是用来实现网内用户全部信息资源共享,例如实现文件共享、打印共享、收发电子邮件、Web发布、财务管理以及人事管理等功能。由于此类局域网联网计算机数量一般为20~50台,而且各节点相对集中,每个站点与集线器或交换机之间的距离不超过100m,采用双绞线进行结构化布线就足够了。
在选用硬件方面,一般采用桌面交换机、所有计算机(包括服务器和PC)选用10/100Mb/s自适应网卡、所有的连线均采用UTP5类或超5类线。由于在设计网络的时候采用了桌面交换机,所以网络传输速度比较快,能适应高速网络的发展,升级容易,同时,技术复杂程度低,构造比较简单,不必进行子网划分、不必实施三层交换,对技术人员要求比较低。
中型局域网需要连接的计算机节点一般都在60台以上,并且各节点之间的距离也较远,一般都会超过100m甚至更远,利用双绞线作为传输介质已经远远不够。此时企业办公环境对网络的性能要求较高,对网络的传输速度也有一定的要求,相对来讲企业往往有较多的资金投入,可以使用光纤介质来连接整个企业园区的主干网络,因为光纤的有效传输距离可以达到两千米(多模光纤)或更长(单模光纤)。
中型局域网可以采用两层结构,即中心交换机层提供千兆网络端口,供各个节点连入的桌面交换机层。
大型的企业局域网的覆盖范围极广,联网计算机数量达数百台甚至上千台。因此,必须采用性能优良、功能强大的设备才能保证整个系统稳定、安全、可靠地运行。
需要大型局域网的企业一般都把高性能的网络通信作为性能需求的第一位,这种大型局域网应该采用千兆以太网,中心交换机可选用企业级高密度中心交换机,适宜采用两层结构或者三层结构。如果整个局域网比较分散,部分节点比较集中,则采用三层结构较好。如果各个节点之间都比较分散,桌面交换机连接到骨干交换机上路程较远,则采用两层结构比较合理。也可以采用两层结构和三层结构混合的方法,把相对集中的桌面交换机通过骨干交换机汇集起来连接到中心交换机,分散的节点直接连接到中心交换机。
传输介质一般分为两个大类:有线传输介质(双绞线,光纤,同轴电缆)和无线传输介质(微波,红外)。
有线网络是指采用同轴电缆、双绞线、光纤等有线介质来连接的计算机网络。
双绞线联网是目前从最末端联网设备到桌面的最常用的联网方式。传输距离100m,五类100Mbps,超五类1000Mbps,六类1-2Gbps
采用光纤作为传输介质,传输距离长(100km),传输速率高,抗干扰性强,是主干网络设备间使用的主流方式。
同轴电缆由于价格较贵、连接复杂,电视使用,已经被淘汰。
无线传输介质都不需要架设或铺理电缆或光纤,而是通过大气传输,目前有三种技术:蓝牙、微波、红外线和激光。由于无线网络的联网方式灵活方便,不受地理因素影响,因此是一种很有前途的组网方式。其主要缺点是易受干扰、带宽较低。
蓝牙有效距离5m
微波通信是沿直线传播的,由于地球表面是曲面,微波在地面的传播距离有限,超过一定距离后就要用中继站来接力,两微波站的通信距离一般为30~50km,长途通信时必须建立多个中继站。
红外通信和激光通信也像微波通信一样,有很强的方向性,都是沿直线传播的。
卫星通信是以人造卫星为微波中继站,它是微波通信的特殊形式。卫星接收来自地面发送站发出的电磁波信号后,再以广播方式用不同的频率发回地面,为地面工作站接收。卫星通信可以克服地面微波通信距离的限制。优点是容量大、距离远,缺点是传播延迟时间长。
有线网络和无线网络混合在一起组成的网络即混合介质网络,一般骨干网络使用有线形式,部分桌面或难以布线的部分,或有线铺设成本过高的地段等使用无线网络的形式来联网,以取长补短。使用有线方式还是无线方式取决于网络的功能、性能、安全等方面能否满足用户要求。
主要有总线型,环形,星型,树形,网型
总线型拓扑结构是指各和服务器均连接在一条总线上,各工作站地位平等,无中心结点控制。优点:组网费用低,扩展灵活,维护较易。缺点:传输效率低
网络中各个工作站点通过一个网络集中设备(集线器或者交换机)连接在一起。星状网络几乎以太网专用,使用最多的传输介质时双绞线。优点:实现便宜,节点易扩展,维护容易,传输速率快。
环状拓扑结构由网络中若干节点通过点到点的链路首尾相连形成一个闭合的环,数据在环路中沿着一个方向在各个节点间传输。这种结构的网络形式主要应用于令牌网。传输介质一般是同轴电缆,有点:实现非常简单,传输速度较快,缺点:维护困难,任何一个节点出了故障都会造成整个网络的中断、瘫痪,维护起来非常不便。非常容易造成接触不良,网络中断,而且查找起来非常困难。扩展性能差。
分为以太网,ATM,FDDI和无线网络
分为以太网(基本不使用了),快速以太网,千兆以太网,万兆以太网。
IEEE 802.11是无线网络标准,其构建的无线局域网是一种能支持搞数据传输速率(1-54Mbps),采用为蜂窝结构的网络。
无线网络的硬件设备主要包括4种,即无线网卡、无线AP、无线路由和无线天线。
无限对等网络:只是用无线网卡,组件小型办公网络或者家庭网络。
独立无线网络:与无线对等网络相似,只是加入了个无线访问点AP,这里的作用类似于集线器,用于放大信号进行中继。
接入以太网的无线网络:再有线网络中接入一个无线接入点AP,从而将无线网络连接至有线网络主干。
无限漫游的无线网络:使用无线蜂窝覆盖结构,无线网络中的无线基站有多个,彼此之间有重写部分,可以实现个覆盖区域之间的无缝连接。此外,多个AP覆盖区域所占用的频道之间必须互不干扰,也就是邻近区域频率不能相同。
所有的节点接种在以它为中心的节点上,对接受到的信息好进行再生放大,以扩大网络的传输距离,工作在OSI的物理层。传统集线器已经被交换机取代
将计算机信号调制成模拟信号进行传输,也可以将接受到的模拟信号解调成数字信号。一般可以使用光纤,射频无线电和电话线传输模拟信号。
交换机工作在OSI的数据链路层,交换机能够基础每个接口的MAC地址,进行数据帧的转发,还可以避免网络产生环路。
快速以太网交换机:在双绞线或者光纤上实现100Mbps的交换机。用于接入层。
千兆以太网交换机:在双绞线或者光纤上实现1000Mbps的交换机,通常用于汇聚层和核心层。
万兆以太网交换机:提供10Gbps的以太网插槽,通常用于汇聚层或核心层。
网络交换机划分为核心层交换机,汇聚层交换机和接入层交换机
交换机分为第二层,第三层和第四层交换机
工作在OSI中的网络层,主要负责:
连接网络。多个网口连接多个逻辑上分开的网络(也就是一个单独的网络或者子网)。
路由选择与数据转发。路由选择协议:路由信息协议RIP和开放最短路径优先协议OSPF
网络安全。通过NAT网络地址转换协议可以实现多个用户同时公用一个合法IP与外交通信,内部用户使用自定的IP通信。借用访问控制列表,设置访问策略,这部分的功能已经扩展到三层交换机了。
网卡是计算机连接到局域网的必要设备,主要有两个功能:将数据封装成帧发送到网络,接受网络上传输的帧,并重新组合成数据。
按应用分类
按设备类型分类
防火墙,漏洞扫描设别,安全隔离网闸,流量监控设备,防病毒网关,安全审计系统,入侵检测系统,入侵防御系统
堡垒主机是一种被强化的可以防御进攻的计算机,作为进入内部网络的一个检查点,以达到把整个网络的安全问题集中在某个主机上解决,从而达到省时省力,不用考虑其它主机的安全的目的。一个堡垒主机使用两块网卡,每个网卡连接不同的网络。一块网卡连接你公司的内部网络用来管理、控制和保护,而另一块连接另一个网络,通常是公网也就是Internet。
堡垒是一种可以防御攻击的加固计算机,没有任何设备保护。堡垒主机是网络中最易受攻击的主机,因此堡垒主机也必须是保护最完善的主机。
堡垒主机和内部网可信主机之间不共享身份验证服务,因此,如果堡垒主机被攻破,入侵者无法使用堡垒主机攻击内部网。
支持网线供电的交换机,其不但可以实现普通交换机的数据传输功能还能同时对网络终端(AP等)进行供电 。
用来集中化控制无线AP,是一个无线网络的核心,负责管理无线网络中的所有无线AP,对AP管理包括:下发配置、修改相关配置参数、射频智能管理、接入安全控制等。
互联网络钟最简单的网间连接器,作用是将衰减的信号放大和整形后传送到另一个网段。
中继器的一种扩展形式,区别在于集线器提供了多个端口,因此可以叫做多口中继器。
是一种翻译器,负责完成模拟信号与数字信号之间的转换。
网桥功能是在局域网之间存储、转发帧,并实现数据链路层上的协议转换。与中继器相比具有以下特点:
读取其他网络设备(路由器,交换机等)传输过来的数据包。将数据包打包后传输到网络中。
可以读取MAC信息,进行帧的转发决策。
主要分为接入交换机,汇聚交换机和核心交换机。
具有网络互连,数据处理和网络管理功能。
由软件和硬件设备组合而成,放置于在内部网和外部网之间,专用网和公用网之间的保护屏障。