Pull to refresh

Comments 50

В следующей «сенсации».

UFO just landed and posted this here
Драйвер GPU именно такой и есть — radeon.ko / amdgpu.ko
Kernel module работает в пространстве ядра и исходники находится в репозитории ядра.
В сети есть такое описание
Ядро Linux представляет собой своего рода виртуальную машину для процессов. Процессы работают без всякой информации про оборудование компьютера — ядро абстрагирует весь уровень оборудования в единый совместимый виртуальный интерфейс. Кроме того, ядро реализует многозадачность прозрачно для всех процессов — каждый процесс «думает», что он является единственным процессом в системе, и имеет полные и эксклюзивные права на память и другие ресурсы оборудования компьютера. Фактически же — ядро выполняет несколько процессов одновременно, и оно ответственно за распределение ресурсов оборудования таким образом, что бы каждый процесс получил достаточный доступ к этим ресурсам.


В связи с этим размещение драйверов в ядре более понятно.

Можно считать что это такая монорепа для множества проектов.

Любопытно наличие в таблице Windows Module Definition.

Хорошо, что в Linux пока нет реестра.
Один древний сервер на Windows 2000 стал после перезагрузки выпадать в синий экран. Поднятие бэкапа помогло частично — стало можно загрузиться один раз. Код ошибки сообщал о повреждении реестра, но реестр был в порядке. После длительных поисков на одном из старых форумов нашлась информация — раздел System реестра не должен был превышать ЕМНИП 8 МБ, иначе под него не хватало выделяемой на этом этапе загрузки области ОЗУ. Помогло удаление следов драйвера видеокарты Nvidia — раздел уменьшился на треть.

Было же время, когда на маленькой флешке можно было носить набор драйверов для практически любого массового железа, а для переноса самого важного хватало дискеты.
UFO just landed and posted this here
8, максимум 16 МБ, но точно не 64. И толку, что пофиксили в XP, если сервер продолжает работать на W2000?
если сервер продолжает работать на W2000

Ммм Сервер
На неподдерживаемой, 10 лет как, ОС… о остатками драйвера nvidia, что наводит на мысль что он собран на коленке из десктопного железа
Но в глюках у вас виноват конечно микрософт ;)

У нас есть софт который работает только на 2000 винде. Платить миллионы за новый? Придётся, но позже. И все равно этот будет лет 10 еще нужен даже если новый появится.

Такая же ситуация. Самописный в разные десятилетия довольно большой комплекс клубок ПО с несколькими БД, элементами САПР и учётом производства, который нужен раз в квартал.
Или пятнадцать лет назад в него разово воткнули видеокарту.
Вопрос кто виноват сразу перешёл в практическую плоскость — что делать.

А что не так с драйвером nvidia? Вполне нормальное было дело, matrox'ы не везде были.

Собственно траблы с превышением максимального размера реестра присутствуют и в XP/2003 со всеми SP. Достаточно просто загнать пару сотен пользователей с уникальными профилями, с их принтерами программами и через полгода можно получить сообщение о «Достигнут максимальный размер системной части реестра». Просто сообщение стало более понятным. В новых версиях просто скорее всего размер радикально увеличили(оперативной памяти стало больше), плюс добавили механизмы сжатия, которые раньше приходилось использовать через ntbackup.
Ну а любителям реестра — попробуйте в нем поменять ключи и применить их не перезагружая «профиль пользователя»/систему. Если вы скажите, что это «нинужна». Почему же тогда сами майки когда выпустят очередное кривое обновление советуют поменять настройки реестра и перезагрузиться? Почему многие программы после установки или обновления требуют перезагрузку, даже если они драйверы не устанавливали?
Ну а любителям реестра — попробуйте в нем поменять ключи и применить их не перезагружая «профиль пользователя»/систему

вы подменяете сущности
Реестр это просто БД, есть куча юниксового софта, где после правки конфигов надо делать reload или вообще restart, тут весь вопрос лишь в архитектуре софта, настройки которого вы меняете

«требуют перезагрузку» — это всё история из времен Win9x где реально на каждый чих надо было перезагружатся, начиная с Win2k все стало гораздо лучше… но опятьже тут проблема не в «злом и ужастном реестре», а в архитектуре, если бы вместо реестра были ini файлики как в старь, точно также надо было бы перезагружаться
UFO just landed and posted this here
Реестр это просто БД, есть куча юниксового софта, где после правки конфигов надо делать reload или вообще restart, тут весь вопрос лишь в архитектуре софта, настройки которого вы меняете

Вы будете делать reload/restart софту, а не всей системе.
«требуют перезагрузку» — это всё история из времен Win9x где реально на каждый чих надо было перезагружатся, начиная с Win2k все стало гораздо лучше… но опятьже тут проблема не в «злом и ужастном реестре», а в архитектуре, если бы вместо реестра были ini файлики как в старь, точно также надо было бы перезагружаться

В этом ущербность и проявляется. Монолит + не предусмотрен reload в принципе. Были бы ini-файлики в иерархической системе — было бы проще читать/раздавать права приложениям.Потому что большинству приложений весь реестр не нужен, а нужна только его часть.
Вы будете делать reload/restart софту, а не всей системе.

а это смотря что вы меняете
Представляете, при изменении параметров grub надо систему перезагружать чтобы они применились! Неслыханно. И даже без реестра.
В этом ущербность и проявляется. Что не предусмотрен reload в принципе.

Прям вообще не предусмотрен? а какже я, когда давно еще сисадмином работал, ставил кучу патчей через wsus на винду, и она не просила меня перезагружаться? Магия… или всётаки не ВСЕ апдейты требуют перезагрузку? А может всётаки и линукс надо перезагружать при изменении некоторых системных частей чтобы они применились? Давайте уж попродробнее, и не приводить в пример убунтовский livepatch который не во всех линуксах есть и не ко всему применим

. Были бы ini-файлики в иерархической системе — было бы проще читать/раздавать права приложениям.

ага, слышал я про историю что в юниксе идеальная модель прав на файлики… причем большая часть это утверждающих впервые слышала об acl в линуксе — от меня (ого, оказывается не только user+group можно! и не всем достаточно)
А вы видимо ниразу не слышали что в реестре можно на ветки права ставить тоже
Представляете, при изменении параметров grub надо систему перезагружать чтобы они применились!

Мы говорим про загрузчик системы. Он и так работает только при загрузке, потом завершает работу, что вы собрались там применять на горячую? Параметры запуска ядра? Так они относятся к ядру, а не к grub. И многие параметры ядра можно заменить во время работы.
Прям вообще не предусмотрен? а какже я, когда давно еще сисадмином работал, ставил кучу патчей через wsus на винду, и она не просила меня перезагружаться?

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

от меня (ого, оказывается не только user+group можно! и не всем достаточно)

Кому не достаточно может использовать xattr.

UFO just landed and posted this here
Проще бэкапить, проще восстанавливать, особенно если восстанавливать нужно частично.
проще бекапить привычным вам способом, вы не думаете что бывают другие привычные не-вам способы? весь виндовый бекап-софт без проблем умеет работать с реестром, и архивировать и частично восстанавливать.
при совершенно небольшом приложении рук, данные из реестра элементарно превращаются в файлики которые можно править руками, бекапить и частично восстанавливать
==
p.s. вы опять холивар хотите устроить, даже не вникая в подробности устройства и работы «неправильной ОС»?
весь виндовый бекап-софт без проблем умеет работать с реестром, и архивировать и частично восстанавливать.

При этом делает он это настолько феерично, что у таких контор как Veeam и Acronis всегда есть заработок на создании «образов» системы. Как вы думаете почему?
А до висты был еще и популярен ERD.
При этом делает он это настолько феерично,

насколько феерично?
У меня вот было феерично когда мне «великий, могучий и незаменимый tar» в солярисе запорол utf-8 имена в файлах и в таком виде закатал на пленку, при этом ни сказав ни слова что чтото идет не так
Мы сейчас еще о хранении конфигурации системы/приложений говорим? Где вы видели конфиги использующие кириллицу в именах? Или может реестр Windows кириллицу умеет? Более того винды проблему кодировок победили недавно, но все равно на всякий случай сохраняют обратную совместимость. Я например видел несколько раз виндовые инсталляторы, которые «крашились» на кириллице в пути. Так что тут проблемы кодировок лежат целиком на совести разработчиков софта, и на тех кто его неправильно применяет. Те же winrar и 7za могут искаверкать кириллицу, если им специально не указывать в какой кодировке имена. Подозреваю единственное преимущество встроенного в проводник виндового архиватора, это то что открывает он только zip и как правило только под виндами запакованный.
Мы сейчас еще о хранении конфигурации системы/приложений говорим?

Так это вы про бекапы начали, я продолжил

Где вы видели конфиги использующие кириллицу в именах?

(взлгянул в календарь) а что в 2020 году так нельзя? всеж с пеной у рта кричать что везде utf8 и вообще мир во всем мире?
Я например видел несколько раз виндовые инсталляторы, которые «крашились» на кириллице в пути

а я в разнокалиберных юниксах тоже самое видел
Так что тут проблемы кодировок лежат целиком на совести разработчиков софта, и на тех кто его неправильно применяет.

ах вот оно что. Когда винда просит перезагрузится, она значит плохая, а когда линукс то это разработчики какогонить wpa_supplicant или usbfilter виноваты, не, ну а чо, отлично.
Подозреваю единственное преимущество встроенного в проводник виндового архиватора

помню лет 10 назад линуксойды кричали что встроенный в винду софт это зло и убивает мир и веру в людей. а в ваш любимой *никс какой архиватор «встроен»?
(взлгянул в календарь) а что в 2020 году так нельзя? всеж с пеной у рта кричать что везде utf8 и вообще мир во всем мире?

Можно, но зачем? Поиметь проблемы на ровном месте? Вместо settings.json «Настроечки.жсн»? а если пользователь не русскоязычный? А если не умеет UTF. Да и банально переведенное в бинарный вид будет вдвое длиннее.
Так это вы про бекапы начали, я продолжил
Про бэкапы я начал в контексте, не удобно бэкапить, не удобно частично восстанавливать. Упакованный «монолит» проще повредить, чем серию мелких файлов… Потому коммерческие решения пока на мой взгляд с бэкапами именно системного раздела вместе с реестром справляются лучше, чем встроенные средства самой windows.
помню лет 10 назад линуксойды кричали что встроенный в винду софт это зло и убивает мир и веру в людей. а в ваш любимой *никс какой архиватор «встроен»?

Зависит от того, что входит в понятие базовой системы и какой архиватор требуется для упаковки распаковки пакетов. Tar точно входит во все дистрибутивы. В остальном, зависит от того какой архиватор вам нужен. Тар это ведь по сути даже не про сжатие — это способ представить файловую иерархию в виде одного бинарного файла. И чтобы вы знали tar'ов на самом деле несколько разных существует, так же почти каждый ЯП имеет в своем составе библиотеку для написания собственного tar. Вот например пакет из go. В самом начале расписано какие имеются форматы и чем различаются и там далеко не все реализовано. tar

Когда винда просит перезагрузится, она значит плохая, а когда линукс то это разработчики какогонить wpa_supplicant или usbfilter виноваты, не, ну а чо, отлично.

Разработчики wpa_supplicant точно не попросят вас перезагрузиться. usbfilter — даже не нашел такого приложения для linux. Есть что-то от asus и оно точно виндовое. В linux вас попросят перезагрузиться наверное только если нужно обновить ядро. Если какой-то драйвер скомпилирован в виде модуля, то его можно выгрузить и загрузить снова.
Можно, но зачем? Поиметь проблемы на ровном месте? Вместо settings.json «Настроечки.жсн»?

Я с вами согласен, однако мой опыт подсказывает что люди не всегда это понимают, особенно молодые-горячие, им только дай волю, и пробелы и в именах и русские буквы.
Потому коммерческие решения пока на мой взгляд с бэкапами именно системного раздела вместе с реестром справляются лучше, чем встроенные средства самой windows.

Ну и хорошо. в чем проблема то? (хотя я скорблю по ntbackup) в линуксе бекап «изкоробки» надо самостоятельно костылить, штатного нажал-кнопку-все-хорошо там нет
И чтобы вы знали tar'ов на самом деле несколько разных существует, так же почти каждый

Конечно я знаю, для меня было откровением лет 15 назад когда я узнал что есть tar gnu-тый, и есть tar юниксовый и у последнего нет части функционала первого… и гуглинг мануалов без оглядки на это приводит по началу в замешательство… в моем случае у него не было поддержки utf в именах файлов несмотря на то что солярка была конца 2000х годов выпуска
Ну и хорошо. в чем проблема то? (хотя я скорблю по ntbackup) в линуксе бекап «изкоробки» надо самостоятельно костылить, штатного нажал-кнопку-все-хорошо там нет

Tar не устраивает? Почти вся конфигурация системы и приложений(за исключением некоторых пользовательских и «не таких как все») хранится в /etc. Запись туда производится редко. Атрибуты GNU tar сохранять умеет. в том числе и расширенные. Хотите пользовательских — присовокупьте еще /home целиком или выборочно каждого пользователя. Хотите всю систему — выберите изначально файловую систему с поддержкой snapshot или lvm. Если грамотно разнесли пользовательские данные и var на отдельные разделы, то и root можно бэкапить тем же tar.
tar gnu-тый, и есть tar юниксовый и у последнего нет части функционала первого…
Есть еще как минимум bsdtar и pax.
особенно молодые-горячие, им только дай волю
Молодые и горячие недавно в ext патч протолкнули, чтобы в имена файлов сделали регистронезависимыми. Хорошо хоть это пока только опция, а не поведение по-умолчанию.
Tar не устраивает?

под tar надо писать всё вручную всякими скриптиками и подробно описывать эти ценные знания для потомков

помню я работал в одной конторе, у нас был начальник, админ netware старой закалки (у нас была винда в тот момент, на серверах которые к нашему отделу относились), у него всё администрирование было на bat файлах самописных… я до того момента еще ни разу не видел скриптов на пару мегабайт размером, с функционалом давно встроенным в саму ОС…
вот мы угорели это мигрировать на штатный и более нормальный функционал.

Я конечно понимаю что «руками всё сделать лучше и надежнее»… но не всегда это аналог самого лучшего решения во всех смыслах
tar -cvzpf arch_name.tar.gz dir1 /etc/dir2 dir3/file3 > log.txt 2>&1
Это без xattr, но если не используете apparmor или что-то подобное, то обычно не требуется. Всю строку можно добавить в крон. А если правильно настроили почту, то вам еще и log.txt свалится. В нем будет список добавленных в архив файлов. И если при добавлении какого-то файла возникнет ошибка, то на нем лог прервется. Если требуется какое-то более сложное поведение то потребуется скрипт, но вряд ли будет больше двух трех десятков строк вместе с форматированием, украшательствами и прочим. Точно не больше двух килобайт.
Сейчас посмотрел один из своих самых длинных скриптов. Бэкапит сайт на wordpress и создает дамп базы mysql. Хранит 10 последних копий локально и три на удалеленном ftp. Всего 99 строк на sh с форматированием и комментариями всего около 3кБ. Правда использует еще одну самописную утилиту на go? которая парсит дату в имени файла и удаляет истекшие архивы на ftp (еще около 100 строк), но это скорее мой каприз — мне хотелось гарантировано знать что на ftp останутся фалы не старше трех дней, но производить чистку только в том случае. если при создании и копировании архивов нет ошибок.
Опять же есть и более сложные системы бэкапа. На любой вкус от amanda/bacula/borg до графических надстроек над консольными утилитами вроде wiki.gnome.org/Apps/DejaDup или community.linuxmint.com/software/view/timeshift
UFO just landed and posted this here
Что непонятного то? Спросили чем лучше бэкапить linux. Я ответил. что tar на /etc достаточно, если хотите получить что-то вроде бэкапа реестра, но если хотите полнодисковый бэкап в стиле Acronis, в момент когда на него еще и пишете активно, то можно затарить снапшот. Любые капризы возможны. Промежуточные варианты бэкапить только те каталоги, которые реально нужны (/etc /root/ хомяки /var/db /var/spool). В оффлайте можете просто смонтировать всю структуру каталогов и таром пройтись.
UFO just landed and posted this here
Это два разных вопроса. Человек спросил чем бэкапить linux. Он не оговорил, нужно ли ему бэкапить только конфигурацию или все доступные данные. Я указал несколько вариантов, в том числе полнодисковый бэкап(а может ему БД бэкапить захочится высоконагруженную).
В контексте бэкапа только конфигурации системы я ответил, что можно бэкапить только /etc, и отдельные каталоги в папке пользователя, если нужно сохранить пользовательские настройки.
Но в целом, все зависит от дистрибутива. Есть например Alpine, который по умолчанию хранит /etc в виде архива, а при старте распаковывает его. Есть специализированные дистрибутивы которые хранят настройки в одном файле, а при старте создают из него /etc…
— А что если добавить в видеокарту чип, который будет реализовать функцию драйвера и предоставлять унифицированный интерфейс OpenGL в конечной точке?
— Не, сынок. Это фантастика. А теперь давай добавим немного php в наш драйвер.

Чип, предоставляющий функции драйвера? Ну, теоретически, такое можно представить. При загрузке он обнаруживает код ядра и используя DMA модифицирует его, дописывая драйвер.


Но, боюсь, это будет уже не "функция драйвера", а "функция malware с уклоном в APT", потому что большинство экспертов с большим сомнением смотрят на оборудование, осуществляющее code injection.

Вроде на VooDoo так и было, в основном функции драйвера пересылать данные на видеоконтроллер.

Да без проблем. 90% драйверов только этим и занимаются (если там промежуточных абстракций нет). Просто "чип с функцией драйвера" звучит примерно как "спички с функцией заварки чая".

Так Raspberry-PI работает. На GPU крутится ОС, а Линукс драйвер просто копирует туда OpenGL команды.
Правда сейчас появился полноценный драйвер.

Интересная архитектура. Прямо таки ОС? Где бы про это прочитать?
Не понимаю, за что заминусовали комментарий. Конечно, не OpenGL, как он есть, а со специальными доработками. Чтобы видеокарта работала с приложениями как сервер с клиентами. Первый клиент имеет привилегии и выдаёт лимиты для остальных клиентов, вроде максимальных размеров буферов и количества используемых вычислительных блоков. Остальные клиенты через буфер просто копируют текстуры и команды OpenGL/Vulkan/DirectX. Так и проблема с драйверами под разные ОС отпала бы.
UFO just landed and posted this here

Тогда пришлось бы хранить те исходные данные, из которых все генерируется. Которые не факт что меньше по объёму. И очень вероятно, что эти исходные данные — проектная документация или даже непосредственно Verilog код, что AMD открывать явно не захочет. Ну и плюс придется коммитить код утилит для генерации.

Sign up to leave a comment.

Other news