Архитектура ОС UNIX

Учебные материалы выложенные на сайте являются вспомогательными и представляют собой план изучения дисциплины в очной форме. Для освоения курса требуется более подробно ознакомиться с литературой. Основные книги с которых следует начать изучение курса: «Операционная система UNIX» и «Внутреннее устройство Linux». Для освоения языка командного интерпретатора Shell (bash) рекомендуется использовать материал Advanced Bash Scripting.

Список лабораторных, необходимых для получения зачета:

  1. Набор лабораторных по архитектуре операционной системы. (скачать в pdf)
  2. Индивидуальное задание на языке командного интерпретатора Shell.
  3. Программирование демона (детализация задания на странице 26 в лекции 5).
  4. Написание Web-server'a с использованием многопроцессного подхода (детализация задания на странице 28 в лекции 7).
  5. Написание Chat: client, server с использованием неблокирующих сокетов (детализация задания на странице 43 в лекции 7).

Основные материалы по крсу:

Материалы к лекциям.

Лекция 1. (скачать в формате .pdf) Темы лекции:

Лекция 2. (скачать в формате .pdf) Темы лекции:

  • Архитектура ОС
  • Учетные записи
  • Процессы
  • Shell

Лекция 3. (скачать в формате .pdf) Темы лекции:

  • Файловые системы
  • VFS
  • Монтирование
  • Утилиты для работы с файлами и каталогами

Лекция 4. (скачать в формате .pdf) Темы лекции:

  • Процесс загрузки

Лекция 5. (скачать в формате .pdf) Темы лекции:

  • Демоны
  • Журнализация событий
  • Обработка сигналов
  • Работа с ФС

Лекция 6. (скачать в формате .pdf) Темы лекции:

  • Сокеты
  • Установка соединения
  • Обмен данными
  • Обработка ошибок
  • Эхо клиент-сервер

Лекция 7. (скачать в формате .pdf) Темы лекции:

  • Обмен датаграммами
  • UDP sender/reciever
  • Низкоуровневые сокеты
  • Функции работы с адресами и DNS
  • Параллельное обслуживание клиентов
  • Неблокирующие сокеты

Лекция 8. (скачать в формате .pdf) Темы лекции:

  • Средства межпроцессного взаимодействия
  • Lock-файлы
  • Неименованные и именованные каналы
  • Семафоры

Лекция 9. (скачать в формате .pdf) Темы лекции:

  • Очереди сообщений
  • Разделяемая память

Лекция 10. (скачать в формате .pdf) Темы лекции:

  • Группы процессов
  • Сигналы
  • Обработка
  • Множества сигналов
  • Компиляция приложений
  • GNU make
  • Автоматическая генерация make

Лекция 11. (скачать в формате .pdf) Темы лекции:

  • Архитектура X11
  • FreeType и XFT
  • Клиенты X Windows System
  • Менеджер окон
  • Запуск X-сервера
  • GNU make
  • Display Manager

Лекция 12. (скачать в формате .pdf) Темы лекции:

  • Локализация
  • Языки, символы, кодировки
  • NLS
  • Написание программ с поддержкой i18n

Лекция 13. (скачать в формате .pdf) Темы лекции:

  • Драйвера устройств
  • Классы устройств и модулей
  • Символьные устройства
  • Блочные устройства
  • Сетевые интерфейсы
  • Инициализация и завершение модулей

Основной список литературы:

  1. Робачевский А. Операционная система UNIX. Санкт-Петербург: BHV, 2010.
  2. Кетов Д. В. Внутреннее устройство Linux. Санкт-Петербург: БХВ-Петербург, 2017.

Дополнительный список литературы:

  1. Advanced Bash-Scripting Guide
  2. Advanced Bash-Scripting Guide (рус.)
  3. BASH Programming Introduction
  4. W. Richard Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley, 1992