getfromcode

Linux C核心技术

体系课
课程简介

很多写C语言的开发者,日常都在和业务层打交道,但一旦遇到程序加载异常、进程卡死、内存泄漏或者性能调优时,往往只能依赖现成工具排查,根本原因是缺乏对操作系统底层运行机制的理解。这门课直击Linux环境下C程序的真实运行过程,从ELF文件如何被加载、进程如何被创建与退出,到内存布局如何划分、如何通过proc文件系统观察进程状态,把那些平时看不见摸不着的系统行为…

已有 0 人浏览 发布 2026-09-23 更新 2026-09-23

很多写C语言的开发者,日常都在和业务层打交道,但一旦遇到程序加载异常、进程卡死、内存泄漏或者性能调优时,往往只能依赖现成工具排查,根本原因是缺乏对操作系统底层运行机制的理解。这门课直击Linux环境下C程序的真实运行过程,从ELF文件如何被加载、进程如何被创建与退出,到内存布局如何划分、如何通过proc文件系统观察进程状态,把那些平时看不见摸不着的系统行为讲透。

这门课解决什么问题?学完能独立做什么?

它解决的是你在Linux上写C程序时,对“程序到底怎么跑起来、进程怎么管理、出了问题怎么查”这些核心问题的盲区。学完之后,你不仅能看懂系统调用的底层逻辑,理解fork与exec的进程创建机制及写时复制原理;能准确判断进程退出状态,独立处理僵尸进程回收问题;更能在遇到程序加载失败、内存越界、进程僵死等场景时,从原理层面定位并解决,而不是只会用grep和top等表层工具。

适合什么基础?建议先看哪几块?

适合已经能独立写C程序、能编译运行简单代码,且对Linux命令行有一定使用经验的人。不需要前置的操作系统原理宏微观知识,但需要C语言基础扎实。建议先看“程序加载与执行流程”和“进程创建与生命周期”这两块,它们分别是理解后续内存管理和系统调用的基石,看懂了这两块,后面ELF文件、内存布局、proc文件系统等内容就能顺下来。

资料怎么配合练习?

视频主要讲概念和原理,资料包里的代码和实验环境需要配合动手。建议边看边在本地环境或资料包提供的沙箱里跑简单的C程序,用strace观察系统调用,用ps和proc文件系统验证进程状态,把理论跟实际观察结合,遇到ELF加载失败或进程卡死时,能对照课程里的原理去排查,而不是只停留在“报错了”的表层。

课程目录

1-001.课程介绍.mp4 1-002.环境介绍.mp4 1-003.Linux程序介绍1.mp4 1-004.Linux程序介绍2.mp4 1-005.Linux程序介绍3.mp4 1-006.Linux程序介绍4.mp4 1-007.Linux程序介绍5.mp4 1-008.Linux程序介绍6.mp4 1-009.Linux程序介绍7.mp4 1-010.ELF文件数据段小端字节序说明.mp4 1-011.Linux加载ELF文件的过程1.mp4 1-012.Linux加载ELF文件的过程2.mp4 1-013.Linux加载ELF.mp4 1-014.Linux进程执行流程.mp4 1-015.程序的命令行参数和环境表.mp4 1-016.解释器脚本.mp4 1-017.系统调用说明.mp4 1-018.Linux进程内存布局说明.mp4 1-019.共享库介绍.mp4 1-020.forkandexec创建新进程1.mp4 1-021.forkandexec创建新进程2.mp4 1-022.forkandexec创建新进程3.mp4 1-023.COW写时复制.mp4 1-024.进程标识PID和PPID.mp4 1-025.vfork创建新进程.mp4 1-026.进程退出和状态码.mp4 1-027.exit退出函数说明.mp4 1-028.进程退出的其它方式.mp4 1-029.进程的内存数据proc1.mp4 1-030.进程的内存数据proc2.mp4 1-031.进程的内存数据proc3.mp4 1-032.进程的内存数据proc4.mp4 1-033.进程的观察.mp4 1-034.回收僵尸进程1.mp4 1-035.wait和waitpid回收僵尸进程.mp4 1-036.进程退出判断和状态1.mp4 1-037.进程退出判断和状态2.mp4 1-038.进程退出回收完结.mp4 1-039.进程execve执行.mp4 1-040.进程的执行顺序1.mp4 1-041.进程的执行顺序2.mp4 1-042.进程的资源限制设置与查看.mp4 1-043.SUID和SGID进程1.mp4 1-044.SUID和SGID进程2.mp4 1-045.system函数.mp4 1-046.进程关系1.mp4 1-047.进程关系2.mp4 1-048.进程关系3.mp4 1-049.进程关系4.mp4 1-050.进程关系5.mp4 1-051.进程关系6.mp4 1-052.进程关系7.mp4 1-053.守护进程编写1.mp4 1-054.守护进程编写2.mp4 1-055.中断信号介绍.mp4 1-056.编写中断信号处理函数.mp4 1-057.中断系统调用介绍.mp4 1-058.中断系统调用.mp4 1-059.信号屏蔽字和信号集.mp4 1-060.信号集和未决集.mp4 1-061.SIGKILL和SIGSTOP特殊的中断信号.mp4 1-062.信号的发送及总结.mp4 1-063.进程间通信介绍.mp4 1-064.匿名管道进程间通信.mp4 1-065.命名管道进程间通信1.mp4 1-066.命名管道进程间通信2.mp4 1-067.IPC对象之消息队列1.mp4 1-068.IPC对象之消息队列2.mp4 1-069.IPC对象之消息队列3.mp4 1-070.IPC对象之消息队列4.mp4 1-071.IPC对象之信号量集1.mp4 1-072.IPC对象之信号量集2.mp4 1-073.IPC对象之信号量集3.mp4 1-074.IPC对象之共享内存.mp4 1-075.网络进程间通信介绍.mp4 1-076.IPV4 TCP 套接字网络进程间通信1.mp4 1-077.IPV4 TCP 套接字网络间通信2.mp4 1-078.IPV4 TCP套接字网络间通信3.mp4 1-079.IPV4 TCP 套接字网络间通信4.mp4 1-080.IPV4 TCP套接字网络间通信5.mp4 1-081.IPV4 套接字进程 tcp socket表.mp4 1-082.IPV4 UDP 套接字网络间通信1.mp4 1-083.IPV4 UDP 套接字网络间通信2.mp4 1-084.IPV4 UDP套接字网络间通信3.mp4 1-085.IPV4 UDP套接字进程 udp socket表.mp4 1-086.UNIX socket通信介绍.mp4 1-087.UNIX socket 匿名套接字通信1.mp4 1-088.UNIX socket 匿名套接字通信2.mp4 1-089.UNIX socket tcp套接字通信.mp4 1-090.UNIX UDP套接字进程间通信1.mp4 1-091.UNIX UDP 套接字进程间通信2.mp4 1-092.进程池通信综合案例1.mp4 1-093.进程池通信综合案例2.mp4 1-094.进程池通信综合案例3.mp4 1-095.进程池通信补充说明.mp4 1-096.https协议项目开发介绍.mp4 1-097.epoll IO复用函数使用1.mp4 1-098.epoll IO复用函数使用2.mp4 1-099.initSocketBindListen封装.mp4 1-100.线程创建和退出1.mp4 1-101.线程创建和退出2.mp4 1-102.多线程参数传递和修改.mp4 1-103.多线程操作共享数据.mp4 1-104.多线程互斥锁.mp4 1-105.多线程互斥锁和条件变量的使用.mp4 1-106.createPhread和epollCtl封装.mp4 1-107.接收连接和封装connection.mp4 1-108.addConnection和Accept封装.mp4 1-109.connection客户端结构封装.mp4 1-110.连接线程代码调整及浏览器访问测试.mp4 1-111.连接recvData封装.mp4 1-112.removeClient和pushData.mp4 1-113.writeData封装和数据收发测试.mp4 1-114.brokePipe解决和eventSet.mp4 1-115.https协议基础认识1.mp4 1-116.https协议基础认识2.mp4 1-117.https协议之hasMessage.mp4 1-118.https协议解析之https_parse.mp4 1-119.splitStr字符分割.mp4 1-120.method和uri和version获取.mp4 1-121.header请求头解析.mp4 1-122.请求体和查询字符串查询解析.mp4 1-123.onRequest和response.mp4 1-124.浏览器测试和fix bug.mp4 1-125.https静态资源响应1.mp4 1-126.https静态资源响应2.mp4 1-127.https响应二进制图片bug fix.mp4 1-128.服务进程退出exit.mp4 1-129.服务进程退出和释放内存.mp4 1-130.https c10k高并发测试.mp4 2-001.ELF Header重要信息说明.mp4 2-002.Section Header Table段表解释.mp4 2-003.text代码段和data数据段等段的解释.mp4 2-004.text段机器指令码解释.mp4 2-005.数据段和指令码对应的汇编指令.mp4 2-006.字符串表和符号表解释.mp4 2-007.符号SymbolName地址访问.mp4 2-008.Linux intel处理器ATT汇编指令解释.mp4 2-009.intelx86-64架构指令码.mp4 2-010.静动链接与进程虚拟地址空间和ELF文件映射.mp4 2-011.linux动态链接器与动态库说明.mp4 2-012.ELF静态链接可执行程序.mp4 2-013.CPU运行机器指令码原理.mp4 2-014.动态库的使用和显示调用.mp4 2-015.程序的入口函数是main吗.mp4 2-016.Linux系统调用syscall说明.mp4 2-017.c语言和java语言系统调用.mp4 2-018.golang和各种脚本语言系统调用.mp4 2-019.32位int汇编指令调用系统syscall.mp4 2-020.64位syscall汇编指令调用系统调用及性能统计.mp4 2-021.手动修改Linux ELF二进制文件的数据段和指令.mp4 2-022.golang和c程序结合使用与机器指令码.mp4 2-023.课程简单总结与展.mp4
课程购买
课程价格
金币29.9
299金币限时优惠会员免费
销量:0
💎 开通会员每日免费下载,比单买更划算 →
支付成功后会自动显示下载资源云盘的链接!点击链接即可下载到本地。