|
Linux Systems Programming Course Outline
- SESSION 1: Introduction
- Course Objectives
- Prerequisites
- Procedures
- SESSION 2: Systems Programming
- System Calls vs. Library Functions
- How System Calls are Made
- SESSION 3: Files in Linux
- The ext2 Filesystem
- Files, Directories, Devices
- SESSION 4: File I/O
- Unix File I/O
- Opening and Closing
- Reading, Writing and Seeking
- Standard I/O Library
- SESSION 5: Advanced File Operations
- Stat Functions
- Directory Functions
- flock and fcntl
- Other System Calls
- SESSION 6: Processes
- What is a Process?
- Creating Processes: system, fork, exec
- Exiting
- Process Groups
- Waiting
- SESSION 7: PIPES and FIFOs
- Pipes and Parent/child communication
- popen and pclose
- pipe
- Named pipes (FIFOs)
- SESSION 8: Signals
- What are Signals?
- Signals Available
- Dispatching Signals
- Alarms, Pausing and Sleeping
- Setting up a Signal Handler
- Signal Sets
- sigaction
- SESSION 9: Threads
- Linux Threads
- Basic Program Structure
- Creating and Destroying Threads
- Mutex Operations
- Conditional Operations
- SESSION 10: Sockets
- What are Sockets?
- Basic System Calls
- Advanced System Calls
- Byte Ordering
- Host Information
- Service Port Information
- SESSION 11: IPC
- What is IPC?
- Identifiers and Keys
- Permission Structure
- IPC Utilities
- SESSION 12: Shared Memory
- What is Shared Memory?
- shmget
- shmat and shmdt
- shmctl
- SESSION 13: Semaphores
- What is a Semaphore?
- semget
- semop
- semctl
- Semaphores, Posix Style (for threads)
- SESSION 14: Message Queues
- What is a Message Queue?
- msgget
- msgsnd and msgrcv
- msgctl
LINUX SYSTEMS PROGRAMMING
(c) COPYRIGHT AXIAN, INC. 2000
|
|