Computer Science
8.45K subscribers
1 photo
14 links
По всем вопросам: @altmainf

Уважаемый менеджер: @altaiface
Download Telegram
BIOS и UEFI: в чём различие

BIOS является микропрограммой, которая хранится на чипе материнской платы компьютера. При включении компьютера, прежде чем он начнёт загружать операционную систему из жесткого диска, загружается BIOS который выполняет тестирование оборудования компьютера.

UEFI, который пришел на замену традиционного BIOS. Данный интерфейс прошивки поддерживает загрузочные разделы размером более 2 ТБ, более четырёх разделов на одном жестком диске, загружается быстрее и имеет более современные функции и возможности.

При обычном использовании компьютера для пользователя не имеет значения BIOS на компьютере или UEFI. Оба интерфейса управляют низкоуровневыми функциями оборудования и запускаются во время старта компьютера, предназначены для корректной инициализации аппаратного обеспечения при включении системы. Обе имеют интерфейсы, с помощью которых можно изменить большое количество системных настроек.
Домены

Имена в DNS (Domain Name System) называются доменными именами или доменами. Они состоят из текстовых меток, разделенных точками. Метки могут использовать 26 букв от а до z, цифры от 0 до 9, а также дефис (­-).

Например: home-3.coding.exemple — это домен с тремя метками. 
 
Точки обозначают иерархические поддомены. Это домены, контролируемые более коротким родительским доменом: home-3.coding.exemple является поддоменом coding.exemple. Кроме того, coding.exemple является поддоменом однокомпонентного домена exemple. Домены нечувствительны к регистру: coding.exemple и CoDing.eXamplE идентичны. 

Домены из одной метки, такие как com, net, а также exemple, называются доменами высшего уровня (Top Level Domains, TLDs). Благодаря своему устройству DNS наиболее эффективен при ограниченном количестве TLD. По этой причине создание новых TLD представляет сложность.
SSD (Solid State Drive) - это устройство хранения данных, которое использует память NAND flash для сохранения информации.

Основные принципы работы SSD:

Накопление данных в ячейках памяти NAND:
• В основе SSD лежит NAND-флэш-память, которая состоит из ячеек памяти. Эти ячейки могут хранить информацию в виде электрических зарядов.
• В зависимости от типа NAND-памяти (например, SLC, MLC, TLC, QLC), каждая ячейка может хранить один или несколько бит информации.

Блоки, страницы и циклы:
• Данные в NAND-памяти организованы в блоках, которые делятся на страницы. Блоки являются минимальной единицей для операций записи и стирания.
• Запись происходит на уровне страниц, но стирание осуществляется на уровне блоков. Это приводит к тому, что перед записью новых данных необходимо стереть целый блок, что увеличивает износ ячеек памяти.

Контроллер:
• SSD оборудован контроллером, который управляет операциями чтения, записи и стирания данных.
• Контроллер также отвечает за управление износом ячеек памяти, используя технологии, такие как TRIM, wear leveling и garbage collection.

Wear Leveling:
• Износ ячеек памяти при многократных операциях записи может быть неравномерным. Технология wear leveling используется для равномерного распределения износа по всем блокам, увеличивая таким образом срок службы SSD.

TRIM:
• Операционные системы, поддерживающие технологию TRIM, сообщают SSD, какие блоки данных больше не используются. Это помогает контроллеру оптимизировать процессы стирания и записи, улучшая производительность.

"Сборка мусора" (Garbage Collection):

• После того как данные удаляются, остаются "мусорные" блоки, которые нужно стереть перед записью новых данных. Сборка мусора - это процесс, который осуществляет контроллер для оптимизации пространства и улучшения производительности.

В результате этих принципов SSD обеспечивает более быстрый доступ к данным, чем традиционные механические жесткие диски, и имеет преимущества в плане надежности, энергопотребления и компактности.
Особенности удаления файлов на SSD-носителях

В SSD-накопителе, как и в HDD, данные не удаляются сразу после того, как файл был стёрт из ОС. Даже если затереть файл нулями, физически данные ещё остаются, и если чипы флэш-памяти достать и считать на программаторе – можно найти 4 КБ фрагменты файлов. Полное стирание данных стоит ждать тогда, когда на диск будет записано число данных, равное количеству свободного места + объём резерва (примерно 4 ГБ для 60 ГБ SSD). Если файл попадёт на «изношенную» ячейку, контроллер ещё не скоро перезапишет её новыми данными.

Восстановление данных с SSD-накопителей – достаточно трудоёмкий и долгий процесс, по сравнению с портативными flash-накопителями. Процесс поиска правильного порядка, объединения результатов и выбора необходимого сборщика (алгоритм/программа, полностью эмулирующая работу контроллера SSD-накопителя) для создания образа диска – нелёгкая задача.

Связано это в первую очередь с увеличением числа микросхем в составе SSD накопителя, что во много раз увеличивает число возможных вариантов действий на каждом этапе восстановления данных, каждое из которых требует проверки и специализированных знаний. Также в силу того, что к SSD предъявляются значительно более жёсткие требования по всем характеристикам (надёжность, быстродействие и т. д.), чем к мобильным флэш-накопителям, технологии и методики работы с данными, применяемые в них, достаточно сложны, что требует индивидуального подхода к каждому решению и наличия специализированных инструментов и знаний.
3D-изображение и 3D-видео основаны на принципе создания иллюзии глубины в визуальных материалах. Вот как это работает:

3D-изображение:

Стереоскопия:
• Один из наиболее распространенных методов создания 3D-изображений.
• Использует два отдельных изображения, снятых с небольшим смещением, как видят их левый и правый глаза.
• При просмотре через специальные очки каждый глаз видит только одно изображение, создавая ощущение глубины.

Активные очки:
• Некоторые системы используют активные очки с жидкокристаллическими экранами, которые перекрывают каждый глаз в определенный момент, синхронизируясь с изображением на экране.

3D-видео:

Стереоскопическая запись:
• Использует две камеры для съемки видео с небольшим горизонтальным смещением, подобно стереоскопии в 3D-изображениях.
• Затем полученные видеопотоки воспроизводятся с использованием специальных методов, чтобы каждый глаз зрителя видел свой уникальный снимок.

Постобработка:
• На этапе постпроизводства 3D-эффект может быть добавлен с использованием компьютерной графики.
• Также возможно конвертировать обычное 2D-видео в 3D с помощью соответствующих программных инструментов.

Оба эти подхода направлены на создание разницы в зрительных восприятиях между левым и правым глазом, что приводит к ощущению глубины и объема при просмотре 3D-изображений и 3D-видео.
Существует множество программ для 3D моделирования, каждая из которых предназначена для определенных нужд и пользователей.

Несколько популярных инструментов:

Blender: Бесплатная и мощная программа для 3D моделирования и анимации. Подходит как для новичков, так и для профессионалов. Часто используется для создания анимации и визуализаций.

Autodesk Maya: Одна из самых популярных программ в киноиндустрии для создания 3D анимаций и моделей. Применяется в крупных студиях для создания высококачественных визуальных эффектов.

SketchUp: Простая в использовании программа, идеально подходящая для архитекторов и дизайнеров интерьеров. Используется для создания моделей зданий и помещений.

ZBrush: Специализируется на скульптурном моделировании. Это лучший выбор для создания высокодетализированных объектов, таких как персонажи для видеоигр.

Пример: В Blender можно создать все — от простых моделей до сложных анимаций, а в Maya обычно работают над спецэффектами для голливудских блокбастеров.
Что такое Web 3.0 и чем он отличается от Web 2.0?

Web 3.0 — это новый этап в развитии интернета, где акцент сделан на децентрализацию, блокчейн и контроль данных пользователями. В отличие от Web 2.0, где данные принадлежат крупным компаниям (Google, Facebook), в Web 3.0 пользователи могут управлять своими данными и транзакциями без посредников.

Основные отличия:

• Web 2.0: централизованные платформы, управление данными корпорациями.
• Web 3.0: децентрализованные сети, самоуправление и блокчейн.

Пример: В Web 2.0 для обмена деньгами используем PayPal, в Web 3.0 — криптовалюты без посредников.
Как Web 3.0 изменит цифровую экономику?

Web 3.0 революционизирует финансовые услуги через DeFi (децентрализованные финансы) и NFT. Вместо банковских учреждений для операций используются блокчейн и смарт-контракты.

Примеры:

• DeFi позволяет взять кредит или зарабатывать проценты без банка.
• NFT изменяют искусство и коллекционирование, предоставляя уникальные цифровые объекты.

Преимущества Web 3.0: снижение барьеров для стартапов и более доступные финансовые инструменты.
Как Web 3.0 изменит интернет-безопасность и приватность?

В Web 3.0 безопасность повышается благодаря блокчейну и самоуправляемым идентичностям (SSI). Пользователи могут контролировать, кто имеет доступ к их данным, и использовать криптографию для подтверждения своей личности.

Пример: Вместо отправки личных данных в банк для проверки личности, вы можете предоставить криптографическую подпись.
NFT и Web 3.0: как цифровые активы меняют концепцию собственности?

NFT — уникальные цифровые объекты, подтверждающие право собственности на вещи в сети. В Web 3.0 они открывают новые горизонты для коллекционеров и артистов.

Пример: Художник может продать цифровую картину как NFT, и покупатель получит уникальное подтверждение права собственности через блокчейн.
Что такое Decentralized Autonomous Organizations (DAOs) и как они работают в Web 3.0?

DAO — это децентрализованная организация, управляемая через блокчейн, где все участники могут голосовать за решения. Это исключает центральное управление и повышает прозрачность.

Пример: В DAO все участники стартапа могут голосовать по важным вопросам, а решения фиксируются автоматически через блокчейн.
Что такое микроконтроллеры и как они используются в современных устройствах?

Микроконтроллер (МК) — это компактное электронное устройство, которое включает процессор, память и периферийные устройства, такие как порты ввода/вывода, в одном корпусе. Эти устройства стали основой для многих технологий, от бытовой электроники до промышленных систем.

Пример использования: Микроконтроллеры используются в таких устройствах, как стиральные машины, умные часы, термостаты, автомобильные системы управления, а также в робототехнике.

Как работает: В основе микроконтроллеров лежит процессор, который выполняет инструкции программы, записанные в памяти. Периферийные устройства, такие как датчики или дисплеи, подключаются к микроконтроллеру через порты ввода/вывода (GPIO), что позволяет ему взаимодействовать с окружающим миром.

Совет: При проектировании устройства на основе микроконтроллера важно учитывать его тактовую частоту, количество входов/выходов и потребляемую мощность.
Как выбрать микроконтроллер для проекта: что важно учитывать?

Выбор микроконтроллера для проекта зависит от множества факторов, включая производительность, количество необходимых периферийных интерфейсов, потребление энергии и стоимость. Чтобы сделать правильный выбор, нужно учитывать следующие параметры:

1. Архитектура процессора: Самые распространенные — это ARM Cortex, AVR и PIC. Выбор зависит от нужной производительности и совместимости с другими компонентами.

2. Количество входов/выходов (GPIO): Это определяет, сколько внешних устройств вы сможете подключить.

3. Память: Микроконтроллеры могут иметь разное количество встроенной памяти — от нескольких килобайт до нескольких мегабайт. Важно учитывать, сколько памяти потребуется для вашего приложения.

4. Периферийные интерфейсы: Оцените необходимость в интерфейсах, таких как UART, SPI, I2C, PWM и другие.

5. Энергопотребление: Если проект требует работы от батареи, стоит выбирать энергоэффективные микроконтроллеры с функцией глубокого сна.

Пример: Для простых проектов, таких как управление светодиодами или небольшими датчиками, вполне подойдет Arduino UNO с микроконтроллером ATmega328P, тогда как для более сложных задач, таких как управление мотором или обработка сигналов с сенсоров, может быть выбран STM32.

Совет: Используйте моделирование перед выбором конкретного микроконтроллера, чтобы протестировать, подходит ли он для ваших нужд.
Основы программирования микроконтроллеров: как начать?

Программирование микроконтроллеров — это процесс написания инструкций для микропроцессора, который выполняет необходимые действия. Основные шаги включают выбор языка программирования, написание программы и её загрузку в микроконтроллер.

1. Языки программирования:
Самыми популярными являются C и C++, но также могут использоваться специализированные языки, такие как Arduino IDE, который использует упрощенный C++.

2. Среды разработки: Для программирования микроконтроллеров используют среды разработки, такие как Arduino IDE, PlatformIO и Keil для ARM Cortex.

3. Программирование и отладка:
Программы обычно загружаются через интерфейс USB или JTAG. Для отладки используются специальные инструменты, такие как In-circuit debugger.

Пример: Для создания проекта на базе Arduino можно использовать среду Arduino IDE, которая позволяет легко написать код для управления светодиодом или датчиком температуры, а затем загрузить программу в микроконтроллер через USB.

Совет: Начните с простых проектов и постепенно переходите к более сложным. Изучите документацию и примеры, чтобы быстро разобраться с основами программирования.
Использование микроконтроллеров в робототехнике

МК играют ключевую роль в робототехнике, обеспечивая управление сенсорами, моторами, сервоприводами и другими компонентами робота. С помощью микроконтроллеров можно создавать роботов, которые могут воспринимать окружающую среду и реагировать на изменения.

1. Датчики: Для восприятия информации роботы используют различные датчики — ультразвуковые, инфракрасные, гироскопы, акселерометры и камера.

2. Управление моторами: Микроконтроллеры используют PWM (широтно-импульсную модуляцию) для управления скоростью вращения двигателей.

3. Алгоритмы обработки данных: Микроконтроллеры могут обрабатывать данные с датчиков, используя алгоритмы, такие как PID-регуляция, для точного управления движением робота.

Пример: В проекте робота на платформе Arduino можно использовать ультразвуковой датчик для определения расстояния и управлять движением робота в зависимости от полученных данных.

Совет: При проектировании робота важно учитывать энергопотребление микроконтроллера и периферийных устройств, так как это влияет на автономность устройства.
Магнитный принцип записи информации

Данные на жестком диске записываются в виде последовательности двоичных битов (0 или 1). Каждый бит хранится как магнитный заряд (положительный или отрицательный) на магнитном слое пластины.

Изменение полярности отвечает значению «1», а отсутствие изменения — «0». Информация не обязательно хранятся последовательно. Например, данные одного файла могут быть записаны в разные места на разных пластинах.

Организация быстрого доступа к информации на диске является важным этапом хранения данных. Оперативный доступ обеспечивается, во-первых, за счет придания ему быстрого вращения и, во-вторых, путем перемещения магнитной головки чтения/записи по радиусу диска.
Запись и хранение данных на флешках основаны на технологии NAND-флеш-памяти, которая использует специальные ячейки для хранения электрических зарядов. Когда вы записываете данные, контроллер флешки преобразует их в электрические сигналы и записывает в эти ячейки по страницам памяти. Перед тем как записать новые данные, старые необходимо стереть, и это стирание происходит не по отдельным ячейкам, а целыми блоками, что обеспечивает эффективность, но требует особого управления.

Чтобы продлить срок службы устройства, контроллер равномерно распределяет операции записи и стирания по всем ячейкам, предотвращая износ отдельных участков памяти. При чтении данных контроллер считывает электрические заряды из ячеек и интерпретирует их как цифровую информацию — нули и единицы. Для удобства хранения и доступа к файлам на флешке используется файловая система, которая организует данные в виде файлов и папок. Благодаря такой архитектуре флешки обеспечивают компактное, быстрое и надежное хранение информации.
Существует несколько поколений карт памяти, которые различаются по физическому форм-фактору, емкости и скорости передачи данных. Некоторые из них:

Карты памяти CompactFlash (CF): CompactFlash является одним из первых форматов карт памяти. Он имеет больший размер в сравнении с более новыми форматами, такими как SD и microSD. CF карты были популярны в использовании в профессиональной фото и видео технике.

Карты памяти Secure Digital (SD): Карты памяти SD были разработаны в 1999 году. Начиная с первого поколения SD, они развивались и улучшались, и сейчас доступны в различных формах, таких как SD, miniSD и microSD. Карты памяти SD обычно используются в фотоаппаратах, видеокамерах, смартфонах и других устройствах.

Карты памяти Memory Stick: Memory Stick - это формат карт памяти, разработанный компанией Sony. Он широко использовался в продуктах Sony, таких как фотоаппараты, видеокамеры и портативные аудиоплееры. Позднее были разработаны более новые версии, такие как Memory Stick PRO и Memory Stick Micro (M2).

Карты памяти eXtreme Digital (xD): xD карты, разработанные совместными усилиями Olympus и Fujifilm, были популярны в некоторых фотоаппаратах и другой электронике. Однако их популярность была ограничена, и они не получили такой широкой поддержки, как другие форматы.

Карты памяти Secure Digital High Capacity (SDHC) и Secure Digital Extended Capacity (SDXC): SDHC и SDXC являются развитием формата SD и имеют более высокие емкость по сравнению с обычными SD-картами. SDHC карты могут хранить до 32 ГБ данных, в то время как SDXC карты могут вмещать до 2 ТБ данных (хотя к настоящему времени доступны карты с емкостью до 1 ТБ).
В программировании термин "NaN" означает "Not a Number" и используется для представления числовых значений, которые не являются числами. Обычно они возникают при выполнении математических операций, которые не имеют определенного числового значения.

Примеры ситуаций, когда значение становится NaN:

• Деление на ноль: попытка деления числа на ноль приведет к NaN, так как математически невозможно разделить число на ноль.
• Математические операции с бесконечностью: например, бесконечность плюс или минус бесконечность дают NaN, так как эти операции не имеют определенного числового значения.
• Когда происходит попытка выполнить математические операции с типами данных, которые не могут быть преобразованы в числа.

В различных языках программирования, NaN представлен как специальное значение, которое обычно можно проверить с помощью функций или операторов, чтобы обнаружить нечисловые значения в вычислениях и обработать их соответственно.
Модем (от англ. modulator-demodulator) - это устройство, используемое для преобразования сигнала данных, получаемого от компьютера или другого устройства, в форму, пригодную для передачи по линиям связи, а также для демодуляции сигнала, полученного с линии связи, обратно в исходные данные.

Принцип работы модема зависит от типа сети связи, с которой он взаимодействует. Рассмотрим простой пример работы модема в цифровой телефонной сети:

Компьютер или иное устройство, отправляющее данные, хранит информацию в цифровом виде. Эти данные представлены в виде цифр (0 и 1), называемых битами.

Модем получает эти цифровые данные и преобразует их в аналоговый сигнал. Процесс модуляции использует различные техники, такие как частотная модуляция (Frequency Modulation, FM) или фазовая модуляция (Phase Modulation, PM), чтобы представить каждый бит в виде сигнала с определенной формой, частотой или фазой.

Сформированный аналоговый сигнал поступает в телефонную линию, где он передается по сети.

На стороне получателя модем получает аналоговый сигнал от линии связи.

Полученный сигнал проходит процесс демодуляции, в результате которого извлекаются передаваемые данные. Демодуляция обратно преобразует аналоговый сигнал в цифровую форму, основанную на интерпретации различных параметров сигнала, таких как изменения частоты, фазы или амплитуды.

Полученные цифровые данные передаются в компьютер или другое устройство, которое может обработать их согласно заданной программе или заданию.

Принцип работы модема может быть аналогичным и для других типов сетей связи, таких как широкополосные сети или безпроводные сети. В каждом случае модем выполняет функции модуляции и демодуляции, чтобы обеспечить передачу данных между устройствами по соответствующей сети связи.