| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Флейм > ОС на дельфи |
| Автор: GELEAF 28.10.2006, 12:51 |
| трудно ли сделать ос на дельфи.Раскажите кто знает |
| Автор: Snowy 28.10.2006, 13:05 |
| Delphi предназначена для создания приложений для Win32. OC на ней написать нельзя вообще. |
| Автор: Snowy 28.10.2006, 15:35 |
| На паскале можно. На дельфи - нельзя. Компилятор под это не заточен |
| Автор: Yanis 28.10.2006, 20:17 | ||
Уже сам вопрос, говорит о том, что автор не много понимает что и как работает в компьютере. |
| Автор: Dude03 28.10.2006, 23:18 | ||
1) Сорри, забыл подставить сначала словечко "IMHO" 2) Разве я сказал неправду??? Тогда укажи мне то место, где я неправ |
| Автор: bems 29.10.2006, 01:07 |
| Стартовый код делфы использует ВинАпи. Как запустится твой образ без реализации Апи Винды? |
| Автор: MAKCim 29.10.2006, 10:35 | ||||
На любом языке высокого уровня написать полностью ОС нельзя, потому как есть участки кода, которые прямо на этих языках не выразишь: обработка прерываний и исключений, переключение контекста (переключение виртквльного адресного пространства, сохранение регистров), переходы между сегментами с разными уровнями привилегий, ... Это все сильно зависит от аппаратной платформы и потому пишется на ассемблере конкретного процессора Добавлено @ 10:44
в таком контексте pascal так же приближен к железу, как и С - т. е никак все зависит от качества компилятора и его способности генерировать качественный код В этом отношении, думаю, C-компилятор выигрывает |
| Автор: Romikgy 29.10.2006, 10:54 |
такие слова из уст MAKCim кое что да значать |
| Автор: MAKCim 29.10.2006, 11:06 | ||
чтобы потом не было недразумений я не имел в виду что "Pascal круче С" хотел сказать лишь что язык к железу не имеет никакого отношения |
| Автор: Dude03 29.10.2006, 12:01 | ||||
Хех, ясен пень что нужен "чистый бинарник"=) без всяких стартовых кодов и PE-заголовков, с адресами, которые отсчитываются от конкретного смещения и тд и тп. И кстати: в своем первом посте в скобках я написал "Читать: Паскале" наверное не просто так
Я имел в виду, что в си указатели вездесущи, а в паскале разве тоже так? |
| Автор: Exception 29.10.2006, 12:33 |
| Так ведь помнится, мы же уже писали ось? На жаве и Flash, если не ошибаюсь, дело было - и там ещё в аквариуме рыбки плавали! |
| Автор: Snowy 29.10.2006, 12:41 |
| Exception, точно. Вот: http://forum.vingrad.ru/index.php?showtopic=61085&unread=1&view=all Правда до релиза так и не довели Ну нельзя на дельфи ОС написать. Чего тут дальше обсуждать?! |
| Автор: MAKCim 29.10.2006, 13:00 | ||
В С они интуитивно понятнее кроме того любое число может быть указателем (я к тому что указатели как синтаксическая конструкция только для удобства + несколько фич типа индексации) ps. надо тему закрывать |
| Автор: Snowy 29.10.2006, 13:14 | ||
Возможности те же ЗЫ. Перечитал топик про http://forum.vingrad.ru/index.php?showtopic=61085&unread=1&view=all. Снова хорошо поржал. Спасибо однозначно. |
| Автор: Sun 29.10.2006, 15:50 |
| Наверно всё таки можно. Так как на Delphi без проблем создать бинарный файл, останется только подготовить правильный массив бинарных данных, который будет в себя включать загрузчик с диска и низкоуровневые функции работы с файлами и портами ввода-вывода. Также надо в эту прослоечку включить поддержку WinAPI и вперёд! |
| Автор: vlgr 30.10.2006, 09:44 |
| http://homix.pytalhost.de/HomixOS/index.php http://homix.pytalhost.de/Tutorials/OSCoding/DelphiOS.php Дерзайте |
| Автор: Snowy 30.10.2006, 09:55 |
| vlgr, угу. Всего лишь нужно написать на асме загрузчик PE файлов и эмуляцию API вызовов Само ядро-то всё равно на асме. |
| Автор: vlgr 30.10.2006, 10:47 | ||||||
Да.
Зачем?
На Delphi с asm вставками. |
| Автор: Snowy 30.10.2006, 10:52 |
| Ядро не может быть на дельфи, т.к. бинарник - PE-файл Часть ядра может быть. Но основной загрузчик на асме. Кто-то должен обеспечит работоспособность PE-файлов. Иначе он просто не запустится. А одного эмулятора PE мало для запуска дельфи программы, если только не порезать system.pas |
| Автор: vlgr 30.10.2006, 11:02 | ||||||
Что мы считаем ядром?
Согласен. Один из вариантов (grub + 126 строк на fasm)
У Homix`а вместо system заглушка |