学习使用Libc编程, include中各个头文件分类使用, Gcc编译器和 Make工具使用和原理。
时间 2 天
开发工具
- 开发库libc
- 头文件
- 链接库
- C编译器
- 通过源码安装
- Patch打补丁
编译构建
- make
- autoconf
- 脚本语言
内存管理
- 虚拟地址和物理地址
- Linux分段分页机制
- mm_struct 描述进程的地址空间
- malloc用户态内存申请
进程和线程
- 进程创建 do_fork
- 写时复制
- 用户线程创建
进程间通信
- 信号
- 命名管道
- Socket
- UNIX域套接字
并发
- 原子变量Atomic
- 自旋锁Spin_lock
- 信号量Semaphore
- 互斥Mutex
- 读写锁Rw-lock
- 抢占Preempt
- 内存屏障MemoryBarrier
中断机制
- 系统调用
- 中断流程
- SIG信号处理机制
输入输出
- vfs 文件系统层
- IO多路复用
- 零拷贝技术
- mmap共享内存虚拟地址空间
- sendfile
网络层数据流
- sk_buff数据结构
- socket接口层
- netfilter包过滤机制
调试和工具
- 进程coredump文件
- gdb调试
- SystemTap
- strace和DTrace