OSDev

для всех
Текущее время: 21 окт 2017, 16:58

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: ОС "Фантом"
СообщениеДобавлено: 20 июл 2012, 18:46 
Аватара пользователя

Зарегистрирован: 28 май 2012, 23:44
Сообщения: 237
Откуда: Санкт-Петербург
Нашел время и посмотрел видео о "Фантоме" на CodeFreeze от начала и до конца, чему немало удивился.

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОС "Фантом"
СообщениеДобавлено: 20 июл 2012, 20:22 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1056
Пока буду писать комментарии по ходу просмотра видео.
20 мин. Слишком нудная.
Не понимаю зачем нужна сборка мусора. Кто будет определять что есть мусор, а что нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОС "Фантом"
СообщениеДобавлено: 20 июл 2012, 20:30 
Аватара пользователя

Зарегистрирован: 14 май 2012, 22:17
Сообщения: 96
pavia писал(а):
Не понимаю зачем нужна сборка мусора. Кто будет определять что есть мусор, а что нет?


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОС "Фантом"
СообщениеДобавлено: 20 июл 2012, 20:44 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1056
Ещё раз откуда берётся мусор?
Про хэнделы вообще не понял. :?: :?: :?:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОС "Фантом"
СообщениеДобавлено: 20 июл 2012, 20:49 

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОС "Фантом"
СообщениеДобавлено: 20 июл 2012, 21:20 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1056
Тогда зачем нужен сборщик мусора если у нас есть счётчик ссылок?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОС "Фантом"
СообщениеДобавлено: 20 июл 2012, 21:31 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 290
pavia писал(а):
Тогда зачем нужен сборщик мусора если у нас есть счётчик ссылок?


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОС "Фантом"
СообщениеДобавлено: 20 июл 2012, 21:32 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1314
Откуда: Зеленоград
pavia писал(а):
Тогда зачем нужен сборщик мусора если у нас есть счётчик ссылок?


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

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


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОС "Фантом"
СообщениеДобавлено: 20 июл 2012, 21:56 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1056
1:11 dz видимо напортачил с снепшотом а винит алокатор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОС "Фантом"
СообщениеДобавлено: 20 июл 2012, 22:03 
Аватара пользователя

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

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


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

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


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

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


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

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