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

Сегодня мы наконец разберемся, что такое многозадачность и как она работает на современных компьютерах и смартфонах.
aka_opex 12 мая 2022 в 06:12

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

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

Иными словами, люди по своей природе — однозадачные. А вот современные компьютеры и операционные системы по-настоящему многозадачным. Но так было не всегда! Поэтому сегодня мы выясним, как компьютеры стали многозадачными и причем тут многоядерные процессоры 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, то ныряйте по ссылке, чтобы забрать ноутбук по хорошей цене! А у нас на сегодня все.

Где в мире iOS «уделывает» Android?

Есть наглядная инфографика от Bloomberg
Arina 13 сентября 2019 в 06:37

Авторитетное издание изучило отчеты World Bank и StatCounter за 2019 год и создало интерактивную карту, на которой можно увидеть, какие операционные системы предпочитают жители различных регионов планеты.

Страна iOS Android
Япония 70% 30%
Австралия 57% 43%
Швеция 54% 46%
Канада 54% 46%
Дания 53% 47%
США 53% 47%
Швейцария 52% 43%

Отдельно в исследовании Bloomberg упоминается Макао (административный район КНР), где соотношение сил выглядит следующим образом: 65% у «яблочной» ОС против 34% у Зеленого робота.

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

Источник: Bloomberg

Зачем нужны темные темы в iOS и Android? | Видеообзор

Фронтмен Droider самостоятельно ищет ответ на вопрос
News Droid 4 июля 2019 в 02:23

В новом ролике Валерий Истишев пытается понять реальную пользу от Dark Mode и Dark Theme, которые Apple и Google не так давно добавили в операционные системы.

Кроме того, можно будет увидеть сравнение работы Android Q и iOS 13 в ночных режимах.

Итоги «яблочной» WWDC 2019 | Droider Show

Репортаж с места событий ведет Валерий Истишев
News Droid 4 июня 2019 в 09:50

В новой серии Droider Show можно узнать о технических и программных новинках, которые были анонсированы на Worldwide Developers Conference: от iOS 13 до Pro Display XDR.

Кстати, Валерий Истишев впервые посетил презентацию Apple, поэтому будет немного оффтопа.

Android vs iOS в 2 частях | Попробуем уложиться

Droider против Wylsacom, Google против Apple
News Droid 13 мая 2019 в 09:54

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

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

А какая мобильная ОС в 2019 году круче для вас?
  • 83 Обе удобны по-своему
  • 26 iOS от Apple
  • 137 Android от Google
  • 9 Обе не нравятся, хочу совсем другого
Посмотреть результаты

Знакомство с Android 10 Q | Видеообзор

Фронтмен Droider оценил возможности бета версии ОС Google
News Droid 18 марта 2019 в 01:33

Борис Веденский уже установил на смартфон «пробник» операционной системы от «Корпорации добра», чтобы поделиться первыми впечатлениями.

Кроме рассказа о множестве «фишек» Android 10 Q от Google, в видеоролике имеется сравнение с One UI от Samsung и iOS 13 от Apple.

Apple зовет на WWDC 2019

Лозунгом юбилейного мероприятия стал «Write code. Blow minds»
News Droid 15 марта 2019 в 03:34

Американская корпорация объявила даты проведения 30-ой конференции для разработчиков и поклонников продукции. Так, Worldwide Developers Conference 2019 пройдет с 3 по 7 июня в Сан-Хосе.

По мнению экспертов, Apple анонсирует на WWDC обновленные операционные системы: iOS 13, watch OS 6, macOS 10.15 и tvOS 13.

Кроме того, «яблочная» компания может рассказать подробнее о проекте Marzipan, предусматривающем постепенное слияние ОС для смартфонов и компьютеров.

Источник: Apple

Google готовит замену Android

Популярная ОС исчезнет к 2023 году
News Droid 20 июля 2018 в 01:16

Источник, знакомый с ситуацией, рассказал о том, что компания планирует сменить Android и Chrome OS на Fuchsia OS. Сперва новая ОС поселится в гаджетах для «умного» дома, потом в ноутбуках, затем на планшетах и смартфонах, после в носимых девайсах.

Напомним, что о существовании «Фуксии» известно с 2016 года. Операционная система Google предназначена для превалирующего управления голосом, поэтому будет тесно связана с виртуальным Assistant. Кое-какие возможности уже можно оценить на Pixelbook.

Если слухи верны, то Зеленый робот от «Корпорации добра» станет историей через 5 лет.

Источник: Bloomberg

У Microsoft будет смартфон на Android

Возможно, компания совсем отказалась от фирменной мобильной ОС
News Droid 16 июля 2018 в 01:41

По словам анонимного сотрудника, Microsoft работает над линейкой смартфонов Lumia, которые получат на борт операционную систему Android от Google.

Напомним, что экспериментальному «планшетофону» из Project Andromeda приписывают не только складную конструкцию, но и специальную версию Windows 10.

Как бы то ни было, официального подтверждения или опровержения от корпорации пока не было.

Источник: WindowsLatest

Полный Android P и итоги Автосалона в Женеве | Droider Cast

А ещё немало рассуждений о современном киноискусстве
News Droid 13 марта 2018 в 07:59

В этом выпуске аудиошоу:

00:00:00 — начало;
00:02:03 — 88-ое Geneva Motor Show;
00:22:03 — операционная система Android P;
00:37:53 — итоги «Оскара 2018»;
00:46:43 — итоги MWC 2018;
00:58:12 — сериал Altered Carbon;
01:03:36 — киношкола;
01:14:51 — финал.

Ищите Droider Cast в iTunesPodster и приложениях-подкастоприёмниках (добавить RSS). Ещё можно поддержать проект на Patreon. Вопросы к редакции присылайте в Twitter с хэштегом #DroiderCast. И не забудьте подписаться на аккаунты ведущих в социальных сетях:

Twitter   Instagram Валерий Истишев CEO Droider, видеоблогер, ведущий Droider Cast


Twitter   Instagram Борис Веденский Главный редактор Droider, видеоблогер, ведущий Droider Cast