На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru


Страницы: (21) [1] 2 3 ...  20 21  ( Перейти к последнему сообщению )  
> Разработка концептуально новой ОС
    Создание новой темы, несмотря на то, что имеется сходная ("Пишем новую ОС"), обусловлено следующими причинами.
    1. Отличие целевой установки: в существующей теме ставится цель иметь собственную ОС; цель данной темы – разработать, в первую очередь на идейном уровне, такую ОС, которая бы сочетала лучшие из имеющихся концептуальных наработок, и была бы максимально простой.
    2. Предлагаемый проект подразумевает полную открытость всей документации и кода.

    Проект может считаться уже успешным, если удастся создать дизайн ОС, лучший, чем существующие. Создание работающего прототипа – предел ожиданий.
    Кстати, имея работающий прототип, можно пытаться найти финансирование (для создания конкурентоспособной системы возможно обойтись относительно небольшой суммой: порядка $100000).

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

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

    1. Система Windows спроектирована и реализована все же чересчур безобразно. Конечно, как говорил один из корифеев прикладной социологии: «чем чудовищнее операционная система, тем охотнее ею пользуются», но ведь… хоть иногда должен срабатывать и здравый смысл.
    2. Концептуальные основы современных систем не менялись последние 30 лет: все работающие сейчас идеи были заложены в UNIX. Исключение составляет идеология Turbo Vision, разработанная десяток лет назад компанией Borland. Эту технологию MS как раз и положило в основу Windows… вопрос, оплатила ли она лицензию за использование.
    Это удивительный и заслуживающий восхищения факт, что первая же ОС оказалась настолько удачной, что является образцом десятки лет. Но все же трудно поверить, что ее нельзя улучшить.
    3. Открытый код – очень серьезный довод в пользу любого программного продукта. Почему-то сейчас открытый код ассоциируется с бесплатностью – видимо, это дань традиции. Реально ничто не мешает продавать открытый код точно так же, как и закрытый.
    4. Новую систему разумно сделать без «дыр» (без ошибок в защите). Это вполне достижимо: один из путей – за каждый написанный под данную систему вирус выплачивать премию (хотя бы $10000). Разработчики вирусов – очень квалифицированные тестеры программных продуктов, а поскольку они работают в значительной степени на энтузиазме, то их правильное использование может быть очень эффективно.
      ОК. Ждём предложений. Если Вы, не смотря на опыт альтернативного треда, всё же решились поднять вопрос опять, то думаю у Вас имеются конкретные предложения к обсуждению.

      А по поводу сабжа, рекоммендую посмотреть: http://www.gnu.org/software/hurd/hurd.html
        Незнаю если ето офф или нет - у меня долго бродит идея оси для гам - незнаю если это актуально - но идеи и некоторые придумки есть  :)
          Ссылка (на hurd) интересная.
          Цели похожи: минимизировать ядро, сделать мобильными системные утилиты.. но эти цели многие ставят - весь вопрос в реализации.

          Раз уж тему открыл, рискну высказать идеи.
          Начну с самого простого - файловой системы. Это, конечно, второстепенный элемент, но в самый раз "для разгона".

          Файловая система PlainFS.

          Логическая структура файла (образ на диске):
          struct File
          {
               key read;      ключ доступа на чтение
               key write;      ключ доступа на запись
               int8 refs[];      ссылки на файлы (смещения до первых секторов)
               char name[];      имя файла
               char data[];      данные
          };

          Файл является единственным элементом системы, содержит ссылки на другие файлы, заменяя каталоги.
          Права на запись не дают прав на чтение. Если ключи доступа пустые, то используются ключи предка.
          Ссылки все двусторонние. Первая ссылка — на предка.

          Каждый сектор диска имеет следующие служебные поля:
          — относительный адрес начального сектора файла,
          — признаки исправности предыдущего и следующего секторов (?),
          — относительный адрес следующего сектора файла.

          Все области диска равноправны, выделенные служебные структуры (области) отсутствуют, положение корневого файла произвольно.
            Цитата SergeS, 05.09.03, 23:02:24
            Незнаю если ето офф или нет - у меня долго бродит идея оси для гам - незнаю если это актуально - но идеи и некоторые придумки есть  :)

            А в чем идея (особенность) этой оси? Ведь игры - вещь ресурсоемкая, и если ось потянет их, то сгодится и для всего остального. В чем смысл специализации?
              Цитата nvm, 05.09.03, 23:45:24
              Ссылка (на hurd) интересная.
              Цели похожи: минимизировать ядро, сделать мобильными системные утилиты.. но эти цели многие ставят - весь вопрос в реализации.
              ОК. Но (ИМХО) файловая система не должна ограничиваться только жёстким диском. В моём представлении - это иерархия драйверов, поддерживающая различное железо и организовывающая единообразный доступ к любому интерфейсу.

              Может всё-таки изучить существующие проекты. Выяснить, какие перед ними стоят цели, что уже достигнуто, какие проблемы возникали, и тд, и тп, и др...

              ЗЫ: ИМХО: Один из вариантов развития подобного треда на этом форуме - русскоязычная поддержка уже существующего проекта по созданию новой концепции ОС.
                Цитата Shaman, 06.09.03, 14:24:42

                ОК. Но (ИМХО) файловая система не должна ограничиваться только жёстким диском. В моём представлении - это иерархия драйверов, поддерживающая различное железо и организовывающая единообразный доступ к любому интерфейсу.

                Это вопрос терминологии. Мне кажется, что обычно под файловой системой понимают просто структуру (организацию) хранения информации.
                Конечно, в таком понимании файловая система становится сугубо второстепенным понятием. А реально важен файловый интерфейс.
                Одна из основных идей предлагаемой ОС - отсутствие понятия драйвера. Все, что выполняет функции драйверов, является обычными приложениями. Любое приложение может предоставлять некоторый сервис, если этот сервис связан с предоставлением доступа к устройству, то это приложение по сути является драйвером, но структура (и статус) такого приложения ничем не отличается от остальных.
                Сама ОС не занимается файлами, она только фиксирует интерфейс, по которому одно приложение может запросить (передать) файл у другого приложения.
                Сам интерфейс предположительно состоит из абсолютно стандартных функций: open, read, write etc.

                Цитата

                Может всё-таки изучить существующие проекты. Выяснить, какие перед ними стоят цели, что уже достигнуто, какие проблемы возникали, и тд, и тп, и др...
                ЗЫ: ИМХО: Один из вариантов развития подобного треда на этом форуме - русскоязычная поддержка уже существующего проекта по созданию новой концепции ОС.


                Это было бы хорошо, но не взамен, а в дополнение.
                Идеальным ИМХО был бы такой вариант: просто высказывать и обсуждать идеи, как должна быть устроена идеальная ОС, причем оптимально, если половина высказываний будет авторскими, а половина цитированными из других источников.

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



                  -1. Отличие целевой установки: в существующей теме ставится цель иметь -------------собственную ОС; цель данной темы – разработать, в первую очередь на идейном --------уровне, такую ОС, которая бы сочетала лучшие из имеющихся концептуальных ----------наработок, и была бы максимально простой.

                  Вы хотите создать систему оптимальную по двум разным критериям а это как известно в теории не достижимо ((


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


                  как можно сравить две ОС одна всегда будет в чем-то лучше другой, --) значит проект вообще нельзя считать успешным???
                   

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

                  -1. Система Windows спроектирована и реализована все же чересчур безобразно. --------Конечно, как говорил один из корифеев прикладной социологии: «чем чудовищнее ------операционная система, тем охотнее ею пользуются», но ведь… хоть иногда должен ------срабатывать и здравый смысл.

                  не знаю причем тут корифей социологии но вывод не обоснованный типа

                  1)первые ос чудовищны
                  2)первыми ос пользуются много пользователей

                  следовательно

                  --- чем чудовищнее ------операционная система, тем охотнее ею пользуются

                  вывод конечно правильный но игнорирует скрытые факторы



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



                  почему всегда можно улучшить процента на три но стоит ли это того???


                  -----3. Открытый код – очень серьезный довод в пользу любого программного продукта.

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



                  --4. Новую систему разумно сделать без «дыр» (без ошибок в защите). Это вполне --------достижимо: один из путей – за каждый написанный под данную систему вирус ----------выплачивать премию (хотя бы $10000).


                  Извините но доказано что это совершенно не достижимо и не будт никогда достижимо


                  вот и все довайте получше сформулируем что мы хотим прежде чем начинать
                    Цитата esperanto, 07.09.03, 14:25:14
                    -1. Отличие целевой установки: в существующей теме ставится цель иметь -------------собственную ОС; цель данной темы – разработать, в первую очередь на идейном --------уровне, такую ОС, которая бы сочетала лучшие из имеющихся концептуальных ----------наработок, и была бы максимально простой.

                    Вы хотите создать систему оптимальную по двум разным критериям а это как известно в теории не достижимо ((
                    Посмотрим, что у нас получится в результате обсуждения ;)


                    Цитата esperanto, 07.09.03, 14:25:14
                    -----3. Открытый код – очень серьезный довод в пользу любого программного продукта.

                    вряд ли вы захотите чтобы безопасность государственных секретов держалась на системе с открытам кодом чтобы некий хакер её взломал?
                    Обсуждение алгоритмов по защите ПО находится рядом. http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=Projects;action=display;num=1056471105

                    Цитата esperanto, 07.09.03, 14:25:14

                    вот и все довайте получше сформулируем что мы хотим прежде чем начинать

                    А вот с этим я абсолютно согласен.
                      Цитата esperanto, 07.09.03, 14:25:14
                      не знаю затея хорошая но само заявление очень противоречиво
                      Вы хотите создать систему оптимальную по двум разным критериям а это как известно в теории не достижимо ((

                      Конечно, достигнуть оптимума по всем критериям одновременно невозможно. Но можно найти в каком-то смысле оптимальный компромисс.
                      Для этого нужно задать веса (важность) критериев. ИМХО, самым важным критерием является простота (как известно, лучшее устройство - то, которого нет, а его функция выполняется).

                      Цитата

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


                      "Лучше" - всегда категория чисто субъективная.
                      Если большинство участников проекта решит, что они предпочли бы пользоваться разработанной системой (будь она реализована), то это и есть критерий успешности.

                      Цитата

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

                      почему всегда можно улучшить процента на три но стоит ли это того???

                      Три процента - не стоят. ИМХО, браться за улучшение чего-либо стоит ради выигрыша, как минимум в порядок.

                      Цитата

                      -3. Открытый код – очень серьезный довод в пользу любого программного продукта.

                      вряд ли вы захотите чтобы безопасность государственных секретов держалась на системе с открытам кодом чтобы некий хакер её взломал?
                      Извините но доказано что это (продукт без дыр) совершенно не достижимо и не будт никогда достижимо

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

                      Как раз хакер найдет дыры и в закрытом коде. А в открытом дыры можно найти быстрее - и исправить.

                      Архитектура процессоров Intel, начиная с 386, позволяет полностью исключить несанкционированный доступ к ресурсам. Поэтому написать ОС без дыр - вполне возможно.
                        Кем доказано? Микросовт?

                        Да, нет математической теорией!!!
                          Цитата nvm, 05.09.03, 23:57:08

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


                          Ядро сделанно так что при запуске игры ( после подтверждения юзверя ) отдаёт всё ресурсы гаме и занимает самый минимум
                            Цитата
                            Ядро сделанно так что при запуске игры ( после подтверждения юзверя ) отдаёт всё ресурсы гаме и занимает самый минимум

                            IMHO приставки и w98 на что ?

                            Цитата

                            1. Отличие целевой установки: в существующей теме ставится цель иметь собственную ОС; цель данной темы – разработать, в первую очередь на идейном уровне, такую ОС, которая бы сочетала лучшие из имеющихся концептуальных наработок, и была бы максимально простой.

                            Значит главная цель не совсем создание "концептуально новой ОС", а создание ОС с имеющимися, проверенными временем технологиями + надо учесть современные тенденции развития. (Вот появится спор о том, что лучше).
                            Идеи идеями, мечты мечтами, но строить надо. Хотя, скорее всего, это "концептуально новое" заметят только программисты, которые над ней работают.
                            И идеи касательно ее архитектуры или применения?

                            Цитата

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

                            Может ошибаюсь. Но не совсем ново. Win, *nix. Все драйвера имеют ту же структуру, что и исполняемый файлы, приложения. И представляют сервис доступа к оборудованию. А статус приложения - предполагаю уровень привилегий- при доступе к оборудованию не может быть низким, иначе будет хаос. Если нужен доступ с более низкими привилегиями, существуют динамически загружаемые библиотеки инкапсулирующие работу с оборудованием.


                            Пример идеи о памяти. Низкий уровень. (концептуально новая :) , точнее почти никем не используемая идея (это +)) .  В *nix,Win используется FLAT модель памяти. Все адресное пространство видно и юзеру, и системе. Почему бы не применять сегментную модель. Ограничить юзера от ядра. Возможный ответ - это все немного усложнит ядро.  Защита может немного улучшится, но того, может, оно и не стоит (это -).

                            З.Ы. О идеях. Очень надеюсь, что не будут предлагать идеи о расположинии кнопки "пуск" в правом верхнем углу :).

                              Цитата rcz, 08.09.03, 16:03:53

                              IMHO приставки и w98 на что ?


                              В98 - большие глюки
                              Приставки - низзя из инета качнуть гаму
                                Здравствуйте, герои (тот кто решился на разработку новой ОС сейчас - уже герой ;D, независимо от результата)
                                Имею довольно продолжительный опыт проектирования, разработки и внедрения больших и сложных систем. (сейчас занимаюсь проектом биллинговой системы оператора сотовой связи)
                                Представляется разумным определиться сначала с так наз. "оргкомитетом" проекта, ответственным за принятие стратегических архитектурных решений. Ибо если проект стартует без должного "устаканивания" основных концепций, архитектуры системы, общих для всех разработчиков идиом и т.д., то он гарантированно умрёт.
                                Опять же видится перспективной мысль о системе, полностью обьектно-ориентированной. Т.е. с ТОТАЛЬНЫМ следованием принципам инкапсуляции, единообразия и т.д. на уровне системы.
                                К вопросу о файловой системе: для новой ОС это вообще не должно быть проблемой. Она должна полностью абстрагироваться от конкретной ФС и общаться только со спец. интерфейсом. (аналогия с архитектурой COM). Тогда можно будет установить поддержку любой ФС существующей в природе.
                                На этом пока прервусь, и так уже много настрочил. Удачи.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (21) [1] 2 3 ...  20 21




                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0721 ]   [ 14 queries used ]   [ Generated: 4.07.25, 20:20 GMT ]