OSDev
http://osdev.su/

ОС "Фантом"
http://osdev.su/viewtopic.php?f=8&t=604
Страница 1 из 2

Автор:  Freeman [ 20 июл 2012, 18:46 ]
Заголовок сообщения:  ОС "Фантом"

Нашел время и посмотрел видео о "Фантоме" на CodeFreeze от начала и до конца, чему немало удивился.

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

Поскольку я тоже разрабатываю объектно-ориентированную ОС, то являюсь заинтересованной стороной, и от подробных комментариев воздержусь. Скажу лишь, что своим выступлением Дмитрий блестяще подтвердил мои догадки по "Фантому", и теория фрактальной ОС работает.

Если у кого-то еще хватило терпения всё посмотреть и есть что сказать по существу, было бы интересно услышать комментарии.

Автор:  pavia [ 20 июл 2012, 20:22 ]
Заголовок сообщения:  Re: ОС "Фантом"

Пока буду писать комментарии по ходу просмотра видео.
20 мин. Слишком нудная.
Не понимаю зачем нужна сборка мусора. Кто будет определять что есть мусор, а что нет?

Автор:  D-S [ 20 июл 2012, 20:30 ]
Заголовок сообщения:  Re: ОС "Фантом"

pavia писал(а):
Не понимаю зачем нужна сборка мусора. Кто будет определять что есть мусор, а что нет?


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

Автор:  pavia [ 20 июл 2012, 20:44 ]
Заголовок сообщения:  Re: ОС "Фантом"

Ещё раз откуда берётся мусор?
Про хэнделы вообще не понял. :?: :?: :?:

Автор:  SII [ 20 июл 2012, 20:49 ]
Заголовок сообщения:  Re: ОС "Фантом"

В "управляемых" языках при динамическом создании нового объекта в распоряжение программиста передаётся не адрес (указатель) этого объекта, а некая абстрактная величина (хэндл). Все операции с объектом с точки зрения программиста, использующего такой язык, идут аналогично обычной работе с указателями, однако в реальности преобразование хэндл-адрес осуществляет компилятор, его РТЛ или ВМ. Кроме того, ведётся учёт ссылок, т.е. числа использования хэндла. Когда выясняется, что его значения больше нигде не хранятся, происходит автоматическое уничтожение объекта, к которому он относился, ведь этот объект стал мусором (на него больше ничто не указывает).

Кстати говоря, такой подход применяется не только в "управляемых" языках. Это _может иметь место_ (но не обязательно) в Аде: тамошние ссылочные типы (access types), хотя и аналогичны по своему использованию указателям, не обязательно являются адресами памяти, и за освобождением объектов обычно следит компилятор. (Вот GCC поступает просто: там объекты вообще никогда не освобождаются, поскольку они не осилили полноценную поддержку динамической памяти в Аде). Правда, там есть штатная возможность уничтожать такие объекты ручками, т.е. как в обычных языках.

Автор:  pavia [ 20 июл 2012, 21:20 ]
Заголовок сообщения:  Re: ОС "Фантом"

Тогда зачем нужен сборщик мусора если у нас есть счётчик ссылок?

Цитата:
не осилили полноценную поддержку динамической памяти в Аде
Не понял что значит полноценную?
Для меня динамическая память это GetMem и FreeMem.

Автор:  grindars [ 20 июл 2012, 21:31 ]
Заголовок сообщения:  Re: ОС "Фантом"

pavia писал(а):
Тогда зачем нужен сборщик мусора если у нас есть счётчик ссылок?


Например, чтобы устранять "острова" - группы объектов, которые ссылаются друг на друга, но на которых нет ссылок снаружи.

Автор:  SII [ 20 июл 2012, 21:32 ]
Заголовок сообщения:  Re: ОС "Фантом"

pavia писал(а):
Тогда зачем нужен сборщик мусора если у нас есть счётчик ссылок?


А кто будет следить за этим счётчиком, увеличивая и уменьшая его по мере необходимости? Кто будет освобождать память, когда счётчик обнулится?

pavia писал(а):
Не понял что значит полноценную?
Для меня динамическая память это GetMem и FreeMem.


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

Автор:  pavia [ 20 июл 2012, 21:56 ]
Заголовок сообщения:  Re: ОС "Фантом"

1:11 dz видимо напортачил с снепшотом а винит алокатор.

Автор:  Freeman [ 20 июл 2012, 22:03 ]
Заголовок сообщения:  Re: ОС "Фантом"

Mr.McD. писал(а):
Ведь врядли конечного пользователя должен радовать один только факт потрясающей воображение пересылки числа в регистр АХ, при запрещённых прерываниях или ещё что... Т.е. исходные коды, загрузчики и страницы памяти - это то, что должно появиться в самом конце, а не в начале разработки системы...

Mr.McD. писал это зимой. А теперь послушайте, что говорит Завалишин с 1:38:31. Это то немногое, в чем я с ним согласен.

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