
Linux Systems Programming |
|
Course Outline
Module 1 - System Programming Environment of the RHEL 6
- Environment of a C language program
- System level programming requirements:
- C compiler issues
- Header files and libraries
- Special data types used
- Useful functions
- Error handling (basic)
- Documentation
- Security Issues
Module 2 - File Systems
- Types of file I/O
- File I/O structures
- File I/O access types
- Dealing with STDIN, STDOUT, STDERR
- Creating and using temporary files
- Directory file access and manipulation
- Permissions
Module 3 - Process Creation and Control
- Attributes (username, UID, PID, Groups)
- Creation methods
- Multi-tasking
- Shells
- Synchronization
- An introduction to threads
Module 4 - Synchronization and System Information
- Time issues:
- how time is maintained
- timers
- General synchronization:
- semaphores
- mutexes
- spinlocks and barriers
- signals (generation and handling)
- System information:
- uname
- hostname
- load averages
Module 5 - Interprocess Data Communication Facilities
- Overview of RHEL 6 IPC Facilities
- Memory Mapped files
- Pipes and Named Pipes
- Messages Queues
- Creating and Using Shared Memory structures
Module 6 - Sharing Code Between Processes
- Building shared object (libraries)
- Static Linking
- Dynamic Linking
- Networking
Module 7 - Concepts and basic requirements
- Socket creation and usage
- TCP/IP level connections
- UDP/IP level connections
|