Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Состояния существования процессов





На рис. 2 представлена диаграмма состояний,

показывающая три возможных состояния процесса:

1. Выполнение (процесс использует процессор).

2. Готовность (процесс временно приостановлен, чтобы позволить выполняться другому процессу).

3. Блокировка (процесс не может быть запущен прежде, чем произойдет некое внешнее событие).

1. Процесс блокируется, ожидая входных данных

2. Планировщик выбирает другой процесс

3. Планировщик выбирает этот процесс

4. Доступны входные данные

 

Рис. 2. Состояния процесса. Стрелками показаны возможные переходы между состояниями.

 

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

Каждый процесс представлен в операционной системе набором данных, называемых таблица управления процессом либо Блок управления процессом (ТУП (БУП)— PCВ — process control block). В РСВ процесс описывается набором значе­ний, параметров, характеризующих его текущее состояние и ис­пользуемых операционной системой для управления прохождением процесса через компьютер. Информация, хранящаяся в БУП:

§ текущее состояние процесса

§ уникальный идентификатор(номер) процесса

§ указатели памяти процесса

§ указатели выделенных ресурсов для процесса

§ область сохранения регистров, где хранится точка останова процессора

Понятие очереди

Входная очередь располагается во внешней памяти, во входной очереди процессы ожидают освобождения ресурса — адресного про­странства основной памяти.

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

Процесс в состоянии ожидания завершения операции ввода-вы­вода находится в одной из очередей к оборудованию ввода-вывода.

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

Операционная система, обеспечивающая режим мультипрог­раммирования, обычно включает два планировщика — долгосрочный и краткосрочный. Например, в OS/360 долговременный планировщик назывался планировщиком заданий, а краткосрочный — суперви­зором задач.

Взаимодействие процессов.

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

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

Важным понятием синхронизации потоков является понятие «критической сек­ции» программы.

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

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

Семафор – это механизм, который регулирует работу двух и более асинхронных процесса.

В операционных системах OS/2 и Microsoft Windows существует специальный механизм для взаимодействия процессов в реальном масштабе времени. Этот механизм называется DDE (Dynamic Data Exchange — динамический обмен данными).

Другим интерфейсом для обмена данными является OLE (Object Linking and Embedding — связывание и встраивание объектов). Этот интерфейс позволяет хранить объекты, созданные одной програм­мой, в объектах, созданных другой программой, а также редактиро­вать (печатать) их без нарушения целостности информации и свя­зей.

Одним из наиболее простых, удобных и интуитивных интерфей­сов межпрограммного взаимодействия является буфер обмена — Clipboard.

Планирование работы процессора

Когда требуется планирование

1. При завершении процесса.

2. При блокировании процесса семафором или вводом-выводом.

Стратегии планирования процессора

Планирование в системах пакетной обработки

1. Первый пришел — первый обслуживается FIFO — first come — first served (FCFS).

2. Стратегия «наиболее короткая работа выполняется первой»
SJF — Shortest Job First.

Планирование в интерактивных системах

1. Приоритетное планирование.

Эта стратегия предполагает, что каждому процессу приписывается приоритет, определяющий очередность предоставле­ния ему CPU.

2. «Карусельная» (циклическая) стратегия планирования RR-Round Robin применяется в системах разделения времени. Определяется неболь­шой отрезок времени tk, названный квантом времени (10...100 мс).

Планирование с использованием многоуровневой очереди.

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

4. Использование многоуровневой очереди с обратными связя­ми.

Данная стратегия является универсальной и сочетает в себе свойства всех рассмотренных раньше стратегий — FCFS, SJF, прио­ритетная, Round Robin, многоуровневая очередь.

5. Приоритетная многоочередная дисциплина обслуживания. Вновь поступающие в систему запросы устанавливаются не обязательно в 1-ю очередь, а в очередь в соответствии с имею­щимися приоритетами, которые определяются параметрами обслу­живания процессов.

Планирование в системах реального времени

В системах реального времени, как и следовало ожидать, существенную роль играет время.

Системы реального времени делятся на жесткие системы реального времени, что означает наличие жестких сроков для каждого задания (в них обязательно надо укладываться), и гибкие системы реального времени, в которых нарушения временного графика нежелательны, но допустимы.

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

Обслуживание ввода-вывода







Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.