Обновить
@khimread⁠-⁠only

Пользователь

121
Подписчики
Отправить сообщение

Как вам уже сказали для этого есть другая страница: https://ubuntu.com/certified

А то, что вы нашли — это для тех бедолаг, которые уже чего-то себе купили и желают потрахаться.

Отличие от Apple — в том, что Apple просто на вас в суд подаст, если вы попытаетесь жаловаться на том, что у вас не насертифицированном железе что-то не работает, а Ubuntu — нет.

Вряд ли это можно записать в вину Ubuntu.

И вот прошло 10 лет нихера не поменялось.

Почему не поменялось? В десятке самых популярных ноутов на Amazon вот прям щаз больше ноутов на Linux, чем на Windows. На них, кстати, и Ubuntu есть. Среди смартфонов 80% на Linux.

А что при попытке взгромоздить Linux туда, куда он не предназначался, возникают проблемы — это да, это и через 10 лет так же будет и через 50.

Надеюсь вскоре линукс исчезнет от глаз общественности и останется только CLI на серверах.

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

Так что если что-то через 10 лет и пропадёт, то это точно будет не Linux.

Это нишевые железки, которые не покупают "просто так", и эта ситуация совсем не эквивалентная.

Что значит “не эквивалентная ситуация”? В чём отличие?

И как часто такое происходит, что сидит человек, годами пользуется десктопом на HiFive Unmatched и думает, а не накатить ли мне MacOS туда, наверняка это просто, ведь из коробки Linux там безупречно работает?

Нечасто. Но это ровным счётом ничего не говорит ни о Linux, ни о MacOS.

Говорить только лишь о популярности соотвествующих платформ.

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

Это проблемы такого человека. Если рассмотреть ситуацию “я купил железку не заточенную под мою OS и пробую взгромоздить туда её”, то у Linux будет оценка “между удовлетворительно и хорошо” (железо, которое не поддерживается совсем крайне мало, хотя для огромного количества железа драйвера появляются не сразу, а через некоторое время), у Windows где-то “между плохо и удовлетворительно” (если процессор x86, то шансы неплохие, если нет, то никаких), у MacOS “чистый неуд” (чтобы Хакинтош завёлся нужно подбирать оч специфическое железо и даже в этих услових будет куча проблем).

Если ставишь на рандомный ноут, производителю которого на Linux наплевать, то чего-нибудь точно работать не будет. Неважно — это Ubuntu, Linux Mint или Elementary OS.

Покупаешь ноут с Linux, поддкрживаемый производителем или продавцом — и всё работает.

И так это было всегда и будет всегда.

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

А вы хотите, чтобы OS, под которую железо никто даже не затачивал, заработало сразу из коробки и без глюков.

Так не бывает.

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

А если в другую сторону? Взять какой-нибудь Banana Pi или HiFive Unmatched и начать взгромождать туда MacOS или Windows? Хороший будет экспириенс? Маджикал?

Правда заключается в том, что просто ноутов с GNU/Linux продаётся мало и всё.

На всём железе, которое поставляется с Linux он прилично работает.

Это совершенно другая проблема, не имеющая никакого отношения к “зрелости” или “незрелости” Linux.

Специальный подбор железа — это уже когда шишки набиты и повторять ещё раз не хочется.

Ну дык если вам хочется приключений на свою задницу — тогда да. А так — покупаекте любой ноут, на который производитель или продавец ставит Linux — и спокойно работаете (пишу с такого, кстати).

Почему-то для других OS этот подход считается нормальным, для Linux - нет.

Однако Android и Ubuntu, которые туда идут “небольшими дополнениемя” это где-то под 100GB исходников каждый.

Ровно настолько же, чтобы купить Asus Zenbook и не знать на каком он процессоре.

Правда в случае с Asus всё не так ужасно, может быть AMD и Intel.

В случае с маками всё интереснее.

Но реальность такова, что даже в 2021 он всё ещё сырой.

Что значит “сырой”? Там, где он из коробки поставляется он, обычно, нормально работает.

Если вот прямо сейчас глянуть на список бестселлеров в разделе лаптоповна Amazon — там в десятке будет три мака и четыре ноута на Linux. Больше, чем на Windows.

А на смарфонах он и вообще 80% занимает.

А вот если громоздить его на ноут, изначально заточенный под другую OS — тогда, конечно, будет боль и страдания.

А чего вы хотели?

Существует вполне достаточно контор, готовых вам поставить настроенный и работающий ноут с Ubuntu.

Но вы, почему-то, идёте не к ним, а чёрте-куда.

Давайте я вам сейчас дам мою HiFive Unmatched, а вы на неё попытаетесь поставить хоть Windows, хоть MacOS.

Будет куда как больше попаболи, чем в ваших приключениях с Linux.

А вот Linux, лежавший в коробке, завёлся и работает.

Удивительно, правда?

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

А на сайте Ubuntu?

Топикстартер откопал какую-то страничку где-то на форуме и записал, на этом основании, Asus ZenBook (коих существуют десятки, если не сотни, разных моделей) в список "поддерживаемых" - кто ж ему, теперь, доктор-то?

А вот на коробке с маками не написано там внутри Мак с процессором Intel или нет.

И как быть? Ну если вы не хотите ни с чем разбираться?

А если на оффициальном сайте Apple есть инструкция про установку Windows, то Маки предназначаются и для Windows тоже, да?

Давайте я вам новенький Мак на M1 дам, а вы туда Windows поставите. Могу даже видео заснять с вашими попытками это сделать.

Да, Linux отлично работает на десятках, даже сотнях ноутов. Хромбуки называются. А ещё смартфоны. И там всё работает из коробки.

А где в статье раздел “как я поставил MacOS на свой Asus Zenbook и всё отлично заработало”?

Искал, читал, не нашёл. Плохо искал?

Откуда Вы взяли такие такты?

А откуда их вообще все люди, занимающиеся компиляторами, берут? Ну, кроме тех, кто непосредственно работает в AMD или Intel? Из всем известных таблиц, очевидно.

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

Со времен Пентиума DAA - 3 такта, DAS - 3 такта

Угу. Вот начиная с Пентиума на них и начали “забивать”. 80486 — 2 такта, Pentium — 3 такта (и параллельно ничего другого исполняться не может, то есть уже тогда, уже на том самом Pentium'е INTO в 3-6 раз хуже, чем JO, который только V pipe занимает на один такт, давая запустить на U pipe какое-нибудь сложение), дальше — ещё хуже.

Чего вы хотите от “инструкций, которые более не используются”? Это из той же оперы, что и LOOP какой-нибудь, который на том же Pentium уже тоже 5-6 тактов занимают (и который, кстати, в x80-86 режиме остался и даже, на AMD, не сильно тормозит, но если ваш код используется ещё и на Intel'овских процах, то, разумеется, LOOP вы использовать не будете)

Откуда взялись сотни тактов?

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

Впрочем не спрорю: на большинстве процессоров вы, скорее, получите десятикратное замедление, чем стократное, 50-100 тактов это только на отдельных “особо выдающихся” архитектурах.

И волнует надежность, поэтому и нужен аппаратный контроль переполнения.

Дык вы ж, вроде как, компилятор пишите? Причём тут вообще надёжность? У вас JO уже ненадёжным стал?

Вы в курсе того, что делают другие на этом поприще? Про Intel MPX знаете? А про то, что его использование оказалось бессмысленным (и его выпилили и из GCC и из ядра Linux)?

Как я уже написал в другом месте: такое ощущение что читаешь записки Фрая, свалившегося в криогенную камеру и провалявшегося в ней лет 20-30.

И не знающего ни того, как работают современные компиляторы, ни того, как работают современные процессоры.

Но при этом поддерживающего x86-64.

Странно это всё выглядит.

Вот и выросло очередное поколение, заново открывающее для себя числа, которые обязан знать каждый.

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

Напоминает и будет напоминать, пока какая-нибудь внешняя по отношению к IT-индустрии сила ситуацию не изменит.

Например если Россия или Китай, на уровне законодательства, заставят народ отказаться от Windows и пересесть на RISC-V или там E2k — ситуация может и измениться.

Если же рынок будет предоставлен сам себе, то никаких шансов нет.

Посмотрите на Apple, который уже 4 раза меняет процессорную архитектуру. Каждый раз это начинается с того, что выпуск железок на старой архитектуре принудительно прекращается: 68060 ни в одной модели не использовался, старшие модели PowerPC (перед переходом на x86) тоже были проигнорированы, как и Ryzen.

Ну и кто ещё контролирует какую-либо платформу так плотно, что может себе подобное позволить и не обанкротится, когда ниша будет занята конкурентами?

Регистры FPU зачем-то организованы в виде стека, что выбивается из общей системы прямой индексации.

Почти все странности в таких случаях объясняются “историческими причинами”. Изначально для FPU было выделено всего-навсего 8 опкодов и формат инструкции большего не предполагал: 3 бита в основном опкоде, ещё 3 в ModRM - и… крутись как хочешь.

Программы в те годы писали на ассемблере и стековая организация позволила совместить компактность кода и эффективность.

Что касается MIN и MAX, то они есть, но лучше бы их не было. Ибо MIN(1.0, NaN) или MAX(1.0, NaN) — это NaN, а вот MIN(NaN, 1.0) и MAX(NaN, 1.0) — это 1.0.

Ну так эффективнее было реализовывать, а что такой хоккей нафиг никому не нужен — так это мелочи.

Кто-то говорит что такая команда не нужна, т.к. редко используется. Но в ARM она есть, и кроме того это по смыслу фундаментальная операция.

Правильно говорят. Вот именно ARM и показывает почему она не нужна. Команду RBIT я встречал в живом виде только в двух случаях:

  • Для эмуляции RBIT (в интерпретаторах) — просто “шоб було”

  • В ARM - чтобы эмулировать CTZ (которого там нету).

Сама по себе она просто никому особо не нужна (хотя будет очень инетресно узнать что-нибудь о существовании алгоритма, где она применима), а CTZ нужен куда как чаще, потому логично что в x86 имеется LZCNT и TZCNT, но не RBIT.

В FPU почему-то операции сравнения числа на равенство и неравенство с NaN всегда дают false, хотя какой в этом смысл?

Смысл в возможности использовать языки созданные до повяления понятия NaN. Заметьте, что в уже упомянутом вами ARM NaN ведёт себя так же.

При этом минимум и максимум с NaN дает второй аргумент (не NaN).

То есть вы-таки в курсе о том, что они существуют?

Система SIMD сделана на отдельных командах, хотя тоже напрашивается мысль — почему бы не сделать ее префиксами для стандартного набора команд?

А в каком процессоре сделано так, как вы предлагаете, извините?

Но в какой-то момент нужно уже остановиться и полностью пересмотреть систему команд, провести полный рефакторинг всего — как минимум для повышения ясности самой архитектуры.

Отличное предложение и уже реализованное. Один раз, второй, третий, четвёртый, пятый… это то, что до пользователей дошло только! А сколько миллиардов было выкинуто на разработки, которые просто были выкинуты в корзину? Не сосчитать.

Кто знает, возможно это привело бы и к высвобождению транзисторов на кристалле, и к устранению каких-то уязвимостей, и к упрощению компиляторов

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

Автор статьи — неординарная личность, зачем-то пилит поделку, которая ещё в 80е была создана под 64 бита.

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

На все языки, которые "кому-то нужны" раработчиков процессоров не хватит.

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

Enum и сейчас, в C++, может один байт занимать. А в Rust в один байт может быть запакован и enum и Option<enum>.

Да вообще много чего бывает, но если эффективность программы мерить количеством байт кода, не обращая внимание на то, сколько времени оные байты исполняются“… можно много интересного наизобретать.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность