Jim Blog

Personal Blog Powered By Jim

TCP停止等待协议、连续ARQ协议

TCP停止等待协议、连续ARQ协议 停止等待协议 所谓停止等待协议就是每发送完一组数据后,等待对方确认并且收到确认后,再发送下一组数据。 可能会发生四种情况:无差错,出现差错,确认丢失和确认迟到 出现差错 当B收到M1时,检测出了差错,就抛弃M1,并什么也不做 A在超过一段时间仍然没有收到确认,就认为数据丢失了,然后会重传一次。这叫超时重传 确认丢失 当A发送M1消息,B收到后,B向A发送......

TCP流量控制和拥塞控制

TCP流量控制和拥塞控制 什么是拥塞控制和流量控制 流量控制:如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。 TCP的流量控制是利用滑动窗口机制实现的,接收方在返回的数据中会包含自己的接收窗口的大小,以控制发送方的数据发送。 拥塞控制:拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。 两者的区别:流量控制是为了预防拥塞。如:在马路上......

TCP粘包和拆包

TCP粘包和拆包 什么是粘包和拆包 为了提高带宽利用率,tcp协议会使用Nagle算法,将多个数据包打包成一个tcp报文发送出去,这就是所谓的粘包。 而如果通讯的一端发送的数据包超过一次tcp报文所能传输的最大值MTU时,就会将一个数据包拆成多个最大tcp长度的tcp报文分开传输,这就叫做拆包。 MTU: 泛指通讯协议中的最大传输单元。一般用来说明TCP/IP四层协议中数据链路层的最大传输单......

TCP三次握手和四次挥手

TCP三次握手和四次挥手 TCP是可靠的双向通道传输协议,所以需要三次握手建立连接和四次挥手关闭连接来保证信息传输的可靠性。 报文标识位 先来了解一下TCP在握手连接时候的报文用到的标志位。 SYN:建立连接消息的标志 ACK(Acknowledgment Number):应答消息的标志 FIN:连接关闭的标志 三次握手 第一次握手:建立连接。客户端发送SYN连接请求报文段,将SYN位......

OSI七层协议、TCP/IP四层协议

OSI七层协议、TCP/IP四层协议 OSI七层网络模型 TCP/IP四层概念模型 对应网络协议 应用层(Application) 应用层 HTTP、TFTP, FTP, NFS, WAIS、SMTP 表示层(Presentation) 应用层 Telnet, Rlogin, SNMP, Gopher 会话层(Session) 应用层 SMTP, DNS 传输层(T......

页面置换算法

页面置换算法 当通过虚拟地址映射物理地址的过程中,发现页面不存在,此时就会发生缺页中断。需要通过页面置换算法将硬盘中的信息置换到内存中 最佳置换算法 OPT 从主存中移出永远不再需要的页面;如无这样的页面存在,则选择最长时间不需要访问的页面。于所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。 先进先出置换算法 FIFO 是最简单的页面置......

死锁

死锁 什么是死锁 在并发环境下,各进程竞争资源而造成的一种相互等待对方手里资源,导致各个进程都阻塞,都无法向前推进的现象,就是死锁 死锁的必要条件 互斥条件:对必须互斥访问的资源的争抢才会导致死锁 不可剥夺条件:进程所获的的资源没有使用完之前,不能由其他进程强行夺走,只能主动释放 循环等待条件:存在循环等待链,链上的每一个进程已经获得的资源被下一个进程请求。 请求和保持条件:进程已经获取了......

生产者消费者问题

生产者消费者问题 对于缓冲区而言是互斥的,同一时刻只能由一个进程完成生产或消费(缓冲区是临界资源,各进程必须互斥的访问) 生产者、消费者共享一个初始为空、大小为n的缓冲区。 只有缓冲区没满时,生产者才能把产品放进缓冲区,否则必须等待。 只有缓冲区不空时,消费者才能从中取出产品,否则等待。 1234567891011121314151617181920212223242526272829se......

进程同步与进程互斥

进程同步与进程互斥 进程互斥 进程互斥也称为间接制约关系,进程间对临界资源的访问,必须是互斥的执行。指一个进程进入临界区访问临界资源的时候,其他进程只能等待。 123456do { entry section; // 进入区 检查是否可以进入临界区,可以进入,设置访问临界资源的标志,防止其他进程进入 critical section; // 临界区 访问临界资源的代......

调度算法

调度算法 调度算法的评价指标 cpu利用率 = 忙碌时间 / 总时间 系统吞吐量 = 总完成作业 / 总时间,单位时间内完成作业数量 周转时间 = 作业完成时间 - 作业到达时间,包含各种等待时间 等待时间 = 进程建立之后等待到被服务的时间之和 + 在外存后备队列等待时间(进行时等待IO不算) 响应时间 = 用户提交请求到首次产生响应的时间 调度算法 先来先服务FCFS 既可以用于作业调度......