Может ли одно ядро ​​процессора обрабатывать более одного процесса?

Это аргументы в пользу моего вопроса: я прочитал это в учебнике «Каждый процессор (или ядро) может работать над одним процессом за раз».

Я предполагаю, что это было точно, но уже не полностью верно. Как работает многопоточность? Или это все еще так, может ли процессор cpu на linux работать только по одному процессу за раз?

  • Как запустить два потока в сценарии оболочки bash?
  • Итак, дизайн разделения клиент-сервер не является узким местом X Window?
  • Запуск скрипта python 200 000 раз параллельно с использованием bash
  • Почему top и ps показывают разные PID для тех же процессов?
  • Ускорение работы zgrep на многоядерном компьютере
  • Как указать, какое ядро ​​порождается pthread
  • Как определить, есть ли какой-то параметр энергосбережения, который отключил процессор в Linux
  • Использовать многопоточный make по умолчанию?
  • как обойти тупик (многопоточность программы)
  • Как запустить скрипт bash через многопоточность
  • Как определить, какой процесс вызывает высокий уровень использования ЦП
  • Получить общее использование памяти хрома
  • 2 Solutions collect form web for “Может ли одно ядро ​​процессора обрабатывать более одного процесса?”

    Один процессор обрабатывает один процесс за раз. Но «процесс» представляет собой конструкцию операционной системы; OS вызывает воспроизведение видео в VLC на одном процессе, но на самом деле это составлено из множества индивидуальных инструкций. Таким образом, это не так, как если бы процессору было поручено воспроизводить видео и он должен был отказаться от всего, что он делал. CPU может взять на себя задачу воспроизведения видео → переключиться на проверку ввода клавиатуры или мыши → нарисовать некоторые вещи на экране → проверить, были ли устройства прикреплены в любом известном порту → и так далее. Все в мгновение ока.

    Современные компьютеры превосходят многозадачность. Вот почему вы можете запускать видео в VLC и постоянно воспроизводить его, даже если ваш компьютер одновременно выполняет 100 других нечетных заданий.

    Я считаю, что однопоточный процесс (программа) будет ограничен исполнением на одном ядре ЦП, даже если он работает в системе с многоядерным процессором.
    Если процессы многопоточны и работают в системе с многоядерным процессором, выполнение отдельных потоков может быть передано на разные ядра ЦП, и поэтому программа может выиграть от параллельной обработки.
    Я думаю, что когда первый процессор Muliti Core появился в начале 2000-х годов, многие из программ по-прежнему имели одну многопоточную архитектуру и, следовательно, не имели преимуществ в производительности от процессоров с процессорами muliti.
    Хотя система в целом могла бы выиграть, поскольку она могла запускать другие процессы на других ядрах ЦП.

    Linux и Unix - лучшая ОС в мире.