| 1. Linux 系統環境及系統呼叫
- Linux history
- Linux 系統 Vs Windows
- What are Linux system calls
2. 開發及除錯環境
- Linux Vs Windows 開發流程
- Build environments (Makefile, gcc, ld ..etc)
- How to use GDB to debug
- Utilities: patch, diff, source control...etc.
3. Shell Programming
- What is shell programming
- Why shell programming
- Examples (init scripts, bash, perl ...etc)
4. 檔案處理
- Linux filesystems
- Linux file permissions (get/set)
- How to work with files
- File based API (fopen, fwrite, fread, fclose...etc)
5. 行程(process)及信號(signal)處理
- Linux process definition
- Process related API (exec*, fork..etc)
- Signal handling (signal, sigaction)
6. 行程間通訊(IPC)
- Pipe/Fifo
- Semaphore
- Shared memory
- Message Queues
- Linux IPC utility commands
7. Multi-thread
- Multi-thread in Linux
- thread synchronization (semaphore, mutex..etc)
- Thread options
8. Sockets
- Basic TCP/IP Programming (TCP/UDP)
- Unix domain sockets
- Different I/O models (Blocking, non-blocking, signal
driven...etc)
- Socket options |