Ядро операционной системы

Достоинства и недостатки

Преимущества ОС, построенной на микроядре, по сравнению с ОС, построенной на монолитном ядре:

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

Недостатки ОС, построенной на микроядре, по сравнению с ОС, построенной на монолитном ядре:

более низкая производительность (из-за накладных расходов на IPC).

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

Уровни ядра

См. также: Теория оболочечного строения ядра

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

Расположение энергетических уровней ядра в первом приближении:

D=ae−bE∗{\displaystyle D=ae^{-b{\sqrt {E^{*}}}}}, где:

D{\displaystyle D} — среднее расстояние между уровнями,

E∗{\displaystyle E^{*}} — энергия возбуждения ядра,

a{\displaystyle a} и b{\displaystyle b} — коэффициенты, постоянные для данного ядра:

a{\displaystyle a} — среднее расстояние между первыми возбуждёнными уровнями (для лёгких ядер примерно 1 МэВ, для тяжёлых — 0,1 МэВ)

b{\displaystyle b} — константа, определяющая скорость сгущения уровней при увеличении энергии возбуждения (для лёгких ядер примерно 2 МэВ−1/2, для тяжёлых — 4 МэВ−1/2).

С ростом энергии возбуждения уровни сближаются быстрее у тяжёлых ядер, также плотность уровней зависит от чётности числа нейтронов в ядре. Для ядер с чётными (особенно магическими) числами нейтронов плотность уровней меньше, чем для ядер с нечётными, при равных энергиях возбуждения первый возбуждённый уровень в ядре с чётным числом нейтронов расположен выше, чем в ядре с нечётным.

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

Что такое WSL

Первое поколение Windows Subsystem for Linux было анонсировано в апреле 2016 г. и вошло в состав финальной сборки Windows 10 в августе 2016 г. Это своего рода эмулятор для запуска бинарных файлов Linux непосредственно в среде Windows (WSL есть в Windows 10 и Windows Server 2019), релиз которого способствовал появлению в дальнейшем дистрибутивов Ubuntu, Fedora и Suse в фирменном магазине приложений Microsoft Store. После установки, к примеру, Ubuntu пользователь получает возможность запускать скрипты Bash, пользоваться инструментами командной строки Linux, такими как awk и grep, а также использовать Python Ruby и Git непосредственно внутри Windows. В марте 2018 г. список доступных дистрибутивов пополнил Kali Linux.

Windows Subsystem for Linux

Появлению WSL 2.0 предшествовал выход из строя оригинальной WSL 1 – в марте 2019 г. Microsoft выпустила кумулятивное обновление KB4489868, установка которого приводила к серьезным сбоям в работе Windows Subsystem for Linux. В частности, после его установки пользователи сталкивались с ошибкой остановки при попытке запуска клиента Secure Shell (SSH) из-под WSL с переадресацией в командной строке (ssh –A).

Архитектура ядра Linux

На нынешний день Linux — монолитное ядро с поддержкой занимаемых модулей. То, что архитектура Linux не является микроядерной, потребовало обширнейшие прения между Линусом Торвальдсом и Эндрю Таненбаумом в конференции comp.os.minix (англ.) в 1992 г. Ядро Linux удерживает многозадачность, виртуальную память, динамические библиотеки, зарезервированную загрузку, производительную систему управления памятью и почти многие сетевые протоколы. В отличие от обычных монолитных ядер, драйверы механизмов легко собираются в виде модулей и загружаются или разгружаются во время работы системы. Драйверы устройств и продолжения ядра обычно запускаются в 0-кольце защиты, с целым доступом к оборудованию.

В Unix были впервые выполнены так называемые многозадачность и многопоточность, виртуальная память и вероятно что-то еще. Unix имеет простое монолитное ядро, в ней практически все представляется в виде файлов. Unix круче Windows, впрочем бы потому, что ее ядро являлось первой практической осуществлением идей и открытий в области создания операционных систем. Отдельные умы вовремя спохватились и создали специальные стандарты, обеспечивающие сопоставимость систем (т.е. программа, написанная для одной Unix-подобной системы, обязана работать и в другой). Стандарты назвали POSIX. В 80-х годах в мощь ряда причин Unix-системы начали множится и модифицироваться. она написана на языке C и это делает ее переносимой с одной аппаратной перроны на другую.

Причины ядра Windows 7?

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

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

Другие исправления в ошибке Windows 7 включают:

  1. Запуск чистой загрузки с помощью справочной системы Microsoft
  2. Ручное обновление Windows Update
  3. Перейти к началу страницы
  4. Загрузка и установка автоматического патча Microsoft

Монолитное ядро[править]

Основная статья: Монолитное ядро

Монолитное ядро предоставляет богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве.

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

Достоинства: Скорость работы, упрощённая разработка модулей.

Недостатки: Поскольку всё ядро работает в одном адресном пространстве, сбой в одном из компонентов может нарушить работоспособность всей системы.

В этом случае компоненты операционной системы являются не самостоятельными модулями, а составными частями одной большой программы. Такая структура операционной системы называется монолитным ядром (monolithic kernel). Монолитное ядро представляет собой набор процедур, каждая из которых может вызвать каждую. Все процедуры работают в привилегированном режиме.
Таким образом, монолитное ядро – это такая схема операционной системы, при которой все ее компоненты являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путем непосредственного вызова процедур. Для монолитной операционной системы ядро совпадает со всей системой.
Во многих операционных системах с монолитным ядром сборка ядра, то есть его компиляция, осуществляется отдельно для каждого компьютера, на который устанавливается операционная система. При этом можно выбрать список оборудования и программных протоколов, поддержка которых будет включена в ядро. Так как ядро является единой программой, перекомпиляция – это единственный способ добавить в него новые компоненты или исключить неиспользуемые. Следует отметить, что присутствие в ядре лишних компонентов крайне нежелательно, так как ядро всегда полностью располагается в оперативной памяти. Кроме того, исключение ненужных компонентов повышает надежность операционной системы в целом.
Монолитное ядро – старейший способ организации операционных систем. Примером систем с монолитным ядром является большинство Unix-систем.
В монолитном ядре выделяются вкрапления сервисных процедур, соответствующих системным вызовам. Сервисные процедуры выполняются в привилегированном режиме, тогда как пользовательские программы – в непривилегированном. Для перехода с одного уровня привилегий на другой иногда может использоваться главная сервисная программа, определяющая, какой именно системный вызов был сделан, корректность входных данных для этого вызова и передающая управление соответствующей сервисной процедуре с переходом в привилегированный режим работы.
Если в ОС с таким ядром вылетит какой-либо процесс, то он может быть автоматически перезапущен, а с цельным ядром в случае вылетания процесса, входящего в состав ядра, надо перезапускать всё ядро. Многие владельцы телефонов с Symbian OS, основанной на микроядре, сталкивались с этим: слетает какой-нибудь процесс (на экране появляется сообщение «Прилож. закр.: имя»), а затем этот процесс автоматически перезапускается как ни в чём не бывало.
В частности, монолитное ядро более производительно, чем микроядро, поскольку состоит не из множества разрозненных процессов, «общающихся» между собой, а работает как один большой процесс.
Монолитные же ядра используются еще и в Linux. Они оптимизированы для более высокой производительности с минимальными контекстными переключениями. Такая архитектура упрощает поддержку кода ядра для разработчиков, но требует перекомпиляции ядра при добавлении новых устройств. Следует отметить, что описанные здесь различия являются «классическими», на практике монолитные ядра могут поддерживать модульность (что зачастую и происходит), а микроядра могут требовать перекомпиляции.

Примеры: Традиционные ядра UNIX, такие как BSD и Linux; ядро MS-DOS.

Устройство компонентов ядра ОС Linux

Ядро состоит из:

  1. Файловая система
  2. Подсистема управления процессами и памятью
  3. Подсистема ввода / вывода

Файловая подсистема

Файловая подсистема обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях, а также к периферийным устройствам. Одни и те же функции open(), read(), write() могут использоваться как при чтении или записи данных на диск, так и при выводе текста на принтер или в терминал.
Файловая подсистема контролирует права доступа к файлу, выполняет операции размещения и удаления файла. Поскольку большинство прикладных функций выполняется через интерфейс файловой системы, права доступа к файлам определяют привилегии пользователя в системе.
Файловая подсистема обеспечивает маршрутизацию запросов периферийным устройствам, соответствующим модулям подсистемы ввода/вывода.

Подсистема управления запросами

Запущенная на выполнение программа порождает в системе один или более процессов ( задач ). Подсистема управления процессами контролирует:

  1. Создание и удаление процессов
  2. Распределение системных ресурсов ( памяти, вычислительных ресурсов ) между процессами
  3. Синхронизацию процессов
  4. Межпроцессорное взаимодействие

Известно, что в общем случае число активных процессоров превышает число процессоров компьютера, но в каждый конкретный момент времени на каждом процессоре может выполняться только один процесс. Операционная система управляет доступом процессоров к вычислительным ресурсам, создавая ощущение одновременного выполнения нескольких задач.
Специальная задача ядра, называемая распорядителем или планировщиком процессов, разрешает конфликты между процессами в конкуренции за системные ресурсы ( процессор, память, периферийные устройства ). Планировщик запускает процесс на выполнение, следя за тем, чтобы процесс монопольно не захватил разделяемые системные ресурсы. Процесс освобождает процессор, ожидая длительной операции ввода/вывода, или по прошествии периода времени. В этом случае планировщик выбирает следующий процесс с наивысшим приоритетом и запускает его на выполнение.
Модуль управления памятью обеспечивает размещение оперативной памяти для прикладных задач. Оперативная память является дорогостоящим ресурсом, и, как правило, она редко «простаивает». В случае, если для всех процессов недостаточно памяти, ядро перемещает части процесса или несколько процессов во вторичную память ( как правило, для этого выделена некоторая область жесткого диска ), освобождая ресурсы для действующих процессов. Все современные системы реализуют виртуальную память: процесс выполняется в собственном логическом адресном пространстве, которое может значительно превышать доступную физическую память. Управление виртуальной памятью процесса также входит в перечень задач модуля управления памятью.
Модуль межпроцессного взаимодействия.отвечает за уведомление процессов о событиях с помощью сигналов и обеспечивает возможность передачи данных между различными процессами.

Подсистема ввода/вывода

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

Модульное ядро[править]

Основная статья: Модульное ядро

Модульное ядро — современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем компьютеров.

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

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

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

Модульные ядра предоставляют особый программный интерфейс (API) для связывания модулей с ядром, для обеспечения динамической подгрузки и выгрузки модулей. В свою очередь, не любая программа может быть сделана модулем ядра: на модули ядра накладываются определённые ограничения в части используемых функций (например, они не могут пользоваться функциями стандартной библиотеки С/С++ и должны использовать специальные аналоги, являющиеся функциями API ядра). Кроме того, модули ядра обязаны экспортировать определённые функции, нужные ядру для правильного подключения и распознавания модуля, для его корректной инициализации при загрузке и корректного завершения при выгрузке, для регистрации модуля в таблице модулей ядра и для обращения из ядра к сервисам, предоставляемым модулем.

Не все части ядра могут быть сделаны модулями. Некоторые части ядра всегда обязаны присутствовать в оперативной памяти и должны быть жёстко «вшиты» в ядро. Также не все модули допускают динамическую подгрузку (без перезагрузки ОС). Степень модульности ядер (количество и разнообразие кода, которое может быть вынесено в отдельные модули ядра и допускает динамическую подгрузку) различна в различных архитектурах модульных ядер. Ядра Linux в настоящее время имеют более модульную архитектуру, чем ядра *BSD (FreeBSD, NetBSD, OpenBSD).

Общей тенденцией развития современных модульных архитектур является всё большая модуларизация кода (повышение степени модульности ядер), улучшение механизмов динамической подгрузки и выгрузки, уменьшение или устранение необходимости в ручной подгрузке модулей или в переконфигурации ядра при изменениях аппаратуры путём введения тех или иных механизмов автоматического определения оборудования и автоматической подгрузки нужных модулей, универсализация кода ядра и введение в ядро абстрактных механизмов, предназначенных для совместного использования многими модулями (примером может служить VFS — «виртуальная файловая система», совместно используемая многими модулями файловых систем в ядре Linux).
Курсивное начертание

Еще одно ядро?

А почему нет? Можно пойти двумя путями. Первый – пропатчить ядро Windows на диске. Делается это элементарно – CreateFile/ReadFile/WriteFile. После любой модификации системных файлов необходимо пересчитать их контрольную сумму, иначе Windows просто откажется их загружать.

Не скрою, все это сложно и палевно, поскольку делать дело придется налету, в недрах операционной системы, где за каждым углом тебя поджидает злой авер. Поэтому править ядро – способ легкий, но ненадежный. Более подробно об этом способе можно почитать в статье К.Касперски «Хак ядра NT»), которая все еще не потеряла своей актуальности.

Экстремалам я могу предложить такой способ: собираем свое ядро из сорцов WRK (Windows Research Kernel), правим его при этом, как хотим, а затем – заменяем им ядро операционной системы и начинаем властвовать. Предвижу бурю недовольства и шквал вопросов, дескать, что это невозможно, что существует и SFC, и ядро весит несколько мегабайт… Да, не спорю, способ трудоемок, но вполне реализуем. И главное – может принести массу дивидендов. Каких? Если у тебя в руках будет свое полностью контролируемое ядро, то дивиденды ты будешь придумывать сам.

Да и потом, простые эксперименты с ядром Windows в стиле «а-ля Linux» будут очень полезны для начинающего системного кодера, пусть даже эти эксперименты не будут направлены на обеспечение безопасности системы. Если ты из числа этих самых экстремалов – сорцы WRK ты сможешь найти на диске. Для начала собери их у себя на машине, а затем тщательно протести на виртуалке, перед тем, как рисковать установкой этого ядра на рабочую машину.

От синего экрана смерти до исполнения желаний

При переполнении динамической памяти обычно затираются метаданные других выделенных блоков, что в основном ведет к нескольким BugCheck’ам (или, попросту, BSOD’ам): BAD_POOL_HEADER. Вызывается в коде ExFreePoolWithTag, если PreviousSize следующего чанка не равен BlockSize текущего чанка.

Arguments:
Arg1: 00000020, a pool block header size is corrupt.
Arg2: 812c1000, The pool entry we were looking for within the page. <—- освобождаемый чанк
Arg3: 812c1fc8, The next pool entry. <—- следующий чанк, заголовок которого мы затерли
Arg4: 0bf90000, (reserved)

DRIVER_CORRUPTED_EXPOOL.Вызывается в коде ExFreePoolWithTag, если при unlink’e произошло исключение Page Fault.

Arguments:
Arg1: 43434343, memory referenced <—— наше фейковое значение Blink’a
Arg2: 00000002, IRQL
Arg3: 00000001, value 0 = read operation, 1 = write operation
Arg4: 80544d06, address which referenced memory

BAD_POOL_CALLER. Вызывается в коде ExFreePoolWithTag, если чанк, который пытаются освободить, уже является освобожденным. Рассмотрим подробнее заголовок (метаданные) чанка:

Значения PreviousSize, BlockSize вычисляются следующим образом:

Если значение PoolType равно нулю, то такой чанк является освобожденным, и после заголовка идет структура nt!_LIST_ENTRY.

История

Микроядра типа ядра ОС MINIX и GNU Hurd развиваются гораздо медленнее, чем Linux и ядро систем семейства BSD. По словам создателя MINIX 3, Эндрю Таненбаума, он пытается «построить сверхнадёжную систему, которая может использоваться в том числе на серверах, которым необходимы годы безотказной работы».

Классическим примером микроядерной ОС является Symbian OS. Это пример распространенной и отработанной микроядерной (a начиная c версии Symbian OS v8.1, и наноядерной) операционной системы.

Создателям Symbian OS удалось совместить эффективность и концептуальную стройность, несмотря на то, что современные версии этой системы предоставляют обширные возможности, в том числе средства для работы c потоковыми данными, стеками протоколов, критичными к латентности ядра, графикой и видео высокого разрешения. Разработчики Symbian вынесли практически все прикладные (т. e. выходящие за пределы компетенции ядра) задачи в модули-серверы, функционирующие в пользовательском адресном пространстве.

В ОС Windows NT версий 3.х микроядерная архитектура с сервисным процессом использовалась для подсистемы графики и пользовательского интерфейса. В частности, драйвер графической аппаратуры загружался в контекст сервисного процесса, а не ядра. Начиная с версии 4, от этого отказались, сервисный процесс сохранился только для управления консольными окнами командной строки, а собственно графическая подсистема вместе с драйвером аппаратуры (в том числе трёхмерной графики) переместилась в специально обособленный регион ядра ОС.

ОС Windows CE (и созданные на её основе сборки, такие, как Windows Mobile), будучи практически полностью совместимой (как подмножество) с Windows NT по вызовам и методам программирования приложений, тем не менее полностью отличается от Windows NT по внутренней архитектуре и является микроядерной ОС с выносом всех драйверов устройств, сетевых стеков и графической подсистемы в сервисные процессы.

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

Актуальность проблемы

Технология Memory Management является одной из самых важных в работе ядра. Уязвимости этого механизма, пожалуй, также самые страшные и, в то же время, актуальные. Они и являются основным стимулом для создания всяких разных видов защиты, таких как safe unlinking. В этой статье будут детально рассмотрены некоторые аспекты, как теоретические, так и практические, по эксплуатации динамического переполнения памяти ядра. Для начала я покажу пальцем на самых ярких представителей уязвимостей этой касты.

  • ms08-001 — IGMPv3 Kernel Pool Overflow — удаленное переполнение в tcpip.sys;
  • ms09-006 — уязвимость в обработке определенных записей wmf/emf, связанная с брешью в win32k.sys;
  • ms10-058 — integer overflow уязвимость, ведущая к переполнению пула в tcpip.sys.

ХЭЛ – посредник между ядром и оборудованием

Неразрывно с ядром Windows связан, так называемый, слой абстрагирования оборудования (англ. HAL – Hardware Abstraction Layer).

В сущности, речь идет об универсальном наборе инструкций, обеспечивающим обмен информацией между системой и различными аппаратными компонентами. Благодаря этому разработчики Windows не вынуждены каждый раз настраивать код для другой аппаратной конфигурации пользователя. Достаточно, чтобы компьютер выполнял требования, а об остальном позаботится ХЭЛ.

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

Что такое ядра процессора и на что они влияют

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

К сведению! Ядра CPU позволяют увеличить вычислительную мощность персонального компьютера.

Чем ядра отличаются от потоков или виртуальных ядер

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

Логический поток представляет собой специальную технологию Hyper Threading. С ее помощью одно физическое ядро разделяет на несколько виртуальных и образует потоки. Таким образом компьютер может обрабатывать в два раза больше задач.

Обратите внимание! Многопоточность улучшает производительность ПК в играх и графических редакторах. Сравнительная таблица:

Сравнительная таблица:

Характеристики Пояснение
Заменяют ли виртуальные ядра физические? Да. Физическое — это реальный аппаратный компонент ЦП. Виртуальное — это способность физического ядра разделяться на несколько независимых потоков, чтобы обрабатывать в два раза больше задач.
Влияют ли Virtual Core на производительность компьютера? Влиять они могут только в том случае, если на компьютере установлен процессор с небольшим кэшем 2 и 3 уровня, а также с низкой тактовой частотой.

Количество используемых Physic Core в диспетчере задач

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *