Системное программирование

Длительность
  • 12 занятий
  • 48 ак. часов
Курс преподают
  • Кирилл Юхин Кирилл Юхин
  • Сергей Бронников Сергей Бронников
Получаемые навыки

Курс состоит из двух дисциплин: «Системное программирование» и «Архитектура и эксплуатация высоконагруженных систем». На первой ты узнаешь о работе Linux и изучишь эффективное низкоуровневое программирование с использованием знаний об устройстве ОС и взаимодействии с ней. В рамках второй — освоишь теорию сетевых технологий и распределенных алгоритмов, познакомишься с современными инструментами разработки и эксплуатации высоконагруженных систем.

Требования

Уверенное владение любым языком программирования. Базовые навыки работы в командной строке и знание языка Си.

Цель курса — Научись работать с большими объемами данных и использовать все возможности Tarantool, чтобы стать востребованным IT-специалистом.

Офлайн-интенсивы проходят в вечернее время. В конце каждой лекции студенты получают домашнее задание на закрепление пройденных тем. В конце предмета «Системное программирование» — итоговый экзамен.

Смешанное занятие №1

История Unix, Linux. Архитектуры. Стандарты.

4 часа

Смешанное занятие №2

Ядро. Устройство. Планировщики процессов.

4 часа

Смешанное занятие №3

Процесс. Режимы работы, память, ресурсы. Прерывания. Взаимодействие с ядром. Системные вызовы.

4 часа

Смешанное занятие №4

Память. Виртуальная и физическая. Уровни кеша, кеш линия. Пользовательская память и память ядра. False sharing. High and low memory.

4 часа

Смешанное занятие №5

Сигналы. Аппаратные и программные прерывания, их природа. Top and bottom halves. Сигналы и системные вызовы, контекст сигнала.

4 часа

Смешанное занятие №6

Файловая система. Виртуальная ФС в ядре. Файлы, их типы. I/O операции и их планировщики в ядре. Page cache. Режимы работы с файлом.

4 часа

Смешанное занятие №7

Потоки. Отличие от процессов. Атомарные операции. Синхронизация. Атрибуты. Особенности многопоточных процессов. Вид в ядре.

4 часа

Смешанное занятие №8

IPC. Pipe, FIFO. XSI и POSIX. Сокеты: доменные, обычные.

4 часа

Смешанное занятие №9

Сеть. Модели TCP/IP, OSI. Связь с ядром. Интерфейсы и примеры.

4 часа

Смешанное занятие №10

Advanced IO. Неблокирующие IO операции. Блокировка файла. Мультиплексирование: select, poll, kqueue.

4 часа

Смешанное занятие №11

Пользователи и группы. Вход в систему. Real and effective user. Права доступа у процессов, файлов. Сессии. Демонизация процесса.

4 часа

Экзамен №1

Экзамен

4 часа


Также в первом семестре:
Архитектура и эксплуатация высоконагруженных систем

Курс состоит из двух дисциплин: «Системное программирование» и «Архитектура и эксплуатация высоконагруженных систем». На первой ты узнаешь о работе Linux и изучишь эффективное низкоуровневое программирование с использованием знаний об устройстве ОС и взаимодействии с ней. В рамках второй — освоишь теорию сетевых технологий и распределенных алгоритмов, познакомишься с современными инструментами разработки и эксплуатации высоконагруженных систем. ​​​​​​

© Mail.ru Group, 2011–2021

Обратная связь

Присоединяйся:

Группа ВКонтакте
  • Дизайн:
    Nimax
  • Разработка:
    Лаборатория
    Технопарка
Версия портала - 5.47.2