Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
spr_gos.doc
Скачиваний:
10
Добавлен:
01.05.2025
Размер:
1.2 Mб
Скачать

18. Операционные системы: понятие событийного программирования; средства коммуникации процессов; понятие прерывания; многопроцессорный режим работы (Продолжение).

Мультипрограммирование, или многозадачность (multitasking), - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько задач (программ).

В мультипрограммировании ключевым местом является способ составления расписания, по которому осуществляется переключение между задачами (планирование), а также механизм, осуществляющий эти переключения.

Каждому из процессов доступна вся память. В асимметричных ОС существует главный процессор (master) и подчиненный процессор (slave), загрузку и характер работы которых определяет главный процессор.

Сигналы являются внешне простым и весьма употребительным средством локального межпроцессного взаимодействия, но связанные с ними идеи существенно сложнее, а понятия - многочисленнее.

Говорят, что сигнал генерируется (или посылается) для процесса (потока управления), когда происходит вызвавшее его событие (например, выявлен аппаратный сбой, отработал таймер, пользователь ввел с терминала специфическую последовательность символов, другой процесс обратился к функции kill() и т.п.). Иногда по одному событию генерируются сигналы для нескольких процессов (например, для группы процессов, ассоциированных с некоторым управляющим терминалом).

В момент генерации сигнала определяется, посылается ли он процессу или конкретному потоку управления в процессе. Сигналы, сгенерированные в результате действий, приписываемых отдельному потоку управления (таких, например, как возникновение аппаратной исключительной ситуации), посылаются этому потоку. Сигналы, генерация которых ассоциирована с идентификатором процесса или группы процессов, а также с асинхронным событием (к примеру, пользовательский ввод с терминала) посылаются процессу.

В каждом процессе определены действия, предпринимаемые в ответ на все предусмотренные системой сигналы. Говорят, что сигнал доставлен процессу, когда взято для выполнения действие, соответствующее данным процессу и сигналу. сигнал принят процессом, когда он выбран и возвращен одной из функций sigwait().

19.Операционные системы: совместное Операционные системы: совместное использование памяти; защита памяти; механизм реализации виртуальной памяти; стратегия подкачки страниц;

Защита памяти (storage protection) - важное условие работы для систем коллективного пользования. Защита памяти ограничивает диапазон адресов, которые доступны программе. Защиту памяти для программы, занимающей непрерывный блок ячеек памяти, можно реализовать с помощью граничных регистров, где указываются старший и младший адреса этого блока памяти.

Защита памяти также может быть реализована с помощью ключей защиты памяти (storage protect keys), относящихся к определенным областям основной памяти - программе разрешается обращение только к тем областям памяти, ключи которых совпадают с ключом данной программы.

Кроме того, для различных областей памяти вводятся ограничения доступа, определяемые содержимым этих областей, а иногда - и уровнем приоритета обращающейся к ним задачи. К коду – только чтение, к данные – чтение и запись.

Виртуальная память. Суть концепции виртуальной памяти заключается в следующем. Информация, с которой работает активный процесс, должна располагаться в оперативной памяти. В схемах виртуальной памяти у процесса создается иллюзия того, что вся необходимая ему информация имеется в основной памяти. Для этого, во-первых, занимаемая процессов память разбивается на несколько частей – страниц. Во-вторых, логический адрес, к которому обращается процесс, динамически транслируется в физический адрес. И наконец, в тех случаях, когда страница, к которой обращается процесс, не находится в физической памяти, нужно организовать ее подкачку с диска. Для контроля наличия страницы в памяти вводится специальный бит присутствия, входящий в состав атрибутов страницы в таблице страниц.

Таким образом, в наличии всех компонентов процесса в основной памяти необходимости нет. Важным следствием такой организации является то, что размер памяти, занимаемой процессом, может быть больше, чем размер оперативной памяти. Следует отметить, что оборудование компьютера принимает участие в трансляции адреса практически во всех схемах управления памятью. Но в случае виртуальной памяти это становится более сложным вследствие разрывности отображения и многомерности логического адресного пространства. Стратегии подкачки страниц. Страничное распределение по запросам предполагает в случае возникновения страничного прерывания и отсутствия свободного кадра необходимость удалить из основной памяти какую-то страницу, что бы освободить место для запрашиваемой страницы. Удаление «не той» страницы может привести к такому нежелательному явлению как пробуксовка или трешинг (thrashing) - подкачка одних и тех же страниц. Вследствие возрастания скорости замещения страниц до очень большого уровня доля циклов, отводимых на управление «листанием» страниц, становится очень значительной и общая производительность системы резко падает. Различается локальное или полное замещение или удаление]. Замещение является полным или локальным в зависимости от того, среди каких страниц ищется удаляемая страница. При полном замещении страница ищется среди всех страниц, размещенных в основной памяти всеми активными процессами; для всех страниц используется один алгоритм управления, к каждой странице применяется одна и та же стратегия. При локальном подходе в основной памяти для каждого процесса выделяется не более определенного фиксированного или динамически настраиваемого количества страничных кадров и удаляемая страница ищется среди выделенных ей страничных кадров; алгоритм управления страницами применяется к каждой программе в отдельности и, если ОС позволяет, то можно использовать разные алгоритмы для разных классов задач.

(есть продолжение)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]