OS X Mavericks: немного магии, бесплатно

В июне 2013 года на WWDC, и 22 октября того же года (почти одновременно с появлением новой версии системы в Mac App Store) Крейг Федериги обещал самые настоящие чудеса, а страсть к развенчанию лжи одна из самых сильных среди человеков… По словам Крейга, новая версии операционной системы равносильна увеличению ёмкости аккумуляторов ноутбуков процентов на 15-20), и увеличению размера оперативной памяти, раза в два. Такого просто не может быть, потому что не может быть никогда. Особенно в бесплатно распространяемой версии системы.

Новая версия была бесплатной. Прецедент был, единственный: в сентябре 2001 года Mac OS 10.1 “Puma” для обладателей Mac OS 10.0 “Cheetah” тоже была бесплатной, для чего у Apple тогда еще Computer были веские и не совсем приятные причины. Без этого срочного и бесплатного апгрейда история “современной операционной системы для Mac’ов” могла стать еще одним эпическим провалом компании, скорее всего последним.

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

Продолжение мини-серии про Mac OS 10.9 “Mavericks”, начало здесь.

Удвоение оперативной памяти

Аппетиты операционных систем усиливались: каждая новая версия любой системы в мире нуждалась во все большем объеме оперативной памяти. А у поголовье Mас’ов с 4, а то и с 2 Гигабайтами оперативной памяти, впаянными в материнскую плату, размер которой не мог быть увеличен, было огромно. Почти во всех “беспамятных” Mac’ах использовалась интегрированная графика, отнимающая для своих нужд значительную часть дефицитной оперативной памяти.

Владельцы таких Mac’ов воздерживались от апгрейда операционной системы, ухудшая Apple статистику, и застревая в прошлом. Это было неприятно, но были обстоятельства еще большей разрушительной силы: владельцы дешевых Mac’ов, как правило, не имели ни малейшего понятия о какой-то “оперативной памяти”, и ставили на свои Mac’и новейшие версии OS X.

Волшебная способность операционной системы превращать 2 Гигабайта в 4 точно была бы востребована.

Крейг объяснил суть “фокуса”, только усилив недоумение и подозрения публики. Сжимать неиспользуемую часть оперативной памяти – это же сумасшествие! Алгоритмы компрессии и декомпрессии, что было отлично известно всем “продвинутым пользователям”, требуют от процессора усилий и времени. И оперативной памяти, которую таким диким способом решили “удвоить”. Интуиция, жизненный опыт и здравый смысл просто восставали против этой идеи.

Но MacBook Air 2009 года у моих знакомых, с 2 Гигабайтами оперативной памяти, да еще и с очень медленным жестким диском, после установки на него Mavericks буквально ожил.

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

Когда очередной запрос на выделение оперативной памяти оказывался невыполнимым, из оперативной памяти на диск выгружалась часть её содержимого (которую дольше всего не использовали, и выгрузка которой из оперативной памяти не была запрещена).

В ответ на запрос к содержимому удаленному из оперативной памяти, в дело вступал тот же механизм: на диск выгружалось “неиспользуемое” содержимое памяти, на его место из временного хранилища загружалось ранее удаленное.

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

Сжатие памяти, вместо выгрузки “давно не использованных” данных на диск, сжимало их примерно в два раза, высвобождая половину занятой ими памяти для других данных. Это в тысячи раз быстрее чем выгрузка данных на диск. И чем считывание данных обратно.

Сжатие оперативной памяти не исключало выгрузку на диск – если сжать что-либо было невозможно, система отходила на следующий рубеж обороны. Пытаясь не злоупотреблять обращениями к диску.

Как, не меняя ёмкость батареи, заставить её держаться дольше?

Сначала разберемся зачем это понадобилось Apple. С этим все просто: с 2003 года число продаваемых компанией ноутбуков превосходит число настольных Mac’ов. С 2004 года ноутбуки приносят компании больший доход. С 2004 по 2013 год доля ноутбуков росла, а 2013 на каждый проданный настольный Mac приходилось четыре MacBook’а всех видов.

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

Начали с увеличения ёмкости батарей. В мобильных устройствах использовались батареи специально разработанные для конкретных моделей, занимавшие весь доступный объём. Так же поступили и с ноутбуками. Многие были очень недовольны. Например, я.

Но продолжительность автономной работы и в самом деле выросла. Когда срок их жизни подходил к концу, в сервис-центрах Apple их меняли на новые. За немаленькие деньги, но Mac’и намного живучее чем изделия конкурентов.

Самые массовые варианты батарей стали производить независимые производители.

Разрыв между ноутбуками и мобильными устройствами сократился, но оставался слишком большим.

Та же проблема была и у конкурентов Apple – у тех же самых UltraBook’ов, например. Intel разработала процессоры Haswell, которые впервые с появления архитектуры Core не были производительнее чем предшествовавший им Ivy Bridge – перед их создателями поставили другие задачи. Одной из них было резкое повышение экономичности.

Задачу добиться максимально возможного снижения потребления энергии поставили и разработчикам новой версии OS X. Возможно ли это?

Как правило, в любой момент в современных операционных системах запущено несколько приложений, каждое из которых потребляет энергию. Даже если окна приложения скрыты окнами других приложений и не видны пользователю. Технология App Nap автоматически погружает приложения невидимые на экране в состояние “дрёмы”. “Nap” можно перевести с английского как “дрёма” или “дремать”.

Состояние похоже на состояние сна системы. Энергопотребление приложения в состоянии дрёмы снижается в десятки раз, почти как в состоянии сна, но и времени на пробуждение из дрёмы приложению требуется меньше.

Еще удалось сэкономить за счет coalescing (слияния) операций запускаемых таймерами. При отсутствии нагрузки, современные процессоры переходят в состояние покоя.

На переход из состояния покоя в активное состояние и на обратный переход расходуется энергия. Технология Timer Coalescing “сдвигает” операции запланированные таймерами на ближайшее время (несколько миллисекунд) вплотную друг к другу.

Timer Coalescing экономила больше энергии чем App Nap.

Ухищрения, увеличившие продолжительность работы на одном заряде батареи на 15-20%, этими двумя не исчерпывались, но их вклад в общее дело был самым значительным.

Продолжение следует

Обсудить историю Apple вы можете в нашем Telegram-чате.

Mountain Lion: предвкушение

Новая версия OS X, Mac OS 10.8 “Mountain Lion”, была представлена широкой публике 11 июня 2012 года – но её публичная история началась на четыре месяца раньше, всего через семь месяцев после “самого успешного в истории” выхода OS X Lion на рынок. По схеме “тик-так”, позаимствованной у Intel, это была система фазы “так”, но… Отчасти “Горный лев” и в самом деле был посвящен исправлению ошибок, совершенных в OS X Lion, но по числу новшеств почти не уступал ему: Apple насчитала в Mountain Lion 200 новшеств на уровне обычного пользователя, в Lion их официально было 250.

Про “всего семь месяцев после выхода предыдущей большой кошки” я упомянул не просто так: это было очень необычно. По сложившейся за последние годы традиции, разработка новых “больших кошек” занимала не менее двух лет. Что-то изменилось? Да. Во второй половине нулевых Microsoft тормозила с выходом новых версий Windows, и можно было не спешить, конкурировать было не с кем. В 2012 выходила Windows 8, на горизонте снова был серьезный и опасный конкурент. Apple принимала бой.

А кроме того, это был дебют Крейга Федериги в новой роли (он возглавил разработку OS X, сменив на этом посту “отца-основателя” Mac OS X Бертрана Серле, своего наставника еще в NeXT), в OS X Lion число безобразий явно превышали допустимое, у компании был другой повелитель, гениальный организатор всего и вся.

А еще – это была последняя “большая кошка” в истории Apple. После “царя зверей” найти достойное название для очередной системы было невозможно. Вариация на тему “льва” была приемлема для его “так”-версии, но это уже было скрытое повторение пройденного. “Горный лев” – название большой кошки обитающей в Северной и Южной Америке, более известной как “пума” или “кугуар”. “Puma” уже была – это Mac OS 10.1 (2001 год). Кошки кончились…

Про игру в “тик-так” подробности здесь.

Это первая часть серии про “горного льва”.

Меры безопасности страшнее самой опасности

16 февраля Apple выпустила пресс-релиз о выпуске бета-версии новой операционной системы, для официально зарегистрированных Mac’овских разработчиков. Игнорируя “скрежет зубовный” тех, кто никак не мог приспособиться к неприятным особенностям Льва, Фил Шиллер назвал OS X Lion “самой успешной системой в истории Apple”, но ему никто на это не возразил.

Обыватели не читают пресс-релизы, а журналисты не стали об этом упоминать. Те же кто уже попробовал “кугуара” на вкус, были под подпиской о неразглашении, и предпочитали не нарушать её условия. Кары обещанные в NDA (соглашении о неразглашении), насколько я знаю, ни разу не применялись – но были страшнее чем расстрел.

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

И тем не менее, кое-что просочилось в открытые источники информации. В новой версии OS X появятся Привратник (робот-секьюрити от Apple) и Песочница (хорошо знакомая по iOS, насмерть убивающая свободу доступа к файловой системе мобильных устройств, в обмен на безопасность). Mac’и превращаются в еще один iPhone?

Эти известия огорчили меня – днями напролет я был занят iOS, в которой тоже готовились изменения – но мечта однажды вернуться в “свободный мир” Mac OS X согревала меня в трудные минуты. А тут намечается то же самое!

Коллеги писавшие Mac’овское программное обеспечение (в Apple) намекнули мне что если это и случится, то очень не скоро. А “кугуар” нападает на людей редко, не превращает это занятие в культ – и как правило по ошибке, принимая наших собратьев за кого-то другого. Среди больших кошек кугуары (горные львы) больше всех похожи на домашних кошек, внешне и по характеру. Они, всего лишь, размером с взрослого человека.

Программист, по образованию биолог, меня не успокоил. Хоть и по ошибке, но все-таки нападают! Все хорошее когда-нибудь кончается.

Последняя кошка, почти домашняя

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

Крейг не сообщил ничего ужасного. Про самое важной он не сказал вообще ничего.

Видео пресс-конференции 11 июня 2012, открывшей WWDC 2012. Представление OS X Mountain Lion с 00:43:40 по 01:08:26:

Ролик: (Продолжительность 01:54:00)

Кстати, просматривая старые ролики я заново обнаруживаю забытые возможности OS X, почти все они работают и в High Sierra.

Крейг был на высоте. Презентация Game Center для Mac мне особенно понравилась. Это что-то из Top Gear?

За кадром: опасения по поводу Привратника и Песочницы оказались напрасными. Apple опять удалось сделать OS X безопаснее не разнеся её вдребезги. Изменения оказались почти незаметными.

Разработка “кугуара” началась относительно недавно, в середине 2011 (еще при Джобсе во главе компании), но даже за такое короткое время в мире многое успело измениться. Retina-дисплей, заставивший разработчиков спешно обновлять программы.

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

К этому времени уже был накоплен приличный опыт: iOS-разработчики уже столкнулись с Retina-дисплеями, и успешно преодолели связанные с этим сложности. Пришла очередь программистов для OS X.

Сомнения

“Кугуар” не был похож на версию фазы “так”. Слишком много новшеств, ни единого слова о числе выловленных и уничтоженных багов, ни слова о тщательно переработанных или вообще переписанных с нуля “дебрей”.

Но о том, что случилось в реальности, в следующий раз. Столкновение новинок с реальной жизнью редко обходятся без жертв и неприятностей.

О некоторых неприятных вещах, однако, стало известно уже вечером того дня. Кугуар, он же Пума-2 и Горный лев, поддерживал только Mac’и c 64-битным EFI (I – это “интерфейс”, поэтому EFI – “он”?).

Система была несовместима с огромным числом Mac’ов, но жаловаться было бесполезно. Зато у искателей компьютерных приключений появилась возможность блеснуть талантом и исправить ошибки природы, научив старые машины обходить запреты. Не без потерь, и не всегда – но свобода стоит жертв.

Кстати, Windows 8, новейшая операционная система любимого конкурента, на отвергнутые родной системой Mac’и ставилась легко и отлично работала.

Продолжение следует

Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.