Как работает многозадачность? Разбор - Портал про авто и технологии

Как работает многозадачность? Разбор

Во времена далекие, тяжелые, междоусобные, жил на руси князь галицкий Ярослав Владимирович. Премудрости ему было не занимать. Поэтому величали его Ярослав Осмомысл. Восемь мыслей он в голове мог держать. Всё он одновременно делал, и бояр окаянных усмирял, и икры баклажанную ложкой зачерпывал, и бастарда на трон сажал. Но то всё сказки. А в жизни слухи о многозадачности человеческого мозга сильно преувеличены. Все, кто пробовал решать какую-то задачу и одновременно переписываться в тысячах рабочих чатов знают, что любые попытки выполнить миллион дел за раз, приводят к интерференции мыслительных задач. Что буквально делает нас глупее, отнимает много сил и многократно снижают эффективность.

Исследователи из Университета Сассекса выяснили, что у людей с высокой степенью многозадачности плотность мозгового вещества в передней поясной коре ниже. Эта область отвечает за эмпатию, а также за когнитивный и эмоциональный контроль.

Иными словами, люди по своей природе — однозадачные. А вот современные компьютеры и операционные системы по-настоящему многозадачным. Но так было не всегда! Поэтому сегодня мы выясним, как компьютеры стали многозадачными и причем тут многоядерные процессоры AMD?

Узнаем какие операционные системы наиболее многозадачны? А главное, правда ли что на смартфонах многозадачность не настоящая?

Зачем нужна многозадачность?

Как говориться, к хорошему быстро привыкаешь. Работая за компьютером мы открываем кучу вкладок в Google Chrome или любом другом браузере, переписываемся в тысячах рабочих и не только чатов, работаем с документами и параллельно смотрим YouTube.

Сейчас с таким уровнем многозадачности легко справляются корпоративные ультрабуки, которые, собственно, и являются основным инструментом для работы. Но как они это делают?

Однозадачные ОС

Итак, в компьютерах наличие или отсутствие многозадачности в первую очередь зависит от операционной системы. Изначально все ОС были однозначными. В таких системах задачи выполнялись последовательно, то есть одна за другой. Например, старый добренький MS-DOS — это однозадачная ОС.

Как работает многозадачность? Разбор

Такие простые операционные системы по-прежнему активно используются в различных бытовых приборах: холодильниках, кофемашинах, ну или на простейших кнопочных телефонах, которыми мы раньше пользовались. Да, старые-добрые телефоны Nokia были однозначными.

Как работает многозадачность? Разбор

Но подождите! Ведь Nokia много чего умела! Например, за секунду до мирового рекорда в змейку вполне могла позвонить мама, и, естественно, надо было ответить. И при этом ничего страшного не происходило, можно было спокойно принять вызов, а потом продолжить играть с того же места.

Разве это не многозадачность? Нет! В этот момент система просто прерывала один процесс, переключалась на другой, а потом возвращалась обратно. Прямо как человеческий мозг. Так что знайте, наш мозг чем-то похож на старую Nokia.

А вот настоящие многозадачные ОС могут выполнять несколько процессов параллельно, ну или псевдопараллельно. О чем мы сейчас и поговорим.

Типы многозадачности

Все современные многозадачные ОС, по своей сути, делают тоже самое, что и однозадачные, они точно также прерывают одну задачу, чтобы запустить вторую, а потом третью и так далее, но это переключение происходит настолько быстро, что создается иллюзия, будто всё происходит одновременно. Но чем тогда отличаются многозадачные и однозадачные ОС?

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

Preemptive multitasking — преимущественная, или вытесняющая, многозадачность.

А какую задачу вытеснить и какой отдать преимущество определяет планировщик операционной системы. Но это не всё! На самом деле современные ОС — не просто многозадачные, они многопоточные. В чём разница?

В многозадачных ОС, минимальная единица, которой может управлять планировщик — это программа. Одна программа = один процесс, и всё что мы можем делать — это переключаться между процессами.

А в многопоточных ОС, каждая программа может иметь несколько потоков, то есть подзадач. Поэтому планировщик может переключаться между потоками, что позволяет уменьшить задержки, и куда рациональнее распределять ресурсы.

Как работает многозадачность? Разбор

Именно такое свойство быстро переключаться между потоками позволяет вам одновременно использовать кучу приложений и мгновенно переключаться между ними.

Многопоточность в Google Chrome

Хороший пример программы, которая по максимуму использует возможности многозадачности и многопоточности — это наш родной прожорливый браузер Google Chrome. Каждая вкладка в Chrome — это отдельный процесс, с несколькими потоками. Это хорошо заметно если открыть диспетчер задач: кучка маленьких Chrome занимают ваш процессор пока вы серфите в Интернете.

Как работает многозадачность? Разбор

Как работает многозадачность? Разбор

Более того, что каждый процесс может попросить операционную систему развернуть другой процесс для выполнения различных задач. И под каждый такой процесс, нужно выделить определенное количество оперативной памяти.

Как работает многозадачность? Разбор

А ведь есть еще плагины, которые также являются процессами и всякие сервисы и прочие штуки, которые нагружают не только центральный процессор, но и графический.

Как работает многозадачность? Разбор

Короче Chrome — это настоящий монстр. У него даже есть свой диспетчер задач. Чтобы его открыть нажмите Shift + Esc в Windows, а в Mac его можно открыть из меню Window.

Для выполнения каждого из этих процессов требуется свой логический процессор. Скажем, у AMD Ryzen 7 5700U имеется 8 физических ядер, каждое из которых может работать как два виртуальных потока. Итого мы получаем 16 одновременно выполняемых потоков, часть которых может выполняться быстро и на малых частотах, а самым требовательным можно ненадолго увеличить рабочую частоту до 4,33 ГГц.

Теперь понимаете, почему Chrome жрёт столько оперативки и сажает батарейку на ноутбуках с неэффективным распределением ресурсов процессора? Для эффективного выполнения сотен мелких процессов нет ничего лучше множества ядер с эффективным управлением их мощностью. У современных процессоров AMD для этого каждое ядро может работать как производительное, либо как энергоэффективное.

Кстати, в борьбе с Google Chrome есть и другие методы снизить нагрузку на железо.

Как работает многозадачность? Разбор

Проверяли мы все на бизнес-ноутбуке LENOVO V14 GEN2 с процессором AMD Ryzen 7 5700U и 8 ГБ оперативной памяти. Вот его спецификации:

Lenovo V14 GEN2

  • Дисплей 14″ FHD 60Гц
  • Процессор — AMD Ryzen 7 5700U (1,8-4,3 ГГц)
  • TDP — 15Вт
  • ОЗУ — 8ГБ
  • SSD — 256ГБ

Современные ОС многозадачные и многопоточные, а потому, что они еще и многопроцессорные. Это значит, что ОС поддерживают работу с несколькими процессорами одновременно. Правда за редкими случаями такой необходимости нет, так как большинство современных процессоров многоядерные, а каждое ядро, это считайте отдельный процессор. И чем больше ядер, тем лучше для многозадачности!

А многоядерность — это фишка AMD. Они в принципе выпустили первый двухядерный проц для ПК, это был Athlon 64 X2 в 2005 году.

Как работает многозадачность? Разбор

Ну и они со своей архитектурой ZEN, cмогли сделать по-настоящему крутые 8-ядерные процессоры для ультрабуков. Например, в нашем LENOVO V14 GEN2 установлен AMD Ryzen 7 5700U. Это 8-ядерный и 16-поточный процессор. Это значит, что он может обрабатывать 16 потоков одновременно, то есть параллельно без всяких там приставок “псевдо”. Что делает этот ноутбук супер-отзывчивым. Приложения быстро грузятся, переключение между запущенными программами происходит мгновенно. Работа с несколькими рабочими столами — также без проблем.

Что очень круто для корпоративного ультрабука. Но еще круче то, что все 8 ядер могут в определенный момент заработать на полную, и тогда все 16 потоков будут выполняться на предельной тактовой частоте 4,3 ГГц. А затем также быстро перейти в энергоэффективный режим, снижая общий показатель тепловыделения ниже 15 Ватт.

ПРИМЕЧАНИЕ: В штатном режиме на ноутбуке все ядра не смогут работать на максимальной частоте; она обычно достижима для одного-двух ядер.

С процессорами AMD Ryzen поколения ZEN 2 эффективность распределения процессов на потоки легко спутать с магией. Настолько быстро и незаметно все выполняется в большинстве повседневных рабочих задач. Более того, тут еще стоит довольно мощная встроенная графика AMD Radeon.

Поэтому ноутбук можно спокойно использовать не только для типичных офисных задач задач, типа работы документами и почтой, но и работать:

  • С тяжелыми приложениями
  • С 2D, 3D графикой
  • С внешними 4К дисплеями
  • Стримить видео без тормозов
  • Проводить конференции со спец.эффектами типа замены фона и кучей участников, что особенно важно на удаленке.

Что еще важно? Безопасность. Архитектура Zen, в процессорах Ryzen, сама по себе не так подвержена уязвимостям в силу новизны, особенно на фоне устаревающих архитектурных решений у многих конкурентов.

Вдобавок тут есть встроенный модуль безопасности TPM 2.0, который шифрует всё и вся по стандартам корпоративной безопасности бизнес-инфраструктуры. Ну и конечно он нужен для установки Windows 11, без которой сегодня трудно представить актуальный ультрабук для бизнеса. И шторка для веб-камеры тоже есть, это ж корпоративный продукт и приватность гарантирует.

Как работает многозадачность? Разбор

В общем, Ryzen 5700U — это просто бомба для своего сегмента. Благодаря 8-миядерной конфигурации с 16 потоками, сотни фоновых процессов выполняются играючи, без подтормаживаний и затупов. Но стоит дать реальную нагрузку этому процессору, и вся мощь Архитектуры ZEN мигом переключится на частоту 4,3 гигагерц. Также ноутбук LENOVO V14 может похвастаться отличной автономностью — до 21 часа использования — небольшими габаритами с весом всего 1,5 килограмма и столь же конкурентной ценой. Для образцового многозадачного ноутбука получается весьма приличная колода из козырей.

Многозадачные ОС

Но какая операционная система самая-самая многозадачная? Самая эффективная, самая распределенно-параллельно вычисляющая?

Как работает многозадачность? Разбор

На самом деле все популярные ОС — это всё многозадачные, многопоточные, многопроцессорные, вытесняющие операционные системы. К таким системам относится и Windows, и UNIX, и Linux. Ну и соответственно туда же входят MacOS и iOS, которые основаны на UNIX. И Android, который основан на Linux. Но почему тогда многозадачность в смартфонах и планшетах считается неполноценной? А вот почему.

Многозадачность на смартфонах

Несмотря на то, что iOS и  Android на уровне ядра позволяют реализовать полноценную многозадачность, такую же как на взрослых операционных, Google и Apple блокируют эту возможность. Почему?

На самом деле очень простой причине: многозадачность очень ресурсоемкая вещь, которая сильно нагружает процессор и жрет аккумулятор. При этом на маленьких экранах полноценная многозадачность просто не нужна. Поэтому? чтобы ваш смартфон не разряжался за пару часов, а интерфейс был плавным, в мобильных ОС используют чуть другой подход к многозадачности. И работает это так — каждое приложение может находиться в 4-х состояниях:

  1. Нерабочее
  2. Активное
  3. Фоновое
  4. Приостановленное

До запуска, приложение находится в нерабочем состоянии. Но после нажатия на иконку, приложение загружается в ОЗУ и переходит в активное состояние. В этот момент оно полноценно работает и потребляет системные ресурсы.

Но как только вы свернули приложение, оно сразу переключается из активного состояния в фоновое, то есть приложение не видно, но оно также работает. А через несколько секунд приложение приостанавливается. Оно всё также висит в памяти, но не исполняет код.

Такой подход: с одной стороны, мгновенно запускать приостановленные приложения, когда вы к ним возвращаетесь, с другой — не сжигать лишние ресурсы в фоне.

И отвечая на вопрос, нужно ли вручную закрывать все эти приостановление приложения? Ответ — однозначно нет. Такие приложения, не съедают батарейку, они просто временно висят в оперативной памяти. Но если оперативка закончится система сама их оттуда выгрузит. И это справедливо и для iOS, и для Android.

Тем не менее бывают исключения. Некоторым приложения, позволено висеть в фоновом состоянии сколько угодно. Например, музыкальным проигрывателям, навигации, почтовым клиентам, мессенджерам. В этом случае действительно, будет тратиться какое-то количество ресурсов. Поэтому в iOS сторонним приложения очень сложно получить привилегии фоновой активности.

А вот на Android чуть попроще. В отличие от iOS в Андроиде есть понятие “сервисы”, которые могут работать в фоне, поэтому на Android гораздо проще реализовать фоновую активность приложения. Этим Android больше поход на взрослые ОС, со всеми вытекающими плюсами и минусами.

Как работает многозадачность? Разбор

Если понравился бизнес-ноутбук LENOVO V14 GEN2 на базе AMD Ryzen, то ныряйте по ссылке, чтобы забрать ноутбук по хорошей цене! А у нас на сегодня все.

Post Views: 148