На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Проект по созданию инновационной PolymorphiOS , приглашаются специалисты
    В проект по реализации инновационной идеи цельноядерной полиморфной операционной системы PolymorphiOS с открытым исходным кодом приглашаются специалисты различных уровней навыков и направлений.

    В рамках данного проекта, планируется создать небольшой демонстрационный дистрибутив на базе собственного ядра, архитектура которого будет отвечать основным положением следующей концепции: http://polymorphios.net84.net/PolymorphiOS.pdf.

    Участие в проекте предусматривает свободную работу в рамках лицензии GNU General Public License.

    Всем желающим просьба обращаться на официальную почту проекта: polymorphios@lenta.ru

    Также приветствуется конструктивное обсуждение идеи, критика и дополнения.
      PolymorphiOS
      Советую прочитать книгу "Совершенный код", зайти в уголок графоманов. И после этого переписать pdf.
        Я так понимаю речь идет о замечательном произведении Макконнелла? Я много слышал об этом произведении, но знаком лишь с ним по кратким отрывкам. Спасибо за совет, приму его к сведению. Однако, хотелось бы услышать более конкретную критику. Я понимаю что изложенная концепция пока еще далека до совершенства, однако ее цель задать основную мысль и суть проекта. Если же речь идет о критике самой концепции цельноядерной системы, то готов подискутировать на эту тему)
          Цитата
          Нейро-ядро, получив коды команд на запрос о инициализации драйверов, а также информацию о имеющимся оборудовании, обращается к базе драйверов и на
          основе нейронного аналитического алгоритма выбирает оптимальный вариант набора таковых драйверов, после чего инициализирует их.

          Базе? т.е. вы решили таскать с системой тысячи кубометров дров?

          Цитата
          Здесь следует отметить, что применение на этом этапе нейронного аналитического алгоритма выборки, позволяет полностью автоматизировать процесс подбора и
          инициализации драйверов устройств без практического участия пользователя. А в зависимости от уровня применяемой для этой цели нейронной сети, возможно
          говорить и об оптимальности и гибкости такого выбора. Следует отметить, что в связи цельной архитектурой ОС и полной ее инициализации в момент запуска, блок кода
          загрузчика, отвечающий за анализ имеющегося подключенного технического оборудования, может оставаться в запущенном состоянии бесконечно много, до
          момент завершения работы (выгрузки из оперативной память) всей системы. Это позволяет моментально определить подключаемое прямо во время работы к
          компьютеру оборудование, а также инициализировать для него оптимальный драйвер. Таким образом данная ОС фактически позволяет менять имеющиеся оборудование (за
          исключением основных элементов, отключение которых нарушит целостность работы системы) прямо на «лету», то есть во время работы компьютера без его остановки и
          перезагрузки.

          Так, в чем отличие от существующих ос? Все ОС, которые известны широкой публике, так-же поддерживают Plug and Play.

          Цитата
          Что же касается пользовательских приложений, то можно сказать, что как таковое понятие «пользовательской программы» в данной концепции ОС отсутствует, уступая
          место полиморфной генерации и инициализации кода прикладного пользовательского программного обеспечения исходя из высокоуровневых командных запросов активируемых самим пользователем.

          :blink: :wacko:

          Цитата
          Речь идет о том, что в рассматриваемой архитектуре ОС, отсутствует как таковые прикладные приложения, вместо
          которых пользователю доступны «программы-ярылки», являющиеся набором команд на высокоуровневом языке программирования и состоящие из последовательности
          запросов и обращений к библиотекам функций в виртуальной среде программирования. То есть, фактически код прикладных приложений состоит лишь из последовательного
          набора команд инициализации уже готовых функциональных блоков содержащихся в библиотеке системы. Все это скорее напоминает не привычный набор команд на современных
          языках программирования, а некий виртуальный конструктор, собирающий программу из уже готовых частей.

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

          А чем это отличается от текущих систем? те-же системные Api, те-же исполняемые модули. все тоже самое...

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

          а что если в системе нет нужного блока? Я так толком и не понял, что есть "блок"? А если авторы ПО придумали свой блок и у них есть острая необходимость в новом блоке, что делать? писать разработчикам системы?

          И ни слова о безопасности системы...

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

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

            Также сразу стоит отметить, что полная функциональная реализация рассматриваемой системы, события несколько отдаленного будущего сферы IT. Сам же проект в текущем виде рассчитан лишь на создание прототипа ОС, для будущих разработок. То есть в итоге реализации этого проекта планируется получить некий рабочий макет ОС, который в дальнейшим станет основой и опытным образцом (возможно и учебным материалом) для разработчиков, не более того.

            И еще, все элементы концепции данной ОС следует рассматривать целиком и полностью, как единое целое, и жетско связанное между собой. Иначе, теряется некий смысл и понимание всей идеи.

            Теперь что же касается конкретных вопросов:

            Цитата
            Базе? т.е. вы решили таскать с системой тысячи кубометров дров?


            Почему бы и нет, если это будут позволять технические и вычислительные мощности компьютерной (в будущем) техники.

            Цитата
            Так, в чем отличие от существующих ос? Все ОС, которые известны широкой публике, так-же поддерживают Plug and Play.


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

            Цитата
            А чем это отличается от текущих систем? те-же системные Api, те-же исполняемые модули. все тоже самое...


            Не совсем, во-первых опять таки свои особенности накладывает наличие нейронной сети. Во-вторых, по сути речь идет о возложении некоторых функций программиста на саму ОС, то есть автоматизацию и упрощение процесса написания прикладных программ. В данном случае, система содержит базу данных состоящую из блоков программного кода (аналогично функциональным библиотекам, хорошо известным в современном программирование, содержащим вызываемые из приложений функций, фактически рассматриваемые блоки кодов и можно приравнять к ним). Система сама формирует из них (решаю данную задачу при помощи нейронной сети) готовое пользовательское приложение исходя лишь из высокоуровневых запросов, написанных на специальном языке вызовов. Грубо говоря, системе достаточно будет задать запрос вида: «Запустить текстовый редактора с функцией печати» (в запросе конечно может содержаться и больше конкретики, вида поддерживаемых форматов, функций печати и т.п.), и она из имеющейся базы данных сформирует и запустит требуемое приложение.

            Цитата
            а что если в системе нет нужного блока? Я так толком и не понял, что есть "блок"? А если авторы ПО придумали свой блок и у них есть острая необходимость в новом блоке, что делать? писать разработчикам системы?


            Блок – по сути участок кода, готовое решение на абстрактную задачу, но относящуюся к определенной области, или наоборот. К примеру, это могут быть целые программные решения, интерфейсы и т.п. То есть смысл сводится к тому, что теперь программисту не нужно писать подробный код программы, за него, это фактически сделает сама система, ему лишь остается направление хода ее «мыслей».

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


            Об этом я писал в самом начале, все зависит от технических возможностей компьютерной техники, которые стремительно развиваются.

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

              По-моему мнению, нужно не стремиться "распухать" в шаг с технологическим процессом. В свое время, я был восхищен дистрибутивом Gentoo. Насколько она минимизирована - берешь только то что тебе нужно и ни чего лишнего. В распоряжении самой системы находится больше ресурсов, даже на самых слабых конфигурациях. Чем меньше система потребляет ресурсов, но при этом предоставляет большее функциональные возможности, тем лучше. "Маленькие", функциональные и бесплатные завоюют большую аудиторию, чем "толстые" и так-же функциональные.

              Цитата
              Отличие в механизме выборки оптимального решения задачи по выбору драйверов, при помощи нейронной сети.

              Для чего это нужно? Ведь железо, на данный момент, имеет идентификаторы, по которым можно определить подходящее ПО, причем однозначно.
              Было-бы идеально, если железки уже несли-бы в себе флешки с ПО, а ОС достаточно было бы просто происталировать свой пакет. Я прекрасно понимаю, что есть определенные сложности в этом подходе, например обновление :)

              Цитата
              Блок – по сути участок кода, готовое решение на абстрактную задачу, но относящуюся к определенной области, или наоборот.

              Вы-же понимаете, что все в абстрации не затолкать. Так же, абстракции могут не учитывать какие либо особенности при дальнейшем развитии. Что будет происходить с блоком если его нужно развить? Встает вопрос обратной совместимости, версионности блоков и как следствие управление этим из языка программирования. Так же, как я понял, блоки должны иметь связь с Hardware Access Layer, иначе блок не сможет предоставить решение, например, "печати документа". И количество этих блоков должно быть очень-очень-очень большим, чтобы покрыть запросы разработчиков софта. Есть большое подозрение, что такую ось нужно будет распространять уже на HDD в N Tb.

              Сложно представить, насколько задумается система при генерации, например, Photoshop'а.
                maxim84_
                Цитата maxim84_ @
                Было-бы идеально, если железки уже несли-бы в себе флешки с ПО, а ОС достаточно было бы просто происталировать свой пакет. Я прекрасно понимаю, что есть определенные сложности в этом подходе, например обновление

                UEFI так и задумывался.
                Но проблемы тут глобальные и не решённые. Есть данные есть методы, но проблема в том что пока не научились произвольные(абстрактные) данные увязывать с произвольными(абстрактными) методами. Либо мы имеем системы с жёсткими образами, которые работают только со своими данными. Либо имеем через чур обстрактные которые не работают.


                НС не способны к образному мышлению. У них границы между образами слишком размыты и сливаются.

                Цитата
                Блок – по сути участок кода, готовое решение на абстрактную задачу, но относящуюся к определенной области, или наоборот.

                На одних абстракциях далеко не уедешь. Да абстракции могут задавать скелет, но плоть это уже конкретные задачи. А плоти в теле человека гораздо больше чем скелета.

                Добавлено
                Цитата maxim84_ @
                Сложно представить, насколько задумается система при генерации, например, Photoshop'а.

                Представить просто. Возьмем генетический алгоритм и сравним.

                http://www.nihilogic.dk/labs/evolving-images/
                Вот Мона Лиза. Сколько времени нужно для создания Моны Лизы?
                Алгоритм за 300 секунд доходит до 99% похожести, а далее время растёт по экспоненте и изображение практически не улучшается. При этом 99% картинка очень ужасна. Только общие черты не более того.
                Вот так же будет и с фотошопом.
                Сообщение отредактировано: Pavia -
                  Цитата
                  Либо мы имеем системы с жёсткими образами, которые работают только со своими данными.

                  Ну, так да, нужно стандартизировать это дело. Но с другой стороны, обязательно какойнить производитель сделает по своему...
                  А вообще сейчас BIOS, точнее то что от него осталось, сильно мутировали, чуть-ли не в самостоятельные микро-ОС. Так можно это было провернуть через BIOS. Стандарт между производителями железа легче поддерживать т.к. они особенно заботятся о совместимости железкии, наверно... А производителями ОС достаточно знать стандарты BIOS, что бы получить информацию о методах и данных. Наверно, опять включился режим "Ко". :)

                  Добавлено
                  Тфу, черт. Погуглил UEFI, и понял, что я "Ко". :)
                  Сообщение отредактировано: maxim84_ -
                    Соплей меньше, воды больше. Это не концепция, а зачатки идеи. Насколько я понял, автор хочет реализовать то, что уже давно реализовано, но в этот раз через какую-то хитрозакрученную задницу.

                    Я так и не понял, при чем тут нейросеть. Действительно ли нейросеть может решить поставленные задачи (не совсем понятно, какие именно) и решить их гораздо лучше, чем уже опробованные подходы? Автор проводил исследования? Где результаты? Или автор просто решил, что нейросети - это круто, и теперь все задачи выглядят, как распознавание образов?
                      Цитата Pavia @
                      При этом 99% картинка очень ужасна.
                      На 99.5% портрет выглядит не намного лучше.

                      Фактически, генетический алгоритм реализует поиск максимума (минимума) целевой функции методом случайных блужданий (немного модифицированным). А этот метод обладает одной неприятной особенностью - попав в "овраг" (на самое дно) он практически останавливается. Что и демонстрирует.

                      Добавлено
                      Нейронная сеть реализует все же вариант градиентного спуска. Что тоже не быстро, но все же побыстрее.
                        Кстати, а почему именно нейросеть? Кто её будет обучать? Почему не какая-нибудь экспертная система на базе того же Prolog, например?
                          Не уверен, что ТС знает чем отличаются НС, ГА и ЭС. Или что-нибудь на основе НЛ.

                          Скрытый текст
                          Нейронная Сеть
                          Генетические Алгоритмы
                          Экспертные Системы
                          Нечеткая Логика
                          Сообщение отредактировано: amk -
                            Цитата amk @
                            знает чем отличаются НС, ГЭ и ЭС. Или что-нибудь на основе НЛ.

                            У тебя ошибка во второй аббревиатуре. ;)
                              Я задавался вопросами использования НС, НЛ и прочих страшных аббревиатур в области ОС. Когда компьютер печатает на принтере вместо вывода на экран с вероятностью 0,002, это все равно не круто, так ведь. Другое дело - прикладные программы, а вот поведение системных должно быть детерминировано
                                Несколько запустил тему, поэтому немного теряюсь с чего начать свой ответ…

                                Цитата
                                Кстати, а почему именно нейросеть? Кто её будет обучать? Почему не какая-нибудь экспертная система на базе того же Prolog, например?


                                Тут сразу следует отметить, что описанная концепция ОС, это еще не конечное ТЗ. Применение той или иной технологии принятия решений будет сильно зависеть от конечной ориентации дистрибутива проектируемой ОС. Да, согласен, что использование экспертной системы на основе нейронных сетей, будет оптимальным решением.

                                Цитата
                                Я задавался вопросами использования НС, НЛ и прочих страшных аббревиатур в области ОС. Когда компьютер печатает на принтере вместо вывода на экран с вероятностью 0,002, это все равно не круто, так ведь. Другое дело - прикладные программы, а вот поведение системных должно быть детерминировано


                                Вот с этим трудно не согласится)
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0453 ]   [ 14 queries used ]   [ Generated: 18.05.24, 18:41 GMT ]