OSDev
http://osdev.su/

Годная ОСь. Революционные идеи.
http://osdev.su/viewtopic.php?f=18&t=290
Страница 4 из 6

Автор:  hardreset [ 29 сен 2009, 22:25 ]
Заголовок сообщения:  Re: Годная ОСь. Революционные идеи.

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

Вот, что я выбрал:
загрузчик - grub
формат - ELF
язык - Си

Т.е. пишу виртуальную машину на Си, компилирую в формат ELF и загружаю с помощью grub.
Почему Си, почему не Лисп? Потому что на голом железе не запустится. Хотя нет, запустится, но для этого придется написать свой компилятор. Например, Losak - компилятор из Лиспа в Си. Но меня чета не прет писать компилятор, а использовать losak тоже не хочу. В общем, пока буду писать на Си, а там посмотрим, может и компилятор напишу.

Теперь, подробнее про реализацию виртуальной машины.
Я не буду использовать struct, как некоторые делают, когда пишут интерпретатор лиспа на Си, а просто буду работать со строками (char*). Какая от этого польза? Память экономиться, скорость выше (хотя это спорно), читать исходник легче (парадокс, но это действительно так), парсер в 10 строчек, кода меньше выходит.

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

ЗЫ. продолжение следует...

Автор:  hardreset [ 03 окт 2009, 14:14 ]
Заголовок сообщения:  Re^2: Годная ОСь. Революционные идеи.

Бля, позор мне, поддался соблазну... То что я написал в предыдущем сообщении неправильно. Не буду я использовать grub, не буду писать на Си. Напишу свой x86 ассемблер на scheme (точнее он уже написан), свой загрузчик на этом асме, свой компилятор и интерпретатор.

Автор:  hardreset [ 05 окт 2009, 17:15 ]
Заголовок сообщения:  Re^3: Годная ОСь. Революционные идеи.

ВСЕ!!! Оказываестя уже есть такая виртуальная машина. Полностью написана на scheme, со своим загрузчиком (тоже написаном на схеме). Называется DreamOS:
http://www.stripedgazelle.org/joey/dreamos.html

PS. Любителям ассемблера, зацените файлы asm86.scm и asm86macro.scm

Автор:  Гость [ 10 окт 2009, 06:00 ]
Заголовок сообщения:  Re^4: Годная ОСь. Революционные идеи.

ГОВНО и ХУЕТА!!!1

Автор:  hardreset [ 10 окт 2009, 10:47 ]
Заголовок сообщения:  Re^5: Годная ОСь. Революционные идеи.

Да, говно, согласен. Такой лисп ничем не лучше асма. Кароче, надо писать годный компилятор лиспа, а на нем потом уже ОСь.

Автор:  Гость [ 10 окт 2009, 12:56 ]
Заголовок сообщения:  Re^6: Годная ОСь. Революционные идеи.

ну а что лисп? и чем он так хорош? тем что на нем хуй что поймешь?

(mapcar #'fkt foo bar)
((a . 1)(b . 2)(c . 3)(d . 4))

(do ((x foo (cdr x))
(y bar (cdr y))
(z '() (cons (fkt (car x) (car y)) z)))
((or (null x) (null y))
(nreverse z)))
((a . 1)(b . 2)(c . 3)(d . 4))


ничево не получиться, потомучто проще надо.. проще..

Автор:  hardreset [ 10 окт 2009, 13:29 ]
Заголовок сообщения:  Re^7: Годная ОСь. Революционные идеи.

Куда уж проще, епт. А твой пример вполне ясен, только ты его хуево переписал )).

Автор:  Vort_ [ 10 окт 2009, 16:11 ]
Заголовок сообщения:  Re^8: Годная ОСь. Революционные идеи.

та что там схем, лисп... на брейнфаке пишите сразу :-D

Автор:  hardreset [ 10 окт 2009, 17:09 ]
Заголовок сообщения:  Re^9: Годная ОСь. Революционные идеи.

> та что там схем, лисп... на брейнфаке пишите сразу :-D
см. выше (не соответствует основным принципам).

2анонимус
иди туда, где ты этот пример скопипиздил и почитай, что такое цикл do, mapcar и все сразу поймешь.

Автор:  Vort_ [ 10 окт 2009, 18:45 ]
Заголовок сообщения:  Re^10: Годная ОСь. Революционные идеи.

бррр. дочитал до конца
вобщем... на лиспе мало кто сможет писать проги
привыкли уже к C++ и подобным ему
чтобы переучиться надо конкретно мозги вывернуть
да и текст получится трудноватым для понимания ("куча... скобочек")
насчет защиты, архитектуры и размера ядра... тут согласен
видел ОСьку на C#. нравится этот подход
только вот ничего толкового там пока там не реализовано
(или я плохо искал)

Страница 4 из 6 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/