The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Представлена концепция дистрибутива AerynOS с обоснованием архитектурных решений"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Представлена концепция дистрибутива AerynOS с обоснованием архитектурных решений"  +/
Сообщение от opennews (ok), 22-Май-25, 14:54 
Разработчики AerynOS, ранее известного как SerpentOS, опубликовали развёрнутую статью, в которой раскрываются детали концепции и технической реализации проекта с обоснованием принятых архитектурных решений. Руководитель проекта Ikey Doherty подчёркивает, что AerynOS - это не просто "ещё один дистрибутив Linux", а платформа, фундамент и набор инструментов, созданные в соответствии с чётким видением...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63285

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от тоже Анонимemail (ok), 22-Май-25, 14:54   +13 +/
Чертежи воздушных замков всегда идеальны.
Но в IT идея и концепция ничего не стоят, значение имеет - реализация.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10, #17, #81

2. Сообщение от Анониматор (?), 22-Май-25, 14:55   +7 +/
почему-то все их архитектурные обоснования читаются как наброс на вентилятор
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #21

4. Сообщение от Аноним (4), 22-Май-25, 15:01   +7 +/
> всё в /etc и /var принадлежит пользователю, а /usr - исключительно системе.

usr от слова user? И там будет всё только системное? А логика в каком каталоге лежит?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7, #43, #45

6. Сообщение от Аноним (7), 22-Май-25, 15:01   +/
Уважаемые коллеги, анонимные эксперты, напомните какой из дистрибутивов наиболее похож на FreeBSD? Gentoo или я ошибаюсь?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #27, #36, #48, #60, #66

7. Сообщение от Аноним (7), 22-Май-25, 15:02   +3 +/
Давно бы сделали program files, user, etc...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #12, #18, #42

10. Сообщение от Аноним (10), 22-Май-25, 15:03   +5 +/
> Чертежи воздушных замков всегда идеальны.

Как говорится, красиво было на бумаге, но забыли про овраги...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

12. Сообщение от Аноним (10), 22-Май-25, 15:04   +2 +/
> Давно бы сделали program files, user, etc...

Так сделали уж давно. Корпорация майкрософт. Правда, их посетила ровно та же проблема - и определиться где и что хранить? Вот так сразу? Ага, сейчас, поэтому переделывали раз наверное пять суммарно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

17. Сообщение от Аноним (17), 22-Май-25, 15:09   –11 +/
Именно в ИТ идея и концепция чего-то стоят. Например, дидам в башку взбрендило как-то раз: а давайте строка "0x7f.1" должна парситься так же, как "127.0.0.1"! Шальная башка дидов породила такую незатейливую идейку, а страдать всем остальным: теперь вообще каждое приложение, конвертирующее строку в IP-адрес, должно это учитывать. Хотя по факту это пригодилось лишь однажды -- в самом RFC, чтоб показать, какая пРиКоЛьНаЯ))) идея.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #33, #34, #112

18. Сообщение от НяшМяш (ok), 22-Май-25, 15:15   +6 +/
Тогда уж как в макоси - /Applications, /User, /System, /Volumes и т.д.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #35, #44, #56

19. Сообщение от Аноним (19), 22-Май-25, 15:19   +/
> Использование инструментария LLVM вместо GNU

Странно но ладно.

> пакетам запрещено содержать какие-либо файлы за пределами каталога /usr

Ой все!

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #65

20. Сообщение от fidoman (ok), 22-Май-25, 15:21   +/
> каждое ядро правильно синхронизировано с соответствующей корневой файловой системой

что там синхронизировать кроме /lib/modules? Которое и так распедалено в соответствии с версией ядра.
Или там такая макаронина, что стоит загрузить не то ядро и всё, системе кирдык?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #64

21. Сообщение от fidoman (ok), 22-Май-25, 15:21   +/
Когда знаний мало, зато идей много.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

24. Сообщение от Аноним (-), 22-Май-25, 15:32   –1 +/
Они идут по стопам GoboLinux, GNU Guix System, NixoS?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #37

27. Сообщение от Аноним (27), 22-Май-25, 15:52   +/
> Уважаемые коллеги, анонимные эксперты, напомните какой из дистрибутивов наиболее похож
> на FreeBSD? Gentoo или я ошибаюсь?

Системой управления пакетами - да.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

28. Сообщение от Аноним (28), 22-Май-25, 15:53   +/
Очередная фантазия о будущем на публику. Причем будущее завуалированно для публики.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #40

29. Сообщение от Аноним (38), 22-Май-25, 15:53   –1 +/
Годно, но опоздали на десять с гаком лет. До тотальной контейнеризации было актуально, а сейчас без разницы на чём distroless контейнеры крутить. ОС на сервере практически и так уже неизменная с минимумом настроек, и поставить её с нуля всегда быстрее, чем чинить или из бэкапа восстанавливать.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #46

31. Сообщение от инновации в орнитологических хозяйствах (?), 22-Май-25, 16:24   +/
Ну, наконец-то чёткое видение и современная инфраструктура. Этого очень сильно не хватало все эти десятилетия. Но теперь дело сдвинется с мёртвой точки. Процесс запустится. Закрутятся колёсики в колёсиках. А там недалеко уже и до Победы.
Ответить | Правка | Наверх | Cообщить модератору

32. Сообщение от Аноним (32), 22-Май-25, 16:29   +1 +/
>отказ от встроенных изменений в пользу декларативного подхода, подобного Gentoo или Nix.

Ахах, я ждал, когда они это поймут. На это ушел год. Хорошо, что поняли. Ждём, что года через 2 поймут, что иммутабельность и возпроизводимость невозможно (математически) обеспечить на императивном ЯП и перейдут на хацкель или nix.

Тугодумы, конечно, но учатся.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #63, #104

33. Сообщение от тоже Анонимemail (ok), 22-Май-25, 16:43   +3 +/
Вообще-то это как раз пример реализации.
Пацак говорит на языках, окончания которых не знает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

34. Сообщение от Аноним (34), 22-Май-25, 16:46   +2 +/
Что стандартизаторы - главные враги, давно не новость.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #87

35. Сообщение от Аноним (34), 22-Май-25, 16:47   –1 +/
Но ведь это же х*рь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #38

36. Сообщение от Аноним (36), 22-Май-25, 16:54   +3 +/
Void Linux. Он создавался как раз для откатки отдельных решений.
Gentoo похож только если вы используете сырцы. Но заниматься ЭТИМ на Фряхе... месье знает толк в извращениях!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #49, #67

37. Сообщение от Аноним (36), 22-Май-25, 16:55   +/
Скорее по пути Solus и ClearLinux :D
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

38. Сообщение от Аноним (38), 22-Май-25, 17:00   +1 +/
Ровно такая же произвольно выбранная, как и FHS, но у макос хотя бы человекочитаемые названия выбрали, а не этот птичий язык для экономии букв.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

39. Сообщение от Аноним (40), 22-Май-25, 17:00   +/
За такой архитектурой будущее.
Ответить | Правка | Наверх | Cообщить модератору

40. Сообщение от Аноним (40), 22-Май-25, 17:01   +/
В будущих десктопных андроидах будет все применено.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #82

42. Сообщение от ГурренЛаганн (?), 22-Май-25, 17:15   +2 +/
так GoboLinux же
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

43. Сообщение от Аноним (43), 22-Май-25, 17:24   +/
> usr от слова user? И там будет всё только системное? А логика в каком каталоге лежит?

C:\Program Files\

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

44. Сообщение от Аноним (44), 22-Май-25, 17:26   +/
Что значит Волумеы в данном контексте? Тома?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

45. Сообщение от Аноним (45), 22-Май-25, 17:29   +/
Unix System Resources.
Т.е. то, что вне минимальной "базы".
Для ползователя делались и /usr/local и /opt, но этим всё неймётся.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #59

46. Сообщение от Аноним (44), 22-Май-25, 17:30   +/
Ну всё же выбирают Alpine Linux для контейнеризации.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #53, #72

48. Сообщение от Афроним (?), 22-Май-25, 17:43   +/
Я ошибаюсь - тоже цельная система. Вот только гламурный я ошибаюсь еще более похож на Фряху.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

49. Сообщение от Афроним (?), 22-Май-25, 17:47   +/
Фряха это еще и src,неужели ядро не настраивали?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

50. Сообщение от Zulu (?), 22-Май-25, 17:49   +/
Когда OpenSolaris был в стадии проектирования, pkg планировался как immutable. Никаких скриптов вообще, пакет может деливернуть файл, или каталог, или ссылку, или манифест сервиса.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #52

52. Сообщение от Аноним (32), 22-Май-25, 17:54   +/
Это откуда такая странная информация?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #84, #99

53. Сообщение от Аноним (53), 22-Май-25, 18:06   +/
Только те, кому не важен перформанс и поддержка gettext с локалями, а почему-то важен размер образа на диске.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

55. Сообщение от YetAnotherOnanym (ok), 22-Май-25, 18:19   +2 +/
> всё в /etc и /var принадлежит пользователю, а /usr - исключительно системе

Главное, чтобы не был нарушен важнейший принцип современного СПО, когда у одной и той же программы часть конфига живёт в /etc, часть - в /usr/local/etc, часть - в /usr/share, часть - в /usr/local/share часть - в /usr/lib, часть - в /usr/local/lib, часть - в /var/lib, часть - в /var/db, часть - в ~/.appname, и чтобы в каждой новой версии менялись приоритеты кто кого оверрайдит.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #62

56. Сообщение от Аноним (56), 22-Май-25, 18:20   +/
>/Applications, /User, /System, /Volumes

Интересно, как с этим вот МакОСь получила сертификат UNIX (TM) ?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #71, #76

57. Сообщение от Аноним (56), 22-Май-25, 18:29   +/
> ~/.appname

~/.config/appname по современному феншую

Ответить | Правка | Наверх | Cообщить модератору

59. Сообщение от Аноним (59), 22-Май-25, 18:41   +2 +/
Ой, /usr всё гораздо интересней.
https://lists.busybox.net/pipermail/busybox/2010-December/07...

You know how Ken Thompson and Dennis Ritchie created Unix on a PDP-7 in 1969?  
Well around 1971 they upgraded to a PDP-11 with a pair of RK05 disk packs (1.5
megabytes each) for storage.

When the operating system grew too big to fit on the first RK05 disk pack (their
root filesystem) they let it leak into the second one, which is where all the
user home directories lived (which is why the mount was called /usr).  They
replicated all the OS directories under there (/bin, /sbin, /lib, /tmp...) and
wrote files to those new directories because their original disk was out of
space.  When they got a third disk, they mounted it on /home and relocated all
the user directories to there so the OS could consume all the space on both
disks and grow to THREE WHOLE MEGABYTES (ooooh!).

А дальше ещё большее велосипедостроение.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

60. Сообщение от Аноним (100), 22-Май-25, 18:51   +/
Даже близко не генту (у нее пакетный менеджер на питоне). Самый близкий по философии/духу/итп - это crux
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

61. Сообщение от Аноним (67), 22-Май-25, 18:51   +/
>Формат пакетов .stone

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #70

62. Сообщение от Аноним (67), 22-Май-25, 18:52   +2 +/
Ты еще забыл принцип 1с!
Класть файлы приложения туда, где их искать никто не догадается.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #85

63. Сообщение от Аноним (67), 22-Май-25, 18:55   +/
Предположи, когда они захотят все переписать на Раст?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

64. Сообщение от Аноним (67), 22-Май-25, 18:59   +/
>стоит загрузить не то ядро и всё, системе кирдык

ты смотришь прям в суть.
Теперь понимаешь, почему они занялись своей оптимизацией?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

65. Сообщение от Аноним (67), 22-Май-25, 19:01   +1 +/
>> пакетам запрещено содержать какие-либо файлы за пределами каталога /usr
>Ой все!

Ну ты же понимаешь, что наконец то кто-то им показал FreeBSD.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

66. Сообщение от Аноним (67), 22-Май-25, 19:04   +/
>наиболее похож на FreeBSD? Gentoo или я ошибаюсь?

Скорее NetBSD.
Естественно, если мы подразумеваем пакетный менедже pkg_ng, а не систему портов.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

67. Сообщение от Аноним (67), 22-Май-25, 19:06   +/
первое, что делаю после установки FreeBSD - собираю свое собственное оптимизированное под мое железо ядро.
пользоваться дженериковским - обычно моветон. Можно и дженериковское, но лучше свое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #111

68. Сообщение от Аноним (70), 22-Май-25, 19:14   +/
> Ikey Doherty подчёркивает, что AerynOS - это не просто "ещё один дистрибутив Linux"
> Проект опирается на опыт авторов в разработке других дистрибутивов, включая Solus и Clear Linux.

Ну да, это не просто еще один дистрибутив, это уже третий "не просто еще один дистрибутив"!

И на полном же серьезе это пишут...

Ответить | Правка | Наверх | Cообщить модератору

70. Сообщение от Аноним (70), 22-Май-25, 19:15   +/
> зачем плодить зоопарк пакетов?

Т.е плодение зоопарка дистров у вас вопросов не вызывает?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #86

71. Сообщение от Аноним (71), 22-Май-25, 19:15   +2 +/
Заплатила деньги
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

72. Сообщение от Аноним (38), 22-Май-25, 19:18   +1 +/
Кто-то выбирает, кому-то musl убивает производительность, а кому-то и вовсе местный аналог NSA спускает указиловку как правильно готовить клауд.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

74. Сообщение от Аноним (70), 22-Май-25, 19:22   +/
> Руководитель проекта Ikey Doherty подчёркивает, что AerynOS - это не просто "ещё один дистрибутив Linux"

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

Не просто "еще один дистрибутив", ага...

Ответить | Правка | Наверх | Cообщить модератору

75. Сообщение от Аноним (75), 22-Май-25, 19:24   +1 +/
Я так до сих пор и не понял, зачем весь этот овер-инжиниринг. Какие проблемы это всё решает, которые не решить другими, более традиционными средствами?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #105

76. Сообщение от Аноним (38), 22-Май-25, 19:26   –1 +/
А они «юниксовую» иерархию поддерживают. Просто не завязывают свои компоненты на эту лажу прямиком из 70х. Для UNIX/POSIX сертификации в корыто наплескали чего требуется по регламенту, а для приличных людей в другом месте аккуратно всё разложено.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

80. Сообщение от Аноним (80), 22-Май-25, 20:04   +1 +/
Вот прочитал новость, прочитал внимательно, и...

И не обнаружил ничего нового и киллерфичастого кроме разве что симптомов NiH-синдрома и какого-то устойчивого желания от зуда: А давайте сделаем не так как принято, чисто потому что плохо делать так как принято, а у нас лучше, потому что не так, как принято!

Из этого потока сознания я делаю вывод, что это очередное УГ, просто "чтобы было"!

На этом фоне не только местами полезный NixOS выглядит весьма себе действительно крутой полезной идеей в некоторых своих аспектах, но и шизанутый GoboLinux имеет больше смысла существовать.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #88

81. Сообщение от Аноним (81), 22-Май-25, 20:45   +/
"В IT идея ничего не стоит" на самом деле такое предвзятое отношение к концептуализму не только в IT, такое отношение присутствует везде и всюду, многие не понимают что хорошо спроектированная и достаточно реалистично спланированная конепция порой может иметь высокий потенциал воплощения и реализации но многие привыкли к этому относиться как к чему то воздушному, я понимаю почему но не стоит отменять тот факт что выстраивание концепций своего рода отдельное направление которым порой занимаются разные люди в разных сферах, где то это находит больше смысла как например в граф дизайне (ибо легче воплотить и показать наглядно)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #116

82. Сообщение от Аноним (28), 22-Май-25, 21:17   +/
Ассемблер будет забыт. Предлагаю посмотреть, что делает компилятор GCC над кодом.
void foo3(int a, int b, int c){
  printf("%d %d %d",a,b,c);
  return;
}
int main(){
  int a,b,c;
  foo3(a,b,c);
}
main перед вызовом foo3:
mov -0xc(%rbp),%edx ; c
mov -0x8(%rbp),%ecx ; b
mov -0x4(%rbp),%eax ; a
mov %ecx,%esi ; кто скажет зачем?
mov %eax,%edi ; кто скажет зачем?
call xx ; call foo3

Далее в foo3:
mov %edi,0x4(%rbp) ; a to auto frame
mov %esi,0x8(%rbp) ; b to auto frame
mov %edx,0xc(%rbp) ; c to auto frame
mov -0xc(%rbp),%ecx ; чтобы ecx было как в учебниках
mov -0xc(%rbp),%edx ; чтобы edx было как в учебниках
mov -0xc(%rbp),%eax ; чтобы eax было как в учебниках

Если параметров будет 6, например, будет ещё веселее?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #83, #93, #108

83. Сообщение от Аноним (28), 22-Май-25, 21:19   +/
Поправка:
mov -0xc(%rbp),%ecx ; чтобы ecx было как в учебниках
mov -0x8(%rbp),%edx ; чтобы edx было как в учебниках
mov -0x4(%rbp),%eax ; чтобы eax было как в учебниках
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

84. Сообщение от Минона (ok), 22-Май-25, 21:24   +/
Гопатыча.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

85. Сообщение от Минона (ok), 22-Май-25, 21:26   +/
В папку с БД?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62

86. Сообщение от Аноним (28), 22-Май-25, 21:28   +/
Дистрибутив собирается под нужды клиента. А пакет зачем?  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

87. Сообщение от Илья (??), 22-Май-25, 21:31   +/
>А что не так?

То, что половина парсеров не поддерживает шестнадцатеричный формат.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #100, #114

88. Сообщение от Аноним (28), 22-Май-25, 21:32   +/
Как раз, чтобы не было УГ, надо объявить о Миссионерском или Революционном характере дистрибутива.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

89. Сообщение от Аноним (28), 22-Май-25, 21:47   +/
"Разработчики AerynOS, ранее известного как SerpentOS"

А почему переименовались? Стало стыдно за фантазии или кредиторы догоняют?

Ответить | Правка | Наверх | Cообщить модератору

93. Сообщение от Аноним (93), 22-Май-25, 22:18   +/
> кто скажет зачем?
> чтобы ecx было как в учебниках

параметры передаются через rdi, rsi, rdx и rcx. Вроде такое соглашение о вызове на x86_64 в 64-битном режиме.
По этой же причине в foo3 компилятор перекладывает все параметры чтобы освободить rdi для указателя на шаблон
> Если параметров будет 6, например, будет ещё веселее?

ага, подключатся r8 и r9, а потом вообще начинает пушить в стек

причина упоминания учебников не понятна — раз от компилятора не запросили оптимизацию, то он ее и не делал

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #95, #109

95. Сообщение от Аноним (28), 22-Май-25, 22:25   +/
Если 6 параметров то будет 5 повторных перекладываний регистров. Проверти. Например, r8d в r9d.  
Порядок приема переменных в подпрограммах через регистры описывается в книгах.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93 Ответы: #96

96. Сообщение от Аноним (93), 22-Май-25, 22:40   +/
> Если 6 параметров то будет 5 повторных перекладываний регистров. Проверти. Например, r8d в r9d.

так в чем проблема и как это относится к "что делает компилятор GCC над кодом"? Какие у него варианты без указания -O?
как это связано с тем, что "Ассемблер будет забыт"?
Порядок должен соблюдаться иначе можно словить удивительные спецэффекты при вызове функции их другого места. У компилятора есть некоторые возможности для оптимизаций, но тут их никто не запрашивал.
> Порядок приема переменных в подпрограммах через регистры описывается в книгах.

и меняется от компилятора к компилятору, от архитектуры к архитектуре… В т.ч. в некоторой степени зависит от хотелок программиста

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95 Ответы: #103

97. Сообщение от Аноним (28), 22-Май-25, 22:45   +/
Данные о предпочтениях одного из пользователей можно считать состоянием программы при работе с этим пользователем. Где хранить и что хранить? Должен ли пользователь видеть эти данные?
Данные пользователя, обработанные программой, где хранить?  
Ответить | Правка | Наверх | Cообщить модератору

98. Сообщение от waylandbeliver (ok), 22-Май-25, 22:51   +/
Если будут зависимости как остальных дистрах, то не взлетит.
Надо повторять модель Windows/MacOS.
Ответить | Правка | Наверх | Cообщить модератору

99. Сообщение от Zulu (?), 22-Май-25, 22:55   +/
> Это откуда такая странная информация?

Картинка с Элрондом "I was there, 3000 years ago".

см. PSARC/2008/190 и упомянутые там материалы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

100. Сообщение от Аноним (100), 22-Май-25, 23:15   +1 +/
А диды тут причем?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

102. Сообщение от 3dravenemail (ok), 23-Май-25, 00:42   +/
Вот когда ИИ заменит ОС, это будет инновация, а это все переставление кроватей на фоне всего в контейнерах, всем пофиг какой там на дне дистр давно.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #107

103. Сообщение от Аноним (28), 23-Май-25, 02:07   +/
Проблема, что это неожиданно и не объяснимо (в частности Вами). Есть ABI SystemV по которому порядок передачи параметров через регистры rdi,rsi,rdx,rcx,r8,r9. Почему GCC сразу не помещает фактические параметры в нужный регистр и потом сразу извлекает в auto. Он компилирует так, чтобы первый параметр в asm вставки находился в eax, второй - в edx, третий - в ecx, и т.д.? Получаются лишние инструкции и чем больше параметров, тем больше лишних инструкций. В rust вроде нет. auto frame относительно rsp. Я пробовал с различными оптимизациями - все так же.
Ассемблер будет забыт, в смысле. а кто обращает внимание на фактический код?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96 Ответы: #115

104. Сообщение от Аноним (104), 23-Май-25, 02:18   +/
В торрентах тоже воспроизводимость, обрабатываются любыми языками.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

105. Сообщение от Аноним (105), 23-Май-25, 07:42   +/
Чем проект переусложнённее, тем он прогрессивнее же!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

107. Сообщение от Tron is Whistling (?), 23-Май-25, 08:33   +/
Спокуха. ОС не может заменить даже ЕИ, не то, что его жалкое подобие.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102

108. Сообщение от Tron is Whistling (?), 23-Май-25, 08:43   +/
Добавьте хотя бы -O, потому что без -O - это "строго по стандарту".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #110

109. Сообщение от Tron is Whistling (?), 23-Май-25, 08:44   +/
(то есть полноценно все фреймы формируются, вся обёртка, нет переименования регистров и т.п.)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93

110. Сообщение от Tron is Whistling (?), 23-Май-25, 08:44   +/
Промахнулся выше
(то есть полноценно все фреймы формируются, вся обёртка, нет переименования регистров и т.п.)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108

111. Сообщение от Ivan_83 (ok), 23-Май-25, 08:49   +/
Это хорошо когда у вас дома только один компьютер.
Когда компьютеров пачка, да ещё и железо там разное то -march=native доставляет сплошные неудобства, не давая при этом видимых результатов.

А GENERIC конфиг - да, фигня полная, как и набор халама который собирается в систему по дефолту. Как минимум OpenSSH и unbound удобнее из портов ставить.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

112. Сообщение от OpenEcho (?), 23-Май-25, 09:21   –1 +/
> дидам в башку взбрендило как-то раз

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

113. Сообщение от Аноним (113), 23-Май-25, 09:28   +/
>При этом система использует glibc вместо musl, что является осознанным выбором в пользу совместимости и производительности.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #117

114. Сообщение от Аноним (114), 23-Май-25, 10:10   +/
>>А что не так?
> То, что половина парсеров не поддерживает шестнадцатеричный формат.

Ничего страшного, ipv6 ты по другому и сам писать не захочешь :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

115. Сообщение от Аноним (115), 23-Май-25, 10:28   +/
> Почему GCC сразу не помещает фактические параметры в нужный регистр и потом сразу извлекает в auto.

Потому что не было запроса на оптимизацию (-O, -O1, -O2, …) и он сделал "в лоб" с учетом каких-нибудь особенностей древних процессоров, например где перекладывание в edi через eax требовало меньше тактов, чем напрямую из памяти.
> Получаются лишние инструкции и чем больше параметров, тем больше лишних инструкций

они всегда получаются — при чем у разных программистов разные
> Ассемблер будет забыт, в смысле. а кто обращает внимание на фактический код?

какой смысл обращать внимание на фактический код
1. до компиляции с -O2 например? Ну посмотрели мы тут на перекладывание чего-то куда-то, а с -O2 компилятор решил, что перекладывать не интересно и заинлайнил foo3
2. до запуска профилирования? Это у нас точно основное проблемное место?

> В rust вроде нет. auto frame относительно rsp. Я пробовал с различными оптимизациями - все так же.

не знаю насколько можно сравнивать тот пример, что вы привели, с тем который не привели, но a, b и c не заданы и за счет этого развлекаются что gcc, что clang.
я не умею писать на расте, не знаю, получилось ли похоже


fn foo3(a: i32, b: i32, c: i32) {
    println!("{} {} {}", a, b, c);
}

pub fn main() {
    let a: i32 = 1;
    let b: i32 = 1;
    let c: i32 = 1;
    foo3(a, b, c);
}


но без оптимизации оно там генерирует как-то так. При чем объем кода меняется от версии к версии и не всегда в меньшую сторону

example::foo3:
        push    rbp
        mov     rbp, rsp
        sub     rsp, 240
        lea     rax, [rbp - 152]
        lea     rcx, [rbp - 12]
        lea     r8, [rbp - 8]
        lea     r9, [rbp - 4]
        mov     dword ptr [rbp - 4], edi
        mov     dword ptr [rbp - 8], esi
        mov     dword ptr [rbp - 12], edx
        mov     r10, qword ptr [rip + example::foo3::__STATIC_FMTSTR]
        mov     qword ptr [rbp - 80], r10
        mov     r10, qword ptr [rip + example::foo3::__STATIC_FMTSTR+8]
        mov     qword ptr [rbp - 72], r10
        mov     rsi, qword ptr [rbp - 80]
        mov     rdx, qword ptr [rbp - 72]
        mov     qword ptr [rbp - 152], r9
        mov     qword ptr [rbp - 144], r8
        mov     qword ptr [rbp - 136], rcx
        mov     rcx, rax
        add     rcx, 8
        mov     r8, rax
        add     r8, 16
        mov     qword ptr [rbp - 192], r8
        mov     qword ptr [rbp - 176], rcx
        mov     qword ptr [rbp - 160], rax
        mov     qword ptr [rbp - 224], rsi
        mov     qword ptr [rbp - 232], rdx
        mov     rdx, qword ptr [rip + core::fmt::num::<impl fmt::Display for i32>::fmt@GOTPCREL]
        lea     rax, [rbp - 128]
        mov     rcx, qword ptr [rbp - 176]
        mov     rcx, qword ptr [rcx]
        mov     qword ptr [rbp - 184], rcx
        mov     rcx, qword ptr [rbp - 160]
        mov     rcx, qword ptr [rcx]
        mov     qword ptr [rbp - 168], rcx
        mov     rcx, qword ptr [rbp - 192]
        mov     rcx, qword ptr [rcx]
        mov     qword ptr [rbp - 200], rcx
        mov     rsi, qword ptr [rbp - 168]
        mov     rdi, rax
        mov     qword ptr [rbp - 240], rax
        call    core::fmt::ArgumentV1::new
        mov     rdx, qword ptr [rip + core::fmt::num::<impl fmt::Display for i32>::fmt@GOTPCREL]
        mov     rax, qword ptr [rbp - 240]
        add     rax, 16
        mov     rsi, qword ptr [rbp - 184]
        mov     rdi, rax
        call    core::fmt::ArgumentV1::new
        mov     rdx, qword ptr [rip + core::fmt::num::<impl fmt::Display for i32>::fmt@GOTPCREL]
        mov     rax, qword ptr [rbp - 240]
        add     rax, 32
        mov     rsi, qword ptr [rbp - 200]
        mov     rdi, rax
        call    core::fmt::ArgumentV1::new
        lea     rdi, [rbp - 64]
        lea     rax, [rbp - 128]
        mov     qword ptr [rbp - 216], rax
        mov     qword ptr [rbp - 208], 3
        mov     rcx, qword ptr [rbp - 216]
        mov     r8, qword ptr [rbp - 208]
        mov     rsi, qword ptr [rbp - 224]
        mov     rdx, qword ptr [rbp - 232]
        call    core::fmt::Arguments::new_v1
        lea     rdi, [rbp - 64]
        call    std::io::stdio::_print@PLT
        add     rsp, 240
        pop     rbp
        ret

example::main:
        push    rbp
        mov     rbp, rsp
        sub     rsp, 16
        mov     dword ptr [rbp - 4], 1
        mov     dword ptr [rbp - 8], 1
        mov     dword ptr [rbp - 12], 1
        mov     edi, dword ptr [rbp - 4]
        mov     esi, dword ptr [rbp - 8]
        mov     edx, dword ptr [rbp - 12]
        call    example::foo3
        add     rsp, 16
        pop     rbp
        ret


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #103

116. Сообщение от тоже Анонимemail (ok), 23-Май-25, 12:17   +/
Процесс выстраивания концепций имеет обязательный этап обстукивания их скорлупы об реальность. MVP там, то-се...
А прекрасные лозунги, еще не подкрепленные практикой реализаций и переделок - это маниловщина, и только.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

117. Сообщение от Аноним (117), 23-Май-25, 12:36   +/
> взять ту же поддержку локалей, которых в musl емнип до сих пор нет

Они сто лет как работают. Использовал Alpine Linux как десктоп ОС.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113

118. Сообщение от Аноним (118), 23-Май-25, 13:49   +/
>AerynOS - это не просто "ещё один дистрибутив Linux", а платформа, фундамент

Это основа, это, так сказать, база

Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру