Еще одна ОС на FreePascal

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

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

Еще одна ОС на FreePascal

Сообщение Sedov » 06.08.2009 14:25:57

Здавствуйте!
Существует проект ОС на паскале. Прототип был написан на Delphi. Однако из-за того что ОС из "просто попробовать" превратилась в нечто большее потребовалось перейти на бесплатные компиляторы. В связи с этим вопрос: какие модули в исходниках FreePascal отвечают за создание структур EXE-файла? Как и в каких модулях надо прописать возможность выбора компиляции под свою ОС?
Структура исполняемого файла моей ОС немного похожа на Win32 PE.
Документация которая есть мне ничего не дала. Хотя возможно я не там смотрел.
Использую FreePascal 2.2.X
И еще маленький вопросик. GO32v2 - я правильно понял, что создается 32 битный код для реального режима?
Заранее спасибо за ответы.

Добавлено спустя 2 часа 16 минут 48 секунд:
Кто-нить знает где можно найти исходники BinUtils?
Sedov
незнакомец
 
Сообщения: 3
Зарегистрирован: 06.08.2009 14:12:36

Re: Еще одна ОС на FreePascal

Сообщение скалогрыз » 06.08.2009 17:39:24

* писать ОСи - дело неблагодарное
* документации на FPC 2.x пока нет. Есть доки по FPC 1.x, код изменился, но есть много чего общего.
* посмотри реализацию внутреннего linker-a и writer-a для Windows. Если не ошибаюсь, то это fpcsrc/compiler/systems/t-win.pas
* исходники BinUtils можно найти здесь http://sourceforge.net/projects/mingw/
* писать ОСи - дело неблагодарное
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Еще одна ОС на FreePascal

Сообщение Bohdan » 07.08.2009 12:20:58

А какой смысл в ОС на FreePascal ?
Чем она будет отличатся от сотен других?
Тем более, что есть очень красивая и мощная операционка на Обероне(кто знает паскаль, тот за полчаса изучит оберон :wink: ) А2 (aka Aos, aka BlueBottle)в исходниках с поддержкой USB, IPv6 и т.д.
Bohdan
новенький
 
Сообщения: 87
Зарегистрирован: 11.05.2005 11:31:46
Откуда: Ukraine, Kyiv

Re: Еще одна ОС на FreePascal

Сообщение Sedov » 07.08.2009 13:21:53

Pascal для меня просто язык программирования высокого уровня. В качестве языка разработки ОС он был выбран из-за того что я не очень дружу с Си.
А по поводу зачем нужна еще одна ОС- разрабатываемая ОС по своей архитектуре существенно отличается от других ОС. Нестандартное решение пзволило резко увеличить стабильность системы. Надо теперь по нормальному все написать и начать тестирование. А то раньше у меня был "пионерский" подход к подобным задачам.
Sedov
незнакомец
 
Сообщения: 3
Зарегистрирован: 06.08.2009 14:12:36

Re: Еще одна ОС на FreePascal

Сообщение скалогрыз » 07.08.2009 15:08:09

Sedov писал(а):Нестандартное решение пзволило резко увеличить стабильность системы. Надо теперь по нормальному все написать и начать тестирование.

не в обиду автору.
но как может "нестандартное решение" резко увеличить стабильность системы?!
- ОСи не первый год пишут, переписывают и латают. Имеет смысл использовать чужой накопленный опыт, чем "нестандартные решения"

Если бы я писал ОСь, то вёл бы подробную документацию и приобщал бы, как можно больше людей к её разработке. Вдруг кто заранее найдёт и укажет на идеологическую ошибку?!

для тех кто занимается системной разработкой (тем более на FP) вот неплохой сайт:
http://www.osdev.org/
http://wiki.osdev.org/Pascal
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Еще одна ОС на FreePascal

Сообщение Bohdan » 07.08.2009 15:14:07

Sedov писал(а):Pascal для меня просто язык программирования высокого уровня. В качестве языка разработки ОС он был выбран из-за того что я не очень дружу с Си.

Гляньте АктивОберон, он вам понравится :wink:

Sedov писал(а):Нестандартное решение пзволило резко увеличить стабильность системы.

В А2 - стабильность на первом месте, там ее обеспечивает язык программирования, который к тому же поддерживает многопоточное программирование + это система реального времени.
Минимальная версия не много занимает - качать всего 7 мегабайт http://www.bluebottle.ethz.ch/downloads/A2CDmini.zip
Можно попробовать версию, которая работает поверх винды (не-эмулятор) http://www.inf.ethz.ch/personal/felixf/OS09/WinAosMini.zip
PS:Проектирование пользовательского интерфейса немного напоминает VCL.
Bohdan
новенький
 
Сообщения: 87
Зарегистрирован: 11.05.2005 11:31:46
Откуда: Ukraine, Kyiv

Re: Еще одна ОС на FreePascal

Сообщение скалогрыз » 07.08.2009 15:21:37

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

Из-за отсутствия *нужного* софта и *нужных* драйверов, линукс всё ещё составляет малую конкуренцию Винде. Хотя он вроде бы всем хорош ;)

------
Я бы посоветовал, каждому начинающему ОС-е писателю, задуматься о специальнпй утилите, которая портирует Windows драйвера в драйвера для его ОСи. Причём речи о "портировании исходников" не ведётся! Беруться скомпилированные дрова (x86 или x64) и переносятся )) Задачка трудоёмкая, но вполне(?!) решаемая ^^
В итоге проблем технического плана будет меньше )) А автора такой утилиты с руками оторвут организации вроде IBM
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Еще одна ОС на FreePascal

Сообщение Bohdan » 07.08.2009 15:53:29

скалогрыз писал(а):Проблема любой операционки, ни в её скорейшем написании, а в том, чтобы "населить" её софтом и драйверами под железо.
если под ОСь нету ни того, ни другого - она мертва.
Из-за отсутствия *нужного* софта и *нужных* драйверов, линукс всё ещё составляет малую конкуренцию Винде. Хотя он вроде бы всем хорош ;)

Да это конечно проблема, но там, где я предложил есть драйвера. И сами драйвера пишутся очень просто, хочется сказать, что проще не бывает :lol:
Например для тачскина писал:
Наследовал:
Код: Выделить всё
   TouchDriver= OBJECT (AosUsbHid.HidDriver);

и перекрыл:
Код: Выделить всё
      PROCEDURE HandleEvent(status : AosUsbdi.Status; actLen : LONGINT);

ну еще пару строчек кода

А на счет софта: так не всегда ж нужен офисный софт, если система используется под конкретную задачу (например встраиваема система), то нужен софт для решения этой задачи.
А конкурировать с МС и им подобным всегда будет очень тяжело, почти невозможно.
Bohdan
новенький
 
Сообщения: 87
Зарегистрирован: 11.05.2005 11:31:46
Откуда: Ukraine, Kyiv

Re: Еще одна ОС на FreePascal

Сообщение bw » 07.08.2009 17:19:03

> Проблема любой операционки, ни в её скорейшем написании, а в том, чтобы "населить" её софтом и драйверами под железо.
Это проблема не операционки, а пользователя этой операционки.

Sedov, никого не слушай, пиши :-).

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Re: Еще одна ОС на FreePascal

Сообщение Sedov » 07.08.2009 17:29:41

По поводу дров: да проблема существует. Решается следующими средствами:
а)подсистема окружения
б)переделка бинарника
в)переделка искодника (если конечно есть исходники)
г)виртуальный процессор
Все остальные программы- пишется подсистема окружения.
Sedov
незнакомец
 
Сообщения: 3
Зарегистрирован: 06.08.2009 14:12:36

Re: Еще одна ОС на FreePascal

Сообщение скалогрыз » 07.08.2009 17:59:34

bw писал(а):Sedov, никого не слушай, пиши :-).

только если это приносит радость и удовольствие! :D
как только перестанет - бросай это неблагодарное дело!

и вообще может имеет смысл присоединится? http://code.google.com/p/fpos/wiki/FPOSWiki

Один недавно чел, пытался собрать то ли загрузчик на основе этих исходников, то ли GRUB приделать.
его цель была подружить ReactOS-у и PAE режим... или что-то в этом духе )) правда причём тут FPOS..?!
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Еще одна ОС на FreePascal

Сообщение Logo » 07.08.2009 19:26:11

Ух ты, как раскудахтались...
Есть идея - пиши. Дойдет до нас, то тоже поддержим.
Успехов тебе, Sedov!
Потом будем говорить, "а мы тоже у истоков этой системы были..." :oops:
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Еще одна ОС на FreePascal

Сообщение int0 » 22.06.2017 09:43:40

скалогрыз писал(а):Я бы посоветовал, каждому начинающему ОС-е писателю, задуматься о специальнпй утилите, которая портирует Windows драйвера в драйвера для его ОСи. Причём речи о "портировании исходников" не ведётся! Беруться скомпилированные дрова (x86 или x64) и переносятся )) Задачка трудоёмкая, но вполне(?!) решаемая ^^


Такая утилита уже давно пишется, называется ReactOS
int0
незнакомец
 
Сообщения: 1
Зарегистрирован: 21.06.2017 16:52:38

Re: Еще одна ОС на FreePascal

Сообщение Лекс Айрин » 30.06.2017 09:22:43

int0, ты не прав. ReactOS просто использует тот же формат дров... фактически, это тот же FreeWindows
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Еще одна ОС на FreePascal

Сообщение serbod » 01.07.2017 21:58:38

скалогрыз писал(а):Я бы посоветовал, каждому начинающему ОС-е писателю, задуматься о специальнпй утилите, которая портирует Windows драйвера в драйвера для его ОСи. Причём речи о "портировании исходников" не ведётся! Беруться скомпилированные дрова (x86 или x64) и переносятся )) Задачка трудоёмкая, но вполне(?!) решаемая ^^


Дрова используют ядро оси и некоторые системные библиотеки, поэтому придется делать эмуляцию ядра и библиотек. А это нетривиальная задача.
Аватара пользователя
serbod
постоялец
 
Сообщения: 449
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск

След.

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

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

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

Рейтинг@Mail.ru