Большое обновление Miraculix, главное нововведение - поддержка сети.

Версия 0.8.1 (Santa Catarina)

Основное:

- Поддержка сети
- Утилиты: ping, ipconfig, диспетчер задач
- Возможность создавать программы на С/C++
- HTTP-сервер

Что нового (подробно):

- Сетевая подсистема и драйвера портированы из KolibriOS.
- Поддержка консольных программ в графической среде.
- Добавлена возможность передачи строкового параметра при запуске программы
- Доработана функция создания и завершения процессов и потоков. Теперь, при завершении процесса, удаляются все созданные им потоки. А так же, все открытые сокеты.
- Добавлены консольные утилиты: PING, IPCONFIG, WGET (отображение HTTP)
- Диспетчер задач
- HTTP-сервер. Работает по умолчанию.

Улучшения:

- Множественные исправления в ядре и системных модулях (TM,MM,SubSys).
- Исправлен баг отображения курсора в драйвере мыши.
- Доработана консоль. Добавлены команды: tasklist, taskkill, kill. Режим console host. Возможность запуска внешних программ из командной строки (для отладки) - достаточно набрать "http://192.168.0.?/app.exe". Завершение консольной программы Ctrl-C.
- В рамках поддержки С/C+ программ, изменен функционал CreateProcess, выделение памяти под стек.
- Поддержка 16-битного режима графики. Благодаря чему, система теперь запускается и под VMWare.

Известные проблемы:

- Фатальная ошибка CreateProcess, при одновременном освобождении памяти.
- Неточные тайминги ping.
- Система все еще не справляется с большими TCP и ICMP нагрузками (при средней нагрузке система стабильна). UDP flood теста еще не было.
- Фатальная ошибка, при нехватке физической памяти.

TODO:

- Исправить фатальный баг CreateProcess & VMM_Free.
- Увеличение стабильности сети. Задача максимум: сохранять стабильность системы, при максимальных сетевых нагрузках.
- Добавить gethostbyname в API
- Создать Miraculix Messenger с шифрованием. Для начала, просто обмен сообщениями, позже - поддержка звонков.
- Поддержка большего количества сетевых адаптеров. Задача максимум: поддержка драйверов Windows.
- Исправить ошибку при нехватке памяти и выводить предупреждение.
- Добавить в API функцию подсчета количества выделенной памяти для программы (по PID) и использовать ее в диспетчере задач.
- Работа с дисками. Чтение/запись файлов. Для начала реализовать сетевые диски.
- Поддержка FTP и SMB (клиент и сервер).


> Обсудить на форуме