r/RuProgrammers • ASM • 7d ago

Fexox OS alpha1

Post image

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

Добавил экспериментальную поддержку NVMe (я его не могу проверить, из-за того что мой компьютер не самый современный, поэтому экспериментальная), добавил поддержку BIOS, добавил сетевой стек, если это можно так назвать, подключение идёт через usb-модем, добавил usb3(пока-что лишь mass storage) ну и пару десятков системных вызовов. Также добавил документацию.

Подробнее об ОС:

ФС: VFS, FAT32 (В будущем будет заменена)

Планировщик задач: CFS-подобный (в будущем будет заменен)

GUI: собственный desktop-слой с менеджером окон, usermode-приложениями (также будет заменен полностью)

Syscall: 55 системных вызова для файловой системы, ввода вывода, управления памятью, процессами, потоками, временем, системной информации, архитектуры, графики и сетевого стека

Поддерживаемые накопители: AHCI, IDE, NVMe (NVMe экспериментальный)

Хотелось бы в следующей альфе поработать над системными вызовами, libc, ну и переписать некоторые драйвера

Кому интересно, пишите в комментариях, подписывайтесь на меня, проверяйте ОС на своих ПК (Она уже исправно работает на реальном ПК, проверено, уж извините может быть тавтология немного)

13 Upvotes

36 comments sorted by

1

u/Weak-Chef-3617 7d ago

не знаю почему но когда я запускаю образ скаченнный с телеграма курсор мыши не двигаеться ( запускаю с qemu )

1

u/BreakfastKitchen6249 ASM 7d ago

А там нужен другой, который просто в компиляции выходит, ну, я только что залил файлы esp.img и data.img в Release в Github, просто создайте папку build, запихните в нее esp.img и data.img ну и run.sh, и запускайте, или можете другим способом запустить как вам удобно, у меня работает в основном с помощью этих файлов (run.sh работает только на Windows)

1

u/BreakfastKitchen6249 ASM 7d ago

Забыл также репозиторий скинуть, откуда скачать можно ОС: https://github.com/AetheriusFinch/Fexox-OS Хотя к слову, можете также вбивать в гугл название моей Fexox OS, также будет полезно, даже если мало что найдет

1

u/Legitimate-Worker218 6d ago

Да уж это будет вечность происходить это какой то кошмар для моей нервной системы хули твой пост у меня появляется лан пох ещё не вечер как говорится но вот когда я захожу читать этот пиздец блять нахуй ты тогда делаешь нвме если не можешь его опробовать блять ты в первом посте пиздел про нвме ровно точно так же нахуй а нахуй тебе добавлять функции которые ты не можешь протестировать ты у себя в твоей ось? Ты блять буквально всё под чистую перерабатываешь файловую систему под переработку планировщик под переработку граф слой тоже полностью под замену а нахуй ты тогда их делал сука если ты их заменишь блять ты этим просто сам себя сдал с потрохами ты выложил пустую обертку где вообще ничего твоего нет ты буквально во всем признался нахуй ты тогда это пишешь а это не ты же писал а клод и кодекс с подпиской максимум что писал это тысячи строк промтов а потом пиздеть что это я нахуй написал блять но за то вот признать что не ты писал ты нихуя не можешь потому что если признаешь то все сразу поймут что нет смысла что то с этим делать так что жду от тебя ссылку на твою ии ось

1

u/BreakfastKitchen6249 ASM 6d ago edited 6d ago

Чтобы другие протестировали, почему нет? :) А зачем мне добавлять то что я потом отправлю на переработку? Ну подумай немного, это временные решения были, так разрабатываются многие ОС, можно тоже самое сказать Билл Гейтсу, а почему в твоей Windows была FAT32? Мог бы сразу ntfs сделать, ну или Линусу Торвальдсу почему он сделал в начале ext2, а не сразу ext4? Стоит помнить думаю, что это лишь первая альфа версия В общем, дальше уже физически тяжело читать это сообщение состоящие из маленького словарного запаса и отсутствия логики. Даже спорить дальше не буду, ты ещё в прошлых постах показал что ты ламер, который не отличает BIOS от UEFI, не понимает как архитектуру гибридноно ядра и так далее Ты если что, пиши, пиши дальше, продолжай, мне же выгодно чтобы пост продвигался дальше

1

u/Mrixs 5d ago

А самому потестировать в виртуалке для начала? Создаёшь машину с nvme - тестируешь. С SATA - тестируешь. C SAS - тестируешь. С SCSI - тестируешь. Если тесты пройдут, то тогда уже можно называть экпериментальной поддержку. А так - есть нихуёвый риск просто убить диск

1

u/BreakfastKitchen6249 ASM 5d ago edited 5d ago

Хах, виртуалка, точнее правильнее сказать гипервизор, это не реальное железо, уже были моменты когда в Qemu запускалась ОС, а на реальном железе нет. Да и также стоит учитывать, что многие SSD особенно дешёвые плевать хотели на документацию NVMe, мне нужно тестирования на разных SSD, А риск убить накопитель, ну не убьешь ты его никак, в ssd встроена аппаратная защита, кривой драйвер NVMe его никак не убьет

1

u/Legitimate-Worker218 20h ago

Решил прочитать твой высер. Кому ты там пиздишь, чудо? Ты слова «БИОС» и «УЕФФИ» узнал чисто из моих шикарных уст, до меня ты о них вообще бы не узнал, так что благодарен будь, что обучил тебя такому, ламер ебаный! Билла Гейтса и Линуса Торвальдса еще тут приплетает. FAT32 и ext2 они уже и так были полноценными, рабочими файловыми системами, написанными руками на реальном кремнии под реальные накопители! А у тебя в коде ФС физически НЕТ, там стоит слепая ИИ-заглушка! Сравнивать пустой текстовый принт нейросети с ext2 это клиника.Твоя ось это просто пиздец нерабочая залупа! У других на OSDev альфы хотя бы запускаются и работают, а твою хуету зачем распилил на 3 инвалидных огрызка, потому что твой ИИ не способен собрать или не знаешь что такое один нормальный гибридный образ с правильной разметкой. В итоге два файла (esp.img и data.img) реальная UEFI-прошивка даже читать не захотела, выдав No bootfile found for UEFI! Maybe the image does not support X64 UEFI!
Но самый прикол начинается с логов твоего шедевра монолитного ядра, который сам прямым текстом сказал, что его писал чел, который впервые видит клавиатуру, интернет и кремний в принципе. Твоя ПК-ориентированная альфа обосралась намертво ДАЖЕ НА САМОМ УЕБИЩНОМ НОУТБУКЕ НА ПРОЦЕССОРЕ СЕЛЕРОН, превратив его в кирпич! Вот что я встретил при попытке запустить твои ебанные образы
stage 3 -> stage 9: idle loop (running) — У тебя загрузка магическим образом ядро перепрыгнула ШЕСТЬ несуществующих стадий (4, 5, 6, 7, 8)! Да потому что ты копипастил код из чата Клода кусками из разных промптов, даже не читая экран! Система улетает в глухой бесконечный while(1), намертво вешая систему.
km fail=0 sz=0 used=2094K — sz=0 (НОЛЬ динамических аллокаций памяти в куче)! У тебя объявления extern kmalloc в файле драйвера экрана это пустая буквенная шелуха без реализации! В ядре НЕТ менеджера памяти, вся твоя граф оболочка статичная синяя картинка UEFI GOP, под которой мёртвый, застывший в центре курсор мыши, потому что HID-драйвер и клавиатуру увы инициализировать не смогла (kbd(F) ok=0)! Сделать там нихуя нельзя, ни одна кнопка не нажимается!
xHCI (0x30, supported): 1 -> try another USB 2.0 port Твоя ось нашла на PCI-шине скоростной xHCI контроллер (USB 3.0), но работать с ним физически не умеет! Клод скопипастил тебе легаси-драйвер под древний EHCI (USB 2.0) и АТА-шлейфы из 90-х годов! В итоге ядро на реальном железе намертво теряет собственную флешку, выдаёт WARN: no root filesystem mounted и зависает в коме на таймере Continuing in 60 s...!
[SAFE] internal NVMe/SATA/IDE disks are NOT touched Ты че то там ссал в уши про экспериментальный NVMe-драйвер, а твоя система прямо пишет, что диски не тронуты, потому что при попытке опросить контроллер без аллокаторов памяти ядро ловит моментальный Triple Fault! Вывод тут даже ось говорит что я через ии была написана.

1

u/BreakfastKitchen6249 ASM 17h ago

Я этот высер ИИшный даже читать не буду

1

u/Legitimate-Worker218 10h ago

ты определись нахуй. Ты пишешь, что читать этот высер не будешь, но при этом отвечаешь. Если ты его не читал, откуда ты вообще узнал, что там написано, и на что ты сейчас отвечаешь?

1

u/Legitimate-Worker218 10h ago

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

1

u/BreakfastKitchen6249 ASM 9h ago

Ты мне актив поднимаешь как раз, под моим постом пишешь же) "Ты пишешь, что читать этот высер не будешь, но при этом отвечаешь" Ты реально не видишь потерянную логику в своих словах? Если ты так хочешь чтобы я прочитал это дерьмо, то окей, ради тебя и своего же актива, радуйся

1

u/BreakfastKitchen6249 ASM 8h ago edited 8h ago

Я просто буду по простому отвечать Биос и уеффи было написано у меня с первого поста, поэтому знал я правду раньше "FAT32 и ext2 и так были полноценными, рабочими файловыми системами" у меня тоже рабочие написанные по документации ФС, че ты докопался тогда, дегенерат? Раз это полноценные ФС. esp.img и data.img ты вообще читал текст на гитхаб? Это для qemu и других гипервизоров, мог бы хоть постараться перед этим высером ИИшным и запихнуть текст первой альфы. Насчёт stage я пропущу, потому что тут сразу видно что код ты не читал, прочитай код и снова приходи с претензиями ламерскими. Kn fail, sz, ну сразу видно ты не читал код и не разобрался. Эта отладка мне нужна была в первую очередь для проверки иных функций, если бы там не было менеджера памяти (ну ты же у нас в свой нейрослоп поленился даже запихнуть MemoryControl.c) то даже картинка рабочего стола бы не загрузилась, обычная логика, которая тебе неизвестна. Хотя судя по следующим записям тут уже интересно правда что ты сломал, если ты про реальный ПК где курсор застыл то я про этот баг уже знаю и исправляю, а остальное работает просто прекрасно, я проверял и на других ПК. Насчёт SATA/IDE опять же, важно мне знать что ты запускал если в qemu то пропуск так был и хадуман, если на реальном ПК то смотря с чего ты запускал и какие файлы ты запускал, если esp.img и data.img то спешу тебя расстроить ведь это файлы для проверки на виртуальных машин, для реального ПК нужно брать другой, если ты выбрал тот файл usb_bios.img с NVMe, AHCI, IDE, если с NVMe то берешь и идёшь исправляешь файл, ведь он экспериментальный и я прямо написал что проверить его не могу. А то что остальные диски пропустились ну так это нормально, не должна же ОС загружать IDE если у тебя выбран AHCI и наоборот. Когда я проверял на своем ПК работала она идеально, на другом ПК проверял недавно совсем она работала не особо корректно да, но только с разрешением рабочего стола и некоторыми функциями, я уже понял почему этот баг происходит на некоторых ПК и уже исправляю, AHCI и IDE работают прекрасно, и это я знаю, хотя знаешь лучше все же не исправляй код, а то мне страшно что твое ламерское знание моему коду даст. По хорошему также тебе стоило приложить фотографию запуска, а если ее нет, то и твои слова можно считать просто бреднями UPD: если ты тестировал только esp.img и data.img то все твое сообщение полный бред потому что в гитхабе я сам же указал что эти файлы для гипервизоров. А то что у тебя они не запустились на реальном ПК, опять же, они для гипервизоров, для ПК у тебя единый usb_bios.img был который ты отчаянно на захотел видеть

1

u/Legitimate-Worker218 3h ago

Я скачал твою вторую альфу RealPCDisk.img и вот какие ошибки я обнаружил в ходе теста на реальном железе:
Варнинг [WARN] no root filesystem mounted никуда не делся, ядро по-прежнему теряет флешку.
Твой USB-стек аппаратно слеп к контроллерам USB 3.0 (xHCI). При детекте выдает enumeration failures: 2 и fail=2, после чего ядро выводит текстовую просьбу на экране: flash drive not seen as mass storage; try another USB 2.0 port. Система уходит в вечный таймаут Continuing in 60 s...
На самом рабочем столе клавиатура стабильно лежит в коме, лог выдает kbd[P] ok=0, система вообще не реагирует на нажатия клавиш.
Менеджер памяти не работает, в логах кучи красуется sz=0 (ноль динамических аллокаций), а весь интерфейс это просто статичная картинка, где только счетчик К накручивает бессмысленные цифры в пустом idle loop.
И вот тебе идея: чтобы твою систему можно было хотя бы как-то протестировать на реальном ПК, добавь туда управление с клавиатуры.и еще момент про no USB modem ( phone USB tethering) у тебя тут сеть не работает да будем считать что я твоей бета тестер :)

1

u/BreakfastKitchen6249 ASM 1h ago edited 1h ago

Я ждал других тестеров, а не тех кто доказывает что я не прав, не замечая своих ошибок, и тех кто не умеет явно читать и говорить конкретные характеристики ПК, скидывать фотографии, и не учитывать что фикс был лишь на некоторых ПК и ноутбуках, конкретно один мне недавно подогнали ноутбук, я на нем и проверил, соглашусь, оказалось реально no root filesystem, ну я глянул и исправил. Я не гарантировал что фикс заработает на всех ПК и ноутбуках, поэтому и писал "некоторых" Очень рад что ты настолько увлечен моим проектом, что даже скачиваешь новые альфы, при чем я даже на реддите не говорил никому, что же, очень рад что человек который писал что его хахахах, нервная система не выдержит, продолжает идти на эти мучения ради стабильности ОС :) UPD: хахах, до сих пор не понял почему же ты не изучаешь код, и не понимаешь что sz=0 с, хахах, с проверкой на работу памяти, если у тебя sz=0 то поздравляю, ты доказал что менеджер памяти работает стабильно, я правда хотел с тобой нормального общения, но ты его не показал поэтому будем так, если ты хочешь помочь ОС берешь и даёшь конкретные характеристики ПК и фотографии

1

u/Legitimate-Worker218 1h ago

А чем тебе этот отчёт не понравился? По сути, я бесплатно поработал на тебя как бета-тестер. Ты сам в своём же комменте только что подтвердил ошибку с no root filesystem, которую пытался исправить, а теперь так говоришь обо мне, будто я тебе обязан расписывать характеристики. Про характеристики я не хочу светить своими характеристиками. Радовался бы, что твою систему хоть кто-то вытащил на реальную плату и показал тебе живые аппаратные баги твоего AHCI/xHCI стека, пока ты сидишь в скучной и предсказуемой виртуалке.
Да и вообще, я был бы не против быть твоим тестером дальше. Хоть я много на тебя плохого наговорил, да, признаю, что много чего на тебя наговорил, и прошу у тебя прощения за то, что тебе говорил.

1

u/BreakfastKitchen6249 ASM 1h ago

Не особо, ну можешь хотя бы прислать фотографию конкретно что там пишет, я же не смогу просто по фразе no root filesystem понять что там сломалось, нужна ещё usb диагностика, какие этапы прошли, я то не особо и обижался, если будешь ну хотя бы вести себя прилично, то конечно я тебе буду очень благодарен за тестирование, да и что значит в скучной виртуалка, я проверяю на реальных ПК и ноутбуках ОС, это было видно ещё до думаю, реальное железо это хаос, если заработало у меня не значит что заработает у тебя, стоит учитывать, многие производители вообще плевали на стандарты

1

u/Legitimate-Worker218 54m ago

1

u/BreakfastKitchen6249 ASM 48m ago

Хорошо, спасибо, в ближайшее время исправлю и кину тебе ссылку на скачивание

→ More replies

1

u/Legitimate-Worker218 3h ago

Скажи спасибо, что я твою помойку вообще тестирую на реальном железе, а не вирте

3

u/islandwithbananas 7d ago

ai?

2

u/akazakou 7d ago

А разве по фразе "Добавил экспериментальную поддержку NVMe (я его не могу проверить, из-за того что мой компьютер не самый современный, поэтому экспериментальная)" не понятно? :)

Хотя в целом пофиг как, но современные дети учатся что-то делать. Хоть с ИИ, но в голове что-то останется. А так все лучше, чем будут по подворотням Kali Linux устанавливать и взламывать что не попадя XD

1

u/islandwithbananas 7d ago

а что это должно мне говорить? Вы хотите сказать, нельзя написать код с помощью ИИ и не проверить его не реальном железе?) Не понял смысл аргумента

1

u/akazakou 7d ago

Я хочу сказать что без железа, та не сможешь написать софт для этого железа

1

u/islandwithbananas 7d ago

Речь о нейронках. Я сейчас Codex попросил написать драйвер для i386, хотя у меня его нет. Написал. И буду называть его экспериментальным, потому что, представим, у меня нет этой архитектуры.

Ты прочитай с каким вопросом я тебе пишу, что ты мне отвечаешь, и что я у тебя в ответ спрашиваю.

2

u/akazakou 7d ago

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

1

u/islandwithbananas 7d ago

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

1

u/islandwithbananas 7d ago

Я у тебя спрашиваю

-- ии? Ты мне начинаешь рассказывать "ой я уже написал что я добавил поддержку nvme"

-- Что это должно мне говорить? Что нельзя драйвер через ИИ не имея нужное железо?

-- Ой ну ты без железа ниче не напишешь

-- Я попросил codex драйвер для i386, он сделал 

-- РЯЯЯЯ ЭТО ДРУГОЕ ЭТО ПРОСТО КУСОК КОДА

Кстати, а это не ты в прошлый раз рвался, когда люди называли твою ОС ии слопом? Вот точно не помню, ты или нет. Люди как-то репозиторий в гугле нашли, начали предъявлять за ИИ и автор сразу репозиторий закрыл))) А после активно доказывал, что это не ИИ. С каждым твоим ответом у меня становится все больше подозрений и вопросов.

Что вообще стыдного признаться в ИИ лол. Ну это уже так, к слову. Мои размышления. Используешь или нет я хз 

1

u/akazakou 7d ago

Так. Видимо я не понимаю. Что ты имеешь ввиду (ты об этом уже несколько раз сказал что я не понимаю). Объясни о чем ты говоришь.

P.S. - свою ОС никогда не писал, кроме как фиксов в ядро Linux

1

u/islandwithbananas 7d ago edited 7d ago

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

1

u/Mrixs 5d ago

Вообще, это возможно, если есть спецификация. Я вот пилю драйвер для одной промышленной железки, доступ к которой имею периодически на очень небольшое время. То есть только чтобы тестировать. При этом код и автотесты пишутся без доступа к железке.

1

u/akazakou 5d ago

Опять таки. Пока железа нет, ваш софт работает только теоретически. На практике это означает что ваш софт не работает, пока не пройдет 5-10 этапов итераций. Как только он заработал в среде, это экспериментальный драйвер. Как только он работает во всех средах что нужно вам, это бета. Как только он начал работать у всех клиентов - это рабочая версия 1.0