Область видимости переменных
Каждая переменная имеет определенную область видимости. Область видимости представляет участок программы, в рамках которого можно использовать переменную.
Переменные бывают:
Глобальными: определены в файле программы вне любой из функций и могут использоваться любой функцией.
Локальными или автоматическими: определяются внутри блока кода (например, внутри функции) и существуют только в рамках этого блока. При входе в блок для этих переменных выделяется память, а после завершения работы этого блока, выделенная память освобождается, а объекты удаляются.
Кроме глобальных и автоматических есть особый тип переменных - статические переменные.
Они определяются на уровне функций с помощью ключевого слово и инициализируются только один раз, а при последующих вызовах функции используется старое значение статической переменной.
Каждая переменная имеет определенную область видимости. Область видимости представляет участок программы, в рамках которого можно использовать переменную.
Переменные бывают:
Глобальными: определены в файле программы вне любой из функций и могут использоваться любой функцией.
Локальными или автоматическими: определяются внутри блока кода (например, внутри функции) и существуют только в рамках этого блока. При входе в блок для этих переменных выделяется память, а после завершения работы этого блока, выделенная память освобождается, а объекты удаляются.
Кроме глобальных и автоматических есть особый тип переменных - статические переменные.
Они определяются на уровне функций с помощью ключевого слово и инициализируются только один раз, а при последующих вызовах функции используется старое значение статической переменной.
Что такое замыкание?
Замыкание в программировании — одна функция возвращает как результат своей работы не переменную, а другую функцию. При этом хитрость в том, что внутренняя функция имеет доступ к переменным из внешней функции и может с ними работать в любой момент.
Чаще всего это используют, чтобы сделать переменную, которая на самом деле работает как функция.
На замыканиях строится около половины алгоритмов в функциональном программировании.
А ещё на них можно построить много разного:
⁃ изолировать логику выполнения фрагментов кода, если это не позволяют сделать встроенные возможности языка
⁃ лучше структурировать код, особенно при организации функций, которые отличаются только несколькими элементами;
⁃ реализовать инкапсуляцию в тех языках, где её нет.
Замыкание в программировании — одна функция возвращает как результат своей работы не переменную, а другую функцию. При этом хитрость в том, что внутренняя функция имеет доступ к переменным из внешней функции и может с ними работать в любой момент.
Чаще всего это используют, чтобы сделать переменную, которая на самом деле работает как функция.
На замыканиях строится около половины алгоритмов в функциональном программировании.
А ещё на них можно построить много разного:
⁃ изолировать логику выполнения фрагментов кода, если это не позволяют сделать встроенные возможности языка
⁃ лучше структурировать код, особенно при организации функций, которые отличаются только несколькими элементами;
⁃ реализовать инкапсуляцию в тех языках, где её нет.
Глобальная переменная
Это такая переменная, областью видимости которой является вся программа, если только она не перекрыта.
Механизмы взаимодействия с глобальными переменными называют механизмами доступа к глобальному окружению или состоянию. Глобальные переменные могут использоваться для взаимодействия между процедурами и функциями как альтернатива передачи аргументов и возвращения значений.
Глобальные переменные широко используются для передачи данных между секциями кода, которые не участвуют в отношениях вызовов, такие как параллельные нити исполнения или обработчики сигналов.
Без надлежащей блокировки (например, с помощью мьютекса), код, использующий глобальные переменные, не будет потокобезопасным, за исключением переменных, доступных только для чтения в защищённой области памяти.
Это такая переменная, областью видимости которой является вся программа, если только она не перекрыта.
Механизмы взаимодействия с глобальными переменными называют механизмами доступа к глобальному окружению или состоянию. Глобальные переменные могут использоваться для взаимодействия между процедурами и функциями как альтернатива передачи аргументов и возвращения значений.
Глобальные переменные широко используются для передачи данных между секциями кода, которые не участвуют в отношениях вызовов, такие как параллельные нити исполнения или обработчики сигналов.
Без надлежащей блокировки (например, с помощью мьютекса), код, использующий глобальные переменные, не будет потокобезопасным, за исключением переменных, доступных только для чтения в защищённой области памяти.
Недостатки использования глобальных переменных
Используя глобальные переменные, нужно быть очень внимательным!
Глобальная переменная может быть изменена в любой точке программы (если она не находится в защищённой памяти или объявлена как переменная только для чтения), что может повлиять на работу других частей программы.
По этой причине глобальные переменные имеют неограниченный потенциал для создания взаимных зависимостей, что приводит к усложнению программы.
Глобальные переменные также затрудняют интеграцию модулей, поскольку код, написанный ранее, может содержать глобальные переменные с теми же именами, что и во встраиваемом модуле.
Используя глобальные переменные, нужно быть очень внимательным!
Глобальная переменная может быть изменена в любой точке программы (если она не находится в защищённой памяти или объявлена как переменная только для чтения), что может повлиять на работу других частей программы.
По этой причине глобальные переменные имеют неограниченный потенциал для создания взаимных зависимостей, что приводит к усложнению программы.
Глобальные переменные также затрудняют интеграцию модулей, поскольку код, написанный ранее, может содержать глобальные переменные с теми же именами, что и во встраиваемом модуле.
Блок управления памятью
Memory management unit (MMU) — компонент аппаратного обеспечения компьютера, отвечающий за управление доступом к памяти, запрашиваемым центральным процессором.
Его функции заключаются в трансляции адресов виртуальной памяти в адреса физической памяти (то есть управление виртуальной памятью), защите памяти, управлении кэш-памятью, арбитражем шины и, в более простых компьютерных архитектурах, переключением блоков памяти.
Иногда также упоминается как блок управления страничной памятью (Paged memory management unit, PMMU).
В настоящее время чаще всего упоминается в связи с организацией виртуальной памяти и, следовательно, критически важен для многих современных многозадачных OC, включая все современные Windows NT и многие из UNIX‐подобных.
Блок управления памятью в настоящее время очень часто включается в состав центрального процессора или чипсета компьютера.
Memory management unit (MMU) — компонент аппаратного обеспечения компьютера, отвечающий за управление доступом к памяти, запрашиваемым центральным процессором.
Его функции заключаются в трансляции адресов виртуальной памяти в адреса физической памяти (то есть управление виртуальной памятью), защите памяти, управлении кэш-памятью, арбитражем шины и, в более простых компьютерных архитектурах, переключением блоков памяти.
Иногда также упоминается как блок управления страничной памятью (Paged memory management unit, PMMU).
В настоящее время чаще всего упоминается в связи с организацией виртуальной памяти и, следовательно, критически важен для многих современных многозадачных OC, включая все современные Windows NT и многие из UNIX‐подобных.
Блок управления памятью в настоящее время очень часто включается в состав центрального процессора или чипсета компьютера.
Принцип работы блока управления памятью
Он основан на разделении виртуального адресного пространства на участки одинакового размера (как правило, несколько килобайт),называемые страницами.
Младшие n бит адреса (смещение внутри страницы) остаются неизменными. Старшие биты адреса представляют собой номер (виртуальной) страницы.
MMU обычно преобразует номера виртуальных страниц в номера физических страниц, используя буфер ассоциативной трансляции (Translation Lookaside Buffer, TLB).
Если преобразование при помощи TLB невозможно, включается более медленный механизм преобразования, основанный на программных системных структурах. Данные в них — элементы таблицы страниц, а сами структуры — таблицы страниц.
Конкатенация («склеивание») номера физической страницы со смещением внутри страницы даёт физический адрес.
Он основан на разделении виртуального адресного пространства на участки одинакового размера (как правило, несколько килобайт),называемые страницами.
Младшие n бит адреса (смещение внутри страницы) остаются неизменными. Старшие биты адреса представляют собой номер (виртуальной) страницы.
MMU обычно преобразует номера виртуальных страниц в номера физических страниц, используя буфер ассоциативной трансляции (Translation Lookaside Buffer, TLB).
Если преобразование при помощи TLB невозможно, включается более медленный механизм преобразования, основанный на программных системных структурах. Данные в них — элементы таблицы страниц, а сами структуры — таблицы страниц.
Конкатенация («склеивание») номера физической страницы со смещением внутри страницы даёт физический адрес.
Многофакторная аутентификация
Концепция, которая произвела революцию в безопасности аутентификации.
MFA — это тип аутентификации, в котором используются как минимум два различных фактора аутентификации, чтобы определить, является ли человек тем, кем он себя называет.
Сила его заключается в том, что для подтверждения личности пользователя требуется как минимум два различных фактора.
Даже если злоумышленник скомпрометирует один фактор аутентификации, ему все равно придется скомпрометировать все остальные факторы аутентификации, чтобы получить доступ. Чем больше факторов аутентификации, тем выше безопасность.
Если вы используете один и тот же фактор дважды, то это двухэтапная аутентификация, но не двухфакторная аутентификация.
Концепция, которая произвела революцию в безопасности аутентификации.
MFA — это тип аутентификации, в котором используются как минимум два различных фактора аутентификации, чтобы определить, является ли человек тем, кем он себя называет.
Сила его заключается в том, что для подтверждения личности пользователя требуется как минимум два различных фактора.
Даже если злоумышленник скомпрометирует один фактор аутентификации, ему все равно придется скомпрометировать все остальные факторы аутентификации, чтобы получить доступ. Чем больше факторов аутентификации, тем выше безопасность.
Если вы используете один и тот же фактор дважды, то это двухэтапная аутентификация, но не двухфакторная аутентификация.
Конкатенация
Операция склеивания объектов линейной структуры, обычно строк.
Например, конкатенация слов «Computer» и «Science» даст слово «ComputerScience».
Операция конкатенации определяется для типов данных, имеющих структуру последовательности (список, очередь, массив и тд). В общем случае, результатом конкатенации двух объектов А и В является объект С = АB, полученный поочерёдным добавлением всех элементов объекта B, начиная с первого, в конец объекта A.
Из соображений удобства и эффективности различают две формы операции конкатенации:
1. Модифицирующая конкатенация. Результат операции формируется в левом операнде.
2. Немодифицирующая конкатенация. Результатом является новый объект, операнды остаются неизменными.
Операция склеивания объектов линейной структуры, обычно строк.
Например, конкатенация слов «Computer» и «Science» даст слово «ComputerScience».
Операция конкатенации определяется для типов данных, имеющих структуру последовательности (список, очередь, массив и тд). В общем случае, результатом конкатенации двух объектов А и В является объект С = АB, полученный поочерёдным добавлением всех элементов объекта B, начиная с первого, в конец объекта A.
Из соображений удобства и эффективности различают две формы операции конкатенации:
1. Модифицирующая конкатенация. Результат операции формируется в левом операнде.
2. Немодифицирующая конкатенация. Результатом является новый объект, операнды остаются неизменными.
Capability-based addressing
В компьютерных науках Capability-based addressing — это схема, используемая некоторыми компьютерами для управления доступом к памяти в качестве эффективной реализации capability-based security.
В этой схеме указатели заменяются защищенными объектами (называемыми capabilities), которые могут быть созданы только с помощью привилегированных инструкций, которые могут выполняться только ядром или каким-либо другим привилегированным процессом, уполномоченным на это.
Таким образом, ядро может ограничить доступ кода приложения и других подсистем к минимально необходимым частям памяти (и отключить доступ для записи, где это необходимо), без необходимости использовать отдельные адресные пространства и, следовательно, требовать переключения контекста при доступе.
В компьютерных науках Capability-based addressing — это схема, используемая некоторыми компьютерами для управления доступом к памяти в качестве эффективной реализации capability-based security.
В этой схеме указатели заменяются защищенными объектами (называемыми capabilities), которые могут быть созданы только с помощью привилегированных инструкций, которые могут выполняться только ядром или каким-либо другим привилегированным процессом, уполномоченным на это.
Таким образом, ядро может ограничить доступ кода приложения и других подсистем к минимально необходимым частям памяти (и отключить доступ для записи, где это необходимо), без необходимости использовать отдельные адресные пространства и, следовательно, требовать переключения контекста при доступе.
Буфер Ассоциативной Трансляции
Translation Lookaside Buffer (TLB) — это специализированный кэш ЦП, используемый для ускорения трансляции адреса виртуальной памяти в адрес физической памяти.
Используется всеми современными процессорами с поддержкой страничной организации памяти. TLB содержит фиксированный набор записей (от 8 до 4096) и является ассоциативной памятью.
Каждая запись содержит соответствие адреса страницы виртуальной памяти адресу физической памяти.
Если адрес отсутствует в TLB, процессор обходит таблицы страниц и сохраняет полученный адрес в TLB, что занимает в 10 — 60 раз больше времени, чем получение адреса из записи, уже закэшированной TLB.
Вероятность промаха TLB невысока и составляет в среднем от 0,01 % до 1 %.
Translation Lookaside Buffer (TLB) — это специализированный кэш ЦП, используемый для ускорения трансляции адреса виртуальной памяти в адрес физической памяти.
Используется всеми современными процессорами с поддержкой страничной организации памяти. TLB содержит фиксированный набор записей (от 8 до 4096) и является ассоциативной памятью.
Каждая запись содержит соответствие адреса страницы виртуальной памяти адресу физической памяти.
Если адрес отсутствует в TLB, процессор обходит таблицы страниц и сохраняет полученный адрес в TLB, что занимает в 10 — 60 раз больше времени, чем получение адреса из записи, уже закэшированной TLB.
Вероятность промаха TLB невысока и составляет в среднем от 0,01 % до 1 %.
Ассоциативная память
АП — специальный вид машинной памяти, используемый в приложениях очень быстрого поиска.
Известна также под терминами «память, адресуемая по содержимому», «ассоциативное запоминающее устройство», «контентно-адресуемая память» или «ассоциативный массив»(чаще используется для обозначения структуры данных)
В отличие от обычной машинной памяти (RAM), в которой пользователь задает адрес памяти и ОЗУ возвращает слово данных, хранящееся по этому адресу, АП разработана таким образом, чтобы пользователь задавал слово данных, и АП осуществляла его поиск, чтобы выяснить, хранится ли оно где-либо в памяти.
Если слово данных найдено, АП возвращает список одного или более адресов хранения, где слово было найдено.
АП — специальный вид машинной памяти, используемый в приложениях очень быстрого поиска.
Известна также под терминами «память, адресуемая по содержимому», «ассоциативное запоминающее устройство», «контентно-адресуемая память» или «ассоциативный массив»(чаще используется для обозначения структуры данных)
В отличие от обычной машинной памяти (RAM), в которой пользователь задает адрес памяти и ОЗУ возвращает слово данных, хранящееся по этому адресу, АП разработана таким образом, чтобы пользователь задавал слово данных, и АП осуществляла его поиск, чтобы выяснить, хранится ли оно где-либо в памяти.
Если слово данных найдено, АП возвращает список одного или более адресов хранения, где слово было найдено.
Тип данных — ассоциативный массив
Абстрактный тип данных, позволяющий хранить пары вида «(ключ, значение)» и поддерживающий операции добавления (insert), поиска(find) и удаления(remove) по ключу.
Предполагается, что ассоциативный массив не может хранить две пары с одинаковыми ключами.
В паре (k, v) значение v называется значением, ассоциированным с ключом k. Где k — это key, a v — value.
Семантика и названия вышеупомянутых операций в разных реализациях ассоциативного массива могут отличаться.
Примером ассоциативного массива является телефонный справочник: значением в данном случае является совокупность «Ф. И. О. + адрес», а ключом — номер телефона, один номер телефона имеет одного владельца, но один человек может иметь несколько номеров.
Абстрактный тип данных, позволяющий хранить пары вида «(ключ, значение)» и поддерживающий операции добавления (insert), поиска(find) и удаления(remove) по ключу.
Предполагается, что ассоциативный массив не может хранить две пары с одинаковыми ключами.
В паре (k, v) значение v называется значением, ассоциированным с ключом k. Где k — это key, a v — value.
Семантика и названия вышеупомянутых операций в разных реализациях ассоциативного массива могут отличаться.
Примером ассоциативного массива является телефонный справочник: значением в данном случае является совокупность «Ф. И. О. + адрес», а ключом — номер телефона, один номер телефона имеет одного владельца, но один человек может иметь несколько номеров.
Как работает многофакторная аутентификация (MFA)?
Однофакторные системы безопасности недостаточно безопасны и нуждаются в дополнительной защите. MFA обеспечивает дополнительный уровень безопасности и требует, чтобы пользователь представил как минимум два различных фактора аутентификации.
Первым фактором все еще может быть пароль (но не обязательно). Если пароль, предоставленный пользователем, правильный, то система MFA запрашивает по крайней мере еще одно доказательство, основанное на владении или принадлежности.
Второй фактор может быть: что-то, что у вас есть (мобильное устройство, смартфон, токен безопасности или аппаратный одноразовый пароль) или то, чем вы являетесь (отпечаток пальца или распознавание лица)
Однофакторные системы безопасности недостаточно безопасны и нуждаются в дополнительной защите. MFA обеспечивает дополнительный уровень безопасности и требует, чтобы пользователь представил как минимум два различных фактора аутентификации.
Первым фактором все еще может быть пароль (но не обязательно). Если пароль, предоставленный пользователем, правильный, то система MFA запрашивает по крайней мере еще одно доказательство, основанное на владении или принадлежности.
Второй фактор может быть: что-то, что у вас есть (мобильное устройство, смартфон, токен безопасности или аппаратный одноразовый пароль) или то, чем вы являетесь (отпечаток пальца или распознавание лица)
Каковы преимущества многофакторной аутентификации?
1. Уменьшение рисков безопасности
Многие методы атак, ведущих к несанкционированному доступу, основаны на краже учетных данных пользователей. MFA снижает вероятность успеха таких атак, требуя от пользователя использования более безопасных учетных данных на основе оборудования.
2. Повышение безопасности аутентификации
Повышает безопасность аутентификации за счет добавления методов, основанных на более сильных факторах, таких как решения на основе аппаратных токенов и персональных телефонов.
3. Повышение доверия пользователей
Компания, использующая многофакторную аутентификацию, показывает своим пользователям, что заботится об их безопасности.
4. Обеспечение гибкости
Легкость интегрирования с системой единого входа (SSO) и адаптивной аутентификацией (Risked-Based Authentication)
1. Уменьшение рисков безопасности
Многие методы атак, ведущих к несанкционированному доступу, основаны на краже учетных данных пользователей. MFA снижает вероятность успеха таких атак, требуя от пользователя использования более безопасных учетных данных на основе оборудования.
2. Повышение безопасности аутентификации
Повышает безопасность аутентификации за счет добавления методов, основанных на более сильных факторах, таких как решения на основе аппаратных токенов и персональных телефонов.
3. Повышение доверия пользователей
Компания, использующая многофакторную аутентификацию, показывает своим пользователям, что заботится об их безопасности.
4. Обеспечение гибкости
Легкость интегрирования с системой единого входа (SSO) и адаптивной аутентификацией (Risked-Based Authentication)
Time-based One-Time Password
TOTP — означает одноразовые пароли на основе времени и является распространенной формой 2FA.
Уникальные числовые пароли генерируются с помощью стандартизированного алгоритма, который использует текущее время в качестве входных данных.
Пароли на основе времени доступны в автономном режиме и обеспечивают удобную для пользователя повышенную безопасность учетной записи при использовании в качестве второго фактора.
TOTP также известен как аутентификация на основе приложений или программных токенов.
TOTP — означает одноразовые пароли на основе времени и является распространенной формой 2FA.
Уникальные числовые пароли генерируются с помощью стандартизированного алгоритма, который использует текущее время в качестве входных данных.
Пароли на основе времени доступны в автономном режиме и обеспечивают удобную для пользователя повышенную безопасность учетной записи при использовании в качестве второго фактора.
TOTP также известен как аутентификация на основе приложений или программных токенов.
Средства обработки информации
Обработка информации — вся совокупность операций (сбор, ввод, запись, преобразование, считывание, хранение, уничтожение, регистрация), осуществляемых с помощью технических и программных средств, включая обмен по каналам передачи данных
Среди средств обработки информации, доступных широкому классу потребителей, — средства организации баз данных, соответствия выполнения запросов и поиска информации, фильтрации информации, графического представления и т.п.
На данном этапе все большее развитие приобретают методы человеко-ориентированной компьютерной обработки данных.
В настоящее время вследствие глобального распространения компьютерных систем в области автоматизации промышленных процессов все чаще применяются системы сбора данных и оперативного диспетчерского управления - SCADA.
SCADA-системы в иерархии программно-аппаратных средств промышленной автоматизации находятся на верхнем уровне. SCADA-система собирает информацию о технологический процесс, обеспечивает интерфейс с оператором, сохраняет историю процесса и осуществляет управление процессом в том объёме, в котором это необходимо.
Обработка информации — вся совокупность операций (сбор, ввод, запись, преобразование, считывание, хранение, уничтожение, регистрация), осуществляемых с помощью технических и программных средств, включая обмен по каналам передачи данных
Среди средств обработки информации, доступных широкому классу потребителей, — средства организации баз данных, соответствия выполнения запросов и поиска информации, фильтрации информации, графического представления и т.п.
На данном этапе все большее развитие приобретают методы человеко-ориентированной компьютерной обработки данных.
В настоящее время вследствие глобального распространения компьютерных систем в области автоматизации промышленных процессов все чаще применяются системы сбора данных и оперативного диспетчерского управления - SCADA.
SCADA-системы в иерархии программно-аппаратных средств промышленной автоматизации находятся на верхнем уровне. SCADA-система собирает информацию о технологический процесс, обеспечивает интерфейс с оператором, сохраняет историю процесса и осуществляет управление процессом в том объёме, в котором это необходимо.
Основные компоненты SCADA
SCADA-система обычно содержит следующие подсистемы:
- Драйверы или серверы ввода-вывода — программы, обеспечивающие связь SCADA с промышленными контроллерами, счётчиками, АЦП и другими устройствами ввода-вывода информации.
- Система реального времени — программа, обеспечивающая обработку данных в пределах заданного временного цикла с учётом приоритетов.
- Человеко-машинный интерфейс — инструмент, который представляет данные о ходе процесса человеку оператору, что позволяет оператору контролировать процесс и управлять им.
- Программа-редактор для разработки человеко-машинного интерфейса.
- Система логического управления — программа, обеспечивающая исполнение пользовательских программ логического управления в SCADA-системе.
- База данных реального времени — программа, обеспечивающая сохранение истории процесса в режиме реального времени.
- Система управления тревогами — программа, обеспечивающая автоматический контроль технологических событий, отнесение их к категории нормальных, предупреждающих или аварийных, а также обработку событий оператором или компьютером.
- Генератор отчетов — программа, обеспечивающая создание пользовательских отчетов о технологических событиях.
- Внешние интерфейсы — стандартные интерфейсы обмена данными между SCADA и другими приложениями.
SCADA-система обычно содержит следующие подсистемы:
- Драйверы или серверы ввода-вывода — программы, обеспечивающие связь SCADA с промышленными контроллерами, счётчиками, АЦП и другими устройствами ввода-вывода информации.
- Система реального времени — программа, обеспечивающая обработку данных в пределах заданного временного цикла с учётом приоритетов.
- Человеко-машинный интерфейс — инструмент, который представляет данные о ходе процесса человеку оператору, что позволяет оператору контролировать процесс и управлять им.
- Программа-редактор для разработки человеко-машинного интерфейса.
- Система логического управления — программа, обеспечивающая исполнение пользовательских программ логического управления в SCADA-системе.
- База данных реального времени — программа, обеспечивающая сохранение истории процесса в режиме реального времени.
- Система управления тревогами — программа, обеспечивающая автоматический контроль технологических событий, отнесение их к категории нормальных, предупреждающих или аварийных, а также обработку событий оператором или компьютером.
- Генератор отчетов — программа, обеспечивающая создание пользовательских отчетов о технологических событиях.
- Внешние интерфейсы — стандартные интерфейсы обмена данными между SCADA и другими приложениями.
Характеристики систем реального времени
Процессы систем реального времени могут иметь следующие характеристики и связанные с ними ограничения:
- дедлайн — критический срок обслуживания, предельный срок завершения какой-либо работы;
- латентность — время отклика системы на внешние события;
- джиттер — разброс значений времени отклика. Можно различить джиттер запуска — период времени от готовности к исполнению до начала собственно исполнения задачи и джиттер вывода — задержка по окончании выполнения задачи. Джиттер может возникать под влиянием других одновременно исполняемых задач.
В зависимости от допустимых нарушений временных ограничений системы реального времени можно поделить на системы жёсткого реального времени, для которых нарушения равнозначны отказу системы, и системы мягкого реального времени, нарушения характеристик которых приводят лишь к снижению качества работы системы.
Также можно рассматривать твёрдые системы реального времени, в которых допускается небольшое нарушение дедлайнов, но бо́льшее нарушение может привести к катастрофическому отказу системы
Процессы систем реального времени могут иметь следующие характеристики и связанные с ними ограничения:
- дедлайн — критический срок обслуживания, предельный срок завершения какой-либо работы;
- латентность — время отклика системы на внешние события;
- джиттер — разброс значений времени отклика. Можно различить джиттер запуска — период времени от готовности к исполнению до начала собственно исполнения задачи и джиттер вывода — задержка по окончании выполнения задачи. Джиттер может возникать под влиянием других одновременно исполняемых задач.
В зависимости от допустимых нарушений временных ограничений системы реального времени можно поделить на системы жёсткого реального времени, для которых нарушения равнозначны отказу системы, и системы мягкого реального времени, нарушения характеристик которых приводят лишь к снижению качества работы системы.
Также можно рассматривать твёрдые системы реального времени, в которых допускается небольшое нарушение дедлайнов, но бо́льшее нарушение может привести к катастрофическому отказу системы
Автоматизированная обработка информации
Эксплуатационные возможности современного комплекса технических средств, используемого в системе обработки информации, дают возможность автоматизировано выполнять целый ряд процедур. Состояние разработок и уровень этого комплекса определили возможности автоматизированного выполнения таких процедур управленческого процесса:
- в прогнозировании и планировании — многовариантные расчеты при разработке прогнозов.
- в организации — моделирование организационных структур управления.
- в контроле — наблюдение за состоянием управляемого объекта по всем параметрам.
- в учёте — системная обработка всей информации.
- в анализе — сопоставление нормативных, плановых и фактических показателей, характеризующих те или иные операции.
- в отчетности — автоматическое формирование справочников.
Эксплуатационные возможности современного комплекса технических средств, используемого в системе обработки информации, дают возможность автоматизировано выполнять целый ряд процедур. Состояние разработок и уровень этого комплекса определили возможности автоматизированного выполнения таких процедур управленческого процесса:
- в прогнозировании и планировании — многовариантные расчеты при разработке прогнозов.
- в организации — моделирование организационных структур управления.
- в контроле — наблюдение за состоянием управляемого объекта по всем параметрам.
- в учёте — системная обработка всей информации.
- в анализе — сопоставление нормативных, плановых и фактических показателей, характеризующих те или иные операции.
- в отчетности — автоматическое формирование справочников.
Программное прерывание
Программное прерывание — синхронное прерывание, которое может осуществить программа с помощью специальной инструкции.
В процессорах архитектуры x86 для явного вызова синхронного прерывания имеется инструкция
Также обслуживание прерываний могут взять на себя BIOS карт расширений, ОС и даже обычные программы, которые постоянно находятся в памяти во время работы других программ. В отличие от реального режима, в защищённом режиме x86-процессоров обычные программы не могут обслуживать прерывания, эта функция доступна только системному коду.
MS-DOS использует для взаимодействия со своими модулями и прикладными программами прерывания с номерами от 20h до 3Fh. Доступ к основному множеству функций MS-DOS осуществляется исполнением инструкции
Программное прерывание — синхронное прерывание, которое может осуществить программа с помощью специальной инструкции.
В процессорах архитектуры x86 для явного вызова синхронного прерывания имеется инструкция
Int, аргументом которой является номер прерывания (от 0 до 255). В IBM PC-совместимых компьютерах обработку некоторых прерываний осуществляют подпрограммы BIOS и прерывание служит интерфейсом для доступа к сервису, предоставляемому BIOS. Также обслуживание прерываний могут взять на себя BIOS карт расширений, ОС и даже обычные программы, которые постоянно находятся в памяти во время работы других программ. В отличие от реального режима, в защищённом режиме x86-процессоров обычные программы не могут обслуживать прерывания, эта функция доступна только системному коду.
MS-DOS использует для взаимодействия со своими модулями и прикладными программами прерывания с номерами от 20h до 3Fh. Доступ к основному множеству функций MS-DOS осуществляется исполнением инструкции
Int 21h. Это распределение номеров прерываний не закреплено аппаратно и другие программы могут устанавливать свои обработчики прерываний вместо или поверх уже имеющихся обработчиков, установленных MS-DOS или другими программами, что, как правило, используется для изменения функциональности или расширения списка системных функций.Open Platform Communications
OPC - семейство программных технологий, предоставляющих единый интерфейс для управления объектами автоматизации и технологическими процессами. Многие из OPC протоколов базируются на Windows-технологиях: OLE, ActiveX, COM/DCOM. Такие OPC протоколы, как OPC XML DA и OPC UA, являются платформа независимыми.
OPC — набор спецификаций стандартов. Каждый стандарт описывает набор функций определенного назначения. Основной и наиболее востребованный стандарт - OPC DA (Data Access). Описывает набор функций обмена данными в реальном времени с ПЛК (Программируемый логический контроллер), РСУ(Распределённая система управления), ЧМИ(Человеко-машинный интерфейс), ЧПУ(Числовое программное управление) и другими устройствами.
Стандарт OPC разрабатывался с целью сократить затраты на создание и сопровождение приложений промышленной автоматизации.
Суть OPC проста — предоставить разработчикам промышленных программ универсальный фиксированный интерфейс (то есть набор функций) обмена данными с любыми устройствами. В то же время разработчики устройств предоставляют программу, реализующую этот интерфейс (набор функций).
OPC - семейство программных технологий, предоставляющих единый интерфейс для управления объектами автоматизации и технологическими процессами. Многие из OPC протоколов базируются на Windows-технологиях: OLE, ActiveX, COM/DCOM. Такие OPC протоколы, как OPC XML DA и OPC UA, являются платформа независимыми.
OPC — набор спецификаций стандартов. Каждый стандарт описывает набор функций определенного назначения. Основной и наиболее востребованный стандарт - OPC DA (Data Access). Описывает набор функций обмена данными в реальном времени с ПЛК (Программируемый логический контроллер), РСУ(Распределённая система управления), ЧМИ(Человеко-машинный интерфейс), ЧПУ(Числовое программное управление) и другими устройствами.
Стандарт OPC разрабатывался с целью сократить затраты на создание и сопровождение приложений промышленной автоматизации.
Суть OPC проста — предоставить разработчикам промышленных программ универсальный фиксированный интерфейс (то есть набор функций) обмена данными с любыми устройствами. В то же время разработчики устройств предоставляют программу, реализующую этот интерфейс (набор функций).