OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 18:13

Часовой пояс: UTC + 3 часа




Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 85 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
СообщениеДобавлено: Суббота, 22 Сентябрь, 2012 20:23 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Да


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 03:13 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Код:
    К (Lin)Kernel 1.5 применены офиц. правки, обновляющие до 1.6-rc6.
    В start пробы, нагружающие сборщик мусора.
    Дельта скорректирована (описки, выявленные при компиляции).
        modified:   System/Mod/Kernel.odc
        modified:   d/Deltas/Kernel15-16rc6.odc
        modified:   start.odc

    Офиц. Kernel 1.5 размещён в рабочем пространстве.
        new file:   System/Mod/Kernel.odc

    В материалы добавлен офиц. (Lin)Kernel 1.5
    Дельта Kernel15-16-rc6 переоформлена как "Обновление официального (Lin)Kernel 1.5 до 1.6-rc6". Осталось внести изменения.
        modified:   d/Deltas/Kernel15-16rc6.odc
        new file:   d/Deltas/Kernel15-16rc6/LinKernel15.odc

    Скорректирована промежуточная версия ядра 15-x (упустил одну поправку).
    Выписаны ОС-независимые правки Kernel 1.5 -> 1.6-rc5 -> 1.6-rc6
 ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ЕРТ: линуксовый рантайм ББ
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 11:24 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
viewtopic.php?p=75017#p75017
Alexander Shiryaev писал(а):
То, что не нужно, удалял (Windows-специфика), или комментировал и помечал красным.
Поддерживаю. В оминковском ядре очень много комментированных кусков, в основном от Windows-реализации, которые мешаются. Как раз хотел поднять вопрос об их исключении.

Удалять не буду, с глаз можно убрать, завернув в складки. Включу эту поправку в дельту Kernel15-16rc6.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ЕРТ: линуксовый рантайм ББ
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 12:10 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
viewtopic.php?p=75024#p75024
Alexander Shiryaev писал(а):
Но только перед тем, как доделать/дооформить правки Kernel, HostFiles, сначала надо добиться надёжности работы BlackBox. Для этого я разбирался с ядром. Самый простой для моего понимания способ разобраться -- взять последнее ядро Windows (1.6-rc6) и заново его портировать.

...

Теперь я хочу сделать одно ядро, обобщающее все наработки, и чтобы оно было общее для Linux и OpenBSD (можно через DevSelectors), подчистить его и задокументировать список отличий от 1.6-rc6 Windows. Можно даже написать комментарии на русском языке в исходном тексте.
Чтобы добиться надёжности, надо давать себе отчёт в способе реализации соотв. механизмов Kernel посредством правил их организации в нижележащей ОС и с использованием соотв. системных вызовов.

Чтобы эту надёжность усилить, в т.ч. путём всеобщего контроля, реализация механизмов должна быть описана (обоснована) документально, а не сидеть у разработчика в голове.

Если Вы в основных моментах разобрались и сделали это более корректно, нежели сделано в ядре Оминк, так давайте их теперь документировать отдельными дельтами по каждому моменту и вносить в Lin-ядро Оминк. Для обеспечения преемственности (это полезный для общего восприятия момент).

Ядро Оминк, в которое эти изменения нужно вносить, подготовлено. Нет разницы, куда их внести --- в Win 1.6-rc6 или в Lin 1.5 с ним синхронизированный.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 12:19 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
И может быть стоит работать над общим планом в общем репозитории? Если бы Вы не соглашались на общий репозиторий, я бы не тратил время на разбирательство с git, с работал бы svn/bb-lin.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 12:29 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
В общий репозиторий ничего не вношу, т. к. пока нечего.
Мои экспериментальные наработки пока здесь.

Цитата:
Чтобы эту надёжность усилить, в т.ч. путём всеобщего контроля, реализация механизмов должна быть описана (обоснована) документально, а не сидеть у разработчика в голове.

Да, надо это сделать :)

Ещё мне всё-таки нужен Linux.
Кто-нибудь может дать shell-доступ? Или мне лучше скачать дистрибутив?


Последний раз редактировалось Alexander Shiryaev Вторник, 25 Сентябрь, 2012 12:31, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 12:30 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Не имею ничего против, чтобы изыскания Вы производили где удобно. Но если они касаются общего плана, то о них стоит информировать остальных участников, чтобы исключить пересечения в работе.

Мне казалось, что отмечать эти планы удобнее всего в общем хранилище в ББ-документах.

Александр, Вы можете сделать документы-заготовки дельт с обозначением задач, которые Вы переделали по-другому, нежели было у Оминк?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 12:33 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Мне это нужно, чтобы оформлять дельты из bb-lin. Если у Вас что-то уже сделано по-другому и лучше, то их не будет смысла вообще оформлять.

Или хотя бы здесь в двух словах обрисуйте ситуацию. Например, что Вы использовали без больших изменений. Тогда я с этого начну.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 12:38 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Цитата:
Александр, Вы можете сделать документы-заготовки дельт с обозначением задач, которые Вы переделали по-другому, нежели было у Оминк?

Сначала надо проверить, как это всё будет работать в Linux. Я же только в OpenBSD проверял. Когда будет из чего дельту делать, тогда сделаю.

Как уже писал, пока основных различий 2 -- управление памятью (AllocHeapMem, FreeHeapMem, AllocModMem, DeallocModMem) и корректная обработка исключений по переполнению стека (в InstallSignals).

Сборщик мусора вообще не трогал.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 13:22 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Alexander Shiryaev писал(а):
Как уже писал, пока основных различий 2 -- управление памятью (AllocHeapMem, FreeHeapMem, AllocModMem, DeallocModMem)
Управление памятью правил Сергей Оборотов
Цитата:
VAR zerodev: INTEGER;
VAR pageSize: INTEGER;

PROCEDURE AllocModMem* (descSize, modSize: INTEGER; VAR descAdr, modAdr: INTEGER)
PROCEDURE DeallocModMem* (descSize, modSize, descAdr, modAdr: INTEGER)
PROCEDURE InvalModMem (modSize, modAdr: INTEGER)

PROCEDURE InitProtect
секция инициализации
Вызов InitProtect
Вы отталкивались от его правок?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 13:25 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Alexander Shiryaev писал(а):
Ещё мне всё-таки нужен Linux.
Кто-нибудь может дать shell-доступ? Или мне лучше скачать дистрибутив?
Скачайте дистрибутив и поставьте убунту в вирт. машине на винде. Серверная версия проблем с ресурсами машины точно вызвать не должна.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ЕРТ: линуксовый рантайм ББ
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 13:31 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
viewtopic.php?p=75024#p75024
Alexander Shiryaev писал(а):
Теперь я хочу сделать одно ядро, обобщающее все наработки, и чтобы оно было общее для Linux и OpenBSD (можно через DevSelectors), подчистить его и задокументировать список отличий от 1.6-rc6 Windows.
Не надо одного документа с ядром для Linux и OpenBSD, если они не идентичные --- не надо условной компиляции, не надо делать кроссплатформенную вермишель.

Просто два разных документа, как предлагал Илья, типа System/Mod/Kernel_lin и System/Mod/Kernel_obsd (имя модуля внутри одинаковое) или Lin/System/Mod/Kernel и Obsd/System/Mod/Kernel (папки Lin и Obsd лежат отдельно, а System можно вставить ссылкой в разные проектные каталоги).

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 14:15 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Alexander Shiryaev писал(а):
Цитата:
Александр, Вы можете сделать документы-заготовки дельт с обозначением задач, которые Вы переделали по-другому, нежели было у Оминк?
Сначала надо проверить, как это всё будет работать в Linux. Я же только в OpenBSD проверял. Когда будет из чего дельту делать, тогда сделаю.
Пора бы, на мой взгляд, уже подумать, чтобы разработку Obsd и Lin совместить в одном хранилище. Тесты в большинстве своём платформенно-независимые. Мы бы тыкали их в линухах, Вы бы тыкали в ОБСД --- на одном рабочем профиле.

Если есть желание коллективно работать, то время приспело (необходимость тыкать тесты --- тому подтверждение). Для этого надо поактивней и вместе доопределяться со структурой общего хранилища. И Вам, Александр, переходить туда работать. Потому что коллективной работы на разных хранилищах и по разным схемам не получится.

Если же большого желания нет, то лучше об этом сказать сразу. Чтобы я перестал заморачиваться об общей схеме работы и прекратил всех дёргать. Тогда каждый делает своё дело, результаты потом совместим. Моя цель --- избавиться от морального груза, доведя проект до логического завершения.

Где работать --- какая разница? Важен результат. Когда проект будет закончен и опубликован, можно будет использовать любой репозиторий. На мой взгляд сейчас выходит, что Александр больше всех в теме, ему и быть ведущим разработчиком по сопровождению. Пусть забирает опубликованные материалы куда ему удобно.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 14:19 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Хорошо. Как с ядром разберусь, буду заниматься репозиторием.
Пока вот Linux устанавливаю...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 14:27 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Евгений Темиргалеев писал(а):
Alexander Shiryaev писал(а):
Как уже писал, пока основных различий 2 -- управление памятью (AllocHeapMem, FreeHeapMem, AllocModMem, DeallocModMem)
Управление памятью правил Сергей Оборотов
Цитата:
VAR zerodev: INTEGER;
VAR pageSize: INTEGER;

PROCEDURE AllocModMem* (descSize, modSize: INTEGER; VAR descAdr, modAdr: INTEGER)
PROCEDURE DeallocModMem* (descSize, modSize, descAdr, modAdr: INTEGER)
PROCEDURE InvalModMem (modSize, modAdr: INTEGER)

PROCEDURE InitProtect
секция инициализации
Вызов InitProtect
Вы отталкивались от его правок?


Он правил только AllocModMem, DeallocModMem и IsReadable. Но этого не достаточно, надо ещё AllocHeapMem, FreeHeapMem. А IsReadable на основе madvise у меня вообще не работает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 14:34 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Евгений Темиргалеев писал(а):
http://forum.oberoncore.ru/viewtopic.php?p=75024#p75024
Alexander Shiryaev писал(а):
Теперь я хочу сделать одно ядро, обобщающее все наработки, и чтобы оно было общее для Linux и OpenBSD (можно через DevSelectors), подчистить его и задокументировать список отличий от 1.6-rc6 Windows.
Не надо одного документа с ядром для Linux и OpenBSD, если они не идентичные --- не надо условной компиляции, не надо делать кроссплатформенную вермишель.

Просто два разных документа, как предлагал Илья, типа System/Mod/Kernel_lin и System/Mod/Kernel_obsd (имя модуля внутри одинаковое) или Lin/System/Mod/Kernel и Obsd/System/Mod/Kernel (папки Lin и Obsd лежат отдельно, а System можно вставить ссылкой в разные проектные каталоги).

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

Я тоже сначала думал, что лучше 2 разных ядра. Но там отличий очень мало скорее всего будет.

Можно сделать 1 ядро, но хранить 2 копии -- Lin/System/Mod/Kernel и Obsd/System/Mod/Kernel. Отличия -- только в состоянии DevSelectors.

Не знаю, как лучше.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 14:55 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Alexander Shiryaev писал(а):
Я тоже сначала думал, что лучше 2 разных ядра. Но там отличий очень мало скорее всего будет.

Можно сделать 1 ядро, но хранить 2 копии -- Lin/System/Mod/Kernel и Obsd/System/Mod/Kernel. Отличия -- только в состоянии DevSelectors.

Не знаю, как лучше.
Это, похоже, естественная мысль, когда одному человеку светить поддерживать оба варианта. Т. е. когда хочется избежать распространения изменений в общей части на другой документ. Знакомо. :)

1) Но если смотреть с т.з. долгосрочной перспективы (Фёдор Васильевич, Вы где? :) ), кто поручится, что никогда не случится так: отличия вдруг станут объёмными? В случае двух документов --- бери и спокойно ковыряй, они независимы. А в одном же поддерживать общую структуру с селекторами выйдет уже многотруднее нежели распространять общие изменения на отдельный документ.
2) Не забывайте, что Вы не один. Поэтому, например, возможен и такой вариант: Вы поправили Kernel для OpenBSD, написали дельту. А, скажем, Иван по дельте обновил Kernel для Linux. (Если же и тулзу с автоприменением изменений удастся закончить, то Ивана обременять не придётся :) )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 14:58 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Евгений Темиргалеев писал(а):
Alexander Shiryaev писал(а):
Ещё мне всё-таки нужен Linux.
Кто-нибудь может дать shell-доступ? Или мне лучше скачать дистрибутив?
Скачайте дистрибутив и поставьте убунту в вирт. машине на винде. Серверная версия проблем с ресурсами машины точно вызвать не должна.

Так и делаю...
Код:
 0% [                                       ] 3,398,302   8.89K/s  ост 16h 39m

:)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Сентябрь, 2012 15:04 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Евгений Темиргалеев писал(а):
Alexander Shiryaev писал(а):
Я тоже сначала думал, что лучше 2 разных ядра. Но там отличий очень мало скорее всего будет.

Можно сделать 1 ядро, но хранить 2 копии -- Lin/System/Mod/Kernel и Obsd/System/Mod/Kernel. Отличия -- только в состоянии DevSelectors.

Не знаю, как лучше.
Это, похоже, естественная мысль, когда одному человеку светить поддерживать оба варианта. Т. е. когда хочется избежать распространения изменений в общей части на другой документ. Знакомо. :)

1) Но если смотреть с т.з. долгосрочной перспективы (Фёдор Васильевич, Вы где? :) ), кто поручится, что никогда не случится так: отличия вдруг станут объёмными? В случае двух документов --- бери и спокойно ковыряй, они независимы. А в одном же поддерживать общую структуру с селекторами выйдет уже многотруднее нежели распространять общие изменения на отдельный документ.
2) Не забывайте, что Вы не один. Поэтому, например, возможен и такой вариант: Вы поправили Kernel для OpenBSD, написали дельту. А, скажем, Иван по дельте обновил Kernel для Linux. (Если же и тулзу с автоприменением изменений удастся закончить, то Ивана обременять не придётся :) )

Ладно, лучше отдельно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 27 Сентябрь, 2012 18:57 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
В каком виде будет распространяться BlackBox?
Для скачивания должны быть доступны архивы tar.gz (для OpenBSD и т. д.), deb, rpm (для Linux), в которых не должно быть arch, некоторых подсистем оригинального BlackBox 1.6-rc6 (Com, Ctl, ...)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 85 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB