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