02 2018 档案
摘要:本文参考华庭(庄明强)的ptmalloc2 源码剖析 简介: ptmalloc实现了malloc(),free()以及一组其他函数,以提供动态内存管理,同时支持多线程。分配器处于用户空间和内核空间之间,响应用户的分配请求,向操作系统申请内存。总体思想是先“批发”一块大内存,而后“零售”给用户,同时也
阅读全文
摘要:chunk 容器 ptmalloc统一管理heap和mmap区的chunk,避免了频繁的系统调用,一共维护了128个bin,使用数组来存储,所有的bin都是双向链表。 2.Fast Bins 对于不大于max_fast的chunk加入fast bins,标志位P不改变(为了不使其合并),在认为内存碎
阅读全文
摘要:pipe 函数 int pipe( int fd[2] ); 创建管道,半双工,字节流,容量默认65536字节。fd[0]用来读,fd[1]用来写。 可以用与父子进程间的无名管道,各自关闭一端。 int sockpair(int domain, int type, int protocol, int
阅读全文
摘要:register: 定义变量是寄存器保存,不写到内存上 static: static修饰变量: static修饰函数: NULL: 在c语言中 #define NULL (void*)0,所以对于指针来说p == NULL 和 p == 0 是一个道理。c++中 #define NULL 0 ,而对
阅读全文
摘要:TCP/IP协议族体系结构和主要协议 下层协议通过封装为上层协议提供相应的接口,通过头部信息中的类型字段实现分用。‘ ARP协议工作原理 主机向自己所在的网络广播一个ARP请求,目标地址会回应一个ARP应答,包含自己的物理地址。对于经常访问或最近访问的IP会放入ARP高速缓存。 ICMP: 一类是差
阅读全文
摘要:参考博文:http://www.cnblogs.com/huxiao-tee/p/4660352.html x86平台下linux进程虚拟地址空间分布(2.6.7以前版本) mmap区域与栈区域相对增长,只有1GB连续的虚拟地址空间可用。 x86平台下linux进程虚拟地址空间分布(2.6.7以后版
阅读全文
摘要:缺页异常 会出现缺页异常的情况: fork等系统调用时并没有映射物理页,写数据->缺页异常->写时拷贝 task_struct: linux描述进程的结构体 1.5个互斥状态,两个终止状态,同时定义了新的睡眠状态可以响应致命信号 使用thread_union来存放 thread_info 和 sta
阅读全文

浙公网安备 33010602011771号