FPGA

 

LINUX系統程式設計 code

現在位置:艾鍗學院Embedded Linux 課程> Linux系統程式設計
學程概要
Linux雖然有很多OpenSource,為什麼我看不懂也改不動程式?也不知如何下手?本課程邀請14年Linux開發經驗的Peter老師,以深入淺出的教學方式,帶你進入Linux開發源碼的程式之路。本課程最後動手實作一個 HTTP Web Server , 貫穿整個Linux程式開發精髓, 以從中學習開發思維,程式技巧、設計精髓。
課程目標
1. Linux 低階I/O輸入輸出。
2. Linux 軟體開發工具使用, 包含Gcc, Make, SVN程式碼版本控制
3. Linux 多執行緒與同步控制。
4. Linux 行程管理與IPC行程通訊
5. Linux Socket網路程式設計
6. 動手實作一個 HTTP Web Server
適合對象
1. 需具備C語言基礎,想要從事Linux程式開發者。
2. 想要從事嵌入式應用程式開發者。
FPGA_728x90.gif
課程優惠
1. 艾鍗超值金鑽卡會員,報名課程可享9折優惠價。
2. 艾鍗企業VIP會員可享課程85 折優惠價。
3. 早鳥優惠方案請見報名表。
職涯方向
嵌入式設計師 │ 韌體工程師 │ 資訊家電設計師 │ 網路應用程式設計 │ Linux平台驅動程式

 

embeddedlinux 728x90

 

課程大綱

Day1

1. Bash Shell Script
2. Regular expression: sed/awk"
3. Linux Development Tools
     -GCC , GNU Make, Source Code Control
4. Linux I/O 
    - read, write, ioctl, select…
    - Blocking I/O Nonblocking I/O

Day2
5. Linux Process
    - fork, exec, wait, ..
6. Linux IPC
    -Pipe, Share Memory, Message Queue, Semaphore
Day3
7. Linux Signal
8. POSIX Thread &Thread Synchronization 

9. Linux Socket (1)

Day4
10. Linux Socket (2)
11. Design mini HTTPD server
12. HTTPS with openssl (optional)

講師實務經驗分享
一般情況,通常整個嵌入式Linux系統的功能會有你自己寫的程式(可能也會去連結GPL或LGPL函式庫)並整合一些來自Open Source的程式。雖然Linux已存在很多的Open Source,但不可能永遠運氣這麼好都可以找到100%符合需求或規格的原始碼,所以你必須懂得如何修改成你要的功能。不論自己寫或移植Open Source,這些都是基於Linux核心,所以一定會用到Linux核心的能力,包含裝置I/O請求、多行程、同步處理、行程通訊等。若你的系統需要TCP/IP通訊,還得懂Socket網路程式設計。想自己寫並且能改得動Open Source的程式,其實要具備Linux系統程式設計的能力,你可以透過閱讀"Linux Programming Manual",但是篇幅之廣泛且多元,如果沒有對作業系統有一定的認知,不懂對系統呼叫(System call)所產生Linux背後的運作行為,很難了解真諦。因此若有經驗的人帶你看並且提供範例程式演練,對於學習會相當有幫助。
講義預覽

學過Linux 系統程式設計的學員也看了這些課程

課程諮詢