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

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

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

  • Мониторинг одиночного процесса для логарифма журнала
  • Какова связь между стеком и таблицей процессов?
  • Где находится PCB на linux
  • Был ли мой процессор разбит?
  • / proc / cpuinfo "cache" категория: L1, L2 или всего?
  • Высокий% sy в верхнем выпуске, как отлаживать?
  • Ресурс (время и память процессора) ограничение и прекращение процесса при нарушении в Linux
  • Linux и Linux-программное обеспечение: преимущества многоядерного процессора
  • 2 Solutions collect form web for “Может ли одно ядро ​​процессора обрабатывать более одного процесса?”

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

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

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

    Interesting Posts

    Переменные оболочки в цикле for

    Я хочу сконденсировать список диапазонов (от-до)

    Почему я пытаюсь подключиться к SFTP с ошибкой «Листинг удаленной папки»?

    Перемещение, копирование и преобразование имен файлов

    Задание cron forks / exec () s перед завершением. Что происходит со старшим ребенком?

    Различные конфигурации tmux для разных сеансов?

    Как узнать, подключен ли сетевой интерфейс, туннель, мост или физический интерфейс?

    Паника в ядре – не синхронизация: нет init. При загрузке из U-Boot

    Как загружать операционную систему Chromium OS verbosely?

    связывать монтаж и выход df

    (Ab) использует Apache в качестве прокси

    Уменьшите размер существующей VolumeGroup, чтобы создать новый PhysicalVolume

    Несовместимые версии libsqlite3-0 (i386 и amd64) блокируют друг друга

    Linux для сетевого брандмауэра / прокси-сервера?

    Выполнить скрипт bash так, чтобы каждая команда была индивидуально доступна в истории команд оболочки

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