51CTO 王利涛 嵌入式工程师自我修养:Linux系统编程
内容简介
Linux 系统编程,Linux系统调用API编程,还是嵌入式工程师自我修养的系列课程,至此,王利涛的课程基本上已经全部完毕了。
资源目录
——/计算机教程/17-51CTO/042-嵌入式工程师自我修养:Linux系统编程
Linux系统编程视频教程配套文档代码
第00期:Linux系统编程入门
fruit.wav 35.56MB
linux_program_00.tar.gz 260KB
Linux系统编程00期:入门篇.pdf 1.03MB
第01期:揭开文件系统神秘的面纱
第01期:揭开文件系统的神秘面纱.pdf 1.35MB
第02期:文件IO编程实战
char2.tar 30KB
第02期:文件IO编程实战.pdf 784.88KB
第03期:IO缓存与内存映射
chap3.tar 20KB
第03期:IO缓存与内存映射.pdf 1.12MB
第04期资料
chap4.tar.gz 60KB
Linux系统编程第04期:打通进程与终端的任督二脉.pdf 1.47MB
第05期:进程间通信
chap5:Linux_ipc_programing.pdf 1.82MB
Linux_ipc_programing_chap5
5-1
receiver.c 602B
sender.c 549B
5-10
msg_ctl.c 1.32KB
msg_rcv.c 964B
msg_snd.c 923B
5-11
client1.c 1.29KB
client2.c 1.22KB
5-12
client.c 1.45KB
readme 60B
server.c 1.15KB
5-13
shm_read.c 682B
shm_write.c 800B
5-14
sem_creat.c 1.68KB
5-15
shm_read.c 1.94KB
shm_write.c 1.91KB
5-16
comsumer.c 2.49KB
producer.c 2.62KB
5-18
mq_demo.c 1.89KB
mq_rcv.c 1.08KB
mq_snd.c 800B
5-19
mq_notify.c 1.19KB
mq_snd.c 778B
5-2
pipe-v2.c 1.5KB
pipe.c 1.12KB
5-20
mq_attr.c 1.62KB
5-21
sem_demo.c 1.3KB
sem_post.c 996B
sem_sync.c 1.17KB
sem_wait.c 1022B
5-22
read_shm_sem.c 1.21KB
shm_read.c 989B
shm_write.c 1.04KB
write_shm_sem.c 1.19KB
5-23
fcntl.c 893B
flock_demo.c 1.14KB
lockf.c 634B
5-24
alarm.c 559B
kill.c 424B
loop.c 396B
pause.c 519B
setitimer.c 1.14KB
signal.c 764B
5-26
sigaction.c 2.12KB
signal.c 1.34KB
sigqueue.c 697B
test.sh 66B
5-27
signalfd-demo.c 1.37KB
5-28
timerfd-demo.c 1.36KB
5-29
eventfd-demo.c 2.04KB
5-3
dup.c 889B
dup2.c 821B
pipe-dup.c 785B
5-4
popen.c 953B
5-5
pipe_sync.c 1.27KB
5-6
fifo_demo.c 1.15KB
read_fifo.c 656B
write_fifo.c 729B
5-7
mylog_daemon.c 1.18KB
process.c 741B
5-8
client-server-client
client1.c 1.28KB
client2.c 1.27KB
server.c 1.36KB
client-server-clients
client1.c 1.3KB
client2.c 1.29KB
client3.c 1.29KB
readme 131B
server.c 1.78KB
server-client
client.c 1.24KB
server.c 1.25KB
第06期:从零实现一个shell解释器
shell.tar.gz 220KB
第07期:多线程编程入门
pthread.tar.gz 80KB
第07期:多线程编程入门.pdf 1.04MB
第08期:时间管理和定时器编程
第08期:时间管理和定时器编程.pdf 757.98KB
第08期:时间管理和定时器编程.tar.gz 20KB
练手项目:使用C语言实现协程
coroutine.tar.gz 10KB
目录.txt -1.#INDB
第00期:入门篇(免费观看)
0.1 什么是系统编程t?.mp4 39.87MB
0.10 GNU编码风格.mp4 34.31MB
0.11 Linux哲学:一切皆文件.mp4 27.18MB
0.12 编程实战:音频播放器(上).mp4 46.05MB
0.13 编程实战:音频播放器(下)t.mp4 37.95MB
0.14 后续课程学习路线t.mp4 9.95MB
0.2 一个系统编程的例子(上)t.mp4 52.51MB
0.3 一个系统编程的例子(下)t.mp4 27.38MB
0.4 系统调用与C标准库.mp4 54.43MB
0.5 POSIX标准.mp4 25.35MB
0.6 系统编程必备技能(上):man命令.mp4 33.45MB
0.7 系统编程必备技能(中):info命令.mp4 19.34MB
0.8 系统编程必备技能(下):strace命令.mp4 36.88MB
0.9 系统调用错误处理.mp4 26.85MB
Linux系统编程第00期.zip 35.87MB
第01期:揭开文件系统的神秘面纱
1.1 本期课程规划t.mp4 38.73MB
1.10 文件系统的挂载.mp4 42.67MB
1.11 文件系统类型.mp4 33.3MB
1.12 虚拟文件系统:VFS.mp4 26.96MB
1.13 文件描述符.mp4 35.21MB
1.14 文件指针.mp4 40.05MB
1.15 硬链接和软链接.mp4 48.47MB
1.16 一些命令.mp4 42.07MB
1.17 实验:磁盘格式化及挂载.mp4 40.41MB
1.18 实验:恢复删除的文件t.mp4 50.13MB
1.2 文件在磁盘上的存储(上)t.mp4 38.26MB
1.3 文件在磁盘上的存储(下).mp4 23.88MB
1.4 文件在Flash上的存储(上).mp4 98.79MB
1.5 文件在Flash上的存储(下).mp4 34.1MB
1.6 文件系统索引节点:inode.mp4 38.77MB
1.7 超级块:superblock.mp4 54.54MB
1.8 目录和目录项.mp4 41.77MB
1.9 文件路径解析.mp4 48.01MB
第02期:文件IO编程实战
2.1 本期课程简介t.mp4 42.82MB
2.10 实现ls命令:支持-c参数.mp4 81.54MB
2.11 音频播放器:实现循环列表播放.mp4 76.64MB
2.12 实现ls命令:支持-l参数.mp4 117.66MB
2.13 有关目录的其它操作.mp4 17.38MB
2.14 相对路径转绝对路径.mp4 20.5MB
2.15 编程实战:实现 wc 命令(上).mp4 63.47MB
2.16 编程实战:实现 wc 命令(中).mp4 54.53MB
2.17 编程实战:实现 wc 命令(下).mp4 89.04MB
2.2 文件的打开模式t.mp4 111.37MB
2.3 文件的读写权限t.mp4 77.8MB
2.4 文件的读写函数.mp4 50.84MB
2.5 文件读写位置与定位.mp4 53.56MB
2.6 获取文件的属性信息.mp4 65.56MB
2.7 实现shell命令:ll.mp4 143.97MB
2.8 读取目录文件内容.mp4 53.02MB
2.9 实现ls命令:支持多个目录.mp4 34.87MB
第03期:文件IO缓存与内存映射
3.1 缓存的基本概念t.mp4 19.17MB
3.10 文件映射内存的实现.mp4 28.64MB
3.11 将设备映射到内存.mp4 47.3MB
3.2 页高速缓存(上)t.mp4 61.71MB
3.3 页高速缓存(中).mp4 72.15MB
3.4 页高速缓存(下).mp4 38.94MB
3.5 块设备驱动架构.mp4 44.89MB
3.6 用户空间的IO缓存.mp4 45.74MB
3.7 Scatter_Gather IO.mp4 31.51MB
3.8 直接IO.mp4 25.07MB
3.9 将文件映射到内存.mp4 31.37MB
第04期:打通进程与终端的任督二脉
4.1 进程:程序运行的“牌照”t.mp4 39.69MB
4.10 进程状态.mp4 39.07MB
4.11 进程的UID和GID.mp4 96.19MB
4.12 通过proc查看进程资源.mp4 70.35MB
4.13 与进程通信:信号.mp4 54.88MB
4.14 终端与控制台.mp4 76.07MB
4.15 进程组与会话.mp4 102.3MB
4.16 前台进程和后台进程.mp4 41.2MB
4.17 守护进程.mp4 68.89MB
4.18 僵尸进程.mp4 26.3MB
4.19 孤儿进程.mp4 41.24MB
4.2 创建一个进程:fork t.mp4 46.03MB
4.20 0号进程和1号进程.mp4 89.54MB
4.21 小结:Linux进程全景图.mp4 66.5MB
4.3 子进程的运行:借壳上市.mp4 119.54MB
4.4 写时复制与vfork.mp4 59.12MB
4.5 进程的退出:exit.mp4 94.1MB
4.6 进程的退出:exit与_exit.mp4 56.29MB
4.7 进程的退出:vfork与exit.mp4 20.25MB
4.8 等待子进程终止:wait.mp4 43.71MB
4.9 进程调度.mp4 88.53MB
第05期:进程间通信
5.1 什么是IPC?t.mp4 57.25MB
5.10 system V 消息队列.mp4 119.03MB
5.11 消息队列应用:点对点通信.mp4 39.2MB
5.12 消息队列应用:多人聊天室.mp4 87.07MB
5.13 system V 共享内存.mp4 78.83MB
5.14 system V 信号量.mp4 92.51MB
5.15 信号量编程应用:对共享内存的同步访问.mp4 45.2MB
5.16 信号量编程应用:生产者-消费者模型.mp4 47.29MB
5.17 POSIX IPC简介.mp4 14.9MB
5.18 消息队列(上):API编程实例.mp4 99.22MB
5.19 消息队列(中):异步通知.mp4 46.62MB
5.2 无名管道(1):PIPE编程实例5.mp4 77.35MB
5.20 消息队列(下):内核实现.mp4 101.05MB
5.21 POSIX 信号量.mp4 61.71MB
5.22 POSIX 共享内存.mp4 89.57MB
5.23 文件锁.mp4 82.29MB
5.24 信号机制:signal.mp4 78.16MB
5.25 编写安全的信号处理函数.mp4 47.58MB
5.26 信号底层API:sigaction函数.mp4 133.91MB
5.27 Linux新增API:signalfd.mp4 54.68MB
5.28 Linux新增API:timerfd.mp4 54.09MB
5.29 Linux新增API:eventfd.mp4 58.65MB
5.3 无名管道(2):shell中的管道实现.mp4 81.04MB
5.30 D-BUS总线简介及小结.mp4 60.17MB
5.4 无名管道(3):通过管道与shell命令进行通信.mp4 34.51MB
5.5 无名管道(4):通过管道同步进程.mp4 78.82MB
5.6 命名管道:FIFO.mp4 52.22MB
5.7 FIFO应用:LOG日志系统的实现.mp4 33.68MB
5.8 FIFO应用:服务端与客户端通信.mp4 108.36MB
5.9 IPC 对象和 IPC key.mp4 63.66MB
第06期:从零实现一个shell解释器
6.1 什么是shell解释器t.mp4 60.75MB
6.10 支持进程的后台运行.mp4 71.87MB
6.11 实现shell的管道命令(上):思路分析.mp4 43.76MB
6.12 实现shell的管道命令(下):编码实现.mp4 70.81MB
6.13 实现脚本的解析和运行.mp4 48.06MB
6.14 实现shell脚本语法:if-else流程控制.mp4 138.86MB
6.15 shell变量的实现.mp4 73.05MB
6.16 设置shell的环境变量.mp4 117.53MB
6.17 实现shell的export命令.mp4 56.75MB
6.18 代码优化及小结.mp4 51.12MB
6.2 shell命令的执行过程t.mp4 39.2MB
6.3 在子进程中运行shell命令.mp4 46.38MB
6.4 解析用户输入的命令并执行.mp4 84MB
6.5 代码优化及封装.mp4 75.6MB
6.6 打印彩色命令提示符.mp4 82.81MB
6.7 实现shell内建命令:cd.mp4 67.85MB
6.8 实现shell内建命令:exit.mp4 53.65MB
6.9 增加对信号的处理操作.mp4 42.99MB
第07期:多线程编程入门
7.1 多线程编程的概念t.mp4 18.28MB
7.10 线程同步:条件变量(上).mp4 30.85MB
7.11 线程同步:条件变量(下).mp4 18.99MB
7.12 线程同步:读写锁.mp4 41.82MB
7.13 线程池的概念.mp4 13.5MB
7.14 超线程技术.mp4 32.47MB
7.15 线程的概念.mp4 32.42MB
7.2 多线程学习准备工作t.mp4 27.39MB
7.3 创建一个新线程:pthread_create.mp4 30.29MB
7.4 线程的终止.mp4 27.95MB
7.5 等待线程的终止.mp4 36.5MB
7.6 线程属性.mp4 31.37MB
7.7 线程的调度与运行.mp4 43.02MB
7.8 线程安全.mp4 27.18MB
7.9 线程同步:互斥锁.mp4 33.18MB
第08期:时间管理和定时器编程
8.1 时间的概念5.mp4 14MB
8.10 Linux中的定时器:alarm.mp4 20.73MB
8.11 Linux中的定时器:interval timer.mp4 21.97MB
8.12 Linux中的定时器:POSIX timer(上).mp4 36.3MB
8.13 Linux中的定时器:POSIX timer(下).mp4 24.52MB
8.2 时间的计量.mp4 24.88MB
8.3 Linux系统中的时间管理.mp4 14.36MB
8.4 获取当前的时间.mp4 13.42MB
8.5 时间格式转换.mp4 31.74MB
8.6 将时间转换为字符串.mp4 15.07MB
8.7 用户指定格式的字符串.mp4 24.31MB
8.8 获取高精度时间:微秒.mp4 16.09MB
8.9 获取高精度时间:纳秒.mp4 24.84MB
练手项目:使用C语言实现协程
1. 什么是协程?t.mp4 24.61MB
10. 实现协程的API:coroutine_create.mp4 51.52MB
11. 实现协程的API:coroutine_yield.mp4 41.23MB
12. 实现协程的API:coroutine_resume.mp4 21.54MB
13. 优化coroutine_yield的参数.mp4 24.02MB
14. 支持给协程传递参数.mp4 45.27MB
15. 修改协程栈为动态内存.mp4 24.89MB
16. 支持用户指定协程栈大小.mp4 21.42MB
17. 一个测试应用程序.mp4 38.33MB
2.协程的实现原理t.mp4 21.22MB
3. 保存和设置当前函数上下文.mp4 60.4MB
4.添加项目的Makefile.mp4 12.16MB
5. 继续完善我们的API.mp4 20.34MB
6. 使用POSIX API:getcontext.mp4 21.07MB
7. 使用POSIX API:makecontext.mp4 37.07MB
8. 使用POSIX API:swapcontext.mp4 25.87MB
9. 使用swapcontext切换func1和func2.mp4 34.6MB