В настоящее время очень много говорится про написания новой, Российской Операционной Системы (ОС). Практика показывает, что все предыдущие попытки так или иначе были вариациями «того самого Линукса», и ни чего нового, кроме галочек в отчетах не несли. Попробуем разобраться, а что же такое вообще ОС нового поколения, какие основные принципы должны быть в нее заложены и как вообще ее необходимо создавать в современных условиях. Попробуем сформулировать основные принципы ее построения.
Детские болезни
Первое с чего нужно начать это анализ предыдущего опыта, а он достаточно обширен. Каждый из нас постоянно употребляет такое выражения как «файл», и у каждого есть какое-то абстрактное представление этого «файла». У одних как мешок с цифирьками, у других некое подобие червяка, состоящего из ноликов и единичек, но ни у кого нет конкретного описания, а что это вообще такое. Это состояние вещей противоестественно для человеческого разума и родилось в основном из представлений программистов прошлого, которые были вынуждены мириться со слабыми вычислительными мощностями процессоров и ограниченного дискового пространства. Правда, нужно отдать должное современным создателям операционных систем, которые пытаются в пользовательском интерфейсе представить все в понятном человеку виде, но внутри компьютеры все равно работают с этими анахронизмами. Также нужно упомянуть необходимость «преемственности», то есть возможности работы старых приложений в новой среде, которой разработчики связаны по рукам и ногам и вынуждены, сохранять устаревшую структуру ОС.
В случае с созданием абсолютно новой ОС, выпадает уникальный шанс отказаться от всего этого и создать все с нуля.
Объект
Человеческое мышление организованно объектно. Например «яблоко»-объект, обладающий набором свойств – цвет, запах, вкус, форма, размер. Мы же не прицепляем к каждому яблоку бирки с описанием, и не помешаем каждое яблоко в отдельный контейнер, мы просто храним их в «корзине», и когда нужно достаем их от туда и едим, то есть производим над ними действия, приводящие это яблоко в модифицированное состояние, результатом которого является другой объект — «огрызок». Точно также и в современной ОС, необходимо отбросить устаревшие представления и работать с новыми принципами:
ОБЪЕКТ-СВОЙСТВО-ДЕЙСТВИЕ-НОВЫЙ ОБЪЕКТ.
Это называется объектно-ориентированный подход, который рассматривает всё как объекты, размещенные в конкретных ячейках памяти и обладающие набором свойств. А выборка этих объектов производит Система Управления Базой Данных (СУБД), исходя из таблицы размещения объектов, этаким аналогом амбарной книги на яблочном складе.
Таким образом, разработку новой ОС необходимо начинать с разработки новой, объектно-ориентированной СУБД, которая и будет являться основой будущей ОС, точнее её скрытой, системной части.
То, что мы уже описали, это основная, базовая часть новой ОС, необходимая при любых условиях. Теперь подошло время определить сегмент приложения нашей ОС, от которого будет зависеть ее дальнейшая структура.
Пользователи
В данный момент сегмент домашних компьютеров четко ориентирован на игровые приложения, которые разрабатываются с прицелом на конкретные персональные компьютеры. Особенностью персоналок является большое разнообразие устройств («железа»), и подавляющую занятость этого сегмента ОС Windows. В виду устоявшихся и всем понятных причин данный сегмент с ОС Windows не сдвинуть. Да и в общем то необязательно. Основной потребительской группой в силу ряда причин (защищенности, независимости от иностранного ПО, а за частую и секретности) новой ПО могут быть государственные структуры, корпоративные структуры, предприятия, в общем это те структуры, где происходит коллективная работа над производством какого либо продукта. Давайте посмотрим какие потребности у этих структур и какими особенностями обладают их системы.
- Минимальная стоимость – каждая структура предпочтет более дешевую систему при условии решения тех же задач.
- Необходимость наличия общего хранилища объектов и совместной работы над ними –коллективный труд предполагает работу нескольких сотрудников над одним объектом.
- Масштабируемость – возможность наращивания системы при росте структуры предприятия.
- Скорость обработки – от этого зависит эффективность труда структуры.
- Надежность – ни кому не понравится, если часть результатов труда будет терятсяИсходя из технического анализа развития компьютерных технологий и виртуозности хакеров, нужно сюда еще добавить еще два пункта.
- Разработка ОС с учетом тенденций будущего развития аппаратной части.
- Защищенность от вредоносных действий.Исходя из возможности дальнейших приложений новой ОС следует добавить еще два пункта,
- Возможность работы ОС в «облегченном» режиме для установки на персональный компьютер – изначально ОС должна быть все таки корпоративной.
- Совместимость с имеющейся аппаратной частью (железом) – драйвера.
Теперь попробуем разобрать подробнее сформулированные условия.
Минимальная стоимость
Современные вычислительные мощности позволяют производить необходимую обработку на основном компьютере – Сервере, а пользователям представлять только результат этой обработки. Ярким примером такой работы может служить простой запрос на поисковом сервере интернета. В современном мире еще сохранились системы с «клиент-серверной» технологией, когда обработка производится и на сервере и у клиента, но это как раз связано с анахронизмом ограниченности вычислительной мощности процессоров предыдущих поколений, а современные компании предпочитают работать в режиме СЕРВЕР-ТЕРМИНАЛ. Основная затратная часть, в этом случае приходится на Сервер, а терминалов к нему можно подключить достаточно много и они сами по себе достаточно дешевые.
Необходимость наличия общего хранилища объектов и совместной работы над ними.
Корпоративная работа предполагает одновременную работу нескольких сотрудников с одними и теми же объектами. В режиме СЕРВЕР-ТЕРМИНАЛ, все объекты хранятся в хранилище сервера, а совместную работу с ними обеспечивает СУБД. Терминальные представления клиентов так же должны работать на сервере, а клиентам пересылаться только визуальное представление. Кроме того, такая компоновка дает возможность обеспечить на сервере работу нескольких клиентских частей ОС с серверной СУБД. Важно отметить, что в любой многопользовательской среде наличествуют такие явления как коллизии, это одновременная модификация одних и тех же объектов несколькими пользователями. Данная задача решается единым Операционным Вычислителем (ОВ), которому пользователи ставят задачи в виде запросов, а реальную модификацию проводит ОВ. Не трудно заметить, что в этом случае в одну единицу времени над одним объектом будет проводится только одна модификация, и коллизии будут разрешены. В современной технологии ОВ это часть СУБД.
Масштабируемость
При увеличении количества хранимых объектов возникает необходимость увеличения размеров хранилища, а при увеличении числа клиентов – увеличение вычислительных мощностей системы. По этому, новая ОС должна разрабатываться с учетом возможности дальнейшей кластеризации (работы нескольких серверов в едином комплексе). Это позволит в дальнейшем объединять Хранилища нескольких структур (т.к. СУБД будет унифицировано) и возможно создать Единую Базу Данных, вплоть до ЕБД России.
Скорость обработки
В современном мире скорость работы систем во многом зависит от скорости передачи данных по каналам связи. В случае полной обработки на сервере. такая проблема снимается сама собой, но возникает вопрос увеличения количества «клиентов». Невозможно клиентов увеличивать до бесконечности. Также следует учесть, что специфика выборки и хранения, по выполняемым инструкциям, отличается от специфики обработки и представления, следовательно в оптимальном случае потребуется разработка новой линейки процессоров и структуры аппаратной части.
Надежность
Основные принципы надежного хранения и работы с данными давно отработаны и сформулированы. Это зеркалирование, кластеризация, и конечно же архивирование. Все эли функции достаточно понятны и естественно необходимы в любой ОС.
Разработка ОС с учетом тенденций будущего развития аппаратной части
В последнее время наноэлектроника идет семимильными шагами, процессоры перешагнули порог 14нм, а Российские «Эльбрусы» 65нм, на подходе энергонезависимая память нового поколения ReRam, по скорости превышающая SSD(NAND). Не секрет, что в твердотельных накопителях, в виду отсутствия операции Seek (поиск данных, сопровождающийся перемещением головки в жестком диске), выборка данных производится в разы быстрее, чем в Жестких Дисках. В следствии этого про ЖД с вращающимся шпинделем скоро можно будет забыть и ориентироваться на твердотельные накопители, а в случае с Оперативной Памятью, то ее, в свою очередь скоро заменит энергонезависимая ReRam (по крайней мере к моменту выпуска новой ОС). В связи с этим, оптимальнее разрабатывать новую ОС с учетом «сквозной» адресации памяти, без выделения оперативной памяти в отдельное устройство, хотя в настоящее время оперативку всё-таки выгодно использовать в качестве кэша. Но и эта необходимость отпадает, если в потоке перед самим объектом передать характеристики этого объекта (достаточно информацию о размере), для прогнозирования его размещения, а как говорилось ранее, в виду отсутствия Seek фрагментация ни как не скажется на скорости чтения-записи в хранилище.
Защищенность от вредоносных действий
Объектно-ориентированная ОС уже имеет ряд особенностей, делающих ее защищенной средой.
Первое это отсутствие ассемблера, он там просто не нужен. Ведь все математические функции сами являются объектами и хранятся в этой же базе в виде машинных кодов процессорных команд, а их вызов, это простой запрос в БД с параметрами. Например нам нужно просуммировать 5,3,1 – мы запрашиваем объект с параметрами — SUM(5,3,2), в свойствах этого объекта указанно, что это процессорная функция, в самом объекте хранятся команды какие регистры процессора задействовать, что с ними делать, и куда возвращать результат. Таким образом объект не создает конвейеров, потоков и несанкционированных обращений к устройствам компьютера.
Второе грамотное решение реализации ОС- это микроядерность, т.е. под каждый процесс создается свое виртуальное микроядро ОС, которое наделяется свойствами доступа только к заранее определенным объектам, а про все остальное это ядро просто «не знает». После выполнения действий и этот процесс, и это виртуальное микроядро «убиваются за ненужностью». Таким образом, процесс может существовать только в заранее заданных рамках и заранее заданное время. Данный подход делает бессмысленным написание вирусов, т.к. в рамках этих условий вирус может работать только сам с собой и не имеет доступа ни к каким ресурсам системы. Конечно у хакеров всегда будет возникать соблазн «заменить» объекты первого уровня (сами системные функции), чтобы они помимо основных задач, например суммирования,
выполняли бы еще чтото, но это уже вопрос грамотности и аккуратности самих разработчиков ОС и внимание к неоставлению «дырок» в системе, что тоже маловероятно т.к. предыдущий опыт показывает, что дырки как раз остаются из-за детских болезней совместимости со старым ПО, а доступ к системным объектам в режиме модификации имеет только сама система, да и то в специальном режиме (установка-обновление-удаление).
Возможность работы ОС в «облегченном» режиме для установки на персональный компьютер
В облегченном режиме все описанные задачи вполне могут выполняться на персональном компьютере, а отличие режима только в том, что в одновременно работает не несколько клиентов а один, что требует меньшей вычислительной мощности от пользовательской части ОС.
Совместимость с имеющейся аппаратной частью (железом)
Максимальная вычислительная мощность и применение специальных скоростных графических вычислителей (видеокарт) в современных компьютеров требуется игровым программам, и специальным программам обработки векторного пространства, например 3DS Studio, да и то в режимах просчета выходного изображения (Rendering), а еще для узкоспециализированных задач, например расчета реактивности ядерного реактора в реальном времени. Стандартная же, Корпоративная работа не подразумевает таких специальных возможностей. Отображение информации при корпоративной работе, как правило производится в стандартных режимах растровой графики. Эти режимы работы видеокарт стандартизированы для всех типов видеокарт и не требуют включения специальных скоростных режимов работы таковых, а именно под эти, специальные режимы и требуются специальные драйвера. Под стандартные же режимы требуется стандартный драйвер, работу с которым поддерживают все видеокарты (в чем мы убеждаемся при установке любой операционной системы, отображение графической информации вполне приемлемо происходит и до установки специальных драйверов). Да и для корпоративной работы не требуются дорогостоящие, специальные видеокарты со специальными скоростными видеопроцессорами.
Другой вопрос сканеры – принтеры – камеры и т.д. Во первых, все ети устройства так же работают со стандартными драйверами, может и не со 100% эффективностью, но для корпоративных задач уже достаточно, а во вторых при массовом применении новой ОС в России, любой заинтересованный в поставках производитель будет рад дать полное описание всех
используемых в устройствах функций, что позволит системным программистам новой ОС создать базовые классы объектов под это оборудование. А про физическое подключение итак все понятно, тенденции развития идут по пути универсальности – USB, Ethernet, Optic.
И так, описав базовые постулаты создания Новой ОС, мы можем приступить к ее графическому изображению.
Заключение.
В заключение стоит обратить внимание на то, что в мире уже есть ОС построенная по таким же принципам, это американская IBM i, корни которой уходят в ОС предыдущего поколения OS 400. Microsoft в свою очередь пыталась создать микроядерную систему, но она так и осталась на стадии экспериментальной, и к тому же отказаться от традиционной файловой структуры ей
весьма затруднительно, исходя из того самого шлейфа детских болезней. И конечно же если мы решили отказаться от детских болезней старых ОС, то следует подумать и об отказе от тех же детских болезней нынешних процессоров и подумать о разработке совершенно новой линейки процессоров, заточенных на работу именно с Новой ОС.
Наверное, в свете вышесказанного, у каждого, кто прочитал данную статью, появится понимание, почему все попытки выдать очередную модификацию Линукса за НОВУЮ РОССИЙСКУЮ ОС, у профессионалов ничего, кроме улыбки вызвать не могут. Разработка такой системы потребует труда многих профессионалов, умеющих мыслить не стандартно, а такие профи за копейки работать не будут. По этому, разработка Новой ОС – дорогостоящий и далеко не простой вопрос, хотя и решаемый.
Шарашов Константин Николаевич 8(926)24974 30 konstant21@mail.ru
Текст защищен авторскими правами и зарегистрирован, любая публикация текста разрешается только с указанием авторства.
Добавить комментарий