zoukankan      html  css  js  c++  java
  • 计算机的存储

    计算机的存储

    1. 层次化存储
      包括: 寄存器,cache(L1,L2,L3), 内存,disk(SSD)

    locality(局部性):指令/数据周围的有很大概率被访问,时间上相近的访问很可能被重复访问

    带来的问题就是 false memory: 伪共享

    1. 缓存上去的数据可能是老的数据,而没有读取新的数据
    2. 缓存是已经被更新的数据,还没有写入内存

    cpp volatile 关键字:
    主要是让编译器不要过度优化,每次访问数据应该访问的是内存的数据,而不是寄存器的数据

    数据的一致性

    1. VM 和PM
    • VM:访问的地址空间可以比物理地址更多,大大增加可访问地址空间
    • 不同进程可以访问相同的虚拟地址,但不是相同的物理地址,保证了进程地址空间的隔离
    • TLB加速查找,硬件上,但是OS管理;但TLB也可能还没有构建出映射,也可能已有的映射从TLB被踢出了;所以会发生TLB miss,要么从页表中找或者构建新的表项
    • 物理页用完了,没有新的叶框;会用一定的策略将其存在disk(swap)

    reg, cache (芯片内部)

    memory (容易丢失)

    disk(SSD)

    BIOS: 不荣容易丢失的,上电之后最开始执行的程序

    4次挥手

    • 主动关闭链接方发送FIN豹纹,进入FIN_WAIT_1状态
    • 被动方发送ACK豹纹,进入CLOSE_WAIT状态
    • 主动方接受ACK,进入FIN_WAIT__2状态,等被动方发送完所有数据并发送FIN豹纹,被动进入LAST_ACK
    • 主动方收到FIN,发送ACK;主动方进入TIME_WAIT,等到2MSL之后才进入CLOSE状态
    • 被动方收到ACK后,从LAST_ACK进入 CLOSE 状态

    为什么要2MSL

    1. 确保ACK能够到达被动方,如果ACK没有到达的比如丢失了,会触发重发FIN报文
    2. 确保被动方发的包能够被主动方接受,所以需要2MSL的时间(这里是指在建立阶段传输的数据包) 如果在关闭链接之后再建立链接,数据包才到达会造成数据错乱

    过多TIME_WAIT状态危害:

    1. 内存资源的占用
    2. 对端口资源的占用

    如果建立连接,但是客户端突然出现故障

    TCP 保活机制
    定义一个时间段,如果没有任何连接相关的活动,TCP的包活机制
    每个一个时间间隔,发送一个探测报文,如果连续几个探测报文没有响应,则认为当前TCP连接已经死亡

    socket编程

    服务端需要 穿件socket,bind,listen
    客户端执行connect, 服务端执行accept就会建立连接(三次握手)
    read write() 读和发送数据
    close() 用于关闭连接

    3次握手

    • 服务端listen端口
    • 主动发起连接方,发送SYN报文 seq=x
    • 被动连接方,接受报文SYN,ACK, 发送 seq=y, ack = x+1
    • 主动方接收到 ,发送ACK, ack = y+1

    为什么3次握手

    • 避免历史连接,如果一个旧的SYN 报文比新的SYN报文先到服务端,那么服务端响应ACK,SYN, 客户端发现是旧的SYN报文就会发送RST终止这次连接;如果是两侧握手就无法终止判断当前连接是否为历史连接
    • 同步双方的序列序列号;如果客户端不恢复ack,无法确认服务端的序列号是否被同步
    • 避免资源浪费,因为sYN只会建立半连接队列

    ISN随机

    1. 如果序列号相同,无法分辨该报文是否为历史报文
    2. 安全性,反之黑客伪造相同序列号的TCPO报文被对方接受

    SYN 泛洪攻击

    攻击这短时间内伪造不同的IP的SYN报文

    1. 控制队列大小
  • 相关阅读:
    设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
    数组模拟栈(C语言)
    JDBC数据源连接池的配置和使用实例
    servlet 具体实现
    MySQL查询数据表中数据记录(包括多表查询)
    java开发中的23中设计模式
    eclipse使用和优化配置
    将博客搬至CSDN
    itext poi 学习之旅 (3)读取数据库信息并由excel展现出来
    itext poi 学习之旅 (2)创建excel
  • 原文地址:https://www.cnblogs.com/fridayfang/p/14722162.html
Copyright © 2011-2022 走看看