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

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

эффективное низкоуровневое программирование с использованием знаний об устройстве операционной системы и взаимодействии с ней.

Контроль знаний

курс предусматривает выполнение 5 домашних заданий и сдачу экзамена.

Цель курса — улучшить понимание работы операционной системы Linux, научиться использовать знания для системного программирования.

на курсе Системного программирования освещается устройство операционной системы на базе ядра GNU/Linux, ядра и его подсистем. Приводятся и описываются способы взаимодействия с ОС. Материал курса максимально приближен к реальности, наполнен примерами.

Смешанное занятие №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 часа

Также в первом семестре:
Базы данных

- Реализация библиотеки для хранения данных на диске, в том числе с использованием конкурентного доступа к данным.<br> - Реализуют библиотеки типовых операций с графом на основе реляционной СУБД (MySQL/PostgreSQL/etc).

© Mail.ru Group, 2011–2019

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

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

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