摘要: 三次握手的原因是: 防止过期的连接请求到达服务器端,如果只有两次握手,则服务器端会建立一个不需要的连接, 因此会造成服务器资源的浪费。 四次挥手的原因: 发送fin请求的一方请求断开连接,但是另一方可能还有数据需要发送,因此可以选择不关闭本端的 连接,从而继续发送数据,而另一段发送fin的时间由其自 阅读全文
posted @ 2020-08-14 22:13 一只小菜鸡a 阅读(701) 评论(0) 推荐(0)
摘要: 1 慢启动和拥塞避免算法 慢启动指的是,起始阶段将cwnd的窗口大小设置为mss,每当经过一个传输轮次,窗口的大小增加一倍, 也就是说一个rtt的时间内,窗口的大小增加一倍。 慢启动的过程当中,需要设置一个慢启动的门限,小于慢启动阈值时使用慢启动算法,当大于门限时,开 始使用拥塞避免算法,此时减慢c 阅读全文
posted @ 2020-08-14 21:40 一只小菜鸡a 阅读(609) 评论(0) 推荐(0)
摘要: 当内存不断扩大的过程当中,页表项也会不断的增大,为了能够查找的效率,我们一般使用 连续的内存空间来存储页表,因此当页表项很多时需要很大一块的连续内存空间来存储页表项, 这样当内存紧张时对内存造成很大的浪费。 因此考虑使用多级页表的方式,以两级页表的情况举例,第一级页表称其为目录项,目录项 当中存储的 阅读全文
posted @ 2020-08-14 16:36 一只小菜鸡a 阅读(1512) 评论(0) 推荐(0)
摘要: 程序在进行函数调用时要跳转到函数的入口处去执行,此事需要保存当前的现场,调用完成之后还需要 恢复现场,因此函数的调用有一定的空间和时间的开销。 宏定义的使用类似函数,但是没有参数压栈,代码生成的开销,由预处理器来实现,调用的方式也是使 用简单的文本替换,不会对参数的类型以及返回值的类型进行检查,因此 阅读全文
posted @ 2020-08-14 15:53 一只小菜鸡a 阅读(579) 评论(0) 推荐(0)
摘要: 内核栈是操作系统当中的一块固定的区域,用于保存中断现场,操作系统子进程之间的调用的参数和返回值。 用户栈是用户空间当中的区域,用于保存用户进程当中各个子程序之间调用的参数和返回值等信息。 当在用户态执行的程序由于中断进入内核态之后,会将原本的用户态的栈指针保存到内核栈中,从内核态返回 后会通过内核栈 阅读全文
posted @ 2020-08-13 15:17 一只小菜鸡a 阅读(578) 评论(0) 推荐(0)
摘要: 进程的几种通信方式当中,使用共享内存的方法是最快的,因为进程间共享内存, 避免了数据的拷贝,所以比较快。实现共享内存的机制有以下两种: 1 mmap的方式,通过打开一个已经存在的文件,将文件映射到内存的地址空间当 中,进程可以像访问内存一样访问映射的文件区域,不需要以访问普通文件一样访问 映射后的文 阅读全文
posted @ 2020-08-06 09:24 一只小菜鸡a 阅读(269) 评论(0) 推荐(0)
摘要: fork和vfork的作用都是产生一个新的子进程,但是vfork的目的是产生了子进程 之后就立即调用exec来执行一个新程序,它不会讲父进程的地址空间完全的复制到子 进程的地址空间当中。 vfork和fork相比还有一个区别就是,vfork会保证子进程先运行,父进程只有在等 待子进程执行了exec或 阅读全文
posted @ 2020-08-04 22:02 一只小菜鸡a 阅读(145) 评论(0) 推荐(0)
摘要: 右值,不能够用取地址&来获得对象内存地址的值。 右值引用,使用type&& 来取得对右值对象的引用,可以通过右值引用来对右值对象 进行相应的修改,定义了右值引用过后,对象会被存储到固定的内存位置当中,对右值 引用进行取地址的操作可以获得右值的存储地址。 左值一般是持久的状态,右值要么是字面值常量,要 阅读全文
posted @ 2020-08-03 21:17 一只小菜鸡a 阅读(247) 评论(0) 推荐(0)
摘要: 一般而言,有多少个核心就可以同时运行多少个线程,但是如果线程的数目设置为 小于等于核心的数目的话,当某个线程不占用核心时就会造成内核资源的浪费,因此一 般设置的线程数目都是大于cpu的核心数目,这样能够保证内核能够被充分的利用,但是 如果线程的数量过多的话处理的效率会下降。 一般线程池当中线程的数量 阅读全文
posted @ 2020-08-03 09:23 一只小菜鸡a 阅读(935) 评论(0) 推荐(0)
摘要: 粘包问题即主要的解决方法: 粘包问题的主要原因是,操作系统在发送数据前会先将数据存放在发送缓冲区当中, 发送数据过多或者过少都会造成当前发送的数据当中包含的是多个请求的内容,就造成 了粘包的问题。 1 发送端使用固定长度的包进行发送,若当前的包的长度不足指定的长度,使用空格 将剩余的长度补齐。收端按 阅读全文
posted @ 2020-08-02 21:45 一只小菜鸡a 阅读(300) 评论(0) 推荐(0)