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)

Ненужно

Если публиковать новость хотя бы о каждом рабочем прототипе ОС, то это будет процентов 90 новостей. А тут только тип _планирует_ написать ОС. Ей-богу, обсудить как-будто больше нечего?

DesertFox
()
Ответ на: комментарий от true_admin
  • качаешь это и распаковываешь (это базовые файлы Фантома);
  • качаешь это и распаковываешь в тот же каталог (это диск для снепшотов);
  • потом качаешь это и это, после чего распаковываешь в тот же каталог, но в подкаталог tftp, заменяя файлы (это новое ядро и классы для него).

А потом запускаешь:

qemu -vga std -boot a -no-fd-bootchk -fda img/grubfloppy.img -hda snapcopy.img -hdb phantom.img -net nic,model=ne2k_pci -net user -tftp tftp -drive file=vio.img,if=virtio,format=raw -usb -usbdevice mouse
post-factum ★★★★★
()

Такую бы энергию - да в правильное русло.

Если он настолько крут, то пусть бы допилил линух или даже часть его компонентов. Да что там линух - POSIX-совместимую ОС, наработки в которой можно было бы без проблем интегрировать в тот самый линух.

Но... он напоминает Дон Кихота и ветряные мельницы. Т.е., ищет проблемы на пустом месте.

Хотя... запретить писать ему нельзя, остается только пожать плечами.

P.S. Вот бы Поттерингу кто запретил писать.

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от luke

Мне нравится, что, мол, 21й век, шишдовс 8 64 ultimate full edition, будущее и все такое, но в каждом бинарнике до сих пор есть строка «THIS PROGRAM CANNOT RUN UNDER DOS» или шо то в этом роде.

AlexCones ★★★
() автор топика
Ответ на: комментарий от post-factum

а РусОС не видел? там вроде совсем клиника.

dk-
()
Ответ на: комментарий от firestarter

их постоянно придумывает кто-нибудь и пытается реализовать. Большинство не осиливает доделать. А кто если и доделает, то она всё равно остаётся никому не нужна, т.к. уже есть работающие проверенные временем системы.

Естественный отбор. Это нормально.

Но автор рано начал писать про своё детище. Вот когда появится работающая альфа - тогда можно было бы и написать.

hobbit ★★★★★
()
Ответ на: комментарий от post-factum

Блестящее введение в Фантом

Даже на офсайте такой лаконичной вводной, по-моему, нет :)

hobbit ★★★★★
()
Ответ на: комментарий от post-factum

Автору Фантома, ЕМНИП, ещё больше.

Там хотя бы концепт принципиально отличный :)

KRoN73 ★★★★★
()

Кстати

рассчитана на современную архитектуру Intel64

Про ARM ему уже рассказали?

...Судя по комментам рассказали. Ответил «я смотрел в ту сторону, но пока оно меня не интересует».

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

А мог бы сделать так, чтобы из grub грузился emacs и, опа, ОС готова.

soomrack ★★★★★
()
Ответ на: комментарий от raycast

возьмем самую опасную папку system32

Самое опасное это ntldr в корне диска С, который грохают все с завидным постоянством

Satou ★★★★
()

Система рассчитана на современную архитектуру Intel64

Т.е, принципиально непереносима by design?

Перейти на C как можно быстрее

Разумно.

старых интерфейсах вроде PCI, IDE

Лолнет.

отказаться даже от поддержки стандартного BIOS в пользу UEFI

Отчего не coreboot?

Избегать использования GRUB

...и использовать coreboot для запуска ядра, а не писать свой принципиально новый загрузчик.

использовать схему URI: file://localhost/my_documents/
applications, configuration

Веб и MacOS головного мозга? Хотя

ни в коем случае не UNIX-подобное дерево папок

имеет смысл, дерево папок в Plan 9 сделано гораздо разумнее.

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

пхпшники. не грешили этим. они (мы) пишут свои цмс-ки и фреймворки. до ОС у нас руки не доходят :)

AndreyKl ★★★★★
()

Спасибо, посмеялся.

Вообще, у меня тогде когда-то были глобальные планы написать свою ось =) Думаю, все мы через это прошли.

Zhbert ★★★★★
()
Ответ на: комментарий от eugeno

Ну а почему не убить двух зайцев сразу и сделать все понятным как людям, так и спецам? Не думаю, что последний впадет в ступор от логичного именования директорий.

Akamanah ★★★★★
()
Ответ на: комментарий от Zhbert

Думаю, все мы через это прошли.

Нет. Бог миловал, я пропустил этот этап.

Sadler ★★★
()
Ответ на: комментарий от HerrWeigel

Опять же, ты судишь по себе. Посади какого-нибудь члена семьи, далекого от IT и пусть угадают с трех нот что содержится в той или иной папке. А ведь таких людей 95% минимум. Почему бы им не сделать жизнь легче? Ну вот я лично даже предположить не мог, что kdmrc лежит в /etc/kde4/kdm/kdmrc, пока не сделал locate. Кто попроще- сделает долгий и неудобный поиск через ФМ. А вот если бы расположение было интуитивным /configuration/kde/kdmrc, то такой проблемы в принципе бы не возникло.

Akamanah ★★★★★
()
Ответ на: комментарий от X10Dead

Ну так я не про маздайку говорил. Там все еще более по-идиотски, чем в posix. Одни витаминные диски чего стоят.

Akamanah ★★★★★
()

Нужно.

Поттерингофобам будет куда бежать.

J ★★★★★
()
Ответ на: комментарий от Akamanah

Ну вот представь, что ты первый раз за GNU/Linux. Сможешь собразить что в себе содержить /etc или /dev

Мне, к примеру, организация файлов в фс - первое что понравилось в линуксе на первый взгляд после ковыряний папок винды. Все коротко и ясно даже без книжек, всегда можно догадаться что где лежит.

например, непонятно, чем отличается /usr/bin от /usr/local/bin

/configuration – конфигурационные файлы

/system/configuration – конфигурационные системные файлы

Ну то есть опять та же ерунда, как будто у него сильно понятнее будет.

/documents – документы пользователя, /configuration – конфигурационные файлы

То есть система однопользовательская или для каждого пользователя будет куча папок вида /documents/user и /configuration/user

Пускай пишет, но если ему совсем никто помогать в дальнейшем не будет, то не взлетит. Слишком много нужно всего реализовать, а если писать с нуля, то займет много времени. Пока он будет все это писать уже выйдет какой нибудь USB4, чем нибудь другим заменят SATA и PCIe.

Hope ★★
()
Ответ на: комментарий от Hope

Мне, к примеру, организация файлов в фс - первое что понравилось в линуксе на первый взгляд после ковыряний папок винды.

После винды что угодно понравится. Но, ради объективности, стоит признать, что без курения манов и заучивания придется тыкаться как слепому котенку.

Akamanah ★★★★★
()
Ответ на: комментарий от Akamanah

Опять же, ты судишь по себе

Ну ты же так и сказал сделать.

Ну вот представь, что ты первый раз за GNU/Linux

К тому же, когда я увидел GNU/Linux я мог только кнопочки в винде тыкать. Да и сейчас не особо далеко от этого ушел.

HerrWeigel ★★★★
()
Ответ на: комментарий от raycast

В венде кстати если глянуть в системные папки - там вообще треш и угар. Туда юзера пускать - как макаке гранату.

Хрен ты угадал, возьмем самую опасную папку system32, хоть все либы там выдели и удали, они тут же появятся обратно, так что макаки с гранатой там не получится.

В system32 да. Но нагадить все равно легко. Шрифты снести например, реестр побить. Видел массу невероятных глюков, которые удавалось спровоцировать юзерам нашей конторы на их ноутах (на рабочих компах у них доступа такого, разумеется, нету): народ сносил дрова модемов, каким-то невероятным образом разом и ставил, и сносил (одновременно, часть программ говорила одно, а часть другое) раскладки, портили локализацию, просто «чистили диск от ненужных данных» со всеми вытекающими.

upcFrost ★★★★★
()

/configuration – конфигурационные файлы

/system/configuration – конфигурационные системные файлы

Кто там из дистростроителей кричал про /bin и /sbin?

upcFrost ★★★★★
()
Ответ на: комментарий от Akamanah

Ну вот представь, что ты первый раз за GNU/Linux. Сможешь собразить что в себе содержить /etc или /dev?

А зачем тебе это надо?

Попробуй нажать на домик, должно помочь.

sin_a ★★★★★
()
Ответ на: комментарий от upcFrost

эх, видать он фея, а все, кто придумал POSIX...

Он Д'Артаньян, а вот все остальные...

ekzotech ★★★★
()
Ответ на: комментарий от Akamanah

Зачем «члену семьи, далёкому от IT», знать про /etc/kde4/kdm/kdmrc? Кстати, вполне логичное расположение, не понимаю, что не так.

Xellos ★★★★★
()

Вполне обычные планы, что тут обсуждать?

Разве что писать на си систему с нуля нет большого смысла.

unsigned ★★★★
()

Задумка неплохая, но: 1. Нафантазировать ОС своей мечты - это одно, а написать её хоть в каком-то виде - совершенно другое. Он пока только мечтает. 2. Голая ОС никому не нужна, а, судя по его замашкам, его ос не будет никак совместима ни с одной из хоть сколько-нибудь популярных ОС + нет коммьюнити. Соответственно его ОС будет без софта еще очень-очень долгое время. 3. Идти по граблям винды, считая что твоя ОС будет единственной, не оглядываясь на окружающих, крайне глупо.

В общем-то делать хоть что-то лучше, чем ничего не делать, но врядли у него что-то получится.

gear ★★★
()
Ответ на: комментарий от registrant

Если отбросить петросянство, то странно, что его пост-POSIX не устроил, который без legacy-костылей. Или опять ему про него не рассказали? NIH, такой NIH.

X10Dead ★★★★★
()
Ответ на: комментарий от post-factum

пасиба.

с одной стороы авторы подобных проектов конечно вызывают уважение. с друго же... ну блин. никому не нужно же. (для работы)

dk-
()
Ответ на: комментарий от dk-

Потом этими наработками можно воспользоваться в более нормальных ОС. Как там в линуксе, суспендилку процессов уже прикрутили?

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