CMU 15-213 Malloc Lab
1. Introduction
- 用 malloc 申请一块内存空间作为自己的空闲内存;
- 实现自己的
void *myalloc(int size)
和int myfree(void *ptr)
函数,用于分配和回收内存,替代 malloc 和 free 函数; - 采用最先适应、最优适应或最差适应分配算法对空闲内存进行管理。
void *myalloc(int size)
和 int myfree(void *ptr)
函数,用于分配和回收内存,替代 malloc 和 free 函数;程序设计语言的发展:机器语言 → 汇编语言 → 高级语言
编译器的作用:把某一种高级语言程序等价地转换成另一种低级语言程序
编译程序的工作过程大致可以分为五个阶段:词法分析、语法分析、语义分析和中间代码生成、代码优化、目标代码生成。
Lab6 是一个选择性的实验,在前 6 个实验中我们已经完成了网络的框架:
该实验的目的是使用前述的网络栈实现真实的网络通信,这需要我们有个 partner, 或者一人分饰两角。
Lab5 要求实现一个简易的路由器,通常路由器会有多个网络接口,能够从任意一个接口接收网络数据报。路由器的作用就是将 datagrams 依据路由表进行转发,路由表定义了路由转发的一些规则:
Lab4 要求实现网络接口部分,打通网络数据报(Internet datagrams)和链路层的以太网帧(link-layer Ethernet frames)之间的桥梁。之前的实验实现了 TCP segments 在使用 TCP 协议的设备之间的传输,而 TCP 报文有三种方式可被传送至远程服务器: