@Milyuta
Системщик

Создание графической оболочки для ОС?

Доброго времени суток уважаемые пользователи!
Имеется такая ситуация:
1. Написан загрузчик и простейшая файловая система на assembler.
2. Написано ядро на С. Умеет выводить строки на экран, читать нажатые клавиши, запускать приложения (написанные на assembler, без заголовков и прочей ерунды, то есть чистейшие bin файлы).
3. Дописывается распределение памяти и многозадачность.
4. Разрабатывается описание системных вызовов и компилятор простого языка (Basic) в соответствии с данными системными вызовами.
Проблема:
Какие способы создания графического интерфейса существуют? Потому что и самому хочется GUI написать (практика), да и в свет если пускать, то без GUI никак...
Прошу помощи, комментарии типа: "Заняться нечем", "Это over 9000 лет займет", "Выкинь в мусорку и иди спать" - прошу не оставлять.
  • Вопрос задан
  • 6221 просмотр
Пригласить эксперта
Ответы на вопрос 5
Aquarius-Michael
@Aquarius-Michael
Программист и железячник
Мне кажется, что вам нужно понять, как работает сам пользовательский интерфейс. Тут должны быть базовые шаблоны, классы и вызовы. Всё-таки окна и любой элемент пользовательского интерфейса это тоже всего рода отдельные приложения, активно взаимодействующие с ядром другого приложения. Попробуйте изучить все поведения элементов из Visual Studio. Там они очень хорошо описаны и сделать хотя бы базовый набор исходя из полученного изучения. Например, окно имеет определённый набор кода, чтобы отрисовывать на экране дисплея, где могут быть вызовы на события, изменения свойств и так далее. И ещё вам надо в первую очередь поработать с кадровым буфером (framebuffer). Без него никак нельзя. Все графические механизмы проходят перерисовку через этот буфер. В общем, для начала вам надо поработать с кадровым буфером. И выводить через него на экран монитора.
То, что вы делаете, это очень даже хорошо. Важно не останавливаться и сохранять интерес к этому делу. Шаг за шагов вы можете достичь большего. Москва же не сразу строилась.
Ответ написан
Комментировать
Rou1997
@Rou1997
Заняться нечем, over 9000 лет займет, выкиньте в мусорку, но идите не спать, а думать головой, приумерьте амбиции, начните с реверсной инженерии и создания компонентов для имеющихся аналогов, в том числе альтернативных графических интерфейсов, вот вам и способ.

прошу не оставлять

Почему? Разве не правда, что это займет "over 9000 лет", и что вам нечем заняться?
Ответ написан
Nekto_Habr
@Nekto_Habr
Чат дизайнеров: https://t.me/figma_life
с точки зрения дизайна (я не программист) - подобрать подходящий системный шрифт, открыть иллюстратор и рисовать. Я бы посоветовал поизучать material design, там хорошо описаны принципы взаимодействия с интерфейсом.
Ответ написан
nki
@nki
bezkart.ru готовая система лояльности
Настоящей ОСи графический дизайн не нужен - все можно сделать в консоли.
Ответ написан
FedLapshin06
@FedLapshin06
C/C++, Go, Python developer
попробуйте начать с VGA...
потом напишите драйвер для Видюхи...
потом юзайте драйвер для отрисовки гуя...
а ещё напишите свой оконный менеджер....

P.S я тоже работаю над своей ОС... и У Вас хорошая идея, идите дальше, не останавливайтесь.... не слушайте других...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы