====== netshe_internals ====== {{netshe_internals.odt|Original file}} ====== Техническая справка ====== ===== Общие сведения ===== ===== ===== NETSHe включает в себя набор программных модулей, библиотек и утилит реализующих: - Подсистему хранения конфигурации устройства - Подсистему инициализации устройства при загрузке в соответствии с заданной конфигурацией - Подсистему событий и обработчиков, реализующих реакцию устройства на изменение состояния системы в целом и отдельных ее компонентов в соответствие с конфигурацией и логикой работы. - Веб-интерфейс для управления устройством - Подсистемы взаимодействия в внешними системами мониторинга и управления на базе SNMP, Zabbix, TR-069, собственной. - Набор утилит диагностики/управления из командной строки - Набор патчей для ядра Линукс, сторонних программных пакетов реализующих дополнительный функционал и (или) обеспечивающий интеграцию с NETSHe. - Модифицированный OpenWRT SDK, предоставляющий код ядра Линукс, набор программных пакетов и систему сборки встроенного ПО. Результирующее встроенное ПО не совместимо с ПО OpenWRT. - Набор программных пакетов для SDK, реализующий связанный с NETSHe и (или) отсутствующий в OpenWRT функционал. Более 30 оригинальных программных пакетов, более 20 модифицированных программных пакетов. ===== Сведения об объемах и языках программирования ===== ===== ===== При написании программных пакетов и патчей использовались следующие языки программирования: - PHP (более 1200 файлов) - POSIX shell (несколько сотен файлов) - С (несколько сотен файлов) - С++ (несколько файлов) - HTML (несколько сотен файлов) - Javascript (несколько сотен файлов) - GNU Make (несколько десятков файлов) - GNU autoconf (несколько десятков файлов) Используются сборочные системы на основе GNU make и autoconf При разработке веб-интерфейса использован MVC подход с применением собственного фреймворка. Информация дана по состоянию на сентябрь 2020 года. ===== Системные требования ===== ===== ===== Минимальные системные требования для запуска функционального встроенного ПО на базе NETSHe — 64Мегабайта оперативной памяти и 8Мегабайт флэш, MIPS32 процессор 200МГц. Некоторые специфичные конфигурации могут работать в 32Мегабайтах оперативной памяти. Рекомендованные системные требования для запуска полнофункционального варианта встроенного ПО - 128Мегабайт оперативной памяти и 16Мегабайт флэш, MIPS32 процессор 450МГц. ===== Поддерживаемые архитектуры и вендоры ===== ===== ===== Поддерживаемые архитектуры процессоров: MIPS32, ARM v5, ARM v7, ARM v8 (AArch64), x86, x64. NETSHe работает на системах с чипами производства Intel, AMD, Qualcomm/Atheros, Mediatek, Realtek, Xilinx, Allwinner, Marvell, Broadcom.