Страница 6 из 11

Re: ОС на FPC

СообщениеДобавлено: 15.05.2009 02:57:47
pasm
Mr.Smart писал(а):На fpc неполучится откомпилировать в 6 разрядном режиме.


А кокой компилятор паскаля позволяет выполнить такую задачу ??? (это конечно не имеет отношение к FPC, но к теме "Операционная система" немного имеет... )

Re: ОС на FPC

СообщениеДобавлено: 15.05.2009 11:40:45
Mr.Smart
Turbo Pascal, Quick Pascal :wink:

Re: ОС на FPC

СообщениеДобавлено: 15.05.2009 16:59:10
pasm
Mr.Smart писал(а):Turbo Pascal, Quick Pascal :wink:



Turbo Pascal - точно позволяет это делать ? я что-то не вижу как даже com-файл сделать :cry:
там еще были опции {$? +/-} - может как-то ими можно ? но эти опции и есть вроде все ниже...


Код: Выделить всё

Turbo Pascal  Version 7.0  Copyright (c) 1983,92 Borland International
Syntax: TPC [options] filename [options]
  -B = Build all units                -L = Link buffer on disk
  -D<syms> = Define conditionals      -M = Make modified units
  -E<path> = EXE/TPU directories      -O<path> = Object directories
  -F<seg>:<ofs> = Find error          -Q = Quiet compile
  -GD = Detailed map file             -T<path> = TPL/CFG directory
  -GP = Map file with publics         -U<path> = Unit directories
  -GS = Map file with segments        -V = Debug information in EXE
  -I<path> = Include directories      -$<dir> = Compiler directive
Compiler switches: -$<letter><state>  (defaults are shown below)
  A+ Word alignment       I+ I/O error checking   R- Range checking
  B- Full boolean eval    L- Local debug symbols  S+ Stack checking
  D- Debug information    N- 80x87 instructions   T- Typed pointers
  E+ 80x87 emulation      O- Overlays allowed     V- Strict var-strings
  F- Force FAR calls      P- Open string params   X+ Extended syntax
  G+ 80286 instructions   Q- Overflow checking
Memory sizes: -$M<stack>,<heapmin>,<heapmax>  (default: 16384,0,655360)

Re: ОС на FPC

СообщениеДобавлено: 15.05.2009 17:17:46
Sergei I. Gorelkin
Требованию 16-битности он удовлетворяет, а вот остальному едва ли.
Мы в далекие времена использовали компилятор Borland С++, который позволял задать tiny модель памяти, а потом результат обрабатывали утилитой exe2bin.

Re: ОС на FPC

СообщениеДобавлено: 15.05.2009 18:56:11
pasm
Sergei I. Gorelkin , а как создать tiny модель ?
прочитал что в тини модели по всей видимости не поддерживаются:
а что же там тогда останется :(

When using TinyRTL in your programs you can't use all the features that
the standard RTL has. Here's a list of removed features:

- All System unit procedures, such as WriteLn
- All runtime error checks (you have to use {$R-,S-,Q-,I-} mode)
- Return codes (ignore the runtime error messages that IDE shows)
- Floating-point data types (you have to use {$N-,E-} mode)
- Heap manager (allocate memory using DOS calls)
- String handling routines (including the + operation)
+ Some of the LongInt operations: *, /, shr, shl (they still work with Integer)
+ Large variable assignments (that involved a procedure call)
+ Virtual methods




удалось найти утилиту только exe2bin с freedos от Watcom,
пишет что у вас присутствует сегмент стека ... видать тини не получился...

в те далекие времена по крайней мере знали архитектуру компьютера и процессора...
а сейчас уже никого не волнует что там внутри делается...

Re: ОС на FPC

СообщениеДобавлено: 15.05.2009 20:39:41
Sergei I. Gorelkin
Tiny модель памяти и TinyRTL - совсем разные вещи :)
Зачем вообще понадобился 16-битный код?
Если это загрузчик для OC (кстати, он отнюдь не с нулевого адреса грузится на PC), его дешевле взять готовый. Ну или на ассемблере написать, как собственно все и делают.

Re: ОС на FPC

СообщениеДобавлено: 24.05.2009 11:39:20
Anat731
Это совершенно здравая идея "Создать маленькую простенькую ОС на языке высокого уровня из группы АЛГОЛо-подобных, хотя бы и паскаль (язык си не относится к таковым)". Инструментальной платформой может быть и MS W32. Это нужно в связи с тем, что часто возникает нужда бысто создать простую дешёвую программу для нестандартного компьютера (например, контроллера какого-то устройства на базе i386). Подобные вещи уже делались. Известна система Modula-2 Николаса Вирта, состоявшая из транслятора для языка Modula-2, а также набора языковых модулей, реализующих основные функции ОС. Кроме того имелся модуль ядра системы, написанный на Ассемблере целевой машины. Компоновщик объединял полученные на трансляторе объектные модули нужных модулей (системных и модулей разрабатываемой задачи) вместе с объектным модулем ядра.
Созданный компоновщиком загрузочный модуль в кодах машины-исполнителя годился для загрузки в голую машину (пустую, содержащую только загрузчик кода). С этой системой мне приходилось работать.
Подобная система может быть и универсальной: достаточно написать на ассемблере конкретной машины только коды для ядра ОС и загрузчика кода.
Примитивами (основными функциями) ядра ОС являются: очередь процессов, запуск и остановка процессов, переключение контекста от одного процесса к другому, реакция на внешние прерывания процессов, создание процессов. Все остальные желаемые функции создаваемой конкретной ОС могут программироваться на языке высокого уровня. Да, нужно еще написать на ассемблере библиотеку, используя которую, можно вызывать примитивы ядра из языковой программы.
Вообще говоря, меня интересуют до сих пор подобные проекты.
Неясно пока, годится ли для такого проекта язык freepascal?

Добавлено спустя 11 минут 10 секунд:
Хочу добавить. Чтобы создавать коды под любой процессор, вы сами можете на языке freepascal написать транслятор с любого вымышленного Вами (для конкретной задачи) языка на язык Ассемблера нужного Вам процессора. Подобные разработки я делал.

Re: ОС на FPC

СообщениеДобавлено: 23.11.2009 19:29:37
kikiriki0
разработка ОСи заморожена? :(

Re: ОС на FPC

СообщениеДобавлено: 23.11.2009 20:29:45
Mr.Smart

Re: ОС на FPC

СообщениеДобавлено: 08.04.2010 10:53:44
kovinik
Надо писать ОС под разные платформы, а не только под ПС. например под MCS-51.
Обязательно с поддержкой многозадачности (физической или виртуальной неважно) как на уровне ОС так и компилятора.
Отсюда вывод и ОС и компилятор должны быть ориентированы друг на друга.
Это можно легко сделать с помощью асма, но трудно на FPC.
Если получится придумать универсальную ОС то и компилятор FPC надо переделать под нее. (или создать новый).
Иначе асм.
Кстати у меня есть операционка простая под конроллер. Естественно GUI там нет.
Написана на асм. хотя можно написать на паскале, только не генерирует он 'правильный' код,
а без 'правильного' кода ОС невозможна в принципе.

Добавлено спустя 11 минут 55 секунд:
вообще можно написать, что угодно, только зачем ?

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

опыт показывает ос и компилятор взаимозависимы. а также 'железо'.
только концепции и алгоритмы общие. реализация разная.

Re: ОС на FPC

СообщениеДобавлено: 13.06.2010 09:55:28
Fluffy
зачем писать какую-то ОС, все равно лучше виндовса и линукса не сделать, если уж захотелось ОС сделать, лучше делайте на базе линукса как мандрива :)

Re: ОС на FPC

СообщениеДобавлено: 13.06.2010 11:19:13
NXP
Fluffy писал(а):если уж захотелось ОС сделать, лучше делайте на базе линукса как мандрива

Ой не надо. Уже наелись, этим поголовьем Linux'ов :D
Чем больше поголовье, тем меньше шансов у каждого из них занят доминирующее место, и соответственно привлечь простых блонд-лузеров.

Я бы хотел, простую ОС, вернее ядро типа "все в одном", являющуюся частью RTL приложения. Примером такого приложения служит ядро memtest, ramdisk которые запускаются через GRUB.
На С сложно и долго сделать что-то нужное, в таком виде. А вот если была бы простая и понятная заготовка на Pascal, все бы значительно упростилось.
Это была бы большая фора для компьютерных контроллеров, и однозадачных серверов, особенно если задача не сложная, но решить ее надо быстро и надежно.

Re: ОС на FPC

СообщениеДобавлено: 13.06.2010 14:03:44
Fluffy
понятно, я если честно мало разбираюсь в ОС, просто решил сумничать )) мне вот например убунта вообще не нравится, зато мандрива... удобная, красивая...

Re: ОС на FPC

СообщениеДобавлено: 13.06.2010 21:47:33
NXP
зато мандрива... удобная, красивая...

... и глюченная :D

Мандрайцы (не в обиду) действительно мало разбираются в ОС.
От себя добавлю, что наилучшей гибкостью, серьезностью, проработанностью, эргономичностью обладает только один дистрибутив - openSUSE. Пусть он не суперстабильный как SLES/SLED но это дань новаторству.
ЗЫ Мандриву на днях продавали, потом не продавали, потом хз. Вещь которая пошла по рукам - не вещь 8)

Re: ОС на FPC

СообщениеДобавлено: 13.06.2010 22:02:58
Fluffy
я мало разбираюсь в ОС, по мне лучше манлрива :) мне все равно она только для проверки сделанных программ ))