Course goals:
- Overview software development process for Linux
- Practical experience of codding, debugging, packaging; Understanding the tools
- Knowledge of basic Linux mechanisms/primitives in programming prospective: I/O, processes, IPC, memory management, file systems
Prerequisites:
- C/C++ programming experience
- Operating systems fundamentals
Lecture topics
- Overview of Linux architecture
- Kernel, distributions
- Developer tools and development process
- Console application basics
- Shell scripting
- Processes and threads
- Files, pipes, signals
Practical exercises
- Simple console applications. Command execution.
- Shell scripting
- Mastering with debugger
- Files and pipes
- Multi-threading with pthreads
Course language:
- RUS, ENG