Ядро ОС включает набор настроек BIOS

Обновлено: 04.07.2024

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

23.2.1. Загрузчик BIOS

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

Рисунок 23.2. XML домена загрузчика BIOS

Таблица 23.2. Элементы загрузчика BIOS

Элемент Описание
Указывает тип операционной системы, которая будет загружаться на гостевой виртуальной машине. hvm указывает, что операционная система предназначена для работы на «голом железе» и требует полной виртуализации. linux относится к операционной системе, которая поддерживает гостевой ABI гипервизора KVM. Есть также два необязательных атрибута: arch указывает архитектуру процессора для виртуализации, а machine относится к типу машины. Для получения дополнительной информации см. документацию libvirt upstream.
Указывает следующее загрузочное устройство для рассмотрения с одним из следующих значений: fd, hd, cdrom или сеть. Элемент загрузки может повторяться несколько раз, чтобы настроить список приоритетов загрузочных устройств, которые будут пытаться по очереди. Несколько устройств одного типа сортируются в соответствии с их целями с сохранением порядка шин. После определения домена его XML-конфигурация, возвращаемая libvirt, перечисляет устройства в отсортированном порядке. После сортировки первое устройство помечается как загрузочное. Для получения дополнительной информации см. документацию libvirt upstream.
Определяет, следует ли включать интерактивное меню загрузки при запуске гостевой виртуальной машины. Атрибут enable может иметь значение yes или no . Если не указано, используется гипервизор по умолчанию.
определяет, как информация SMBIOS становится видимой на гостевой виртуальной машине. Должен быть указан атрибут режима: либо эмулировать (позволяет гипервизору генерировать все значения), либо хост (копирует все блоки 0 и 1, за исключением UUID, из значений SMBIOS физической машины хоста; вызов virConnectGetSysinfo можно использовать для посмотреть, какие значения копируются), или sysinfo (использует значения в элементе sysinfo). Если не указано, используется настройка гипервизора по умолчанию.
Этот элемент имеет атрибут useserial с возможными значениями yes или no . Атрибут включает или отключает последовательный графический адаптер, который позволяет пользователям просматривать сообщения BIOS на последовательном порту. Следовательно, необходимо определить последовательный порт. Атрибут rebootTimeout определяет, должна ли и через какое время гостевая виртуальная машина снова начать загрузку в случае сбоя загрузки (в соответствии с BIOS). Значение задается в миллисекундах с максимальным значением 65535; установка -1 отключает перезагрузку.

23.2.2. Прямая загрузка ядра

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

Рисунок 23.3. Прямая загрузка ядра

Таблица 23.3. Элементы прямой загрузки ядра

td>
Элемент Описание
То же, что описано в разделе загрузки BIOS.
Указывает полный путь к образу ядра в операционной системе физической машины хоста.
Указывает полный путь к (необязательному) образу виртуального диска в операционной системе физической машины хоста.
Указывает аргументы, которые должны быть переданы ядру (или программе установки) во время загрузки. Это часто используется для указания альтернативной основной консоли (например, последовательного порта), источника установочного носителя или файла кикстарта.

23.2.3. Загрузка контейнера

При загрузке домена с использованием виртуализации на основе контейнеров вместо ядра или загрузочного образа требуется указать путь к двоичному файлу инициализации с помощью элемента init. По умолчанию это будет запущено без аргументов. Чтобы указать начальный argv, используйте элемент initarg, повторенный необходимое количество раз. Элемент cmdline эквивалентен /proc/cmdline, но не влияет на .

Мне всегда было интересно, имеет ли BIOS (кроме проведения POST, запуска загрузчика и передачи управления ОС после нажатия кнопки питания) какую-либо цель или функцию во время работы операционной системы?

Взаимодействует ли операционная система с BIOS во время работы, и если да, то каким образом?

5 ответов 5

В современных ОС практически нет. Сообщается, что Линус Торвальдс сказал, что его задача состоит в том, чтобы «просто загрузить ОС и убраться оттуда к черту».

Старые операционные системы, такие как MS-DOS, полагались на BIOS для выполнения многих задач (например, доступа к диску) путем вызова прерываний.

В современных ОС загрузчик быстро переключается в 32- или 64-разрядный режим и выполняет ядро ​​ОС. Ядро может регистрировать свои собственные обработчики прерываний, которые могут вызываться приложениями пользовательского пространства. Подпрограммы ядра могут быть более переносимыми (поскольку они не зависят от конкретного оборудования), более гибкими (поставщики ОС могут изменять их по требованию, а не использовать то, что поставляется с оборудованием), более сложными (они могут выполнять произвольно сложные кода, а не того, что было запрограммировано в BIOS), и более безопасным (поскольку ОС может контролировать доступ к общим ресурсам и не давать программам затирать друг друга, реализуя свои собственные произвольные схемы разрешений).

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

Хотя использование BIOS во время работы ОС очень ограничено, его функции по-прежнему используются периферийно. Например, когда компьютер находится в спящем режиме, операционная система не работает, и в конечном итоге встроенное программное обеспечение должно установить оборудование в правильное состояние, чтобы приостановить и возобновить работу ОС. Это использование обычно ограничивается вызовами ACPI, а не вызовами полного интерфейса BIOS. ACPI — это расширение BIOS, которое «переносит управление питанием под контроль операционной системы (OSPM), в отличие от предыдущей центральной системы BIOS, которая полагалась на встроенное ПО для конкретной платформы для определения политики управления питанием и конфигурации».

Обратите внимание, что официально «BIOS» относится к конкретному интерфейсу прошивки, но этот термин обычно используется для обозначения прошивки компьютера в целом. Некоторые современные компьютеры (особенно Apple) заменили BIOS (sensu strictu) на UEFI, что, конечно же, и призвано реализовать эти функции.

Дополнительную информацию о том, как со временем уменьшилась роль BIOS, см. в Википедии.

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

Базовая система ввода-вывода (BIOS):
она предоставляет набор инструкций и отвечает за загрузку компьютера. BIOS выполняет все необходимые тесты во время запуска. Эти тесты известны под общим названием Power On Self Test (POST). Компьютер содержит такие аппаратные средства, как клавиатура, монитор, дисководы и т. д., для работы которых требуется взаимодействие с операционной системой. BIOS предоставляет драйверы для основного оборудования, такого как клавиатура и монитор, мышь и т. д. Операционная система предоставляет аппаратное обеспечение для принтера, модема и т. д. Драйверы для некоторого оборудования могут быть недоступны в операционной системе, поэтому они должны быть явно установлены пользователем. .

Самопроверка при включении питания (POST).
POST состоит из серии диагностических тестов, которые запускаются автоматически, когда пользователь включает компьютер. Фактический тест может отличаться в зависимости от конфигурации BIOS. Однако обычный тест включает тестирование оперативной памяти, клавиатуры и дисководов. Если эти тесты пройдены успешно, компьютер загружается сам и загружает операционную систему, но если эти тесты не пройдены, компьютер сообщает об ошибках с помощью серии звуковых сигналов, чтобы привлечь внимание оператора, и, наконец, на мониторе отображается сообщение об ошибке.


Расположение BIOS:
BIOS обычно размещается в микросхеме, известной как постоянное запоминающее устройство (ПЗУ), которая поставляется вместе с компьютером. Это гарантирует, что BIOS всегда будет доступен, даже если жесткий диск отформатирован или заменен. Однако во многих случаях содержимое ПЗУ переносится в ОЗУ при запуске системы. Это связано с тем, что ОЗУ обеспечивает более быстрый доступ по сравнению с ПЗУ. Копирование содержимого ПЗУ в ОЗУ называется теневым копированием.

Дополнительное ОЗУ Metal Oxide Semiconductor:
Поскольку BIOS будет связывать аппаратное обеспечение с операционной системой, потребуются конфигурации аппаратных компонентов, таких как жесткий диск, монитор и т. д. Эта информация постоянно сохраняется в известном месте. в качестве дополнительной памяти с произвольным доступом на основе оксидов металлов и полупроводников (CMOS RAM).Питание на CMOS подается от небольшой батарейки, поэтому ее содержимое не потеряется после выключения ПК. Поэтому на плате есть батарея и небольшая оперативная память, которая постоянно хранит информацию. CMOS требует очень мало энергии, поэтому батарея компьютера не сильно нагружается. Даже в этом случае аккумулятор заряжается каждый раз при включении компьютера.

При установке операционной системы выбирайте только файлы, связанные с тестом, чтобы многие службы не устанавливались, это уменьшит потребление ресурсов самой операционной системой. В соответствии со следующими методами установки операционной системы: 1. Был выбран режим установки программного обеспечения «Настроить сейчас». 2. Далее, в столбце «Базовая система», мы выбираем следующий установочный пакет: «Базовая», «Библиотеки совместимости», «Платформа Java», «Производительность больших систем», «Инструменты повышения производительности», «Поддержка Perl». Столбец «Разработка», мы выбираем следующий установочный пакет «Инструменты разработки». Это весь установочный пакет.

Установите для этой переменной среды значение "да", чтобы разрешить приложениям использовать большие страницы.

Установка этой переменной среды необходима, чтобы приложения могли использовать большие страницы.

"cpupower Frequency-Set" предоставляет упрощенный механизм для настройки частоты процессора, когда в ОС включено масштабирование частоты процессора. Подробности смотрите на справочной странице cpupower-frequency-set. Вот краткое описание опций, используемых в конфигурационном файле. По умолчанию настройки применяются ко всем логическим процессорам в системе. Частоты можно передавать в Гц, кГц (по умолчанию), МГц, ГГц или ТГц, добавляя после значения имя желаемой единицы измерения без пробела. Доступные частоты и регуляторы можно определить с помощью «cpupower Frequency-Info».

Настройка файловой системы Tmpfs

Tmpfs — это файловая система, в которой все файлы хранятся в виртуальной памяти. Файловая система tmpfs будет использовать подкачку, если нехватка памяти потребует реальной памяти для приложений. Это может очень негативно сказаться на нагрузке ввода-вывода и производительности системы

Настройка процесса

Каждому процессу назначается период времени, известный как его квант времени, то есть время, отведенное для выполнения процесса. Увеличение кванта времени процесса может положительно сказаться на вычисляемой задаче чувствительности. Связанными параметрами ядра являются sched_wakeup_granularity_ns, sched_min_granularity_ns и т. д.

Огромные прозрачные страницы

Прозрачные огромные страницы увеличивают размер страницы памяти с 4 килобайт до 2 мегабайт. Прозрачные огромные страницы обеспечивают значительное повышение производительности в системах с высокой конкуренцией за ресурсы и большими нагрузками на память. Если использование памяти слишком велико или память плохо фрагментирована, что препятствует выделению огромных страниц, ядро ​​вместо этого назначит меньшие страницы размером 4 КБ.

В RedHat EL6 и более поздних версиях прозрачные огромные страницы используются по умолчанию, если для параметра /sys/kernel/mm/redhat_transparent_hugepage/enabled установлено значение «всегда». Значение по умолчанию — всегда.

В SUSE SLES11 и более поздних версиях прозрачные огромные страницы используются по умолчанию, если для параметра /sys/kernel/mm/transparent_hugepage/enabled установлено значение «всегда». Значение по умолчанию — всегда.

Параметры загрузки ядра

nohz_full: этот параметр ядра устанавливает адаптивный режим тиков (NOHZ_FULL) для указанных процессоров. Поскольку количество прерываний уменьшено до одного в секунду, этим могут воспользоваться приложения, чувствительные к задержкам.

Прошивка/BIOS/Настройки микрокода

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

Предварительная выборка соседнего сектора:

Технология Intel Turbo Boost:

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

Технология Intel Hyper-Threading:

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

Выбор политики электропитания (по умолчанию = Пользовательская)

Значения для этого параметра BIOS могут быть следующими: Efficiency: максимальная эффективность энергопотребления сервера, Performance: максимальная производительность сервера, Custom: позволяет пользователю индивидуально настраивать параметры, связанные с питанием и производительностью.

Режим фиксированной памяти (по умолчанию = включено)

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

Контроллер управления основной платой позволяет пользователю регулировать скорость вращения вентилятора вручную. Если сервер находится в стрессовой среде, процессор имеет высокую температуру, вы можете настроить скорость вращения вентилятора на 100%.

Энергосбережение памяти

Выбирает режим энергосбережения памяти. В зависимости от выбранного режима, режим Power Down Clock, CKE и IBT инициализируются соответствующим образом. Отключите эту функцию, чтобы память оставалась в режиме высокой производительности.

Core C3, Core C6 можно отключить для чувствительных к задержке приложений, чтобы свести к минимуму задержку, но отключение Core C-состояний также может значительно ограничить количество турбо, когда активно небольшое количество ядер, рекомендуется C3 и C6. для включения в тесте ЦП SPEC.

Если виртуализация не используется, для этого параметра следует установить значение «Отключено». Это может привести к небольшому повышению производительности и экономии энергии.

Скраб "Патруль воспоминаний"

Этот параметр BIOS позволяет включать и отключать функцию периодического патрулирования памяти. Очиститель памяти Periodic Patrol Scrubber исправляет программные ошибки памяти, чтобы снизить риск возникновения многобитовых и неисправимых ошибок на протяжении всего времени работы системы.

IMC (встроенный контроллер памяти) Чередование

Этот параметр BIOS управляет чередованием встроенных контроллеров памяти (IMC). Память может чередоваться по сокетам, контроллерам памяти, каналам DDR и рангам. Память чередуется для повышения производительности и распределения тепла.

Если для IMC Interleaving установлено значение 2-way, адреса будут чередоваться между двумя IMC.

Если для параметра IMC Interleaving установлено значение 1-way, чередования не будет.

Если для IMC Interleaving установлено значение auto, это зависит от настройки SNC (субкластеризация NUMA). быть двухсторонним чередованием.

Если SNC отключен, для чередования IMC следует установить двустороннее. Если SNC включен, IMC Interleaving должен быть установлен на 1-way.

Подкластер NUMA (SNC)

SNC разбивает кэш последнего уровня (LLC) на непересекающиеся кластеры в зависимости от диапазона адресов, при этом каждый кластер привязывается к подмножеству контроллеров памяти в системе. SNC улучшает среднюю задержку для LLC и памяти. SNC — это замена функции кластера на кристалле (COD), которая использовалась в предыдущих семействах процессоров. В системе с несколькими сокетами все кластеры SNC сопоставляются с уникальными доменами NUMA (неоднородный доступ к памяти).

SNC AUTO поддерживает 1-кластер или 2-кластер в зависимости от чередования IMC. SNC и IMC с чередованием AUTO будут поддерживать 1-кластерное 2-стороннее чередование IMC.

SNC Enable поддерживает Full SNC (2 кластера) и одностороннее чередование IMC. Более эффективно использует ресурсы LLC и снижает задержку благодаря близости между ядром и IMC. Это может обеспечить повышение производительности в операционных системах с поддержкой NUMA.

Отключение SNC поддерживает 1-кластерное и 2-стороннее чередование IMC, LLC рассматривается как один кластер.

Распределение сроков ООО

В некоторых схемах кэширования ЦП Intel вытеснение кэша среднего уровня (MLC) заполняется кэшем последнего уровня (LLC). Если линия вытесняется из MLC в LLC, ядро ​​может пометить вытесненные линии MLC как «мертвые». Это означает, что строки вряд ли будут прочитаны снова. Этот параметр позволяет отбрасывать мертвые строки и никогда не заполнять LLC, если этот параметр отключен.

Значения для этого параметра BIOS могут быть следующими:

Отключено: отключение этого параметра может сэкономить место в LLC, так как никогда не заполняет LLC крайние сроки MLC.

Включено: оппортунистически заполнять крайние сроки MLC в LLC, если есть место.

Предварительная выборка кэша последнего уровня (LLC)

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

Значения для этого параметра BIOS могут быть следующими:

Disabled: отключает предварительную выборку LLC. Другие основные средства предварительной выборки не затрагиваются.

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

Предварительная выборка расширенной таблицы прогнозов (XPT)

Средство предварительной выборки расширенной таблицы прогнозирования (XPT) существует поверх других средств предварительной выборки, которые могут выполнять предварительную выборку данных в DCU, MLC и LLC. Модуль предварительной выборки XPT выдает спекулятивный запрос на чтение DRAM параллельно с поиском LLC. Эта предварительная выборка обходит LLC, уменьшая задержку. В некоторых случаях отключение этого параметра может повысить производительность. Как правило, включение этого параметра обеспечивает более высокую производительность.

Значения для этого параметра BIOS могут быть следующими:

Включено: разрешает запрос на чтение, отправленный в LLC, для спекулятивной выдачи копии чтения в DRAM.

Отключено: запросы чтения к LLC не могут отправлять спекулятивное чтение в DRAM.

Читайте также: