- •№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 Пусть есть процесс, который ждет некоторого события PROCEDURE1 иPROCEDURE2, которая это событие фиксирует. Тогда надо использовать 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
|
№42.Межпроцесная коммуникация. Разделяемая память, сообщения.
Межпроцессорные коммуникации: Разделяемая память, Семафоры, Очереди сообщений, Программные каналы, Программные гнезд, Потоки
Разделяемая память (shared memory).
Позволяют процессам иметь общие области виртуальной памяти. Единицей разделяемой памяти являются сегменты, свойства которых зависят от аппаратных особенностей управления памятью.
Этот способ обеспечивает наиболее быстрый обмен данными между процессами.
POSIX – функции для работы с разделяемой памятью
shmget - создание разделяемого сегмента
shmat - получение доступа к сегменту и размещение сегмента в памяти
shmdt - удаление сегмента
shmctl - выполнение управляющих действий (предписание удерживать сегмент в оперативной памяти и обратное предписание о снятии удержания )
Очереди сообщений (messages).
Являются системным разделяемым ресурсом
Каждая очередь сообщений имеет свой уникальный идентификатор
Процессы могут записывать сообщения в очередь и читать сообщения из очереди
При этом процесс, пославший сообщение в очередь, не обязан ожидать приема этого сообщения другим процессом
POSIX – функции для работы с очередью сообщений.
msgget - создать очереди сообщений
msgsnd - послать сообщение в очередь, зная ее идентификатор
msgrcv - прочитать сообщение, находящееся в очереди
msgctl - удалить очередь