程序员的自我修养-静态链接
列子演示 《深入理解计算机系统》中的例子 hello.h hello.c main.c mian.c中引用了hello函数,这里先对hello.c生成 .o 文…
2 次阅读程序员的自我修养-可执行文件的加载和进程
内存映射方式 程序的加载方式 ,覆盖载入,页映射,这两种方式都是利用了 局部性原理 覆盖载入 左边的程序是main调用A和B,A和B之间没有依赖关系,于是可以在…
2 次阅读程序员的自我修养-动态链接
例子演示 一个动态链接加载的例子如下 假设有p1.c 和 p2.C 都引用了 foo.c程序 foo.h内容如下 foo.c内容如下 p1.c 内容如下 p2….
3 次阅读程序员的自我修养-共享库的组织
共享库的组织方式 共享库使用 libname.so.x.y.z 这种形式 x表示主版本号,不同版本号之间可能不兼容 y表示次版本号,一般主版本号相同的次版本之间…
2 次阅读程序员的自我修养-内存
程序员的自我修养-运行库和系统调用
main函数并不是第一个执行的,ELF会有一个启动的入口函数 大致过程如下 1.操作系统创建好进程之后,把控制权交给程序的入口函数 2.入口函数对运行库和程序环…
5 次阅读ARP和RARP
ARP(地址转换协议) 格式如下: 以太网的数据包是46-1500字节,加上头部14字节,一个以太网包最少要60字节,所以ARP请求/应答包需要再补充18字节以…
5 次阅读TCP的未来和性能
路径MTU发现 TCP的路径MTU发现按照如下方式进行: 在建立连接时,TCP使用输出接口或对端声明的MSS中的最小MTU作为起始的报文段大小。路径MTU发现不…
4 次阅读TCP的拥塞控制
TCP的拥塞控制方法,是批量数据传输中最重要的,拥塞控制用于防止网络因为大规模的通讯负载而瘫痪 当认为网络即将进入拥塞状态,或者已经因为拥塞而出现路由器丢包情况…
7 次阅读