感谢您发送咨询!我们的团队成员将很快与您联系。
感谢您发送预订!我们的团队成员将很快与您联系。
课程大纲
介绍
- 目标
- 你是谁
- Linux 基金会
- Linux 基础培训
- 认证计划和数字徽章
- Linux 发行版
- 平台
- 准备您的系统
- 使用和下载虚拟机
- Linux 中的情况发生了变化
预赛
- 程序
- 标准和 LSB
如何在 OSS 项目中工作 **
- 关于如何正确贡献的概述
- 贴近主线,确保安全性和质量
- 研究并了解项目DNA
- 弄清楚你想要什么痒 Scratch
- 确定维护人员及其工作流程和方法
- 尽早获得意见并公开工作
- 贡献增量位,而不是大型代码转储
- 把你的自我留在门口:皮薄
- 要有耐心,发展长期关系,乐于助人
编译 器
- 海湾合作委员会
- 其他编译器
- 主要 gcc 选项
- 预处理
- 集成开发环境 (IDE)
- 实验室
图书馆
- 静态库
- 共享库
- 链接到库
- 动态链接加载程序
- 实验室
做
- 使用 make 和 Makefile
- 构建大型项目
- 更复杂的规则
- 内置规则
- 实验室
源代码管理
- 源代码管理
- RCS 和 CVS
- 颠覆
- git
- 实验室
调试和核心转储
- GDB公司
- 什么是核心转储文件?
- 生成核心转储
- 检查核心转储
- 实验室
调试工具
- 把握时间
- 剖析和性能
- 瓦尔格林德
- 实验室
系统调用
- 系统调用与库函数
- 如何进行系统调用
- 返回值和错误号
- 实验室
内存 Management 和分配
- 存储器 Management
- 动态分配
- 调优 malloc()
- 锁定页面
- 实验室
Linux 中的文件和文件系统 **
- 文件、目录和设备
- 虚拟文件系统
- ext2/ext3 文件系统
- 日志文件系统
- ext4/ 文件系统
- 实验室
文件 I/O
- UNIX 文件 I/O
- 开盘和闭盘
- 阅读、写作和寻找
- 位置和矢量 I/O
- 标准 I/O 库
- 大文件支持 (LFS)
- 实验室
高级文件操作
- 统计函数
- 目录函数
- iNotify公司
- 内存映射
- flock() 和 fcntl()
- 制作临时文件
- 其他系统调用
- 实验室
流程 I
- 什么是流程?
- 工艺限制
- 进程组
- proc 文件系统
- InterProcess Communication 方法
- 实验室
流程 II
- 使用 system() 创建进程
- 使用 fork() 创建进程
- 使用 exec() 创建进程
- 使用 clone()
- 退出
- 构造函数和析构函数
- 等待
- 守护进程
- 实验室
管道和FIFOS
- 管道和工艺间 Communication
- popen() 和 pclose()
- 管道()
- 命名管道 (FIFO)
- splice()、vmsplice() 和 tee()
- 实验室
异步 I/O**
- 什么是异步 I/O?
- POSIX 异步 I/O API
- Linux 实现
- 实验室
信号 I
- 什么是信号?
- 可用信号
- 调度信号
- 闹钟、暂停和睡眠
- 设置信号处理程序
- 信号集
- sigaction()
- 实验室
信号 II
- 重入和信号处理程序
- 跳转和非本地返回
- siginfo 和 sigqueue()
- 实时信号
- 实验室
POSIX 线程 I
- Linux 下的多线程
- 基本课程结构
- 创建和销毁线程
- 信号和线程
- 分叉与线程
- 实验室
POSIX 线程 II
- 死锁和竞争条件
- 互斥操作
- 信号灯
- Futexes (英语)
- 条件运算
- 实验室
Networking 和插座
- Networking 图层
- 什么是套接字?
- 流套接字
- 数据报套接字
- 原始套接字
- 字节排序
- 实验室
套接字 地址和主机
- 套接字地址结构
- 转换 IP 地址
- 主机信息
- 实验室
套接字、 端口和协议
- 服务端口信息
- 协议信息
- 实验室
套接字 客户端
- 基本客户端序列
- 套接字()
- 连接()
- close() 和 shutdown()
- UNIX 客户端
- Internet 客户端
- 实验室
套接字 服务器
- 基本服务器序列
- 绑定()
- 听()
- 接受()
- UNIX 服务器
- 互联网服务器
- 实验室
套接字 输入/输出操作
- write()、read()
- 发送()、recv()
- sendto(), recvfrom()
- sendmsg()、recvmsg()
- 发送文件()
- socketpair()
- 实验室
套接字 选项
- 获取和设置套接字选项
- fcntl()
- ioctl() 中
- getsockopt() 和 setsockopt()
- 实验室
Netlink 插槽**
- 什么是 netlink 套接字?
- 打开 netlink 套接字
- netlink 消息
- 实验室
套接字多 路复用和并发服务器
- 多路复用和异步套接字 I/O
- 选择()
- 投票()
- pselect() 和 ppoll()
- 埃波尔
- 信号驱动和异步 I/O
- 并发服务器
- 实验室
进程间 Communication
- IPC的方法
- POSIX 工控机
- 系统 V IPC**
- 实验室
共享内存
- 什么是共享内存?
- POSIX 共享内存
- System V 共享内存**
- 实验室
信号灯
- 什么是信号量?
- POSIX信号量
- System V 信号量**
- 实验室
消息队列
- 什么是消息队列?
- POSIX 消息队列
- System V 消息队列**
- 实验室
要求
本课程适用于有经验的开发人员。学生应精通 C 编程,并熟悉基本的 Linux 实用程序和文本编辑器。
观众
本课程适用于有经验的开发人员。学生应精通 C 编程,并熟悉基本的 Linux 实用程序和文本编辑器。
经验水平: 中级
28 小时