Операционные системы. Часть 1. Основы управления ресурсами. Рощин А.В. - 74 стр.

UptoLike

Составители: 

74
При необходимости взаимодействия процессы обращаются к
операционной системе, которая, выполняя функции посредника,
предоставляет им средства межпроцессной связиконвейеры, почтовые
ящики, разделяемые секции памяти и некоторые другие.
Однако в системах, в которых отсутствует понятие потока, возникают
проблемы при организации параллельных вычислений в рамках процесса. А
такая необходимость может возникать. Действительно, при
мультипрограммировании повышается пропускная способность системы, но
отдельный процесс никогда не может быть выполнен быстрее, чем в
однопрограммном режиме (всякое разделение ресурсов только замедляет
работу одного из участников за счет дополнительных затрат времени на
ожидание освобождения ресурса). Однако приложение, выполняемое в
рамках одного процесса, может обладать внутренним параллелизмом,
который в принципе мог бы позволить ускорить его решение. Если,
например, в программе предусмотрено обращение к внешнему устройству, то
на время этой операции можно не блокировать выполнение всего процесса, а
продолжить вычисления по другой ветви программы. Параллельное
выполнение нескольких работ в рамках одного интерактивного приложения
повышает эффективность работы пользователя. Так, при работе с
текстовым редактором желательно иметь возможность совмещать набор
нового текста с такими продолжительными по времени операциями, как
переформатирование значительной части текста, печать документа или его
сохранение на локальном или удаленном диске. Еще одним примером
необходимости распараллеливания является сетевой сервер баз данных. В
этом случае параллелизм желателен как для обслуживания различных
запросов к базе данных, так и для более быстрого выполнения отдельного
запроса за счет одновременного просмотра различных записей базы.
                                         74



        При   необходимости    взаимодействия        процессы   обращаются     к
операционной      системе,    которая,        выполняя   функции   посредника,
предоставляет им средства межпроцессной связи – конвейеры, почтовые
ящики, разделяемые секции памяти и некоторые другие.
        Однако в системах, в которых отсутствует понятие потока, возникают
проблемы при организации параллельных вычислений в рамках процесса. А
такая      необходимость      может       возникать.     Действительно,      при
мультипрограммировании повышается пропускная способность системы, но
отдельный процесс никогда не может быть выполнен быстрее, чем в
однопрограммном режиме (всякое разделение ресурсов только замедляет
работу одного из участников за счет дополнительных затрат времени на
ожидание освобождения ресурса). Однако приложение, выполняемое в
рамках одного процесса, может обладать внутренним параллелизмом,
который в принципе мог бы позволить ускорить его решение. Если,
например, в программе предусмотрено обращение к внешнему устройству, то
на время этой операции можно не блокировать выполнение всего процесса, а
продолжить вычисления по другой ветви программы. Параллельное
выполнение нескольких работ в рамках одного интерактивного приложения
повышает эффективность работы пользователя. Так, при работе с
текстовым редактором желательно иметь возможность совмещать набор
нового текста с такими продолжительными по времени операциями, как
переформатирование значительной части текста, печать документа или его
сохранение на локальном или удаленном диске. Еще одним примером
необходимости распараллеливания является сетевой сервер баз данных. В
этом случае параллелизм желателен как для обслуживания различных
запросов к базе данных, так и для более быстрого выполнения отдельного
запроса за счет одновременного просмотра различных записей базы.