计算机知识记录本
发布日期:2022-02-10 11:37:01 浏览次数:40 分类:技术文章

本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:(五)建筑物多边形化简系列——最小外接矩形的获取
下一篇:(三)建筑物多边形化简系列——去除冗余点

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月20日 23时37分05秒