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

Ваш аккаунт

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

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

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

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

849
07 декабря 2001 года
Fopfop
22 / / 20.07.2000
Как написать свою ОС на Пасе, с использовснием асма?
Страницы:
265
07 декабря 2001 года
Gauss
975 / / 20.02.2000
Ядро на Паскале не напишешь, драйвера тоже, это все делается на asm.
849
07 декабря 2001 года
Fopfop
22 / / 20.07.2000
А почему, ведь там есть асмовские вставки?
Да и можно ли это сделать хотябы частично ( я просто не спец в асме )
849
07 декабря 2001 года
Fopfop
22 / / 20.07.2000
Помогите пожалуйста!!! Мне это не только интересно, но и нужно!!!
1.5K
07 декабря 2001 года
Arx
7 / / 20.07.2000
Значит так!
Если не знаешь асма ОС не напишешь по-любому.
Для чего нужен асм: для создания основы операционки, то есть ее ядра. Почему асм? Асм предоставляет для этого как раз самые удобные средства. Для обеспечения стабильности, производительности и безопасности ядро должно быть именно на асме. Хотя для меня все еще остается загадкой то, что Линус Торвальдс умудрился написать Linux на С, пусть даже с ассемблеровскими вставками. Я бы, например, писал на асме от начала и до конца. А для создания прикладных программ уже бы использовал язык высшего уровня.
Вобщем для тебя у меня совет один: не морочь себе этим щас голову. Сначала подучи паскаль, асм, с. Подрости до 5-го курса, прослушай курс лекций по операционным системам и только тогда ты поймешь как написать ОС. Поверь, кроме ОС есть еще куча всего интересного
849
08 декабря 2001 года
Fopfop
22 / / 20.07.2000
Асм я знаю, но не настолько, чтобы на нём кодить. Однако асмовские вставки в Паскале реализовать смогу. Ну помогите мне Плиииз, а то раскритиковались тут!!!. "Хотя для меня все еще остается загадкой то, что Линус Торвальдс умудрился написать Linux на С, пусть даже с ассемблеровскими вставками. "- а значит и я смогу!!!

[ Это Сообщение было отредактировано Fopfop в 2001-12-07 2152 ]
449
08 декабря 2001 года
Fantasist
124 / / 20.06.2000
С какой это радости надо писать прямо на асме? Вполне можно и на С. Ассемблерские вставки, конечно, все-равно пригодяться, но уж не так чтобы целиком.Я помочь не могу, чтобы писать операционку, нужно основательно изучить архитектуру железа и биоса.
849
08 декабря 2001 года
Fopfop
22 / / 20.07.2000
Вот, я же говорил, а вы мне не верили!!!!
849
08 декабря 2001 года
Fopfop
22 / / 20.07.2000
Может кто-нибудь всё таки поможет, а?
Аноним
Операционная система это прежде всего полностью самодостаточная программа. В идеале она должна сама себя устанавливать и запускать на любом оборудовании. Именно в оборудовании кроется невозможность создания ОС на ЯВУ. Поскольку сам ЦП тоже оборудование предусмотреть запуск ОС самой себя на процессоре с неизвестным заранее набором команд нельзя. Собственно, набор команд ЦП и распределение адресного пронстранства являются единственным ограничением. Все остальное можно описать на любом языке. Как это делается на Паскале можно увидеть в исходниках FreePascal (кроссплатфоменный компилятор написанный на самом себе)
1.4K
12 декабря 2001 года
Alex Key
5 / / 20.07.2000
Да.. прикольный миф..... Да невозможно на Паскале написать свою ОС!!! Копилятор ведь весь висин на Dos и использует ее функции!!! Это надо делать с полного нуля, использую только функции BIOS или чисто ресурсы ПК!
1.4K
12 декабря 2001 года
Alex Key
5 / / 20.07.2000
Да зачем тебе своя???? Издевайся на другими!!! Вставляй свои приколы... и будет она почти твоя!! Я недавно слышал, что одни кенты укоротили Windows 98 ножки до 5 MB!!! И все работало путем!!! Не благодарное это дело, делать свою ОС!
849
15 декабря 2001 года
Fopfop
22 / / 20.07.2000
Цитата:

On 2001-12-12 2043, Alex Key wrote
Да зачем тебе своя???? Издевайся на другими!!! Вставляй свои приколы... и будет она почти твоя!! Я недавно слышал, что одни кенты укоротили Windows 98 ножки до 5 MB!!! И все работало путем!!! Не благодарное это дело, делать свою ОС!


А мне попальцеватся перед корешами хотса!!!!!!!!

Аноним
ОС на паскале.... хммм....
Сейчас для всех - это просто слова, которые вообще ничего не значат...
Напиши конкретно для каких процов(как выше было сказано, ос 100% зависит от железа), для каких целей, какого типа(multi-user/single user)
какую filesystem ты хочешь юзать...
От всего этого зависит то что ты услышишь, потому что в понимании многих стандарт ос- что-то вроде windows: графический интерфейс, хотя на самом деле это не имеет отношения к ос....
а на каком паскале ты хочешь делать свою ось? Borland Pascal 7.0?? я не думаю, что скорость твоей оси будет вполне приемлимой..
p.s. ос - программа, которая загружается при старте компа, а BP генерит exeшники для dos'a, которого, возможно не будет, если тебе нужна полноценная ось - то геморроя на несколько ЛЕТ точно! я не сомневаюсь, что ты ни чем не хуже Линуса Торвальдса, но советую тебе ещё раз все обдумать как следует, и написать более конкретно твои требования
Аноним
Вот сдесь маленький пример ос
бут сектор+ядро выводяшее Hallo world $)
http//www.programme.ru/index.phtml?arch/012001/012001_1_1.htm

Писать свою ос можеш на чем хочеш хоть на VB $)) если найдеш под него или напишеш сам нормальный компилятор.
849
22 декабря 2001 года
Fopfop
22 / / 20.07.2000
Сенкс большой сенкс!!!
Аноним
...Тот же вопрос! Как написать ОС на ЯВУ?
Конкретно на Watcom C 11.0 . В принципе на С можно написать код, не использующий вызовы DOS.Проблема в другом. Компилер Вставляет в любую прогу (*.com//*.exe) стартовый код,использующий вызовы DOS (Определение версии,обьём доступной памяти, и.т.п.).
Кстати,пробовал подшить С-ишный *.obj к ядру ОС (*.asm) для Borlahd C, и Watcom C 16bit
ничего не вышло... (после некоторых изменений в опциях компилера прога всетаки скомпилилась, но искала свои переменные чёрт знает где),зато удалось подшить Watcom C 32.
правда он юзает int 31.
Так что если есть какието соображения по этому поводу пишите на мыло [EMAIL]htmme@yandex.ru[/EMAIL]
Muromec.

PS
Кстати Вульфенстейн 3D был написан на Borland C 3.1 под Protected mode с изменённым стартовым кодом.
1.5K
09 марта 2002 года
Arx
7 / / 20.07.2000
Вот ирония судьбы...
Буду писать ОС на Паскале
Не потому что мне этого хочется, а потому что меня заставляют.
Аноним
Цитата:

On 2001-12-18 1752, Anonymous wrote
Вот сдесь маленький пример ос
бут сектор+ядро выводяшее Hallo world $)
http//www.programme.ru/index.phtml?arch/012001/012001_1_1.htm

Писать свою ос можеш на чем хочеш хоть на VB $)) если найдеш под него или напишеш сам нормальный компилятор.



Именно так!!! Судя по качеству кода Windows, это Бейсик. Жалко, что не Кобол. Тогда бы работы по доводке Win2000 Мелкомягким хватило бы на ближайшую тысячу лет...

4
12 марта 2002 года
mike
3.7K / / 01.10.2002
Вот вам ОС на паскале

http//home.novgorod.ru/lab/index.php3?path=advprogr/os

я думаю, больше вы из него не выжмете.
Аноним
А вообще это интересно. Напиши мне на [EMAIL]slimeg@s-mail.ru[/EMAIL], то чего хочешь. Чего-нибудь накумекаем.
1.4K
27 августа 2002 года
selinoth
2 / / 20.06.2000
Цитата:

On 2001-12-07 2129, Fopfop wrote
Асм я знаю, но не настолько, чтобы на нём кодить. Однако асмовские вставки в Паскале реализовать смогу. Ну помогите мне Плиииз, а то раскритиковались тут!!!. "Хотя для меня все еще остается загадкой то, что Линус Торвальдс умудрился написать Linux на С, пусть даже с ассемблеровскими вставками. "- а значит и я смогу!!!

[ Это Сообщение было отредактировано Fopfop в 2001-12-07 2152 ]



Ги-ги, парнишка пишет на паскале и думает что он также крут как Линус Товальдс, откуда только такая самооценка! Да будет вам известно, что на сейчас 16-битные компилляторы используют только те программисты, которые собираются в будущем стать бомжами! Удачи вам! В принципе я рад, что такие тоже есть, а то какая бы конкуренция была! Про операционку на п-ле и ассемблерные вставки - классная шутка. Я даже представил себе как Билли вспотеет, узнав о таком потенциальном сопернике!

Аноним
Мне кажется, что все ограничение Паса - это только размер тех функций, которые будут ассоциироваться с прерываниями. Т.е. я имею в виду простенькую ОС, типа MSDOS. По большому счету язык значения не имеет. Хотя на Асме может быть и эффективней.
374
28 сентября 2002 года
Pennywise
158 / / 20.05.2000
Хотя для меня все еще остается загадкой то, что Линус Торвальдс умудрился написать Linux на С, пусть даже с ассемблеровскими вставками. "- а значит и я смогу!!!
[quote]

Если признаться...то мал я еще, что бы в такие серьезные споры вмешиваться.....но все таки пару слов..хочу чиркнуть....
........насколько мне известно С/C++ языки УНИВЕРСАЛЬНЫЕ...(типа можно реализовать любые задачи)....Pascal же...был задуман для обучения программированию (это конечно не делает его плохим языком, но все таки ограничения какие-то есть)... поэтому я думаю сравнение не совсем корректное.......
374
28 сентября 2002 года
Pennywise
158 / / 20.05.2000
Хотя для меня все еще остается загадкой то, что Линус Торвальдс умудрился написать Linux на С, пусть даже с ассемблеровскими вставками. "- а значит и я смогу!!!

[quote]

Если признаться...то мал я еще, что бы в такие серьезные споры вмешиваться.....но все таки пару слов..хочу чиркнуть....
........насколько мне известно С/C++ языки УНИВЕРСАЛЬНЫЕ...(типа можно реализовать любые задачи)....Pascal же...был задуман для обучения программированию (это конечно не делает его плохим языком, но все таки ограничения какие-то есть)... поэтому я думаю сравнение не совсем корректное.......
1.0K
02 октября 2002 года
MsDie
13 / / 20.06.2000
А если попробовать навешать на Dos или Linux какой - нибудь свои навороты ? С досом париться правда придётся - его исходников - то нет , а Линукс открыт .
540
13 октября 2002 года
AL C++ Programmer
36 / / 20.01.2000
Да будет вам известно, что написание ОС целиком на асме ушло в историю со времени написания Unix! (который был написан на C)

Сегодня на асме пишут только загрузочную часть + вставки для улучшения быстродействия, оптимизации и работы с железом. На С++ писать надо, ИМХО :)
363
15 октября 2002 года
Michael
132 / / 20.07.2000
Цитата:
Originally posted by MsDie
А если попробовать навешать на Dos или Linux какой - нибудь свои навороты ? С досом париться правда придётся - его исходников - то нет , а Линукс открыт .




Совершенствование Linux сегодня выглядит более предпочтительным, чем модернизация DOS.

А по вопросу сколько парится? С обеими системами работы много, чтобы довести их до интуитивно понятных, например, и в других направлениях работы с ними много.

Преимущество DOS - маленький размер, отсутствие многих подсистем (если это можно назвать преимуществом) Т.е. можно писать свои сокеты, свои менеджеры графики, свои почтовые демоны, и всё, что вашей душе угодно. Если сможете поднять такой проект, то ваша работа станет стандартом de-facto, и миллиарды пользователей будут такую продукцию использовать.

Преимущество Linux - Open Source, many developers. Уже сформировано много стандартов в Linux, а этот факт упрощает разработку, но замедляет продвижения новых программ-конкурентов.

Хотя экспериментировать в программировании можно и с DOS and Linux and whatever you want to!

Сегодня Microsoft лидирует на рынке Desktop OS!
Но за кем-то из нас - будущее!
Не упустите свой шанс!

2.5K
15 октября 2002 года
VVF
1 / / 15.10.2002
Взял Я в том году себе курсовик - ОС!
Мягко говоря рискнул!!!
Подошол к преподу с вопросом что читать с чего начинать (до сего момента я уже неплохо знал С и даже асм на уровне программ работы с винтом в защ. режиме) так вот, как ни странно первое что сказал мне препод: "Читай литературу о компиляторах" (!!!) "А зачем?" - спросил Я - "Я же не компилятор а ОС пишу!". "Нет для начала тебе нужен компилятор на котором Ты будеш писать свою ОС ... ". Вот и пишу до сего момента тот самый компилятор. Вообще то некоторая пародия на С++ получается, _почти_работает_. Что касается ОС то пока есть только загрузчик и некое не сформированное ядро. О оболочке и говорить не приходиться. Если до нового года закончу компилятор -- начну писать оболочку ОС.

А вообще что касаестя ОС на Паскале -- трудновато но можно, если "свой" Паскаль напишешь ... :)
2.4K
19 октября 2002 года
Tosha
2 / / 19.10.2002
А где можно взять исходники Unixa и по-подрбней русскую документацию?
363
22 октября 2002 года
Michael
132 / / 20.07.2000
Цитата:
Originally posted by Tosha
А где можно взять исходники Unixa и по-подрбней русскую документацию?



UNIX сейчас большой! Поэтому тебе нужно выбрать одну часть системы и попытаться разобраться с выбранным субъектом.

Ты можешь спросить у AT&T, Novell & UCB, за сколько они готовы тебе продать исподники UNIX. И посмотреть на "открытые" системы.

Русской документации нет и не будет, пока ты сам не возмёшься и не переведёшь. Не рассчитывай на других в переводе документации, т.к. профессионалам это не нужно, а любители ленятся сделать доброе дело. Как правило оригинал понимать легче чем перевод, хотя бывают исключения. Если переведёшь что-либо, оставь ссылки, мне будет интересно посмотреть!

Я желаю тебе всего наилучшего!

2.7K
27 октября 2002 года
nopik
2 / / 27.10.2002
Не надо смешивать КОМПИЛЯТОР и КОМПОНОВЩИК.
То, что в BP это одно и то же, еще не значит, что это - правило. Как раз наоборот :-)
Так что, написав процедуры, не использующие сервиса DOS/BIOS (BIOS может отсутствовать или быть специфичной - нормальная ОС должна это проверить до запуска) для ЛЮБОГО компилятора ЯВУ, достаточно скомпоновать их так, как надо либо одним из существующих, либо собственным компоновщиком (который может использовать как базу имеющуюся ОС до того, как будет написана версия для своей). Да и если они в одном флаконе - напишите утилиту, обрезающую начальные процедуры и таблицы перемещения и системных вызовов. Делов то! :-)
Только вот без умения оперировать кодами своего процессора при написании ОС не обойтись!
2.3K
21 ноября 2002 года
lord_alexus
3 / / 18.11.2002
В принципе, можно написать ос на всем, чем хочешь!!!
Скажите, что если писать на Бейсике, то это будет надстройка над Досом.(Windows точно писали на Qbasic:)(вопрос только - как откомпилировали))
А вообще - творческих удач тебе т.к. не чеи помочь не могу:)
2.7K
24 ноября 2002 года
nopik
2 / / 27.10.2002
Цитата:
Originally posted by lord_alexus
В принципе, можно написать ос на всем, чем хочешь!!!
Скажите, что если писать на Бейсике, то это будет надстройка над Досом.(Windows точно писали на Qbasic:)(вопрос только - как откомпилировали))
А вообще - творческих удач тебе т.к. не чеи помочь не могу:)


Хех... Windows рождалась на Паскале. Правда, тогда никто не думал, что это будет ОС. Её написали "в пику" GEM

379
29 ноября 2002 года
Fima
109 / / 07.11.2002
Нет ничего не возможного!!! Главное импровизировать :))
2.3K
06 января 2003 года
Mura-vey
7 / / 06.01.2003
А чё инсталяцию можно писать на пасе, а ядро на асме,я так и делал!
Цитата:
Originally posted by Fima
Нет ничего не возможного!!! Главное импровизировать :))

291
08 января 2003 года
gufy
703 / / 08.01.2003
А зачем нужно себя так ломать? Изучи С и Asm и пиши тихонько. Если это действительно кому-то надо. а на паскале писать ось - это же не по-русски. (при всем к нему уважении)
2.3K
11 января 2003 года
Mura-vey
7 / / 06.01.2003
Цитата:
Originally posted by gufy
А зачем нужно себя так ломать? Изучи С и Asm и пиши тихонько. Если это действительно кому-то надо. а на паскале писать ось - это же не по-русски. (при всем к нему уважении)



Забабахать рульную ось на асма, а на пасе скромную инсталлу из под доса :-))

363
11 января 2003 года
Michael
132 / / 20.07.2000
Цитата:
Originally posted by Mura-vey


Забабахать рульную ось на асма, а на пасе скромную инсталлу из под доса :-))




Ну зачем же над DOS так издеваться?

Тебе, что действутельно необходимо уставливать будущую систему из под DOS?

Не лучше ли, устанавливать систему методом простого копирования на первых порах, а потом написать свой Installer!

С уважением!

3.1K
12 января 2003 года
pardus
3 / / 12.01.2003
Смотрю я, вы тут "святые" войны разжигаете, а между тем за вас уже давно всё решили.

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

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

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

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

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

Компилятор языка и операционка распространяются бесплатно (кстати, в исходных текстах) http://www.oberon.ethz.ch/download.html
3.2K
13 января 2003 года
SaHacker
1 / / 13.01.2003
Кстати, о птичках! Да, Паскаль ничуть не хуже Си, НО!!! Си превосходно конвертится в Асм и затем транслируется... Паскаль... Все версии делают внутреннее преобразование в расчёте на target platform. Я давно задумал написать свою ОС на Пасе, посему пишу свою версию Паса, по возможностям приближенную хотя бы к Турбо Си 2.0. Собственно говоря, моя версия не является чистым компилятором - я пытаюсь конвертить Паскаль в Асм... Возможные варианты Асма - мелкомягкий Макро Ассемблер (вроде его бесплатным сделали), Борландовский ТАСМ в режиме Идеал и бесплатный Netwide ASM с бесплатным же компоновщиком типа val или freelink. Возможен также fasm из комплекта free DOS. В связи с чем встречный вопрос всем - кто подскажет алгоритм препроцессирования (развёртывания макросов)? Суть проста - куски кода объединяются в макропоследовательности и впоследствии развёртываются... ТАСМ поддерживает также рекурсивные вызовы макросов?
Чтобы было понятнее - лексемы Паса я анализирую и в промежуточный файл вставляю макросы своего препроцессора. После чего прохожусь препроцессором - и он развёртывает эти макросы в ассемблерный исходник. Кто может помочь?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог