Pull to refresh
khim @khimread⁠-⁠only

User

Send message

Как вам уже сказали для этого есть другая страница: 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>.

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

Information

Rating
Does not participate
Registered
Activity