做网站一个月赚多少钱,网站开发国内外现状,91大神网站建设,软件下载网站制作1、udp协议的特点有哪些#xff1f;
a、无连接#xff0c;发送和接收数据不需要建立连接#xff0c;开销小#xff0c;实时性好
b、不可靠传输#xff0c;不保证数据包能够到达目的地#xff0c;也不保证数据包的顺序
c、面向数据报的#xff0c;以数据报形式发送数据…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 将数据从一块存储拷贝到另外一块存储的技术是指将数据直接从磁盘文件复制到网卡设备中而不需要经由应用程序之手。
传统readwrite方式四次上下文切换和四次数据拷贝其中两次有CPU参与
主要方式有
mmapwrite方式四次上下文切换和三次数据拷贝用户空间到socket缓冲区时CPU参与
splice(通过内核管道做中转传递数据)两次上下文切换和两次数据拷贝要求有一个文件描述符需要支持管道
sendfile方式Linux2.4以前两次上下文切换和三次拷贝有一次是内核缓冲区拷贝到socket缓冲区Linux2.4及以后两次上下文切换和两次拷贝磁盘到内存缓冲区内存缓冲区到网卡缓冲区原来的内核缓冲区到socket内存缓冲区改为了非传统拷贝在socket缓冲区中引用指向内核缓冲区包含了偏移量等
4、说一说进程调度算法有哪些 先来先服务FCFSFirst-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根据等待时间和估计运行时间的比值响应比来选择下一个执行的进程以最大化响应比。特点可以减少平均等待时间但需要预先知道每个进程的运行时间。