Латвийский разработчик Густ Каксис начал писать новую операционную систему. Нужно сказать, что Каксис не шутит. Ему 29 лет, то есть о юношеском максимализме речи не идёт. Программист серьёзный, он опубликовал план проекта, свои исследования в области операционных систем и упомянул, что у него есть некие коммерческие идеи, как можно использовать новую ОС.
Густ Каксис планирует освещать ход проекта в своём блоге.
План
1. Система рассчитана на современную архитектуру Intel64 (автор берёт за базу Ivy Bridge, CPU Core i5 третьего поколения с интегрированным GPU Intel HD 4000 и чипсетом B75 Express).
2. Избегать проблем с обратной совместимостью, выдать код как можно быстрее. Можно обойтись без защищённого режима, а сразу делать long mode.
3. Перейти на C как можно быстрее — автор говорит, что боится работать с ассемблером.
4. Можно забыть о старых интерфейсах вроде PCI, IDE, PS/2, последовательных и параллельных портах. Почему до сих пор в каждом справочнике упоминается такое архаичное устройство как флоппи-диск? План Каксиса идёт даже дальше — он планирует отказаться даже от поддержки стандартного BIOS в пользу UEFI. Итак, в данный момент он планирует поддерживать только современные интерфейсы: PCIe, SATA, USB.
5. Избегать использования GRUB или другого мультизагрузчика — сделать собственный загрузчик и разрешить только свою ОС в системе. Автор признаёт, что это эгоцентричный подход, но настаивает на своём.
Густ планирует использовать C для написания ядра и базовых процедур, C++ — для графического интерфейса и прочих вещей, которые удобнее сделать с помощью объектно-ориентированных абстракций. Скриптовые языки подходят для пользовательского раздела, так что можно будет писать программные приложения, которые будут глубоко интегрированы в ОС и выполняться без компиляции.
Для файловой системы и драйверов планируется использовать схему URI: file://localhost/my_documents/, но ни в коем случае не UNIX-подобное дерево папок, которое Густ считает слишком запутанным для простого пользователя (например, ему непонятно, чем отличается /usr/bin от /usr/local/bin и почему конфиги нужно хранить в /etc). Здесь всё будет проще:
- /applications – пользовательские приложения
- /configuration – конфигурационные файлы
- /documents – документы пользователя
- /system – системная директория, доступная только для драйверов и ядра
- /system/configuration – конфигурационные системные файлы
- /system/devices – директория для доступа к устройствам
- и так далее.
Другие технические подробности о плане Густа и ссылки на документацию по написанию ОС, которую он смог найти, см. в его блоге.
Комментарии
Не, очередной "кремлевский мечтатель". Лет через 10 может, и написал бы, но на 10 его не хватит.
Пока проект на уровне придумывания загрузчика. Причем, он собирается бросить совместимость с BIOS ради UEFI, но при этом рассматривает MBR, собирается загрузчик класть в сектора диска и т.п.
Вопросы типа "что такое GDT/IDT" и "как на С обработать прерывания" - внушают... О собственно системе, (т.е. ядре) мыслей (и знаний) никаких.
В части 3 появляются мысли типа "а не взять ли мне готовое ядро и загрузчик" . :)) Правда, их готовность тоже под вопросом...
Догнать крупнейшие ОС не получится. Над ними работают тысячи, тестируют - миллионы, затраты - как на освоение космоса. А какими станут эти оси (да и сами компьютеры) через лет 10 - трудно сказать даже. А наш разработчик к этому времени сможет только лишь воплотить идеи сегодняшнего дня. Флаг ему в руки:-)
>Догнать крупнейшие ОС не получится. Над ними работают тысячи, тестируют - миллионы, затраты - как на освоение космоса. А какими станут эти оси (да и сами компьютеры) через лет 10 - трудно сказать даже. А наш разработчик к этому времени сможет только лишь воплотить идеи сегодняшнего дня.
Но зачем ему миллионы тестеров? Он просто ОТБРАСЫВАЕТ Legacy.