Процессы

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

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

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

2.1.1.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Процессы:

  1. Очерк 2: Берт «Процесс — вот мое достояние. Именно процесс создает успех»
  2. Задания, мешающие когнитивному процессу (ЗМКП), и задания, помогающие когнитивному процессу (ЗПКП)
  3. ПРОЦЕСС НЕРВНЫЙ
  4. ПРОЦЕСС НАДСОЗНАТЕЛЬНЫЙ
  5. Психические процессы
  6. ПРОЦЕСС НЕРВНЫЙ: ИНДУКЦИЯ
  7. ПРОЦЕСС ПСИХИЧЕСКИЙ
  8. ПРОЦЕСС КУЛЬТУРНЫЙ
  9. Обратный процесс
  10. Ю.М. Плотински. Модели социальных процессо, 2001
  11. ПРОЦЕСС ТЕЛЕПАТИЧЕСКИЙ
  12. ПРОЦЕСС ДУШЕВНЫЙ БЕССОЗНАТЕЛЬНЫЙ
  13. Процесс
  14. Творческий процесс на телевидении
  15. 3.1. Содержание процесса
  16. Глава 9. Инновационные процессы
  17. БАЛАНС ПРОЦЕССОВ НЕРВНЫХ
  18. УРАВНОВЕШЕННОСТЬ ПРОЦЕССОВ НЕРВНЫХ
  19. Процесс раскрытия.