|
@@ -0,0 +1,79 @@
|
|
|
|
|
+# Snowy OS: Легковесная Экспериментальная Операционная Система
|
|
|
|
|
+
|
|
|
|
|
+## Введение
|
|
|
|
|
+
|
|
|
|
|
+**Snowy OS** представляет собой **легковесную экспериментальную операционную систему**, разрабатываемую с акцентом на **минимализм**, **простоту кода** и **образовательные цели**. Проект ориентирован на демонстрацию базовых принципов построения операционных систем.
|
|
|
|
|
+
|
|
|
|
|
+**Основной целью Snowy OS** является создание **понятной и доступной** платформы для изучения системного программирования. Согласно данным репозитория проекта на **GitHub (2024)**, система разрабатывается с фокусом на **чистоту архитектуры** и **документированность кода**.
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+## Философия проекта
|
|
|
|
|
+
|
|
|
|
|
+**Snowy OS** следует принципу **"меньше — значит больше"**, избегая избыточной сложности в пользу **ясности** и **понятности**. Каждый компонент системы спроектирован с учётом образовательной ценности.
|
|
|
|
|
+
|
|
|
|
|
+**Ключевые принципы разработки**:
|
|
|
|
|
+- **Минимализм** — только необходимая функциональность
|
|
|
|
|
+- **Читаемость** — код как документация
|
|
|
|
|
+- **Модульность** — независимые компоненты системы
|
|
|
|
|
+- **Доступность** — низкий порог входа для изучения
|
|
|
|
|
+
|
|
|
|
|
+**Название "Snowy"** отражает концепцию **чистоты и простоты**, подобно свежевыпавшему снегу. Разработчики стремятся создать систему, свободную от **технического долга** и **избыточных абстракций**.
|
|
|
|
|
+
|
|
|
|
|
+## Архитектура системы
|
|
|
|
|
+
|
|
|
|
|
+**Snowy OS** использует **монолитную архитектуру ядра**, оптимизированную для простоты понимания. Компоненты системы тесно интегрированы, что упрощает изучение взаимодействия между ними.
|
|
|
|
|
+
|
|
|
|
|
+**Структура системы** включает:
|
|
|
|
|
+- **Загрузочный сектор** — начальная инициализация оборудования
|
|
|
|
|
+- **Ядро** — управление процессами и памятью
|
|
|
|
|
+- **Драйверы** — базовая поддержка устройств
|
|
|
|
|
+- **Shell** — командный интерфейс пользователя
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+## Технические характеристики
|
|
|
|
|
+
|
|
|
|
|
+**Snowy OS** ориентирована на архитектуру **x86** с возможностью расширения на **x86_64**. Система демонстрирует базовые механизмы работы операционных систем.
|
|
|
|
|
+
|
|
|
|
|
+| Компонент | Реализация | Особенности |
|
|
|
|
|
+|-----------|------------|-------------|
|
|
|
|
|
+| Язык разработки | C, Assembly | Низкоуровневый контроль |
|
|
|
|
|
+| Архитектура ядра | Монолитная | Простота понимания |
|
|
|
|
|
+| Целевая платформа | x86/x86_64 | Широкая совместимость |
|
|
|
|
|
+| Загрузчик | Собственный/GRUB | Гибкость запуска |
|
|
|
|
|
+| Файловая система | Базовая FAT | Минималистичная реализация |
|
|
|
|
|
+| Графика | Текстовый режим VGA | Простой вывод |
|
|
|
|
|
+
|
|
|
|
|
+## Реализованная функциональность
|
|
|
|
|
+
|
|
|
|
|
+**Snowy OS** включает **базовый набор возможностей**, достаточный для демонстрации ключевых концепций операционных систем.
|
|
|
|
|
+
|
|
|
|
|
+**Основные возможности**:
|
|
|
|
|
+- **Загрузка системы** — переход из реального режима в защищённый
|
|
|
|
|
+- **Управление памятью** — базовая аллокация и страничная организация
|
|
|
|
|
+- **Обработка прерываний** — IDT и обработчики исключений
|
|
|
|
|
+- **Клавиатурный ввод** — драйвер PS/2 клавиатуры
|
|
|
|
|
+- **Текстовый вывод** — VGA-буфер для отображения информации
|
|
|
|
|
+
|
|
|
|
|
+**Командная оболочка** Snowy OS предоставляет **базовые команды** для взаимодействия с системой, демонстрируя принципы работы пользовательского интерфейса.
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+## Образовательная ценность
|
|
|
|
|
+
|
|
|
|
|
+**Snowy OS** представляет значительный интерес для **студентов** и **начинающих системных программистов**. Проект позволяет изучить фундаментальные концепции без погружения в сложность production-систем.
|
|
|
|
|
+
|
|
|
|
|
+**Образовательные аспекты**:
|
|
|
|
|
+- **Процесс загрузки** — от BIOS до ядра
|
|
|
|
|
+- **Защищённый режим** — переключение режимов процессора
|
|
|
|
|
+- **Прерывания** — механизмы взаимодействия с оборудованием
|
|
|
|
|
+- **Память** — физическая и виртуальная адресация
|
|
|
|
|
+
|
|
|
|
|
+**Документация проекта** содержит подробные объяснения каждого компонента, что делает Snowy OS **отличной отправной точкой** для изучения разработки операционных систем.
|
|
|
|
|
+
|
|
|
|
|
+## Перспективы развития
|
|
|
|
|
+
|
|
|
|
|
+**Проект Snowy OS** продолжает развиваться в направлении расширения функциональности при сохранении **простоты** и **понятности**. Планируется добавление поддержки **многозадачности**, улучшение **файловой системы** и развитие **документации**.
|
|
|
|
|
+
|
|
|
|
|
+**Открытый исходный код** позволяет сообществу вносить вклад в развитие проекта и использовать его как основу для собственных экспериментов в области системного программирования.
|