- 博客(6)
- 收藏
- 关注
原创 UNP 学习笔记 2:socket 编程简介
单个地址结构体一个 TCP 套接字是用一对 ip:port 的四元组构成的,我们使用结构体保存一个 ip:port, 这个结构体是 sockaddr_in 和 sockaddr_in6. 对于数据链路层的套接字,这个结构体是 sockaddr_dl, 地址则是和 (ip:port) 相呼应的链路层地址。 我们为了支援所有结构体,提供通用的 connect 和 socket 函数调用,历史由于没有 void* (前 ANSI C 时期),所有的函数调用都带有第三个参数,which is 用来传结...
2021-09-26 21:05:52 153
原创 UNP 学习笔记 2:协议概述与传输层对应 socket 函数行为
OS ,应用以及他们用的协议首先明确所有的 IP 层及以上都需要操作系统内核网络栈处理。所以底层 OS 实际接触到的层次是数据链路层。tcpdump 能实现的原理即字节访问数据链路层, 这里涉及 BSD packet filter 和 datalink provider interface 两种方法直接访问底层。 ICMP 是独立于 TCP,UDP,SCTP 的一个基于 IP 上的网际控制报文协议,ping 和 traceroute 都会用。这里 traceroute 实际是用发送没用的 UDP...
2021-09-26 15:25:06 295
原创 UNP 学习笔记 1:Socket 编程基础
学习一下 UNP,这里做一些笔记以及结合计网学习对一些点给出自己的理解,方便之后自己复习。资料是 UNPv13e 书本,UNP 课本源码。同时参考的还有 APUE 以及 linuxmanual。UNP ch1 简介daytime 客户端程序 socket 套接字,支持网络层到其更上层的各种连接。 其中 UNIX域 specify the network layer protocal such as x.25/ipv4/ipv6 etc. the type spe...
2021-09-26 10:10:13 274
原创 C++ 标准库 mutex, condition variable, lock 辨析及读写锁编写 互斥锁条件变量锁辨析互斥锁条件变量区别
看C++ 的时候发现我操作系统白读了,竟然忽然看不懂 C++ 的 RWlock。这里记录一下。。。。内核的自旋锁和睡眠锁先复习这个:从自旋锁、睡眠锁、读写锁到 Linux RCU 机制讲解 - RzBu11023R - 博客园 (cnblogs.com)gmutex condition_variable lock概念先区分一下 lock,mutex,ca 的概念,特别是 lock 是作为 mutex 的 RAII 实现这一点是 C++ 学习目的。C++ 文档看这几个:..
2021-09-22 18:43:33 669
原创 传输层协议《TCP/IP详解 卷1:协议》学习笔记
IP 层是 No Control 的没有流量控制和差错控制, 一个原因是不同hop的router要频繁的解包和重新封装, 留控和差错控制降低效率. 反正网络层尽最大可能交付, 其他的在上层的传输层搞定不就好了.而且下层的数据链路层已经有流控和差错控制了, 不必要添加太多冗余.网络层只有IP头有Checksum, 检测网络层设备修改这个IP头MAC头TTL的时候的错误. 不检测数据包数据payload 的完整和正确性. 而且尽最大可能发送还会出现发不成功的情况.所以传输层要负责检验自己的数据的错误和流
2021-09-19 12:44:36 329
原创 GC垃圾回收、RAII实现概述 自己动手写垃圾回收器 C语言垃圾回收器 自己写GC
课本是: 日本人写的 垃圾回收算法与思想, 可能要配套看一些论文, GC 是因为 6.s081 vm 的用法里提了一下, DUNE 应用里面也提到了 user level 应用 s 模式指令来完成 GC 的一个例子.常见 GC 总结 算法 堆利用 复杂度 默认下 STW 可改进缺点 改进 其他优缺点 保守与精确 Mark
2021-09-01 20:45:03 1062
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人