課程簡介

介紹

  •  目標
  •  你是誰
  •  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 時間:

人數



每位參與者的報價

相關課程

課程分類