OSDev http://osdev.su/ |
|
Проще, чем Lego http://osdev.su/viewtopic.php?f=25&t=620 |
Страница 1 из 2 |
Автор: | DJ PhoeniX [ 24 авг 2012, 05:52 ] |
Заголовок сообщения: | Проще, чем Lego |
Скажите себе, какими возможностями компьютеров вы пользуетесь каждый день? А что из этого функционала реализовано в вашей ОС? А есть в ней такое, что вы не запускали ни разу, и не собираетесь, и это стоило бы удалить и забыть? А возможно, вам вообще нужна лёгкая ОС для веб-сервера, у которой есть только терминальный доступ и драйвер сети? PhoeniX OS будет сопровождаться конструктором, который в несколько кликов позволит интегрировать необходимые драйвера (с автоматическим определением, что есть на вашем компьютере), добавить программы прямо в ядро (если вы часто пользуетесь калькулятором, текстовым редактором, или любой другой программой - она будет запускаться мгновенно), или, наоборот, сократить размер загружаемого файла до считанных килобайт, оставив только самое необходимое, и ускорив загрузку ОС до состояния "готова к выполнению команд" до долей секунды. Так же аналогичный конструктор будет представлен на сайте ОС. Таким образом, вы сможете скачать только тот комплект драйверов и программ, который вам нужен, не утруждая себя загрузкой драйверов для чужого оборудования. |
Автор: | D-S [ 24 авг 2012, 11:51 ] |
Заголовок сообщения: | Re: Проще, чем Lego |
Вам в первую очередь нужно подумать как эти компоненты будут между собой взаимодействовать (разработать компонентную модель). COM, CORBA, D-Bus, своё на основе. Иначе потом много придётся переделывать. |
Автор: | DJ PhoeniX [ 24 авг 2012, 12:28 ] |
Заголовок сообщения: | Re: Проще, чем Lego |
D-S писал(а): как эти компоненты будут между собой взаимодействовать Упрощённая модель DLL Windows - таблица релоков, entrypoint и stdcall. |
Автор: | Yoda [ 24 авг 2012, 13:41 ] |
Заголовок сообщения: | Re: Проще, чем Lego |
Каким образом планируется решение проблемы DLL hell? |
Автор: | DJ PhoeniX [ 24 авг 2012, 14:43 ] |
Заголовок сообщения: | Re: Проще, чем Lego |
Yoda писал(а): Каким образом планируется решение проблемы DLL hell? Я же сказал - упрощённая модель Такой проблемы не возникнет. |
Автор: | SII [ 24 авг 2012, 14:56 ] |
Заголовок сообщения: | Re: Проще, чем Lego |
DJ PhoeniX писал(а): Такой проблемы не возникнет. Блажен, кто верует... На самом деле, единственный способ избежать этой проблемы -- обеспечение: 1) полного соответствия между описанием библиотеки и поведением её реализации; 2) применением в программах, пользующихся данными библиотеками, только явно документированных возможностей без "закладывания" на недокументированные особенности поведения; 3) гарантированной стопроцентной совместимости "снизу вверх" между старыми и новыми версиями библиотек. Технически это достижимо, хотя и довольно геморройно. |
Автор: | D-S [ 24 авг 2012, 14:59 ] |
Заголовок сообщения: | Re: Проще, чем Lego |
SII писал(а): На самом деле, единственный способ избежать этой проблемы -- обеспечение: 1) полного соответствия между описанием библиотеки и поведением её реализации; 2) применением в программах, пользующихся данными библиотеками, только явно документированных возможностей без "закладывания" на недокументированные особенности поведения; 3) гарантированной стопроцентной совместимости "снизу вверх" между старыми и новыми версиями библиотек. Обеспечивается версионностью интерфейсов. Однажды определенный интерфейс имеет версию и не меняется. А сама ОС - набор интерфейсов. То что самое простое - не всегда самое лучшее и уж конечно не универсальное. Так что - разрабатывайте компонентную модель... |
Автор: | SII [ 24 авг 2012, 15:06 ] |
Заголовок сообщения: | Re: Проще, чем Lego |
D-S писал(а): Обеспечивается версионностью интерфейсов. Однажды определенный интерфейс имеет версию и не меняется. А сама ОС - набор интерфейсов. Тоже вариант. Однако автор хочет использовать DLL, так что я отвечал в рамках его задумки. Кстати, строго говоря, метод решения проблемы "хелла" остаётся в любом случае одинаковым. В случае простых DLL -- строгое соответствие любой версии реализации описанию функций, находящихся в DLL, с поддержанием совместимости и т.п. (о чём я написал). В случае с интерфейсами -- опять-таки, строгое соответствие поведения интерфейса его описанию, использование клиентами только явно описанных возможностей и особенностей поведения, строгое соблюдение совместимости "снизу вверх" между разными версиями интерфейса. Т.е., по сути, проблема остаётся той же самой, меняются лишь технические детали. |
Автор: | grindars [ 24 авг 2012, 21:22 ] |
Заголовок сообщения: | Re: Проще, чем Lego |
Т.е. получается все тот же SxS, только в профиль. |
Автор: | DJ PhoeniX [ 25 авг 2012, 10:52 ] |
Заголовок сообщения: | Re: Проще, чем Lego |
Проблема будет решаться версионностью. Все модули будут в одном репозитории с ядром, и при обновлении будут скачиваться одинаковые версии. В случае со сторонними модулями - загружаться будут только те, версия которых совпадает с версией ядра. Будет так же принудительная загрузка, где не будет проверок на версию. Но, естественно, эту функцию пользователь будет использовать на свой страх и риск. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |