感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程簡介
簡介
- 目標
- 你是誰
- Linux基金會
- Linux基金會培訓
- 認證項目與數字徽章
- Linux發行版
- 平臺
- 準備你的系統
- 使用和下載虛擬機
- Linux中的變化
預備知識
- 流程
- 標準與LSB
如何參與開源項目 **
- 如何正確貢獻的概述
- 爲安全與質量保持與主線的緊密聯繫
- 研究並理解項目的DNA
- 找出你想解決的問題
- 識別維護者及其工作流程與方法
- 儘早獲取反饋並公開工作
- 增量貢獻,而不是大量代碼提交
- 放下自我:不要過於敏感
- 保持耐心,建立長期關係,樂於助人
編譯器
- GCC
- 其他編譯器
- 主要gcc選項
- 預處理器
- 集成開發環境(IDE)
- 實驗
庫
- 靜態庫
- 共享庫
- 鏈接庫
- 動態鏈接加載器
- 實驗
Make
- 使用make和Makefiles
- 構建大型項目
- 更復雜的規則
- 內置規則
- 實驗
源代碼控制
- 源代碼控制
- RCS和CVS
- Subversion
- git
- 實驗
調試與核心轉儲
- gdb
- 什麼是核心轉儲文件?
- 生成核心轉儲
- 檢查覈心轉儲
- 實驗
調試工具
- 獲取時間
- 性能分析
- valgrind
- 實驗
系統調用
- 系統調用與庫函數
- 如何進行系統調用
- 返回值與錯誤碼
- 實驗
內存管理與分配
- 內存管理
- 動態分配
- 調整malloc()
- 鎖定頁面
- 實驗
Linux中的文件與文件系統 **
- 文件、目錄與設備
- 虛擬文件系統
- ext2/ext3文件系統
- 日誌文件系統
- ext4文件系統
- 實驗
文件I/O
- UNIX文件I/O
- 打開與關閉
- 讀取、寫入與定位
- 位置與向量I/O
- 標準I/O庫
- 大文件支持(LFS)
- 實驗
高級文件操作
- Stat函數
- 目錄函數
- inotify
- 內存映射
- flock()與fcntl()
- 創建臨時文件
- 其他系統調用
- 實驗
進程 I
- 什麼是進程?
- 進程限制
- 進程組
- proc文件系統
- 進程間通信方法
- 實驗
進程 II
- 使用system()創建進程
- 使用fork()創建進程
- 使用exec()創建進程
- 使用clone()
- 退出
- 構造函數與析構函數
- 等待
- 守護進程
- 實驗
管道與FIFO
- 管道與進程間通信
- popen()與pclose()
- pipe()
- 命名管道(FIFO)
- splice(), vmsplice()與tee()
- 實驗
異步I/O**
- 什麼是異步I/O?
- POSIX異步I/O API
- Linux實現
- 實驗
信號 I
- 什麼是信號?
- 可用信號
- 信號分發
- 鬧鐘、暫停與睡眠
- 設置信號處理程序
- 信號集
- sigaction()
- 實驗
信號 II
- 可重入性與信號處理程序
- 跳轉與非本地返回
- siginfo與sigqueue()
- 即時信號
- 實驗
POSIX線程 I
- Linux下的多線程
- 基本程序結構
- 創建與銷燬線程
- 信號與線程
- fork與線程
- 實驗
POSIX線程 II
- 死鎖與競爭條件
- 互斥操作
- 信號量
- Futexes
- 條件操作
- 實驗
網絡與套接字
- 網絡層
- 什麼是套接字?
- 流套接字
- 數據報套接字
- 原始套接字
- 字節序
- 實驗
套接字地址與主機
- 套接字地址結構
- 轉換IP地址
- 主機信息
- 實驗
套接字端口與協議
- 服務端口信息
- 協議信息
- 實驗
套接字客戶端
- 基本客戶端流程
- socket()
- connect()
- close()與shutdown()
- UNIX客戶端
- 互聯網客戶端
- 實驗
套接字服務器
- 基本服務器流程
- bind()
- listen()
- accept()
- UNIX服務器
- 互聯網服務器
- 實驗
套接字輸入/輸出操作
- write(), read()
- send(), recv()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- sendfile()
- socketpair()
- 實驗
套接字選項
- 獲取與設置套接字選項
- fcntl()
- ioctl()
- getsockopt()與setsockopt()
- 實驗
Netlink套接字**
- 什麼是netlink套接字?
- 打開netlink套接字
- netlink消息
- 實驗
套接字多路複用與併發服務器
- 多路複用與異步套接字I/O
- select()
- poll()
- pselect()與ppoll()
- epoll
- 信號驅動與異步I/O
- 併發服務器
- 實驗
進程間通信
- IPC方法
- POSIX IPC
- System V IPC**
- 實驗
共享內存
- 什麼是共享內存?
- POSIX共享內存
- System V共享內存**
- 實驗
信號量
- 什麼是信號量?
- POSIX信號量
- System V信號量**
- 實驗
消息隊列
- 什麼是消息隊列?
- POSIX消息隊列
- System V消息隊列**
- 實驗
最低要求
本課程適用於有經驗的開發人員。學生應精通 C 程式設計,並熟悉基本的 Linux 實用程式和文本編輯器。
觀眾
本課程適用於有經驗的開發人員。學生應精通 C 程式設計,並熟悉基本的 Linux 實用程式和文本編輯器。
經驗水準: 中級
28 時間: