打通Linux脉络系列:进程、线程和调度
本课程分成4个组成部分,每次课60分钟。每次课后会留下3~4个练习题,可以在微信群或者Linuxer公众号留言讨论答案和做题心得。
- 第一部分深入彻底地搞清楚进程生命周期,进程生命周期创建、退出、停止,以及僵尸是个什么意思;
- 第二部分,深入分析进程创建的写时拷贝技术、以及Linux的线程究竟是怎么回事(为什么称为轻量级进程),此部分也会搞清楚进程0、进程1和托孤,以及睡眠时的等待队列;
- 第三部分,搞清楚Linux进程调度算法,不同的调度策略、实时性,完全公平调度算法;
- 第四部分,讲解Linux多核下CPU、中断、软负载均衡,cgroups调度算法以及Linux为什么不是一个实时操作系统。
第一部分_生命
pid
pid的数量时有限的
cat /proc/sys/kernel/pid_max
[root@mxl ~]# cat /proc/sys/kernel/pid_max
32768
Fork炸弹
- ( ) {: |:&};:
task_struck被管理,三个不同角度描述进程
链表 遍历进程
树 pstree
哈希 pid–>task_struct kill -9 pid
Linux进程生命周期(就绪、运行、睡眠、停止、僵死)
僵尸是个什么鬼?