Особенности работы планировщика задач
Анализ функционирования компьютера в многозадачном режиме. Понятие, типы и принцип работы планировщика в операционных системах. Алгоритм очередности выполнения задач. Перемещение процессов из основной памяти во вторичную. Главное требование к диспетчеру.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 18.01.2017 |
Размер файла | 19,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
Федеральное агентство по образованию
УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ЛЕСОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра
РЕФЕРАТ
Особенности работы планировщика задач
Исполнитель:Данилюк Алена
Руководитель: Н. А. Голубев
Екатеринбург, 2011
Содержание
Введение
Глава 1. Понятие планировщика задач
Глава 2. Типы планировщиков в операционных системах
Глава 3. Принцип работы планировщика
Заключение
Список источников
Введение
Актуальность данной тематики обусловлена тем, что работа планировщика задач - это неотъемлемая часть работы современной операционной системы. Планировщик отвечает за важные цели, главная из которых - наиболее полная загрузка процессора. Помимо правильного выбора следующего процесса, планировщик также должен заботится об эффективном использовании процессора, поскольку переключение между процессами требует затрат.
Цель моей работы: выявить основные особенности работы планировщика и научиться различать его типы.
Для достижения цели мною были поставлены и решены следующие задачи:
1. Прочитать и изучить заданный материал;
2. Выделить главные задачи и функции планировщика;
3. Выявить различные типы, различая их особенности;
4. Анализировать и систематизировать материал по данной теме;
5. Сделать выводы.
компьютер планировщик диспетчер память
Глава 1. Понятие планировщика задач
Когда компьютер работает в многозадачном режиме, на нем могут быть активными (находится в состоянии готовности) несколько процессов (от двух и более), пытающихся одновременно получить доступ к одному процессору. Поэтому необходимо выбирать, какой процесс запустить следующим. Отвечающая за это часть Операционной системы (ОС) называется планировщиком, а используемый алгоритм - алгоритмом планирования. Помимо правильного выбора следующего процесса, планировщик также должен заботиться об эффективном использовании процессора, поскольку переключение между процессами требует затрат.[2]
Планировщик задач -- программа или сервис операционной системы, которая запускает другие программы в зависимости от различных критериев, как, например:
§ наступление определённого времени
§ переход в определённое состояние (бездействие, спящий режим и т. д.) операционной системы
§ поступление административного запроса через пользовательский интерфейс или через инструменты удалённого администрирования.[1]
Производительность -- количество процессов, которые завершают выполнение за единицу времени. Время ожидания -- время, которое процесс ожидает в очереди готовности. Время отклика -- время, которое проходит от начала запроса до первого ответа на запрос.
Каждый раз, когда планировщик задач получает сигнал о наступлении некоторого внешнего события (триггер), причина которого может быть как аппаратная, так и программная, он действует по следующему алгоритму.
· Определяет, должна ли текущая выполняемая задача продолжать работать.
· Устанавливает, какая задача должна запускаться следующей.
· Сохраняет контекст остановленной задачи (чтобы она потом возобновила работу с места останова)
· Устанавливает контекст для следующей задачи.
· Запускает эту задачу.
Эти пять шагов алгоритма также называются переключением задач.
Глава 2. Типы планировщиков в операционных системах
Операционные системы могут включать до трёх различных типов планировщиков: долговременный планировщик (или планировщик разрешения выполнения), среднесрочный планировщик и краткосрочный планировщик (также известный как диспетчер). Сами названия уже описывают относительную частоту, с которой планировщик выполняет свои функции.
Долговременный планировщик: решает, какие задачи или процессы будут добавлены в очередь процессов, готовых к выполнению; то есть, когда производится попытка запуска процесса, долговременный планировщик или добавляет новый процесс в очередь готовых процессов (допускает к выполнению), или откладывает это действие. Таким образом, долговременный планировщик решает, какие процессы будут выполняться одновременно, тем самым контролируя степень параллелизма и пропорцию между процессами, интенсивно выполняющими ввод-вывод, и процессами, интенсивно использующими процессор. Обычно в настольных компьютерах не применяется долговременный планировщик и новые процессы допускаются к выполнению автоматически. Но данный планировщик очень важен для систем реального времени, так как при чрезмерной нагрузке системы параллельно выполняющимися процессами время отклика системы может стать больше требуемого, что недопустимо.
Среднесрочный планировщик: Во всех системах с виртуальной памятью среднесрочный планировщик временно перемещает (выгружает) процессы из основной памяти во вторичную (например, на жёсткий диск), и наоборот. Эти действия называются подкачкой или свопингом. Среднесрочный планировщик может принять решение выгрузить процесс из основной памяти если:
§ процесс был неактивен некоторое время;
§ процесс имеет низкий приоритет;
§ процесс часто вызывает ошибки страниц (page fault);
§ процесс занимает большое количество основной памяти, а системе требуется свободная память для других целей (например, чтобы удовлетворить запрос выделения памяти для другого процесса).
Процесс будет возвращён в основную память, когда будет доступно необходимое количество свободной памяти или когда процесс выйдет из режима ожидания (в этом случае планировщик выгрузит из основной памяти другой процесс для освобождения основной памяти).
Во многих современных системах, поддерживающих отображение виртуального адресного пространства на вторичную память, отличную от файла подкачки, среднесрочный планировщик может одновременно играть роль и долговременного планировщика, рассматривая новые процессы как процессы, которые были выгружены из основной памяти. Таким образом, система может подгружать в основную память программный код только тогда, когда он понадобится процессу для выполнения (это называется загрузкой по требованию или «ленивой загрузкой»)
Краткосрочный планировщик: Планировщик на этом уровне решает, какие из готовых и загруженных в память процессов будут запущены на ЦПУ после прерывания (по времени, операции ввода-вывода, вызову операционной системы или другому сигналу). Решения на этом уровне приходится принимать очень часто (как минимум, каждый временной отрезок). Также планировщик может поддерживать или не поддерживать вытесняющую многозадачность (то есть иметь возможность прервать исполнение какого-либо процесса).
Диспетчер -- это еще один компонент системы планирования. Это модуль, который передает управление процессором тому процессу, который был выбран на уровне кратковременного планирования. В его задачи входит переключение контекста, переключение в пользовательский режим и прыжок к нужному месту пользовательской программы, чтобы начать или продолжить ее исполнение. Главное требование к диспетчеру -- это быстродействие, поскольку он осуществляет каждое переключение процессов. [3]
Глава 3. Принцип работы планировщика
Большинство ОСРВ выполняют планирование задач, руководствуясь следующей схемой. Каждой задаче в приложении ставится в соответствие некоторый приоритет. Чем больше приоритет, тем выше должна быть реактивность задачи. Высокая реактивность достигается путём реализации подхода приоритетного вытесняющего планирования (preemptive priority scheduling), суть которого заключается в том, что планировщику разрешается останавливать выполнение любой задачи в произвольный момент времени, если установлено, что другая задача должна быть запущена незамедлительно.
Описанная схема работает по следующему правилу: если две задачи одновременно готовы к запуску, но первая обладает высоким приоритетом, а вторая низким, то планировщик отдаст предпочтение первой. Вторая задача будет запущена только после того, как завершит свою работу первая.
Возможна ситуация, когда задача с низким приоритетом уже запущена, а планировщик получает сообщение, что другая задача с более высоким приоритетом готова к запуску. Причиной этому может послужить какое-либо внешнее воздействие (прерывание от оборудования), как, например, изменение состояния переключателя устройства, управляемого ОСРВ. В такой ситуации планировщик задач поведет себя согласно подходу приоритетного вытесняющего планирования следующим образом. Задаче с низким приоритетом будет позволено выполнить до конца текущую ассемблерную команду (но не команду, описанную в исходнике программы языком высокого уровня), после чего выполнение задачи останавливается. Далее запускается задача с высоким приоритетом. После того, как она прорабатывает, планировщик запускает прерванную первую задачу с ассемблерной команды, следующей за последней выполненной.
· Ассемблерная команда - команды языка программирования низкого уровня, мнемонические команды которого соответствуют инструкциям процессора вычислительной системы, (отангл. assembler -- сборщик) -- программа-транслятор.
Заключение
Изучив и проанализировав заданный материал, я выявила три основных типа планировщика задач:
1) долговременный планировщик (или планировщик разрешения выполнения), (решает, какие процессы будут выполняться одновременно, тем самым контролируя степень параллелизма и пропорцию между процессами, интенсивно выполняющими ввод-вывод, и процессами, интенсивно использующими процессор; используется не в обычных компьютерах, а в ОСРВ);
2) среднесрочный планировщик (управляет подкачкой или свопингом, временно перемещает (выгружает) процессы из основной памяти во вторичную (например, на жёсткий диск), и наоборот);
3) краткосрочный планировщик (решает, какие из готовых и загруженных в память процессов будут запущены на ЦПУ после прерывания (по времени, операции ввода-вывода, вызову операционной системы или другому сигналу));
4) диспетчер (модуль, который передает управление процессором тому процессу, который был выбран на уровне кратковременного планирования.
В его задачи входит переключение контекста, переключение в пользовательский режим и прыжок к нужному месту пользовательской программы, чтобы начать или продолжить ее исполнение; отличается быстродействием);
Обобщая вышесказанное, также хочется назвать основные функции и принципы работы планировщика:
Планировщик заданий планирует и координирует задачи во время выполнения. Задача -- это единица работы, выполняющая конкретные действия. Обычно различные задачи могут выполняться параллельно. В качестве примера задачи можно привести работу, выполняемую параллельными алгоритмами и асинхронными агентами.
Планировщик заданий осуществляет управление подробностями задач эффективного планирования на компьютерах с большим объемом вычислительных ресурсов. Планировщик заданий также использует новейшие возможности базовой операционной системы. Таким образом, приложения автоматически масштабируют и совершенствуют оборудование с расширенными возможностями.
Список источников
1. http://ru.wikipedia.org/wiki/
2. http://www.phys.spbu.ru/content/File/Library/studentlectures/Nemnugin/LecturePMF_13.pdf
3. http://chipenable.ru/index.php/programming-c/110-scheduler.html
Размещено на Allbest.ru
...Подобные документы
Функции планировщика процессов: добровольный вызов, переключение между процессами, анализ нажатия клавиш Ctrl-D. Составление алгоритма работы программы, разработка процедуры планировщик и процедуры анализа клавиш. Организация интерфейса пользователя.
курсовая работа [480,2 K], добавлен 20.01.2015Общая организация файловой системы. Виртуальные страницы. Команды для работы с ФС. Способы организации файлов. Системные вызовы управления процессами. Алгоритм работы планировщика процессов. Мультипрограммный режим работы ОС. Структура ядра системы.
курсовая работа [645,3 K], добавлен 23.03.2015Сведения о планировании заданий. Характеристика алгоритмов FIFO и SJF. Диспетчеризация задач для бесприоритетной ДО FB и с динамическим приоритетом (зависимость от времени обслуживания). Алгоритм функционирования диспетчера и результаты моделирования.
курсовая работа [702,3 K], добавлен 23.09.2013Классификация компьютерной памяти. Использование оперативной, статической и динамической оперативной памяти. Принцип работы DDR SDRAM. Форматирование магнитных дисков. Основная проблема синхронизации. Теория вычислительных процессов. Адресация памяти.
курсовая работа [1,5 M], добавлен 28.05.2016Понятие и внутреннее устройство современного персонального компьютера, особенности взаимосвязи отдельных компонентов. Функциональные возможности, классификация и типы операционных систем. Основные понятия и принципы реализации защиты информации.
курс лекций [1,6 M], добавлен 19.12.2013Кэш-память как способ совместного функционирования двух типов запоминающих устройств, его цели и задачи, принцип действия. Обеспечение быстрого доступа к интенсивно используемым данным. Согласование интерфейсов и схемы выполнения запросов в системах.
реферат [1,4 M], добавлен 13.05.2011Рассмотрение способов просмотра состояния процессов через диспетер задач в операционной системе Windows: определение взаимосвязи процессов и потоков, времени работы системы в пользовательском режиме. Ознакомление со сведениями о файлах драйверов.
лабораторная работа [3,1 M], добавлен 07.04.2010Изучение структуры компьютера и принципов его функционирования. Центральный процессор и основной цикл его работы. Выполнение арифметических операций в ЭВМ. Разработка программы реализации арифметического выражения и отладка ее с помощью отладчика TD.
контрольная работа [87,3 K], добавлен 12.03.2011Сравнение результатов работы генетического алгоритма по решению "несимметричной незамкнутой задачи коммивояжера" с результатами работы алгоритма динамического программирования по параметрам - время работы, точность результата и объем используемой памяти.
курсовая работа [65,3 K], добавлен 16.04.2014Создание системы, осуществляющей запуск программы по расписанию, которое хранится в реестре. Методы и средства взаимодействия с аппаратными и программными средствами, типы интерфейсов. Алгоритм работы и листинг программы, проверка ее работоспособности.
курсовая работа [78,6 K], добавлен 13.11.2009Особенности современного этапа развития операционных систем. Назначение операционных систем, их основные типы. Операционные системы мини-компьютеров. Принцип работы матричного принтера, проектирование и воспроизведение произвольных символов для них.
курсовая работа [258,2 K], добавлен 23.06.2011Главная задача компьютерной системы. Виртуальные адресные пространства нескольких программ. Классификация методов распределения памяти. Зависимость загрузки процессора от числа задач и интенсивности ввода-вывода. Схема функционирования кэш-памяти.
презентация [2,2 M], добавлен 14.11.2012Требование к антивирусным программам, их характеристика, классификация, обзор, преимущества и недостатки. Особенности использования программ-архиваторов. Основные виды принтеров и их характеристика. Этапы и схема подготовки и решения задач с помощью ЭВМ.
контрольная работа [65,6 K], добавлен 04.12.2010Схема функционирования и алгоритм работы кэш-памяти. Характеристика процесса: среднее время доступа к данным. Проблема согласования данных. Принципы работы дисковой подсистемы ОС. Цели использования, типы и атрибуты файлов. Структура файловой системы.
презентация [109,2 K], добавлен 20.12.2013Понятие и функциональные особенности запоминающих устройств компьютера, их классификация и типы, сравнительная характеристика: ROM, DRAM и SRAM. Оценка преимуществ и недостатков каждого типа оперативной памяти, направления и пути их использования.
презентация [118,1 K], добавлен 20.11.2013Характеристика флэш-памяти, особого вида энергонезависимой перезаписываемой полупроводниковой памяти. Исследование особенностей организации флэш-памяти. Общий принцип работы ячейки. Обзор основных типов карт памяти. Защита информации на флеш-накопителях.
презентация [9,3 M], добавлен 12.12.2013Назначение и цели создания системы автоматизации, ее устройство, принципы работы. Характеристика комплекса задач и функциональная структура, анализ входной и выходной информации. Логическая модель данных и алгоритм работы с ними. Инструкция пользователя.
курсовая работа [1,0 M], добавлен 06.07.2016Характеристика этапов решения задач на электронных вычислительных системах. Разработка алгоритма и основы программирования. Язык Ассемблера, предназначенный для представления в удобочитаемой символической форме программ, записанных на машинном языке.
контрольная работа [60,5 K], добавлен 06.02.2011Начальное представление систем нечеткого вывода: логический вывод, база знаний. Алгоритм Мамдани в системах нечеткого вывода: принцип работы, формирование базы правил и входных переменных, агрегирование подусловий, активизация подзаключений и заключений.
курсовая работа [757,3 K], добавлен 24.06.2011Схема распределения памяти, соответствующая пользовательской трактовке распределения памяти. Перемещение с помощью таблицы сегментов. Аппаратная поддержка сегментного распределения памяти. Сегментно-страничная организация памяти с двухуровневой схемой.
лекция [1,5 M], добавлен 24.01.2014