OSDev

для всех
Текущее время: 19 апр 2024, 21:25

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: Годная ОСь. Революционные идеи.
СообщениеДобавлено: 29 сен 2009, 22:25 

Зарегистрирован: 09 авг 2009, 06:14
Сообщения: 25
Возможно мой выбор покажется не самым лучшим, если кто-то так считает, то высказывайтесь.

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

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 окт 2009, 14:14 

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 окт 2009, 17:15 

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 окт 2009, 06:00 
ГОВНО и ХУЕТА!!!1


Вернуться к началу
  
 
СообщениеДобавлено: 10 окт 2009, 10:47 

Зарегистрирован: 09 авг 2009, 06:14
Сообщения: 25
Да, говно, согласен. Такой лисп ничем не лучше асма. Кароче, надо писать годный компилятор лиспа, а на нем потом уже ОСь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 окт 2009, 12:56 
ну а что лисп? и чем он так хорош? тем что на нем хуй что поймешь?

(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))


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


Вернуться к началу
  
 
СообщениеДобавлено: 10 окт 2009, 13:29 

Зарегистрирован: 09 авг 2009, 06:14
Сообщения: 25
Куда уж проще, епт. А твой пример вполне ясен, только ты его хуево переписал )).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 окт 2009, 16:11 

Зарегистрирован: 30 сен 2009, 20:26
Сообщения: 12
та что там схем, лисп... на брейнфаке пишите сразу :-D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 окт 2009, 17:09 

Зарегистрирован: 09 авг 2009, 06:14
Сообщения: 25
> та что там схем, лисп... на брейнфаке пишите сразу :-D
см. выше (не соответствует основным принципам).

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 окт 2009, 18:45 

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB