Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Поиск по сайту









Подписка на новости
Ваше имя:
Ваш E-Mail:*
Секретный код:
Секретный код
Повторить:*
Интересное в сети

Sape — это система купли-продажи ссылок
с главных и внутренних страниц сайтов
Форум -> Обо всём... -> xBird Engine
xBird Engine
Sidious Дата: 20.04.2007, в 01:45 | Сообщение №1
Sidious
Администратор
Пользователь №: 42
Сообщений: 125

Исходя из прежних идей и разработок, мною было принято решение о создании действительно "движка" на PHP. Что-то вроде мини операционной системы. Со своим ядром, с своими правилами инициализации, со своей коллекцией библиотек, модулей, блоков, различных приложений.

Как раз коллекция дополнений к "движку" и будет построена по принципу системы ports(FreeBSD)/portage(Gentoo).

PHP приложения/модули/блоки будут устанавливаться парой кликов из админ-панели, собирая при этом все нужные им скрипты.

Дополнения написанные на компилируемых языках будут собираться с помощью Unix компиляторов.

Будет создана база данных дополнений к движку.

По умолчанию на офф.сайте будет доступен лишь скрипт конфигурации и инсталляции движка. Он предоставит возможность сконфигурировать нужный именно Вам набор компонентов или предоставит некоторые стандартные набор, примерно как сборка ядра Unix-native операционных систем.

На базе данного движка можно будет построить как простой сайт, так и панель управления сервером.

Данный движок будет разрабатываться в для 4-х ОС - FreeBSD, Linux (Gentoo, Red Hat Enterprice, Suse, Debian, Ubuntu), CentOS и Solaris.

Платформа Windows поддерживаться не будет.

О сроках разработки сказать пока ничего не могу, проект большой и довольно сложный, но с вашей поддержкой все будет гораздо быстрее :)

О цене - скорее всего OpenSource/Freeware.

Просьба.

Задавайте вопросы, вносите предложения, ведь из них могут вырасти новые идеи.



Структура каталогов xBirdEngine

Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/bin/ - бинарные файлы

/boot/ - ядро

/etc/conf.d/ - конфигурационные файлы

/etc/env.d/ - предопределенные константы и переменные

/etc/init.d/ - скрипты инициализации ядра и системы

/lib/ - каталог для библиотек

/lib/pear - PEAR

/lib/zend - Zend Framework

/lib/sys - Системные библиотеки

/root/ - каталог для скриптов командного центра системы(админ-панели)

/tmp/ - временнные файлы

/var/log - логи

/usr/modules/ - модули

/usr/templates/ - шаблоны

/usr/xportage/ - коллекция build файлов для модулей|классов|библиотек|компонентов ядра




Все каталоги будут устанавливаться при загрузке ядра, сразу добавляется возможность переназначения всех каталогов кроме /boot/. Для этого в каталоге /boot лежит map файл - System.map.

Стандартный System.map

Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26


[bin]

path = bin

[etc]

conf.d = conf.d

env.d = env.d

init.d = init.d

profile.d = profile.d

path = etc

[lib]

classes = classes

ext = ext

sys = sys

[root]

path = root

[tmp]

path = tmp

[usr]

modules = modules

path = usr

templates = templates

xportage = xportage

[var]

path = var

log = log


Схема работы ядра

Загрузчик -> Парсинг конфигурационных файлов -> Первичная сортировка входных данных -> Взаимосвязь с другим интерпретаторами и языками -> Передача управления парсеру Url(который в свою очередь должен будет передать управление модулю)

Пути в системе определяются ядром с помощью метода getSystemPath

Код
1
2
3
4
5
6
7
8
9
10


/**

* Returns system path by default path

*

* @param string $Path

* @param string $ArrKey

* @return string

* example getSystemPath('etc/conf.d');

*/


На данный момент вся карта представляется как двумерный массив

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

Пример использования

getSystemPath('etc/conf.d'); - выведет данные из карты - [etc][path]/[conf.d][value].



Исключения ядра xBirdEngine.

Исключения во всем "движке" будут делиться на 2 типа: исключения ядра(Kernel) и исключения пользователя(User).

Каждый тип будет делиться на под-типа. Исключения типа Kernel могут генерироваться только ядром системы. Для этих типов будут созданы свои обработчики исключений.



Обработчик исключений в ядре будет генерировать сообщение об ошибке, проверять доступен ли для записи каталог getSystemPath('var/log') . '/kernel/. Если в каталог писать можно, то он скидывает лог об ошибке в файл в этом каталоге и ставит флаг, для оповещения администратора, в противном случае пытается записать в /tmp/. Если же и это не удается - выводит ошибку в браузер.



У ядра будет свой реестр, куда оно будет записывать временные рабочие данные, возможно реестр будет созраняться на диск, и подключаться при последующей загрузке ядра.



Далее ядро будет в себе содержать стандартный KernelUrlParser для разбора Url командного центра, KernelCommandCenter - сам коммандный центр, KernelTplParser - обработчик шаблонов командного центра.

Все эти парсеры и обработчики не будут доступны для модулей.



Скоро

Скоро опубликую обзор работы системы xPortage.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно 20.04.2007 г. в 01:46:48

Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!


Реклама
Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул

Rambler's Top100

Генерация страницы: 0.279 сек. и 17 запросов к базе данных за 0.025 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.