专题一:Linux系统管理与基础
专题二:Linux环境编程(C/C++)
专题三:Linux网络与高并发编程
专题四:Linux内核与驱动开发
培训对象:
零基础或刚接触Linux的开发/运维人员
希望夯实Linux系统使用与管理技能的工程师
从Windows环境转向Linux开发的从业者
培训目标:
掌握Linux系统安装、常用命令、文件系统、用户权限、进程管理、网络配置等核心技能,能够独立进行Linux环境搭建与日常维护,理解系统启动流程与服务管理。
培训内容:
Linux发行版选择与系统安装:CentOS/Ubuntu安装、分区方案、引导程序配置、软件源设置
命令行基础与Shell编程:常用命令(find/grep/awk/sed)、管道与重定向、Shell脚本编写与调试
文件系统与权限管理:目录结构、文件属性、权限机制(chmod/chown)、ACL、链接文件
用户与组管理:用户/组创建与删除、环境变量配置、sudo权限控制、PAM认证基础
进程管理与调度:进程查看(ps/top/htop)、作业控制、nice值调整、systemd服务管理
系统监控与性能分析:CPU/内存/磁盘/网络监控(vmstat/iostat/iftop)、日志分析(journalctl/rsyslog)
软件包管理:RPM/YUM、APT/DPKG、源码编译安装、软件仓库配置
网络配置与故障排查:IP配置、路由设置、网络诊断工具(ping/traceroute/ss/tcpdump)
存储管理与LVM:磁盘分区、格式化、挂载、逻辑卷管理(LVM)、磁盘配额
系统启动流程与引导:BIOS/UEFI、GRUB配置、init进程、systemd单元文件
系统安全基础:防火墙(firewalld/iptables)、SELinux/AppArmor、SSH安全配置
虚拟化与容器基础:KVM虚拟机管理、Docker安装与基本操作、容器网络与存储
培训对象:
具备C/C++基础、希望转向Linux平台开发的工程师
嵌入式开发、中间件开发、后台服务开发人员
需要理解Linux系统调用与库函数的开发者
培训目标:
熟练使用GCC/GDB/Make等工具链,掌握Linux系统编程核心接口(文件I/O、进程/线程、信号、IPC),能够开发健壮的系统级应用程序。
培训内容:
Linux开发环境搭建:编辑器(Vim/VSCode)、GCC编译选项、静态库与动态库制作
Makefile与构建工具:Makefile规则编写、变量与函数、CMake入门与实战
GDB调试技术:断点设置、单步执行、查看堆栈、多线程调试、core文件分析
文件I/O编程:系统调用与C库函数对比、文件描述符、缓冲机制、高级I/O(mmap/sendfile)
进程管理与控制:fork/vfork/exec家族、孤儿进程与僵尸进程、守护进程编写
信号处理:信号生命周期、信号集操作、自定义信号处理函数、可重入函数
多线程编程:pthread线程创建与回收、线程属性、线程局部存储、线程取消
线程同步机制:互斥锁、条件变量、读写锁、信号量、自旋锁、死锁预防
进程间通信(IPC):管道、FIFO、消息队列、共享内存、信号量集、Socket本地通信
内存管理:堆内存分配(malloc/free)、内存泄漏检测、内存映射、内存池设计
错误处理与日志:errno处理、strerror/perror、syslog日志记录、断言使用
性能分析与优化:gprof性能剖析、valgrind内存检查、perf热点分析、代码优化技巧
培训对象:
后端开发、网络中间件开发工程师
需要构建高并发服务器的开发者
希望深入理解TCP/IP协议栈与网络模型的工程师
培训目标:
掌握Socket网络编程、TCP/UDP协议原理、多线程/多进程并发模型,熟悉I/O多路复用(select/poll/epoll)及常见网络框架(libevent),能够设计高性能网络服务。
培训内容:
TCP/IP协议栈详解:TCP三次握手/四次挥手、滑动窗口、拥塞控制、UDP特性
Socket API编程:socket/bind/listen/accept/connect、字节序转换、地址复用
TCP服务器并发模型:多进程并发、多线程并发、进程池/线程池实现
I/O多路复用:select/poll原理与局限性、epoll事件驱动、边缘触发与水平触发
Reactor模式设计:基于epoll的Reactor框架实现、事件驱动编程思想
高性能网络框架应用:libevent/libuv安装与使用、定时器集成、异步DNS解析
协程编程入门:协程原理、ucontext/boost.context、协程在高并发中的应用
HTTP协议解析与实现:HTTP报文格式、状态码、HTTP服务器实现、WebSocket协议
网络安全编程:SSL/TLS协议、OpenSSL库使用、数字证书、HTTPS服务器搭建
网络性能优化:零拷贝技术(sendfile)、TCP参数调优、连接池、缓冲区优化
负载均衡与反向代理:LVS/HAProxy原理、Nginx配置与模块开发基础
容器化网络与服务发现:Docker网络模式、Kubernetes Service概念、etcd/Consul入门
培训对象:
嵌入式系统开发、驱动开发工程师
希望深入理解操作系统底层机制的软件工程师
从事系统优化、内核定制的研究人员
培训目标:
理解Linux内核架构与关键子系统(进程调度、内存管理、文件系统、设备驱动),掌握内核模块开发与简单驱动编写,能够进行内核配置与编译,初步具备内核调试能力。
培训内容:
内核源码获取与结构:内核版本管理、源码目录结构、Kconfig与Makefile
内核配置与编译:menuconfig配置、交叉编译环境搭建、内核镜像生成与安装
内核模块开发:模块编写框架、模块加载/卸载、模块参数传递、模块依赖
字符设备驱动:设备号分配、file_operations实现、与用户空间数据交互(copy_to/from_user)
并发与同步机制:自旋锁、信号量、互斥体、RCU机制、原子操作
中断处理:注册中断处理函数、上半部与下半部(tasklet/workqueue)、线程化中断
时间管理与内核定时器:jiffies、高精度定时器、内核延时函数
内存管理子系统:页分配、slab分配器、内存映射、DMA与CMA
进程调度与CFS:进程优先级、调度类、CFS算法实现、实时进程调度
设备树(Device Tree):设备树语法、绑定文档、平台设备驱动模型
块设备驱动与文件系统:块设备注册、请求队列、简单的文件系统实现概念
内核调试与性能分析:printk与动态调试、ftrace/tracepoint使用、kdump/crash分析、kgdb远程调试