1 | |
Одновременное использование процессора несколькими процессами05.10.2013, 13:11. Показов 1595. Ответов 4
Метки нет (Все метки)
Добрый день. Меня интересует следующий вопрос : пусть, например, в данный момент имеется 10 процессов. Каждому процессу соответствует некоторое значение загрузки ЦП. Процессор одноядерный. Вопрос : каким образом в один момент времени несколько процессов используют процессор? Т.е почему в диспетчере процессов сразу несколько процессов имеют ненулевое значение загрузки ЦП, а не только один?
t1) Процесс 1 загрузил ЦП на 20% t2) Процесс 2 загрузил ЦП на 40%. Процесс 1 не обслуживается t3) Процесс 3 загрузил ЦП на 5 %. Процесс 1, 2 не ослуживаются
0
|
05.10.2013, 13:11 | |
Ответы с готовыми решениями:
4
Работа с несколькими процессами Одновременное управление несколькими аппаратами Одновременное слежение за несколькими папками Работа с несколькими одноименными процессами |
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
05.10.2013, 13:53 | 2 |
google://"вытесняющая многозадачность". Действительно, в каждый момент времени ядро может выполнять только одну задачу, но между ними постоянно происходят переключения, а диспетчер показывает, какой процент времени каждый из процессов был активен за последние n единиц времени.
1
|
08.10.2013, 07:53 | 3 |
Действительно, существует понятие процессорное время. У процессов есть свои прерывания и сложная таблица приоритетов. На деле, процессор выполняет попеременно все процессы, в каждый момент, когда все из них кроме одного выходят на прерывание. Эта кухня проворачивается настолько быстро, что мы не замечаем этого и нам кажется, будто процессы выполняются параллельно.
К примеру, есть возможность выбора приоритета у процесса. Самый высший - режим реального времени. (Категорически не советую его выставлять, если не до конца понятно что это) В этом режиме процессор выполняет ТОЛЬКО этот процесс, пока он не завершится. Это вешает систему напрочь
0
|
Ушел с форума
|
|
08.10.2013, 09:46 | 4 |
Извините, что встреваю, но данное утверждение не соответствует действительности.
Приоритет реального времени не может эксклюзивно захватить ресурсы CPU. Хотя бы по той причине, что в системе существует код, выполняющийся на более высоком уровне прерываний (обработчики прерываний, например). И если real-time процесс занят какой-нибудь выборкой оконных сообщений или ожиданием на объекте синхронизации, система не задумываясь будет переключаться на выполнение других процессов. Это легко проверяется.
0
|
08.10.2013, 09:56 | 5 |
Сообщение было отмечено как решение
Решение
не имею ни малейшего желания не согласиться. То, что я написал - уровень пользователя пк. На этом уровне все так, как изложено. Этого достаточно для понимания принципа псевдопараллелизации процессов. Конечно, существуют более глубокие приоритетные задачи, которые процессор ставит во главу угла, независимо от клиентских процессов. Никто не отменял также User mode и kernel mode.
0
|
08.10.2013, 09:56 | |
08.10.2013, 09:56 | |
Помогаю со студенческими работами здесь
5
Разделения вычислений между несколькими процессами Одновременное редактирование таблицы несколькими пользователями через сеть Загрузка процессора различными процессами на 100 % одновременное использование Одновременное использование цикла while POST и GET одновременное использование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |