2011 г.
Книга Танго. Операционная система из будущего. Дубовцев содержит взгляд автора на построение операционных систем нового поколения. Рассмотрены разные аспекты использования операционных систем в масштабах планеты. Подробно описаны потребности и рекомендации по реализации принципиально новой системы. Показана детальная архитектура системы, разбитая на 3 крупных блока: глобальная архитектура, макроархитектура, микроархитектура. Приведен пример исходного кода микровиртуальной машины.
Оглавление книги
Танго. Операционная система из будущего. Дубовцев
О чем эта книга 11
Об авторе 13
1 Раздел 1 — Послание к человечеству 15
1.1 Послание к человечеству 17
1.2 Почему я решил написать эту книгу 18
1.3 Формат книги — «Хотелки» 21
1.3.1 Наиболее важные группы пользователей 23
1.4 Формат книги — Реализация 26
1.5 Формат книги — Архитектура 27
1.5.1 Глобальный уровень архитектуры 31
1.5.2 Макроуровень архитектуры 32
1.5.3 Микроархитектура 33
1.5.4 Архитектура в жизни 35
1.6 Священные войны 37
1.7 Формат книги — версия текста 38
2 Раздел 2 — Видение системы. «Хотелки» 39
2.1 Введение 41
2.2 «Хотелки» 42
2.2.1 Обычный пользователь 42
2.2.2 Безопасность и надежность 44
2.2.3 Владелец дата-центра 45
2.2.4 Разработчик приложений 46
2.2.5 Верстальщик 48
2.2.6 Владелец предприятия 49
2.2.7 Администратор 50
2.2.8 Разработчик компонентов для приложений 51
2.2.9 Инвестор в приложения 52
2.2.10 Создатель приложения 53
2.3 Обычный пользователь 54
2.3.1 Хочу, чтобы мои данные были доступны мне всегда и везде с любого устройства 55
2.3.2 Хочу, чтобы социальный сервис был частью операционной системы 57
2.3.3 Хочу иметь простой механизм обучения, поддержки и помощи 60
2.3.4 Хочу иметь множество дешевых лицензионных приложений 62
2.3.5 Хочу, чтобы файлы всегда открывались 63
2.3.6 Хочу быстро находить нужные мне приложения и моментально начинать их использовать 64
2.3.7 Хочу иметь единую платежную систему 66
2.3.8 Хочу иметь единую систему обучающих видео 68
2.3.9 Хочу, чтобы все приложения были доступны по ссылке 69
2.3.10 Хочу, чтобы любые документы и файлы были доступны по ссылке 70
2.3.11 Хочу иметь голосовое и видеообщение, быстро и просто 71
2.3.12 Хочу иметь единую систему сообщений и почты 72
2.3.13 Хочу открывать все свои старые файлы 73
2.3.14 Хочу создавать документы совместно с моими друзьями 74
2.3.15 Хочу иметь возможность отзывать обратно и редактировать посланные сообщения 75
2.3.16 Хочу иметь общую единую систему уведомлений 76
2.3.17 Хочу, чтобы установка Танго была всегда простой и максимально быстрой 77
2.3.18 Хочу, чтобы операционная система работала всегда стабильно и ее не нужно было переустанавливать 79
2.3.19 Хочу иметь возможность работать с системой автономно, без использования сети 80
2.3.20 Хочу всегда знать, какие файлы к чему относятся и чем занято у меня место 81
2.3.21 Хочу иметь простой механизм публикации и доставки видеоконтента 82
2.3.22 Хочу искать информацию на основе рекомендаций живых людей 83
2.3.23 Хочу иметь понятную систему сообщений об ошибках 84
2.3.24 Хочу, чтобы Танго умела работать на компьютерах без жесткого диска 86
2.4 Владелец предприятия 87
2.4.1 Хочу концентрироваться на корпоративных сервисах, а не на инфраструктуре 88
2.4.2 Хочу разворачивать приложение по всему предприятию централизованно 91
2.4.3 Хочу подключать пользователей к моей инфраструктуре в один клик 92
2.4.4 Хочу, чтобы все документы, которые делают сотрудники в рамках компании, были всегда доступны и никогда не терялись93
2.4.5 Хочу иметь единый поиск по данным предприятия 94
2.4.6 Хочу иметь возможность быстро организовывать отделы, группы, проектные команды 95
2.5 Безопасность и надежность 96
2.5.1 Хочу, чтобы мои данные всегда были надежно защищены 97
2.5.2 Хочу защищать свои данные при помощи SMS 99
2.5.3 Хочу защищать свои данные при помощи живого звонка 100
2.5.4 Хочу защищать свои данные при помощи электронного брелока 101
2.5.5 Я параноик, хочу защищать свои данные очень сильно 102
2.5.6 Хочу, чтобы мои данные были защищены на физическом уровне 103
2.5.7 Хочу, чтобы приложения без моего ведома не получали доступ к моим данным 104
2.5.8 Не хочу, чтобы моим аккаунтом завладели «злодеи» 105
2.5.9 Не хочу иметь тысячу паролей, хочу иметь только один 106
2.5.10 Хочу, чтобы мои данные хранились там, где я этого хочу 107
2.5.11 Хочу, чтобы мои данные хранились на чужих компьютерах минимальное время 108
2.5.12 Хочу иметь возможность загружать приложения из-под другого логина и пароля 109
2.5.13 Хочу иметь возможность загружать приложения в режиме инкогнито 110
2.5.14 Хочу иметь встроенные механизмы контроля трафика и анти-DDoS 111
2.5.15 Хочу, чтобы операционная система защищала меня от спама 112
2.5.16 Хочу иметь возможность установить систему в закрытом варианте и без связи с внешним миром 113
2.6 Владелец дата-центра 114
2.6.1 Хочу купить компьютеры, поставить на них софт и моментально получать с них прибыль 115
2.7 Владелец приложения 117
2.7.1 Хочу просто и быстро находить инвестора для моих приложений 118
2.7.2 Хочу иметь полную информацию о пользователях моих приложений 122
2.7.3 Хочу иметь простую и удобную систему лицензирования приложений 123
2.7.4 Хочу иметь единую и простую рекламную платформу 124
2.8 Разработчик приложений 125
2.8.1 Хочу, чтобы один и тот же код запускался на всех платформах 126
2.8.2 Хочу знать информацию о качестве сервиса дата-центров 128
2.8.3 Хочу иметь единую систему идентификации пользователей, логина 130
2.8.4 Хочу, чтобы порог входа для программистов был максимально низкий 131
2.8.5 Хочу проектировать приложение визуально 133
2.8.6 Хочу, чтобы все форматы и протоколы были открытыми — текстовыми 135
2.8.7 Хочу сохранять свои данные в базе просто и сразу, без сложных движков 137
2.8.8 Хочу, чтобы любой компонент системы можно было заменить на другой 139
2.8.9 Хочу писать логику на том языке, который мне нравится 141
2.8.10 Хочу иметь одни и те же инструменты на все случаи для работы с кодом 143
2.8.11 Хочу моментально разворачивать приложения в сети 145
2.8.12 Хочу иметь четкую и логичную систему версионности и ссылок во всем 146
2.8.13 Хочу писать социальные комментарии прямо в коде 149
2.8.14 Хочу иметь простую систему создания и лицензирования компонентов 152
2.8.15 Хочу иметь единый каталог компонентов 154
2.8.16 Хочу иметь единую систему управления проектами и исходным кодом 155
2.8.17 Хочу иметь единую систему удаленного вызова объектов 156
2.8.18 Хочу иметь общую систему телеметрии и логов 157
2.8.19 Хочу иметь визуальные инструменты для всего 159
2.8.20 Хочу иметь совместимость со старым кодом и старыми компонентами 160
2.8.21 Хочу, чтобы была возможность защищать свою интеллектуальную собственность 161
2.8.22 Хочу, чтобы в операционную систему была встроена поддержка транзакций 162
2.8.23 Хочу, чтобы профайлер и отладчик работали удаленно 163
2.8.24 Хочу иметь встроенный сервер конфигураций 164
2.8.25 Хочу иметь открытый механизм локализации приложений 165
2.9 Верстальщик 166
2.9.1 Хочу делать приложения только один раз для всех платформ 168
2.9.2 Хочу расширять модель верстки новыми компонентами 170
2.9.3 Хочу писать логику для клиентских приложений на своем любимом языке 172
2.9.4 Хочу использовать сложные каскадные таблицы стилей 174
2.10 Администратор приложения 175
2.10.1 Хочу иметь возможность удаленно подключаться к компьютеру и управлять им 176
2.10.2 Хочу иметь встроенные механизмы масштабирования приложений 177
2.10.3 Хочу иметь поддержку глобального кэша для моих приложений 179
2.10.4 Хочу иметь встроенный механизм резервирования приложений 181
2.10.5. Хочу, чтобы механизмы масштабирования и резервирования работали не привязанно к дата-центру 182
2.10.6 Хочу выстраивать приложения в рабочие цепочки 183
2.11 Итог 184
3 Раздел 3 — Организация, или Как съесть слона 185
3.1 Основные принципы 187
3.2 Принципы в жизни 189
3.3 Исходный код 190