Инфоурок Информатика КонспектыКонспект лекции "Модель процесса"

Конспект лекции "Модель процесса"

Скачать материал

Модель процесса

 

Все программное обеспечение, в том числе и операционная система, представлены на компьютере как набор процессов. С одной стороны, процесс представляет собой абстракцию, описывающую работу задачи, а с другой стороны, это сама задача выполняющаяся в определенное время и использующая такие ресурсы процессора, как: счетчик команд, регистры и переменные. С точки зрения абстрактной модели, каждый процесс имеет свой собственный виртуальный процессор. На самом деле процессор переключается с одного процесса на другой, предоставляя им свои ресурсы. Это явление называется многозадачность, а также мультипрограммирование, потому что при переключении между процессами, процессор использует алгоритм планирования для определения моментов переключения.

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

Таким образом, модель процесса ориентирована в двух направлениях:

1) выполнение задачи;

2) объединение ресурсов.

Каждому процессу выделяется виртуальная адресная область операционной системой, которая представляет собой набор виртуальных адресов, необходимых для запуска процесса.

Операции данных, такие как чтение или запись, происходят в адресном пространстве.

 

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

Рассмотрим компьютер, который является многозадачным и имеет четыре программы в памяти.

график

На графике показано, что одновременно активен только один процесс. Ниже приведены параллельные процессы, каждый со своим счетчиком команды.

счетчик

Но на самом деле есть только один физический счетчик команд, в который загружается логический командный счетчик текущего процесса. Когда время, отведенное текущему процессу, заканчивается, физический счетчик команд хранится в памяти, в логическом счетчике команд процесса.

 

счетчик

Условно можно считать, что есть только один центральный процессор. Хотя все больше таких предположений противоречат истине, так как новые кристаллы часто являются многоядерными, имея два, четыре и более ядра. Поэтому, когда мы говорим, что процессор на самом деле способен работать только с одним процессом в данный момент времени, то, если он имеет два ядра (или процессоров), на каждом из них в данный момент времени может работать только один процесс.

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

Так как звук может быть запущен немного позже, чем видео, аудиопроцесс даёт сигналы видеосерверу, чтобы тот начинал воспроизведение, а затем перед проигрыванием аудио запускает холостой цикл 10 000 раз. Если цикл служит надежным таймером, то все пойдет как следует, но если процессор решит переключиться на другой процесс во время холостого цикла, аудиопроцесс может возобновиться, когда соответствующие кадры уже показаны, и, к сожалению, синхронизация видео и аудио будет сбита. Когда процесс имеет такие требования в реальном времени, критически важные для его работы, конкретные события должны происходить после определенного количества миллисекунд, и для их возникновения должны быть приняты специальные меры. Но, как правило, на большинство процессов не влияет установленный режим многозадачности процессора или относительная скорость выполнения различных процессов.

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

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

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

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

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Конспект лекции "Модель процесса""

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Директор школы

Получите профессию

Интернет-маркетолог

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

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

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 671 100 материалов в базе

Материал подходит для УМК

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 30.11.2022 285
    • DOCX 46.5 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Ваганова Ольга Сергеевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Ваганова Ольга Сергеевна
    Ваганова Ольга Сергеевна
    • На сайте: 5 лет и 4 месяца
    • Подписчики: 0
    • Всего просмотров: 5900
    • Всего материалов: 10

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

HR-менеджер

Специалист по управлению персоналом (HR- менеджер)

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Информационные системы и технологии: теория и методика преподавания в профессиональном образовании

Преподаватель информационных систем и технологий

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Этот курс уже прошли 14 человек

Курс профессиональной переподготовки

Теория и методика обучения информатике в начальной школе

Учитель информатики в начальной школе

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 98 человек из 34 регионов
  • Этот курс уже прошли 222 человека

Курс профессиональной переподготовки

Информатика: теория и методика преподавания в образовательной организации

Учитель информатики

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 497 человек из 73 регионов
  • Этот курс уже прошли 1 530 человек

Мини-курс

Оказание первой помощи

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 676 человек из 73 регионов
  • Этот курс уже прошли 1 423 человека

Мини-курс

Брендинг и архитектура бренда: создание уникальности и цельности в маркетинге

2 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Методология проектного менеджмента и стратегического планирования в инвестициях

3 ч.

780 руб. 390 руб.
Подать заявку О курсе