====== Функциональные характеристики и жизненный цикл VEOS ====== {{indexmenu_n>9}} ===== Функциональные характеристики ===== Операционная система VEOS (далее – VEOS), представляет собой совокупность интегрированных программ, созданных на основе ОС «Linux», и обеспечивает обработку, хранение и передачу информации в защищенной программной среде в круглосуточном режиме эксплуатации. VEOS обладает следующими функциональными характеристиками: * обеспечивает возможность обработки, хранения и передачи информации; * обеспечивает возможность функционирования в многозадачном режиме; * обеспечивает возможность масштабирования системы: возможна эксплуатация ОС как на физическом оборудовании, так и на виртуальной машине; * обеспечивает многопользовательский режим эксплуатации; * обеспечивает поддержку мультипроцессорных систем; * обеспечивает поддержку виртуальной памяти; * обеспечивает поддержку запуска виртуальных машин; * обеспечивает сетевую обработку данных, в том числе разграничение доступа к сетевым пакетам. VEOS поддерживает клиент-серверную архитектуру и может обслуживать процессы как в пределах одной компьютерной системы, так и процессы на других ПЭВМ через каналы передачи данных или сетевые соединения. VEOS состоит из набора компонентов предназначенных для реализации функциональных задач необходимых пользователям (должностным лицам для выполнения 5 определённых должностными инструкциями, повседневных действий) и поставляется в виде дистрибутива и комплекта эксплуатационной документации. В структуре VEOS можно выделить следующие функциональные элементы: * ядро ОС; * системные библиотеки; * утилиты и драйверы; * средства обеспечения информационной безопасности; * системные приложения; * средства обеспечения облачных и распределенных вычислений, средства виртуализации и системы хранения данных; * системы мониторинга и управления; * средства подготовки исполнимого кода; * средства версионного контроля исходного кода; * библиотеки подпрограмм (SDK); * среды разработки, тестирования и отладки; * интерактивные рабочие среды; * программные серверы; * системы управления базами данных; * командные интерпретаторы; * прикладное программное обеспечение общего назначения; * офисные приложения. Ядро VEOS управляет доступом к оперативной памяти, сети, дисковым и прочим внешним устройствам. Оно запускает и регистрирует процессы, управляет разделением времени между ними, реализует разграничение прав и определяет политику безопасности, обойти которую, не обращаясь к нему, нельзя. Ядро работает в режиме «супервизора», позволяющем ему иметь доступ сразу ко всей оперативной памяти и аппаратной таблице задач. Процессы запускаются в «режиме пользователя»: каждый привязан ядром к одной записи таблицы задач, в которой, в числе прочих данных, указано, к какой именно части оперативной памяти этот процесс имеет доступ. Ядро постоянно находится в памяти, выполняя системные вызовы – запросы от процессов на выполнение этих подпрограмм. Системные библиотеки – наборы программ (пакетов программ), выполняющие различные функциональные задачи и предназначенные для динамического подключения к работающим программам, которым необходимо выполнение этих задач. Серверные программы и приложения предоставляют пользователю услуги (почтовые службы, хранилище файлов, система управления базой данных, обеспечение документооборота, хранилище данных пользователей и так далее) в локальной или глобальной сети и обеспечивают их выполнение. В состав VEOS включены следующие дополнительные системные приложения: * архиваторы; * приложения для управления RPM-пакетами; * приложения резервного копирования; * приложения мониторинга системы; * приложения для работы с файлами; * приложения для настройки системы; * настройка параметров загрузки; * настройка оборудования; * настройка сети. ===== Жизненный цикл ===== В качестве технологического комплекса для выпуска VEOS используется инфраструктура на основе технологий сборки и поддержки свободного программного обеспечения Linux. Кроме того, данная инфраструктура позволяет обеспечить интеграцию в окружение операционной системы и поддержку программных продуктов различных разработчиков. Инфраструктура поддержки, разработки и обновления ПО включает в себя следующие компоненты ==== Репозиторий исходных кодов программ ==== В репозитории хранятся все исходные коды вместе с историей изменений. Обеспечивается ведение нескольких веток одного проекта как одним разработчиком, так и разными, в целях поддержки нескольких версий дистрибутива, а также нескольких дистрибутивов. Репозиторий исходных кодов интегрирован с системой сборки пакетов. ==== Система сборки пакетов ==== При сборке пакета из исходных кодов автоматически формируется виртуальная файловая система, гарантирующая воспроизводимость сборки независимо от конфигурации сборочной системы. Сборка пакетов в виртуальной среде позволяет фиксировать среду сборки, а также обеспечивает её безопасность. Система сборки интегрирована с репозиторием исходных кодов программ и позволяет отслеживать связь между собранными пакетами и исходным кодом, что упрощает тестирование и отладку решений. ==== Система распараллеливания сборки ==== Обеспечивает распределенную сборку пакетов на доступных компьютерных мощностях, что позволяет достигать оптимального времени сборки пакетов и, при необходимости, пересборки всего репозитория. ==== Единая система управления пакетами программ ==== Управление программным обеспечением осуществляется единой системой, представляющей ПО в виде так называемых пакетов и контролирующей зависимости между пакетами, включая версии пакетов. Наличие этой системы позволяет формировать дистрибутивы с контролированной замкнутостью по зависимостям между программными компонентами, а в дальнейшем – организовывать выборочную установку пакетов или их обновление, без нарушения целостности системы и без потери пользовательских настроек. ==== Единая система установки ==== Установка дистрибутива осуществляется единой настраиваемой системой, интегрированной с системой управления системными объектами и с системой управления пакетами. ==== Система генерации дистрибутивов ==== Данная система позволяет создавать инсталляционные образы дистрибутивов (наборы iso-образов CD или DVD) по файлу конфигурации (набору целевых пакетов) с учётом зависимостей между пакетами.