DReam
|
Sunday 14.12.2003 16:45
|
|
|
Зарегистрирован Saturday 13.12.2003 15:44
Сообщений - 20
|
Я думаю, что 3ОС должна основываться на стандартах.
Основной сетевой протокол - TCP/IP.
Поддержка POSIX и Windows API, .NET
Обязательная встроенная поддержка UNICODE.
Поддержка XML. Кстати предлагаю основным форматом документации и конфигурационных файлов выбрать XML!!! Преимущества: простота, расширяемость, стандартизация, нестрашны фаерволы.
|
Наверх
|
|
Freeman
|
Monday 15.12.2003 01:47
|
|
|
Зарегистрирован: Sunday 16.11.2003 22:36
Местоположение: Зеленоград, Россия
Сообщений - 74
|
Roman I Khimov писал(а): ... XML - хорошо, но мне кажется мы способны предложить кое-что получше
Самое главное, что у нас будет - абстрактные интерфейсы. Все данные можно привести к некоторому абстрактному интерфейсу. А это автоматически означает, что может быть несколько реализаций одного и того же формата данных, только на разных "движках", если можно так выразиться. Например, аналог реестра может быть реализован как в виде текстового контейнера/XML, так и в двоичном виде. Последний, кстати должен занимать меньше места при хранениии. А реестр у нас будет побольше, чем у Windows - ведь весь API/RTL будет вынесен на уровень системы...
[ Редактирование Mon Dec 15 2003, 01:55AM ]
|
Наверх
|
|
Freeman
|
Wednesday 17.12.2003 20:17
|
|
|
Зарегистрирован: Sunday 16.11.2003 22:36
Местоположение: Зеленоград, Россия
Сообщений - 74
|
DReam писал(а): ... А зачем нам реестр
В винде с ним маешься и тут тоже самое
А кто сказал, что у нас будет реестр Винды? Дело ведь не в реестре как понятии, а его реализации.
В ОО-системах его все равно не избежать: надо же где-то хранить информацию о том, какой объект системы соответствует какому участку кода (программе, библиотеке, плагину, процедуре). У нас будет специализированное пространство имен для хранения подобных данных, которое будет монтироваться в единое пространство данных.
На нижнем же уровне может быть несколько реализаций. Например, можно сделать что-то похожее на связанные друг с другом ini-шки. Хотя, мне больше по душе двоичная реализация. Я уже говорил, что хранение данных в "текстовом" виде - наследство старых ОС.
|
Наверх
|
|
DReam
|
Thursday 18.12.2003 10:06
|
|
|
Зарегистрирован: Saturday 13.12.2003 15:44
Сообщений - 20
|
Как ситема будет по GUID находит модуль
Думаю эту задачу нужно возложить на систему хранения объектов(чуть было не сказал файловую систему ) Когда модуль копируется в неё его GUID извлекается из метаданных и заносится в специальную базу (где указывается GUID и местоположение модуля), таким образом регистрация модуля происходит автоматически. Если модуль пермещается или удаляется, соответствующие изменения система хранения производит в базе данных. Так как модулей будет много необходимо кэшировать часто использующиеся GUIDы.
При запуске на выполнение модуля ищутся необходимые ему модули по GUIDам хранящимся в метаданных.
|
Наверх
|
|
may
|
Thursday 18.12.2003 11:21
|
|
|
Зарегистрирован: Friday 21.11.2003 02:29
Местоположение: Россия, Чита
Сообщений - 9
|
Все-таки GUID должен быть у отдельного класса
и у объектов видимых на уровне системы (разделяемые и устойчивые)
У модуля он впрочем тоже может быть
Классы должны быть объектами принадлежащими классу "метакласс"
в качестве данных - массивы с описаниями свойств и методов класса
храниться они могут в том же объектном хранилище.
|
Наверх
|
|
DReam
|
Thursday 18.12.2003 20:43
|
|
|
Зарегистрирован: Saturday 13.12.2003 15:44
Сообщений - 20
|
may писал(а): ... Все-таки GUID должен быть у отдельного класса
и у объектов видимых на уровне системы (разделяемые и устойчивые) Во-первых зачем GUID классу который используется только внутри модуля и не предоставляет интерфейсы другим модулям.
Во-вторых на практике программисты пользуются не отдельными классами, а компонентами (модулями, сборками). Поэтому в качестве исполняемой единицы лучше брать модуль, а не класс. Будет лучше для всех и для разработчиков, и для программистов.
В-третьих каждый класс придётся регистрировать(создавать и хранить метакласс), что довольно расточительно.
С метаданными всё гораздо проще. Они находятся в самом модуле.
|
Наверх
|
|
Модераторы: Roman I Khimov, netwizard. |
|
|