спасется все (компьютерное)
Feb. 21st, 2009 02:13 amГрубер хорошо пишет в недавней записи (англ.) об окошках с новыми документами в любых приложениях. Нет в наше время никакой причины для того, чтобы данные терялись, если приложение упало или по какой-то причине убито. Сохранять надо все, что пишет (рисует, строит, что угодно) пользователь, в фоновом режиме, каждую минуту (например). Это касается "неназванных" еще документов в той же мере, как и существующих файлов.
no subject
Date: 2009-02-21 07:21 pm (UTC)Это если считать, что надо записать один сектор. А если нет? А если свободные сектора не рядом? А если кроме записи нужно что-то еще сделать?
Я что-то не вижу теоретической возможности записывать в реальном времени произвольное количество произвольных событий.
Системы реального времени обычно все-таки проектируются под конкретную задачу; я не думаю, что вам удастся заставить всех программистов, пишущих приложения под широко распространенную ОС, писать все их программы как системы реального времени.
no subject
Date: 2009-02-21 07:43 pm (UTC)Угу. Если вы хотите писать журнал действий - вам даже хватит. Проблема в том, что для создания нужного experience (все всегда сохранено) иногда нужно сохранять состояние.
Слышал.
no subject
Date: 2009-02-21 08:00 pm (UTC)...только в том случае, если каждое действие детерминированно.
"A RTOS facilitates the creation of a real-time system, but does not guarantee the final result will be real-time; this requires correct development of the software."
no subject
Date: 2009-02-21 11:39 pm (UTC)no subject
Date: 2009-02-21 11:42 pm (UTC)Во-вторых, даже в текстовом редакторе есть недетерминированная операция: вставка текущей даты и времени.
no subject
Date: 2009-02-22 12:12 am (UTC)А что произойдёт, если после вставки даты и времени нажать undo и redo?
no subject
Date: 2009-02-22 12:16 am (UTC)Должно-то должно, но в реальности там все сложнее, и пишет оно всяко не в итоговый файл, а в scratch-буфер.
Вставка того же текста. Потому что операция "вставка даты" рассматривается undo-механизмом как вставка фиксированного текста.
no subject
Date: 2009-02-22 12:28 am (UTC)Как это влияет на тот факт, что запись на диске таки хранится?
операция "вставка даты" рассматривается undo-механизмом как вставка фиксированного текста.
Именно. И где же во вставке фиксированного текста недетерминированность?
no subject
Date: 2009-02-22 12:32 am (UTC)Буфер частично в памяти находится.
Чтобы вставка даты стала вставкой фиксированного текста, нужно заменить одну операцию в очереди на другую. А это, в свою очередь, обозначает, что подход "пишем операции, которые производит пользователь (кнопки и мышь)" более не применим.
no subject
Date: 2009-02-22 12:38 am (UTC)Кто-то, кроме вас, в этом треде пользовался понятием операции, определяемой только вызвавшей её кнопкой?
no subject
Date: 2009-02-22 12:44 am (UTC)Произвольную операцию невозможно записать на диск за 8 мсек, которые обсуждаются выше по треду. Хотя бы на примере вставки из клипбоарда (кстати, тоже недетерминированная операция) - потому что если в клипбоарде лежит картинка мегов на 800, то скинуть ее на диск за 8 мсек (чтобы превратить операцию в "вставка фиксированной картинки") вряд ли представляется возможным.
Следовательно, одно из двух. Или 8 мсек на запись, о которых идет речь в этом треде, либо запись произвольной операции (а не только создаваемых пользователем событий от устройств ввода).
no subject
Date: 2009-02-22 01:02 am (UTC)no subject
Date: 2009-02-22 09:21 am (UTC)no subject
Date: 2009-03-26 05:02 pm (UTC)no subject
Date: 2009-02-22 09:10 am (UTC)А "такое приложение" - это любой адекватный растровый редактор.
no subject
Date: 2009-02-22 09:13 am (UTC)...только их результат для документа недетерминирован. Представьте себе, что я (в виндовом приложении) нажал ctrl-v. Клавиши детерминированы? Детерминированы. А результат? Конечно, нет - он зависит от состояния клипбоарда, который в вашем примере не отслеживается.
Или, скажем, я запустил (мышкой) макрос, который вставляет подпись с текущей датой. Тоже недетерминированная операция.