All streams
Search
Write a publication
Pull to refresh
3
0.1
Виктор Дручинин @Viknet

User

Send message

Там отдельная бета XCode 12 с поддержкой Universal Binary и ARM таргета.

Вижу, что этот тип отсутствует в стандартной библиотеке Swift для iOS.
Под ARM таргет macOS тоже не собирается?

Вы уже видели SDK?

Видел. Я пока не нашёл почти ничего зависимого от ISA. Отдельные функции, которые могут вести себя по-другому на ARM уже несколько лет как deprecated и имеют альтернативы. За это стоит сказать спасибо унификации стека технологий iOS и macOS.


Можете сказать, что оптимизаации кода под специфические задачи будут выглядеть одинаково?

Единственная сложность может быть с тюнингом интринсиков в перформанс-критикал участках, где по каким-то причинам не подошли стандартные API.
В любом случае, таким занимается исчезающе малое количество приложений.


Ну и приложения, работающие с виртуалками и гипервизором напрямую потребуют переработки.


А через год не будет как с металом или ещ многими API?

А что с Metal произошло? Кажется, это один из немногих API, который позволяет работать и с графикой и с вычислениями, имея один и тот же код для мобильного и десктопа. С переходом маков на ARM тут вообще ничего не меняется.
Все API, даже те, что объявлены deprecated (как OpenGL), продолжают существовать на ARM.


Код на х86 был хорош тем, что можно было много вещей держать в одном месте, теперь же этого никто не может гарантировать.

Эту часть я не понял. Подавляющее количество кода завязывается на системные API, а не на ISA. В этом основная сложность разработки кроссплатформенных приложений, а не в низкоуровневых отличиях, которые практически не видны из языков высокого уровня.


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

Она достаточно большая чтобы не вызывать с этим проблем у меня. Если кто-то не захочет портировать своё приложение, на его месте с радостью вырастут альтернативы.
Не стоит забывать ещё про те приложения, которые уже существуют под iOS/iPadOS и начнут запускаться на маке.

Практика показала, что промежуточные Ring 1 и Ring 2 ничего полезного не привносят, а тормозов добавляют.
Проще и эффективнее оказалось наоборот — выносить драйвера и подсистемы в Userspace, уменьшая площадь атаки и избавляясь от переключений контекста на каждый чих.


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

Всего 4? У вас устаревшие сведения.
Ring -1: https://en.wikipedia.org/wiki/Protection_ring#Hypervisor_mode
Ring -2: https://en.wikipedia.org/wiki/System_Management_Mode
Ring -3: https://en.wikipedia.org/wiki/Intel_Management_Engine


И да, для виртуализации всё уже давно есть в -1 кольце.

Для пользователя всё-таки есть разница:


  • год продаж и 3 года поддержки (см. Google Pixel)
  • 3 года продаж, 5+ лет поддержки (iPhone 6s).

Не говоря уже о том, что не все дают такой срок поддержки как Google.

Я добавлю, что не надо воспринимать Apple как колосса на глиняных ногах: у них очень толстая жировая прослойка в виде гибкой структуры поставок компонентов, позволяющей менять объёмы производства в широких пределах без особых потерь, а немалая доля расходов идёт на выкуп своих акций, покупку других компаний и диверсификацию производства в разные страны.
А также имеется приличное количество "свободных" денег ($207 billion in cash and marketable securities, versus total debt of $108 billion).

Я сказал «зарабатывает», а не «продаёт».

Я и написал — около 10% revenue. Только давайте не будем пытаться оценить сколько денег Apple тратит на какое направление.


При этом процент рынка у iPhone — небольшой, на самом деле (чуть больше 10%)

Доля продаж по миру у Apple, в зависимости от квартала, от 10% до 20%.
Доля же "живых" устройств, ходящих в сеть, превышает 20%.
Всё это, конечно, по оценкам сторонних компаний, и точные цифры взять просто негде.


паритет в продажах (а с учётом Китая и превышение) над Андроидом — только за счёт «богатениких лохов», которые денег не считают

$700 раз в 3 года — это не очень большие деньги даже для небогатого китая.


Когда случится кризис (а он, так-то уже «на носу») — довольно большой процент этих людей начнёт-таки считать деньги, а Китай может и целиком отпасть, если война между Китаем и США разгорится.

Если весь рынок упадёт в несколько раз, то Apple будет последней компанией, которая лишится прибыли.
Я не очень верю в затяжной кризис, скорее очень долгое восстановление после постепенного ослабления карантинных мер в разных странах и медленного возобновления производства.
Китай — да, тут можно чего угодно ждать. Но даже самые безумные запреты не "убьют" компанию.


И за счёт чего всё это будет существовать?

Apple с телефонов получает уже меньше 50% всей прибыли и продолжает наращивать долю носимых устройств и сервисов.


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

"Ускорители" там для узкоспециализированных задач, вроде кодирования видео и работы с ML, впрочем как и в x86. И сравнимую производительность они обеспечивают уже сейчас.
А что именно будет отличаться в бинарниках? Обычный Mach-O fat binary, который поддерживается ещё со времён перехода PowerPC -> Intel.

Для маков серьёзные проблемы хотя бы быстро получают известность, и можно осознанно делать выбор — брать или нет, если не гнаться за покупкой в день выхода, для всего остального приходится читать тонны форумов в поисках отзывов.
Лично меня ни один из "страшных фейлов" не затронул, но это исключительно мой опыт.


А вообще в маках меня устраивает даже не железка, а именно ОС, которая, по большей части, "не отсвечивает", и экосистема.

"Очень мало" — это всё таки около 10%.
А обсуждают много потому что пользуются маками как рабочим инструментом. Если завтра iPhone перестанет меня устраивать, я немного расстроюсь, но без особых проблем перейду на какой-нибудь Pixel. Если же с маком произойдёт фигня, я даже не знаю куда переходить — альтернативы одна другой хуже (ИМХО, конечно).

Эта ветка скатилась в конспиралогию, мне такое неинтересно обсуждать.

Мало ли что они рассказывают.
Я не верю, я знаю.

Если бы хотели знать, пошли бы исследовать, что накопали reverse-инженеры. А они как раз подтверждают всё, что рассказывает Apple.


Поскольку лично и многократно проверил.

Анекдотичные примеры не могут считаться подтверждением. Вы могли ошибиться тысячей способов, от выбора дистрибутива до опечатки в команде. Не говоря о том, что загрузку Windows 7 на современном маке не предусматривали ни в Apple ни в Microsoft, а навыков понять, с чем конкретно связана неудача у вас недостаточно.


без явного разрешения apple

А людям, у которых получилось, Apple выдал разрешение? Или может по лицу определяет, кому разрешить, а кому запретить?


Открытую «водрузить» ещё сложнее, в смысле apple это запрещает польностью

А это просто ложь (по крайней мере для intel маков).


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

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

Вы можете объяснить конкретные принципы, согласно которым google, apple, facebook и подобные им компании выбирают, кого они сегодня будут банить, кому разрешат или облегчат побольше действий, а кому побольше затруднят и запретят?

Вы в обсуждении поведения загрузчика ОС приплели ИИ, а теперь вообще соскакиваете на какие-то "баны".
Нет, Apple не делает никакого Rocket Science при загрузке. Они рассказывают как вся система безопасности с T2 работает и для чего всё было сделано в публичных документах: https://www.apple.com/euro/mac/shared/docs/Apple_T2_Security_Chip_Overview.pdf
Если потрудитесь, сможете найти мэйллисты, в которых разрабатывают драйвера для поддержки T2 в линуксе, и форумы/дискорд-сервера, где тусуются реверс-инженеры. Но верить в заговоры, конечно, проще.


«Если Apple прекратит поддержку»

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

Мы сейчас говорим не о детерминимрованном, подчинённом чётким и ясным законам linux-мире с его reproducible builds, а о закрытом, опутанном непонятно как работающими ИИ-законами маке.

Я извиняюсь, но вы бредите.


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

Автор статьи сделал хайповый заголовок, как сейчас принято, и написал о том, что компьютеры выпущенные сегодня, могут перестать получать поддержку через 5 лет. А могут через 6. Или через 4.
Но сейчас эта поддержка есть и ещё несколько лет на неё можно расчитывать.
Вы же делаете дальнейшие прыжки в логике, ничем их не объясняя. "apple, забивший на поддержку маков в целом" — я не вижу тут указания на какое-то будущее.

Или что мак не позволил ему запуститься.

Одни и те же модели маков у кого-то позволяют, а у кого-то не позволяют? Вы всерьёз в это верите?
Гораздо проще это объясняется ошибками в подготовке образов и загрузчиков. Форумы усеяны сообщениями о том, как на абсолютно стандартных конфигурациях PC что-то не запускается или не устанавливается.


«отсутствие поддержки маков на интеле» одним из своих следствий имеет

Вы не привели ни одного аргумента в поддержку того, что маки не поддерживаются, а уже выводите из этого следствия (которые не подтверждаются фактами).

нажать клавишу «e» и вписать в конец командной строки

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


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


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


И, завершая эту затянувшуюся дискуссию, ещё раз выскажу простую мысль: отсутствие драйверов под устаревшую стороннюю ОС — это не "отсутствие поддержки маков".

Вот даже на хабре статья как устанавливать Linux без подписанного загрузчика: https://habr.com/ru/post/472106/


Если вы взяли образ без EFI, то никуда управление, конечно, не передастся. MBR загрузка много лет уже не поддеживается.

Тысячи людей ставили себе разные версии linux на маки с T2, а вы утверждаете, что оно не работает.
Может, просто использовали не официальный образ с поддержкой EFI?

В андроиде нет JVM.
Но сама Oracle JVM под ARM существует, как и OpenJDK. Не знаю, правда, насколько хорошо работает.

Information

Rating
4,228-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity