Связанные понятия
Стек вызовов (от англ. call stack; применительно к процессорам — просто «стек») — в теории вычислительных систем, LIFO-стек, хранящий информацию для возврата управления из подпрограмм (процедур, функций) в программу (или подпрограмму, при вложенных или рекурсивных вызовах) и/или для возврата в программу из обработчика прерывания (в том числе при переключении задач в многозадачной среде).
О́чередь — абстрактный тип данных с дисциплиной доступа к элементам «первый пришёл — первый вышел» (FIFO, англ. first in, first out). Добавление элемента (принято обозначать словом enqueue — поставить в очередь) возможно лишь в конец очереди, выборка — только из начала очереди (что принято называть словом dequeue — убрать из очереди), при этом выбранный элемент из очереди удаляется.
Подпрограмма (англ. subroutine) — поименованная или иным образом идентифицированная часть компьютерной программы, содержащая описание определённого набора действий. Подпрограмма может быть многократно вызвана из разных частей программы. В языках программирования для оформления и использования подпрограмм существуют специальные синтаксические средства.
Регистр процессора — блок ячеек памяти, образующий сверхбыструю оперативную память (СОЗУ) внутри процессора; используется самим процессором и большей частью недоступен программисту: например, при выборке из памяти очередной команды она помещается в регистр команд, к которому программист обратиться не может.
Указатель (англ. pointer) — переменная, диапазон значений которой состоит из адресов ячеек памяти или специального значения — нулевого адреса. Последнее используется для указания того, что в данный момент указатель не ссылается ни на одну из допустимых ячеек.
Упоминания в литературе
Вот пример: предположим, веб-приложение хранит параметр emailAddress для каждого пользователя. Это значение используется в качестве аргумента функции printf: printf(emailAddress). Если значение переменной emailAddress содержит символы форматирования, то функция printf будет обрабатывать их согласно заложенной в нее логике. Поскольку дополнительных значений этой функции не передано, будут использованы значения
стека , хранящие другие данные.
В этих средствах можно обнаружить и недостатки. При использовании технологии DEP встал вопрос совместимости. Некоторым приложениям требуется исполняемый
стек (а таких много: эмуляторы, компиляторы, защитные механизмы и пр.), поэтому по умолчанию защита включена только для системных процессов. Появление новой технологии подстегнуло хакеров, и практически одновременно были представлены методы, позволяющие обойти защиту. Атаковать стало сложнее, но все равно возможно.
• Modify (Модификация) – эта командная панель предназначена для изменения параметров выделенных элементов сцены, а также любых параметрических объектов, включая источники света, системы частиц и т. д. Здесь же находится
стек модификаторов и осуществляется переход на уровень редактирования подобъектов.
Существует множество разных протоколов, каждый из которых имеет свои особенности. Одни из них узконаправленные, другие имеют более широкое применение. Разрабатываются несколькими фирмами, поэтому неудивительно, что каждая из них создает свой собственный
стек (набор) протоколов. Хотя эти стеки по умолчанию между собой несовместимы, существуют дополнительные протоколы, являющиеся мостами между ними, что позволяет использовать в одной операционной системе несколько несовместимых между собой протоколов.
Существует множество различных протоколов, каждый из которых имеет свои особенности. Одни протоколы узконаправленные, другие имеют более широкое применение. Каждая компания разрабатывает свой собственный
стек (набор) протоколов. Хотя разные стеки протоколов изначально несовместимы, существуют дополнительные протоколы, представляющие собой «мосты» между стеками. Благодаря этому в одной операционной системе можно работать с несколькими несовместимыми между собой протоколами.
Связанные понятия (продолжение)
Маши́нный код (платфо́рменно-ориенти́рованный код), маши́нный язы́к — система команд (набор кодов операций) конкретной вычислительной машины, которая интерпретируется непосредственно процессором или микропрограммами этой вычислительной машины.Компьютерная программа, записанная на машинном языке, состоит из машинных инструкций, каждая из которых представлена в машинном коде в виде т. н. опкода — двоичного кода отдельной операции из системы команд машины. Для удобства программирования вместо числовых...
Адресация — осуществление ссылки (обращение) к устройству или элементу данных по его адресу; установление соответствия между множеством однотипных объектов и множеством их адресов; метод идентификации местоположения объекта.
Ввод-вывод (от англ. input/output, I/O) в информатике — взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации. Ввод — сигнал или данные, полученные системой, а вывод — сигнал или данные, посланные ею (или из неё). Термин также может использоваться как обозначение (или дополнение к обозначению) определенного действия: «выполнять ввод-вывод» означает выполнение операций ввода или вывода...
Сопрограммы (англ. coroutines) — методика связи программных модулей друг с другом по принципу кооперативной многозадачности: модуль приостанавливается в определённой точке, сохраняя полное состояние (включая стек вызовов и счётчик команд), и передаёт управление другому. Тот, в свою очередь, выполняет задачу и передаёт управление обратно, сохраняя свои стек и счётчик.
Подробнее: Сопрограмма
Переме́нная в императивном программировании — поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным. Данные, находящиеся в переменной (то есть по данному адресу памяти), называются значением этой переменной.
Счётчик кома́нд (также PC = program counter, IP = instruction pointer, IAR = instruction address register, СЧАК = счётчик адресуемых команд) — регистр процессора, который указывает, какую команду нужно выполнять следующей.
Адрес — символ или группа символов, которые идентифицируют регистр, отдельные части памяти или некоторые другие источники данных, либо место назначения информации.
Разделяемая память (англ. Shared memory) является самым быстрым средством обмена данными между процессами.
Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс.
Хеш-табли́ца — это структура данных, реализующая интерфейс ассоциативного массива, а именно, она позволяет хранить пары (ключ, значение) и выполнять три операции: операцию добавления новой пары, операцию поиска и операцию удаления пары по ключу.
Многопото́чность — свойство платформы (например, операционной системы, виртуальной машины и т. д.) или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть без предписанного порядка во времени. При выполнении некоторых задач такое разделение может достичь более эффективного использования ресурсов вычислительной машины.
Пото́к выполне́ния (тред; от англ. thread — нить) — наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы. Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие как память, тогда как процессы не разделяют этих ресурсов. В...
Соглашение о вызове (англ. calling convention) — описание технических особенностей вызова подпрограмм, определяющее...
Кэш или кеш (англ. cache, от фр. cacher — «прятать»; произносится — «кэш») — промежуточный буфер с быстрым доступом к нему, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше осуществляется быстрее, чем выборка исходных данных из более медленной памяти или удаленного источника, однако её объём существенно ограничен по сравнению с хранилищем исходных данных.
Код операции , операционный код, опкод — часть машинного языка, называемая инструкцией и определяющая операцию, которая должна быть выполнена.
Компоновщик (также редактор связей, от англ. link editor, linker) — инструментальная программа, которая производит компоновку («линковку»): принимает на вход один или несколько объектных модулей и собирает по ним исполнимый модуль.
Кодогенерация — часть процесса компиляции, когда специальная часть компилятора, кодогенератор, конвертирует синтаксически корректную программу в последовательность инструкций, которые могут выполняться на машине. При этом могут применяться различные, в первую очередь машинно-зависимые оптимизации. Часто кодогенератор является общей частью для множества компиляторов. Каждый из них генерирует промежуточный код, который подаётся на вход кодогенератору.
Объе́ктный мо́дуль (также — объектный файл, англ. object file) — файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто называемый двоичным или бинарным), который может быть объединён с другими объектными файлами при помощи редактора связей (компоновщика) для получения готового исполнимого модуля либо библиотеки.
Конте́йнер в программировании — тип, позволяющий инкапсулировать в себе объекты других типов. Контейнеры, в отличие от коллекций, реализуют конкретную структуру данных.
В информатике термин
инструкция обозначает одну отдельную операцию процессора, определённую системой команд. В более широком понимании, «инструкцией» может быть любое представление элемента исполнимой программы, такой как байт-код.
Фу́нкция в программировании — фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы. В большинстве случаев с функцией связывается идентификатор, но многие языки допускают и безымянные функции. С именем функции неразрывно связан адрес первой инструкции (оператора), входящей в функцию, которой передаётся управление при обращении к функции. После выполнения функции управление возвращается обратно в адрес возврата — точку программы, где данная функция была...
Байт-код (байтко́д; англ. bytecode, также иногда p-код, p-code от portable code) — стандартное промежуточное представление, в которое может быть переведена компьютерная программа автоматическими средствами. По сравнению с исходным кодом, удобным для создания и чтения человеком, байт-код — это компактное представление программы, уже прошедшей синтаксический и семантический анализ. В нём в явном виде закодированы типы, области видимости и другие конструкции. С технической точки зрения, байт-код представляет...
Низкоуровневый язык программирования (язык программирования низкого уровня) — язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального или виртуального (например, байт-код, Microsoft .NET) процессора. Для обозначения машинных команд обычно применяется мнемоническое обозначение. Это позволяет запоминать команды не в виде последовательности двоичных нулей и единиц, а в виде осмысленных сокращений слов человеческого языка (обычно английских).
Макрокоманда , макроопределение или мáкрос — программный алгоритм действий, записанный пользователем. Часто макросы применяют для выполнения рутинных действий. А также макрос — это символьное имя в шаблонах, заменяемое при обработке препроцессором на последовательность символов, например: фрагмент html-страницы в веб-шаблонах, или одно слово из словаря синонимов в синонимизаторах.
Из-за путаницы с терминологией словом «оператор» в программировании нередко обозначают операцию (англ. operator), см. Операция (программирование).Инстру́кция или опера́тор (англ. statement) — наименьшая автономная часть языка программирования; команда или набор команд. Программа обычно представляет собой последовательность инструкций.
Подробнее: Оператор (программирование)
Машинное слово — машинно-зависимая и платформозависимая величина, измеряемая в битах или байтах (тритах или трайтах), равная разрядности регистров процессора и/или разрядности шины данных (обычно некоторая степень двойки).
В программировании,
строковый тип (англ. string «нить, вереница») — тип данных, значениями которого является произвольная последовательность (строка) символов алфавита. Каждая переменная такого типа (строковая переменная) может быть представлена фиксированным количеством байтов либо иметь произвольную длину.
Ленивые вычисления (англ. lazy evaluation, также отложенные вычисления) — применяемая в некоторых языках программирования стратегия вычисления, согласно которой вычисления следует откладывать до тех пор, пока не понадобится их результат. Ленивые вычисления относятся к нестрогим вычислениям. Усовершенствованная модель ленивых вычислений — оптимистичные вычисления — переходит в разряд недетерминированных стратегий вычисления.
А́дресное пространство (англ. address space) — совокупность всех допустимых адресов каких-либо объектов вычислительной системы — ячеек памяти, секторов диска, узлов сети и т. п., которые могут быть использованы для доступа к этим объектам при определенном режиме работы (состоянии системы).
В информатике и теории автоматов состояние цифровой логической схемы или компьютерной программы является техническим термином для всей хранимой информации, к которой схема или программа в данный момент времени имеет доступ. Вывод данных цифровой схемы или компьютерной программы в любой момент времени полностью определяется его текущими входными данными и его состоянием.
Подробнее: Состояние (информатика)
Ссылка в программировании — это объект, указывающий на определенные данные, но не хранящий их. Получение объекта по ссылке называется разыменованием.
Виртуа́льная па́мять (англ. virtual memory) — метод управления памятью компьютера, позволяющий выполнять программы, требующие больше оперативной памяти, чем имеется в компьютере, путём автоматического перемещения частей программы между основной памятью и вторичным хранилищем (например, жёстким диском). Для выполняющейся программы данный метод полностью прозрачен и не требует дополнительных усилий со стороны программиста, однако реализация этого метода требует как аппаратной поддержки, так и поддержки...
Исполняемый файл (англ. executable file, также выполняемый, реже исполнимый, выполнимый) — файл, содержащий программу в виде, в котором она может быть исполнена компьютером. Перед исполнением программа загружается в память, и выполняются некоторые подготовительные операции (настройка окружения, загрузка библиотек).
Интерпретируемый язык программирования — язык программирования, исходный код на котором выполняется методом интерпретации. Классифицируя языки программирования по способу исполнения, к группе интерпретируемых относят языки, в которых операторы программы друг за другом отдельно транслируются и сразу выполняются (интерпретируются) с помощью специальной программы-интерпретатора (что противопоставляется компилируемым языкам, в которых все операторы программы заранее оттранслированы в объектный код...
Конста́нта в программировании — способ адресации данных, изменение которых рассматриваемой программой не предполагается или запрещается.
В информатике, спи́сок (англ. list) — это абстрактный тип данных, представляющий собой упорядоченный набор значений, в котором некоторое значение может встречаться более одного раза. Экземпляр списка является компьютерной реализацией математического понятия конечной последовательности.
Подробнее: Список (информатика)
Сегментная адресация памяти — схема логической адресации памяти компьютера в архитектуре x86. Линейный адрес конкретной ячейки памяти, который в некоторых режимах работы процессора будет совпадать с физическим адресом, делится на две части: сегмент и смещение. Сегментом называется условно выделенная область адресного пространства определённого размера, а смещением — адрес ячейки памяти относительно начала сегмента. Базой сегмента называется линейный адрес (адрес относительно всего объёма памяти...
Переключение контекста (англ. context switch) — в многозадачных ОС и средах - процесс прекращения выполнения процессором одной задачи (процесса, потока, нити) с сохранением всей необходимой информации и состояния, необходимых для последующего продолжения с прерванного места, и восстановления и загрузки состояния задачи, к выполнению которой переходит процессор.
Зарезерви́рованное сло́во (или ключево́е сло́во) — в языках программирования слово, имеющее специальное значение. Идентификаторы с такими именами запрещены.
Защита памяти (англ. Memory protection) — это способ управления правами доступа к отдельным регионам памяти. Используется большинством многозадачных операционных систем. Основной целью защиты памяти является запрет доступа процессу к той памяти, которая не выделена для этого процесса. Такие запреты повышают надёжность работы как программ, так и операционных систем, так как ошибка в одной программе не может повлиять непосредственно на память других приложений. Следует различать общий принцип защиты...
Среда выполнения (англ. execution environment, иногда «ранта́йм» от англ. runtime — «время выполнения») в информатике — вычислительное окружение, необходимое для выполнения компьютерной программы и доступное во время выполнения компьютерной программы. В среде выполнения, как правило, невозможно изменение исходного текста программы, но может наличествовать доступ к переменным окружения операционной системы, таблицам объектов и модулей разделяемых библиотек.
Неопределённое поведение (англ. undefined behaviour, в ряде источников непредсказуемое поведение) — свойство некоторых языков программирования (наиболее заметно в Си), программных библиотек и аппаратного обеспечения в определённых маргинальных ситуациях выдавать результат, зависящий от реализации компилятора (библиотеки, микросхемы) и случайных факторов наподобие состояния памяти или сработавшего прерывания. Другими словами, спецификация не определяет поведение языка (библиотеки, микросхемы) в любых...
Множество — тип и структура данных в информатике, которая является реализацией математического объекта множество.
Кома́нда — это указание компьютерной программе действовать как некий интерпретатор для решения задачи. В более общем случае, команда — это указание некоему интерфейсу командной строки, такому как shell.
Упоминания в литературе (продолжение)
На первый взгляд кажется, что достаточно лишь сохранить в
стеке описатель DLL-модуля (он стоит перед указателем на имя функции) и вызвать API. Но это не так. Параметры, согласно Pascal Calling Convention, должны быть сохранены в стеке в обратном порядке:
Однако, прежде чем выполнить оконные и дверные проемы, необходимо построить потолок и пол, который затем украсить плинтусом. Можно вернуться на уровень сплайнов, то есть до применения модификатора Extrude (Выдавливание) (для этого нужно в
стеке модификаторов щелкнуть на строке Line (Линия)), сделать независимую копию (выполнив команду Edit → Clone (Правка → Клонировать) и выбрав в появившемся окне вариант Copy (Копия)) сплайна помещения и, удалив все сплайны, кроме внешнего контура, превратить его в модель пола. Однако так можно сделать не всегда – иногда в процессе построения стен приходится сворачивать стек модификаторов, в результате чего нельзя вернуться на уровень исходных сплайнов. Рассмотрим другой интересный метод, который пригодится вам при построении оконных рам, плинтусов, карнизов и множества других похожих архитектурных форм. Выделите созданный объект стены и в категории Shapes (Формы) вкладки Create (Создание) командной панели выберите инструмент Section (Сечение). В окне проекции Top (Сверху) создайте рамку сечения примерно посередине объекта. В принципе расположение рамки сечения Gizmo (Управляемый контейнер) не имеет значения, но когда все хорошо скомпоновано, удобнее контролировать процесс. Теперь перейдите в окно проекции Front (Спереди) и переместите рамку сечения таким образом, чтобы она располагалась чуть выше предполагаемой линии пола. Нажмите кнопку Create Shape (Создать форму) в свитке Section Parameters (Параметры сечения) настроек сечения на командной панели и в появившемся окне присвойте форме имя, например пол (рис. 1.17).
Средним уровнем
стека является протокол – пакет программ, который переводит средства путем внесения транзакций в блокчейн (журнал записей). Наконец, третий уровень – это сама валюта под названием «биткойн», в транзакциях и на биржах используется обозначение BTC или Btc. Среди сотни криптовалют биткойн – не только самая первая, но и самая популярная. Среди прочих следует отметить Litecoin, Dogecoin, Ripple, NXT, и Peercoin. Перечень и котировки основных альткойнов можно найти на сайте http://coinmarketcap.com/.
Планшетные сканеры наиболее популярны в наше время. Они просты по своему устройству и не вызывают затруднений при эксплуатации. Сканер представляет собой планшет (отсюда и его название) с прижимной крышкой, которая нужна для защиты
стекла от царапин и грязи и для прижатия изображения к стеклу для лучшего сканирования (рис. 1.1). Желательно, чтобы размеры сканера были больше формата сканируемого оригинала.
Почему же все так резко начали менять свои матовые матрицы на «
стекло »? Ключевой особенностью матовой матрицы является то, что ее коэффициент отражения равен единице. Это означает, что, к примеру, яркость изображения никоим образом не усиливается и напрямую зависит от яркостных возможностей непосредственно матрицы. Но если установить между матрицей и глазами пользователя «стекло», имеющее коэффициент отражения больше единицы, то в соответствии с законами физики будет создаваться впечатление более яркой и контрастной картинки. Хоть и обман зрения, но весьма эффективное решение.
2. Выполняется команда построения объекта (например, окна), в которой сначала настраиваются его параметры (форма и размеры окна, количество перегородок, текстуры
стекол и рам и пр.), а затем объект размещается в нужном месте плана здания (в случае окна – на одной из стен).
Каждый пиксел (кстати, слово pixel образовано от первых двух букв английских слов picture element) представляет информацию о некоторой «средней» интенсивности и цвете соответствующей области изображения. Общее число пикселов, представляющих рисунок, определяет его разрешение. Чем больше пикселов создают изображение, тем естественнее оно воспринимается человеческим глазом, и тем, как говорят, выше его разрешение (рис. 1.3). Таким образом, пределом «качества» компьютерного рисунка является размер формирующих его пикселов. Более мелкие, чем пикселы, детали компьютерного рисунка совершенно теряются и, в принципе, невосстановимы. Если рассматривать такой рисунок в увеличительное
стекло , то, по мере увеличения, мы увидим только расплывающееся скопление пикселов (см. рис. 1.2), а не мелкие детали, как это было бы в случае качественного фотоснимка.
2. Запускается команда построения какого-либо объекта (скажем, окна), в которой сначала настраиваются параметры объекта (форма и размеры окна, количество перегородок, текстуры
стекол и рам и пр.). Затем сам объект просто размещается в нужном месте плана здания (в случае окна – на одной из стен).
Не бойтесь погрязнуть в мелочах. Со всеми по-настоящему скучными и не требующими вашего внимания аспектами SEO система справится самостоятельно. Прочие – ваша забота. В частности, не пренебрегайте анализом НЧ-запросов (низкочастотных), одноцентовым продвижением. Некую фразу вбивают в поисковую строку три человека в месяц? Маловато, зато все три – из вашей целевой аудитории, они нужны вам. Напротив, бойтесь бескрайней широты. Взять хотя бы запрос «игрушки». Какие они бывают? Ведь не только детские: для взрослых, для животных, компьютерные и т. д. Так правильно ли продвигаться по запросу «игрушки»? Едва ли. Другой кейс: вы продаете ортопедические подушки. Сделать ставку на запрос «купить подушки» – значит обмануть ожидания тех, кто, ища пуховые подушки, попал в интернет-магазин «про здоровье». Эти люди (единицы, десятки, сотни), поморщившись, будут мгновенно закрывать вашу с любовью сверстанную страничку с уникальным-преуникальным контентом, что, вне всякого сомнения, ударит по поведенческим метрикам сайта. Стало быть, вне зависимости от тематики площадки мы берем кайло и лупу – дробим статистику и смотрим на низкочастотники через увеличительное
стекло .
? копировать данные в
стек пронумерованных каталогов или ZIP-файлы заданной глубины;
• есть возможность провести контроль (например, при помощи той же салфетки) и сравнить полученный результат с эталонным образцом (например, грязная салфетка в рамочке под
стеклом , фотография с образцом правильно заправленной кровати и т. п.).
Для защиты от дождя я могу укрыться под переносным зонтом или постоянной крышей. Если есть опасения, что меня могут застрелить, я воспользуюсь пуленепробиваемым жилетом или бронированными
стеклами в машине либо найму охранников, чтобы они отбирали на входе оружие. За рулем автомобиля я полагаюсь на вмонтированную в переднюю панель воздушную подушку, но в мотоцикле ее нет, поэтому эта роль отходит защитному костюму. Участвуя в уличных протестах, я могу построить баррикаду или двигаться под защитой переносного щита. В космической экспедиции система поддержания жизнедеятельности может быть заключена в моем скафандре или быть частью космической станции. Для защиты от атипичной пневмонии я могу надеть респиратор, постараться поддерживать в своей комнате чистоту или попытаться окружить свой город санитарным кордоном.
Оптический диск представляет собой диск из поликарбоната диаметром 120 мм и толщиной около 1,2 мм с отверстием диаметром 15 мм в центре. Существует и стандарт на 80-миллиметровые мини-диски. Простейший незаписываемый компакт-диск фабричного производства изготавливается в процессе, во многом напоминающем производство виниловых пластинок, – создается матрица, с которой штампуют копии. Сначала делается эталонный диск из
стекла , рисунок будущих дорожек на котором вытравливается плавиковой кислотой в процессе, очень напоминающем изготовление печатных плат. Со стеклянного эталона методом гальванопластики изготавливают никелевые матрицы, с помощью которых путем литья под давлением штампуют диски.