Операционные системы. Курс лекций

Управление памятью в ОС


В любой многозадачной ОС процессы взаимодействуют друг с другом и система должна поддерживать эту возможность:

1) Процессы взаимодействуют для выполнения общей задачи. Процессу может потребоваться возможность запрашивать сервисы у другого процесса и ждать выполнения соответствующих операций. Процессы могут также синхронизироваться друг с другом. Это происходит, когда один из процессов достигает точки, в которой ему нужно убедиться в выполнении другим процессом какой-либо операции и лишь затем продолжить работу. Процессу требуется операции «Ждать» для синхронизации с другим процессом или аппаратным обеспечением. Кроме того необходимы механизмы сигнализации о завершении операции, когда процесс ждет, что-то должно инициировать продолжение его работы. Причем взаимную синхронизацию необходимо осуществлять независимо от того, имеется ли у процессов общее адресное пространство или нет.

2)    Процессы «соревнуются» за монопольное использование сервисов или ресурсов. Многие клиенты могут параллельно запрашивать некоторый сервис. Несколько процессов могут пытаться одновременно использовать некоторый ресурс. Система должна всем этим управлять, в частности она должна устанавливать порядок, согласно которому процессы, в случае необходимости, организуются в очередь в ожидании тех ресурсов, который можно использовать только последовательно, а также осуществлять выбор между процессами, запросы которых совпали по времени. «Соревнующимся» процессам нужно ждать получения общего ресурса и сигнализировать о завершении его использования.

Для успешного взаимодействия процессов необходимо два механизма:

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

2)    взаимное исключение – «соревнующиеся» процессы должны ждать освобождения общего ресурса и сигнализировать об окончании его использования.

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

Важным понятием синхронизации процессов является понятие



Содержание раздела