写在前面:
本文章为作者自用,如有错误请指出,因为都是我东查西查来的,记录顺序就是自己作题过程遇到的问题顺序。
1.PV操作
PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量S进行操作
P操作使信号量S减1,如果S的值大于等于0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。
V操作使信号量S加1,如果S的值大于0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。
先有V操作,然后有P操作,P操作容易造成阻塞
2.海明码
核心公式:2^r≥k+r+1(r为校验位的个数,k为信息的个数)
实例:
二进制码 101101100,求它的海明编码
1.信息个数为9,则r的最小值为4,所以校验位为4,则校验码的位数位9+4=13位;
2.校验码的位置一般为2^n(n≥0),即1,2,4,8,16.....,信息位的位置为除了校验码位置外从高到低进行排列;
3.校正的原则:想要校正第几(i)位,则应该满足对应的那几个校正位相加等于i。例如3=1+2;7=1+2+4。

4.确定每一位校验码参与的信息位后,对信息位进行异或⊕(相同的两个数异或为0,不同的两个数为1)

R1=B3⊕B5⊕B7⊕B9⊕B11⊕B13=1⊕0⊕1⊕0⊕1⊕0=1
R2=B2⊕B3⊕B6⊕B7⊕B10⊕B11=1⊕1⊕1⊕1⊕1⊕0=1
R3=B4⊕B5⊕B6⊕B7⊕B12⊕B13=0⊕0⊕1⊕1⊕0⊕0=0
R4=B8⊕B9⊕B10⊕B11⊕B12⊕B13=0⊕0⊕1⊕0⊕0⊕0=1
5.海明码只能检测并纠正一位错误
3. CRC循环冗余码校验(Cyclic Redundancy Check)
CRC校验码需根据CRC生成多项式进行,在原始数据的末尾,再加上一串校验位后发送给接收方,附加的数不是随意的,它要使所生成的新帧能与发送端和接收端共同选定的某个特定数整除(注意,这里不是直接采用二进制除法,而是采用一种称之为“模2除法”)。到达接收端后,再把接收到的新帧除以(同样采用“模2除法”)这个选定的除数。因为在发送端发送数据帧之前就已通过附加一个数,做了“去余”处理(也就已经能整除了),所以结果应该是没有余数。如果有余数,则表明该帧在传输过程中出现了差错。
4.ER模型(实体关系模型)
捕获现实世界的数据需求,并以简单、易理解的方式表现出来。
ER模型三要素:实体、关系、属性

最低0.47元/天 解锁文章
2094





