Docsity
Docsity

Подготовься к экзаменам
Подготовься к экзаменам

Учись благодаря многочисленным ресурсам, которые есть на Docsity


Получи баллы для скачивания
Получи баллы для скачивания

Заработай баллы, помогая другим студентам, или приобретай их по тарифом Премиум


Руководства и советы
Руководства и советы

Разновидности мультипрограммирования реферат 2010 по информатике , Сочинения из Информатика

Разновидности мультипрограммирования реферат 2010 по информатике

Вид: Сочинения

2016/2017

Загружен 12.04.2017

refbank20481
refbank20481 🇷🇺

10 документы

1 / 12

Toggle sidebar

Сопутствующие документы


Частичный предварительный просмотр текста

Скачай Разновидности мультипрограммирования реферат 2010 по информатике и еще Сочинения в формате PDF Информатика только на Docsity! Разновидности мультипрограммирования 1. Операции с процессами Процесс не может сам перейти из одного состояния в другое. Изменением состояния процессов занимается операционная система, совершая операции над ними. Удобно объединить их в три пары: Создание процесса — завершение процесса; Приостановка процесса (перевод из состояния исполнение в состояние готовность) — запуск процесса (перевод из состояния готовность в состояние исполнение); Блокирование процесса (перевод из состояния исполнение в состояние ожидание) — разблокирование процесса (перевод из состояния ожидание в состояние готовность); Операции создания и завершения процесса являются одноразовыми, так как применяются к процессу не более одного раза (некоторые системные процессы никогда не завершаются при работе вычислительной системы). Все остальные операции, связанные с изменением состояния процессов, будь то запуск или блокировка, как правило, являются многоразовыми. Мультипрограммирование, или многозадачность (multitasking), — это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ. Эти программы совместно используют не только процессор, но и другие ресурсы компьютера: оперативную внешнюю память, устройства ввода-вывода, данные. Планирование - обеспечение поочередного доступа процессов к одному процессору. Планировщик - отвечающая за это часть операционной системы. Алгоритм планирования - используемый алгоритм для планирования. Ситуации когда необходимо планирование: Когда создается процесс Когда процесс завершает работу Когда процесс блокируется на операции ввода/вывода, семафоре, и т.д. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается "выгодное" задание. Следовательно, в вычислительных системах, работающих под управлением пакетных ОС, невозможно гарантировать выполнение того или иного задания в течение определенного периода времени. Алгоритмы: 1. "Первый пришел - первым обслужен" (FIFO - First In Fist Out) Процессы ставятся в очередь по мере поступления. Преимущества Простата Справедливость (как в очереди покупателей, кто последний пришел, тот оказался в конце очереди) Недостатки Процесс, ограниченный возможностями процессора может затормозить более быстрые процессы, ограниченные устройствами ввода/вывода. 2. "Кратчайшая задача - первая" (рис.1) Преимущества Уменьшение оборотного времени Справедливость (как в очереди покупателей, кто без сдачи проходит в перед) Недостатки Длинный процесс, занявший процессор, не пустит более новые краткие процессы, которые пришли позже. 3. Наименьшее оставшееся время выполнение Аналог предыдущего, но если приходит новый процесс, его полное время выполнения сравнивается с оставшимся временем выполнения текущего процесса. 4. Трехуровневое планирование Планировщик доступа выбирает задачи оптимальным образом (например: процессы ограниченные процессором и вводом/выводом) (рис.2). Если процессов в памяти слишком много, планировщик памяти выгружает и загружает некоторые процессы на диск. Количество процессов находящихся в памяти, называется степенью многозадачности. 3. Интерактивные системы Цель: Повышение удобства и эффективности работы пользователя. В системах разделения времени пользователям (или одному пользователю) предоставляется возможность интерактивной работы сразу с несколькими приложениями. Для этого каждое приложение должно регулярно получать возможность "общения" с пользователем. Понятно, что в пакетных системах возможности диалога пользователя с приложением весьма ограничены. Суть. В системах разделения времени эта проблема решается за счет того, что ОС принудительно периодически приостанавливает приложения, не дожидаясь, когда они добровольно освободят процессор. Всем приложениям попеременно выделяется квант процессорного времени, таким образом пользователи, запустившие программы на выполнение, получают возможность поддерживать с ними диалог. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Достоинство: простота работы пользователя. Недостаток: небольшая пропускная способность. Алгоритмы: 1. Циклическое планирование Самый простой алгоритм планирования и часто используемый (рис.3). Каждому процессу предоставляется квант времени процессора. Когда квант заканчивается процесс переводится планировщиком в конец очереди. При блокировке процессор выпадает из очереди. Преимущества Простата Справедливость (как в очереди покупателей, каждому только по килограмму) Недостатки 4. Гарантированное планирование В системе с n-процессами, каждому процессу будет предоставлено 1/n времени процессора. 5. Лотерейное планирование Процессам раздаются "лотерейные билеты" на доступ к ресурсам. Планировщик может выбрать любой билет, случайным образом. Чем больше билетов у процесса, тем больше у него шансов захватить ресурс. 6. Справедливое планирование Процессорное время распределяется среди пользователей, а не процессов. Это справедливо если у одного пользователя несколько процессов, а у другого один. 4. Системы реального времени Еще одна разновидность мультипрограммирования используется в системах реального времени, предназначенных для управления от компьютера различными техническими объектами (например, станком, спутником, научной экспериментальной установкой и т. д.) или технологическими процессами (например, гальванической линией, доменным процессом и т. п.). Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная управляющая объектом программа. В противном случае может произойти авария: спутник выйдет из зоны видимости, экспериментальные данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме. Системы реального времени делятся на: жесткие (жесткие сроки для каждой задачи) - управление движением гибкие (нарушение временного графика не желательны, но допустимы) - управление видео и аудио Внешние события на которые система должна реагировать, делятся: периодические - потоковое видео и аудио непериодические (непредсказуемые) - сигнал о пожаре Что бы систему реального времени можно было планировать, нужно чтобы выполнялось условие: m - число периодических событий i - номер события P(i) - период поступления события T(i) - время, которое уходит на обработку события Т.е. перегруженная система реального времени является не планируемой. Алгоритмы: 1. Планирование однородных процессов В качестве однородных процессов можно рассмотреть видео сервер с несколькими видео потоками (несколько пользователей смотрят фильм). Т.к. все процессы важны можно использовать циклическое планирование. Но так как количество пользователей и размеры кадров могут меняться, для реальных сстем он не подходит. 2. Общее планирование реального времени Используется модель, когда каждый процесс борется за процессор со своим заданием и графиком его выполнения. Планировщик должен знать: частота, с которой должен работать каждый процесс объем работ, который ему предстоит выполнить ближайший срок выполнения очередной порции задания.
Docsity logo