为了避免在 Linux 系统上也出现这种命名混乱的问题,在 1994 年推出了 FSSTND 的 Linux 文件系统层次结构标准,后来 UNIX 团队把 FSSTND 发扬光大,成为了后来的 FHS 。
应用层可以通过系统调用接口层或文件操作来调用内核函数,BSD socket 层的 sock_write 会调用 INET socket 层的 inet_wirte。具体设备的发送函数在协议栈初始化的时候已经设置了。
Slab原理及实现1.整体关系图注:SLAB,SLOB,SLUB都是内核提供的分配器,其前端接口都是一致的,其中SLAB是通用的分配器,SLOB针对微小的嵌入式系统,其算法较为简单,SLUB是面向配备大量物理内存的大规模并行系统,通过也描述符中未使用的字段来管理页组,降低SLUB
副本 sk_buff 会被送往网络层,等它发送完的时候就会释放掉,然后原始的 sk_buff 还保留在传输层,目的是为了实现 TCP 的可靠传输,等收到这个数据包的 ACK 时,才会释放原始的 sk_buff 。