Трохи про OS X Mavericks

Опублікував Сергій Макаренко 12-06-2013 об 19:49

Десятого червня на WWDC'13 Apple представила нову версію «дорослої» операційної системи OS X під назвою Mavericks. На відміну від мобільної операційної системи iOS 7 OS X нового покоління отримала передбачуване, але від цього не менш цікаве, оновлення. Сама компанія з Купертіно наголошує на тому, що ця версія розроблялась з думкою про досвідчених користувачів, тому в ній присутні нововведення, які, перед усім, будуть цікаві так званим power users. Вдосконалення загалом стосуються зовнішнього вигляду деяких елементів інтерефейсу.

Як вам відомо, а може і ні, останнім часом, в контексті інтерфейсів, в Apple спостерігається рух в бік відмови від скевоморфизму — перенесення елементів предметів, що нас оточують навколо у реальному житті, що кілька років тому запропонував Скотт Форсталл. І з того часу скевоморфизм почали активно використовувати в елементах оформлення зовнішнього вигляду як iOS та і OS X. Достатньо хоча б згадати зовнішній вигляд програм «Календар», або «Контакти» в OS X Lion та Mountain Lion. За задумкою Форсталла такий хід допоміг би новим користувачам швидше звикнути до зовнішнього вигляду OS X та iOS. Невідомо, на скільки цей крок був ефективний з точки зору полегшення та сприяння адаптації користувачів, але з звільненням Форстолла від скевоморфизму вирішили відмовитись. В OS X Mavericks, судячи з презентації, були вилучені всі елементи, які б нагадували папір, шкіру або дерево.

Зовнішні зміни

Але це не найголовніше з того, що нам показали на WWDC'13. Насправді, як на мене, навіть без використання скевоморфизму перед нами все той же UI, який ми вперше побачили в OS X Lion. Як я вже казав, Apple акцентувала увагу на тому, що OS X Mavericks містить вдосконалення, орієнтовані на досвідчених користувачів. Я б класифікував вдосконалення умовно на ті, що ми бачимо і на непомітні нововведення під капотом системи. Почну зі змін в інтерфейсі.

Finder

Finder нарешті отримав довгоочікувані багатьма користувачами таби на кшталт тих, якими ми користуємося щодня в Safari. Для того, щоб багато не розповідати вам про все це пропоную подивитись на відео вище частину презентації, на якій Крейг Федерігі (Craig Federighi) показує, як працює оновлений Finder. Від себе додам, що особисто я не дуже відчував брак закладинок в Finder. Якос у мене була спроба спробувати TotalFinder, але мене вистачило на кілька днів і я просто про нього забув. На цьому тема табів для мене була закрита. Можливо, з Finder в OS X Mavericks у мене все буде по іншому, подивимось.

Підтримка кількох дисплеїв

Судячи з відгуків в інтернетах саме цього чекали професіонали, а не появи табів в Finder. Не можу сказати, що я очікував цього, але кілька разів доводилося свій MacBook Air підключати до зовнішнього дисплея. Користуватись комп'ютером в такій конфігурації було не дуже зручно, так як зовнішній монітор можна було використовувати лише для виводу відкритих вікон окремих програм, або у режимі так званого відеодублювання. Тепер же, в OS X Mavericks, можна використовувати як другий повноцінний робочий стіл з строкою стану і Dock-ом. До того ж, в якості другого дисплею також можна використовувати пристрої, що підтримують AirPlay (Apple TV наприклад). Окрім того, Mission Control теж буде відкриватись і показувати перелік відкритих вікон на кожному дисплеї, що підключено для комп'ютера.

Нотифікації

В OS X Mavericks класно прокачали нотифікації. Наприклад, тепер ви зможете одразу відповісти на iMessage або Jabber просто навівши на повідомлення курсор. Або відповісти чи видалити електронний лист, який щойно надійшов. Також, зараз, при отриманні дзвінка по FaceTime ви зможете відхилити його, або відповісти. Зараз же, в OS X Mountain Lion, в аналогічній ситуації запускається програма FaceTime, що не дуже зручно. Окрім вдосконалення стандартних повідомлень ви зможете отримувати повідомлення від сайтів, що відкриті у вкладках запущеного Safari (принаймні так сказав під час презентації Крейг Федерігі). Яка практична користь від цього я поки слабо уявляю.

Також, тепер, коли ви будите виводити ваш ноутбук зі сну на екрані логіну відображатимуться нотифікації про пропущені події (пам'ятаєте про Power Nap?). Про повідомлення та електрону пошту все зрозуміло, а от про оновлення програм в фоновому режимі — це цікавіше. В OS X Mavericks та iOS 7 буде реалізований механізм оновлення встановлених програм. Це значно зручніше, аніж жмакати кожного разу на нотифікації про доступні оновлення в Mac App Store. До речі, власників OS X Server, які оновляться до OS X Server Mavericks чекає приємний сюрприз, але про це трохи пізніше.

Теги

Це дуже класна фішка на мою думку. В новій версії OS X додали можливість тегування на системному рівні. Тепер, при створенні або збереженні документа, можна буде додавати теги, а потім, в межах системи, за цими тегами швидко шукати потрібне. Ви знаєте, практичність такого підходу я зацінив ще в Mail. Там дуже зручно шукати за отримувачем, або по певних словах у заголовку листа. Особливо, коли у вас у скриньці кілька десятків тисяч листів. При умілому підході така система тегів значно спростить життя людей, в яких комп'ютер забитий купою робочих файлів.

Safari

Як і очікувалося, з кожним релізом нової версії OS X Apple додає якісь круті фічі в свій браузер. На цей раз перепиляні вздовж і в поперек Reading Lists, Top Sites, Reader і додано класну, як на мене, фічу Shared Links. Shared Links дає змогу передивлятись прямо у Safari лінки, яки розшарили в твітері або Linkedin люди, яких ви читаєте. В Reading Lists в основному дрібні покращення: тепер для того, щоб перейти до наступної статті достатньо потягнути зверху до низку поточну, а не клікати на неї у боковій панелі. Top Sites отримав більш чистий та простий дизайн. Reader тепер виводить тільки текст та малюнки на білому фоні (у Mountain Lion у якості фону використовується затемнена цільова сторінка) зі сторінки сайту, який ви читаєте, і в ньому стало можливо змінювати розмір тексту.

iCloud Keychain

Для користувачів OS X мабуть не треба пояснювати, що таке Keychain. В OS X Mavericks ключар тепер синхронізується між вашими пристроями через iCloud і вміє зберігати дані про кредитні картки. Але цікаве інше. Справа в тому, що файл даних Keychain — це SQLite база даних, в якій паролі, сертифікати і приватні дні користувача зберігаються в зашифрованому вигляді. А останні два роки окрім проблем при синхронізації баз даних через iCloud за допомогою Core Data нічого не спостерігалося. А тому або Apple проблему з Core Data вирішила і тепер усім буде щастя, або все залишилося як є і iCloud Keychain використовує інший механізм синхронізації.

iBooks

Єдине, що я можу сказати: «Нарешті це сталося»! Я хотів появи iBooks в OS X ще з моменту виходу цієї програми на iOS. Хоча б тому, що читати з ноутбука зручно. Особливо це стосується власників MacBook Air (серед яких і ваш покірний слуга). Найкращої програми для читання книг людство ще не винайшло. І реалізація iBooks для OS X виконана в стилі Apple. Тобто на найвищому рівні. Вам я пропоную подивитись шматок презентації де їдеться про iBooks (відео вище).

Maps

Це логічний крок на шляху інтеграції OS X та iOS. Насправді, я тут не можу втриматись від жарту, що мега-круто було б, якщо Apple ще в своєму додатку реалізувала можливість обирати API картографічних сервісів, з яких би підтягувались дані в програму. Я б тоді обрав би, наприклад, Яндекс. Але жарти жартами, а можливості програми насправді круті. По-перше, картографічний сервіс від Apple глибоко інтегрований в систему і дозволяє, наприклад, в програмі «Календар» автоматично розраховувати час подорожі від місця однієї події до місця проведення іншої. Наприклад, якщо б у нас мапи від Apple працювали так, як треба, то в календарі OS X Mavericks я б побачив повідомлення про те, що їхати на зустріч з вулиці Львівської до Червоноармійської на громадському транспорті мені тридцять хвилин. Але поки що це реально виключно для США та Західної Європи.

По-друге, маршрути, сплановані в додатку «Мапи», можна відправити на iPhone або iPad. Я сподіваюсь, що в подальшому цю функціональність автоматизують і при перегляді якогось місця на мапі автоматично буде видаватись маршрут до нього на iPhone або на дисплей вашого авто. І, нарешті, сподіваюся, що Apple почне аналізувати і використовувати ці дані для того, щоб Siri була такою ж корисною і вправною, як Google Now. На цьому з зовнішніми змінами в OS X Mavericks у порівнянні з OS X Mountain Lion я закінчую і переходжу до «підкапотних» змін, які не менш цікаві.

А що під капотом?

В середині OS X Mavericks не менш прекрасна, аніж зовні. Хотів би зазначити, що повний перелік вдосконалень наведений в цьому документі, а я зупинюся на тих, які мені здалися найбільш цікавими.

Compressed Memory

Як вам відомо, в може і ні, в OS X присутньо кілька типів пам'яті. Так от, Compressed Memory стискає так звану неактивну частину даних в пам'яті і вивільняє місце для нових програм. На практиці це виглядає приблизно так. Ви щойно закрили програму Mail і відкриваєте Pages. Дані, які використовувала Mail досі знаходяться в неактивному секторі оперативної пам'яті. Якщо не використовується технологія Compressed Memory то під час запуску Pages неактивний сегмент пам'яті буде відданий в розпорядження Pages і дані Mail будуть знищені. При повторному запуску Mail програмі доведеться зчитувати дані, що були в неактивному сегменті з жорсткого диска, що значно збільшить час її завантаження.

При використанні ж технології Compressed Memory дані Mail не будуть видалені, а, натомість, будуть стиснуті. За рахунок цього стискання звільниться місце для даних Pages, а дні Mail зможуть бути повторно використані при запуску цієї програми пізніше. За словами Крейга Федерігі для стискання пам'яті використовується WKdm-алгоритм завдяки якому цикл стискання/розтискання займає менше часу, аніж операція запису/зчитування в дисковій підсистемі (за умови використання SSD нокопичувача). Якщо стиснуту частину пам'яті необхідно записати на swap-розділ SSD, то він розжимається і записується в звичайному вигляді.

App Nap

Суть цієї технології полягає в тому, що система переводить процеси запущеної програми, яку ви в даний час не використовує, у спеціальний стан, під час якого знижується навантаження на процесор і дискову підсистему. Зазвичай, в такий стан переводяться програми (якщо вони не відтворюють під час роботи аудіо), які ви закриваєте вікнами програм, з котрими працюєте в певний конкретний момент часу. Наочно механізм роботи App Nap відображений на відео вище. App Nap використовує такі заходи для зменшення навантаження на систему програмою, яка не використовується:

  • Контроль переривань — знижає кількість переривань програми, що не використовується чим зменшує навантаження на процесор;
  • Контроль операцій вводу/виводу — знижує пріоритет звернення до дискової підсистеми неактивної програми і слідкує за тим, щоб її звернення не перешкоджали використанню дискової підсистеми додатку, який ви активно використовуєте;
  • Контроль пріоритетів — зниження пріоритету програми відбувається для того, щоб звільнити більше процесорного часу для активних програм;

Окрім того, у розробників буде можливість створювати програми, які у фоновому режимі не будуть пригнічуватись App Nap. Це буде можливо здійснити за допомогою IOKit IOPMAssertion API (який зараз використовується в OS X для запобігання переходу системи в стан сну якщо, припустимо, програма не завершила якусь дію).

Timer Coalescing

У будь-якій системі запущеними програмами і процесами виконується купа фонової роботи. У кожної програми свій розклад перевірки оновлень, звернення до мережевих інтерфейсів, тощо. Всі ці програми за допомогою переривань звертаються до процесора по процесорний час і роблять це хаотично (графік таких переривань показано на малюнку нижче). Напрклад, програма Software Update повинна запускатися для перевірки оновлень один раз на сім днів, але може це зробити саме тоді, коли ваш ноутбук працює від акумуляторної батареї.

Переривання програм в звичайній системі

Якщо алгоритм технології Timer Coalescing перевести на просту і звичну мову, то він робить наступне. Він узгоджує звернення до процесора всіх активних в якийсь конкретний час програм для зменшення навантаження на батарею і для збільшення часу, під час якого процесор знаходиться у стані спокою.

Переривання з технологією Timer Coalescing

Після застосування технології Timer Coalescing переривання від різних програм впорядковуються, як показано на малюнку вище. За словами Крейга Федерігі завдяки використанню Timer Coalescing вдалося знизити навантаження на процесор до 72%. Озираючись на всі ці технології і нововведення, спрямовані на зниження навантаження на процесор і зменшення споживання електроенергії, коли ноутбук працює від батареї, я починаю розуміти чому нові MacBook Air здатні на одному заряді АКБ пропрацювати до одинадцяти годин.

Вдосконалення логіки роботи процесу Launchd

В OS X Mavericks launchd слідкує за тим, що процеси запускались тільки в тому разі, коли в них є потреба. Така схема контролю за активністю системи дозволяє оптимізувати використання процесорного часу і споживання електроенергії для максимально довгої тривалості роботи від акумуляторної батареї. Наприклад, приводом для запуску процесів можуть бути наступні події:

  • підключення або відключення мережевого інтерфейсу;
  • коли виконується завдання користувача (наприклад, друк документа на принтері);
  • коли підключається якийсь пристрій, або монтується файлова система;

Окрім того, launchd можна інціювати запуск якихось процесів призначивши їм конкретну дату (за допомогою параметра StartCalendarInterval) або період виконання подій за допомогою ключа StartInterval. На відміну від cron — який ігнорує завдання, призначені на період, коли комп'ютер знаходиться в режимі сну — launchd розпочне виконання завдання після виходу комп'ютера з режиму сну. Якщо комп'ютер засинає через певні проміжки часу, launchd формує спеціальний тригер для виконання прострочених завдань.

А щодо OS X Server?

За різноманітними плітками, що циркулюють інтернетами, OS X Server Mavericks отримає нову версію Profile Manager, в якій буде підвищена швидкість роботи і додано підтримку iOS 7. Зокрема, фігурує інформація про прискорення швидкості доставки програм на нові версії iOS та OS X та появу низки нових можливостей. Але поки що стосовно нових функцій ніякої конкретики немає.

Також, в новій версії OS X Server буде вдосконалено Caching Server. Нагадаю, що цю служба призначена для завантаження оновлень з App Store та Mac App Store з наступним розповсюдженням файлів по локальній мережі. Caching Server 2 буде облаштований механізмом, який дозволить клієнтським версія OS X Mavericks та iOS 7 встановлювати оновлення в фоновому режимі без участі користувача. І в завершення, нова версія серверної системи матиме так званий Xcode Server, який призначений для тестування та хостингу репозиторіїв для розробників. Ось коротко про нову операційну систему від Apple.

З нетерпінням чекаю моменту, коли її можна буде встановити на Parallels Desktop, а поки для того, щоб доторкнутись до майбутнього доводиться використовувати зовнішній накопичувач. У підсумку можу сказати, що мені OS X Mavericks подобається і я вважаю це дуже хорошим і якісним оновленням. Сподіваюся, що ця система стане чудовим доповненням новому Mac Pro.