Анотация
Дисциплината запознава студентите с основните принципи на работа на съвременните операционни системи. Разглежда се структурата на операционна система, изясняват се функциите на отделните компоненти. Особено внимание се обръща на паралелната работа на процеси, осигуряваща многозадачна и многопотребителска работа във всяка съвременна операционна система. Представят се проблемите, които възникват при едновременен достъп на множество процеси до общи ресурси. Разглеждат се класически методи и алгоритми за решаване на тези проблеми.
Предвидени са теми за изучаване на принципите на работа на транслаторите – компилатори и интерпретатори. Изясняват се общата структура на транслатор и етапите, през които преминава процесът на транслация.
В лабораторните упражнения се демонстрира работата на основните компоненти на операционната система – базови команди, работа с командния интерпретатор, файловата система. Особено внимание се отделя на средствата и алгоритмите за решаване на проблема с конкурентен достъп на паралелни процеси до общи ресурси. Демонстрират се модулите на учебен компилатор.
Съдържание
Тема 1. Основни понятия в операционните системи. Изисквания към ОС. Структура и функции на ОС
Тема 2. Режими на изпълнение на инструкциите. Системни извиквания. Разработване на програмно осигуряване. Свързващи редактори
Тема 3. Процеси. Граф на състоянията на процесите. Превключване на контекста. Основни операции.
Тема 4. Синхронизация на процеси. Критична секция. Взаимно-изключващ достъп
Тема 5. Програмни решения за взаимно-изключващ достъп. Алгоритми на Декер и Петерсон
Тема 6. Семафори. Основни операции върху семафори. Решение на задачата „Производител-Консуматор“
Тема 7. Монитори. Граф на състоянията на процесите в монитора
Тема 8. Планиране на процесите. Критерии. Планировчик на процесите
Тема 9. Алгоритми и дисциплини за планиране на процеси: First-Come-First-Serve, Shortest-Job-First, Shortest-Remaining-Time-First, Round-Robin
Тема 10.Управление на оперативната памет. Статична и динамична настройка на адресите. Логически и физически адреси.
Тема 11.Непрекъсната организация на ОП. Странична организация на ОП. Сегментна организация на ОП. Заместване на страници. Стратегии за заместване.
Тема 12.Файлова система. Файлове и операции върху тях. Методи на достъп. Структура на директориите. Организация. Контрол на достъп
Тема 13.Въведение в транслаторите. Компилатори и интерпретатори. Основни етапи в процеса на транслиране
Тема 14.Лексически анализ. Организация на лексическите таблици. Синтактичен анализ. Методи за синтактичен анализ
Тема 15.Семантичен анализ. Генериране на код