Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вс окт 21, 2018 22:20

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Место форта в ФортОС на мой взгляд (мнение Victor__v)
СообщениеДобавлено: Чт июн 07, 2018 19:53 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 634
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.
Требования к ОС:
1) Портируемость
2) подключение уже имеющихся драйверов сделанных для других ОС
3) многозадачность при наличии ядер
4) ФС
5) наличие консоли
...

Требование к Форт-системе:
Прямой шитый код (возможно свёрнутый)
Компактность

Распространение:
Мобильники

Требования к архитектуре:
Любая 16 бит и разрядность выше

Память:
минимум: какой? (может 256 кб?)

Начнём с конца.
От форта в форт-оси в конце останется только адресный интерпретатор и конвенция вызовов.
Т.е. нет полей имени, связи, интерпретатора, флагов и прочего интересного.
Тупо коды примитивов и адресного интерпретатора, который тоже примитив.
И на этом базисе будет скомпилирована ОСь и работать на ней же.

Для портирования будет достаточно переписать форт-примитивы и перекомпилировать форт-ось.
Естественно, код оси должен быть только на форте.

Дополнительно, если другой производитель дров, то драйвера тоже портировать/копировать (надеюсь, это не очень сложно).

На уровне пользователя:
Хардкор :)
консоль ждущая ввода команды
Цитата:
Звонить Вассерман


Цитата:
SMS Зая
Жду тебя
SMS;


Короче, всё что мог, всё представил :lol:

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Место форта в ФортОС на мой взгляд (мнение Victor__v)
СообщениеДобавлено: Пт июн 08, 2018 14:41 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6418
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
Эта тема уже неоднократно поднималась на форуме. Вопрос обычно состоит в том, что цель создания ФортОС оказывается выражена недостаточно четко. Из-за этого получается противоречивая картина с технической точки зрения.

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

Во-вторых, многие задачи, сводящиеся к вызову готовых функций, вполне приемлемо реализуются на bare metal. Послать СМС можно с GSM-модулем, который подключается даже к Arduino. Несложный интерпретатор консоли делается на огромном спектре языков. Если в системе нет JIT-компиляции и DSL, то где тут место Форту?


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 634
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.
Ну мне просто хочется попробовать написать ОСь для какого-либо мобильника. При этом я не знаю ни как устроена ОС (книгу соответ. скачал, буду разбираться) ни ассемблер гипотетической архитектуры (можно выучить, с фортом не проблема свой ассемблер запилить).

Насчёт драйверов спасибо. Будет над чем подумать.

Цитата:
Если в системе нет JIT-компиляции и DSL, то где тут место Форту?

Цитата:
Начнём с конца.
От форта в форт-оси в конце останется только адресный интерпретатор и конвенция вызовов.

Тупо кодовая база.
Цель форта в данном случае простота портирования ОС и меньший размер ценою производительности.

И никаких красивых идей всё есть слово, словарь и пр. По обстановке будем думать

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Место форта в ФортОС на мой взгляд (мнение Victor__v)
СообщениеДобавлено: Пн июл 02, 2018 02:01 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 223
Откуда: Москва
Благодарил (а): 25 раз.
Поблагодарили: 2 раз.
А что? Прекрасная идея! Только кто будет этим заниматься?
Удачно реализованная ОС, может пригодиться в учебных проектах,
а если повезет... Прекрасно работающая на ноутах и десктопах
Linux, в различных андроидах и всяких роутерах прямо скажем
не впечатлила.
Но важно
1) ОБЯЗАТЕЛЬНО работать с инструкцией halt.
Гонять процессор в цикле... За это надо развешивать
недопрограммистов на фонарях.
2) Сразу надо вводить понятие supervisor'a, даже если
его поначалу не надо будет реализовывать.
Иначе система останется игрушкой без всякого шанса на развитие.

Если первоначально решиться на некоторые компромисы, то можно
избавить себя от муторного написания разных драйверов.
Например, в реальном режиме можно читать секторы диска
используя прерывание BIOS. Я это делал самолично.
Возможно такие же функции BIOS есть и для сети.
На вскидку нагуглил. Как минимум есть технология PXE.
Есть еще другие сервисы, для работы с сетевой картой до загрузки OS
https://wiki.osdev.org/PXE
(внимательно не смотрел, но похоже то что нужно)
Надо только постоянно переключаться с защищенного в реальный режим,
что бы работать с bios. Это реально не страшно.
286 8 мегагерц 87 года прекрасно с этим справлялась, используя
286 dpmi борланд паскаля. Подтормаживала мышь чуть чуть.

Итак. Нужен 16 битный форт для дос
Эмулятор qemu, dosbox или что-нибудь еще
С его помощью проверяется работа с диском и сетью при помощи bios
Делается 16 битный форт для работы в реальном режиме уже в качестве ОС
Делается 32 битный форт для работы в защищенном режиме в качестве ОС

Переход в защищеный режим и обратно не сложен, я это тоже делал.
(По книге "асемблер Юров Хорошенко")
Да и в инете полно
https://wiki.osdev.org/Protected_Mode
https://wiki.osdev.org/Real_Mode

Для графики: очень легко программировать vesa режим, правда подзабыл немного.

То, что получилось, может совсем не мало! Работать с сетью например,
хоть и через задницу.

Можно найти старую материнку, старенькие, но исправные диски 40-80 гб и
собрать дома сетевой компьютер. Который может проснуться по таймеру, который
записан в смос и включить машинку для полива цветочков, используя
паралельный порт, к которому подсоеденино реле.
Или проснуть машинку с помощью технологии wakeOnLan, послав "магический"
пакет и использовать как файл сервер. Такая машинка загрузится за секунды,
так как компактная операционка.

И самое главное: Опубликовать статью на хабре в разделе DIY

https://habr.com/hub/DIY/
Если повезет, то в комментаторах отметится кто-нибудь из тех, кто копал
мобильные прошивки - может че и посоветует по поводу мобильных.
А вообще, есть вероятность заинтересовать проектом любителей DIY,
любителей самодельных операционок и кого-нибудь еще.

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Место форта в ФортОС на мой взгляд (мнение Victor__v)
СообщениеДобавлено: Пн июл 02, 2018 15:20 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 634
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.
По драйверам и библиотекам так думал:
Есть функция ядра по прерыванию она выдаёт значение на привилегированный сегмент доступный на чтение и исполнение в нём названия функций и код на вызов функций из другого привелигированного сегмента, который уже недоступен на чтение и исполнение.
При этом ядро также имеет свой сегмент с именами функций.
Надеюсь, не бред написал.

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Место форта в ФортОС на мой взгляд (мнение Victor__v)
СообщениеДобавлено: Вт июл 03, 2018 02:51 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6418
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
vikt писал(а):
Например, в реальном режиме можно читать секторы диска
используя прерывание BIOS. Я это делал самолично.

Тот еще аттракцион :) Поиграть так можно, но алгоритмические ошибки при попытке создания своих утилит могут легко порушить файловую систему. Или при отсутствии нормального восстановления после сбоев и ошибок диск опять же превратится либо в пустышку без возможности восстановить данные, либо в сборник мусора с потерянными цепочками кластеров (при его большом объеме проблемы будут сначала скрыты, зато потом накопятся). Так что оно красиво, но непрактично.

vikt писал(а):
Возможно такие же функции BIOS есть и для сети.
На вскидку нагуглил. Как минимум есть технология PXE.

И что там, кроме загрузки? Где TCP-то? Я уже не говорю, что до TCP надо прорваться через MAC-чипы разных производителей, у которых, для того чтобы добраться до буфера с IP-пакетом, нужно совершать самые разные действия.

vikt писал(а):
Делается 32 битный форт для работы в защищенном режиме в качестве ОС

vikt писал(а):
Для графики: очень легко программировать vesa режим, правда подзабыл немного.

Делал, в конце 90-х. Работало с диском и графикой VESA. Ничего убирать было не надо, для защищенного режима существовал специальный программный интерфейс - шлюз. Все функции DOS были доступны, поэтому смысл дублировать все то же самое "зато на Форте" был нулевым.

vikt писал(а):
Можно найти старую материнку, старенькие, но исправные диски 40-80 гб и
собрать дома сетевой компьютер. Который может проснуться по таймеру, который
записан в смос и включить машинку для полива цветочков, используя
паралельный порт, к которому подсоеденино реле.


Это делается без ОС, на платформе начиная от ATTiny или младших STM32 с встроенным USB. Домашний компьютер сегодня нужен все же для задач другого уровня.

vikt писал(а):
И самое главное: Опубликовать статью на хабре в разделе DIY

Ооо, да, главное :))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB