Что планирует ОС — потоки или процессы? Задавал вопрос про то, как работает параллелизм в ОС:Как на самом деле работает параллелизм? Из всего изученного стало понятно, что процессы - это некие "контейнеры", содержащие id, статус, instruction pointer, значение регистров, открытые файлы и другие данные контекста. А потоки (полное название - потоки исполнения), из потоков ОС как раз-таки считывает инструкции из памяти и отправляет их на ядра. Я намеренно очень сильно обобщил, чтобы ввести некоторое общее понимание.Вопрос: если процесс - это просто контейнер для потоков, а ОС реально шедулит потоки, грузит ядра инструкциями из этих потоков и распределяет кванты времени именно для kernelspace-потоков, то какую роль в планировании играют процессы? Для чего они нужны? Как планировщик ОС работает с процессами? Моя единственная догадка в том, что планировщик как бы "заглядывает" в каждый процесс и уже там работает с потоками. P.S. Можно разобрать на примере Windows
В операционной системе Windows планирование выполняется на уровне процессов, а не потоков. Процессы в Windows действительно являются контейнерами для потоков исполнения. каждый процесс имеет свою собственную виртуальную память, файлы и другие ресурсы. Каждый процесс может содержать один или несколько потоков, которые выполняют инструкции в рамках этого процесса.
Планировщик ОС Windows распределяет процессы между доступными ядрами процессора. Он учитывает различные критерии, такие как приоритет процесса, его текущее состояние и использование CPU. Планировщик может переключать контекст между процессами для обеспечения справедливого распределения ресурсов и обеспечения эффективной работы системы.
Таким образом, процессы в Windows играют важную роль в планировании выполнения программ. Планировщик ОС работает с процессами, определяя, каким процессам и когда будет предоставляться доступ к ресурсам процессора.
В операционной системе Windows планирование выполняется на уровне процессов, а не потоков. Процессы в Windows действительно являются контейнерами для потоков исполнения. каждый процесс имеет свою собственную виртуальную память, файлы и другие ресурсы. Каждый процесс может содержать один или несколько потоков, которые выполняют инструкции в рамках этого процесса.
Планировщик ОС Windows распределяет процессы между доступными ядрами процессора. Он учитывает различные критерии, такие как приоритет процесса, его текущее состояние и использование CPU. Планировщик может переключать контекст между процессами для обеспечения справедливого распределения ресурсов и обеспечения эффективной работы системы.
Таким образом, процессы в Windows играют важную роль в планировании выполнения программ. Планировщик ОС работает с процессами, определяя, каким процессам и когда будет предоставляться доступ к ресурсам процессора.