Связанные понятия
В информатике
время выполнения (англ. runtime, сл. «ранта́йм») — это время, в течение которого выполняется программа, в отличие от других этапов жизненного цикла (англ. program lifecycle phase) программы, таких как время компиляции (англ. compile time), время установления связей («линковки») (англ. link time) и время загрузки (англ. load time).
Диспетчер для операционной системы — системное программное обеспечение, промежуточный слой между ОС РВ и функциональными задачами, обеспечивающий заданную временную диаграмму.
Отла́дчик (деба́ггер, англ. debugger от bug) — компьютерная программа, предназначенная для поиска ошибок в других программах, ядрах операционных систем, SQL-запросах и других видах кода. Отладчик позволяет выполнять трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия остановки и т.д.
Планирование выполнения задач — одна из ключевых концепций в многозадачности и многопроцессорности как в операционных системах общего назначения, так и в операционных системах реального времени. Планирование заключается в назначении приоритетов процессам в очереди с приоритетами. Программный код, выполняющий эту задачу, называется планировщиком (англ. task switcher, scheduler).
Подробнее: Диспетчер операционной системы
В программировании то́чка остано́ва (англ. breakpoint) — это преднамеренное прерывание выполнения программы, при котором выполняется вызов отладчика (одновременно с этим программа сама может использовать точки останова для своих нужд). После перехода к отладчику программист может исследовать состояние программы (логи, состояние памяти, регистров процессора, стека и т. п.), с тем чтобы определить, правильно ли ведёт себя программа. В отличии от полной остановки, с помощью останова, после работы в...
Упоминания в литературе
Изменение базы углов и перемена положительного направления отсчета углов отражается на многих параметрах работы AutoCAD, и, как уже было отмечено, менять настройки по умолчанию не рекомендуется. Дело в том, что эти изменения сказываются на способе ввода углов в командную строку, а также на отображении значений углов в палитре свойств объектов, окнах полярной
трассировки, строке состояния и других элементах интерфейса.
Необходимо упомянуть еще одно окно, содержащее настройки сохранения данных в растровый формат (рис. 1.44). Оно позволяет установить параметры сохранения в качестве рисунков планов зданий (двухмерных изображений) и трехмерных сцен. При сохранении двухмерных планов помещений можно указывать формат, в который будет сохраняться картинка. При работе с трехмерными изображениями можно выбрать размер картинки (область Размер изображения), глубину палитры (область Палитра цветов), сглаживание (область Сглаживание), а также трассировку лучей и краевой фильтр при создании картинки (флажки Краевой фильтр и луч. трассир.). Все вышеперечисленные параметры позволяют значительно улучшить качество получаемого графического изображения модели здания. Для наилучшего
качества визуализации следует также установить 16-кратное сглаживание и трассировку лучей при просчете освещения трехмерной сцены.
• Renderer (Визуализатор) – на этой вкладке располагается свиток настроек некоторых настроек визуализатора Mental Ray. В частности, здесь можно установить параметры сглаживания,
алгоритма визуализации, трассировки лучей, эффектов камеры, а также качество теней и смещения.
Связанные понятия (продолжение)
В императивном программировании
порядок выполнения (порядок исполнения, порядок вычислений) — это способ упорядочения инструкций программы в процессе её выполнения.
Пото́к выполне́ния (тред; от англ. thread — нить) — наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы. Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие как память, тогда как процессы не разделяют этих ресурсов. В...
Сопрограммы (англ. coroutines) — методика связи программных модулей друг с другом по принципу кооперативной многозадачности: модуль приостанавливается в определённой точке, сохраняя полное состояние (включая стек вызовов и счётчик команд), и передаёт управление другому. Тот, в свою очередь, выполняет задачу и передаёт управление обратно, сохраняя свои стек и счётчик.
Подробнее: Сопрограмма
Функция как услуга — архитектурный шаблон, предполагающий возможность вызова экземпляра управляющего кода без необходимости управления серверами и серверным приложением; ключевой компонент бессерверных вычислений. Одной из первых широко известных реализаций является представленный в 2014 году сервис AWS Lambda, аналогичные предложения среди публичных PaaS есть у Google (Cloud Functions), IBM (на Apache OpenWhisk в составе платформы Bluemix) и Microsoft (Azure Functions)
Внеочередное исполнение (англ. out-of-order execution) машинных инструкций — исполнение машинных инструкций не в порядке следования в машинном коде (как было при выполнении инструкций по порядку (англ. in-order execution)), а в порядке готовности к выполнению. Реализуется с целью повышения производительности вычислительных устройств. Среди широко известных машин впервые в существенной мере реализована в машинах CDC 6600 компании Control Data и IBM System/360 Model 91 компании IBM.
Резидентная программа (или TSR-программа, от англ. Terminate and Stay Resident — «завершиться и остаться резидентной») — в операционной системе MS-DOS программа, вернувшая управление оболочке операционной системы (command.com), либо надстройке над операционной системой (Norton Commander и т. п.), но оставшаяся в оперативной памяти персонального компьютера. Резидентная программа активизируется каждый раз при возникновении прерывания, вектор которого эта программа изменила на адрес одной из своих процедур...
Операционная система реального времени (ОСРВ, англ. real-time operating system, RTOS) — тип операционной системы, основное назначение которой — предоставление необходимого и достаточного набора функций для работы систем реального времени на конкретном аппаратном оборудовании.
Трассиро́вка печатных плат — один из этапов проектирования радиоэлектронной аппаратуры (РЭА), заключающийся в определении мест расположения проводников на печатной плате вручную или с использованием одной из САПР, предназначенной для проектирования печатных плат.
В информатике
асинхронный ввод/вывод является формой неблокирующей обработки ввода/вывода, который позволяет процессу продолжить выполнение не дожидаясь окончания передачи данных.
Кома́нда перехо́да — команда процессора, которая нарушает непрерывную последовательность исполнения команд, вынуждая выбирать и исполнять последующие команды с произвольно заданного адреса. Используется для организации условных операторов, циклов, для связи с подпрограммами. Исполнение команды перехода в современных микропроцессорах чревато потерями производительности из-за простоев конвейера.
Хот-спот (англ. hotspot) — участок кода в программе, на который приходится бо́льшая часть исполняемых инструкций процессора или на исполнение которого процессор затрачивает очень много времени (одни инструкции исполняются быстрее, а другие — медленнее). Хот-споты могут являться узкими местами программы, если на них приходится лишняя нагрузка из-за неэффективности кода, — в таком случае они могут быть подвергнуты оптимизации.
Многозада́чность (англ. multitasking) — свойство операционной системы или среды выполнения обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких задач. Истинная многозадачность операционной системы возможна только в распределённых вычислительных системах.
Неблокирующая синхронизация — подход в параллельном программировании на симметрично-многопроцессорных системах, в котором принят отказ от традиционных примитивов блокировки, таких, как семафоры, мьютексы и события. Разделение доступа между потоками идёт за счёт атомарных операций и специальных, разработанных под конкретную задачу, механизмов блокировки.
Управление заданиями в UNIX-подобных операционных системах — комплекс средств по манипуляции пакетными заданиями оболочки UNIX, в частности, в интерактивном режиме, где «задание» — представление оболочки для группы процесса.
В компьютерных технологиях,
программная транзакционная память (англ. software transactional memory, SТМ) представляет собой механизм управления параллелизмом, аналогичный механизму транзакций баз данных для управления доступом к совместно используемой памяти в параллельных вычислениях. Это альтернатива для синхронизации на основе блокировки. Транзакция в этом контексте является частью кода, который выполняет считывание и запись в разделяемую (совместно используемую) память. Считывание и запись логически...
Автоматическое распараллеливание — оптимизация программы компилятором, состоящая в автоматическом её преобразовании в форму, работающую на параллельном компьютере, например, на SMP или NUMA машине. Целью автоматизации распараллеливания является освобождение программиста от трудоемкого и подверженного ошибкам процесса ручного распараллеливания. Несмотря на то, что качество автоматического распараллеливания улучшалось последние годы, полное распараллеливание последовательных программ остается слишком...
Перехват (англ. hooking) — технология, позволяющая изменить стандартное поведение тех или иных компонентов информационной системы.
Модуль предсказания переходов (прогнозирования ветвлений) (англ. branch prediction unit) — устройство, входящее в состав микропроцессоров, имеющих конвейерную архитектуру, предсказывающее, будет ли выполнен условный переход в исполняемой программе. Предсказание ветвлений позволяет сократить время простоя конвейера за счёт предварительной загрузки и исполнения инструкций, которые должны выполниться после выполнения инструкции условного перехода. Прогнозирование ветвлений играет критическую роль, так...
Предвыборка кода — это выдача запросов со стороны процессора в оперативную память для считывания инструкций заблаговременно, до того момента, как эти инструкции потребуется исполнять. В результате этих запросов, инструкции загружаются из памяти в кэш. Когда инструкции, потребуется исполнять, доступ к ним будет осуществляться значительно быстрее, так как задержка при обращении в кэш на порядки меньше, чем при обращении в оперативную память.
Монитор — в языках программирования высокоуровневый механизм взаимодействия и синхронизации процессов, обеспечивающий доступ к неразделяемым ресурсам. Подход к синхронизации двух или более компьютерных задач, использующих общий ресурс, обычно аппаратуру или набор переменных.
В информатике,
цикл событий , диспетчер сообщений, цикл сообщений, помпа сообщений, или рабочий цикл — программная конструкция, которая ожидает прибытия и производит рассылку событий или сообщений в программе. Он работает, делая запрос к некоторому внутреннему или внешнему «поставщику событий» (который, как правило блокирует запрос до тех пор, пока событие не появится), а затем вызывает соответствующий обработчик события («отправляет событие»). Цикл событий может быть использован в сочетании с паттерном...
Регрессио́нное тести́рование (англ. regression testing, от лат. regressio — движение назад) — собирательное название для всех видов тестирования программного обеспечения, направленных на обнаружение ошибок в уже протестированных участках исходного кода. Такие ошибки — когда после внесения изменений в программу перестаёт работать то, что должно было продолжать работать, — называют регрессионными ошибками (англ. regression bugs).
Конве́йер — способ организации вычислений, используемый в современных процессорах и контроллерах с целью повышения их производительности (увеличения числа инструкций, выполняемых в единицу времени — эксплуатация параллелизма на уровне инструкций), технология, используемая при разработке компьютеров и других цифровых электронных устройств.
Отложенная (ленивая) инициализация (англ. Lazy initialization) — приём в программировании, когда некоторая ресурсоёмкая операция (создание объекта, вычисление значения) выполняется непосредственно перед тем, как будет использован её результат. Таким образом, инициализация выполняется «по требованию», а не заблаговременно. Аналогичная идея находит применение в самых разных областях: например, компиляция «на лету» и логистическая концепция «Точно в срок».
Блок инициализации (initialization block) — понятие в объектно-ориентированном программировании, в основном известное из языка Java, которое представляет собой последовательность команд, выполняемых при создании (загрузке) классов и объектов. Разработано, чтобы значительно увеличить мощность конструктора. Существуют два типа: статический блок инициализации, обычно называемый для краткости статический блок (static block), и динамический блок инициализации (instance block).
Планировщик (англ. scheduler) — параллельный шаблон проектирования, обеспечивающий механизм реализации политики планирования, но при этом не зависящий ни от одной конкретной политики.
Межпроцедурная оптимизация (англ. Interprocedural Optimization, IPO), или полнопрограммная оптимизация программ (англ. whole program optimization) — оптимизация компилятора, которая использует глобальный анализ потока управления и затрагивает множество процедур, даже находящихся в разных модулях, за счёт чего может достигаться существенный прирост быстродействия.
Мемоизация (запоминание, от англ. memoization (англ.) в программировании) — сохранение результатов выполнения функций для предотвращения повторных вычислений. Это один из способов оптимизации, применяемый для увеличения скорости выполнения компьютерных программ. Перед вызовом функции проверяется, вызывалась ли функция ранее...
Активный объект (англ. Active object) — это шаблон проектирования, который отделяет поток выполнения метода от потока, в котором он был вызван.
Кодогенерация — часть процесса компиляции, когда специальная часть компилятора, кодогенератор, конвертирует синтаксически корректную программу в последовательность инструкций, которые могут выполняться на машине. При этом могут применяться различные, в первую очередь машинно-зависимые оптимизации. Часто кодогенератор является общей частью для множества компиляторов. Каждый из них генерирует промежуточный код, который подаётся на вход кодогенератору.
Доказательство активности с ограниченным доверием (англ. Limited Confidence Proof-of-Activity (LCPoA)) — метод защиты цепочки блоков в блокчейн системах, основанный на модификации алгоритма Proof-of-Work, в сторону уменьшения расхода вычислительных ресурсов — требуется подбор хеша блока, но в качестве дополнительного значения nonce используется текущая метка времени .
Зависа́ние — компьютерное явление, при котором одна или несколько программ или вся операционная система перестают реагировать на действия пользователя, или начинают без остановки выполнять одну и ту же (не обязательно полезную или содержательную) операцию, не реагируя на сообщения от других программ. В этот момент изображение, выводимое программой на монитор (если оно есть) застывает, в отличие от ошибки исполнения, при которой на экран выдаётся сообщение.
Оптимизация — модификация системы для улучшения её эффективности. Система может быть одиночной компьютерной программой, цифровым устройством, набором компьютеров или даже целой сетью, такой как Интернет.
Удалённые вычисления (англ. remote evaluation) — техника межкомпьютерной коммуникации, при которой один компьютер посылает другому запрос на выполнение некоторых действий в форме исполняемой программы с последующим запросом результата.
В базах данных и обработке транзакций двухфазная блокировка (2PL) — это метод управления параллелизмом, который гарантирует сериализуемость. Это также имя результирующего набора графиков транзакций базы данных (истории). Протокол использует блокировки, применяемые транзакцией к данным, которые могут блокировать (интерпретировать как сигналы для остановки) другие транзакции от доступа к тем же данным в течение жизни транзакции.
Подробнее: Двухфазная блокировка
Пакетное задание (англ. batch job) — способ запуска задач на исполнение для избегания простоев вычислительных систем. Фактически представляет собой список запускаемых программ с указанием параметров запуска и входных данных. Задачи запускаются последовательно. Концепция была разработана примерно в 1960-х годах и до сих пор применяется в некоторых операционных системах, в частности, на мейнфреймах производства IBM.
Универсальный асинхронный приёмопередатчик (УАПП, англ. Universal Asynchronous Receiver-Transmitter, UART) — узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами. Преобразует передаваемые данные в последовательный вид так, чтобы было возможно передать их по одной физической цифровой линии другому аналогичному устройству. Метод преобразования хорошо стандартизован и широко применяется в компьютерной технике (особенно во встраиваемых устройствах и системах...
В криптографии 'время атаки (англ. Time attack) — это атака по сторонним каналам, в которой атакующий пытается скомпрометировать криптосистему с помощью анализа времени, затрачиваемого на исполнение криптографических алгоритмов. Каждая логическая операция требует времени на исполнение на компьютере, и это время может различаться в зависимости от входных данных. Располагая точными измерениями времени для разных операций, атакующий может восстановить входные данные.
Подробнее: Атака по времени
Руткит (англ. rootkit, то есть «набор root-а») — набор программных средств (например, исполняемых файлов, скриптов, конфигурационных файлов), обеспечивающих...
Сетевое исчисление (англ., Network Calculus) — это совокупность математических результатов, которые позволяют исследовать граничные значения характеристик функционирования таких сложных технических систем, как сети связи, цифровые электрические цепи, конкурирующие программы. Сетевое исчисление даёт теоретическую основу для анализа гарантированной производительности телекоммуникационных пакетных сетей. Потоки трафика, проходящие через сеть, имеют различные ограничения, обусловленные такими свойствами...
Модульное тестирование , или юнит-тестирование (англ. unit testing) — процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы, наборы из одного или более программных модулей вместе с соответствующими управляющими данными, процедурами использования и обработки.
Команда (англ. Command) — поведенческий шаблон проектирования, используемый при объектно-ориентированном программировании, представляющий действие. Объект команды заключает в себе само действие и его параметры.