找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

385

积分

0

好友

47

主题
发表于 3 小时前 | 查看: 1| 回复: 0

课程简介

本课程是一门体系化的Linux系统编程深度教程,旨在帮助学习者从零开始,全面掌握Linux系统编程的核心原理与实战技能。课程内容涵盖文件系统(VFS、inode、IO缓存)、进程管理(创建、通信、守护进程)、多线程编程(同步、线程池)、时间管理以及从零实现一个Shell解释器等关键主题。通过深入的理论解析和丰富的编程实战(如实现ls、wc命令、音频播放器、协程项目),你将透彻理解Linux内核的工作机制,并具备独立开发复杂系统级应用的能力。课程配套完整的视频、课件、源码及实验指导,是嵌入式、后台开发等方向工程师夯实底层基础、迈向技术专家的高效学习路径。


下载地址

游客,如果您要查看本帖隐藏内容请回复

课程目录

00 入门篇

第1–14节:系统编程概念、POSIX标准、必备技能、错误处理、音频播放器实战等入门内容。

01 揭开文件系统的神秘面纱

第1–18节:文件存储原理、inode、超级块、VFS、文件描述符、链接及磁盘操作实验。

02 文件IO编程实战

第1–17节:文件打开模式、读写操作、属性获取、目录操作及实现ls、wc等命令实战。

03 文件IO缓存与内存映射

第1–11节:页高速缓存、块设备驱动、用户空间缓存、直接IO及文件内存映射技术。

04 打通进程与终端的任督二脉

第1–21节:进程创建、退出、调度、状态、信号、终端、进程组及守护进程等。

05 进程间通信

第1–30节:管道、FIFO、消息队列、共享内存、信号量、信号及文件锁等IPC机制。

06 从零实现一个shell解释器

第1–18节:Shell命令解析、内建命令、管道、后台运行、变量、环境变量及脚本控制。

07 多线程编程入门

第1–15节:线程概念、创建、属性、同步、互斥锁、条件变量、读写锁及线程池。

08 时间管理和定时器编程

第1–13节:时间概念、获取与转换、高精度时间及alarm、interval、POSIX定时器。

练手项目:使用C语言实现协程

第1–17节:协程原理、上下文保存与切换、API实现、动态栈及测试应用开发。

--- 点击展开详细目录 ---

第00期:入门篇

第00期:Linux系统编程入门

  • 🎬 0.1 什么是系统编程t?_ev-.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
  • 🎬 0.10 GNU编码风格-.mp4
  • 🎬 0.11 Linux哲学:一切皆文件-.mp4
  • 🎬 0.12 编程实战:音频播放器(上)-.mp4
  • 🎬 0.13 编程实战:音频播放器(下)t-.mp4
  • 🎬 0.14 后续课程学习路线t-.mp4
  • 📦 Linux系统编程第00期-.zip

第01期:揭开文件系统的神秘面纱

第01期:揭开文件系统神秘的面纱

  • 🎬 1.1 本期课程规划t_ev-.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
  • 🎬 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

第02期:文件IO编程实战

第02期:文件IO编程实战

  • 🎬 2.1 本期课程简介t_ev-.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
  • 🎬 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

第03期:文件IO缓存与内存映射

第03期:IO缓存与内存映射

  • 🎬 3.1 缓存的基本概念t_ev-.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
  • 🎬 3.10 文件映射内存的实现-.mp4
  • 🎬 3.11 将设备映射到内存-.mp4

第04期:打通进程与终端的任督二脉

第04期资料

  • 🎬 4.1 进程:程序运行的“牌照”t_ev-.mp4
  • 🎬 4.2 创建一个进程:fork t-.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
  • 🎬 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.20 0号进程和1号进程-.mp4
  • 🎬 4.21 小结:Linux进程全景图-.mp4

第05期:进程间通信

第05期:进程间通信

Linux_ipc_programing_chap5
5-1
5-10
5-11
5-12
5-13
5-14
5-15
5-16
5-18
5-19
5-2
5-20
5-21
5-22
5-23
5-24
5-26
5-27
5-28
5-29
5-3
5-4
5-5
5-6
5-7
5-8
client-server-client
client-server-clients
server-client
  • 🎬 5.1 什么是IPC?t_ev-.mp4
  • 🎬 5.2 无名管道(1):PIPE编程实例5-.mp4
  • 🎬 5.3 无名管道(2):shell中的管道实现_ev-.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
  • 🎬 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.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.30 D-BUS总线简介及小结-.mp4

第06期:从零实现一个shell解释器

第06期:从零实现一个shell解释器

  • 🎬 6.1 什么是shell解释器t_ev-.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
  • 🎬 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

第07期:多线程编程入门

第07期:多线程编程入门

  • 🎬 7.1 多线程编程的概念t_ev-.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
  • 🎬 7.10 线程同步:条件变量(上)-.mp4
  • 🎬 7.11 线程同步:条件变量(下)-.mp4
  • 🎬 7.12 线程同步:读写锁-.mp4
  • 🎬 7.13 线程池的概念-.mp4
  • 🎬 7.14 超线程技术-.mp4
  • 🎬 7.15 线程的概念-.mp4

第08期:时间管理和定时器编程

第08期:时间管理和定时器编程

  • 🎬 8.1 时间的概念5_ev-.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
  • 🎬 8.10 Linux中的定时器:alarm-.mp4
  • 🎬 8.11 Linux中的定时器:interval timer-.mp4
  • 🎬 8.12 Linux中的定时器:POSIX timer(上)-.mp4
  • 🎬 8.13 Linux中的定时器:POSIX timer(下)-.mp4

练手项目:使用C语言实现协程

练手项目:使用C语言实现协程

  • 🎬 1. 什么是协程?t_ev-.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
  • 🎬 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





上一篇:深入学习大厂C++技能 夯实+提升 掌握STL、多线程、设计模式与大厂面试真题
下一篇:以C++为引擎精通设计模式的艺术 23种设计模式深度解析 解读设计模式丰富内涵与灵活应用
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-14 23:10 , Processed in 0.287491 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表