ОС на FPC

Обсуждение идей, архитектуры и проектов (как существующих, так и разрабатываемых).

Модераторы: Рождённый_в_СССР, Модераторы

Re: ОС на FPC

Сообщение Pavia » 27.10.2015 15:09:55

Может есть у кого завалящий "Hello Word", ну или хотя-бы: из под BIOS рисование ОДНОГО - ДВУХ ПИКСЕЛЕЙ из под FPC / Lazarus ?

Вам рано ОС писать. Вы даже эмулятор поставить не можете. Не говоря про установку всего прочего типа Grub
А в чём проблема набираем в Google "FPC + OS" попадаем в
http://wiki.freepascal.org/Operating_Sy ... ten_in_FPC
Далее выбираем что лучше нам подходит. Первая ссылка или последняя.
http://code.google.com/p/fpos/downloads ... p&can=2&q=
Далее читаем про
https://www.gnu.org/software/grub/manua ... iboot.html
Затем читаем про VBE.
из структуры vbe_mode_info читаем адрес LFB.
Далее школьная задача на двухмерные массивы. Рисование квадрата.

Лекс Айрин писал(а):Заниматься подобным я буду только после создания компилятора и библиотеки компонент, где будет, фактически, написано микроядро операционки.

И как успехи?
Аватара пользователя
Pavia
постоялец
 
Сообщения: 172
Зарегистрирован: 07.01.2011 12:46:51

Re: ОС на FPC

Сообщение Лекс Айрин » 27.10.2015 15:44:56

Pavia, пока только набор справочного материала. синтактический/лексический анализ я сделать явно смогу... первичный оптимизатор тоже. Вторичный уже с некоторой долей вероятности. проблемы в сборке исполняемого файла (но пути решения и справка в принципе есть -- нет понимания самой структуры заголовка) и кодогенератора. С библиотекой сложнее, но не думаю, что нерешаемо. Фактически, она должна будет писаться с самим компилятором.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4097
Зарегистрирован: 19.02.2013 16:54:51

Re: ОС на FPC

Сообщение скалогрыз » 27.10.2015 19:09:18

vitaly_l писал(а):Может есть у кого завалящий "Hello Word", ну или хотя-бы: из под BIOS рисование ОДНОГО - ДВУХ ПИКСЕЛЕЙ из под FPC / Lazarus ?

как Pavia, уже написал, тебе нужно смотреть Vesa, а точнее VBE. Рекомендую к прочтению, англоязычную статью.

Вместо того чтобы "рисовать из под BIOS-а" (хе-хе), рекомендую, тот же VBE использовать из Доса.
FPC в дос умеет. А интерфейс к Vesа-e уже описан в модуле vesa.pas. Из под винды не заработает (разве что XP и старше), так что можно смело ставить dosbox.

...а квадрат можно и в текстовом режиме нарисовать :)
скалогрыз
долгожитель
 
Сообщения: 1645
Зарегистрирован: 03.09.2008 02:36:48

Re: ОС на FPC

Сообщение vitaly_l » 27.10.2015 20:55:29

Вот что в программистах - не перестаёт удивлять художников, так это: :arrow: пишут программисты: код - кратко! И всего-то: 33 - 55 ясных и понятных строк, как выяснилось решают поставленную задачу. Но вот описание этих 33-55 строк... как правило, у программистов, занимает 333 - 555 листов, а иногда и больше... И вот это соотношение 55 компактных и продуманных строчек кода и убийственное описание к ним на 555 листах - поражает до глубины души!

Никакие OS я разрабатывать не собираюсь ( пока что ). Всем кто дал полезные ссылки :arrow: большое спасибо!

Однако, прошение о примере всё ещё в силе, т.к. из описаний, я понял как оно устроено и примерно понял какой код требуется, но в реальном виде ещё не пробовал. Поэтому, чтобы не изобретать велосипед, т.к. там много реальных камней подводных: если у кого есть из под BIOS: работающий "Hello Word", или рисование одного-нескольких пикселей, сделанных на FPC / Lazarus, то пожалуйста дайте посмотреть в качестве примера. Уверен такой пример будет интересен не только мне. Спасибо!

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3074
Зарегистрирован: 31.01.2012 16:41:41

Re: ОС на FPC

Сообщение Mirage » 27.10.2015 23:36:06

BIOS умеет в общем-то и пиксели рисовать. Только по-одному, что медленно.
Где-то 10 строчек на асме, включая инициализацию видеорежима. Но не помню я эти строчки.
Если интересно, то, как уже посоветовали, DOS+FPC+документация по BIOS в зубы и вперед.
Mirage
энтузиаст
 
Сообщения: 752
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: ОС на FPC

Сообщение vitaly_l » 28.10.2015 00:10:24

Mirage писал(а):Где-то 10 строчек на асме, включая инициализацию видеорежима. Но не помню я эти строчки.

По ссылке есть эти забытые Вами 10 строчек, и сказано следующее:
Код: Выделить всё
Функция 0Ch исполняется очень медленно, особенно при рисовании множества точек. Настоящие графические программы (такие как игры) записывают непосредственно в видеопамять, после того, как они рассчитали цвет и расположение точки. Но в нашем случае INT 10h является промежуточным шагом на пути к настоящему программированию графики.

Там по ссылке пример asm кода, но не сказано как именно его нужно запускать.
ASM... его железо сможет понимать только после установки ДОС ? или же железо язык asm из под BIOS тоже может понимать ? А в каком виде ?
Рассчитанный цвет и расположение точки - можно ли заносить в видео память прямо из под BIOS или же уже нужны драйвера видеокарты ?
Вообще странно, в примере из ASM обращается отдельно к X и отдельно к Y... а в С-шном примере, был один массив на XY (как для видео-потока).

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3074
Зарегистрирован: 31.01.2012 16:41:41

Re: ОС на FPC

Сообщение Padre_Mortius » 28.10.2015 00:33:08

vitaly_l, wiki.freepascal.org

Добавлено спустя 3 минуты 23 секунды:
и была еще DelphineOS. С очень большой вероятностью проекты мертвы, но подсмотреть некоторые реализации и примеры можно
Padre_Mortius
энтузиаст
 
Сообщения: 1267
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: ОС на FPC

Сообщение Umpire » 28.10.2015 08:23:12

Около года назад у меня тоже шило заиграло в одном месте покапаться в этом направлении, я даже нашел вконтакте автора данной ветки, чтоб выяснить как дела с проектом и почему заглохло. В двух словах он мне отписал так: что в последней версии StimulOS запускал одну из версий GNOME. Исходный код он продал предприятию на котором он работал. На вопрос продолжить открытую разработку или поделиться более свежими версиями нежели сейчас лежат на сайте перестал отвечать.
Umpire
незнакомец
 
Сообщения: 3
Зарегистрирован: 03.12.2014 14:55:22

Re: ОС на FPC

Сообщение Pavia » 28.10.2015 09:44:23

Umpire
1) ОС требует много сил и времени.
2) Написание ОС это дело самостоятельное.

vitaly_l
Там по ссылке пример asm кода, но не сказано как именно его нужно запускать.

Вы прежде чем за стол кушать садитесь инструкцию по пользованию ложкой и вилкой тоже читаете? Или своим умом справляетесь?
Код использует API DOS, поэтому запускать из неё. Если хотите учиться возьмите учебник по ассемблеру там всё расписано.

vitaly_l писал(а):ASM... его железо сможет понимать только после установки ДОС ? или же железо язык asm из под BIOS тоже может понимать ? А в каком виде ?

ASM это язык программирования.Нужен компилятор для получения исполняемого файла.Исполняемый файл исполняет центральный процессор. DOS умеет запускать исполняемые файлы в формате COM или EXE-MZ. Ассемблер не имеет непосредственного отношения к DOS и BIOS. Но они обычно идут рука за руку, так проще показать низкий уровень новичкам.
BIOS вызывает только код загрузчика из первого(нулевого) сектора диска. Оно и понятно BIOS есть сокращение от Boot Input Output System. Что переводиться как система ввода вывода загрузки.
Аватара пользователя
Pavia
постоялец
 
Сообщения: 172
Зарегистрирован: 07.01.2011 12:46:51

Re: ОС на FPC

Сообщение vitaly_l » 28.10.2015 13:23:13

Pavia писал(а):BIOS есть сокращение от Boot Input Output System... в формате COM или EXE-MZ

Нужно создавать файлы с заголовками: PE или ELF и т.п. и уже их запускать, так более точно. Мне понятно, это касается linux win и дос...
Ещё раз говорю, я не хочу писать linux или win подобную систему, если я хочу отказаться от PE и ELF. Как это делать? Как своё задать?

Получается, пользоваться алгоритмами bios, рисующими: окна и текст POST и BIOS - невозможно? Точно? А почему? Может Вы просто не знаете?
Или же, всё таки, можно использовать алгоритмы заложенные в bios? Как bios запускает POST? (https://en.wikipedia.org/wiki/Power-on_self-test)
Если bios запускает POST, а POST - это явно НАИсложнейшая программа. Значит он может запустить и мою программу. <= Как вот это делать?
Могу я положить в первый(нулевой) сектор диска, ссылку на код, который обратится к алгоритмам bios или POST? (т.к. там ограничение 446 байт)
Если BIOS читает первый сектор... то что ему мешает прочитать второй третий ... сотый сектор?


.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3074
Зарегистрирован: 31.01.2012 16:41:41

Re: ОС на FPC

Сообщение Лекс Айрин » 28.10.2015 13:52:50

vitaly_l, BIOS, сама по себе, может запустить только бутлоадер.

POST это аппаратно запускаемый тест самопроверки и настройки оборудования. Фактически, он запускается, еще до запуска BIOS.

Моментом запуска самого биоса служит сакральная фраза "Press DEL to erter SETUP"
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4097
Зарегистрирован: 19.02.2013 16:54:51

Re: ОС на FPC

Сообщение vitaly_l » 28.10.2015 13:58:51

Лекс Айрин писал(а):Моментом запуска самого биоса служит сакральная фраза

Ещё круче. Там ещё кто-то/что-то есть? А можно тогда узнать, кто или что, за программа - запускает BIOS?
Кто выводит сокральную фразу: "Press DEL to enter SETUP"... ??? Как нему достучаться?
Если ОНО читает первый сектор... то что ему мешает прочитать второй третий ... сотый сектор?
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3074
Зарегистрирован: 31.01.2012 16:41:41

Re: ОС на FPC

Сообщение Лекс Айрин » 28.10.2015 14:19:23

vitaly_l писал(а):Если ОНО читает первый сектор... то что ему мешает прочитать второй третий ... сотый сектор?


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

Добавлено спустя 1 минуту 4 секунды:
Теоретически, написать нужную Вам программу можно... но для этого придется создать миниОС.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 4097
Зарегистрирован: 19.02.2013 16:54:51

Re: ОС на FPC

Сообщение Pavia » 28.10.2015 14:37:43

vitaly_l писал(а):Нужно создавать файлы с заголовками: PE или ELF и т.п. и уже их запускать, так более точно. Мне понятно, это касается linux win и дос... Ещё раз говорю, я не хочу писать linux или win подобную систему, если я хочу отказаться от PE и ELF. Как это делать? Как своё задать?

Надо написать программу которая будет запускать другие программы из ваших файлов.

vitaly_l писал(а):Получается, пользоваться алгоритмами bios, рисующими: окна и текст POST и BIOS - невозможно? Точно? А почему? Может Вы просто не знаете?

Чем-то можно а чем то нельзя. Есть API интерфейс прикладных программ. Где описывается как прикладная программа может вызывать функции той или иной ОС. Если он не описан то вы вызвать их не можете.

vitaly_l писал(а):Или же, всё таки, можно использовать алгоритмы заложенные в bios? Как bios запускает POST?

POST состоит из аппаратной и программной части. Программная часть является составной частью BIOS'а.

vitaly_l писал(а):Если bios запускает POST, а POST - это явно НАИсложнейшая программа. Значит он может запустить и мою программу. <= Как вот это делать?

Нет не значит. Программа делает ровно то, что в ней записано и не как не больше. Она не умеет читать ваши мысли и исполнять ваши желания.

vitaly_l писал(а):Могу я положить в первый(нулевой) сектор диска, ссылку на код, который обратится к алгоритмам bios или POST? (т.к. там ограничение 446 байт)Если BIOS читает первый сектор... то что ему мешает прочитать второй третий ... сотый сектор?

Процессор выполняет команды. И только от них зависит как интерпретировать данные. А то что это ссылка он не узнает пока вы не напишите соответствующий код.
Ничего не мешает. Но есть стандарты и протоколы которым следует BIOS.
Аватара пользователя
Pavia
постоялец
 
Сообщения: 172
Зарегистрирован: 07.01.2011 12:46:51

Re: ОС на FPC

Сообщение Снег Север » 28.10.2015 14:39:41

vitaly_l писал(а):Кто выводит сокральную фразу: "Press DEL to enter SETUP"... ???

Прошитая на мамке микропрограмма из BIOS.
Аватара пользователя
Снег Север
энтузиаст
 
Сообщения: 949
Зарегистрирован: 27.11.2007 16:14:47

Пред.След.

Вернуться в Операционная система

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

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

Рейтинг@Mail.ru