Phantom OS

Discussion in 'WASM.HEAP' started by Monogen, Jan 12, 2011.

  1. PSR1257

    PSR1257 New Member

    Blog Posts:
    0
    Joined:
    Nov 30, 2008
    Messages:
    933
    Имхо, постановка задачи выглядит одновременно чересчур абстрактно но вместе с тем чересчур специализировано.

    "Я напишу вам такую ось которая будет практически мгновенно делать снапшоты для всех программ для восстановления в случае сбоя..."

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

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

    Можно также создать апи чтобы задача могла сама сказать что как и в какой последовательности снапшотить.

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

    KeSqueer Сергей

    Blog Posts:
    0
    Joined:
    Jul 19, 2007
    Messages:
    1,183
    Location:
    Москва
    Если произойдёт сбой, не удастся сохранить состояние процессора. Соответственно, восстановить работу программ станет невозможно. Либо нужно сохранять его состояние для всех потоков ежетактно.
     
  3. newbie

    newbie New Member

    Blog Posts:
    0
    Joined:
    Dec 2, 2008
    Messages:
    1,246
    шутник :lol:
     
  4. qqwe

    qqwe New Member

    Blog Posts:
    0
    Joined:
    Jan 2, 2009
    Messages:
    2,914
    Z3N
    старт граф оболочки и дебуг консоль в жит режиме 9.
    [​IMG]
    виден дис-asm, гас из жита, адреса переменных, типы, прочая внутренняя инфа по мере житанья
     
  5. J0E

    J0E New Member

    Blog Posts:
    0
    Joined:
    Jul 28, 2008
    Messages:
    621
    Location:
    Panama
    БЫло такое еще на древнем Spectrum и называлась Magic Button, сбрасывало снэпшот сосотояния, памяти и регистры на дискетку, потом можно было загрузиться с прерванного сосотояния.

    Фантома не смотрел, прочитал тока, что это наследник BeOS, а сталобыть и Amiga Rulez & Wintel Must Die :)
     
  6. Z3N

    Z3N New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2009
    Messages:
    812
    qqwe
    Что такое п9/инф?

    J0E
    Ага, не сейчас это не просто потомки, а дети лейтенанта Шмидта ;)
    Каждый считает долгом упомянуть своё родство с беос, имя-то на слуху!

    KeSqueer
    К сожалению не верно, восстанавливается система на момент последнего снапшота, а во время этого снапшота можно сохранить состояние процессора.
    Кстати, там единое адресное пространство...

    Насчёт ide и компиляторов.
    Ну, не знаю. Мне студия + VisualAssist больше всего нравиться. Хотел бы пересесть на что-нибудь бесплатное, но ничего подобного не видел. Нравится подсветка локальных переменных и акронимы (Напечатать gfn вместо GetFileName(жутко удобно!)). Если кто-нибудь знает что-то подобное и бесплатное, то дайте ссылки ;)
    А код у студии более понятный имхо. Гцц делает странный код... манипуляции со стеком какие-то странные. И даже не знаю что быстрее ясно как у студии или завороты у гцц.
     
  7. Pavia

    Pavia Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 17, 2003
    Messages:
    2,409
    Location:
    Fryazino
    Сделает он ОС. Это не так трудно. Вопрос в том, почему не сделал?
    А то что сбрасывает всё на диск. Ну так это просто надо заставить писать программистов маленькие программы. И второе чтобы программа сообщала что можно сбрасывать, а с чем повременить. Работа аналогична сборщику мусора.
     
  8. Z3N

    Z3N New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2009
    Messages:
    812
    Pavia
    Нельзя временить. Автор прямо пишет, что для программиста всё должно быть прозрачно.
    Программы на яве не жрущие тонны памяти? У меня javaw.exe отжирает 60 мегов сходу на одну программу.
     
  9. SadKo

    SadKo Владимир Садовников

    Blog Posts:
    8
    Joined:
    Jun 4, 2007
    Messages:
    1,610
    Location:
    г. Санкт-Петербург
    Z3N, пробовал Eclipse + CDT?

    cupuyc сам себе противоречит. Либо попросту не знает элементарных вещей. Например, что 10 миллисекунд чтения/записи порции данных на диск - это ЖД должен быть только-только с прилавка. Обычно же запись может длиться и 50, и 200 миллисекунд. И то, что при вибрациях скорость чтения/записи падает тоже полезно бы знать.
     
  10. NeuronViking

    NeuronViking New Member

    Blog Posts:
    0
    Joined:
    Oct 29, 2004
    Messages:
    476
    Location:
    где-то в Сиднее
    да это все понятно, не понятно пока как он будет это реализовывать с учетом взаимоисключающих требований к производительности (чтобы не нужно было идти спать после нажатия Magic Button ;)) и надежности. наверное это возможно, если саму концепцию многозадачной ОС изменить. А если опираться на общепринятые подходы реализации и принципы архитектуры то добиться "нормальной" производительности с надежностью не получится.


    ПС. "После перезапуска системы она всё равно восстановится в том виде, который имела за несколько секунд до спонтанного выключения." - интэрэсно, а как гражданин определит, что до спонтанного выключения осталось несколько секунд? =))))
     
  11. NeuronViking

    NeuronViking New Member

    Blog Posts:
    0
    Joined:
    Oct 29, 2004
    Messages:
    476
    Location:
    где-то в Сиднее
    бабло не всегда зло. иногда бабло катализатор развития и появления новых технологий ;)
     
  12. NeuronViking

    NeuronViking New Member

    Blog Posts:
    0
    Joined:
    Oct 29, 2004
    Messages:
    476
    Location:
    где-то в Сиднее
    в рамках одного процесса/приложения блокировки может быть и не всегда затратны, но в целом для операционной системы сам механизм lock/unlock (даже без ожиданий) довольно дорогой. грамотные люди вообще стараются так спроектировать данные, чтобы вообще обойтись без блокировок. так что блокировки это всяко зло - это и ресурсы, и производительность, и потенциально опасный код. ну и еще сложный для дальнейшего мейнтенанс (расширение функциональности, модификация, отладка).
     
  13. Z3N

    Z3N New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2009
    Messages:
    812
    SadKo
    Просто эклипс пробовал, СДТ нет. Спасибо, качаю....

    NeuronViking
    Это не всегда зло, но всегда где-то близко от зла ;)
    Просто туда где много денег всегда притягивает людей которых интересуют только деньги... к сожалению. Х(
     
  14. branvi

    branvi New Member

    Blog Posts:
    0
    Joined:
    Jan 21, 2011
    Messages:
    40
    Phantom OS - идейно правильная операционная система.
    В будущем разница между оперативной памятью и жестким диском сотрется. Появятся модули, которые будут иметь очень высокую скорость доступа, но смогут сохранять состояние после отключения энергии.
    Кому нужны эти 30-60 секунд загрузки? Каждый раз запускать все заново? Я уже давно использую только гибернацию. Компьютер стартует за 2 секунды.
    Принципиальных теоретических ограничений на реализацию принципа работы системы без перезагрузки нет и сейчас. Можно не отключать питание от оперативной памяти. (Сбрасывать на диск только в случае сбоя в сети.)
    Перезагрузка системы в будущем станет редкой процедурой эквивалентной переустановке системы.
     
  15. Z3N

    Z3N New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2009
    Messages:
    812
    branvi
    Наконец-то и сам разработчик фантомаса подтянулся ;)
    Слава богу, а то я и забыл ему написать %)
     
  16. Pavia

    Pavia Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 17, 2003
    Messages:
    2,409
    Location:
    Fryazino
    Z3N
    А вы значит менеджер?

    branvi
    У SSD проблемы! Чем меньше объем ячейки тем она не стабильнее себя ведет. А по поводу памяти. Сейчас используется более дешёвая память SDRAM. На конденсаторах с которых как известно стекает заряд. Поэтому в такой памяти предусмотрен механизм обновления данных.
    Так что в случае сбоя может оказаться что уже нечего сбрасывать.

    Рост объемов памяти, жестких дисков соизмерим с ростом информации. Хотя последняя как отмечают аналитике растет больше.
    А по свой лени я не закрывают программы. Поэтому в памяти у меня сидит более 500мб с условием скорости HDD 60мб/с будет грузиться более 9 секунд.
    Вывод надо бороться с ленью. И минимизировать все затраты.
     
  17. Z3N

    Z3N New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2009
    Messages:
    812
    Pavia
    :S
    C какого испуга?
     
  18. SadKo

    SadKo Владимир Садовников

    Blog Posts:
    8
    Joined:
    Jun 4, 2007
    Messages:
    1,610
    Location:
    г. Санкт-Петербург
    branvi, вот вы предлагаете питать память от аккумулятора. А что мешает поставить UPS. Это же, по сути, аналогичное решение, имеющее ещё и дополнительное преимущество: не надо рестартовать процессор.
     
  19. KeSqueer

    KeSqueer Сергей

    Blog Posts:
    0
    Joined:
    Jul 19, 2007
    Messages:
    1,183
    Location:
    Москва
    branvi
    Без перезагрузки нельзя обновить основные компоненты системы. Апдейты выходят раз в неделю. Раз в неделю, конечно, можно и перезагрузиться, но, всё же, не стоит сравнивать это с переустановкой.
    А так - да, следует смотреть в будущее при разработке.
     
  20. Voodoo

    Voodoo New Member

    Blog Posts:
    0
    Joined:
    Apr 9, 2003
    Messages:
    297
    Location:
    Новосибирск
    KeSqueer
    касательно апдейтов - в erlang уже давно существует hot code swap, обновление кода на рабочей системе.
    хотя, это требует от системы некоторых условий, вроде отсутствия shared state и иммутабельности.