: . Главная . : . Форум . : . Загрузка . : . Пользователи . : . ЧаВо . : . Документация . :


Операционная система 3OS -> Форумы -> Идеология проекта
<< Предыдущая тема | Следующая тема >>   

Стандарты и 3ОС

Перейти к странице -1-2-3-4 Следующая
Автор Отправлено
DReam
Sunday 14.12.2003 16:45 Цитата

Зарегистрирован Saturday 13.12.2003 15:44
Сообщений - 20
Я думаю, что 3ОС должна основываться на стандартах.
Основной сетевой протокол - TCP/IP.
Поддержка POSIX и Windows API, .NET
Обязательная встроенная поддержка UNICODE.
Поддержка XML. Кстати предлагаю основным форматом документации и конфигурационных файлов выбрать XML!!! Преимущества: простота, расширяемость, стандартизация, нестрашны фаерволы.

Наверх
Roman I Khimov
Sunday 14.12.2003 23:41 Цитата

Местоположение: Россия, Санкт-Петербург
Сообщений - 178
Файлов нет. Не было и не будет.
А вообще 3OS должна устанавливать новые стандарты, поскольку иначе какой в ней смысл? Тогда можно спокойно жить под Linux, он поддерживает все понемногу и бесплатен. Или Windows. Неважно.
Unicode - обязательно, причем только как UCS32. XML - хорошо, но мне кажется мы способны предложить кое-что получше.
TCP/IP - вот уж действительно что не изменишь. Ну да это и не мешает.

Греби и улыбайся!
Наверх
Сайт
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 ]
Наверх
DReam
Wednesday 17.12.2003 11:09 Цитата

Зарегистрирован: Saturday 13.12.2003 15:44
Сообщений - 20
Freeman писал(а): ...
А реестр у нас будет побольше
А зачем нам реестр
В винде с ним маешься и тут тоже самое
Наверх
Freeman
Wednesday 17.12.2003 20:17 Цитата

Зарегистрирован: Sunday 16.11.2003 22:36
Местоположение: Зеленоград, Россия
Сообщений - 74
DReam писал(а): ...
А зачем нам реестр
В винде с ним маешься и тут тоже самое

А кто сказал, что у нас будет реестр Винды? Дело ведь не в реестре как понятии, а его реализации.
В ОО-системах его все равно не избежать: надо же где-то хранить информацию о том, какой объект системы соответствует какому участку кода (программе, библиотеке, плагину, процедуре). У нас будет специализированное пространство имен для хранения подобных данных, которое будет монтироваться в единое пространство данных.
На нижнем же уровне может быть несколько реализаций. Например, можно сделать что-то похожее на связанные друг с другом ini-шки. Хотя, мне больше по душе двоичная реализация. Я уже говорил, что хранение данных в "текстовом" виде - наследство старых ОС.
Наверх
DReam
Thursday 18.12.2003 08:44 Цитата

Зарегистрирован: Saturday 13.12.2003 15:44
Сообщений - 20
Freeman писал(а): ...
надо же где-то хранить информацию о том, какой объект системы соответствует какому участку кода (программе, библиотеке, плагину, процедуре)

Программа, библиотека, словом модуль могут содержать метаданные которые описывают: классы которые содержит модуль и интерфейсы и свойства предоставляемые классами. Так же метаданные должны описывать зависимости модуля от других модулей. Каждый модуль должен иметь GUID. Система лишь должна по GUID находить модуль.
Наверх
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 классу который используется только внутри модуля и не предоставляет интерфейсы другим модулям.
Во-вторых на практике программисты пользуются не отдельными классами, а компонентами (модулями, сборками). Поэтому в качестве исполняемой единицы лучше брать модуль, а не класс. Будет лучше для всех и для разработчиков, и для программистов.
В-третьих каждый класс придётся регистрировать(создавать и хранить метакласс), что довольно расточительно.
С метаданными всё гораздо проще. Они находятся в самом модуле.
Наверх
Freeman
Thursday 18.12.2003 21:26 Цитата

Зарегистрирован: Sunday 16.11.2003 22:36
Местоположение: Зеленоград, Россия
Сообщений - 74
DReam писал(а): ...
Когда модуль копируется в неё его GUID извлекается из метаданных и заносится в специальную базу (где указывается GUID и местоположение модуля)

Хе-хе-хе! Что только что вы сказали? Специальную базу? А как прикажете назвать ее одним словом?
Наверх
DReam
Friday 19.12.2003 12:28 Цитата

Зарегистрирован: Saturday 13.12.2003 15:44
Сообщений - 20
Freeman писал(а): ...
А как прикажете назвать ее одним словом?

Реестр или база не суть важно.
Главное что описания классов, их интерфейсов, а также конфигурационные данные модуля(программы), хранятся в самом модуле в виде метаданных. Таким образом модуль описывает сам себя. Развертывание приложений сводится к простому копированию на диск, сетевой каталог
Вспомните COM, его проблемы с развертыванием, dllhell, нам это надо

P.S. Вообще я считаю что GUID должны иметь только разделяемые модули
Наверх
Перейти к странице -1-2-3-4 Следующая

Модераторы: Roman I Khimov, netwizard.

Переход:     Наверх