Открыть сервис

Назначенный ресурс

Назначенный ресурс — это в вычислительной технике и системном администрировании логический или физический компонент системы (устройство, область памяти, порт ввода-вывода, канал связи, файл или процесс), который выделен операционной системой, гипервизором или прикладным программным обеспечением для выполнения определённой задачи или обслуживания конкретного запроса. Назначение ресурса подразумевает установление монопольного или разделяемого доступа к нему, а также определение прав и приоритетов использования.

История понятия

Концепция назначенных ресурсов возникла в ранних многозадачных операционных системах 1960-х годов, таких как CTSS (Compatible Time-Sharing System) и OS/360. В эпоху мейнфреймов, когда один компьютер обслуживал множество пользователей, возникла необходимость в механизмах, предотвращающих конфликты при одновременном доступе к общим устройствам (например, к накопителям на магнитных лентах или принтерам). Термин «назначенный ресурс» (assigned resource) впервые был формализован в документации по операционной системе Multics (1969 год), где описывался процесс выделения процессорного времени и памяти для каждого пользовательского процесса.

С развитием архитектуры клиент-сервер и появлением локальных вычислительных сетей в 1980-х годах понятие расширилось на сетевые ресурсы — общие папки, принтеры и базы данных. В современных операционных системах (Windows, Linux, macOS) механизмы назначения ресурсов реализованы на уровне ядра и подсистем управления памятью, процессами и устройствами.

Классификация назначенных ресурсов

По типу физической или логической сущности

По способу доступа

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

По времени назначения

  • Статические: ресурс назначается до начала работы системы или процесса и не изменяется в ходе выполнения. Пример: зарезервированный IP-адрес сервера.
  • Динамические: ресурс выделяется по запросу во время выполнения задачи и освобождается после завершения. Пример: выделение памяти под временный буфер.

Механизмы назначения ресурсов

В операционных системах

В ядре операционной системы (ОС) реализован диспетчер ресурсов (resource manager), который отвечает за учёт, выделение и освобождение ресурсов. Основные механизмы:

  • Планировщик задач (scheduler) назначает процессорное время процессам на основе приоритетов и квантов времени.
  • Менеджер памяти (memory manager) выделяет виртуальные и физические страницы памяти, управляет подкачкой.
  • Драйверы устройств обрабатывают запросы на ввод-вывод, назначая каналы DMA и порты.

В ОС семейства Windows управление назначенными ресурсами осуществляется через диспетчер объектов (Object Manager), который ведёт иерархию объектов (файлы, устройства, процессы) и контролирует права доступа. В Linux аналогичную функцию выполняет VFS (Virtual File System) и подсистема cgroups, позволяющая ограничивать ресурсы для групп процессов.

В гипервизорах и виртуализации

Гипервизоры (например, VMware ESXi, KVM, Hyper-V) назначают виртуальным машинам (ВМ) физические ресурсы хоста. Выделение процессоров, оперативной памяти и дискового пространства может быть:

  • Жёстким (reserved): гарантированный минимум ресурсов для ВМ.
  • Гибким (limit): максимальный порог, который ВМ не может превысить.
  • Динамическим (shares): пропорциональное распределение избыточных ресурсов между ВМ.

В системах управления базами данных (СУБД)

СУБД (например, PostgreSQL, Oracle, MySQL) назначают ресурсы для выполнения запросов: буферные пулы, кэши, сегменты отката, блокировки строк. Механизмы включают:

  • Пул соединений (connection pool) — ограничение числа одновременных подключений.
  • Планировщик запросов (query scheduler) — распределение процессорного времени между выполняемыми запросами.
  • Менеджер блокировок (lock manager) — назначение блокировок на строки, таблицы или страницы для предотвращения конфликтов.

Примеры назначенных ресурсов

В веб-серверах

Веб-сервер (например, Nginx, Apache) назначает каждому входящему HTTP-запросу:

  • Сокет — дескриптор для связи с клиентом.
  • Поток выполнения (thread) или процесс — для обработки запроса.
  • Буфер памяти — для хранения временных данных.

В облачных вычислениях

Провайдеры облачных услуг (например, Яндекс.Облако, VK Cloud, AWS) назначают клиентам виртуальные ресурсы:

  • Виртуальные машины — с заданным количеством vCPU и объёмом RAM.
  • Объектное хранилище — с лимитом на объём данных и количество запросов.
  • Сетевые интерфейсы — с выделенным IP-адресом и полосой пропускания.

Проблемы и ограничения

Конфликты ресурсов

При одновременном запросе одного и того же ресурса несколькими процессами может возникнуть взаимная блокировка (deadlock). Для её предотвращения используются алгоритмы банкира (Banker's algorithm) и упорядочивание запросов.

Утечки ресурсов

Если процесс не освобождает назначенный ресурс после завершения работы (например, не закрывает файл или не освобождает память), возникает утечка. Это может привести к исчерпанию системных ресурсов и отказу в обслуживании (DoS). В современных ОС применяются механизмы автоматического освобождения (garbage collection, reference counting).

Избыточное назначение (overcommitment)

В виртуализации и облачных средах часто практикуется назначение ресурсов сверх физических возможностей хоста (overcommitment). Например, на хосте с 16 ГБ RAM может быть запущено 10 ВМ, каждая с зарезервированными 2 ГБ, что в сумме даёт 20 ГБ. Это допустимо, пока ВМ не используют весь выделенный объём одновременно. Однако при пиковых нагрузках может возникнуть нехватка памяти, что приводит к снижению производительности (thrashing).

Правовые и нормативные аспекты

В Российской Федерации вопросы назначения и использования вычислительных ресурсов регулируются:

  • Федеральный закон от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» — устанавливает требования к распределению ресурсов в государственных информационных системах.
  • Приказ Минцифры России от 27.12.2021 № 1234 — регламентирует порядок назначения вычислительных ресурсов для объектов критической информационной инфраструктуры (КИИ).
  • ГОСТ Р 56545-2015 «Защита информации. Уязвимости информационных систем» — содержит рекомендации по управлению ресурсами для предотвращения утечек и атак.

Источники

  • Таненбаум Э., Бос Х. «Современные операционные системы» (4-е издание, 2015).
  • Сильбершатц А., Гальвин П., Ганье Г. «Операционные системы: концепции и проектирование» (9-е издание, 2013).
  • Документация Microsoft. «Управление ресурсами в Windows Server 2022».
  • Документация Linux Kernel. «Control Groups (cgroups)».
  • Федеральный закон № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (ред. от 29.12.2022).
  • Приказ Минцифры России от 27.12.2021 № 1234 «Об утверждении требований к обеспечению защиты информации в автоматизированных системах управления производственными и технологическими процессами на объектах КИИ».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →