
面向C/C++后端与嵌入式开发者的Linux“内功”心法,课程不满足于API的简单调用,而是致力于带你透过现象看本质。通过“内核原理剖析—系统调用实战—底层组件重构”的三维教学模式,你将深入Linux内核的毛细血管。课程从GNU编码规范、一切皆文件哲学讲起,深入文件系统(VFS、Inode)、进程管理(Fork、Exec、COW)、进程间通信(IPC)及多线程(锁、条件变量)的核心机制。课程的重头戏在于手写Shell解释器与C语言实现协程库,让你在一行行代码中彻底理解操作系统的调度逻辑,具备开发高性能服务器与底层中间件的硬核实力。
课程目录:
+—第00期:入门篇
| | 0.1 什么是系统编程t?_ev.mp4
| | 0.10 GNU编码风格.mp4
| | 0.11 Linux哲学:一切皆文件.mp4
| | 0.12 编程实战:音频播放器(上).mp4
| | 0.13 编程实战:音频播放器(下)t.mp4
| | 0.14 后续课程学习路线t.mp4
| | 0.2 一个系统编程的例子(上)t.mp4
| | 0.3 一个系统编程的例子(下)t.mp4
| | 0.4 系统调用与C标准库.mp4
| | 0.5 POSIX标准.mp4
| | 0.6 系统编程必备技能(上):man命令.mp4
| | 0.7 系统编程必备技能(中):info命令.mp4
| | 0.8 系统编程必备技能(下):strace命令.mp4
| | 0.9 系统调用错误处理.mp4
| | Linux系统编程第00期.zip
| |
| \—第00期:Linux系统编程入门
| fruit.wav
| linux_program_00.tar.gz
|
+—第01期:揭开文件系统的神秘面纱
| | 1.1 本期课程规划t_ev.mp4
| | 1.10 文件系统的挂载.mp4
| | 1.11 文件系统类型.mp4
| | 1.12 虚拟文件系统:VFS.mp4
| | 1.13 文件描述符.mp4
| | 1.14 文件指针.mp4
| | 1.15 硬链接和软链接.mp4
| | 1.16 一些命令.mp4
| | 1.17 实验:磁盘格式化及挂载.mp4
| | 1.18 实验:恢复删除的文件t.mp4
| | 1.2 文件在磁盘上的存储(上)t.mp4
| | 1.3 文件在磁盘上的存储(下).mp4
| | 1.4 文件在Flash上的存储(上).mp4
| | 1.5 文件在Flash上的存储(下).mp4
| | 1.6 文件系统索引节点:inode.mp4
| | 1.7 超级块:superblock.mp4
| | 1.8 目录和目录项.mp4
| | 1.9 文件路径解析.mp4
| |
| \—第01期:揭开文件系统神秘的面纱
| 第01期:揭开文件系统的神秘面纱.pdf
|
+—第02期:文件IO编程实战
| | 2.1 本期课程简介t_ev.mp4
| | 2.10 实现ls命令:支持-c参数.mp4
| | 2.11 音频播放器:实现循环列表播放.mp4
| | 2.12 实现ls命令:支持-l参数.mp4
| | 2.13 有关目录的其它操作.mp4
| | 2.14 相对路径转绝对路径.mp4
| | 2.15 编程实战:实现 wc 命令(上).mp4
| | 2.16 编程实战:实现 wc 命令(中).mp4
| | 2.17 编程实战:实现 wc 命令(下).mp4
| | 2.2 文件的打开模式t.mp4
| | 2.3 文件的读写权限t_ev.mp4
| | 2.4 文件的读写函数.mp4
| | 2.5 文件读写位置与定位.mp4
| | 2.6 获取文件的属性信息.mp4
| | 2.7 实现shell命令:ll.mp4
| | 2.8 读取目录文件内容.mp4
| | 2.9 实现ls命令:支持多个目录.mp4
| |
| \—第02期:文件IO编程实战
| char2.tar
| 第02期:文件IO编程实战(平价资源).pdf
|
+—第03期:文件IO缓存与内存映射
| | 3.1 缓存的基本概念t_ev.mp4
| | 3.10 文件映射内存的实现.mp4
| | 3.11 将设备映射到内存.mp4
| | 3.2 页高速缓存(上)t.mp4
| | 3.3 页高速缓存(中)_ev.mp4
| | 3.4 页高速缓存(下).mp4
| | 3.5 块设备驱动架构.mp4
| | 3.6 用户空间的IO缓存.mp4
| | 3.7 Scatter_Gather IO.mp4
| | 3.8 直接IO.mp4
| | 3.9 将文件映射到内存.mp4
| |
| \—第03期:IO缓存与内存映射
| chap3(平价资源. com).tar
| 第03期:IO缓存与内存映射.pdf
|
+—第04期:打通进程与终端的任督二脉
| | 4.1 进程:程序运行的“牌照”t_ev.mp4
| | 4.10 进程状态.mp4
| | 4.11 进程的UID和GID.mp4
| | 4.12 通过proc查看进程资源.mp4
| | 4.13 与进程通信:信号.mp4
| | 4.14 终端与控制台.mp4
| | 4.15 进程组与会话.mp4
| | 4.16 前台进程和后台进程.mp4
| | 4.17 守护进程.mp4
| | 4.18 僵尸进程.mp4
| | 4.19 孤儿进程.mp4
| | 4.2 创建一个进程:fork t.mp4
| | 4.20 0号进程和1号进程.mp4
| | 4.21 小结:Linux进程全景图.mp4
| | 4.3 子进程的运行:借壳上市_ev.mp4
| | 4.4 写时复制与vfork.mp4
| | 4.5 进程的退出:exit.mp4
| | 4.6 进程的退出:exit与_exit.mp4
| | 4.7 进程的退出:vfork与exit.mp4
| | 4.8 等待子进程终止:wait.mp4
| | 4.9 进程调度.mp4
| |
| \—第04期资料
| chap4(平价资源. com).tar.gz
| Linux系统编程第04期:打通进程与终端的任督二脉.pdf
|
+—第05期:进程间通信
| | 5.1 什么是IPC?t_ev.mp4
| | 5.10 system V 消息队列.mp4
| | 5.11 消息队列应用:点对点通信.mp4
| | 5.12 消息队列应用:多人聊天室.mp4
| | 5.13 system V 共享内存.mp4
| | 5.14 system V 信号量.mp4
| | 5.15 信号量编程应用:对共享内存的同步访问.mp4
| | 5.16 信号量编程应用:生产者-消费者模型.mp4
| | 5.17 POSIX IPC简介.mp4
| | 5.18 消息队列(上):API编程实例.mp4
| | 5.19 消息队列(中):异步通知.mp4
| | 5.2 无名管道(1):PIPE编程实例5.mp4
| | 5.20 消息队列(下):内核实现.mp4
| | 5.21 POSIX 信号量.mp4
| | 5.22 POSIX 共享内存.mp4
| | 5.23 文件锁.mp4
| | 5.24 信号机制:signal.mp4
| | 5.25 编写安全的信号处理函数.mp4
| | 5.26 信号底层API:sigaction函数.mp4
| | 5.27 Linux新增API:signalfd.mp4
| | 5.28 Linux新增API:timerfd.mp4
| | 5.29 Linux新增API:eventfd.mp4
| | 5.3 无名管道(2):shell中的管道实现_ev.mp4
| | 5.30 D-BUS总线简介及小结.mp4
| | 5.4 无名管道(3):通过管道与shell命令进行通信.mp4
| | 5.5 无名管道(4):通过管道同步进程.mp4
| | 5.6 命名管道:FIFO.mp4
| | 5.7 FIFO应用:LOG日志系统的实现.mp4
| | 5.8 FIFO应用:服务端与客户端通信.mp4
| | 5.9 IPC 对象和 IPC key.mp4
| |
| \—第05期:进程间通信
| chap5:Linux_ipc_programing(平价资源).pdf
|
+—第06期:从零实现一个shell解释器
| | 6.1 什么是shell解释器t_ev.mp4
| | 6.10 支持进程的后台运行.mp4
| | 6.11 实现shell的管道命令(上):思路分析.mp4
| | 6.12 实现shell的管道命令(下):编码实现.mp4
| | 6.13 实现脚本的解析和运行.mp4
| | 6.14 实现shell脚本语法:if-else流程控制.mp4
| | 6.15 shell变量的实现.mp4
| | 6.16 设置shell的环境变量.mp4
| | 6.17 实现shell的export命令.mp4
| | 6.18 代码优化及小结.mp4
| | 6.2 shell命令的执行过程t.mp4
| | 6.3 在子进程中运行shell命令_ev.mp4
| | 6.4 解析用户输入的命令并执行.mp4
| | 6.5 代码优化及封装.mp4
| | 6.6 打印彩色命令提示符.mp4
| | 6.7 实现shell内建命令:cd.mp4
| | 6.8 实现shell内建命令:exit.mp4
| | 6.9 增加对信号的处理操作.mp4
| |
| \—第06期:从零实现一个shell解释器
| shell(平价资源. com).tar.gz
|
+—第07期:多线程编程入门
| | 7.1 多线程编程的概念t_ev.mp4
| | 7.10 线程同步:条件变量(上).mp4
| | 7.11 线程同步:条件变量(下).mp4
| | 7.12 线程同步:读写锁.mp4
| | 7.13 线程池的概念.mp4
| | 7.14 超线程技术.mp4
| | 7.15 线程的概念.mp4
| | 7.2 多线程学习准备工作t.mp4
| | 7.3 创建一个新线程:pthread_create_ev.mp4
| | 7.4 线程的终止.mp4
| | 7.5 等待线程的终止.mp4
| | 7.6 线程属性.mp4
| | 7.7 线程的调度与运行.mp4
| | 7.8 线程安全.mp4
| | 7.9 线程同步:互斥锁.mp4
| |
| \—第07期:多线程编程入门
| pthread(平价资源. com).tar.gz
| 第07期:多线程编程入门.pdf
|
+—第08期:时间管理和定时器编程
| | 8.1 时间的概念5_ev.mp4
| | 8.10 Linux中的定时器:alarm.mp4
| | 8.11 Linux中的定时器:interval timer.mp4
| | 8.12 Linux中的定时器:POSIX timer(上).mp4
| | 8.13 Linux中的定时器:POSIX timer(下).mp4
| | 8.2 时间的计量.mp4
| | 8.3 Linux系统中的时间管理_ev.mp4
| | 8.4 获取当前的时间.mp4
| | 8.5 时间格式转换.mp4
| | 8.6 将时间转换为字符串.mp4
| | 8.7 用户指定格式的字符串.mp4
| | 8.8 获取高精度时间:微秒.mp4
| | 8.9 获取高精度时间:纳秒.mp4
| |
| \—第08期:时间管理和定时器编程
| 第08期:时间管理和定时器编程(平价资源).pdf
| 第08期:时间管理和定时器编程.tar.gz
|
\—练手项目:使用C语言实现协程
| 1. 什么是协程?t_ev.mp4
| 10. 实现协程的API:coroutine_create.mp4
| 11. 实现协程的API:coroutine_yield.mp4
| 12. 实现协程的API:coroutine_resume.mp4
| 13. 优化coroutine_yield的参数.mp4
| 14. 支持给协程传递参数.mp4
| 15. 修改协程栈为动态内存.mp4
| 16. 支持用户指定协程栈大小.mp4
| 17. 一个测试应用程序.mp4
| 2.协程的实现原理t.mp4
| 3. 保存和设置当前函数上下文_ev.mp4
| 4.添加项目的Makefile.mp4
| 5. 继续完善我们的API.mp4
| 6. 使用POSIX API:getcontext.mp4
| 7. 使用POSIX API:makecontext.mp4
| 8. 使用POSIX API:swapcontext.mp4
| 9. 使用swapcontext切换func1和func2.mp4
|
\—练手项目:使用C语言实现协程
coroutine.tar.gz
下载地址:
感谢您的来访,获取更多精彩文章请收藏本站。


















