
- •Определения
- •Виды циклов Безусловные циклы
- •Цикл с предусловием
- •Цикл с постусловием
- •Цикл с выходом из середины
- •12. Опишіть переваги циклічного алгоритму.
- •13. Опишіть алгоритм розподілу часу.
- •14. Опишіть алгоритм кооперативна багатозадачність.
- •15. Опишіть алгоритм пріоритетна багатозадачність із витисненням.
Перелік питань
модульної контрольної роботи №1
з дисципліни “Програмування багаторівневих систем управління”
Що таке система реального часу?
Реальний час — режим роботи автоматизованої системи обробки інформації і керування, при якому враховуються обмеження на часові характеристики функціювання. Будь-яка система називається системою реального часу (СРЧ), якщо правильність її функціювання залежить не тільки від логічної коректності обчислень, але і від часу, за який ці обчислення проводяться. Тобто для подій, що відбуваються у такій системі, те, коли ці події відбуваються, так само важливо, як логічна коректність самих подій. У цьому випадку вважають, що система працює у режимі реального часу.
Що таке система твердого реального часу? Наведіть приклад.
жорсткий реальний час — режим роботи системи, при якому порушення часових обмежень рівнозначно відмові системи і веде до неможливості вирішення поставленої задачі; с-ма жорсткого реального часу не допускає ніяких затримок реакції с-ми за жодних умов
Що таке система м’якого реального часу? Наведіть приклад.
м'який реальний час — режим роботи системи, при якому порушення часових обмежень призводять до зниження якості роботи системи. С-ма м*якого РЧ х-зується тим, що що затримка реакції не критична, хоча і може привести до збільшення варт. результ і зниж продукт с-ми вцілому
Розподіл ОСРЧ по внутрішній архітектурі. ???
Найбільш розповсюдженими визначеннями операційної системи реального часу є:
ОС, в якої успішність роботи будь-якої програми залежить не тільки від її логічної правильності, але і від часу, за який вона отримала цей результат. Якщо система не може задовольнити часовим обмеженням, повинен бути зафіксований збій в її роботі[1]
Стандарт POSIX 1003.1 дає визначення «Реальний час в операційних системах — це здатність операційної системи забезпечити рівень сервісу, який вимагається за визначений проміжок часу»
ОС, яка реагує за передбачуваний час на непередбачувану появу зовнішніх подій
Інтерактивні системи постійної готовності. До категорії ОСРЧ їх відносять виходячи з маркетингових міркувань і якщо інтерактивну програму називають «працюючою в реальному часі», то це означає лиш те, що запити від користувача обробляються із затримкою, непомітною для людини.
Іноді поняття системи реального часу ототожнюють зі «швидкою системою», але це не завжди правильно, оскільки важливий не час затримки реакції ОСРЧ, а те, щоб цього часу було достатньо для прикладної програми, яка розглядається і щоб його було гарантовано.
В багатьох спеціалізованих сферах вводять свої поняття «реального часу». Наприклад, процес цифрової обробки сигналу називають таким, що відбувається в реальному часі, якщо аналіз та/або генерація даних можуть бути проведені в той же час, що і аналіз/генерація тих самих даних без цифрової обробки сигналу. Наприклад, якщо при обробці аудіо даних необхідно 2.01 секунд на аналіз 2.00 секунд звуку, то це не процес реального часу. Якщо потрібно 1.99 секунд, то це процес реального часу.
Що таке пріоритет завдань?
Пріоритет — це числова характеристика виконуваного на комп'ютері процесу, яка дозволяє визначити порядок його виконання в черзі процесів. Забезпечує реалізацію мультипрограмності на однопроцесорних системах.
Від пріоритету процесу в UNIX залежать такі характеристики процесу:
Змога конкурувати за процесорний час та розміщуватись в оперативній пам'яті
Величина кванту процесорного часу
Місце процесу в черзі процесів до ресурсу процесора
Що таке контекст завдань?
Які ви знаєте стани завдань?
Що таке порожнє завдання?
Що таке рентабельність завдань?
Опишіть циклічний алгоритм round robin.
циклічний алгоритм [диспетчеризації] - в ОС - алгоритм диспетчеризації, в якому всі процеси активізують у фіксованому циклічному порядку. Іноді цей алгоритм називають „карусельноюдиспетчеризацією" (див. також operating system, scheduling).
Round-robin (от англ. round-robin — циклический) — алгоритм распределения нагрузки распределённой вычислительной системы методом перебора и упорядочения её элементов по круговому циклу.
[править]Суть алгоритма
Пусть имеется N объектов, способных выполнить заданное действие, и M задач, которые должны быть выполнены этими объектами. Подразумевается, что объекты n равны по своим свойствам между собой, задачи m имеют равный приоритет. Тогда первая задача (m = 1) назначается для выполнения первому объекту (n = 1), вторая — второму и т. д., до достижения последнего объекта (m = N). Тогда следующая задача (m = N+1) будет назначена снова первому объекту и т. п. Проще говоря, происходит перебор выполняющих задания объектов по циклу, или по кругу (round), и по достижении последнего объекта следующая задача будет также назначена первому объекту. Решение задач может быть дополнительно разбито на кванты времени, причем для продолжения решения во времени нумерация объектов (и, соответственно, назначенные задачи) сдвигается по кругу на 1, то есть задача первого объекта отдается второму, второго — третьему, и т. д., а первый объект получает задачу последнего, либо освобождается для приема новой задачи. Таким образом, алгоритм Round-robin становится алгоритмом распределения времени или балансировки нагрузки.
Применение
балансировка нагрузки вычислительных сетей (см. Round robin DNS)
управление задачами в системах с распределением времени (см. Round-robin scheduling)
коллективная игра в написании книг, вышивке и иных хобби (см. Round-robin (игра))
Яких правил треба дотримуватися при циклічному алгоритмі?
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Также циклом может называться любая многократно исполняемая последовательность инструкций, организованная любым способом (например, с помощью условного перехода).
Определения
Последовательность инструкций, предназначенная для многократного исполнения, называется телом цикла. Однократное выполнение тела цикла называется итерацией. Выражение определяющее, будет в очередной раз выполняться итерация, или цикл завершится, называется условием выхода или условием окончания цикла (либо условием продолжения в зависимости от того, как интерпретируется его истинность — как признак необходимости завершения или продолжения цикла). Переменная, хранящая текущий номер итерации, называется счётчиком итераций цикла или просто счётчиком цикла. Цикл не обязательно содержит счётчик, счётчик не обязан быть один — условие выхода из цикла может зависеть от нескольких изменяемых в цикле переменных, а может определяться внешними условиями (например, наступлением определённого времени), в последнем случае счётчик может вообще не понадобиться.
Исполнение любого цикла включает первоначальную инициализацию переменных цикла, проверку условия выхода, исполнение тела цикла и обновление переменной цикла на каждой итерации. Кроме того большинство языков программирования предоставляют средства для досрочного завершения цикла, то есть выхода из цикла независимо от истинности условия выхода.
Виды циклов Безусловные циклы
Иногда в программах используются циклы, выход из которых не предусмотрен логикой программы. Такие циклы называются безусловными, или бесконечными. Специальных синтаксических средств для создания бесконечных циклов, ввиду их нетипичности, языки программирования не предусматривают, поэтому такие циклы создаются с помощью конструкций, предназначенных для создания обычных (илиусловных) циклов. Для обеспечения бесконечного повторения проверка условия в таком цикле либо отсутствует (если позволяет синтаксис, как, например, в цикле LOOP…END LOOP языка Ада), либо заменяется константным значением (while true do … в Паскале).
Цикл с предусловием
Цикл с предусловием — цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела цикла, поэтому тело может быть не выполнено ни разу (если условие с самого начала ложно). В большинстве процедурных языков программирования реализуется оператором while, отсюда его второе название — while-цикл.
Цикл с постусловием
Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз. В языке Паскаль этот цикл реализуетоператор repeat..until; в Си — do…while.
В трактовке условия цикла с постусловием в разных языках есть различия. В Паскале и языках, произошедших от него, условие такого цикла трактуется как условие выхода (цикл завершается, когда условие истинно, в русской терминологии такие циклы называют ещё «цикл до»), а в Си и его потомках — как условие продолжения (цикл завершается, когда условие ложно, такие циклы иногда называют «цикл пока»)…..
Цикл с выходом из середины
Цикл с выходом из середины — наиболее общая форма условного цикла. Синтаксически такой цикл оформляется с помощью трёх конструкций: начала цикла, конца цикла и команды выхода из цикла. Конструкция начала маркирует точку программы, в которой начинается тело цикла, конструкция конца — точку, где тело заканчивается. Внутри тела должна присутствовать команда выхода из цикла, при выполнении которой цикл заканчивается и управление передаётся на оператор, следующий за конструкцией конца цикла. Естественно, чтобы цикл выполнился более одного раза, команда выхода должна вызываться не безусловно, а только при выполнении условия выхода из цикла.
Принципиальным отличием такого вида цикла от рассмотренных выше является то, что часть тела цикла, расположенная после начала цикла и до команды выхода, выполняется всегда (даже если условие выхода из цикла истинно при первой итерации), а часть тела цикла, находящаяся после команды выхода, не выполняется при последней итерации.
Легко видеть, что с помощью цикла с выходом из середины можно легко смоделировать и цикл с предусловием (разместив команду выхода в начале тела цикла), и цикл с постусловием (разместив команду выхода в конце тела цикла).