LINUX.ORG.RU
ФорумTalks

Товарищ пишет свою ОС с блекджеком и без GRUB'а

 ,


0

2

Пардон за хабру, но доставляет:

План

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

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

Блог: http://gusc.lv/2012/11/im-writing-my-own-os/
Хабра: http://habrahabr.ru/post/160427/

P.S. Ему 29 и он бородат.
P.P.S. Комменты на хабре доставляют вдвойне.

★★★

Последнее исправление: CYB3R (всего исправлений: 1)
Ответ на: комментарий от Alsvartr

Но стоит только системе поддерживать чуть больше одной архитектуры процессора, сразу начинается хаос вроде lib + lib32 vs lib + lib64 vs lib32 + lib64, и страшно подумать, что было бы с mips и arm.
Да и вообще, кросс-компиляция в линуксе ад, ужас и кошмар.
http://aiju.de/rant/cross-compiling

quantum-troll ★★★★★
()
Ответ на: комментарий от AiFiLTr0

Российские программеры пытаются написать свою ОС в 10-11м классе, потом забивают.

Не все, мне скоро 40 лет, а я ещё пишу.

alman ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.