| Course Length - 4 Days | | | | Course Description Linux OS Programming is a 100% hands-on course for Software Developers who need to rapidly gain hands-on experience reading and writing programs for the Linux operating system. | | | | | | Course Prerequisites Software development experience with at least one operating system such as Windows, Netware, UNIX, or a proprietary operating system. | | | |
| | | | Course Outline: | | Introduction to Linux OS Programming | | - Shell Programming
- Run Control Programming
- System Call Programming
- Library Call Programming
- Kernel Programming
- Kernel Module Programming
| | | Development Environment | | - Installation
- man and info
- rpm
- Editor
- Source Control
- make
- Compiler
- Linker
- Debugger
- Software Distribution
- Other Utilities
| | | Shell Programming | | - Syntax
- Variables
- Control Structures
- Run Control Samples
| | | Run Control Programming | | - Run Levels
- /etc/rc.d Files
- /etc/rc.d Commands
- Writing Run Control Scripts
| | | C Language Programming | | - Key Compiler Options
- Object Files and Libraries
- Command-Line Handling
- Run-Time Environment
- Error Handling and Logging
| | | System Call Programming | | - How System Calls Work
- System Call Categories
- Selected System Calls
| | | File/Device I/O | | - File Types and Permissions
- Sync File I/O
- Async File I/O
- Sparse Files
- Device I/O Control
- Mapped Files
| | | Processes | | - Key Process Concepts
- Debug Utilities
- Creating Processes
- Managing Processes
- Process Synchronization
| | | Signals | | - Key Signal Concepts
- Catching Signals
- Sending Signals
- Improved Signal Handling
| | | Threads | | - Key Thread Concepts
- Creating Threads
- Managing Threads
- Thread Synchronization
| | | Pipes | | - Key Pipe Concepts
- Creating Pipes
- Reading/Writing Pipes
| | | Named Pipes | | - Named Pipes vs Pipes
- Named Pipe Server
- Named Pipe Client
| | | Sockets | | - Key Socket Concepts
- Local Sockets
- Network Sockets
- Socket Client
- Socket Server
| | | System V IPC | | - Key System V IPC Concepts
- Semaphores
- Message Queues
- Shared Memory
| | | Database Programming | | - Key Database Concepts
- SQL
- dbm Database
- mySQL Database
- Other Databases
| | | Graphics Programming | | - X-Window Programming
- GTK Programming
- GNOME Programming
- KDE Programming
| | | Web Programming | | - Apache Web Server
- HTML and HTTP
- CGI
- PHP
| | | Where to go from here | | | | | | | |
|