Режимы мультирограммирования

Операционная система работает в мультипрограммном режиме, если возможно одновременное обслуживание нескольких процессов. Можно выделить следующие режимы мультипрограммирования: одновременное использование ресурсов, разделение времени и мультипроцессирование.

Введем следующие обозначения: P={p1, p2, … , pn} – процессы, подлежащие обработке; I = {I1, I2, … , Im } – процессоры; R = {r1, r2, … ,rg} – остальные ресурсы системы (выделение из R обусловлено спецификой обработки процессоров). Тогда схему работы операционной системы с одновременным использованием ресурсов можно записать следующим образом: процессы pjÎР, j=1,2,...,l, l ≤ n могут одновременно выполняться на процессоре If, если в данный момент времени t все процессы pjÎР используют различные ресурсы, т.е. справедливы условия

Гjp( pj ) = Ø и Гjr( pj ) = Ø (аксиома параллельного выполнения). Если аксиома не выполняется для некоторого pj, то мультипрограммирование можно осуществлять, используя алгоритм разделения времени. Это означает, что для любого j=1,2,...l нужно выполнить процесс pj на процессоре If в течение кванта времени t. Процессы P {pj} находятся в состоянии ожидания; по истечении кванта времени t процесс pj следует перевести в состояние ожидания и начать выполнение процесса pj+q, где q принимает значения

 
 


q=

 

Схему работы ОС в режиме мультипроцессирования можно представить следующим образом:

для каждого процесса pjÎР, j=1,2,...,n выделить процессор IfÎI, f=1,2,...,m. Если n > m, то процессы находятся в состоянии ожидания, и перевод их из состояния ожидания в состояние выполнения осуществляется по одному из алгоритмов диспетчирования.

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