Программист из Латвии приступил к написанию современной ОС

в 12:02, , рубрики: UNIX, ненормальное программирование, операционная система, операционные системы, метки: ,

Латвийский разработчик Густ Каксис начал писать новую операционную систему. Нужно сказать, что Каксис не шутит. Ему 29 лет, то есть о юношеском максимализме речи не идёт. Программист серьёзный, он опубликовал план проекта, свои исследования в области операционных систем и упомянул, что у него есть некие коммерческие идеи, как можно использовать новую ОС.

Густ Каксис планирует освещать ход проекта в своём блоге.

План

1. Система рассчитана на современную архитектуру Intel64 (автор берёт за базу Ivy Bridge, CPU Core i5 третьего поколения с интегрированным GPU Intel HD 4000 и чипсетом B75 Express).

2. Избегать проблем с обратной совместимостью, выдать код как можно быстрее. Можно обойтись без защищённого режима, а сразу делать длительный релиз.

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 – директория для доступа к устройствам
  • и так далее.

Другие технические подробности о плане Густа и ссылки на документацию по написанию ОС, которую он смог найти, см. в его блоге.

Автор: alizar

Источник

Поделиться

* - обязательные к заполнению поля