日常学习--20240706

1、udp协议的特点有哪些?

a、无连接,发送和接收数据不需要建立连接,开销小,实时性好

b、不可靠传输,不保证数据包能够到达目的地,也不保证数据包的顺序

c、面向数据报的,以数据报形式发送数据

复制代码
// 创建DatagramPacket对象,包含要发送的数据、长度、服务器地址和端口
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, address, port);

d、支持广播和多播形式,UDP支持广播和多播功能,这使得UDP能够向多个目的地址发送相同的数据报。

2、TCP如何保证可靠的传输?

序列号和确认应答、超时重传、校验和、流量控制、拥塞控制、连接自动管理、数据分块的方式保证可靠传输。

序列号和确认应答:保证数据到达客户端,客户端能够对数据进行去重、排序等

超时重传:客户端超过定时器时间未应答,则重传

校验和:客户端对数据进行校验和计算对比服务端校验和,如果不一致,则认为数据在传输过程中发生异常,要求服务端重传。

流量控制:服务端会依据客户端的接收窗口大小,调整自己的发送数据速率,避免客户端过多数据堆积,导致丢包重发

拥塞控制:在网络拥堵时,服务端会自动调整自己的发送速率

连接管理:TCP三次握手和四次挥手,确保服务端和客户端已连接

数据分段:TCP数据报文分块,出现丢包等异常时只需重发异常部分。

3、Linux系统的零拷贝技术?

零拷贝(Zero-Copy)就是一种避免 CPU 将数据从一块存储拷贝到另外一块存储的技术,是指将数据直接从磁盘文件复制到网卡设备中,而不需要经由应用程序之手。

传统read+write方式:四次上下文切换和四次数据拷贝(其中两次有CPU参与)

主要方式有:

mmap+write方式:四次上下文切换和三次数据拷贝(用户空间到socket缓冲区时CPU参与)

splice(通过内核管道做中转传递数据),两次上下文切换和两次数据拷贝(要求有一个文件描述符需要支持管道)

sendfile方式:Linux2.4以前,两次上下文切换和三次拷贝(有一次是内核缓冲区拷贝到socket缓冲区);Linux2.4及以后,两次上下文切换和两次拷贝(磁盘到内存缓冲区,内存缓冲区到网卡缓冲区;原来的内核缓冲区到socket内存缓冲区改为了非传统拷贝,在socket缓冲区中引用指向内核缓冲区包含了偏移量等)

4、说一说进程调度算法有哪些

  • 先来先服务(FCFS,First-Come, First-Served):按照进程到达的先后顺序进行调度,先到达的进程先执行。

  • **短作业优先调度(SJF, Shortest Job First):**选择估计运行时间最短的进程优先执行,以减少平均等待时间。特点:可以最大程度地减少平均等待时间,但可能会导致长作业被饿死(即长时间得不到执行)。

  • 时间片轮转调度(RR, Round-Robin): 所有进程按照到达顺序排成一个队列,每个进程执行一个时间片后,将CPU时间片分配给下一个进程。特点:适用于时间片较短的情况,能够平衡各个进程的执行,但可能导致上下文切换频繁。

  • **优先级调度(PSA, Priority Scheduling Algorithm):**为每个进程分配一个优先级,优先级高的进程先获得CPU时间片。特点:可以根据不同的情况调整优先级,但可能导致低优先级的进程长时间等待,出现饥饿现象。

  • **多级反馈队列调度(MFQ, Multi-level Feedback Queue Scheduling):**将进程分为多个队列,每个队列有不同的优先级和时间片大小。进程在一个队列中执行完毕后,可以进入下一个优先级较高的队列。特点:能够兼顾不同类型的作业,既可以保证短作业优先执行,又可以避免长作业饥饿。

  • **最高响应比优先调度(HRRN, Highest Response Ratio Next):**根据等待时间和估计运行时间的比值(响应比)来选择下一个执行的进程,以最大化响应比。特点:可以减少平均等待时间,但需要预先知道每个进程的运行时间。

相关推荐
2301_796512523 小时前
Rust编程学习 - 为什么说Cow 代表的是Copy-On-Write, 即“写时复制技术”,它是一种高效的 资源管理手段
java·学习·rust
故里21303 小时前
学习前端记录(二)21-40
学习
希赛网3 小时前
倒计时两天!软考网络工程师案例分析模拟题
网络·网络工程师·软考·案例分析题·考前复习
ThreeYear_s4 小时前
电力电子技术学习路径与FPGA/DSP技术结合方向(gemini生成)
学习·fpga开发
熙xi.4 小时前
以太网帧格式、IP数据报头部、TCP头部、UDP头部
网络·tcp/ip·udp
好奇龙猫4 小时前
【生活相关-日语-日本-入国&出国-海关&市役所(4)-办理手续】
学习·生活
sendnews4 小时前
红松小课如何成为激活老年人生活的新引擎?从兴趣学习到价值重塑!
学习·生活
The_Second_Coming4 小时前
ELK 学习笔记
笔记·学习·elk
盛世宏博智慧档案4 小时前
新生产力算力机房内部温湿度之以太网监控系统方案
运维·服务器·网络·算力·温湿度
星释4 小时前
Rust 练习册 16:Trait 作为返回类型
java·网络·rust