OberonCore https://forum.oberoncore.ru/ |
|
Linux Console:Полная консольная (серверная) версия под Linux https://forum.oberoncore.ru/viewtopic.php?f=133&t=4085 |
Страница 2 из 5 |
Автор: | Alexander Shiryaev [ Суббота, 22 Сентябрь, 2012 20:23 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Да |
Автор: | Евгений Темиргалеев [ Вторник, 25 Сентябрь, 2012 03:13 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Код: К (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 ... |
Автор: | Евгений Темиргалеев [ Вторник, 25 Сентябрь, 2012 11:24 ] |
Заголовок сообщения: | Re: ЕРТ: линуксовый рантайм ББ |
viewtopic.php?p=75017#p75017 Alexander Shiryaev писал(а): То, что не нужно, удалял (Windows-специфика), или комментировал и помечал красным. Поддерживаю. В оминковском ядре очень много комментированных кусков, в основном от Windows-реализации, которые мешаются. Как раз хотел поднять вопрос об их исключении. Удалять не буду, с глаз можно убрать, завернув в складки. Включу эту поправку в дельту Kernel15-16rc6. |
Автор: | Евгений Темиргалеев [ Вторник, 25 Сентябрь, 2012 12:10 ] |
Заголовок сообщения: | Re: ЕРТ: линуксовый рантайм ББ |
viewtopic.php?p=75024#p75024 Alexander Shiryaev писал(а): Но только перед тем, как доделать/дооформить правки Kernel, HostFiles, сначала надо добиться надёжности работы BlackBox. Для этого я разбирался с ядром. Самый простой для моего понимания способ разобраться -- взять последнее ядро Windows (1.6-rc6) и заново его портировать. Чтобы добиться надёжности, надо давать себе отчёт в способе реализации соотв. механизмов Kernel посредством правил их организации в нижележащей ОС и с использованием соотв. системных вызовов.... Теперь я хочу сделать одно ядро, обобщающее все наработки, и чтобы оно было общее для Linux и OpenBSD (можно через DevSelectors), подчистить его и задокументировать список отличий от 1.6-rc6 Windows. Можно даже написать комментарии на русском языке в исходном тексте. Чтобы эту надёжность усилить, в т.ч. путём всеобщего контроля, реализация механизмов должна быть описана (обоснована) документально, а не сидеть у разработчика в голове. Если Вы в основных моментах разобрались и сделали это более корректно, нежели сделано в ядре Оминк, так давайте их теперь документировать отдельными дельтами по каждому моменту и вносить в Lin-ядро Оминк. Для обеспечения преемственности (это полезный для общего восприятия момент). Ядро Оминк, в которое эти изменения нужно вносить, подготовлено. Нет разницы, куда их внести --- в Win 1.6-rc6 или в Lin 1.5 с ним синхронизированный. |
Автор: | Евгений Темиргалеев [ Вторник, 25 Сентябрь, 2012 12:19 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
И может быть стоит работать над общим планом в общем репозитории? Если бы Вы не соглашались на общий репозиторий, я бы не тратил время на разбирательство с git, с работал бы svn/bb-lin. |
Автор: | Alexander Shiryaev [ Вторник, 25 Сентябрь, 2012 12:29 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
В общий репозиторий ничего не вношу, т. к. пока нечего. Мои экспериментальные наработки пока здесь. Цитата: Чтобы эту надёжность усилить, в т.ч. путём всеобщего контроля, реализация механизмов должна быть описана (обоснована) документально, а не сидеть у разработчика в голове. Да, надо это сделать Ещё мне всё-таки нужен Linux. Кто-нибудь может дать shell-доступ? Или мне лучше скачать дистрибутив? |
Автор: | Евгений Темиргалеев [ Вторник, 25 Сентябрь, 2012 12:30 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Не имею ничего против, чтобы изыскания Вы производили где удобно. Но если они касаются общего плана, то о них стоит информировать остальных участников, чтобы исключить пересечения в работе. Мне казалось, что отмечать эти планы удобнее всего в общем хранилище в ББ-документах. Александр, Вы можете сделать документы-заготовки дельт с обозначением задач, которые Вы переделали по-другому, нежели было у Оминк? |
Автор: | Евгений Темиргалеев [ Вторник, 25 Сентябрь, 2012 12:33 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Мне это нужно, чтобы оформлять дельты из bb-lin. Если у Вас что-то уже сделано по-другому и лучше, то их не будет смысла вообще оформлять. Или хотя бы здесь в двух словах обрисуйте ситуацию. Например, что Вы использовали без больших изменений. Тогда я с этого начну. |
Автор: | Alexander Shiryaev [ Вторник, 25 Сентябрь, 2012 12:38 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Цитата: Александр, Вы можете сделать документы-заготовки дельт с обозначением задач, которые Вы переделали по-другому, нежели было у Оминк? Сначала надо проверить, как это всё будет работать в Linux. Я же только в OpenBSD проверял. Когда будет из чего дельту делать, тогда сделаю. Как уже писал, пока основных различий 2 -- управление памятью (AllocHeapMem, FreeHeapMem, AllocModMem, DeallocModMem) и корректная обработка исключений по переполнению стека (в InstallSignals). Сборщик мусора вообще не трогал. |
Автор: | Евгений Темиргалеев [ Вторник, 25 Сентябрь, 2012 13:22 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
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 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Alexander Shiryaev писал(а): Ещё мне всё-таки нужен Linux. Скачайте дистрибутив и поставьте убунту в вирт. машине на винде. Серверная версия проблем с ресурсами машины точно вызвать не должна.
Кто-нибудь может дать shell-доступ? Или мне лучше скачать дистрибутив? |
Автор: | Евгений Темиргалеев [ Вторник, 25 Сентябрь, 2012 13:31 ] |
Заголовок сообщения: | Re: ЕРТ: линуксовый рантайм ББ |
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 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Alexander Shiryaev писал(а): Цитата: Александр, Вы можете сделать документы-заготовки дельт с обозначением задач, которые Вы переделали по-другому, нежели было у Оминк? Сначала надо проверить, как это всё будет работать в Linux. Я же только в OpenBSD проверял. Когда будет из чего дельту делать, тогда сделаю. Если есть желание коллективно работать, то время приспело (необходимость тыкать тесты --- тому подтверждение). Для этого надо поактивней и вместе доопределяться со структурой общего хранилища. И Вам, Александр, переходить туда работать. Потому что коллективной работы на разных хранилищах и по разным схемам не получится. Если же большого желания нет, то лучше об этом сказать сразу. Чтобы я перестал заморачиваться об общей схеме работы и прекратил всех дёргать. Тогда каждый делает своё дело, результаты потом совместим. Моя цель --- избавиться от морального груза, доведя проект до логического завершения. Где работать --- какая разница? Важен результат. Когда проект будет закончен и опубликован, можно будет использовать любой репозиторий. На мой взгляд сейчас выходит, что Александр больше всех в теме, ему и быть ведущим разработчиком по сопровождению. Пусть забирает опубликованные материалы куда ему удобно. Пока же мы работаем закрыто, используем, как и договорились, репозиторий Ивана. |
Автор: | Alexander Shiryaev [ Вторник, 25 Сентябрь, 2012 14:19 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Хорошо. Как с ядром разберусь, буду заниматься репозиторием. Пока вот Linux устанавливаю... |
Автор: | Alexander Shiryaev [ Вторник, 25 Сентябрь, 2012 14:27 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Евгений Темиргалеев писал(а): 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 у меня вообще не работает. |
Автор: | Alexander Shiryaev [ Вторник, 25 Сентябрь, 2012 14:34 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Евгений Темиргалеев писал(а): 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 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Alexander Shiryaev писал(а): Я тоже сначала думал, что лучше 2 разных ядра. Но там отличий очень мало скорее всего будет. Это, похоже, естественная мысль, когда одному человеку светить поддерживать оба варианта. Т. е. когда хочется избежать распространения изменений в общей части на другой документ. Знакомо. Можно сделать 1 ядро, но хранить 2 копии -- Lin/System/Mod/Kernel и Obsd/System/Mod/Kernel. Отличия -- только в состоянии DevSelectors. Не знаю, как лучше. 1) Но если смотреть с т.з. долгосрочной перспективы (Фёдор Васильевич, Вы где? ), кто поручится, что никогда не случится так: отличия вдруг станут объёмными? В случае двух документов --- бери и спокойно ковыряй, они независимы. А в одном же поддерживать общую структуру с селекторами выйдет уже многотруднее нежели распространять общие изменения на отдельный документ. 2) Не забывайте, что Вы не один. Поэтому, например, возможен и такой вариант: Вы поправили Kernel для OpenBSD, написали дельту. А, скажем, Иван по дельте обновил Kernel для Linux. (Если же и тулзу с автоприменением изменений удастся закончить, то Ивана обременять не придётся ) |
Автор: | Alexander Shiryaev [ Вторник, 25 Сентябрь, 2012 14:58 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Евгений Темиргалеев писал(а): Alexander Shiryaev писал(а): Ещё мне всё-таки нужен Linux. Скачайте дистрибутив и поставьте убунту в вирт. машине на винде. Серверная версия проблем с ресурсами машины точно вызвать не должна.Кто-нибудь может дать shell-доступ? Или мне лучше скачать дистрибутив? Так и делаю... Код: 0% [ ] 3,398,302 8.89K/s ост 16h 39m |
Автор: | Alexander Shiryaev [ Вторник, 25 Сентябрь, 2012 15:04 ] |
Заголовок сообщения: | Re: Linux Console:Полная консольная (серверная) версия под L |
Евгений Темиргалеев писал(а): Alexander Shiryaev писал(а): Я тоже сначала думал, что лучше 2 разных ядра. Но там отличий очень мало скорее всего будет. Это, похоже, естественная мысль, когда одному человеку светить поддерживать оба варианта. Т. е. когда хочется избежать распространения изменений в общей части на другой документ. Знакомо. Можно сделать 1 ядро, но хранить 2 копии -- Lin/System/Mod/Kernel и Obsd/System/Mod/Kernel. Отличия -- только в состоянии DevSelectors. Не знаю, как лучше. 1) Но если смотреть с т.з. долгосрочной перспективы (Фёдор Васильевич, Вы где? ), кто поручится, что никогда не случится так: отличия вдруг станут объёмными? В случае двух документов --- бери и спокойно ковыряй, они независимы. А в одном же поддерживать общую структуру с селекторами выйдет уже многотруднее нежели распространять общие изменения на отдельный документ. 2) Не забывайте, что Вы не один. Поэтому, например, возможен и такой вариант: Вы поправили Kernel для OpenBSD, написали дельту. А, скажем, Иван по дельте обновил Kernel для Linux. (Если же и тулзу с автоприменением изменений удастся закончить, то Ивана обременять не придётся ) Ладно, лучше отдельно. |
Автор: | Alexander Shiryaev [ Четверг, 27 Сентябрь, 2012 18:57 ] |
Заголовок сообщения: | Re: Linux Console: структура папок, хранение материалов |
В каком виде будет распространяться BlackBox? Для скачивания должны быть доступны архивы tar.gz (для OpenBSD и т. д.), deb, rpm (для Linux), в которых не должно быть arch, некоторых подсистем оригинального BlackBox 1.6-rc6 (Com, Ctl, ...) |
Страница 2 из 5 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |