Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 28 мар 2024, 12:01

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Bare Metal BlackBox (Прототип)
СообщениеДобавлено: 06 апр 2018, 22:04 
Не в сети
Аватара пользователя

Сообщения: 67
Откуда: Equestria
Вот так вот упрлс. Сделал реализацю Kernel BlackBox работающего поверх голого железа без хост-системы.
В наличии всё, кроме корутин и юникода. Докучи, вместо стандартного аллокатора реализован TLSF.
Загрузчик говно, поэтому на реальной железке может не работать по причне выключенного Gate A20, неправильных параметров диска если сборка >64кб и/или не инициализированного видеорежима. В виртуалке слинкованная система может быть размером до 320 кб.

Сорцы и хеллворлд в комплекте. Для сборки требуется gnu assembler.

Вложение:
2018-04-06_21-52-19-screenshot.png
2018-04-06_21-52-19-screenshot.png [ 97.04 КБ | Просмотров: 10264 ]


ADDED: исходники грабить здесь: git


Последний раз редактировалось SovietPony 27 июн 2018, 19:11, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Bare Metal BlackBox (Прототип)
СообщениеДобавлено: 08 апр 2018, 19:15 
Не в сети
Администратор
Аватара пользователя

Сообщения: 108
Как я понял, это на виртуалке надо запускать?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Bare Metal BlackBox (Прототип)
СообщениеДобавлено: 08 апр 2018, 22:06 
Не в сети
Аватара пользователя

Сообщения: 67
Откуда: Equestria
ivan_denisov писал(а):
Как я понял, это на виртуалке надо запускать?

На реальном железе тоже можно, я загружаюсь с обычной флешки и лицезрею зависание/стектрейс/хеллворлд.

Я уже починил загрузчик, и слинкованные модули загружаются полностью(вроде бы) на рельном железе, но неведомая хрень портит память неведомо как - динамическая память не работает.
И отладить никак. Com кабеля нет, a lpt никак не получается завести под мезкой вендой. На каждый чих бегать с флешкой - удовольствие сомнительное. Как отлаживать на ноутбуках - вообще не имею понятия.

EDIT: всё как обычно, обнаружил что часть памяти ядра маплю в ебе мимо.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Bare Metal BlackBox (Прототип)
СообщениеДобавлено: 09 апр 2018, 07:40 
Не в сети
Администратор
Аватара пользователя

Сообщения: 108
Планируете брать какие-то драйвера из Native Oberon? A2?

Есть несколько энтузиастов, которые копаются сейчас на нижнем уровне системы с Обероном. Часть обсуждений ведутся в Slack. Сейчас вот про файловые системы в том числе.
Andres Ramos опубликовал там ссылочку на свой блог, он победил USB-драйвер и FAT16.
http://www.nativeoberontutorials.de/ind ... eakthrough


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Bare Metal BlackBox (Прототип)
СообщениеДобавлено: 09 апр 2018, 10:14 
Не в сети

Сообщения: 22
SovietPony писал(а):
Сделал реализацию Kernel BlackBox работающего поверх голого железа без хост-системы
Идея очень хороша и полезна, если довести до ума. Но хочется понять, что Вы собираетесь делать.
- Планируете ли Вы делать режим ядра и пользовательский режим для приложений BlackBox?
- Если да, то что будет в части реализации планировщика, сколько пользовательских процессов, какая меж ними синхронизация, включая GC (все по сравнению с реализацией в A2)?
- Если нет, то для приложений реального времени - самое оно: Init, Start и жесткий цикл от таймера. Но там не слишком много лишнего в Kernel?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Bare Metal BlackBox (Прототип)
СообщениеДобавлено: 09 апр 2018, 11:38 
Не в сети
Аватара пользователя

Сообщения: 67
Откуда: Equestria
ivan_denisov:
До драйверов ещё далеко, но планов брать что-то готовое нету. Только велосипеды!

Сервисов вроде slack, телеграмов и подобных избегаю.



Дмитрий Дагаев:
Всё в режиме ядра + mmu для защиты стека и нулевой страницы.
Не исключаю поддержку многоядерных/многопроцессорных систем, если до этого вообще дойдёт.

А чего там лишнего?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Bare Metal BlackBox (Прототип)
СообщениеДобавлено: 09 апр 2018, 12:33 
Не в сети

Сообщения: 22
SovietPony писал(а):
А чего там лишнего?

Ожидал увидеть систему реального времени:
- Инициализацию (увидел), с запретом аллокирования по окончанию;
- Периодический Run , вызываемый прерыванием от системного таймера;
- Уход на перезагрузку со сбросом памяти при возникновении проблем (есть DoRestart).
IMHO, процедуры UnloadMod, Collect, FastCollect представляются лишними.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Bare Metal BlackBox (Прототип)
СообщениеДобавлено: 09 апр 2018, 16:11 
Не в сети
Аватара пользователя

Сообщения: 67
Откуда: Equestria
Дмитрий Дагаев писал(а):
Ожидал увидеть систему реального времени
Данный прототип делается для обычных пк.

Дмитрий Дагаев писал(а):
- Периодический Run , вызываемый прерыванием от системного таймера;
На x86-pc штук пять таймеров с разными возможностями и точностью. Какой из них должен быть системным? А ещё существуют всякие не стандартные девайсы.
Поэтому такая функциональность должна быть в драйвере таймера, а не в ядре.
То что сейчас таймер вообще используется - это только ради Time и Beep, которые тоже неплохо бы выпилить.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Bare Metal BlackBox (Прототип)
СообщениеДобавлено: 09 апр 2018, 16:46 
Не в сети

Сообщения: 22
SovietPony писал(а):
такая функциональность должна быть в драйвере таймера, а не в ядре.
То что сейчас таймер вообще используется - это только ради Time и Beep, которые тоже неплохо бы выпилить.

Вопрос не в том, какой и в каком месте таймер. Вопрос в том, что у Вас будет делать runtime, после того, как Вы напечатаете Hello,world? И для каких целей Вы предназначаете создаваемую систему?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Bare Metal BlackBox (Прототип)
СообщениеДобавлено: 09 апр 2018, 22:05 
Не в сети
Аватара пользователя

Сообщения: 67
Откуда: Equestria
Дмитрий Дагаев писал(а):
Вопрос в том, что у Вас будет делать runtime, после того, как Вы напечатаете Hello,world?

Ну название темы как бы говорит само за себя.
Дмитрий Дагаев писал(а):
И для каких целей Вы предназначаете создаваемую систему?

Всё делается just for fun %)


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

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


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

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club