Power-on self-test
POST («самотестирование при включении») — проверка аппаратного обеспечения компьютера, выполняемая при его включении. Выполняется программами, входящими в BIOS материнской платы.
Полный регламент работы POST:
1. Проверка всех регистров процессора;
2. Проверка контрольной суммы ПЗУ;
3. Проверка системного таймера и порта звуковой сигнализации (для IBM PC — ИМС i8253 или аналог);
4. Тест контроллера прямого доступа к памяти;
5. Тест регенератора оперативной памяти;
6. Тест нижней области ОЗУ для проецирования резидентных программ в BIOS;
7. Загрузка резидентных программ;
8. Тест стандартного графического адаптера (VGA или PCI-E);
9. Тест оперативной памяти;
10. Тест основных устройств ввода (НЕ манипуляторов);
11. Тест CMOS
12. Тест основных портов LPT/COM;
13. Тест накопителей на гибких магнитных дисках;
14. Тест накопителей на жёстких магнитных дисках;
15. Самодиагностика функциональных подсистем BIOS;
16. Передача управления загрузчику.
POST («самотестирование при включении») — проверка аппаратного обеспечения компьютера, выполняемая при его включении. Выполняется программами, входящими в BIOS материнской платы.
Полный регламент работы POST:
1. Проверка всех регистров процессора;
2. Проверка контрольной суммы ПЗУ;
3. Проверка системного таймера и порта звуковой сигнализации (для IBM PC — ИМС i8253 или аналог);
4. Тест контроллера прямого доступа к памяти;
5. Тест регенератора оперативной памяти;
6. Тест нижней области ОЗУ для проецирования резидентных программ в BIOS;
7. Загрузка резидентных программ;
8. Тест стандартного графического адаптера (VGA или PCI-E);
9. Тест оперативной памяти;
10. Тест основных устройств ввода (НЕ манипуляторов);
11. Тест CMOS
12. Тест основных портов LPT/COM;
13. Тест накопителей на гибких магнитных дисках;
14. Тест накопителей на жёстких магнитных дисках;
15. Самодиагностика функциональных подсистем BIOS;
16. Передача управления загрузчику.
Асимметричные алгоритмы
• RSA
— алгоритм, в основе которого лежит вычислительная сложность факторизации (разложения на множители) больших чисел. Применяется в защищенных протоколах SSL и TLS, стандартах шифрования, например в PGP и S/MIME, и так далее. Используется и для шифрования данных, и для создания цифровых подписей. • DSA
— алгоритм, основанный на сложности вычисления дискретных логарифмов. Используется для генерации цифровых подписей. Является частью стандарта DSS. • Схема Эль-Гамаля
— алгоритм, основанный на сложности вычисления дискретных логарифмов. Лежит в основе DSA и устаревшего российского стандарта ГОСТ 34.10–94. Применяется как для шифрования, так и для создания цифровых подписей.• ECDSA
— алгоритм, основанный на сложности вычисления дискретного логарифма в группе точек эллиптической кривой. Применяется для генерации цифровых подписей, в частности для подтверждения транзакций в криптовалюте Ripple.Симметричное шифрование
Способ шифрования данных, при котором один и тот же ключ используется и для кодирования, и для восстановления информации.
Например, если алгоритм предполагает замену букв числами, то и у отправителя сообщения, и у его получателя должна быть одна и та же таблица соответствия букв и чисел: первый с ее помощью шифрует сообщения, а второй — расшифровывает.
Однако такие простейшие шифры легко взломать и их использование не имеет никакого смысла.
Поэтому современные симметричные алгоритмы считаются надежными, если отвечают следующим требованиям:
⁃ Выходные данные не должны содержать статистических паттернов исходных данных.
⁃ Шифр должен быть нелинейным (не должно быть закономерностей, которые можно отследить, имея на руках несколько открытых текстов и шифров к ним).
Способ шифрования данных, при котором один и тот же ключ используется и для кодирования, и для восстановления информации.
Например, если алгоритм предполагает замену букв числами, то и у отправителя сообщения, и у его получателя должна быть одна и та же таблица соответствия букв и чисел: первый с ее помощью шифрует сообщения, а второй — расшифровывает.
Однако такие простейшие шифры легко взломать и их использование не имеет никакого смысла.
Поэтому современные симметричные алгоритмы считаются надежными, если отвечают следующим требованиям:
⁃ Выходные данные не должны содержать статистических паттернов исходных данных.
⁃ Шифр должен быть нелинейным (не должно быть закономерностей, которые можно отследить, имея на руках несколько открытых текстов и шифров к ним).
Серверы имен
Записи DNS связывают данные с доменами, все такие записи должны храниться на серверах имен.
Это специальные хосты, которые призваны делиться своими записями с кем угодно в интернете в любое время. Владелец домена должен предоставить как минимум двум серверам имен право хранить свои записи DNS. Владельцы доменов могут предоставить эти серверы сами или нанять для этого третьих лиц.
Существуют также корневые серверы — специальные серверы имен, которым ICANN дает право хранить записи DNS касательно TLD. Новые TLD создаются‚ когда ICANN запрашивает‚ чтобы на этих серверах была добавлена запись NS (запись, указывающая на каких NS-серверах находится домен). Существует 13 корневых серверов — ICANN следит‚ чтобы их IP-адреса были хорошо известны.
Записи DNS связывают данные с доменами, все такие записи должны храниться на серверах имен.
Это специальные хосты, которые призваны делиться своими записями с кем угодно в интернете в любое время. Владелец домена должен предоставить как минимум двум серверам имен право хранить свои записи DNS. Владельцы доменов могут предоставить эти серверы сами или нанять для этого третьих лиц.
Существуют также корневые серверы — специальные серверы имен, которым ICANN дает право хранить записи DNS касательно TLD. Новые TLD создаются‚ когда ICANN запрашивает‚ чтобы на этих серверах была добавлена запись NS (запись, указывающая на каких NS-серверах находится домен). Существует 13 корневых серверов — ICANN следит‚ чтобы их IP-адреса были хорошо известны.
Делегирование домена
Делегированием домена — передача корневым сервером зоны права размещения домена на определенном
Для примера, корневые сервера делегируют зону
Само делегирование означает, что на корневом сервере для домена присутствуют записи
Делегирование предполагает наличие только записей IN NS и никаких других. Поэтому домену второго уровня нельзя прописать, к примеру, запись
Делегированием домена — передача корневым сервером зоны права размещения домена на определенном
NS-сервере
. Для примера, корневые сервера делегируют зону
.COM
на серверы, которые будут за нее отвечать, а серверы зоны .COM
делегируют домен MYDOMAIN.COM
на NS-сервера хостинг-провайдера или на какие-либо другие. Само делегирование означает, что на корневом сервере для домена присутствуют записи
IN NS
, указывающие на NS-сервер
, на котором размещена информация по домену. Делегирование предполагает наличие только записей IN NS и никаких других. Поэтому домену второго уровня нельзя прописать, к примеру, запись
CNAME
.Типы SSL-сертификатов
1. Сертификаты с расширенной проверкой (EV SSL)
Самый высокорейтинговый и наиболее дорогой тип SSL-сертификатов. Используется для популярных веб-сайтов, которые собирают данные и используют онлайн-платежи.
2. Сертификаты, подтверждающие организацию (OV SSL)
Этот тип SSL-сертификатов имеет такой же уровень доверия, что и сертификаты с расширенной проверкой
3. Сертификаты, подтверждающие домен (DV SSL)
Процесс проверки для получения SSL-сертификата этого типа минимален. Используются для блогов или информационных веб-сайтов
4. Wildcard-сертификаты
сертификаты с подстановочными символами позволяют защитить базовый домен и неограниченное количество поддоменов с помощью одного сертификата.
5. Мультидоменные сертификаты (MDC)
Можно использовать для защиты нескольких доменных и поддоменных имен, включая сочетания полностью уникальных доменов и поддоменов с разными доменами верхнего уровня (TLD), за исключением локальных / внутренних доменов.
6. Сертификаты унифицированных коммуникаций (UCC)
Считаются мультидоменными SSL-сертификатами. Изначально были разработаны для защиты серверов Microsoft Exchange и Live Communications.
1. Сертификаты с расширенной проверкой (EV SSL)
Самый высокорейтинговый и наиболее дорогой тип SSL-сертификатов. Используется для популярных веб-сайтов, которые собирают данные и используют онлайн-платежи.
2. Сертификаты, подтверждающие организацию (OV SSL)
Этот тип SSL-сертификатов имеет такой же уровень доверия, что и сертификаты с расширенной проверкой
3. Сертификаты, подтверждающие домен (DV SSL)
Процесс проверки для получения SSL-сертификата этого типа минимален. Используются для блогов или информационных веб-сайтов
4. Wildcard-сертификаты
сертификаты с подстановочными символами позволяют защитить базовый домен и неограниченное количество поддоменов с помощью одного сертификата.
5. Мультидоменные сертификаты (MDC)
Можно использовать для защиты нескольких доменных и поддоменных имен, включая сочетания полностью уникальных доменов и поддоменов с разными доменами верхнего уровня (TLD), за исключением локальных / внутренних доменов.
6. Сертификаты унифицированных коммуникаций (UCC)
Считаются мультидоменными SSL-сертификатами. Изначально были разработаны для защиты серверов Microsoft Exchange и Live Communications.
Контроллеры жестких дисков
Контроллер жестких дисков представляет собой сложнейшее устройство - микрокомпьютер, со своим процессором, ОЗУ и ПЗУ, схемами и системой ввода/вывода и т.п.. Однако, в большинстве случаев, производители размещают их в одном или двух микро-чипах.
Он занимается множеством операций преобразования потока данных. Так как длинна дорожек неравна, данные на различные дорожки необходимо записывать неравномерно. Это становится проблемой, по сравнению с гибкими дисками, для носителей с высокой плотностью записи. Простые контроллеры, как правило, записывают одно и тоже количество информации на каждую дорожку, независимо от ее длинны. Для этого контроллер упаковывает данные более плотно, начиная с определенной по счету дорожки.
Многие производители создают устройства, которые записывают различный объем информации на внутренние и внешние дорожки за счет размещения на них разного числа секторов. Это возможно, благодаря аппаратному скрытию от программ и пользователя физических характеристик устройства на уровне его контроллера и/или интерфейса
Контроллер жестких дисков представляет собой сложнейшее устройство - микрокомпьютер, со своим процессором, ОЗУ и ПЗУ, схемами и системой ввода/вывода и т.п.. Однако, в большинстве случаев, производители размещают их в одном или двух микро-чипах.
Он занимается множеством операций преобразования потока данных. Так как длинна дорожек неравна, данные на различные дорожки необходимо записывать неравномерно. Это становится проблемой, по сравнению с гибкими дисками, для носителей с высокой плотностью записи. Простые контроллеры, как правило, записывают одно и тоже количество информации на каждую дорожку, независимо от ее длинны. Для этого контроллер упаковывает данные более плотно, начиная с определенной по счету дорожки.
Многие производители создают устройства, которые записывают различный объем информации на внутренние и внешние дорожки за счет размещения на них разного числа секторов. Это возможно, благодаря аппаратному скрытию от программ и пользователя физических характеристик устройства на уровне его контроллера и/или интерфейса
Основные различия между IPv4 и IPv6:
1. Адресная разрядность:
• IPv4 использует 32-битные адреса и поддерживает около 4,3 миллиарда уникальных адресов.
• IPv6 использует 128-битные адреса и обеспечивает гораздо большее количество уникальных адресов, практически неограниченное количество.
2. Формат адреса:
• IPv4 адреса записываются в десятичной системе, разделенные точками, например,
• IPv6 адреса записываются в шестнадцатеричной системе, разделенные двоеточиями, например, 2001:0db8:85a3:0000:0000:8a2e:0370:7334.
3. Поддержка и распространение:
• IPv4 широко используется в настоящее время, но из-за ограниченного количества адресов возникает проблема исчерпания адресов.
• IPv6 разработан для решения проблемы исчерпания адресов IPv4 и постепенно внедряется в сети.
4. Безопасность и другие функции:
• IPv6 включает в себя встроенные функции безопасности, такие как IPsec, что делает его более безопасным и защищенным по сравнению с IPv4.
• IPv6 также поддерживает более эффективную маршрутизацию и улучшенную поддержку качества обслуживания (QoS).
1. Адресная разрядность:
• IPv4 использует 32-битные адреса и поддерживает около 4,3 миллиарда уникальных адресов.
• IPv6 использует 128-битные адреса и обеспечивает гораздо большее количество уникальных адресов, практически неограниченное количество.
2. Формат адреса:
• IPv4 адреса записываются в десятичной системе, разделенные точками, например,
192.168.1.1
.• IPv6 адреса записываются в шестнадцатеричной системе, разделенные двоеточиями, например, 2001:0db8:85a3:0000:0000:8a2e:0370:7334.
3. Поддержка и распространение:
• IPv4 широко используется в настоящее время, но из-за ограниченного количества адресов возникает проблема исчерпания адресов.
• IPv6 разработан для решения проблемы исчерпания адресов IPv4 и постепенно внедряется в сети.
4. Безопасность и другие функции:
• IPv6 включает в себя встроенные функции безопасности, такие как IPsec, что делает его более безопасным и защищенным по сравнению с IPv4.
• IPv6 также поддерживает более эффективную маршрутизацию и улучшенную поддержку качества обслуживания (QoS).
Что такое прерывания?
Прерывание — одна из базовых концепций вычислительной техники, которая заключается в том, что при наступлении какого-либо события происходит передача управления специальной процедуре, называемой обработчиком прерываний.
В отличие от условных и безусловных переходов, прерывание может быть вызвано в любом месте программы, в том числе если выполнение программы приостановлено, и обусловлено обычно внешними по отношению к программе событиями. После выполнения необходимых действий, обработчик прерываний, как правило, возвращает управление прерванной программе.
Используются для работы с периферийными устройствами. К примеру, требуется направить запрос на загрузку данных с диска в память, и пока идёт загрузка — производить какие-либо другие операции, либо остановить выполнение до получения прерывания, а после окончания загрузки перейти к обработчику прерывания, который начнёт обработку поступивших данных. С помощью прерываний также может быть реализована многозадачность, отладка программ, эмуляция определённых устройств и т.д.
Они бывают асинхронные, синхронные и программные.
Прерывание — одна из базовых концепций вычислительной техники, которая заключается в том, что при наступлении какого-либо события происходит передача управления специальной процедуре, называемой обработчиком прерываний.
В отличие от условных и безусловных переходов, прерывание может быть вызвано в любом месте программы, в том числе если выполнение программы приостановлено, и обусловлено обычно внешними по отношению к программе событиями. После выполнения необходимых действий, обработчик прерываний, как правило, возвращает управление прерванной программе.
Используются для работы с периферийными устройствами. К примеру, требуется направить запрос на загрузку данных с диска в память, и пока идёт загрузка — производить какие-либо другие операции, либо остановить выполнение до получения прерывания, а после окончания загрузки перейти к обработчику прерывания, который начнёт обработку поступивших данных. С помощью прерываний также может быть реализована многозадачность, отладка программ, эмуляция определённых устройств и т.д.
Они бывают асинхронные, синхронные и программные.
В зависимости от источника возникновения сигнала прерывания делятся на:
1) асинхронные, или внешние — события, которые исходят от внешних аппаратных устройств (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание: устройства сообщают, что они требуют внимания со стороны ОС;
2) синхронные, или внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение стека, обращение к недопустимым адресам памяти или недопустимый код операции;
3) программные — инициируются исполнением специальной инструкции в коде программы. Программные прерывания, как правило, используются для обращения к функциям встроенного программного обеспечения, драйверов и операционной системы.
1) асинхронные, или внешние — события, которые исходят от внешних аппаратных устройств (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание: устройства сообщают, что они требуют внимания со стороны ОС;
2) синхронные, или внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение стека, обращение к недопустимым адресам памяти или недопустимый код операции;
3) программные — инициируются исполнением специальной инструкции в коде программы. Программные прерывания, как правило, используются для обращения к функциям встроенного программного обеспечения, драйверов и операционной системы.
Виды и типы связей между таблицами в реляционных базах данных
В сего существует три вида связей между таблицами баз данных:
• связь один к одному
Самая редко встречаемая связь между таблицами. Таблицы будут связаны один к одному тогда, когда одному объекту таблицы А соответствует один объект таблицы Б, и наоборот. Если вы видите такую связь, то смело моно объединить две таблицы в одну.
• связь один ко многим
Реализуется тогда, когда объекту А может принадлежать или же соответствовать несколько объектов Б, но объекту Б может соответствовать только один объект А.
• связь многие ко многим
Реализуется в том случае, когда нескольким объектам из таблицы А может соответствовать несколько объектов из таблицы Б, и в тоже время нескольким объектам из таблицы Б соответствует несколько объектов из таблицы А.
В сего существует три вида связей между таблицами баз данных:
• связь один к одному
Самая редко встречаемая связь между таблицами. Таблицы будут связаны один к одному тогда, когда одному объекту таблицы А соответствует один объект таблицы Б, и наоборот. Если вы видите такую связь, то смело моно объединить две таблицы в одну.
• связь один ко многим
Реализуется тогда, когда объекту А может принадлежать или же соответствовать несколько объектов Б, но объекту Б может соответствовать только один объект А.
• связь многие ко многим
Реализуется в том случае, когда нескольким объектам из таблицы А может соответствовать несколько объектов из таблицы Б, и в тоже время нескольким объектам из таблицы Б соответствует несколько объектов из таблицы А.
Реляционные и Нереляционные модели баз данных
Реляционные базы данных (RDBMS)
Основные характеристики:
Структура: Данные хранятся в таблицах, состоящих из строк и столбцов.
Связи: Таблицы могут быть связаны друг с другом с помощью внешних ключей.
Схема: Структура данных (схема) должна быть определена заранее.
Язык запросов: SQL (Structured Query Language) используется для управления и манипуляции данными.
Транзакции: Поддержка транзакций с соблюдением свойств ACID (атомарность, согласованность, изоляция, долговечность).
Примеры: PostgreSQL, MySQL, Oracle, Microsoft SQL Server.
Нереляционные базы данных (NoSQL)
Основные характеристики:
Структура: Данные могут быть неструктурированными или полуструктурированными.
Связи: Меньше акцента на жесткие связи, больше на производительность и масштабируемость.
Схема: Схема данных может быть динамической или вообще отсутствовать.
Язык запросов: Различные, в зависимости от типа NoSQL базы данных; многие используют API для запросов.
Транзакции: Многие NoSQL системы не гарантируют полное соблюдение свойств ACID, но могут поддерживать BASE (базовая доступность, мягкое состояние, окончательная согласованность).
Примеры: MongoDB (документо-ориентированная), Redis (ключ-значение), Cassandra (столбцовая), Neo4j (графовая).
Реляционные базы данных (RDBMS)
Реляционные базы данных используют реляционную модель, основанную на табличном представлении данных. В этой модели данные организованы в виде таблиц (называемых отношениями), состоящих из строк и столбцов.
Основные характеристики:
Структура: Данные хранятся в таблицах, состоящих из строк и столбцов.
Связи: Таблицы могут быть связаны друг с другом с помощью внешних ключей.
Схема: Структура данных (схема) должна быть определена заранее.
Язык запросов: SQL (Structured Query Language) используется для управления и манипуляции данными.
Транзакции: Поддержка транзакций с соблюдением свойств ACID (атомарность, согласованность, изоляция, долговечность).
Примеры: PostgreSQL, MySQL, Oracle, Microsoft SQL Server.
Нереляционные базы данных (NoSQL)
Нереляционные базы данных, или NoSQL, предлагают гибкую альтернативу реляционным базам данных. Они могут использовать различные модели данных, включая документо-ориентированные, ключ-значение, графовые и столбцовые хранилища.
Основные характеристики:
Структура: Данные могут быть неструктурированными или полуструктурированными.
Связи: Меньше акцента на жесткие связи, больше на производительность и масштабируемость.
Схема: Схема данных может быть динамической или вообще отсутствовать.
Язык запросов: Различные, в зависимости от типа NoSQL базы данных; многие используют API для запросов.
Транзакции: Многие NoSQL системы не гарантируют полное соблюдение свойств ACID, но могут поддерживать BASE (базовая доступность, мягкое состояние, окончательная согласованность).
Примеры: MongoDB (документо-ориентированная), Redis (ключ-значение), Cassandra (столбцовая), Neo4j (графовая).
Нормализация
Нормализация — процесс разделения данных по отдельным связанным таблицам. Нормализация устраняет избыточность данных и тем самым избежать нарушения целостности данных при их изменении.
Существуют 7 нормальных форм:
1NF (Первая нормальная форма) предполагает, что сохраняемые данные на пересечении строк и столбцов должны представлять скалярное значение, а таблицы не должны содержать повторяющихся строк.
2NF — каждый столбец, не являющийся ключом, должен зависеть от первичного ключа.
3NF — каждый столбец, не являющийся ключом, должен зависеть только от первичного ключа.
Нормальная форма Бойса-Кодда (BCNF) является немного более строгой версией третьей нормальной формы.
4NF применяется для устранения многозначных зависимостей.
5NF разделяет таблицы на более малые таблицы для устранения избыточности данных.
6NF — каждое ограничение в связях между таблицами должно зависеть только от ограничений ключа и ограничений домена, где домен представляет набор допустимых значений для столбца
Нормализация — процесс разделения данных по отдельным связанным таблицам. Нормализация устраняет избыточность данных и тем самым избежать нарушения целостности данных при их изменении.
Существуют 7 нормальных форм:
1NF (Первая нормальная форма) предполагает, что сохраняемые данные на пересечении строк и столбцов должны представлять скалярное значение, а таблицы не должны содержать повторяющихся строк.
2NF — каждый столбец, не являющийся ключом, должен зависеть от первичного ключа.
3NF — каждый столбец, не являющийся ключом, должен зависеть только от первичного ключа.
Нормальная форма Бойса-Кодда (BCNF) является немного более строгой версией третьей нормальной формы.
4NF применяется для устранения многозначных зависимостей.
5NF разделяет таблицы на более малые таблицы для устранения избыточности данных.
6NF — каждое ограничение в связях между таблицами должно зависеть только от ограничений ключа и ограничений домена, где домен представляет набор допустимых значений для столбца
Главная загрузочная запись (MBR)
Нулевой сектор физического жёсткого диска содержит так называемую главную загрузочную запись (MBR — Master Boot Record). При начальной загрузке компьютера с жёсткого диска
Начальный загрузчик, находящийся в
Нулевой сектор физического жёсткого диска содержит так называемую главную загрузочную запись (MBR — Master Boot Record). При начальной загрузке компьютера с жёсткого диска
BIOS
считывает этот сектор в оперативную память и передаёт управление содержащемуся в нём коду начального загрузчика.MBR
логически можно разделить на три области: код начального загрузчика, таблицу разделов и сигнатуру — слово со значением AA55h
, занимающее последние два байта MBR
. BIOS
проверяет сигнатуру, чтобы убедиться в корректности MBR
; если сигнатура не равна указанному значению, загрузка не выполнения и выдаётся сообщение об ошибке. Начальный загрузчик, находящийся в
MBR
, в общем случае определяет, какой из разделов диска является активным, загружает в память первый сектор этого раздела и передаёт ему управление.Таблица разделов
Таблица разделов — часть главной загрузочной записи (
Для создания на диске более
Адреса начала и конца раздела задаются в формате
Таблица разделов — часть главной загрузочной записи (
MBR
), состоящая из четырёх записей по 16 байт. Каждая запись описывает один из разделов жёсткого диска. Первая запись находится по смещению 1BEh
от начала сектора, содержащего MBR
, каждая последующая запись вплотную примыкает к предыдущей.Для создания на диске более
4
разделов используются расширенные разделы, позволяющие создать неограниченное количество логических дисков внутри себя.Адреса начала и конца раздела задаются в формате
CHS
, используемом традиционными функциями дискового сервиса BIOS
, из-за чего номер цилиндра разорван на две части: старшие два бита хранятся в двух старших битах слова, отведённого под номера цилиндра и сектора; за ними следуют шесть бит номера сектора, а младшие восемь бит номера цилиндра занимают весь младший байт слова. Если задать корректный адрес с помощью формата CHS
невозможно, все три байта полей начала и конца раздела должны содержать FFh
Что такое 3FA?
Трехфакторная аутентификация (3FA) — это тип аутентификации, который подтверждает личность пользователя с использованием трех различных факторов аутентификации:
⁃ Фактор знаний — что-то, что вы знаете (например, пароль, PIN-код, секретный вопрос)
⁃ Фактор владения — то, что у вас есть (например, смартфон с приложением для проверки подлинности, SIM-карту, ключ безопасности).
⁃ Фактор принадлежности — то, чем вы являетесь (например биометрические данные пользователя, например, сканирование отпечатков пальцев, распознавание лица, распознавание голоса).
Трехфакторная аутентификация требует от пользователя демонстрации всех трех факторов аутентификации для успешного завершения аутентификации и получения доступа к своей учетной записи.
Трехфакторная аутентификация (3FA) — это тип аутентификации, который подтверждает личность пользователя с использованием трех различных факторов аутентификации:
⁃ Фактор знаний — что-то, что вы знаете (например, пароль, PIN-код, секретный вопрос)
⁃ Фактор владения — то, что у вас есть (например, смартфон с приложением для проверки подлинности, SIM-карту, ключ безопасности).
⁃ Фактор принадлежности — то, чем вы являетесь (например биометрические данные пользователя, например, сканирование отпечатков пальцев, распознавание лица, распознавание голоса).
Трехфакторная аутентификация требует от пользователя демонстрации всех трех факторов аутентификации для успешного завершения аутентификации и получения доступа к своей учетной записи.
Что лучше для представления графа — матрица или список?
Лучше использовать матрицы, если:
⁃ число вершин графа невелико;
⁃ число рёбер графа относительно большое;
⁃ в алгоритме часто требуется проверять, соединены ли между собой две вершины;
⁃ в алгоритме используются фундаментальные понятия теории графов, например, связность графа.
Списки инцидентности целесообразнее использовать когда:
⁃ число вершин графа велико;
⁃ число рёбер графа относительно невелико;
⁃ граф формируется по какой-либо модели;
⁃ во время действия алгоритма часто требуется модифицировать граф;
⁃ в алгоритме часто используются локальные свойства вершин, например, например, окрестности вершин.
Таким образом, матрицы чаще используют в теоретических исследованиях графа, а списки — в прикладных целях.
Лучше использовать матрицы, если:
⁃ число вершин графа невелико;
⁃ число рёбер графа относительно большое;
⁃ в алгоритме часто требуется проверять, соединены ли между собой две вершины;
⁃ в алгоритме используются фундаментальные понятия теории графов, например, связность графа.
Списки инцидентности целесообразнее использовать когда:
⁃ число вершин графа велико;
⁃ число рёбер графа относительно невелико;
⁃ граф формируется по какой-либо модели;
⁃ во время действия алгоритма часто требуется модифицировать граф;
⁃ в алгоритме часто используются локальные свойства вершин, например, например, окрестности вершин.
Таким образом, матрицы чаще используют в теоретических исследованиях графа, а списки — в прикладных целях.
Числовое программное управление
Числовое программное управление - область техники, связанная с применением цифровых вычислительных устройств для управления производственными процессами.
Структурно в состав ЧПУ входят:
- пульт оператора, позволяющий вводить управляющую программу, задавать режимы работы; выполнить операцию вручную.
- дисплей — для визуального контроля режимов работы и редактируемой управляющей программы/данных.
- контроллер — компьютеризированное устройство, решающее задачи формирования траектории движения режущего инструмента, технологических команд управления устройствами автоматики станка, общим управлением, редактирования управляющих программ, диагностики и вспомогательных расчетов.
ПЗУ — память, предназначенная для долговременного хранения системных программ и констант; информация из ПЗУ может только считываться.
ОЗУ — память, предназначенная для временного хранения управляющих программ и системных программ, используемых в данный момент.
Числовое программное управление - область техники, связанная с применением цифровых вычислительных устройств для управления производственными процессами.
Структурно в состав ЧПУ входят:
- пульт оператора, позволяющий вводить управляющую программу, задавать режимы работы; выполнить операцию вручную.
- дисплей — для визуального контроля режимов работы и редактируемой управляющей программы/данных.
- контроллер — компьютеризированное устройство, решающее задачи формирования траектории движения режущего инструмента, технологических команд управления устройствами автоматики станка, общим управлением, редактирования управляющих программ, диагностики и вспомогательных расчетов.
ПЗУ — память, предназначенная для долговременного хранения системных программ и констант; информация из ПЗУ может только считываться.
ОЗУ — память, предназначенная для временного хранения управляющих программ и системных программ, используемых в данный момент.
Виртуализация — технология, которая позволяет создавать и использовать виртуальные версии ресурсов, таких как серверы, сети и рабочие станции. Это достигается с помощью ПО, известного как гипервизор.
Гипервизор — это слой ПО, который позволяет запускать несколько операционных систем на одном физическом сервере как отдельные виртуальные машины (ВМ). Гипервизоры бывают двух типов:
Гипервизор типа 1 (или "bare-metal"): Эти гипервизоры устанавливаются непосредственно на аппаратное обеспечение. Примеры включают VMware ESXi, Microsoft Hyper-V и Xen.
Гипервизор типа 2 (или "hosted"): Эти гипервизоры работают на операционной системе хоста, как обычное приложение. Примеры включают VMware Workstation и Oracle VirtualBox.
Гипервизор — это слой ПО, который позволяет запускать несколько операционных систем на одном физическом сервере как отдельные виртуальные машины (ВМ). Гипервизоры бывают двух типов:
Гипервизор типа 1 (или "bare-metal"): Эти гипервизоры устанавливаются непосредственно на аппаратное обеспечение. Примеры включают VMware ESXi, Microsoft Hyper-V и Xen.
Гипервизор типа 2 (или "hosted"): Эти гипервизоры работают на операционной системе хоста, как обычное приложение. Примеры включают VMware Workstation и Oracle VirtualBox.
Что такое хвостовая рекурсия?
Хвостовая рекурсия - это способ рекурсивной функции, в котором вызов функции является последней операцией в теле функции.
Имеет одно важное преимущество - она может быть оптимизирована компилятором или интерпретатором, чтобы избежать проблемы переполнения стека при вызове рекурсивной функции многократно. Вместо того чтобы сохранять каждое состояние рекурсивного вызова на стеке, компилятор может использовать только один кадр стека для всех вызовов хвостовой рекурсии.
Пример хвостовой рекурсии в языках программирования, поддерживающих оптимизацию хвостовой рекурсии, таких как Scheme или Clojure, может быть таким:
Хвостовая рекурсия - это способ рекурсивной функции, в котором вызов функции является последней операцией в теле функции.
Имеет одно важное преимущество - она может быть оптимизирована компилятором или интерпретатором, чтобы избежать проблемы переполнения стека при вызове рекурсивной функции многократно. Вместо того чтобы сохранять каждое состояние рекурсивного вызова на стеке, компилятор может использовать только один кадр стека для всех вызовов хвостовой рекурсии.
Пример хвостовой рекурсии в языках программирования, поддерживающих оптимизацию хвостовой рекурсии, таких как Scheme или Clojure, может быть таким:
(define (factorial-iter n acc)
(if (<= n 1)
acc
(factorial-iter (- n 1) (* acc n))))
(define (factorial n)
(factorial-iter n 1))