学习网址:https://www.bilibili.com/video/BV1xB4y1x7Nv?spm_id_from=333.337.search-card.all.click&vd_source=461545ff50a35eaeaa8218ecdc5f7152
页码标注为教程页
-1的反码:符号位不动,其它按位取反
-1的补码:在反码的基础上+1
浮点数:科学计数法表示数的方式
対阶:e指数(阶码)相同,从低往高对
尾数计算:M的计算
结果格式化:确保尾数的第一个位置不能是0,也不能是1位以上的数
控制器
时序部件:
Cache:非必须,但是会造成速度极慢,慢上上百倍,因为时间局部性原理
地址总线:地址空间
控制总线:发送控制信号
101和110按位进行异或操作
生成多项式转成二进制形式:4次方位置有1,3次方位置有1,2次方位置没有为0
补的是多项式中最高次方的数,这里是最高4次方,所以补4个0
再次模2运算(CRC校验),若余数为零则未出错,不为零则有错,这种校验方式只能检错不能纠错
r为校验位的个数
X为传输为个数
信息位直接填入
运行:所有资源配足
就绪(活跃就绪):除CPU外所有资源配足
等待(活跃阻塞):除CPU资源还缺其它资源
临界区:代码段
信号量:S,P的S<0阻塞状态
P操作:S-1
生产者第一轮
P(S1):S1=0
V(S2):S2=1
生产者第二轮
P(S1):S1=-1,-1<0
放入到进程的等待1队列,并且阻塞起来
消费者第一轮
P(S2):S2=0
V(S1):S1=0,S<=0激活
Sn:n个购书者
有付款动作时开启收银员进程
V操作付款,P操作收银,两个要配对
购书者阻塞等待收银员收费完成
答案:A、C
箭头开始的位置V操作,箭头结束的位置P操作
3*4=12
13个资源,必然会有一个能全部满足
互斥:不能同时共用资源
保持和等待:各个进程会保持自己的资源,并且等待别人的资源
不剥夺:系统不会剥夺已经分配的资源
首次适应法:
最佳适应法:
最差适应法:
循环首次适应法:
12位:A29
页号5:对应的物理块号(页帧号)6
最优(OPT)算法
随机(RAND)算法:随机的淘汰一个
先进先出(FIFO)算法:有可能产生抖动
最近最少使用(LRU)算法:不会产生抖动
淘汰最久没有访问的
分配的资源越多,表现的性能越好
根据使用情况,刚刚被访问的不会被淘态
抖动:加资源不会提高性能
缺页:要访问的页面内存里没有
没有使用快表:说明每读一次程序的块,需要现先在内存上面查一下表,之后才能读取相应的内存块,所以每一个块需要进行两次内存的访问,总共有6个块,所以会产生2*6=12次对内存的访问
约定俗成:默认指令无论占到几个块,都会一次性调入 。
swap指令跨了两个页:swap存放在内存的1023单元中,1个K一个块,每一个单元其实就是一个字节,第一个块的字节是从0号字节-1023单元(字节)
1023是一个块的最后一个单元,存的时候只能存指令的一半,还有一半放在1号页的最开始的单元当中,跨了两个页
跨了两个页按照常规的情况会产生两次缺页中断,但是指令中不会产生两次,指令会一次性读入,只产生一次缺页中断
数据类型的A在2号页有一半,在3号页有一半,会产生两次缺页中断
总的缺页中断的次数为swapA、B1次,A2次,B2次,1+2+2=5次
索引文件结构一般是13个结点,从0至12
分成直接索引、一级间接索引、二级间接索引、三及间接索引;分几级间接索引主要考虑到文件本身容量的扩展问题
一个物理盘块假设是4k大小,假设13个块都是直接索引,文件最大4K*13=52K
规定0~9对应的是直接索引,存放地址直接对应物理盘块,盘块再去存内容4K*10=40K
第10个结点,不在存物理盘块的直接内容,而是存地址,每一个地址假设占4个字节,一个物理盘块可以存4k/4=1024个地址,则第10个结点存4K*1024
第11个结点,二级间接索引,存4K×1024×1024
间接级别越多,访问的效率越低
电话不加区号是相对路径
空闲区表法:用一个表来记录哪些地方是空闲的
空闲链表法:把空闲区都链起来,空间分配时从链表取
成组链接法:分组也分链
从0开始编号,4195是第4196个物理块
4196/32=131.125,存在132个字当中
Spooling技术:先把需要打印的程序放在缓冲区,进入到输出井,把输出井里面的文件顺序打印
核心是开辟了缓冲区,解决了外设的低速和高速的设备之间的差距
物理数据库:文件
内模式:如何去存储数据
概念模式:表
外模式:数据库里面的视图
外模式-概念模式映射:表和视图之间的映射关系,表发生变化只需要改映射,不需要改应用程序
概念模式-内模式映射:内部的存储形式和表的情况的映射关系
ER模型:实体之间的联系
方框:表示实体
椭圆:表示属性
菱形:表示联系
MN:表示多对多的关系
结构冲突:抽象级别不同;例如:老师在一个ER图中是一个表,在拎一个ER图中只是一个字段
1:1联系:中间的联系可以转成关系模式,也可以转到与其关联的任意一个实体里面
1:n联系:中间的联系可以转成关系模式,也可以转到n的实体里面;例如;公司和员工为1:n,在员工里面新加字段记录部门号
m:n联系,选课的联系必须转成单独的实体
并:把两个集合合并在一起,都有的内容只显示一次
交:把公共部分找出来形成一个新的关系
差:我有的你没有,通俗点来说就是把S1中的S1、S2公共部分去掉
笛卡尔积×:前面的字段来自于S1,后面的字段来自于S2;S1的第一条记录要与S2的每一条记录形成组合;字段数为两个集合的总和,记录数为两个记录的乘积
投影:选择列的操作,可以用属性名或者数字编码号
联接:一般要写联接的条件,会把都有的字段保留一个,没有条件为自然联接,S1、S2中相同的字段做=值联接
X能够确定Y,则称X函数依赖Y
数据库中:学号能够函数确定姓名
部分函数依赖:A、B能确定C,并且A能确定C
传递函数依赖:A能确定B、B能确定C、则A能确定C、但是B不能确定A
超键:唯一标识元祖,可能存在冗余属性
候选键:唯一标识元祖,消除冗余属性的超键
主键:唯一
外键:别的关系的主键,很多时候需要对表做关联
候选键和主键的区别:候选键可以有多个,主键只能有一个
候选键和超键的区别:(学号、姓名)性别,学号、姓名的组合键能确定性别,学号也能确定性别,组合键为超键,学号为候选键
入度为0的属性:没有箭头指向它
级别不断提高,规范化程度越高,数据的力度越小,基本上进行数据表的拆分,带来性能方面的问题
主属性:属性属于候选键的一部分,在候选关键字里出现过的属性
例:学号和课程号才能唯一确定成绩,解决办法:将课程号和学分取出来建立新的关系模式,原来表里的学分去掉
首先也要达到第二范式(主键只有单属性),单属性关键字时不存在部分函数依赖
解决方案:将DNO、DNAME、LOCATION独立出来,成为一个独立的关系模式,消除传递依赖
主属性:属性属于候选键的一部分
非主属性:不属于候选键的一部分
例:候选键:SJ、ST,则主属性为STJ,没有非主属性,肯定是3NF
通俗来说,所有函数依赖写出来。函数依赖的左边部分必须是候选键
函数依赖SJ->T、T->J,第二个函数依赖左边部分不是候选键,所以不是BC范式B
第一行:原关系中拥有的一系列属性,全部列出来
第一列:要拆分的关系模式
a和b代表的:真正拥有的属性a1代表成绩拥有学号这个是字段。b表示没有包含这个字段,数字代表行列
事务
丢失更新:会覆盖第一次运行的结果
不可重复读:读第二次时,中间会有可能对数据进行更新,导致两次读取的数据不同
X锁:读锁
S锁:写锁
实体完整性约束:使用数据库时给数据表定义主键,约束的是主键的值不能重复,不能为空
参照完整性约束:外键的完整性,不能随便乱填,填入的数据必须是对应表的主键的内容,除了正确,允许为空
用户自定义完整性:自定义完整性
触发器:写脚本来约束数据库内容的要求,来完成复杂的要求
例:从周日至周六的备份为:完增增增差增增
则周三数据出问题要先恢复周日的完全备份,再恢复周一和周二的增量备份
则周四出问题要先恢复周一的完全备份,再直接恢复周四的差量备份
数据仓库:存储数据库的陈旧数据;大规模的查询、分析、统计;面向主题不是面向用户;会记录一些集成式的数据
数据集市:部门级的数据仓库
OLAP服务器:联机分析处理服务器,专门做数据处理工作
中继器:接受一边的信息,从另一边传出
集线器:多端口的中继器
网桥:连接两个同类型网络的设备
交换机:多端口的网桥,用来连接多个设备
网卡:被设计用来允许计算机在计算机网络上进行通讯的计算机硬件
三层交换机:具有部分路由器功能的交换机
路由器:连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的智能性网络设备
ICMP:Internet网控制协议
ARP:地址解析协议,IP转MAC
RARP:反地址解析协议
TCP:可靠的协议,通讯时会建立连接,有验证机制,传输时会有反馈信息,通讯之前会进行三次握手的活动
UDP:不可靠的协议,通讯时不会建立连接,只把数据包从原地址发往目标地址
HTTP:超文本传输协议
FTP:文件传输协议
Telnet:远程登录
POP3、SMTP:邮件传输
DHCP:动态的IP地址分配
TFTP:小文件传输协议
SNMP:简单网络管理协议
Samba:文件共享协议,可以跨平台
CIFS、NFS:文件共享协议
A、B、C:普通地址
172.18.129.0/24:代表转为2进制后前24位网络号
划分成子网:拿若干个主机位充当子网号
PSTN:拨号上网,现在刷卡POS机还在用
每个人的私钥能打开个人的公钥,用个人的公钥加密
对称加密大内容,非对称加密秘钥
传送信息和信息摘要,得到信息产生摘要,和得到的摘要对比,相同则没有问题
A发送给B,用A的私钥加密,A的公钥解密
加密:数字签名的加密过程
解密:数字签名的解密过程
公钥满世界跑,谁都有,只是身份验证
把正文用对称的方式加密,把密钥用非对称的方式传输
隔离:物理隔离,不同的网络
屏蔽:墙面刷隔离图层
PPTP、L2TP:隧道协议,在互联网开出两条安全的隧道
防火墙:软件和硬件软件结合的
IPSec:针对IP包加密
应用级:开箱检查
屏蔽子网:外网和内网之间的被屏蔽子网
a+13*2
A00带入到A、B、C、D中,对的不一定对,错的肯定错
树形结构:没有环路
图:有可能有环路
单链表删除结点:p->next=q->next
单链表插入结点:s->next=p->next,p->=s
循环队列:队空和队满无法判断,使用单独的一个空间存放,少存一个元素
表头:最外层的第一个表元素
结点的度:一个结点拥有的孩子结点数,1为2,3为1,7为0
树的度:一个树的结点的最高度数,为2
叶子结点:没有孩子结点,7、8
分支结点:有分支
内部结点:既不是叶子,也不是根节点,2、3、6
层次:1、2、3、4层
满二叉树:没有缺失的结点
完全二叉树:除了最下面的一层,上面的和从左到右的都是满的
非完全二叉树:中间有缺失
关键在于根节点访问的前、中、后
前序遍历:12457836
中序遍历:42785136
后序遍历:48752631
层序遍历:自上而下、自左至右逐层访问树中各节点的过程
查找二叉树:左子树小于跟结点,右子树大于根节点
哈夫曼树:最小的带权路径长度
树的路径长度:路径累加
权:出现的频度
带权路径长度:路径长度*权值
树的带权路径长度(树的代价):
线索二叉树:二叉树中很多指针都是空的,利用空闲的资源,左子树结点线索指向前序结点,右子树结点线索指向后序结点
页码:141
最小生成树:对于连通网来说,边是带权值的,生成树的各边也带权值,因此把生成树各边的权值总和称为生成树的权,把权值最小的生成树称为最小生成树
选n-1条边加起来最小
普里姆算法:从任意一个结点出发,定为红点集,其它的是蓝点集,找出从红点集到蓝点集合里面最短的距离,选择A能到的距离最短的蓝点集连接并变为红点集,然后看两个红点集到蓝点集最短的距离
算法设计:正确性、可读性、健壮性、高效性
算法的表示:自然语言、流程图、程序设计语言、伪代码
二分查找:有序序列,n+1/2取整,取过的已经比较过了,不需要再比较
能推导出其它元素的为非终结符,例如S
不能推导出其它元素的为终结符,例如a
从初态A能不能通过输入4个数到终态C
传值:形参取的实参的值
传值会导致实参发生变化
RGB发光
CMY反光,K黑色
图像容量计算
知道像素,位数:像素*2
知道像素,色数:像素*颜色深度的B位
空间冗余:拍照时背景全白,存像素点无用,某个空间有大面积相同
时间冗余:讲课时视频,不动的地方记录下来下一帧继续使用
视觉冗余:视觉不能发现的地方不存
信息熵冗余:不同的信息编码冗余度不一样,合理的编码降低冗余度
结构冗余:某个结构部件有大量的冗余 ,整片地面只记录一个地板砖的图案
知识冗余:从知识层面来说可以不用记录的冗余,可以通过分析得到
有损压缩:不能还原成原貌,JPG
无损压缩:能还原成原貌,压缩包
结构化方法的模型
根本性问题:需求分析难以把控
适用于需求明确或者二次开发
原型:构造一个简易的系统,定位于需求不明确的情况,在项目开发的初期定义一个简易系统,可以是一个界面,也可以做一个初步的系统,用于给用户演示,往往只运用于开发的需求分析阶段
演化模型:由原型进行多重演化
增量的模型:在核心的需求上进行增加功能
螺旋模型:由多个模型组成,所以各个模型的特点都具备
引入了风险分析
强调和细化测试,左侧和右侧有对应关系,同时开启,从测试的眼光看待问题
最大的特点:面向对象
提高了复用性
构建一个构件库,选择取用
灰盒:黑盒白盒结合
假设一个图中有向边为m条,n个结点
分叉的位置是否抽象为结点没有区别
对象:人和物的属性抽象出来
类:把对象的共性抽取出来,实体类与数据相关,边界类有与外界系统进行交互的职能,控制类进行类与类之间的衔接和控制
抽象:
封装:把相关的数据封装在一起,不能直接操作数据,而需要接口进行操作
继承与泛化:子类继承父类的相关特性,多个类有共性,把共性抽出来形成上层类为泛化
多态:同样的操作控制不同的对象,传参不同调用的方法不同
接口:一种特殊的类,只有方法的定义。没有方法的实现
消息:对象之间进行交互的方式,异步传输
组件:构件
模式和复用:模式就是经验的继承
单一职责原则:设计目的单一的类,这个类设计出来的目的只有一个,职责越多,和其它类关联的概率越大
开放封闭原则:不要去做程序的修改,要的话就做程序的扩展,维护的过程中,修改程序的时候很容易引入错误
李氏替换原则:子类可以替换父类,子类继承自父类,拥有父类的特性,时刻记得
图:用提供的图工具对项目进行表示
工厂方法:只要下指令就能产生相应的对象
抽象方法:按系列生产相应的对象
适配器模式:通过适配器进行统一操作,把原来不统一的地方统一起来
部门的关系都有,缺的是联系,a填商场编号
员工的关系都有,缺的是联系,b填部门编号
c填员工号
外键用来把本表和其它表联系起来
include包含关系,登记外借信息必然会使用用户登录,必须
extend扩展关系,查询书籍在某些时候会使用修改书籍,不必须
泛化关系:对于类,用实线
组合关系:
聚合关系:
键线代表事件
上面一排的对象引出相应的生命线(虚线)
解决问题可以用到同样的算法
解决01背包问题,每个物品一个,尽可能多的有价值的东西
会把前面的问题求出来存在数组里
把一个问题拆为两个为1/2的问题解决
抽象工厂模式:多个不同的工厂,只要指定相应的工厂,又这个工厂生产的相应的类就是同一个系列的类,生产的类就是同一个系列的类