Целями курса являются:
- знакомство с основными понятиями современных операционных систем;
- ознакомление с устройством основных частей операционных систем;
- знакомство с основными понятиями вычислительных сетей с точки зрения разработчика программного обеспечения.
Задачами курса являются:
- сформировать у обучающихся понятие об устройстве и принципах работы частей ядер операционных систем;
- знакомство со средствами разработки программного обеспечения в UNIX-подобных операционных системах;
- знакомство с низкоуровневыми интерфейсами программирования: интерфейсом системных вызовов, BSD Socket API;
- знакомство с моделями процессов и потоков в UNIX-подобных операционных системах.
После прохождения курса, обучающиеся приобретут следующие знания и умения:
- знания об устройстве частей современных операционных систем: файловых систем, подсистем памяти и ввода/вывода;
- знания структуры файловой системы операционных систем семейства Linux;
- базовые умения в администрировании операционной системы семейства Linux: установка системы, управление пользователями, группами, правами доступа, управление программным обеспечением;
- навыки работы в текстовом редакторе vi/vim;
- понятие об инструментальных средствах разработки программного обеспечения в Linux: трансляторах, системах сборки, отладчике gdb;
- базовые знания интерфейса системных вызов UNIX;
- понятия о моделях процессов, потоков, примитивов синхронизации в UNIX-подобных операционных системах;
- основные понятия компьютерных сетей;
- базовые знания и умения разработки сетевого программного обеспечения с использованием BSD Socket API.