imagazin arrow2-left arrow2-right arrow2-top arrow-up arrow-down arrow-left arrow-right cart close dossiers education fb instagram menu notification oander rss rss-footer search service shuffle speech-bubble star store stores tests twitter youtube

Промена на батерија по намалена цена!

Направи резервација и промени ја батеријата за 1.990 МКД.

Како може 64-битната транзиција да биде изведена толку мазно?


Apple донесе многу иновации во изминатите неколку години. Меѓу другото, нови процесори, кои наместо на 32-битна, сега работат на 64-битна архитектура. Како би можела оваа транзиција да биде толку брза, а во меѓувреме е потребно толку долго време да се применат промени во iOS и macOS?

Може да се сетите дека не толку одамна, со воведувањето на iOS 11 повеќе од 180 000 апликации станаа бескорисни. Поради едноставна причина: iOS 11 престана да поддржува 32-битни апликации. Оние кои не беа надградени од нивните програмери, заминаа во историјата. Истите радикални промени беа применети и во случајот на macOS.

Ситуацијата е следна. Неодамна објавениот Apple Watch Series 4 е опремен со 64-битен процесор, првпат во историјата на паметниот часовник. И оние кои создаваат апликации за watchOS не требаше да го помрднат прстот за да ги задржат своите апликации да работат со новите часовници, транзицијата беше направена во секунда. Како може тоа да се случи?

Иако не сме програмери, причината е многу едноставна (слободно можете да нè поправите ако нашето објаснување не е доволно точно). Главната причина за ова може да биде дека Apple ги принуди оние кои развиваат за watchOS да користат многу паметно решение. Ова беше задолжително за watchOS (и tvOS), а тоа беше само опција за програмерите на iOS и macOS.

Да почнеме со малку терминологија. Што е Low Level Virtual Machine (LLVM)? Во неколку зборови, тоа е библиотека која се користи за да го компајлира кодот во среден или машински код.

Машински код – што е тоа? Со културна референца: Матрицата. Серија на нули и единици, или со други зборови, еден куп процеси и податоци што се разбирливи за машините. Процесорите на регуларните компјутери можат да го разберат само овој јазик.

И сега е јасно зошто ни е потребна “програма за преведувачи”: за човечките суштества, читањето на машинскиот код е сосема невозможно (само ако сте во матрицата). Затоа се измислени програмски јазици, за да им биде полесно на луѓето да ги управуваат компјутерите. Но, има мал проблем. “Суровиот” код кој е напишан во било кој програмски јазик е неразбирлив за машините. Потребен е преведувач кој може да преведува на јазикот на машината, односно нулите и единиците. Ова е она што го прави LLVM.

LLVM има два различни дела. Постои предниот крај, програмскиот јазик што се користи за креирање на апликацијата, на пример: Swift. И тука е задниот дел кој го изведува преводот од овој јазик во кодот на машината. Apple го направи тоа малку посложено и го претстави Bitcode како среден јазик за Xcode во ноември 2015 година. Сепак, тоа не беше само фантастичен потег на Apple, горенаведената инстант и брза транзиција беше помогната од Bitcode.

Средниот јазик работи помеѓу предниот и задниот крај. И неговата работа е да го направи преводот од предниот до задниот дел полесен и флексибилен. Bitcode го користи LLVM за да го преземе кодот од апликацијата, како да е напишан од програмерот, да го преведе во Bitcode и да ја направи употреблива и извршна апликацијата според дадените инструкции. Тоа е како тампон помеѓу човечкиот и машинскиот код.

Кога Apple Watch доби нов, 64-битен процесор, неговата архитектура бараше друг машински код и друг превод за да се задржат апликациите да останат живи и да функционираат. Без средниот јазик, програмерите треба да интервенираат, исто како што беше во случајот на macOS и iOS.

Благодарение на Bitcode, програмерите не требаа да прават ништо со кодот во своите 32-битни апликации. Доволно беше Apple да ги промени параметрите на Bitcode, за да направи транзицијата до 64-битa да не бара голема интервенција. Бидејќи употребата на Bitcode беше задолжителна за watchOS програмерите од самиот почеток, транзицијата беше брза и мазна. И Apple ова ги предвиде три години однапред.

Извори: Venturebeat, Quora

 

Apple Inc. (AAPL)

Дали го прочита ова?

Воодушевен што сум повторно во Франција за да се сретнам со талентираниот тим во Марсеј.

Воодушевен што сум повторно во Франција за да се сретнам со талентираниот тим во Марсеј.