Объявление в архиве
Программирование в Linux
IT-Академия Алексея Сухорукова
- Дата начала: 10 марта 2015
- Дата окончания: 14 апреля 2015
- Формат: Курсы
- Участники: Все желающие
На этом курсе по разработке под Linux вы научитесь:
легко программировать под Linux
создавать надежные высоконагруженные системы
настраивать и собирать ядро и модули системы под различные требования,
что позволит вам поднять вашу квалификацию разработчика и больше зарабатывать.
Требуемая подготовка:
Начальное знание С. Обязательно работа с указателями.
Знание Linux на уровне пользователя желательно.
Знание английского на уровне чтения технической документации (без разницы, со словарем или нет).
Опыт работы с системами контроля версий будет плюсом.
Чему вы научитесь
По окончанию блока вы будете знать:
Устройство ОС Linux
Средства разработки и сборки программ для Linux
Основные системные вызовы Linux
и уметь:
Разрабатывать высокопроизводительные программы под Linux с учетом особенностей системы
Отлаживать программы
Оптимизировать программы с использованием открытых инструментов
Собирать пакеты для различных дистрибутивов.
Конфигурировать и собирать ядро Linux в соответствии с требованиями, реализовывать модули для него
Длительность курса: 1 месяц, 32 аудиторных часа + 15 часов домашних заданий
Программа курса:
Программа
1) Введение в Linux
a) Командный интерфейс, основные команды, приемы работы с ком. строкой (tab, ctrl-R, arrow-up, etc)
b) Редакторы: vim, mcedit, nano, emacs
c) Исторический обзор
d) Обзор системы
2) Инструменты разработки
a) Компилятор и его параметры командной строки
b) Система сборки Make возможно. вся цепочка autoconf automake
c) Обзор библиотек, в т.ч. glibc
d) Система сборки Cmake
3) Общее устройство системы
a) Ядро и модули
b) Процессы
c) Файловая система
d) Модель загрузки (boot) системы
e) Системные вызовы, Обработка ошибок (errno, etc)
f) Система безопасности: традиционные подходы, подход SELinux
4) Ввод/вывод
a) Чтение/запись read/write
b) Векторный ввод/вывод readv/writev
c) AIO, system level and Boost tools
5) Управление процессами, Межпроцессное взаимодействие, многопоточность
a) Управление процессами
b) Сигналы
c) SystemV IPC (shared memory, message queues, семафоры )
d) BSD Sockets
e) POSIX Threads, Boost threads, понятие
f) Аспекты параллельного программирования (привязка потоков, процессов к ядрам, понятие потокобезопасности )
6) Сеть
a) TCP и UDP, клиент и сервер
b) Мультиплексирование
c) Параметры ядра, влияющие на производительность сети
7) Инструменты отладки и профилирования
a) Отладчик gdb (single thread, multiple threads, attach to a process )
b) valgrind
c) профилировщик oprofile
d) профилировщик gprof
8) Управление памятью
9) Ядро (опционально)
a) Сборка ядра
b) Написание модулей
c) Реализация системного вызова
Место проведения: Академгородок (здание Технопарка) или центр города (5 мин от м. пл.Ленина)
Акции: скидка 10% за приведенного друга
Бонусы:
по окончании выдаются сертификаты и предоставляются рекомендации преподавателей.
лучшим студентам, заинтересованным в поиске работы, помогаем с трудоустройством
есть возможность оформить курс в рассрочку (подробности можно уточнить у наших менеджеров)
на занятиях будут решаться задачи из практического опыта преподавателей
вкусные печеньки на кофебрейках
Уведомление отправлено
Ваше предложение отправлено
Уведомление отправлено