Блок — единица структурирования данных¶
Блок — это обобщённое название элементарной единицы структурирования, хранения или обработки данных, объединяющей набор однотипных компонентов в единое целое. Термин применяется в информатике, программировании, криптографии, строительстве, педагогике и других областях, где требуется дискретное представление информации или материала.
¶Блок в информатике и программировании
¶Блок как единица хранения данных
В информатике блок — минимальная единица физического хранения данных на носителе. На жёстких дисках размер блока (сектора) традиционно составляет 512 байт, на большинстве современных накопителей — 4096 байт. Файловые системы (NTFS, ext4, ZFS) распределяют пространство диска блоками фиксированного или переменного размера; размер кластера (блока выделения) определяет эффективность использования места.
¶Блок в языках программирования
В языках программирования блок — конструкция, объявляющая область видимости переменных и группирующая последовательность операторов. В C, C++, C#, Java и JavaScript блок ограничивается фигурными скобками {}. В Python аналогом служит отступ, в Lisp — выражение в скобках. Блоки обеспечивают лексическую область видимости, возможность вложенных объявлений и определяют время жизни объектов.
¶Блок управления (basic block)
В компиляторах и анализе программ блок управления (basic block) — непрерывная последовательность инструкций без переходов внутрь и без ветвлений внутри; вход и выход имеют ровно один. Блоки управления являются узлами графа потока управления и служат основой для оптимизирующего кодогенерирования, анализа достижимости и подсчёта покрытия тестами.
¶Блок памяти
В оперативной памяти блок — участок фиксированного размера, выделяемый планировщиком памяти. Операционные системы используют блочную организацию кэша (например, кэш-линии процессора размером 64 байта) и страничную организацию виртуальной памяти, где страница (обычно 4 КБ) выступает блоком трансляции адресов.
¶Блок в криптографии и блокчейне
В симметричном шифровании блочный шифр обрабатывает данные фиксированными блоками — 64 байта для DES, 128 байт для AES. Режибы работы (ECB, CBC, CTR, GCM) определяют, как блоки связаны между собой и как вводится инициализирующий вектор.
В технологии блокчейн блок — структура данных, содержащая набор транзакций, хеш предыдущего блока, метку времени и собственный хеш. Цепочка блоков обеспечивает неизменяемость записей. Первый блок биткоина — генезис-блок — был создан 3 января 2009 года Сатоши Накамото. Среднее время генерации блока в сети биткоина составляет около 10 минут.
¶Блок в строительстве
В строительстве блок — сборный элемент конструкций из бетона, керамзита, газобетона или иного материала. Крупноблочное домостроение предусматривает изготовление на заводе объёмных блок-секций (блок-секция — часть здания, включающая несущие конструкции, перекрытия, перегородки и отделку). В СССР крупнопанельное и крупноблочное домостроение получило массовое развитие в 1950–1980-х годах для решения жилищной проблемы.
В дорожном строительстве блок — элемент покрытия (тротуарная плитка, брусчатка), укладываемый в определённом порядке.
¶Блок в педагогике
В дидактике «блок» обозначает логически завершённую часть учебного материала, объединяющую несколько тем или разделов. Блочное обучение предполагает изучение содержания блоками с промежуточным контролем и закреплением. Методика была разработана в 1950-е годы и получила распространение в начальном и среднем образовании.
¶Блок в других областях
- Электротехника — блок питания, блок управления, блок фильтров: функционально законченное устройство, входящее в состав более сложной системы.
- Судостроение — блок-секция корпуса корабля, изготавливаемая на стапеле и монтируемая в доке.
- Типографика — текстовый блок — часть полосы, занятая набором; блок-шрифт — шрифт с непрерывными штрихами.
- Спортивная гимнастика — опорный прыжок через «коня-бревно» (трамплин-батут) иногда неформально называют «блоком».
¶См. также
- Блочное шифрование
- Блокчейн
- Крупнопанельное домостроение
- Basic block
¶Источники
- Кнут Д. Искусство программирования. Том 1: Основные алгоритмы.
- Таненбаум Э. Современные операционные системы.
- ГОСТ 13087-2018. Бетоны ячеистые.
- Накамото С. Bitcoin: A Peer-to-Peer Electronic Cash System. — 2008.
- Фролов В. В., Липов В. Н. Криптография.
