- Способ выбора процесса для диспетчеризации
- Алгоритмы диспетчеризации
- Стратегии и критерии диспетчеризации процессов
- Введение
- Основные понятия диспетчеризации процессов
- Планировщик процессора
- Собственно диспетчер процессора
- 9. Понятия: задание, процесс, поток. Планирование и диспетчеризация потоков.
- Состояния существования процесса. Графы состояний потоков.
- 11. Алгоритмы диспетчеризации. Способ выбора процесса для диспетчеризации
Способ выбора процесса для диспетчеризации
Когда принимаются решения по диспетчеризации
Планировщик принимает решение по диспетчеризации:
• после разблокировки процесса;
• по истечении временного интервала (кванта) для выполняющегося процесса;
• когда прерывается текущий процесс.
2. Раскройте планирование в системах пакетной обработки данных. Планирование в интерактивных системах. Планирование в системах реального времени.
Для систем пакетной обработки данных
1. Пропускная способность-максимальное количество задач в единицу времени.
2. Оборотное время-минимизация времени затрачиваемого на ожидание обслуживания и обработку задач.
3. Использование процессора-поддержка постоянной занятости процессора.
4. 1-ым пришел, 1-ым обслужен. Формируется единая очередь всех процессов. Если по каким-то причинам процесс блокируется, он помещается в конец очереди.
5. Кратчайшая задача.
6. Наименьшее оставшееся время выполнения.
Для интерактивных систем
1. Время откликов-быстрая реакция на запросы.
2. Соразмерность-выполнение по желанию пользователя относительно длительности каких-либо процессов.
Для систем реального времени
1. Окончание работ к срокам. Предотвращение потерь данных.
2. Предсказуемость-предотвращение деградации качества в мультимедийных системах.
Перечислите этапы установки и удаления компонентов Windows, дополнительных программ.
Удалить программу или компонент также крайне просто. Необходимо лишь найти необходимую для удаления прогу, выделяем ее и нажимаем на появившуюся кнопку «Удалить», тем самым запуская деинсталлятор. Хочу обратить ваше внимание на то, что помимо программ, установленных вами лично, в данном разделе можно найти и такие, которые установила сама система, и их удалять я не советую.
Управление компонентами windows. Снова войдите в «Программы и компоненты» — «Включение и отключение компонентов» (в левой части). Обратите внимание, что в составе вашей ОС Виндовс обязательно имеются дополнительные компоненты. А называются они именно так, потому что не предназначены для широкого круга задач, и многие пользователи о них даже не знают. К таким дополнительным компонентам можно отнести, например, Internet Explorer или же различные игры, предлагаемые системой. Если есть элементы, которыми вы никогда не пользуетесь, зачем же держать их на своем ПК? Кстати, после удаления, в случае изменения решения, ничто не помешает вам установить любой из компонентов заново самым обычным способом.
II часть
Поясните процедуры языка Perl. Организация выбора и циклов в языке Perl (в операционной системе UNIX).
Важным свойством языка Perl является возможность создания процедур (функций, подпрограмм). Такая возможность роднит Perl с очень многими другими алгоритмическими языками.
Процедура — это часть кода программы, имеющая, как правило, имя. Эта часть кода называется телом процедуры. Использование процедуры называется вызовом. Процедура может быть вызвана любое число раз в тексте программы. Таким образом, использование процедур сокращает, с одной стороны, размер программы (за счёт того, что отпадает необходимость в дублировании кода), и, с другой стороны, снижает трудозатраты программиста.
Кроме того, использование процедур проясняет логику программы. Очень удобно, программируя процедуру, посвятить её решению некоторой задачи и дать ей имя, отражающее суть этой задачи. Если для решения задачи требуется многократно решать более мелкие подзадачи, можно вынести решения подзадач в отдельные процедуры и т. д.
Perl поддерживает операторы циклов for, while и do с небольшими отличиями от их реализации в языке С. Существенным отличием служит то, что Perl требует использования инструкций блоками, заключенными в фигурные скобки. Кроме того, как вы познакомитесь , далее, Perl расширяет конструкцию цикла, что6ы обеспечить ее некоторые новые формы. В следующих примерах циклы for, while и do работают аналогичным образом на языках С и Perl:
Раскройте, как можно произвести вход на другой компьютер при помощи программы telnet. (ОС FreeBSD)
Если программа ftp предназначена для копирования файлов с одного компьютера на другой, то программа telnet служит для входа на другой компьютер и выполнения там каких-либо программ. Введите команду
telnet -8 имя_компьютера
В этой команде имя_компьютера означает то же, что и в предыдущем случае при работе с программой ftp, а параметр -8 позволяет вам переключать латинские и русские буквы после входа на другой компьютер. После ввода команды вы увидите приглашение, аналогичное тому, которое предлагается вам на вашем компьютере, т. е. User: и Pasword:. Если вы работаете в локальной сети, то введите такое имя пользователя, которое присутствует на компьютере, к которому вы подключаетесь. Если же вы работаете в домашних условиях, то введите имя stud, а затем пароль, который вы назначили этому пользователю. Если вы не ошиблись при вводе, то теперь вы зарегистрированы в системе на чужом компьютере. Вы можете работать на нем так же, как и на своем, т. е. использовать все те команды, которые вы уже изучили. Для начала можно запустить Demos Commander, введя команду deco. Если выполнить команду who на том компьютере, куда вы только вошли, то вы увидите в списке пользователей и вашего пользователя stud (в скобках указано имя компьютера, с которого был совершен вход по протоколу telnet, в приведенном примере вход был выполнен с этого же компьютера)
Экзаменационный билет №14
По дисциплине «Операционные системы»
Источник
Алгоритмы диспетчеризации
Процесс обработки заявок и составление расписания можно рассматривать как аналог задачи распределения (планирования) ресурсов вычислителей между выполняемыми вычислительными процессами (задачами) в ОС. Только в нашем случаи в роли задач выступают студенты и преподаватели, а ресурсом, требующим организованного распределения, является не процессор, а тренажеры.
Анализируя существующие методы организаций вычислений, можно выделить несколько основных принципов, дисциплин и аспектов реализации алгоритмов диспетчеризации:
— вытесняющие и невытесняющие дисциплины алгоритмов диспетчеризации;
— диспетчеризация на основе времени готовности к обслуживанию;
— диспетчеризация на основе приоритетов;
— диспетчеризация с квантованием;
— диспетчеризация с учетом хода выполнения процесса.
Невытесняющая многозадачная дисциплина обслуживания – это такой способ организации облуживания процессов, при котором текущий активный процесс выполняется до тех пор, пока сам и по своей инициативе не отдаст управление диспетчеру для выбора и запуска следующего готового к исполнению процесса.
Вытесняющая многозадачная дисциплина обслуживания – это такой способ организации обслуживания, при котором решение о переключении к исполнению другого готового процесса принимает диспетчер, а не текущий активный процесс.
В данной работе будет использоваться вытесняющая многозадачная дисциплина обслуживания, поскольку предусматриваются ситуации, когда для проведения группового занятия с преподавателем, самостоятельные тренинги студентов, препятствующие этому, отменяются.
Самым распространенным параметром, лежащим в основе диспетчеризации, является время перехода в состояние готовности к обслуживанию вычислительного процесса. Анализируя существующие алгоритмы диспетчеризации, можно разделить их на следующие три группы:
1. Диспетчеризация по принципу очереди: первым пришел – первым обслужен;
2. Диспетчеризация по принципу стека: последним пришел – первым обслужен;
3. Круговая диспетчеризация: последовательное выполнение процессов вне зависимости от их времени начала готовности к выполнению.
В данной работе будет использоваться первая группа: кто первым из студентов (группы студентов) записался на свободное время, тот и будет обслужен.
При организации приоритетного распределения времени выполнения процессов, диспетчеризацию можно разделить по типу применяемых приоритетов:
1. Статические – вычислительные процессы имеют фиксированное значение приоритета. Как правило, распределение приоритетов проводится на этапе проектирования системы;
2. Динамические изменяемые – приоритеты вычислительных процессов могут меняться при необходимости и в зависимости от хода вычислений.
В данной работе будут использоваться и статистические и динамические приоритеты. Статистические будут определять приоритет между занятиями преподавателей и самостоятельными тренингами студентов, причем первые всегда приоритетнее вторых. А динамические приоритеты будут высчитываться для каждого студента по отдельности, в соответствии с которыми во время формирования заявки для них определяется максимальная возможная длительность тренинга.
В ряде операционных систем в процесс распределения ресурса между потребителями вводится понятия кванта.
Квант – это максимальный выделенный промежуток времени (порция), в течение которого ресурс предоставляется одному пользователю. Применяя это понятие к диспетчеризации процессорного времени, мы можем сказать, что каждый процесс выполняется на строго ограниченном промежутке времени (кванте), после чего управление передается следующему готовому к выполнению процессу.
Алгоритмы диспетчеризации с квантованием можно разделить на два вида:
1. Алгоритмы с равными квантами – каждому процессу в равной степени предоставляются одинаковые интервалы исполнения;
2. Алгоритмы с разной величиной квантов – процессам выделяются кванты различной длины в зависимости от условий, приоритетности и иных характеристик процесса.
В данной работе для занятий с преподавателем и самостоятельных тренингов студентов будут задаваться разные величины квантов. Для первых один квант будет составлять 1,5 часа, а для вторых – 15 минут.
Во многих операционных системах, в целях оптимизации хода вычислений, вводят систему штрафов по отношению к конкурирующим за ресурс процессам. Диспетчер уменьшает приоритет выполняющегося процесса в случае его некорректной работы. Некорректностью может быть превышение заявленного времени выполнения задачи, программные ошибки, содержащиеся в ней, а также любые запрещенные данному процессу действия, такие как, например, попытка записи в чужую область памяти, нарушение доступа к данным и т. Д.
В данной работе будет использоваться подобная система. В случае, когда студент пропускает тренинг, на который он сам же и записался, диспетчер уменьшает приоритет студента, вследствие чего, максимальная возможная длительность его тренингов будет снижена. Наоборот, если студент прилежно посещает запланированные им тренинги, то диспетчер будет повышать ему приоритет.
Вывод
В качестве решения предлагается совместить 3 вышеописанных способа составления расписания.
Использование логического программирования в ограничениях позволит исключить заведомо недопустимые варианты составления расписания. Имитационное моделирование позволит автоматизировать процесс обработки заявок. Алгоритмы диспетчеризации позволят динамически распределять временные ресурсы, а также разрешать появляющиеся конфликты в расписании.
Источник
Стратегии и критерии диспетчеризации процессов
Презентацию к данной лекции Вы можете скачать здесь.
Введение
Планирование и диспетчеризация процессора – одна из важнейших функций операционной системы. В лекции рассмотрены следующие вопросы:
- Основные понятия диспетчеризации процессов
- Критерии диспетчеризации
- Алгоритмы диспетчеризации
- Диспетчеризация нескольких процессоров
- Диспетчеризация в реальном времени
- Многоуровневые очереди .
Основные понятия диспетчеризации процессов
Диспетчеризация процессора – распределение его времени между процессами в системе. Цель диспетчеризации – максимальная загрузка процессора , достигаемая с помощью мультипрограммирования .
Исполнение любого процесса можно рассматривать как цикл CPU / I-O – чередование периодов использования процессора и ожидания ввода-вывода.
Распределение периодов активности процессора ( bursts ) и ввода-вывода изображено на рис. 11.1.
На рис. 11.2 изображена примерная гистограмма периодов активности процессора, основанная на анализе реального поведения процессов в операционных системах.
Из схемы видно, что чем короче период активности, тем выше частота таких периодов, и наоборот, т.е. частота периодов активности обратно пропорциональна их длительности.
Планировщик процессора
Планировщик – компонента ОС, которая выбирает один из нескольких процессов, загруженных в память и готовых к выполнению, и выделяет процессор для одного из них.
Решения по диспетчеризации могут быть приняты в случаях, если процесс:
- Переключается из состояния выполнения в состояние ожидания.
- Переключается из состояния выполнения в состояние готовности к выполнению.
- Переключается из состояния ожидания в состояние готовности.
- Завершается.
Диспетчеризация типов 1 и 4 обозначается термином диспетчеризация без прерывания процесса (non-preemptive).
Диспетчеризация типов 2 и 3 обозначается термином диспетчеризация с прерыванием процесса (preemptive).
Собственно диспетчер процессора
Диспетчер процессора – компонента ОС, предоставляющая процессор тому процессу, который был выбран планировщиком . Диспетчер выполняет последовательность действий:
- Переключает контекст
- Переключает процессор в пользовательский режим
- Выполняет переход по соответствующему адресу в пользовательскую программу для ее рестарта .
Скрытая активность (латентность) диспетчера (dispatch latency) – время, требуемое для диспетчера, чтобы остановить один процесс и стартовать другой. Разумеется, система должна стремиться минимизировать это время, однако набор критериев диспетчеризации более сложен.
Источник
9. Понятия: задание, процесс, поток. Планирование и диспетчеризация потоков.
Программа – статический объект на носителе информации, содержащий инструкции и команда для ЭВМ.
Процесс – динамический объект, возникающий в системе при запуске программы (пользователем, другим процессом, системой).
Составная часть процесса – поток.(наименьшая единица обработки, назначенная ОС)
Задача – процесс, состоящий из одного потока.
Переход от выполнения одного потока к другому осуществляется при помощи планирования и диспечерезации.
Планирование – работа по определению момент времени, в который необходимо начать выполнение определенного потока. Планирование осуществляется на основе информации, хранящейся в описателях процессов и потоков.
1)Определение момента времени для смены текущего активного потока.
2)Выбор потока для выполнения из очереди готовых потоков.
Виды планирования потоков:
Решения принимаются во время работы системы, на основе анализа текущей ситуации. Требует значительного количества ресурсов(on-line)
Используется в специализированных системах.(например в системах реального времени) решения планирования принимаются до начала работы системы (off-line)
Диспетчеризация – заключается в реализации найденного в результате планирования (динамич. или статич.) решения, т.е. в переключение процессора с одного потока на другой.
Перед переключением на выполнение нового потока ОС запоминает контекст текущего.
Контекст — информация о состояние ПК в момент прерывания потока:
Значение счетчика команд
Режим работы процессора
Регистры общего назначения
Ссылки на открытые файлы
Данные об операциях ввода-вывода
Действия при диспетчеризации:
1)Сохранение контекста текущего потока(который требуется сменить)
2)загрузка контекста нового потока
3)запуск нового потока на выполнение
Состояния существования процесса. Графы состояний потоков.
Активное состояние потока, во время которого поток обладает всеми необходимыми ресурсами, и непосредственно выполняется процессором
Пассивное состояние, в котором поток заблокирован внешними причинами (поток обладает всеми ресурсами, но не имеет доступа к процессору)
Пассивное состояние потока, при котором он заблокирован внутренними обстоятельствами (не обрабатывается процессором и не имеет ресурсов)
Типичный граф состояния потока
Алгоритмы планирования потоков:
Не вытесняющие – активный поток выполняется, пока сам не передаст управление ОС (для загрузки следующего потока)
Вытесняющая – решение о переключение с потока на поток принимает ОС.а не активной задачей.
11. Алгоритмы диспетчеризации. Способ выбора процесса для диспетчеризации
Диспетчеризация процессора – распределение его времени между процессами в системе. Цель диспетчеризации – максимальная загрузка процессора, достигаемая с помощью мультипрограммирования.
Исполнение любого процесса можно рассматривать как цикл CPU / I-O – чередование периодов использования процессора и ожидания ввода-вывода.
Алгоритмы планирования, основанные на квантовании
В основе многих вытесняющих алгоритмов планирования лежит концепция квантования. В соответствии с этой концепцией каждому потоку поочередно для выполнения предоставляется ограниченный непрерывный период процессорного времени — квант. Смена активного потока происходит, если:
поток завершился и покинул систему;
поток перешел в состояние ожидания;
исчерпан квант процессорного времени, отведенный данному потоку.
Источник