报名:《Linux任督二脉》之《进程调度》4节系列微课

Linux的进程调度和内存管理是理解Linux的关键,如果这2个问题理不清,Linux的脉络就打不通,很多问题就无法得到解释。

这是宋宝华老师《Linux任督二脉-进程和内存》的第一脉——《Linux的进程、线程以及调度》,试图解决进程的生命周期、调度算法、多核负载均衡、Linux实时性等一系列的问题。

之前已有400多位童鞋学习过《进程调度》,仍然有很多新童鞋需要学习,特意再开一次微课。

大纲

本课程作为《打通Linux脉络系列》中的一个分系列,分成4个组成部分,每次课70分钟。每次课后留下3~4个练习题,可以在微信群或者Linuxer公众号留言讨论答案和做题心得。

第一部分深入彻底地搞清楚进程生命周期,进程生命周期创建、退出、停止,以及僵尸是个什么意思;

第二部分,深入分析进程创建的写时拷贝技术、以及Linux的线程究竟是怎么回事(为什么称为轻量级进程),此部分也会搞清楚进程0、进程1和托孤,以及睡眠时的等待队列;

第三部分,搞清楚Linux进程调度算法,不同的调度策略、实时性,完全公平调度算法;

第四部分,搞清楚Linux多核下的CPU、中断、软负载均衡,cgroups调度算法以及Linux为什么不是一个实时操作系统,如何把Linux变成一个硬实时的操作系统。

通过这4部分的学习,彻底理清Linux的进程、线程,弄清楚你写的内核和应用程序在系统里面究竟是如何跑,知其然,知其所以然。

针对人群:Linux开发者以及其他对进程调度感兴趣的开发者

指导老师: 宋宝华

上课时间: 2018.5.22-2018.5.25 晚上9点,约70分钟,共4晚

上课形式:

2个微信群1个群上课采用图、语音、关键部分电脑演示录屏视频分享形式(可无限次数回看);另外1个群深度技术答疑模式和讨论。

FAQ:

如果直播的时间段在加班怎么办?

提前报名后,已经加入了上课微信群,就可以收到上课内容,之后再看也没有问题。

课程结束后能再报名吗?

是不可以的,因为没有在上课前进入上课群,所以收不到上课的内容。

第一部分大纲

Linux进程生命周期(就绪、运行、睡眠、停止、僵死)

僵尸是个什么鬼?

停止状态与作业控制,cpulimit

内存泄漏的真实含义

task_struct以及task_struct之间的关系

初见fork和僵尸

练习题

fork的例子

life-period例子,观察僵尸

用cpulimit控制CPU利用率

第二部分大纲

fork、vfork、clone

写时拷贝技术

Linux线程的实现本质

进程0和进程1

进程的睡眠和等待队列

孤儿进程的托孤,SUBREAPER

练习题

fork、vfork、Copy-on-Write例子

life-period例子,实验体会托孤

pthread_create例子,strace它

彻底看懂等待队列的案例

第三部分大纲

1. CPU/IO消耗型进程

2. 吞吐率 vs. 响应

3. SCHED_FIFO、SCHED_RR

4. SCHED_NORMAL和CFS

5. nice、renice

6. chrt

练习题

运行2个高CPU利用率程序,调整他们的nice

用chrt把一个死循环程序调整为SCHED_FIFO

阅读ARM的big.LITTLE架构资料,并论述为什么ARM要这么做?

第四部分大纲

多核下负载均衡

中断负载均衡、RPS软中断负载均衡

cgroups和CPU资源分群分配

Android和NEON对cgroups的采用

Linux为什么不是硬实时的

preempt-rt对Linux实时性的改造

练习题

用time命令跑1个含有2个死循环线程的进程

用taskset调整多线程依附的CPU

创建和分群CPU的cgroup,调整权重和quota

cyclictest

报名方法

报名价格

(早鸟) 4/30日前: 333元

(非早鸟) 4/30日后: 388元

(已经报名内存五节、IO四节微课的童鞋,以及CSDN进程课的童鞋,有优惠条款,详情咨询客服)

报名方法

扫描微信二维码,加好友,发报名红包,入课程群:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180331B1IIBT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券