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

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

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

  • Есть ли хороший инструмент мониторинга ресурсов в Linux?
  • Ресурс (время и память процессора) ограничение и прекращение процесса при нарушении в Linux
  • Есть ли риск или недостаток в снижении частоты процессора со сценарием?
  • Результаты перегрева при выключении системы
  • Найдите PID верхнего использования CPU / MEM, сохраните переменную оболочки
  • Мониторинг одиночного процесса для логарифма журнала
  • Поиск MFLOPS с использованием Linux
  • Почему kworker потребляет столько ресурсов на Linux 3.0.0-12-server?
  • 2 Solutions collect form web for “Может ли одно ядро ​​процессора обрабатывать более одного процесса?”

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

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

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

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