Phantom OS

Тема в разделе "WASM.HEAP", создана пользователем Monogen, 12 янв 2011.

  1. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Каждая страница памяти имеет флажок изменения (Dirty Bit).
    Изменение любого байта на этой странице автоматически взводит Dirty Bit.
    Это поддерживается на апаратном уровне.
     
  2. Monogen

    Monogen New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2008
    Сообщения:
    90
    qqwe
    Да, действительно. Когда создавал тему искал ей подобную, но поверхностно. Теперь нашел. Обсуждение в стиле "слышал звон".
    Автор системы не претендует на оригинальность. Он сам так в видео и говорит. Просто он хочет сделать систему в которой разработка программ была бы проще и дешевле.

    А видео так никто и не посмотрел похоже: но FAQ все прочитали. :) Хотя он полной картины все же не дает. Всю тему обсуждали мои слова про копирование образа системы на диск. :) В видеороликах автор, кстати, демонстрирует работающий прототип системы. На CC'08 и в МИЭТ система была не стабильной и падала. Но сейчас уже вроде добились стабильной работы. У автора есть блог: http://dz.livejournal.com, если кому интересно, можно поинтересоваться подробностями из первых рук. Можно и присоединиться к разработке: http://code.google.com/p/phantomuserland/wiki/HowToTakePart. Проект расположен на Google Code: http://code.google.com/p/phantomuserland, лицензия LGPL. Там, правда, не вся система: только код виртуальной машины. Чтобы получить доступ к исходникам разрабатываемого ядра надо присоединиться к проекту.
     
  3. reversecode

    reversecode Guest

    Публикаций:
    0
    http://code.google.com/p/phantomuserland/source/checkout
    и получайте
     
  4. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Monogen
    обсуждение концепции. ничего кроме концепции нет. у вас тоже. кино.. а что кино? на ее обои посмотреть?

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

    я ж вам предложил ввести вынь (или линь) в режим постоянного сброса на диск измененных страниц. оно запустится и будет работать. и на голой оси + калькуляторе все будет достаточно терпимо. а теперь подгрузите пару прог потяжелее. или чтонибудь активно юзающее большие объемы памяти вроде игрушек или фотошопов или 3д рендер. наслаждайтесь.
    или вы хотите софтово уменьшить латентность винта? (ссд быстрее, но имеет ограниченное количество записей. 10000 или 100000. возьмем большее 100'000 и запись раз в 10 сек. 100000 / 6 / 60 / 24 ~ 11.5 дней. те при активной работе с большим парком программ и данных ссд умрет меньше чем за месяц)

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

    Partner
    ок, пусть так. пусть так, пусть даже сдваивать каждое обращение вручную, с++ это делает уже. скажите, как быть с очень большой латентностью записи на диск даже только измененных страниц? их будет очень очень много. и, скорей всего, надо будет замораживать ось на процесс сохраненния или иметь двойной объем памяти половина из которой будет использоваться только для создания снимков перед записью. но, опять же, на время копирования памяти ось должна быть заморожена.
    а теперь попробуйте просто покопировать раз в 10 секунд из памяти в память гиг инфы.
     
  5. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    Странно, а я думал что среднего качества бесперебойником эта проблема решается совсем просто=)))) И вапще мне кажется эти русские опять изобретают никому не нужный велосепед))
     
  6. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    Partner
    Смысл есть, написано, что система восстановиться в первозданном виде. А если я играл? Вот я и хочу, чтобы всё стало как было. Гибернате виндовс (по крайней мере ХР) не поддерживает восстановление 3д приложений. К тому же сейчас популярна тема вычислений на гпу, что будет, если во время вычисления отрубиться комп? Кроме того сейчас много кто для рисования окошек использует гпу, не говоря уже о 3д столах и прочей мути.

    В видовс можно спросить потеряна ли поверхность, но игры всё равно не гибернейтяться. Х(
    Так что сохранять надо всё.

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

    Мда, обострение какое-то (вроде бы до весны ещё далеко): Мавроди и МММ, а тут ещё Phantom OS
     
  7. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    k3internal
    дык практически все, что счас рекламируется как самое острие прогресса - велосипеды уже давно существующих технологий. просто, малоизвестных/малораспространенных. как правило, вследствие слабой постановки рекламы в школах/инах/туалетной бумаге (прочая аниме).
    некоторые нации хорошо вышли в люди благодаря оч серьезному отношению к велосипедной промышленности (яп, кит). так что оригинальность только кажется путем к успеху.
     
  8. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    qqwe
    Занятно, сходил, скачал. Странно, но там написано, что код, который он производит иногда лучше чем С++
    :S

    Кроме того написано, что там нет пошагового отладчика, наверно, для того, чтобы я не мог проверить достоверность предыдущего утверждения... ;) Написано, что вроде как и не нужен, просто программируйте без ошибок....
    Больные люди какие-то... а вдруг я захочу посмотреть как скомпилировался мой код? Да, и просто, вдруг я балдею от пошаговой отладки... ;)

    UPD

    OMG!!! Там нет подсветки, нет, ну это вообще свинство!

    UPD

    Хм, задавать команды линкеру в исходниках программы... круто! Прикольно, написал, щёлкнул два раза и вызвал линкер. Не знаю, почему вирт кричит, что у него всё украли... по-моему, можно украсть ещё много ;)

    UPD

    Его и вправду используют в школе? Бедные дети.... Это же травма, а заодно и клеймо на всю жизнь.... ИМХО это не тот язык с которого следует начинать обучение.

    Слишком уж он маргинальный.

    Они же будут пытаться программировать в этом стиле и в других языках....
     
  9. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    Как-то странно ведутся рассуждения

    А если система не даст "ставить всего один бит"? Как Вы можете утверждать, если её архитектуры не знаете?

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

    Механизм транзакций придуман тыщу лет назад.

    Ещё про Петрика забыли.

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

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    cupuyc
    Будем ставить два! Запись в память всё равно в разы бестрее, чем запись на винт....

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

    А что с ним? Вроде, не слышно. Или опять что-то изобрёл этот неутомимый?
     
  11. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    К чему Вы это? Ну да, быстрее. И что?

    А зачем попросту сотрясать воздух? Можно точно также порассуждать о какой-нибудь хромодинамике, в которой никто ничего не смыслит. Толку от этого? Флуд один.
     
  12. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    К тому, что всё равно страницы будут сбрасывать на диск.

    Ну, есть мнение, что в споре рождается истина... :)
     
  13. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    С чего Вы взяли?

    Забавно. Давайте обсудим хромодинамику. Как думаете - родим каку-нибудь умную мысль? ИМХО, кроме бреда ничего не родим.
     
  14. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    cupuyc
    Как раз родим истину. Истина будет звучать примерно так "Мы поняли, что этот бред доказать пока не можем". Чем не истина?
     
  15. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Z3N
    ну вообщето, генерируемый код лучше С++ вполне несложно себе представить. достаточно только вспомнить вспомогательные обращения к памяти и теневую работу с кучей.
    ну почему же нет. в инферно есть
    [​IMG]
    и даже такое
    [​IMG]
    но, учитывая, что все сводится к работе с фс /prog , то вы можете наваять/переваять как вам хочется. опенсорсность вам в помощь

    для бб, вроде, тоже есть. но как дополнительный компонент. можете порыться тут http://www.zinnamturm.eu

    в где? в бб или инф? и там и там есть. но как доп компоненты

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

    cupuyc
    как это? я не смогу запросить у оси еще немного памяти и установить в ней всего 1 байт (слово/двойное/итд)?

    и он может обеспечить защищенное от сбоев сбрасывание на винт содержимое _всей_ озу (берем худший вариант. тем более, что он не так уж и редок) каждые несколько секунд?
     
  16. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    qqwe, так с чего Вы взяли, что должна сбрасываться "вся ОЗУ"? Вообще говоря, совсем не обязательно, чтобы сбрасывалась даже вся страница с одним изменённым байтом.

    Точно так же и в винде можно выделить 2 гига памяти и подвесить проц бесконечным циклом, обращаясь ко всем выделенным страницам поочерёдно.
     
  17. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    Нет, скорее всего будет что-то типа: "мы думаем, что струны - очередной бред и выдумки наподобие кварков (мы, конечно, ничего не знаем о квантовой теории поля, но на крайняк в педивикии прочитаем; тем не менее, наше мнение является непоколебимым и наиболее правдоподобным)".
     
  18. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    cupuyc
    Я бы с радостью её обсудил, но она мне не интересна! Поэтому истины не получиться, вы уж извините!!! Чем вас не устраивает текущая тема, что вы так хотите с неё соскочить? Продолжим...

    qqwe
    Ох, ты ж господи!

    Я инферно не смотрел. Качну сейчас

    Но что-то окна с дизасмом я не вижу на скрине.

    Ого, разница в размере инферно и бб в 10 раз!!!

    Не, я хоть начинал и не с него, но тоже могу сказать, что большинство языков является хламом. ;) Идеального я ещё не встретил.
    Начинал с асма, и поэтому, видимо, болен... :)
    Просто смешно смотреть на программистов которые начинал с ХЛЛ когда они начинают производить кирпичи при упоминании отладчика! Правильно, ведь легче тыкнуть 50 ассертов и 100500 раз изменить код подбирая верную комбинацию. А есть экземпляры, которым ещё и хэлп читать влом. Кстати, чтобы вы не подумали лишнего - я и асм не считаю лучшим языком, есть многое, что я бы хотел изменить (имею в виду фасм).

    Быстро и безопасно не значит хорошо (ну, не всегда). Пример:
    (в данном случае не совсем безопасно, но всё же)
    [​IMG]

    Хотя, может у меня такое мнение потому, что я не проф программер, то есть не делаю вещей на заказ и в срок ;)

    А вообще, концепция интересная, модули статические и динамические (которые пакуются в ехе (sick!)), а эти файлы - это вообще что-то... потрясён до глубины души... Х). Интересно, почему ещё никто не спёр идею....

    cupuyc
    Не, 7ку так не повесишь.... Да и хр тоже, думаю.

    ЗЫ
    cupuyc
    Вот, вы говорил, что толку нет в наших обсуждениях, а я вот толк смог извлечь. ББ и иферно довольно интересные вещи, а познакомился я с ними благодаря этому треду. Просто уметь надо... ;)
     
  19. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    cupuyc
    а как вы это тогда реализуете? побайтное хранилище с загололовками записей в полкилобайта (адрес, время взятия выборки, программа, ссылки на остальные записи этой выборки, ссылки на непосредственных предков вплоть до базовой полной выборки, итд)
    да и поиск этого единственного измененного байта займет время и потребует копии страницы до изменения. или через исключения на запись, но это будет еще дольше

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

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

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Z3N
    нет, не больше. точнее, там совсем разные принципы. в инф используется докомпиляция перед выполнением (да да, то, что обещали, но так и не сделали), что очень сильно повышает переносимость. ну и основные модуля уже скомпилены в ядро в виде серверов (их набор и взаимное положение не фиксированы, а указывается в конфиг файле перед компиляцией, тк связаны они одной точкой)
    ну и много в пакете лишнего. точнее, там все и для всех осей. вполне можно выделить сборку килобайт на 700 (или меньше если откааться от части ядерных серверов)
    эмм.. ничего не понятно

    [​IMG]
    кроме того, при запуске вы можете указать опцию -с1 .. -с9 и наблюдать в консоли дебуг вывод во все возрастающем количестве.

    или во время работы записать в /dev/jit от 1 до 9 с тем же эффектом. например:

    echo 4 > /dev/jit

    асм в инф есть только нативный, сорцы его живут в /asm . создатели его это связывают с его малой нужностью, что следует из самого дис п-кода.