Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ОС на Паскале. Миф или реальность?

849
07 декабря 2001 года
Fopfop
22 / / 20.07.2000
Как написать свою ОС на Пасе, с использовснием асма?
Страницы:
3.1K
14 января 2003 года
pardus
3 / / 12.01.2003
Цитата:
Originally posted by SaHacker
Кстати, о птичках! Да, Паскаль ничуть не хуже Си, НО!!! Си превосходно конвертится в Асм и затем транслируется... Паскаль... Все версии делают внутреннее преобразование в расчёте на target platform.



На самом деле Паскаль конвертится в Асм гораздо лучше Си (из-за чёткой структурированности языка, что кстати позволяет иметь более быстрый однопроходный компилятор с лучшей оптимизацией), а вот реализация с таргет платформ,...
...так это всё идёт от Явы (точнее наоборот), от П-кода, который когда-то в далёкие 80-е Вирт придумал, чтобы не писать компиляторы под разные системы (вот когда появилась кросплатформенность)...

1.9K
16 июня 2003 года
WWTLF
35 / / 16.06.2003
Госпада программеры и те кто собирается ими стать, да будет вам известно, что на закате СССР существовал такой комп - "ПОИСК". Так вот у него даже в руководсве написано, что его ОС и компилятор бэйсика разработаны на паскале.

Другой вопрос какой Паскаль использовать?
Borland и Turbo для DOC конечно нельзя.

А как начсчет free pascal
TMT pascal
Irie pascal
Virtual Pascal
BDP- paccal
DPAS - pascal
32bit pascal for OS/2 ?

кстати там у когота ссылка битая была, на то где ОС на паскале достать можно.

Если кто знает где это можно зделать, просьба указать такуб ссылку.

Я точно знаю, что NASM есть возможность выполнять функия паскаля, а как это делается я не знаю, но если есть такая возможность то и ядро ОС написать на па-ле возможною...
1.9K
18 октября 2003 года
Volly
57 / / 18.10.2003
Windows 1 - 3.1 написаны на Паскале, все последующие -- на C и это уже давно не секрет. И этим все сказано :)
1.8K
21 октября 2003 года
DEMON_HUNTER
79 / / 20.10.2003
Вы ешё на бэёсике напишите.
ВЫ откройте любую книгу по програмированию на с и поитайте внимательно шо там написано. А написано там что код на с более быстрый и более компактный.
Паскаль изначально делался для обучения. А с он ведь вроде был сделан специально для написания юникса.
П.С
А можно ли написать ось вабше без асемблеровских вставок , чисто на с?
:???:
3.1K
23 октября 2003 года
man
38 / / 17.10.2003
Цитата:
Originally posted by pardus
Смотрю я, вы тут "святые" войны разжигаете, а между тем за вас уже давно всё решили.

ОС на Паскале реальность (года этак с 93), правда не совсем на Паскале, а на его потомке - Оберон называется.

Разработал Оберон и одноимённую ОС Никлаус Вирт (слышали про такого?). Писал он её в двоём со своим коллегой не много не мало, а 3 года. Причём в её исходниках нет НИ ОДНОЙ строчки на АСМЕ или каком-нибудь другом языке програмирования, кроме Оберона.

Сама ОС, вместе с компилятором и текстовым редактором (встроенными в ядро) занимает около 200Кб (двести килобайт). Для справки МИНИМАЛЬНОЕ из возможных ядер Линукса занимает около 300Кб (при этом ни о редакторе, тем более о компиляторе в Линуксе речи не идёт.

Больше того, на Си, а уж тем более Си++ я писать никому не советую. Это не только моё мнение - это мнение ведущих умов в области ЯВУ, таких как Вирт, Страуструп (тот самый), Хёсенбпёк и др.
Спросите почему? Потому что Си - дидактически и структурно не состоятельный язык, а уж как объектный - вообще жуткий монстр.
Лучшим трудом по Си и Си++ является книга Б. Страуструпа (800 страниц), в которой он пишет, что выучить Си полностью - невозможно, можно лишь выучить его отдельную часть и работать в ней. Си ещё не умер лишь потому, что у него есть огромная армия приверженцев, которые имеют против структурных языков (таких как Паскаль, Модула, Ада, Оберон) предубеждение, однако Ява (по сути Паскаль с синтаксисом Си) должна в скором времени изменить положение дел в пользу Паскаля.

Между тем описание полное Оберона, написанное Виртом занимает 16 (шестнадцать) страниц. Кроме того, Вирт написал книжку (около 100 страниц) про то, как он написал этот язык и операционку.

Компилятор языка и операционка распространяются бесплатно (кстати, в исходных текстах) http://www.oberon.ethz.ch/download.html



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

Ява - это тот же паскаль? Мягко говоря это несколько неверно. Во-первых паскаль не объектно-ориентированый, и даже не объектный. Object Pascal - другое дело, но как следует из названия он именно объектный, и на него нет ни одного стандарта, т.е. каждый может создать свой диалект. В отличии от Явы, там заправляет только Сан. Микрософт попытался было сделать своё отклонение, и итоге перешёл на NET вместе с#.

Такая убеждённость, что Паскаль (я против него ничего не имею, просто пользуюсь более серьёзными вещами) пуп земли, и всё из него произошло меня просто умиляет :D

Написание оси на паскале - это типа как построить самолёт из старой изношенной автомобильной резины

5.7K
04 ноября 2003 года
Proger
5 / / 04.11.2003
Часть кода (загрузчик) все равно придется писать на чистом ассемблере (вроде TASM, MASM или NASM.
:-(
314
10 ноября 2003 года
fanto
374 / / 15.02.2003
Более того- написавши асмовый загрузчик, нам пийдётся писать ещё и эмулятор ДОСа или систему прерываний делать ТОЧНО так же как и в ДОСе.Надо же как-то запускать то, что накомпилит ПАС!
Или же писать свой компилятор ПАСа. Но подумайте --стоит ли тратить ОГРОМНОЕ кол-во времени чтобы написать глючный компилятор хорошего языка, вместо того чтобы использовать проверенный временем ТАСМ...
То-то и оно...
239
17 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by fanto
Более того- написавши асмовый загрузчик, нам пийдётся писать ещё и эмулятор ДОСа или систему прерываний делать ТОЧНО так же как и в ДОСе.Надо же как-то запускать то, что накомпилит ПАС!
Или же писать свой компилятор ПАСа. Но подумайте --стоит ли тратить ОГРОМНОЕ кол-во времени чтобы написать глючный компилятор хорошего языка, вместо того чтобы использовать проверенный временем ТАСМ...
То-то и оно...



Не понимаю, зачем все это надо? Зачем писать уже существующую ОС? Ладно, понимал бы я вас, если бы она вас не устраивала по скорости или еще чему... но чем вам не нравятся сущ. ОС... в крайнем случае берете исходник Linux-а и переделывете что надо!...

6.0K
07 декабря 2003 года
Mitzn
5 / / 06.12.2003
правильно, нефиг [SIZE=3]велосипед[/SIZE] изобретать :)
2.2K
17 января 2004 года
Bair Logic
32 / / 16.04.2003
Я понемногу изобретаю Все на Creatos.narod.ru
1.8K
12 февраля 2004 года
MishaSt
170 / / 11.08.2003
Когда я пишу на бэйсике, я даже не согу представить, что он там на компилировал и наслинковал. Вы никогда не дебагили бэйсиковсие проги? Я дебагил. И видел, как это чудо работает. Паскаль в этом отношении гораздо лучше, но всё равно, он там вечно накомпилирует всякую чушь. А вот глядя на ассемблерный код, я могу представить, как это выглядело на С. А С++ опять же, страдает теме же проблеммами, что и паскаль и бэйсик. Поэтому я его не так люблю, нежели С. Да, если вы собрались писать GUI, то это можно писать на паскале, или на C++. Вообщем учитывайте иеархию низкоуровневости языков.
Assembler
C
Паскаль
C++
Дельфи
Бэйсик

Код, который генерит С, а потом его дизасмблированный код читается. И он генерирут довольно быстрый код. А почему не стоит писать ось на чистом асме, спросите AT&T, а конкретней создателей языка C. А ещё прочитайте первые главы книги Морриса Баха "Операционная система UNIX"
А кто-нибудь копался в классах MFC? Это просто ужас какой-то!
И действительно, есть много другх интересных вещей, помимо начинания писания новой оси, которая дальше вывода Hello world не дойдёт. Лучше напишите модуль к Linux, или к чему-нибудь ещё, то, что действительно нужно будет.
6.2K
12 июля 2004 года
prosto
34 / / 12.07.2004
Цитата:
Originally posted by Bair Logic
Я понемногу изобретаю Все на Creatos.narod.ru



Советую посмотреть ОС BlueBottle.
Извините ссылки не помню.
(Там и исходники есть)

15K
22 ноября 2005 года
rootlandor
1 / / 22.11.2005
А я вот поизвращалься на Pascal с многозадачностью на 10тыс. строк и начал писать на asm настоящую ось а потом достало и взялся писать не компилятор а транслятор из С++ в ассемблер, так как цель не геморой на мозгах, а мощный инструмент. Мне осталось только классы сделать да и всё! Использую я Nasm - в паре с ним мой транслятор чё хочешь сделает! Кстати тест на 1млн. однообразных блоков кода: time to preprocessing 00h:00m:02s:11ms
time to translating 00h:00m:07s:37ms
В трансляторе куча функций полностью на асме.
ASM надо любить и уважать - как никак язык процессора!
2.2K
23 ноября 2005 года
Brezhnev1980
156 / / 13.08.2005
Цитата:
Originally posted by rootlandor
А я вот поизвращалься на Pascal с многозадачностью на 10тыс. строк и начал писать на asm настоящую ось а потом достало и взялся писать не компилятор а транслятор из С++ в ассемблер, так как цель не геморой на мозгах, а мощный инструмент. Мне осталось только классы сделать да и всё! Использую я Nasm - в паре с ним мой транслятор чё хочешь сделает! Кстати тест на 1млн. однообразных блоков кода: time to preprocessing 00h:00m:02s:11ms
time to translating 00h:00m:07s:37ms
В трансляторе куча функций полностью на асме.
ASM надо любить и уважать - как никак язык процессора!


Это точно!
Кстати чем хорош этот НАСМ,слышал о нём,а так я на ФАСМЕ всё делаю!

2.2K
13 декабря 2005 года
Brezhnev1980
156 / / 13.08.2005
Всё можно написать,главное КАКОЙ компилятор паскаля иглавное,чтоб он прерывания ДОСА не хватал!
15K
20 декабря 2005 года
repavel
2 / / 19.12.2005
Вы по-моему отклонились от темы человек просил помочь ему в написании ОС а не тягомотину тут разводить
17K
05 мая 2006 года
iZen
2 / / 05.05.2006
Всё зависит от компилятора,да и на чем ты будеш писать загрузчик,если не на АССеМе?Попробуй БИНАРНЫЙ даже C шный код вложить в 512 байт.
Да и даже если вложеш,Какой формат исполняемого файла ядра? EXE? Чтоб его без кернела пригрузить, какой длины кодк должен быть?Так что -=[Assembler4Ever]=-!!!
551
05 мая 2006 года
Pavia
357 / / 22.04.2004
Цитата:
Originally posted by iZen
Всё зависит от компилятора,да и на чем ты будеш писать загрузчик,если не на АССеМе?Попробуй БИНАРНЫЙ даже C шный код вложить в 512 байт.
Да и даже если вложеш,Какой формат исполняемого файла ядра? EXE? Чтоб его без кернела пригрузить, какой длины кодк должен быть?Так что -=[Assembler4Ever]=-!!!


Ответ можно. Если хорошо поищещь по сайту, то найдешь исходники бут сектора на борланд паскале.

96K
23 декабря 2015 года
Руслан Попов
1 / / 23.12.2015
Ну можно но это будет сложно и будет на выходе exe а надо bin, а вот как превратить exe в bin я не знаю. Впрочем лучше писать на асме и си
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог