-
- Unix操作系统
-
- Go和进程
- 2.1 进程是什么
- 2.2 进程的特点
- 2.3 Go也是进程
- 2.4 Go进程一览
- 2.5 小节
-
- 进程概述
- 3.1 进程ID
- 3.2 父进程
- 3.3 进程描述符
- 3.4 进程的资源限制
- 3.5 进程的环境变量
- 3.6 进程的参数
- 3.7 进程退出
- 3.8 小结
-
- 进程内存空间
- 4.1 内存空间分布
- 4.2 内存申请和释放
- 4.3 缺页异常
- 4.4 页框回收
- 4.5 换页和交换
- 4.6 小节
- 5.进程fork
- 5.1 fork函数
- 5.2 CoW设计
- 5.3 僵尸进程
- 5.4 孤儿进程
- 5.5 小结
- 6.进程的通信
- 6.1 进程通信
- 6.2 pipe通信
- 6.3 socket通信
- 6.4 IPC通信
- 6.5 信号量通信
- 6.6 小结
- 7.Daemon程序
- 7.1 什么是Daemon程序
- 7.2 如何成为Daemon程序
- 7.3 Go怎么成为Daemon程序
- 7.4 进程组和session组
- 7.5 小结
- 8.线程
- 8.1 什么是线程
- 8.2 并行和并发
- 8.3 多线程编程
- 8.4 Go和线程的关系
- 8.5 小节
- 9.线程管理
- 9.1 线程的创建
- 9.2 线程属性
- 9.3 线程池
- 9.4 线程销毁
- 9.5 线程的调度
- 9.6 小结
- 10.线程同步
- 10.1 多线程数据读取和互斥
- 10.2 多线程同步工具
- 10.3 互斥锁
- 10.4 信号量
- 10.5 关键段
- 10.6 事件
- 10.7 小结
- 11 Go内存分配
- 11.1 基础类型的内存
- 11.2 Map的内存模型
- 11.3 interface的内存模型
- 11.4 小结
- 12 Go struct的实现
- 13.goroutine的实现
- 14.channel的实现
- 15.Go的GC实现
- 16.Go的runtime设计
- 17.Go与文件系统
- 18.Go与网络交互
- 19.Go与Cgo的配合
- 20.Go设计中的Unix思想