
本文共 2672 字,大约阅读时间需要 8 分钟。
1.原子操作 AtomicAdd32
①所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)。
②原子操作是不需要synchronized(同步)
③如果这个操作所处的层(layer)的更高层不能发现其内部实现与结构,那么这个操作是一个原子(atomic)操作。
原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割而只执行其中的一部分。
将整个操作视作一个整体是原子性的核心特征。
2.同步 synchronization
进程同步和数据同步。
进程同步指多个进程在特定点会合(join up)或者握手使得达成协议或者使得操作序列有序。数据同步指一个数据集的多份拷贝一致以维护完整性。常用进程同步原语实现数据同步。
线程或进程同步:多个线程(或进程)要执行同一个特定的不可重入的程序代码块(称为临界区),这就需要适当的并发控制同步技术。否则,可能会发生竞态条件。
同步需处理:死锁、资源饿死、优先级翻转、忙等待
经典同步问题:生产者消费者问题 (有限缓存区问题)、读写问题、哲学家就餐问题
3.死锁 deadlock
当两个以上的运算单元,双方都在等待对方停止运行,以获取系统资源,但是没有一方提前退出时,就称为死锁。在多任务操作系统中,操作系统为了协调不同行程,能否获取系统资源时,为了让系统正常运作,必须要解决这个问题
例如,一个进程 p1占用了显示器,同时又必须使用打印机,而打印机被进程p2占用,p2又必须使用显示器,这样就形成了死锁。 因为p1必须等待p2发布打印机才能够完成工作并发布屏幕,同时p2也必须等待p1发布显示器才能完成工作并发布打印机,形成循环等待的死锁。
如果系统中只有一个进程,当然不会产生死锁。如果每个进程仅需求一种系统资源,也不会产生死锁。不过这只是理想状态,在现实中是可遇不可求的。
①死锁的四个条件是:
禁止抢占(no preemption):系统资源不能被强制从一个进程中退出。
持有和等待(hold and wait):一个进程可以在等待时持有系统资源。
互斥(mutual exclusion):资源只能同时分配给一个行程,无法多个行程共享。
循环等待(circular waiting):一系列进程互相持有其他进程所需要的资源。
死锁只有在四个条件同时满足时发生,预防死锁必须至少破坏其中一项。
②预防
我们也可以尝试回避死锁。因为在理论上,死锁总是可能产生的,所以操作系统尝试监视所有进程,使其没有死锁。
③消除
最简单的消除死锁的办法是重启系统。更好的办法是终止一个进程的运行。
同样也可以把一个或多个进程回滚到先前的某个状态。如果一个进程被多次回滚,迟迟不能占用必需的系统资源,可能会导致资源匮乏。
4.多点协作传输(CoMP,Coordinated Multiple Points Transmission/Reception)
指地理位置上分离的多个传输点,协同参与为一个终端的数据(PDSCH)传输或者联合接收一个终端发送的数据(PUSCH)。
5.TCP/UDP
基于连接与无连接;
对系统资源的要求(TCP较多,UDP少);
UDP程序结构较简单;
流模式与数据报模式 ;
TCP保证数据正确性,UDP可能丢包;
TCP保证数据顺序,UDP不保证。
知识参考知乎 https://zhuanlan.zhihu.com/p/24860273
6.ARQ机制
自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之一。它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。如果发送方在发送后一段时间之内没有收到确认帧,它通常会重新发送。ARQ可能包括停止等待ARQ协议和连续ARQ协议,错误检测(Error Detection)、正面确认(Positive Acknowledgment)、超时重传(Retransmission after Timeout)和负面确认及重传(Negative Acknowledgment and Retransmission)等机制。
AQR协议的一个特点是:发送窗口的大小 <= 窗口总数
停止并等待(停等)ARQ协议(stop-and-wait)
停等ARQ协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议。即发送方发送一个帧后,必须接收到一个确认帧(ACK)才能发送下一个。停等ARQ协议的工作原理如下:
①发送点对接收点发送数据包,然后等待接收点回复ACK并且开始计时。
②在等待过程中,发送点停止发送新的数据包。
③当数据包没有成功被接收点接收时候,接收点不会发送ACK.这样发送点在等待一定时间后,重新发送数据包。
④反复以上步骤直到收到从接收点发送的ACK。
发送点的等待时间应当至少大于传输点数据包发送时间(数据包容量除以发送点传输速度),接收点ACK接收时间(ACK容量除以接收点传输速度),数据在连接上的传送时间,接收点检验接收数据是否正确的时间之和。在实际应用当中,等待时间是这个和的2到3倍。
这个协议的优点是原理简单,广泛运用与分组交换网络。
缺点是较长的等待时间导致低的数据传输速度。在低速传输时,对连接频道的利用率比较好,但是在高速传输时,频道的利用率会显著下降。
连续ARQ协议(continuous ARQ)
为了克服停等ARQ协议长时间等待ACK的缺点,这个协议会连续发送一组数据包,然后再等待这些数据包的ACK。
回退N帧ARQ协议 (Go Back N)
原理:
①接收端丢弃从第一个没有收到的数据包开始的所有数据包
②发送端收到NACK后,从NACK中指明的数据包开始重新发送
选择性重传ARQ协议(Selective Repeat)
原理:
①发送端连续发送数据包但对每个数据包都设有个一个计时器
②当在一定时间内没有收到某个数据包的ACK时,发送端只重新发送那个没有ACK的数据包
本店知识参考:
维基百科:
https://zh.wikipedia.org/wiki/%E8%87%AA%E5%8A%A8%E9%87%8D%E4%BC%A0%E8%AF%B7%E6%B1%82
知乎 https://zhuanlan.zhihu.com/p/261152357
5G协议官网公开资料链接
转载地址:https://blog.csdn.net/Fan_z_0802/article/details/109237629 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关于作者
