Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
课程大纲
介绍
- 目标
- 你是谁
- 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 小时