OSDev
http://osdev.su/

Версия 1
http://osdev.su/viewtopic.php?f=26&t=592
Страница 3 из 5

Автор:  Станислав [ 11 июл 2012, 02:53 ]
Заголовок сообщения:  Re: Версия 1

Freeman писал(а):
Странное соглашение о вызовах.

Да это соглашение, почти все функции использцют данные из объекта через адрес в ebp, функции закраски или рисование объекта точно, т.к. они сам этот адрес записывают после отрисовки пикселя, для его прямой ссылки при каком то действии мышки, чтобы ему отправить сообщение о этом действии.

Автор:  Freeman [ 11 июл 2012, 20:08 ]
Заголовок сообщения:  Re: Версия 1

Станислав писал(а):
Да это соглашение

И как ты его назовешь? malincall?

Автор:  Станислав [ 12 июл 2012, 05:26 ]
Заголовок сообщения:  Re: Версия 1

Freeman писал(а):
И как ты его назовешь? malincall?

Можно и так назвать :) . Да в системе все записывается в объекты, функции, адреса, просто данные в поля и берётся, вызывается через этот адрес объекта в ebp как[ebp+??], а все функции записанные в свою очередь при их вызове так же получают этот адрес и берут точно так же всё от своего объекта + доп. пораметры в регистрах. Они так же берут и объекты своего объекта верхнего и нижнего уровня, а так же цепочки объектов или просто адрес массива объектов.
В цепочке или массиве казалось бы похожих объектов, у которых один и тот же смысл(например диски или устройства, или файлы с функциями и переменными в одном и том же месте) работа идёт по одному принципу(например вывод этого списка на экран или чтение данных из файла) результат у каждого объекта будет свой, т.к. у них разные функции, разное оформление.
Фишка в том что нам не важно где находится файл(диск флешка сеть фат нтфс), функция чтения его сектора выдаёт один и тотже результат, т.е если у нас в ebp объект файл мы его данные всегда прочтём функцией по смещению ??. У любого устройства, файла есть функция вывода о нём инфы и вызвав меню объекта стандартное меню для всех объектов выведет его инфу.

Так работать очень легко и быстро, не нужны всякие функции получения информации, ты любую инфу возмёш по своему смещению. Эта система даёт возможности при более глубоком её изучении которые недоступны существующим осям, но и это не предел для неё. Так же можно делать игровые движки на этой системе(человечки будут объектами и у каждого своё оформление, функция обработки сообщения по таймеру, реакция на что либо .....)

Автор:  Станислав [ 12 июл 2012, 05:41 ]
Заголовок сообщения:  Re: Версия 1

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

Автор:  Freeman [ 12 июл 2012, 18:41 ]
Заголовок сообщения:  Re: Версия 1

Станислав писал(а):
не нужны всякие функции получения информации, ты любую инфу возмёш по своему смещению.

Цитата из доки ОС "Фантом":
Цитата:
Here are methods with fixed ordinals. These are mostly methods of 'object' - the very root class in language. Methods 8-14 are not defined for object in any usable way (will throw on call to them) and exist only to be redefined in other special classes. (That's historical and has no reason now.)


Станислав писал(а):
Эта система даёт возможности при более глубоком её изучении которые недоступны существующим осям

А в новой версии ОС смещения поменяются... That's historical and has no reason now™. :lol:

Автор:  Станислав [ 13 июл 2012, 04:32 ]
Заголовок сообщения:  Re: Версия 1

Я не понял вопроса! Вы пытались что то спросить?
Смещения меняться не будут естественно, после стандартных полей у объектов свои, а стандартных всего 4. Можно будет всегда менять объекты на похожие но более умные.

Автор:  Yoda [ 13 июл 2012, 13:05 ]
Заголовок сообщения:  Re: Версия 1

Станислав писал(а):
Смещения меняться не будут естественно

"Так думают все. И ошибаются." (с) Убить дракона.

Автор:  Станислав [ 13 июл 2012, 13:52 ]
Заголовок сообщения:  Re: Версия 1

Yoda писал(а):
"Так думают все. И ошибаются." (с) Убить дракона.

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

Автор:  Yoda [ 13 июл 2012, 15:16 ]
Заголовок сообщения:  Re: Версия 1

Есть такая общая закономерность.
1. Сначала делают. Получается вроде бы быстро и, кажется, эффективно. Оно распространяется в массах. Когда массы начинают использовать, выясняется, что много чего не было продумано.
2. Думают, как можно обойти недодумки. Пока ещё система не особо распространилась, и нет стороннего софта, можно исправить хирургически. Иправляют. На этом щастье заканчивается.
3. Появился сторонний софт. Если править хирургически, то весь софт перестанет работать. Тогда начинают решать проблемы методом добавления новых (расширенных) интерфейсов (первая стадия слоновости, - появление функций с суффиксами _ex). Вскоре выясняется, что добавлением интерфейсов решается далеко не всё и надо изменять поведение старых функций.
4. Для сохранения старой функциональности начинают плодить библиотеки. Например, появляются разные, несовместимые друг с другом версии каркаса MFC, фреймворки .NetFX и прочие библиотеки. Система за короткий промежуток времени вырастает в размере в разы, эффективность работы падает. По ходу дела выясняется, что системе присущи фундаментальные недостатки, которые являются следствием изначальной непродуманности и без крови от них избавиться не получится. Так, например, в семействе Windows изначально не был заложен механизм разделения пользователей.
5. Разработчики хватаются за голову и начинают наперебой клепать альтернативные библиотеки с "упрощённой функциональностью", инкапсуляцией мутных функций ОС в "простые и понятные вызовы" и каждый разработчик при этом имеет свою библиотеку привычных функций. Система с установленным софтом за короткий промежуток времени вырастает в размере в десятки раз. Т.к. никто не знает, как решить фундаментальные проблемы, начинает серьёзно страдать безопасность (попробуйте поработать в агрессивной среде без антивируса) и производительность (поживите с работающим антивирусом).
6. Разработчики софта сталкиваются с конфликтом версий их же собственных библиотек из разных софтин и версий софта. Начинается DLL Hell.
7. В попытке упорядочить этот бардак ОС навязывает новые "унифицированные" интерфейсы (например, COM) и механизмы (реестр). ОС становится ещё более неповоротливой и нормально живёт только до тех пор, пока её не загадили регулярной эксплуатацией пользователи.
8. Пользователи начинают бежать с этой ОС и искать альтернативные пути.

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

Автор:  Freeman [ 13 июл 2012, 15:40 ]
Заголовок сообщения:  Re: Версия 1

Yoda писал(а):
По ходу дела выясняется, что системе присущи фундаментальные недостатки, которые являются следствием изначальной непродуманности и без крови от них избавиться не получится.

Вот с отсутствием гибкости к переделкам и пытается бороться наша лаборатория. "Вы начните делать, а мы потом скажем, как правильно" -- и есть наша постановка задачи. Тут всё просто: или концепция фрактальной ОС и вправду хороша, и тогда мы решим задачу, или наша концепция -- химера, и тогда мы тупо прогорим.

Была ещё одна великолепная фраза: "Автоматизируя бардак, получаешь автоматизированный бардак". Обычный анализ борется с бардаком путём упорядочивания, а ведь можно описать его математической функцией, после чего принять за данность и не париться.

Страница 3 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/