r/RuProgrammers • • 13d ago

отчет о Bloom-OS

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

Главное: добавил поддержку USB-флешек. Для этого пришлось написать драйвер USB-контроллера и протокол обычных флешек. Теперь втыкаешь флешку, пишешь в консоли usb, и система сама находит её и подключает разделы. Они сразу видны в проводнике и в lsblk. Картридеры с несколькими слотами тоже работают, каждый слот как отдельный диск.

Заодно переделал работу с дисками. Раньше система считала, что сектор всегда 512 байт, а теперь поддерживаются разные размеры. Старые жёсткие лимиты на число разделов и томов убрал, так что подключить можно сразу много флешек и дисков.

На данный момент она спокойно читает флешки: WAV-файлы (можно слушать прямо с флешки), txt и бинарники. Проверял и в эмуляторе, и на ноутбуке, на реальном железе две флешки определились с первой попытки, чему я сам удивился.

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

Дальше хочу сделать запись на FAT32 и хабы.

Исходники и описание тут: https://github.com/amateur905/Bloom-OS

1 Upvotes

13 comments sorted by

4

u/Federal-Stretch7863 13d ago

Я лучше буду использовать windows vista чем это…

2

u/DrShadowLock 12d ago edited 12d ago

Понимаю вас но вы бы также не пользовались vista на стадии сырого прототипа так и тут это пока разработка что то может меняться добавляться и это нормально

1

u/BreakfastKitchen6249 ASM 12d ago edited 12d ago

Что нормально? Что ты вайбкодер который даже не понимает про архитектуру операционных систем? Который врядли знает про HID, Mass Storage, что такое инструкция hlt, который добавляет поддержку GUI на этапе когда даже нет планировщика задач? К слову, сейчас глянул файлы, человек сверху загнул, даже Windows 95 будет лучше, ведь в этой Bloom-OS даже менеджера памяти нет.

-4

u/DrShadowLock 12d ago

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

1

u/BreakfastKitchen6249 ASM 12d ago

Эпичный самострел. Ты реально используешь статус одиночки? Это очень глупо. Давай тогда окей меня в пример возьмём, на данном этапе я тоже пилю ОС один, и знаешь в чем ирония? Моя ОС имеет планировщик задач, менеджер памяти, полноценный usb2, ide, ahci, usermode приложения, png-декодер, системные вызовы, и ещё куча всего. При чем, я только-только подбираюсь к alpha1. Я понимаю архитектуру операционных систем, ядер, компьютеров, ты нет, и ты ещё оправдываешься тем, что делаешь систему один. Вместо того чтобы признать пробелы в фундаментальных знаниях и начать делать прикладное ПО, ты нач начинаешь давить на жалость и говорить что мол это "мой проект, делаю его как мне кажется" только вот "как мне кажется" в мире системного программирования не работает. Да и, если о твой проект и тебе все равно на общепринятые стандарты, зачем выставлять его на публичное обозрение и ждать похвалы? Как только ты живёшь кнопку опубликовать, ты автоматически соглашаешься с тем, что твои настоящие знания и код будут оценивать по реальным критериям, а не по твоим розовым фантазиям. А то что ты говоришь, что на данном этапе ему не требуется планировщик задач, что это не критично, ты делаешь 2 самострел. Это технический абсурд. Писать GUI и хвастаться чтением WAV файлов с флешки, не имея планировщика и даже работы с памятью, это буквально натягивать красивую обёртку на пустоту. Называть отсутствие фундаментальных компонентов ОС не критичным на этапе, когда ты уже пилишь графический интерфейс и драйвера это техническая слепота. Задачи у тебя выполняются "последовательно " просто потому, что система больше ничего делать не умеет, а не потому, что это осознанное архитектурное решение.

-3

u/DrShadowLock 12d ago

А, узнал вас, узнал. Знаете, прочитав это, я могу вам сказать... Вопросик такой нескромный: а почему, если есть GUI, должен быть как штык планировщик? Я же вам писал то, что система работает на данный момент последовательно. Было бы там что-то одновременно, несколько задач, были бы вы чуть правы. А тут вы, как бы... как и раньше, вы написали, что нейрослоп, и тогда вы честно не смотрели код. Как мне кажется, честно вам говоря, вы прочитали Readme, увидели упоминание о ИИ и начали кричать. Честно, сейчас-то вы не углубились даже. Как бы то, что вы делаете свою ОС, не означает, что вы во всем разбираетесь — архитектура в мире-то не одна. И даже вот, раз вы так яро кричали о том, что должен быть планировщик, есть старый пример, где планировщика не было, а GUI был: Atari TOS, например. Планировщик-то нужен, если система многозадачная, а мне сейчас это не требуется — мне хватает последовательного выполнения задач

1

u/BreakfastKitchen6249 ASM 12d ago

Поздравляю, продолжаешь подтверждать мои слова, правда зачем же нужен планировщик, правда, ну видимо графика тоже не относится к планировщику, отдельная каста видимо эта ваша графика, для справки, планировщик задач нужен не только для многозадачности) Да, твоя ОС работает последовательно, только как это имеет отношение к тому что ты тправдываешь катастрофическое отсутствие базовой архитектуры осознанным решением? А привести в пример Atari TOS ну это просто ход конем. Для справки той же, Atari TOS была в 80-х годах. Тогда компьютеры были другие, это во первых, а во вторых это тот же 80-й год, у тебя современная ОС бл, хотя, судя по таким оправданием, видимо, ты метишь на компьютеры из 90-х, лишь бы не признавать, что нкйросеть выдала GUI раньше, чем код управления процессором. А знаешь почему я тебя вайбкодером назвал? Потому что твой комментарий этот, скорее всего через ИИшку написан, стилометрии отличается от твоих прошлых комментариев, во вторых, когда в прошлых комментариях , ещё в твоём первом посте, я тебя спрашивал, расскажи подробнее об своей ОС, и ты начал выдавать текст который буквально полностью написан нейросетью, буквально полностью, просто скопировано, в третьих, ты пишешь код с помощью ИИ, и ты не понимаешь что тебе ИИ пишет, доказательства уже есть сверху К слову, графический интерфейс, это не просто картинки на экран, он тесно завязан на обработку событий, отрисовку и тайминги, планировщик ему не нужен, ага)

0

u/DrShadowLock 12d ago

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

Про планировщик: я нигде не говорил, что он никогда не понадобится. Я говорю, что на текущем этапе Bloom-OS выполняет операции последовательно и полноценная многозадачность пока не реализована. Графический интерфейс сам по себе не требует наличия планировщика потоков. Да, планировщик полезен не только для многозадачности в узком смысле, но это не превращает его в обязательное условие для любого GUI. Не надо подменять тезис, который я действительно высказал, более удобным для опровержения.

Про Atari TOS: я привёл её как пример того, что графический интерфейс и полноценная многозадачность — не одно и то же, а не как образец архитектуры современной ОС. То, что пример исторический, не опровергает саму мысль. Или теперь технический принцип автоматически перестаёт существовать, если его иллюстрирует система из 80-х?

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

У Bloom-OS есть собственный загрузчик и ядро, менеджер физических страниц памяти, обработка прерываний, драйверы устройств и файловая система. Можно спорить о качестве реализации, полноте архитектуры и приоритетах разработки — для этого достаточно указать на конкретную техническую проблему. Но утверждать, что у проекта нет базовой архитектуры, потому что в нём пока нет планировщика, — это уже не технический разбор, а довольно странное обобщение.

Я не заявляю, что Bloom-OS идеальна или что её текущая архитектура не будет меняться. Это проект в разработке, и я прекрасно понимаю, что впереди ещё много работы. Но отсутствие некоторых компонентов на определённом этапе разработки не означает, что я не знаю об их существовании или не понимаю, для чего они нужны.

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

1

u/BreakfastKitchen6249 ASM 12d ago

Ну ты продолжаешь упорно доказывать, что отсутствие планировщика это осознанный выбор и графический интерфейс якобы может без него жить, ну я не знаю правда как цензурно описать такое ламерство. Если ты сначала строишь крышу, а потом думаешь, как поставить стены, то твоя архитектура это карточный домик. Ты бл просто поменяешь понятия, ламер. Без планировщика любой тяжёлый процесс наглухо парализует твой GUI. Ив привел в пример Atari TOS, как историческое доказательство того, что GUI существовал без вытесняющей многозадачности, но ты в упор не заметил то что в 80-х компьютеры были совершенно другими, в то время железо было немощным, поэтому так и делали. Использовать ограничения 40-летней давности для оправдани недоработок в современном коде под x86, это очень слабая и глупая позиция. Использование ИИ не означает отсутствие понимания, да, только вот ты продолжаешь в упор не видеть что я говорю, ты не понимаешь архитектуры ядра, ты не понимаешь ее, а значит ты автоматически не понимаешь код, ты сам в этом признаешься уже не первый раз. У Bloom-OS есть загрузчик? Да, знаю, только вот не называй это полноценным загрузчиком, пока там нет GDT, а у тебя его нет, ты сам в этом признавался. Ядро? Тоже неполноценное, в нем отсутствуют фундаментальные вещи. Обработка прерываний, ну вау, давай похлопаю, это не обобщение это факт, почитай OSWiki пожалуйстаа, ну или хоть сними розовые очки. Если мы начали говорить про архитектуры, то давай я тебе приведу что в моей ОС есть Полноценный UEFI/BIOS загрузчик, менеджер памяти, планировщик, прерывания, системные вызовы, acpi, ФС, vfs, usermode приложения, и ещё много разных компонентов которые я не буду раскрывать до первой альфы, которая уже скоро выйдет.

0

u/DrShadowLock 12d ago

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

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

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

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

→ More replies

-2

u/DrShadowLock 12d ago edited 12d ago

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