LINUX.ORG.RU
Ответ на: комментарий от quantum-troll

С учётам библиотек и GHC, разумеется. Вместе они весят пару сотен мегабайт.

Так это toolchain, а зачем toolchain на машине пользователя? Сами программы - обычные ELF-ы, линкуемые с системными библиотеками.

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

Сами программы - обычные ELF-ы, линкуемые с системными библиотеками.

Не совсем же: afaik, обычно либы не собраны для динамической линковки (то есть еще не обкатано). Пустой бинарь будет ~1м. А если hint запихать, то все 30.

anonymous
()
Ответ на: комментарий от OldFatMan

Или это академический интерес?

Пока - чисто академический интерес. Хочется что-то вроде Forth.

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

Тогда есть смысл попробовать сам Forth. Его же можно «самомодифицировать» и получится уже не-Forth, но похоже. И исходный материал имеется - в смысле: реализации и под Линукс, и под венду.

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

Ёрничание это, уважаемый, самое натуральное ёрничание.

Несмотря на то, что лисп - это один из моих инструментов.

Религиозные чувства задеты были в этом треде.

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

Линукс нопейсан на ObjC? Уважаемый анон шутить изволит, однако!

anonymous
()
Ответ на: комментарий от pacify

Пока - чисто академический интерес. Хочется что-то вроде Forth.

если будущая ОС будет работать на шаговом двигателе, то ни асм ни С ни С++ негодятся

исходим из того где же будет работать будущая ОС

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

Старый свое дело знает, не сомневайся.

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

нужна ещё поддержка ассемблерных вставок для доступа к портам, регистрам типа CR*, IDTR, GDTR и т.п.

Не нужна. Доказано UNIX.

тролоолооо

Утипути.

когда последний раз во внутренности юникса смотрел?

Довольно давно, а ты?

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

исходим из того где же будет работать будущая ОС

Не знаю. Хочется построить что-нибудь вроде ОС из маленьких кирпичиков.
Но это - непривычно. За последнее время я очень привык к стандартной среде разработки (Windows, Linux),
где всё есть, и ничего, кроме поставленной задачи, решать особо и не требуется.

Вот, например, я сейчас не готов сказать - с чего надо начинать написание ОС.

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

До сих пор где-то валяются распечатки ассемблерных кусков из ядра и загрузчика. Ассемблер «адапитрованный» PDP-шный.

В Линуксе специально не смотрел, поэтому утверждать не берусь.

OldFatMan
()
Ответ на: комментарий от anonymous

обычно либы не собраны для динамической линковки

Можно же собрать, если для base system.

то есть еще не обкатано

Но работает (1 (haskell.org), 2 (haskell.org), 3 (well-typed.com), 4 (wordpress.com)).

Пустой бинарь будет ~1м.

У JHC - 16K. У GHC с -dynamic -shared -fPIC - 8K. Помню, мой не пустой бинарь весил 5MB (я статически собирал с помощью GHC, JHC не пробовал), аналогичная программа на си бы весила где-то 500KB.

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

До сих пор где-то валяются распечатки ассемблерных кусков из ядра и загрузчика. Ассемблер «адапитрованный» PDP-шный.

Код на ассемблере, естественно, был. Встраивания в Си ассемблерных команд - не было. Ну или ссылку давайте, на Unix version [567].

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

да с чего угодно: с разработки API для прикладных программ, с загрузчика, с планировщика, с менеджера памяти

каждый годный программист должен написать свою ОС ) По крайней мере, попытаться

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

вообще в интернете дофига туториалов по разработке своей ОС и исходников разной степени незавершенности

http://www.osdever.net

вот например

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

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

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

Но в общем ты прав: ковыряться в железках (в смысле: писать для них низкоуровневый софт) - это довольно-таки нудное и скучное занятие. Рутина.

Кому как, кого-то прет от этого )

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

На osdev.ru - глухо. Там админит Сергей Гриддасов (Grindars).
Самые активные были - Олег Федоров (legos) и Петр Зотов (whitequark),
но они ушли из osdev.

А с английским (разговорным) у меня - проблемы.

pacify ★★★★★
() автор топика

Любой язык хорош

Лишь бы руки не из одного места были, и мозги не загажены идеологической чепухой.

Pascal, C# (microsoft.com), Oberon, Limbo...

Короче, на любом или их комбинации, что, имхо, даже более предпочтительно.

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

Да. Ты прав. Пока рылся в старье, нашёл не только ассемблерные распечатки, но и листинги шедулера, подсистемы управления памятью, обработки прерываний, несколько драйверов (диски, мультиплексор, терминал). Есть ассемблерные модули, но нет ассемблерных вставок. Твоя правда.

OldFatMan
()
Ответ на: комментарий от pacify

Где глянуть БНФ этого языка?

такое пойдет?

program ::= | word <whitespace> program
word ::= <printable> | <printable> word
anonymous
()
Ответ на: комментарий от quasimoto

Если ты пишешь свободную ОС, и под неё кто-то будет писать программы, в её состав разумно включить библиотеки и компилятор. Так, например, в линуксе есть GCC, в *BSD — PCC или clang. Да и мало подходит хаскель для подобных задач.

quantum-troll ★★★★★
()

bash неплох:

gzip -cd linux-2.6.XX.tar.gz | tar xvf -
cd linux
make mrproper
make defconfig
make V=1 all

x905 ★★★★★
()

Годятся только си без плюсов и ассемблер, все остальное - от непонимания специфики. Жабопитонолиспы и прочая «остановите мир я подмету» не годится, т.к. ни один сборщик мусора не работает хорошо при недостатке памяти, и уж тем более не сможет нормально работать в реальном режиме, где никаких виртуальных памятей нету - привет, фрагментация.

rand
()
Ответ на: комментарий от anonymous

Основные плюсы д - в его мусороубощике и синтаксическом сахарке, а какой может быть low-level с gc? Чтоб делать низкий уровень, надо будет писать, не полагаясь на него, поэтому преимущество теряется. Лучше си языка не было и нет пока, по-моему.

cdshines ★★★★★
()

написание операционной системы

ненужно </thread>

anonymous
()

емнип, ранние версии шиндошса писались на паскале. вот с тех пор и повелось.

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

Потому что речь идет об ОС, что в первую очередь подразумевает кернел.
А написание любого прикладного системного ПО мало чем отличается просто от прикладного ПО, поэтому там годится что угодно.
А так конечно, некоторые и смену обоев на нескучные называют «принципиально новой ОС» :)

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

Ядро точно так же работает с виртуальной памятью, как и юзерспейс

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