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, 2, 3, 4).

Пустой бинарь будет ~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#, 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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.