Управление семафором реализуется с помощью функций: 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Управление семафором реализуется с помощью функций:



ü установки семафора с целью сигнализации;

ü ожидания вызывающим потоком, пока семафор не будет выключен;

ü ожидания потоком выключения одного из нескольких семафоров.

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

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

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

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

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

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

Известны следующие критерии, позволяющие сравнивать алгоритмы краткосрочных планировщиков:

ü утилизация CPU (использование процессора). Утилизация CPU теоретически может находиться пределах от 0 до 100%. В реальных системах утилизация CPU колеблется в пределах 40% для легко загруженного CPU, 90% для тяжело загруженного CPU;

ü пропускная способность CPU. Пропускная способность CPU может измеряться количеством процессов, которые выполняются в единицу времени;

ü время оборота — для некоторых процессов важным критерием является полное время выполнения, т. е. интервал от момента появления процесса во входной очереди до момента его завершения. Это время названо временем оборота и включает время ожидания во входной очереди, время ожидания в очереди готовых процессов, время ожидания в очередях к оборудованию, время выполнения в процессоре и время ввода-вывода;

ü время ожидания — под этим понимается суммарное время нахождения процесса в очереди готовых процессов;

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

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

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

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

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

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

Когда процесс попадает в очередь готовых процессов, ТУП (РСВ) присоединяется к хвосту очереди.

Среднее время ожидания для стратегии FCFS часто весьма велико и зависит от порядка поступления процессов в очередь готовых процессов.

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

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

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

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

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

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

Обычно приоритет — это целое положительное число, находящееся в некотором диапазоне, например, от 0 до 7 или от 0 до 1024. Будем считать, что чем меньше значение числа, тем выше приоритет процесса. Приоритеты назначаются, исходя из совокупности внутренних и внешних по отношению к операционной системе факторов. Внутренние факторы:

ü требования к памяти;

ü количество открытых файлов;

ü отношение среднего времени ввода-вывода к среднему времени использования ресурсов CPU и т. д. Внешние факторы:

ü важность процесса;

ü тип и величина файлов, используемых для оплаты;

ü отделение, выполняющее работы, и т. д.

 



Поделиться:


Последнее изменение этой страницы: 2020-11-28; просмотров: 123; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.36.192 (0.009 с.)