Эмулятор ядра OS Windows и правки ядра Колибри

Internal structure and you change requests/suggestions
  • Doczom wrote: Sun Mar 10, 2024 3:04 pm мда, очень хороший патч, а "удобный" то какой
    :D Мы все с нетерпением ждем от вас, когда вы выложите здесь пример "хорошего и удобного" патча.
    Если вы этого не сделаете - мы будем считать, что вы это написали из зависти. :D

    Doczom wrote: Sun Mar 10, 2024 3:04 pm ... Так что я просто в какой-то момент удалю эту системную функцию и всё, предупреждение весит уже давно(если по форуму глянуть её должны были удалить ещё 10 лет назад).
    А мы то думали, что разработчику приложений надо руководствоваться официально публикуемой технической документацией (справочником по функциям). Оказывается ему еще надо искать по форумам хотелки "улучшателей, оптимизаторов ядра". :)

    Если вы инициатор "удаления устаревших функций", то вы прямо сейчас ДОЛЖНЫ внести следующую инфу в справочник по удаляемым функциям:
    1. Такая-то функция является устаревшей и для альтернативы рекомендуется использовать такую-то функцию .
    2. Указать год планируемого удаления функции (не менее 15 лет после публикации этой инфы.)
    3. Общий список номеров функции, планируемых к удалению, ДОЛЖЕН находиться в начале справочника.

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

    Doczom wrote: Sun Mar 10, 2024 3:04 pm Ну и зачем это? если поток постоянно создаётся и удаляется, то это по мне так ошибка проектирования программы с этим потоком а не системы. Что касается TID, то его спокойно хватит на примерно 5-10 дней постоянного запуска и завершения потоков(проверял это примерно год назад), причём система всё это время будет грузить процессор на 100%. То что переполнение этого счётчика возможно известно давно, но оно исправляется добавлением проверки существования потока с таким tid.
    Эти "несколько дней" не устроит пользователей эмулятора Винды. Особенно тех, кто выключает\включает Винду с применением режима "сна".

    Работоспособность/отказоустойчивость ядра Колибри/Эмулятора не должна зависеть от "грамотности" разработчиков приложений для Колибри/Винды, также не должна иметь какие либо вероятные временные рамки применения.
  • Jurgen wrote: Sat Mar 16, 2024 4:09 pm
    Doczom wrote: Sun Mar 10, 2024 3:04 pm мда, очень хороший патч, а "удобный" то какой
    :D Мы все с нетерпением ждем от вас, когда вы выложите здесь пример "хорошего и удобного" патча.
    Если вы этого не сделаете - мы будем считать, что вы это написали из зависти. :D
    Мы?
    Можешь посмотреть историю коммитов, там десятки "примеров" его патчей
    Jurgen wrote: Sat Mar 16, 2024 4:09 pm
    Doczom wrote: Sun Mar 10, 2024 3:04 pm ... Так что я просто в какой-то момент удалю эту системную функцию и всё, предупреждение весит уже давно(если по форуму глянуть её должны были удалить ещё 10 лет назад).
    А мы то думали, что разработчику приложений надо руководствоваться официально публикуемой технической документацией (справочником по функциям). Оказывается ему еще надо искать по форумам хотелки "улучшателей, оптимизаторов ядра". :)
    Да кто "мы"-то, ты здесь один.
    В вики написано, никто не обещал в syscalls.txt полноту, достоверность и актуальность
    Jurgen wrote: Sat Mar 16, 2024 4:09 pm Если вы инициатор "удаления устаревших функций", то вы прямо сейчас ДОЛЖНЫ внести следующую инфу в справочник по удаляемым функциям:
    Это не RFC, здесь тут никто ничего не "ДОЛЖЕН"
    Jurgen wrote: Sat Mar 16, 2024 4:09 pm 1. Такая-то функция является устаревшей и для альтернативы рекомендуется использовать такую-то функцию .
    Вики
    Jurgen wrote: Sat Mar 16, 2024 4:09 pm 2. Указать год планируемого удаления функции (не менее 15 лет после публикации этой инфы.)
    Тут проекту еле 20 лет, какие 15
    Jurgen wrote: Sat Mar 16, 2024 4:09 pm 3. Общий список номеров функции, планируемых к удалению, ДОЛЖЕН находиться в начале справочника.

    Если вы этого не сделаете, то никакой вменяемый разработчик не захочет связываться с Колибри, получив в будущем неожиданный гемор от таких ваших оптимизаций.
    В итоге весь интеллектуальный труд, вложенный участниками в проект Колибри, окажется бессмысленным.
    Обязательно учтём Ваши замечания
    Jurgen wrote: Sat Mar 16, 2024 4:09 pm
    Doczom wrote: Sun Mar 10, 2024 3:04 pm Ну и зачем это? если поток постоянно создаётся и удаляется, то это по мне так ошибка проектирования программы с этим потоком а не системы. Что касается TID, то его спокойно хватит на примерно 5-10 дней постоянного запуска и завершения потоков(проверял это примерно год назад), причём система всё это время будет грузить процессор на 100%. То что переполнение этого счётчика возможно известно давно, но оно исправляется добавлением проверки существования потока с таким tid.
    Эти "несколько дней" не устроит пользователей эмулятора Винды. Особенно тех, кто выключает\включает Винду с применением режима "сна".

    Работоспособность/отказоустойчивость ядра Колибри/Эмулятора не должна зависеть от "грамотности" разработчиков приложений для Колибри/Винды, также не должна иметь какие либо вероятные временные рамки применения.
    Чел, ты применил патч на ядро, сломав, насколько я понял, всю сетевую подсистему. Как бы, кто пользуется сетью, а кто непонятной прогой?
  • Jurgen wrote: Sat Mar 16, 2024 4:09 pm :D Мы все с нетерпением ждем от вас, когда вы выложите здесь пример "хорошего и удобного" патча.
    Если вы этого не сделаете - мы будем считать, что вы это написали из зависти. :D
    Вот например патч для программы ftpd, добавляющий ряд функций в данный сервер, файл представлен в приложении А.
    Jurgen wrote: Sat Mar 16, 2024 4:09 pm А мы то думали, что разработчику приложений надо руководствоваться официально публикуемой технической документацией (справочником по функциям). Оказывается ему еще надо искать по форумам хотелки "улучшателей, оптимизаторов ядра".
    Во первых это не "хотелки", а планомерный процесс изменения внутреннего устройства ядра, за которым вы, я так понимаю, не особо смотрите, раз до недавнего времени пользовались исходниками 2 летней давности.
    Во вторых, указание о нежелательности использования этой сисфункции есть во вполне официальном ресурсе проекта - http://wiki.kolibrios.org/wiki/SysFn18/ru
    Jurgen wrote: Sat Mar 16, 2024 4:09 pm Эти "несколько дней" не устроит пользователей эмулятора Винды. Особенно тех, кто выключает\включает Винду с применением режима "сна".
    Покажите на реальном примере это переполнение. Я пытался его получить, но на второй день эксперимента мне уже стало жаль железо, потому что оно работало на 100% и переполнения ещё даже на горизонте не было. То что у вас там в проге что-то не так и переполняется меня совершенно не волнует.

    Jurgen wrote: Sat Mar 16, 2024 4:09 pm Работоспособность/отказоустойчивость ядра Колибри/Эмулятора не должна зависеть от "грамотности" разработчиков приложений для Колибри/Винды, также не должна иметь какие либо вероятные временные рамки применения.
    Отказоустойчивость ядра всегда была под сомнением и известно множество вариантов как ядро можно "сломать", например сеть пропинговать. Правильность программ на ядро не влияет, она влияет на взаимодействие с пользователем и с другими программами, про TID я уже писал как можно решить проблему без лишних действий и поломке всего что есть сейчас.

    Jurgen wrote: Sat Mar 16, 2024 4:09 pm Если вы этого не сделаете, то никакой вменяемый разработчик не захочет связываться с Колибри, получив в будущем неожиданный гемор от таких ваших оптимизаций.
    В итоге весь интеллектуальный труд, вложенный участниками в проект Колибри, окажется бессмысленным.
    Перед удалением весь репозиторий проекта проверяется на использование устаревшего интерфейса и если найдены такие программы, то производится их переписывание, а уже потом удаление интерфейса. Если после удаления никто не написал ничего, то значит прога никому не нужна.

    Далее будет возможно оскорбительный текст
    Spoiler:
    Jurgen wrote: Sat Mar 16, 2024 4:09 pm Если вы инициатор "удаления устаревших функций", то вы прямо сейчас ДОЛЖНЫ внести следующую инфу в справочник по удаляемым функциям:
    1. Такая-то функция является устаревшей и для альтернативы рекомендуется использовать такую-то функцию .
    2. Указать год планируемого удаления функции (не менее 15 лет после публикации этой инфы.)
    3. Общий список номеров функции, планируемых к удалению, ДОЛЖЕН находиться в начале справочника.

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

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

    Правки в документацию по сисфункциям я внесу, но с момента внесения этих правок я не собираюсь переписывать что-то за авторов программ, использующих старьё. Перестанет работать - не мои проблемы.
    Attachments
    ftpd.patch (7.89 KiB)
    Приложение A (обязательное) Файл патча для ftpd
    Downloaded 9 times
  • [/quote]
    Sweetbread wrote: Sun Mar 17, 2024 12:20 am Да кто "мы"-то, ты здесь один...
    Мы - это все остальные участники проекта кроме вас. А еще мои коллеги, которым я показываю ваши интересные посты. :)
    Sweetbread wrote: Sun Mar 17, 2024 12:20 am ...В вики написано, никто не обещал в syscalls.txt полноту, достоверность и актуальность
    Теперь нам все понятно - вся информация, публикуемая в документации и в Вики - не имеет "достоверности и актуальности".

    Doczom wrote: Sun Mar 17, 2024 12:43 am Знаете, а не пошли бы вы с такими ультиматумами...
    Не понравилось? :D
    Тогда вам не надо говорить что мне делать и я не скажу куда вам идти. И не надо мне тут в постах свой "сарказм" показывать.

    Я руководствуюсь правилами сообщества, к которому добровольно присоединился. В том числе руководствуюсь правилами в составлении листинга кода для ядра.
    Где-то что-то я нарушил какое-то правило - укажите. Никаких вопросов не будет.
    Все, что вне правил сообщества - действую и пишу код как считаю лучше и удобнее.(Если кто-то пожелает подправить мой код, улучшить внешний вид - не возражаю).

    Doczom wrote: Sun Mar 17, 2024 12:43 am ..Вы почему то никого не спросили про добавление нового поля в заголовок исполняемого файла, хотя это ломает всю совместимость...
    Вот мой первый пост от 21 января по предложению правки ядра и добавлению поля в заголовок. http://board.kolibrios.org/posting.php? ... te&p=80170
    Почему вы не сделали поиск по форумам и не ознакомились с моей "хотелкой" по правке ядра и не сделали замечания?
    Вы же мне так советуете делать, чтобы ознакомиться с "хотелками оптимизаторов ядра".

    Doczom wrote: Sun Mar 17, 2024 12:43 am ..Почему я должен спрашивать разрешение на удаление какого либо старья из ядра, когда его уже не использует никто.
    Теперь вы знаете, что это старье использую я, в соответствии с публикуемым справочником, который оказался не "достоверным" и не "актуальным".

    Doczom wrote: Sun Mar 17, 2024 12:43 am Отказоустойчивость ядра всегда была под сомнением и известно множество вариантов как ядро можно "сломать", например сеть пропинговать. Правильность программ на ядро не влияет, она влияет на взаимодействие с пользователем и с другими программами, про TID я уже писал как можно решить проблему без лишних действий и поломке всего что есть сейчас.
    Если беспокоит такой вопрос: Я никого не заставляю отказаться от текущей реализации tid. Кому нравится такой tid - пусть пользуются. Мое дело предложить какие-либо правки ядра сообществу, разъяснить зачем это - а сообществу решать.

    Дополнительные пояснения по tid:
    Если проект Колибри позиционируется для демонстрации возможностей, особенностей, для обучения на ассемблере, для применения в Iot и прочее, тогда все, что вы пишете про tid - логично и убедительно.
    Если для массового применения - это залог будущих дополнительных проблем, помимо других.

    У меня нет желания рисковать, используя для эмулятора в качестве id потока такой tid в текущей реализации.
    Это, образно говоря, как "ахиллесова пята". Она вообще может не проявиться в каких то проектах, а в каких-то может быть проявится (Ситуация типа на авось, может прокатит).
    Также будущие конкуренты\противники проекта могут делать упор на этот недостаток или использовать его.
    Поэтому в эмуляторе Винды в качестве id потока принят номер слота.

    """""""""""""""""""""
    Ниже пояснение ситуации, которое возможно снимет многие вопросы:

    Я вообще могу вести проект эмулятора Винды параллельно, внедряя только у себя в ядре Колибри все что планируется - снятие ограничения числа потоков, поддержку многопроцессорности, 64 бит и прочие вещи.

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


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

    В итоге получится более менее годный продукт - Эмулятор Винды с ядром Колибри для массового общего пользования.
  • Spoiler:
    Jurgen wrote: Sat Mar 23, 2024 8:20 pm
    Sweetbread wrote: Sun Mar 17, 2024 12:20 am Да кто "мы"-то, ты здесь один...
    Мы - это все остальные участники проекта кроме вас. А еще мои коллеги, которым я показываю ваши интересные посты. :)
    Sweetbread wrote: Sun Mar 17, 2024 12:20 am ...В вики написано, никто не обещал в syscalls.txt полноту, достоверность и актуальность
    Теперь нам все понятно - вся информация, публикуемая в документации и в Вики - не имеет "достоверности и актуальности".

    Doczom wrote: Sun Mar 17, 2024 12:43 am Знаете, а не пошли бы вы с такими ультиматумами...
    Не понравилось? :D
    Тогда вам не надо говорить что мне делать и я не скажу куда вам идти. И не надо мне тут в постах свой "сарказм" показывать.

    Я руководствуюсь правилами сообщества, к которому добровольно присоединился. В том числе руководствуюсь правилами в составлении листинга кода для ядра.
    Где-то что-то я нарушил какое-то правило - укажите. Никаких вопросов не будет.
    Все, что вне правил сообщества - действую и пишу код как считаю лучше и удобнее.(Если кто-то пожелает подправить мой код, улучшить внешний вид - не возражаю).

    Doczom wrote: Sun Mar 17, 2024 12:43 am ..Вы почему то никого не спросили про добавление нового поля в заголовок исполняемого файла, хотя это ломает всю совместимость...
    Вот мой первый пост от 21 января по предложению правки ядра и добавлению поля в заголовок. http://board.kolibrios.org/posting.php? ... te&p=80170
    Почему вы не сделали поиск по форумам и не ознакомились с моей "хотелкой" по правке ядра и не сделали замечания?
    Вы же мне так советуете делать, чтобы ознакомиться с "хотелками оптимизаторов ядра".

    Doczom wrote: Sun Mar 17, 2024 12:43 am ..Почему я должен спрашивать разрешение на удаление какого либо старья из ядра, когда его уже не использует никто.
    Теперь вы знаете, что это старье использую я, в соответствии с публикуемым справочником, который оказался не "достоверным" и не "актуальным".

    Doczom wrote: Sun Mar 17, 2024 12:43 am Отказоустойчивость ядра всегда была под сомнением и известно множество вариантов как ядро можно "сломать", например сеть пропинговать. Правильность программ на ядро не влияет, она влияет на взаимодействие с пользователем и с другими программами, про TID я уже писал как можно решить проблему без лишних действий и поломке всего что есть сейчас.
    Если беспокоит такой вопрос: Я никого не заставляю отказаться от текущей реализации tid. Кому нравится такой tid - пусть пользуются. Мое дело предложить какие-либо правки ядра сообществу, разъяснить зачем это - а сообществу решать.

    Дополнительные пояснения по tid:
    Если проект Колибри позиционируется для демонстрации возможностей, особенностей, для обучения на ассемблере, для применения в Iot и прочее, тогда все, что вы пишете про tid - логично и убедительно.
    Если для массового применения - это залог будущих дополнительных проблем, помимо других.

    У меня нет желания рисковать, используя для эмулятора в качестве id потока такой tid в текущей реализации.
    Это, образно говоря, как "ахиллесова пята". Она вообще может не проявиться в каких то проектах, а в каких-то может быть проявится (Ситуация типа на авось, может прокатит).
    Также будущие конкуренты\противники проекта могут делать упор на этот недостаток или использовать его.
    Поэтому в эмуляторе Винды в качестве id потока принят номер слота.

    """""""""""""""""""""
    Ниже пояснение ситуации, которое возможно снимет многие вопросы:

    Я вообще могу вести проект эмулятора Винды параллельно, внедряя только у себя в ядре Колибри все что планируется - снятие ограничения числа потоков, поддержку многопроцессорности, 64 бит и прочие вещи.

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


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

    В итоге получится более менее годный продукт - Эмулятор Винды с ядром Колибри для массового общего пользования.
    [/quote]
    Уважаемый Jurgen.
    ЕСЛИ вы хотите лезть в ядро и дальше - НЕ ДЕЛАЙТЕ этого в основном транке.
    Создайте себе отдельную папочку в kernel/branches, не ломайте ядро. Подход класть яйца в одну корзину априори небезопасен, а за дальнейшие правки вас могут лишить доступа к svn.
    И скажите, насколько вы шарите за структуру ядра и его код?
    p.s. Боже мой, почините кто-нибудь форум, ему плохо
    If there were no God, he would have to be invented.
    Voltaire

    Code: Select all

    program God
    begin
    
    Image
  • Уважаемый bad_Dr3dd0x.

    В своем комментарии вы выразили свои озабоченности, которые в данной ситуации выглядят странными.
    Полагаю,что вы, перед написанием своего комментария, полностью прочитали мой предыдущий пост, в том числе и этот текст:
    Jurgen wrote: Sat Mar 23, 2024 8:20 pm
    Поэтому схема такая:
    Предлагаю сообществу изменения в ядре.
    Если устраивает, после согласований, через месяц вношу изменение. (Если не устраивает - эти изменения останутся у меня в ядре)
    Тестируем, исправляем найденные баги и движемся дальше.

    В итоге получится более менее годный продукт - Эмулятор Винды с ядром Колибри для массового общего пользования.

    Прошу вас уточнить, что из вышеизложенной схемы у вас вызывает беспокойство.
  • Jurgen wrote: Sat Mar 30, 2024 10:13 pm Уважаемый bad_Dr3dd0x.

    В своем комментарии вы выразили свои озабоченности, которые в данной ситуации выглядят странными.
    Полагаю,что вы, перед написанием своего комментария, полностью прочитали мой предыдущий пост, в том числе и этот текст:
    Jurgen wrote: Sat Mar 23, 2024 8:20 pm
    Поэтому схема такая:
    Предлагаю сообществу изменения в ядре.
    Если устраивает, после согласований, через месяц вношу изменение. (Если не устраивает - эти изменения останутся у меня в ядре)
    Тестируем, исправляем найденные баги и движемся дальше.

    В итоге получится более менее годный продукт - Эмулятор Винды с ядром Колибри для массового общего пользования.

    Прошу вас уточнить, что из вышеизложенной схемы у вас вызывает беспокойство.
    Можно ссылку на сообщение об информации, касающегося коммита 9976?
  • Jurgen wrote: Sat Mar 30, 2024 10:13 pm Прошу вас уточнить, что из вышеизложенной схемы у вас вызывает беспокойство.
    Внесу свои 5 копеек.

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

    По поводу изменений ядра пожалуй тоже ещё раз выскажусь: Ваши изменения на данный момент нужны исключительно для вашего же эмулятора, который у меня например вообще не запустится(ах да, вы же не знаете что 18.11 только ide диски описывает и то криво) да и в том состоянии в котором он находится сейчас его использование сомнительно.

    По поводу предыдущего сообщения, адресованного мне: Мне не нравятся такие спонтанные изменения ядра, которые не решают ни одну из острых проблем. О подобных проблемах писал ещё diamond , и с того времени не особо сильно что-то поменялось. Система по сути не готова ни на какое вразумительное использование, в более менее широком спектре задач, и эмулятор хоть винды, хоть линукса хоть ещё чего-нибудь не спасёт.

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

    Ещё одной проблемой использования Колибри является сетевой стек, который, судя по тестам банального http сервера, мягко говоря нестабилен. USB тоже не особо то хорошо работает, про отсутствие драйверов даже говорить смысла нет. Файловая подсистема это вообще ещё тот прикол, который уже как 3-4 раза переписывается да всё никак не перепишется в нормальный вид.

    И как вы с такими проблемами собираетесь сделать такое вот :
    Jurgen wrote: Sat Mar 23, 2024 8:20 pm В итоге получится более менее годный продукт - Эмулятор Винды с ядром Колибри для массового общего пользования.
    Дальнейший текст не относится напрямую к обсуждению ядра:
    Jurgen wrote: Sat Mar 23, 2024 8:20 pm Мы - это все остальные участники проекта кроме вас.
    А кто это "остальные участники проекта", те кто просто на форуме писанину разводят ничего не делая в ядре? Да и не видно таковых что-то последнее время в сети. Если это те, кому браузер на кос подавай, то современный браузер при всём желании на кос даже не запустится
  • Ни прибавить, ни убавить
    If there were no God, he would have to be invented.
    Voltaire

    Code: Select all

    program God
    begin
    
    Image
  • Who is online

    Users browsing this forum: Ahrefs [Bot] and 13 guests