Re: Очередная русская ОС
От: okman Беларусь https://searchinform.ru/
Дата: 28.07.10 11:54
Оценка:
Здравствуйте, Nik_1, Вы писали:

N_>http://www.computerra.ru/interactive/546249/


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

С другой — трудно представить работоспособную архитектуру, которая не поддерживается
аппаратно и вообще базируется на виртуальных машинах. А как же драйверы устройств и
вообще системные сервисы типа переключения контекстов или управление виртуальной
памятью ? Это тоже отдается Java ? Наверное, я отстал от жизни.
Нет ни безопасности, ни переходов в режим ядра. Ну и что в этом хорошего ?
Разработчики современных архитектур тоже не дураки ведь.

И мне кажется, что идея персистентности, если она вообще математически корректна,
способна работать только в теории, ибо на практике это означает требование обеспечения
возможности любого устройства или программы свободно прерывать и восстанавливать поток
данных в произвольный момент времени, причем согласованно и единообразно, как транзакция.
Короче, требование полной когерентности.
Как на таких архитектурах смогут работать асинхронные механизмы или
кэширование ? Что, если состояние приложения A напрямую зависит от состояния приложения B,
а их "commit-ы" относится к разным "ревизиям" ?

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

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

Тут нужна конкретная смена парадигмы программирования и вообще, вся эта "кухня" должна
поддерживаться аппаратно, поставщиками устройств и разработчиками драйверов.
Но даже на современных, проверенных десятилетиями архитектурах, ситуация такая, что завалиться можно
даже на банальном hibernate или броске питания, как точно отметил мыщъх.

Так что время покажет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.