- •№1 Типы и поколения ос. Эволюция ос и ее связь с развитием аппаратных ресурсов эвс.
- •№2 Понятие об операционной системе, ее функциях и составе.
- •№3 Концепция процесса. Состояния процесса.
- •№4 Описание процесса в ос. Операции над процессами.
- •№5 Граф состояний процесса. Управление переходами.
- •№6 Процессы и потоки.
- •№7 Архитектуры ос. Функции ядра.
- •№8 Управление потоками. Многопоточное программирование.
- •№9 Проблема тупиков в ос. Необх условия возникновения тупиков
- •№10 Предотвращение тупиков. Принципы Хавендера.
- •№11 Обнаружение тупиков
- •№12 Обход тупиков. Алгоритм банкира.
- •№13 Прерывания ос и bios. Обработка прерываний.
- •№14. Организация оперативной памяти. Однопрограммные системы. Оверлеи.
- •№15. Организация оперативной памяти. Мультипрограммные системы.
- •№ 16 Основные функции системы управления памятью.
- •№17 Организация оперативной памяти. Основные способы.
- •№18 Организация оперативной памяти. Системы со свопингом.
- •№19. Виды памяти вычислительных систем.
- •№20 Виртуальная память, назначение, основные проблемы. Методы организации.
- •№21 Задачи менеджера виртуальной памяти.
- •№22 Страничная организация виртуальной памяти.
- •№23 Сегментная организация виртуальной памяти.
- •№24 Сегментно-страничная организация виртуальной памяти.
- •№25 Концепция локальности и теория рабочего множества.
- •№26 Стратегии решения задачи замещения страниц при управлении виртуальной памятью.
- •№27 Управление процессами, переключение контекста, приоритеты.
- •№28 Управление процессами. Основные стратегии.
- •№29 Управление процессами. Цели и критерии.
- •№30. Организация файлов. Функции файловой системы. Распределение внешней памяти.
- •№31.Файловая система. Методы поблочного отображения.
- •№32. Hpfs, ntfs и cdfs. Управление доступом к файлам.
- •№33.Устройство нмд. Управление дисками. Критерии планирования.
- •№34.Управление дисками. Основные стратегии управления.
- •№35. Пути повышения производительности дисковых накопителей. Raid0, raid1
- •№36. Пути повышения производительности дисковых накопителей. Raid5, raid6.
- •№37.Пути повышения производительности дисковых накопителей. Raid7, matrix raid.
- •№38. Параллельные асинхронные процессы. Проблемы управления.
- •№39. Программное решение задачи взаимного исключения.
- •№40.Способы синхронизации процессов.
- •№41. Семафоры. Синхронизация и взаимоисключение при помощи семафоров.
- •№42.Межпроцесная коммуникация. Разделяемая память, сообщения.
- •№43.Межпроцесная коммуникация. Pipes и sockets.
- •№44. Защита операционных систем. Цели и методы. Методы идентификации пользователей.
- •45.Защита от вирусов. Методы.
- •№46. Особенности работы операционных систем в сетях.
- •№47.Кластерные вычислительные системы типа CoPc.
- •№48. Параллельные вычисления. Метод Монте-Карло.
- •№49. Параллельные вычисления. Численное интегрирование.
- •№50. Методы распределения нагрузки в параллельных системах.
- •№51.Основные направления развития ос.
- •№52. Прерывания. Обработчики прерываний. Маскирование прерываний.
- •Типы прерываний
№39. Программное решение задачи взаимного исключения.
Задача: создать механизм взаимоисключений для следующих ограничений:
- на машине нет специальных команд взаимоисключение;
- скорости ассинхронных процессов заранее неизвестны;
- процессы, находящиеся вне критических участков, не должны мешать другим процессам входить в их собственные критические участки;
- не должно быть бесконечного откладывания момента входа процесса в критическую область.
Алгоритм Деккера (первый вариант).
Преимущества метода: просто реализуется взаимоисключение
Недостатки метода: сначала должен реализоваться процесс 1
- возможно только поочередное вхождение процессов в критические области
- если один процесс обращается в критическую область больше, чем другой, то это невозможно
Алгоритм Деккера (второй вариант)
П реимущества метода: не надо процессам чередоваться.
Недостатки метода: после условия и перед присвоением значения перменной PR?WNYTRI возможен вход в критическую область обоих процессов.
Алгоритм Деккера (третий вариант, усовершенствование второго).
П реимущества метода: оба процесса одновременно не могут войти в критическую область.
Недостатки метода: возможен тупик (бесконечное ожидание), если оба процесса установят переменные одновременно.
№40.Способы синхронизации процессов.
Синхронизация -процесс обмена сообщениями между процессами для исключения гонок и тупиков. Синхронизация необходима процессам для организации совместного использования ресурсов, таких как файлы или устройства, а также для обмена данными.
Способы: Критические секции, Семафоры, Мьютексы, События, Таймеры.
№41. Семафоры. Синхронизация и взаимоисключение при помощи семафоров.
Семафоры- это защищенная переменная, которую можно опрашивать и менять только при помощи специальных операций P и V и операции инициализации семафора.
Операция P(S) (вход взаимоисключение):
если S>0
то S := S – 1
иначе ждать на S
Операция V(S) (выход взаимоисключение):
если есть процесс, ожидающий на S, разрешить одному продолжить работу
иначе S := S + 1
Семафоры бывают: 1) Двоичные – 0, 1 , 2)Считающие – N > 0
Их реализация бывает: 1) Аппаратная 2)Программная
Синхронизация при помощи семафоров PROGRAMM VAR S: (семафор) LOGICAL; PROCEDURE 1 BEGIN начальные операторы P(S); остальные операторы END END PROCEDURE 2 BEGIN начальные операторы V(S); остальные операторы END END BEGIN S := 0; PARBEGIN PROCEDURE 1 PROCEDURE 2 PAREND END Пусть есть процесс, который ждет некоторого события PROCEDURE 1 и PROCEDURE 2, которая это событие фиксирует. Тогда надо использовать P и V следующим образом |
Реализация взаимоисключений при помощи семафоров. PROGRAMM VAR S: (семафор) LOGICAL; PROCEDURE 1 BEGIN WHILE TRUE DO BEGIN начальные операторы P(S); крититеская область V(S); остальные операторы END END PROCEDURE 2 [ то же самое, что и в PROCEDURE 1 ] BEGIN инициализция семафора (S,1) PARBEGIN PROCEDURE 1 PROCEDURE 2 PAREND END
|