Операционные системы

Внимание: страница находится в разработке

Темы лекций

Введение в архитектуру современной ОС. Процессы и потоки. Принципы синхронизации.

1. Генезис архитектур операционных систем
2. Назначение ОС и основные функции;
3. Базовая архитектура ОС;
4. Понятие процесса; процессы и потоки;
5. Понятие ресурса;
6. Конкурентный доступ к ресурсам и примитивы синхронизации.

Устройство современных файловых систем

1. Адресация дисковой памяти;
2. Понятие файла и их типы;
3. Обзор блочных и символьных устройств;
4. Логическая структура дисковой памяти на разных уровнях ОС
5. Структура и интерфейсы виртуальной файловой системы (vfat)
6. Сравнительный анализ реализаций различных файловых систем: FAT, NTFS, extX, CDFS....

Устройство виртуальной памяти

1. Обзор типов памяти и способов адресации;
2. Понятие виртуальной памяти;
3. Адресация памяти с точки зрения программиста, компилятора, линковщика;
4. Модели адресации в различных ОС: сегментная, плоская. Процесс загрузки исполняемых файлов в память и отображение адресов;
5. Понятие виртуального адреса, страничная адресация памяти, принципы трансляции адресов;
6. Поддержка страничной адресации на уровне аппаратуры и ОС, таблицы трансляции, GDT, LDT, TLB, файлы подкачки.

Устройство сетевой подсистемы.

1. Понятие сервера и клиента;
2. Обзор стека протоколов TCP/IP;
3. Принципы адресации, идентификация хостов процессов, сетей;
4. Маршрутизация, типы маршрутизации, примеры алгоритмов;
5. Обзор транспортных протоколов TCP, UDP
6. Обзор прикладных протоколов;
7. Понятие сокета, поддержка сетей на уровне операционной системы.

Практические задания

1. Разработка shell
2. Создание начального загрузчика для (i386)
3. Синхронизация потоков и процессов. Классические задачи синхронизации.
4. Типовые решения многопоточной обработки. Управление очередями.
5. Моделирование работы менеджера памяти.
6. Моделирование страничной адресации и виртуальной памяти.
7. Моделирование алгоритмов планирования.
7. Моделирование работы файловой системы
8. Задачи на межпроцессное взаимодействие.

Список источников

1. Intel® 64 and IA-32 Architectures Software Developer Manuals. http://www.intel.com/content/www/us/en/processors/architectures-software...
2. Таненбаум. Компьютерные сети, ISBN 5-318-00494-X
3. Таненбаум. Операционные системы: разработка и реализация ISBN 5-469-00148-2
4. Таненбаум. Современные операционные системы, ISBN 978-5-498-07306-4
5. Таненбаум. Архитектура компьютера ISBN 5-469-01274-3
6. Таненбаум. Распределённые системы. Принципы и парадигмы ISBN 5-272-00053-6
7. J. Kubiatowicz. Operating Systems and System Programming course. UC Berkeley (http://www.academicearth.org/courses/operating-systems-and-system-progra...)