LWN.net 上有一系列的 “What every programmer should know about memory” ,完整的 PDF 文档。
下面是这个系列文章的网页版列表,内存知识体系。
和内存相关的论文,做一些程序的性能优化方面。
内存管理方面的 lib 库。目前而言,BSD 的 jemalloc 有很大的影响力。
关于 C 的这些内存分配器,可以参看 Wikipedia 的 “C Dynamic Memory Allocation”这个词条。
下面是几篇不错的文章,感觉一下上面那三种内存分配器的一些比较和工程实践。
《计算机网络(第五版)》,这本中有很多细节。全书按照网络协议模型自下而上(物理层、数据链路层、介质访问控制层、网络层、传输层和应用层)有系统地介绍了计算机网络的基本原理,并结合 Internet 给出了大量的协议实例。
这本书还与时俱进地引入了最新的网络技术,包括无线网络、3G 蜂窝网络、RFID 与传感器网络、内容分发与 P2P 网络、流媒体传输与 IP 语音,以及延迟容忍网络等。另外,本书针对当前网络应用中日益突出的安全问题,用了一整章的篇幅对计算机网络的安全性进行了深入讨论,而且把相关内容与最新网络技术结合起来阐述。这本书读起来并不枯燥,因为其中有很多小故事和小段子。
两个网上的教程和讲义也可以让人入门。
实用的可以操作的技术。
读 RFC 有几个好处,一方面可以学习技术,另一方面,你可以通过 RFC 学习到一个好的技术文档是怎么写的,还能看到各种解决问题的方案和思路。
对于第 2 层链路层,需要了解一下 ARP:
以及 Tunnel 相关的协议:
对于第 4 层,最需要了解的是 TCP/IP 。《TCP 的那些事儿(上)》和《TCP 的那些事儿(下)》两篇文章。
经典论文《Congestion Avoidance and Control》。
关于 Linux 下的 TCP 参数,TCP 的 man page 。
对于第 7 层协议,HTTP 协议是重点要学习的。
《HTTP 权威指南 》,这本书有点厚,可以当参考书来看。这本书中没有提到 HTTP/2 的事,但是可以让你了解到 HTTP 协议的绝大多数特性。
HTTP 1.1 的原始 RFC 是 1999 年 6 月的 RFC 2616,但其在 2014 后很快被下面这些 RFC 给取代了。
关于HTTP/2,这是 HTTP 的一个比较新的协议,它于 2015 年被批准通过,现在基本上所有的主流浏览器都默认启用这个协议。所以,你有必要学习一下这个协议。下面是相关的学习资源。
Wikipedia 的 Internet Protocol Suite 上看看,这是一个很不错的网络协议的词条汇集地。
原文:https://www.cnblogs.com/17bdw/p/10708380.html