Планирование процессов и потоков
Процесс
– абстракция, описывающая выполняющиеся программы.
Для ОС процесс представляет собой единицу работы и заявку на потребление системных ресурсов.
Подсистема управления процессами планирует выполнение процессов, т.е. распределяет процессорное время между несколькими одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов, обеспечивает процесс необходимыми системными ресурсами, поддерживает взаимодействие между процессами.
Когда говорят о процессах, это означает, что ОС поддерживает их обособленность.
У каждого процесса имеется своё адресное пространство, каждому процессу назначаются свои ресурсы (окна, семафоры). Такая обособленность нужна для того, чтобы защитить один процесс от другого и защитить саму ОС.
В общем случае процессы никак не связаны между собой.
В самих процессах желательно задействовать внутренний параллелизм, который позволяет ускорить решение задач. Главное, что обеспечивает многозадачность – возможность параллельно выполнять несколько видов операций в одной прикладной программе.
В ОС, где существуют процессы и потоки, процесс рассматривается ОС как заявка на потребление всех видов ресурсов, кроме процессорного времени.
Процесс – контейнер для набора ресурсов, используемых потоками.
Процессорное время распределяется между потоками, которые представляют собой последовательность команд.
Потоки совместно используют адресное пространство процесса и все выделенные ему ОС ресурсы.