Что такое загрузка ЦП и как она рассчитывается, как работает планирование ОС?

Я изучал ассемблер x86_64, где-то в своих исследованиях я узнал, что процессор не может перестать что-то делать, он должен постоянно что-то запускать/выполнять.

Вопрос 1) Мне интересно, тогда как же в "диспетчере задач" есть график, который показывает, сколько процессора используется в настоящее время, не всегда ли он что-то делает, не всегда ли он выполняет какую-то двоичную (сборку низкого уровня) инструкцию?

Вопрос 2) я читал в Википедии, что процессор выполняет " холостой ход" системный процесс, почему? А нельзя просто зациклить очередь расписания ?

поясню, предположим гипотетически, что наш процессор имеет 100 циклов в секунду:

PROCESS1 is run for 10 cycles, PROCESS1 is preempted
PROCESS2 is run for 20 cycles, PROCESS2 is preempted
SYSTEM_IDLE is run for 70 cycles, SYSTEM_IDLE is preempted
loop

не может процессор быть полностью использован исключительно PROCESS1 и PROCESS2 ?

Как:

PROCESS1 is run for 40 cycles, PROCESS1 is preempted
PROCESS2 is run for 60 cycles, PROCESS2 is preempted
loop

наконец, я использую довольно старый компьютер, память не хватает (т. е. есть много доступных), загрузка процессора составляет не более 40%, обычно 10%.

вот в чем проблема хотя:

когда я запускаю свой веб-браузер в одиночку, только 1 вкладка Все гладкая процессор на 7%, память 50%

когда я запускаю свой веб-браузер вместе с музыкальным плеером, 20 вкладок, все отстает, даже не может прокручивать (вверх или вниз) веб-страниц, я получаю, как 3 кадров в секунду, странная вещь, хотя является то, что загрузка процессора только на 30% редко собирается 35% и память около 70% полный

последний вопрос: Почему веб-браузер не может использовать больше процессора ? Я бы не возражал, если бы работать так же гладко, как при запуске браузера только с 1 tab

танки для ваших объяснений:)

[EDIT1] PS: я использую Windows 10 x64, браузер: Firefox (последняя версия), доступная память = 500 Мб, Firefox использует около 270 МБ. Скорость процессора 2,77 ГГц 2 логических ядра, ATI Radeon X1000 256 Мб выделенный
Компьютер недавно отформатирован, установлена ОС с нуля около 10 дней назад этот пост

3
задан Fresco
06.05.2023 0:07 Количество просмотров материала 3488
Распечатать страницу

1 ответ

большинство процессов тратят свое время на ожидание (ожидание сетевого пакета, ожидание пользователя, ожидание другого процесса/потока)...). Это не имеет смысла для операционной системы, чтобы запланировать этот процесс на всех - было бы просто вернуться немедленно и продолжать ждать. Бесполезно зацикливание притягивает власть.

вместо этого, если все процессы ждут (точнее: если они заблокирован), операционная система выключит процессор, переводя его в спящий режим государство. "Поток", который делает это, называется простой задачей. Затем процессор прекратит обработку инструкций до тех пор, пока не произойдет прерывание (сообщающее ОС, что что-то случилось).

в то время как процессор не работает, часы продолжает работать, однако. Таким образом, если вы выключаете процессор каждые 100 мс, и процессор просыпается 50 мс после того, как вы положили его в спящий режим, ваш процессор загружен на 50%. Та же идея применима и к многоядерным процессорам.

0
отвечен Sebastian R. 2023-05-07 07:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх