OS-内存管理

空闲空间管理

当内存总被划分为固定大小的块时,内存的管理比较容易。但如果需要将内存划分为可变长度的块,比如malloc和free、操作系统的分段操作,会出现我们熟悉的内存碎片问题。

OS-访问系统对象

lseek

之前在地址空间一文中提及 mmap 可以映射文件到内存地址空间,并通过指针实现随机访问。对于使用 read/write 的情形,系统调用 lseek 同样可以达成这个目的。

OS-抽象-地址空间

为什么我们需要虚拟化内存?

换句话说,虚拟化内存有什么好处?

一个很自然的想法是操作系统本身占用一部分内存,用户的程序(进程)直接操作内存占用剩余的内存空间。但这样会带来以下问题:

OS-抽象-进程

时分共享:允许资源由一个实体使用一小段时间,然后由另一个实体使用一小段时间,如此下去。

CS144-总结

Check 0: 内存可靠字节流性能优化

吞吐量优化目标

为满足最终基准测试要求,系统需实现至少0.2Gbit/s的持续吞吐量。经性能分析发现,数据弹出操作(pop)的实现方式可能成为主要性能瓶颈。