Специальная цена
От железа и ОС — к производительному коду
06 августа
3 месяца
Онлайн
Пн/Чт 20:00 Мск
Индивидуальная разработка итоговой проектной работы
Программу ведут действующие специалисты
Получите знания, которые помогут повысить вашу востребованность и доход
Многие студенты еще во время прохождения первой части программы находят или меняют работу, а к концу обучения могут претендовать на повышение в должности.
Домашние задания + проектная работа, для усиления вашего портфолио и компетенций
Живое общение с преподавателями на вебинарах, переписки в чате и развёрнутые ответы при проверке ДЗ
В этом модуле мы разберёмся, как наш код взаимодействует с реальным железом компьютера. Узнаем, почему память работает медленнее процессора, и как заставить CPU не простаивать в ожидании данных. Научимся читать ассемблерный выхлоп компилятора и спроектируем бенчмарк, чтобы пощупать влияние архитектуры процессора на исполнение кода.
Тема 1: Архитектура CPU и Ассембли
Тема 2: Иерархия памяти и Кэши
Тема 3: Branch prediction
Тема 4: SIMD // ДЗ
В этом модуле мы заглянем внутрь операционной системы и поймем, по каким правилам ядро Linux управляет нашими программами. Разберёмся, как устроена виртуальная память процесса, как процессор ускоряет работу с ней через аппаратные кэши TLB, и в чем физическая разница между стеком и кучей. Мы изучим анатомию файловых систем на уровне диска, разберем магию слоев VFS и Page Cache, а также научимся управлять потоками и системными сигналами.
Тема 1: Пространство ядра и системные вызовы
Тема 2: Процессы, потоки и шедулинг
Тема 3: Виртуальная память процесса
Тема 4: Аппаратное ускорение виртуальной памяти
Тема 5: Layout данных и Stack Frame
Тема 6: Сигналы ОС // ДЗ
Тема 7: Файловая система
В финальном модуле мы научимся писать высокопроизводительный софт и управлять ресурсами Linux из кода. Вы разберете сетевой стек, решите проблему False Sharing и соберете собственный Event Loop на базе `epoll`. В конце мы перейдем на `io_uring` для асинхронного I/O и освоим отладку/профилирование через `strace` и `perf`.
Тема 1: Управление процессами в коде // ДЗ
Тема 2: Аллокаторы и управление памятью
Тема 3: Конкурентность и низкоуровневая синхронизация
Тема 4: Конкурентность и синхронизация на уровне компилятора и языка
Тема 5: Примитивы синхронизации ОС // ДЗ
Тема 6: IPC
Тема 7: Сеть
Тема 8: Мультиплексирование I/O
Тема 9: Продвинутый I/O
Тема 10: Отладка и профилирование системного кода
Заключительный месяц курса посвящён проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе.
Тема 1: Консультация по проектам и домашним заданиям // Проект
Тема 2: Защита проектных работ и подведение итогов
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
OTUS осуществляет лицензированную образовательную деятельность.
Вы получите сертификат о прохождении обучения, а также можете получить удостоверение о повышении квалификации.
Удостоверение о повышении квалификации: если вы успешно защитили выпускной проект и готовы предоставить копию документа о высшем или среднем профессиональном образовании
Доступ к учебным материалам курса
Ваш личный проект, который поможет проходить собеседования
Стоимость в рассрочку