Оберон-клуб «ВЄДАsoft» https://zx.oberon.org/forum/ |
|
Bare Metal BlackBox (Прототип) https://zx.oberon.org/forum/viewtopic.php?f=34&t=387 |
Страница 1 из 2 |
Автор: | SovietPony [ 06 апр 2018, 22:04 ] |
Заголовок сообщения: | Bare Metal BlackBox (Прототип) |
Вот так вот упрлс. Сделал реализацю Kernel BlackBox работающего поверх голого железа без хост-системы. В наличии всё, кроме корутин и юникода. Докучи, вместо стандартного аллокатора реализован TLSF. Загрузчик говно, поэтому на реальной железке может не работать по причне выключенного Gate A20, неправильных параметров диска если сборка >64кб и/или не инициализированного видеорежима. В виртуалке слинкованная система может быть размером до 320 кб. Сорцы и хеллворлд в комплекте. Для сборки требуется gnu assembler. Вложение: ADDED: исходники грабить здесь: git |
Автор: | ivan_denisov [ 08 апр 2018, 19:15 ] |
Заголовок сообщения: | Re: Bare Metal BlackBox (Прототип) |
Как я понял, это на виртуалке надо запускать? |
Автор: | SovietPony [ 08 апр 2018, 22:06 ] |
Заголовок сообщения: | Re: Bare Metal BlackBox (Прототип) |
ivan_denisov писал(а): Как я понял, это на виртуалке надо запускать? На реальном железе тоже можно, я загружаюсь с обычной флешки и лицезрею зависание/стектрейс/хеллворлд. Я уже починил загрузчик, и слинкованные модули загружаются полностью(вроде бы) на рельном железе, но неведомая хрень портит память неведомо как - динамическая память не работает. И отладить никак. Com кабеля нет, a lpt никак не получается завести под мезкой вендой. На каждый чих бегать с флешкой - удовольствие сомнительное. Как отлаживать на ноутбуках - вообще не имею понятия. EDIT: всё как обычно, обнаружил что часть памяти ядра маплю |
Автор: | ivan_denisov [ 09 апр 2018, 07:40 ] |
Заголовок сообщения: | Re: Bare Metal BlackBox (Прототип) |
Планируете брать какие-то драйвера из Native Oberon? A2? Есть несколько энтузиастов, которые копаются сейчас на нижнем уровне системы с Обероном. Часть обсуждений ведутся в Slack. Сейчас вот про файловые системы в том числе. Andres Ramos опубликовал там ссылочку на свой блог, он победил USB-драйвер и FAT16. http://www.nativeoberontutorials.de/ind ... eakthrough |
Автор: | Дмитрий Дагаев [ 09 апр 2018, 10:14 ] |
Заголовок сообщения: | Re: Bare Metal BlackBox (Прототип) |
SovietPony писал(а): Сделал реализацию Kernel BlackBox работающего поверх голого железа без хост-системы Идея очень хороша и полезна, если довести до ума. Но хочется понять, что Вы собираетесь делать.- Планируете ли Вы делать режим ядра и пользовательский режим для приложений BlackBox? - Если да, то что будет в части реализации планировщика, сколько пользовательских процессов, какая меж ними синхронизация, включая GC (все по сравнению с реализацией в A2)? - Если нет, то для приложений реального времени - самое оно: Init, Start и жесткий цикл от таймера. Но там не слишком много лишнего в Kernel? |
Автор: | SovietPony [ 09 апр 2018, 11:38 ] |
Заголовок сообщения: | Re: Bare Metal BlackBox (Прототип) |
ivan_denisov: До драйверов ещё далеко, но планов брать что-то готовое нету. Только велосипеды! Сервисов вроде slack, телеграмов и подобных избегаю. Дмитрий Дагаев: Всё в режиме ядра + mmu для защиты стека и нулевой страницы. Не исключаю поддержку многоядерных/многопроцессорных систем, если до этого вообще дойдёт. А чего там лишнего? |
Автор: | Дмитрий Дагаев [ 09 апр 2018, 12:33 ] |
Заголовок сообщения: | Re: Bare Metal BlackBox (Прототип) |
SovietPony писал(а): А чего там лишнего? Ожидал увидеть систему реального времени: - Инициализацию (увидел), с запретом аллокирования по окончанию; - Периодический Run , вызываемый прерыванием от системного таймера; - Уход на перезагрузку со сбросом памяти при возникновении проблем (есть DoRestart). IMHO, процедуры UnloadMod, Collect, FastCollect представляются лишними. |
Автор: | SovietPony [ 09 апр 2018, 16:11 ] |
Заголовок сообщения: | Re: Bare Metal BlackBox (Прототип) |
Дмитрий Дагаев писал(а): Ожидал увидеть систему реального времени Данный прототип делается для обычных пк.Дмитрий Дагаев писал(а): - Периодический Run , вызываемый прерыванием от системного таймера; На x86-pc штук пять таймеров с разными возможностями и точностью. Какой из них должен быть системным? А ещё существуют всякие не стандартные девайсы.Поэтому такая функциональность должна быть в драйвере таймера, а не в ядре. То что сейчас таймер вообще используется - это только ради Time и Beep, которые тоже неплохо бы выпилить. |
Автор: | Дмитрий Дагаев [ 09 апр 2018, 16:46 ] |
Заголовок сообщения: | Re: Bare Metal BlackBox (Прототип) |
SovietPony писал(а): такая функциональность должна быть в драйвере таймера, а не в ядре. То что сейчас таймер вообще используется - это только ради Time и Beep, которые тоже неплохо бы выпилить. Вопрос не в том, какой и в каком месте таймер. Вопрос в том, что у Вас будет делать runtime, после того, как Вы напечатаете Hello,world? И для каких целей Вы предназначаете создаваемую систему? |
Автор: | SovietPony [ 09 апр 2018, 22:05 ] |
Заголовок сообщения: | Re: Bare Metal BlackBox (Прототип) |
Дмитрий Дагаев писал(а): Вопрос в том, что у Вас будет делать runtime, после того, как Вы напечатаете Hello,world? Ну название темы как бы говорит само за себя. Дмитрий Дагаев писал(а): И для каких целей Вы предназначаете создаваемую систему? Всё делается just for fun %) |
Страница 1 из 2 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |