Форма обучения: очная с применением дистанционных технологий
Объем программы: 200 ак. ч.
Продолжительность обучения: 5 месяцев
Стоимость обучения: 60 000 рублей
Содержание программы:
Основы архитектуры вычислительных систем- Вычислительные системы
- Сложность систем
- Функциональная и структурная декомпозиция
- Исполнитель, память и транспорт
- Модульность и абстракция
Абстракция «исполнитель» и модели вычислений- Модели вычислений
- Конечные автоматы
- RAM-машина
- Основы ассемблера для Intel 64
Рост сложности, модульность и абстракция- Рост сложности вычислительных систем
- Взаимодействия с внешним миром и интерактивность
- Строгая и нестрогая
- Статическая и динамическая модульность
Виртуализация памяти и процессора - Виртуализация
- Типы: one to one, one to many, many to one
- Реализация клиент-серверной архитектуры с помощью виртуализации
- Виртуализация функциональных компонентов системы: процессора и памяти
- Виртуальная память
- Аппроксимация
- Использование mmap
- Локальность и кэширование
Компиляция и загрузка программ - Цикл компиляции
- Лямбда-исчисление и препроцессор nasm
- Компоновка
- Релокации
- Модули, объектные файлы
- Структура ELF-файла. Секции и сегменты
- Загрузчик
Исполнитель С - Аспекты языка программирования
- Синтаксис и модели вычислений для его описания
- Регулярные выражения
- Грамматики
- Дерево абстрактного синтаксиса
- Простейший парсер
- Семантика
- Абстрактный вычислитель языка C
- Стандарт языка
- Прагматика
- Выравнивание, padding
Исполнители C и ассемблера - Трансляция из AST в низкоуровневый код
- Соглашения вызова
- Alignment/padding
- Переменное количество аргументов
- Оптимизации
- Prefetching
- Векторизация кода, xmm регистры
- Strict aliasing rules
- Модель данных
Модели памяти и атомарность - Память в C и на уровне ассемблера
- Выравнивание
- Реализация кучи
- Классификация моделей памяти
- Memory reordering
- Барьеры памяти
- Семантика volatile. Атомарность операций.
Как проходит обучение: - Лекции и семинары с преподавателем МФТИ в Zoom
- Все занятия записываются и доступны всегда
- Постоянная поддержка от преподавателей в чате курса
- Домашние задания для практической отработки полученных знаний и навыков
- Проектные работы в качестве промежуточного контроля знаний
- Обратная связь на домашние задания
- Прикладной итоговый проект, который можно использовать в портфолио