Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект Лекций ПСРВ.doc
Скачиваний:
81
Добавлен:
12.02.2016
Размер:
2.73 Mб
Скачать

Состояния процесса (см. Рисунок 4.).

Рис. 4. Диаграмма состояний процесса, принятая в курсе

При рождении процесс получает в свое распоряжение адресное пространство, в которое загружается программный код процесса; ему выделяются стек и системные ресурсы; устанавливается начальное значение программного счетчика этого процесса и т. д. Родившийся процесс переводится в состояние готовность. При завершении своей деятельности процесс из состояния исполнение попадает в состояние закончил исполнение.

В конкретных операционных системах состояния процесса могут быть еще более детализированы, могут появиться некоторые новые варианты переходов из состояния в состояние. Так, например, модель состояний процессов для операционной системы Windows NT содержит 7 различных состояний, а для операционной системы UNIX — 9. Тем не менее, в принципе, все операционные системы подчиняются изложенной выше модели.

1.5.2. Симметричная мультипроцессорная среда (рис. 5)

Рис. 5. Симметричная мультипроцессорная среда

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

1.5.3. Распределенная среда (рис. 6)

Рис. 6. Распределенная среда

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

1.6. Конфигурации клиент-серверных систем (рис.7.)

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

Рис.7. Конфигурации клиент-серверных систем

Часто клиенты и серверы реа­лизованы на разных платформах, под разными операционными системами и в раз­личных сетях. Клиент – это, как правило, настольный ПК. У сервера обычно имеется большой объем памяти и дисков, мощный процессор и средства повышения надежности. Помимо управления данными, он предоставляет услуги прикладного характера. В простейшей системе клиент-сервер имеется один сер­вер и много клиентов. В более сложной системе работает несколько серверов (рис.8.).

Рис.8. Конфигурации клиент-серверных систем

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

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