STEP_1
写时复制(Copy-on-Write)是 fork 的性能优化:子进程初始时与父进程共享物理内存页,只有当某方尝试写入时才真正复制该页。这使得 fork+exec 的模式(创建子进程立即执行新程序)非常高效,因为共享的内存页根本不需要复制。资源隔离的基本单位 — PROCESSING
process.log
// Linux fork() 创建进程
pid_t pid = fork();
if (pid == 0) {
// 子进程:拥有完整独立的地址空间副本
// 修改变量不影响父进程(写时复制 COW)
printf("Child PID: %d\n", getpid());
execve("/bin/ls", args, env); // 替换进程映像
} else {
// 父进程
printf("Parent, child PID: %d\n", pid);
waitpid(pid, &status, 0); // 等待子进程退出
}
// 进程控制块 PCB 包含:
// - PID / PPID
// - 虚拟地址空间映射
// - 打开的文件描述符表
// - 信号处理函数表
// - CPU 寄存器快照(上下文)进程:进程是操作系统分配资源(内存、文件描述符、网络端口)的基本单位。每个进程拥有独立的虚拟地址空间,进程间通过 IPC(管道、Socket、共享内存)通信。创建进程需要 fork() 复制父进程的完整内存空间,代价高昂(典型耗时 1-10ms)。
实时沙盒SANDBOX
FAULT_INJECTED
快速场景
手动调节
并发单元数量
同时运行的进程/线程/协程数
1000个
并发数适中,系统负载正常
并发单元类型
影响内存消耗和切换代价
协程适合大规模 IO 并发
IO 密集型负载
关闭表示 CPU 密集型