IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Pascal под DOS
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: yurpos
Jabber: yurpos

Репутация: -  0  +


Подскажите пожалуйста, можно ли Pascal загрузить без запуска WINDOWS? и если можно, то какую версию лучше использовать? и можно ли запустить его с флешки?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Большевик–концептуал
**

Группа: Пользователи
Сообщений: 114
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: octagram@jabber.ru
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  0  +


А если не Windows, то что?

Linux + School Pak для Linux, например, подойдёт?

Если действительно DOS, то всё тот же School Pak, если из него взять pak, вполне готов для настоящего DOS и отлаживался, например, на bochs.

Сообщение отредактировано: OCTAGRAM -


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: yurpos
Jabber: yurpos

Репутация: -  0  +


Цитата(OCTAGRAM @ 7.08.2017 17:14) *

А если не Windows, то что?


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

Сообщение отредактировано: yurpos -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Большевик–концептуал
**

Группа: Пользователи
Сообщений: 114
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: octagram@jabber.ru
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  0  +


Может быть, у вас такая проблема только из-за модуля Crt? В оригинале там был пустой цикл со счётчиком, потом на мощных машинах из-за такого подхода деление на 0 получилось, потом эту проблему как бы «починили», но общий подход остался прежним, задержки всё так же пустым циклом делаются, а реальные интервалы времени стали меньше.

Версий модуля Crt было несколько, и та, что в School Pak, ориентируется по системным часам, не ест CPU и делает задержку без уменьшений. Программы, собранные этой версией модуля, проверялись в NTVDM тоже. Попробуйте просто пересобрать и сравнить.


Эскизы прикрепленных изображений
Прикрепленное изображение Прикрепленное изображение

--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: yurpos
Jabber: yurpos

Репутация: -  0  +


Цитата(OCTAGRAM @ 7.08.2017 18:18) *

Может быть, у вас такая проблема только из-за модуля Crt?

я в программировании новичок), но то что я почитал наталкивает меня на мысль что проблема скорее всего в приоритетах потоков, которые организует винда и организовать их правильно (если это вообще возможно) врядли у меня получиться, поэтому напрашивается решение... исключить винду вооще

Сообщение отредактировано: yurpos -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Знаток
****

Группа: Пользователи
Сообщений: 454
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


Сейчас уже не существует старого форума wasm.ru, на котором обсуждалась тема, что DOS не является ОС реального времени. Причина - на материнской плате много устройств и периодически (несколько раз в секунду) возникают прерывания ACPI (кажется, так было написано), которые нарушают ход времени выполнения программы пользователя.

Но в плане формирования программным способом временнОй диаграммы на контактах LPT (или COM) порта, осциллограмма будет меньше искажена в DOS, чем в Windows.

Полгода-год назад на другом форуме я советовал взять другой инструмент для решения задачи. А именно, обратить внимание на ПЛК (свободно программируемые промышленные контроллеры) и ПР (программируемые реле).
ПЛК и ПР - это не Arduino и не отдельные микросхемы, а законченные изделия. Разница между ПЛК и ПР лишь в количестве входов/выходов и количеством поддерживаемых языков программирования - у ПР все проще.

Время программного цикла у ПЛК сравнительно не высоко - 5-20мс, т.е. с частотой 200-50Гц. Но больше и не требуется, т.к. предназначение ПЛК - управление через промежуточные реле (время сработки которых - 10-20мс) разными электроприводами.

У ПР не замерял, но думаю, что сопоставимо.

Причина, толкающая на отказ от DOS. Из-за проблем с драйверами к разному оборудованию, вы фактически превращаете компьютер за 1000 USD в ПЛК или ПР. В случае поломки компьютера будет трудно найти ему замену - на современных материнках нет LPT и COM. Также, оборудование, подключаемое к компьютеру будет подключено без гальванической развязки, что приведёт к быстрой, в течение года, поломке оборудования у заказчика.

А ПЛК и ПР уже предназначены для работы в неблагоприятных условиях помех и имеют индивидуальные или групповые изоляторы входов.

Примеры ПР - Siemens !Logo, ОВЕН ПР114, ОВЕН ПР200, Zelie.
Примеры ПЛК - найдёте в сети по фирмам Siemens, Omron, Beckoff, ОВЕН, Segnetic и многих других.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: yurpos
Jabber: yurpos

Репутация: -  0  +


Цитата(Федосеев Павел @ 8.08.2017 4:05) *

Время программного цикла у ПЛК сравнительно не высоко - 5-20мс, т.е. с частотой 200-50Гц. Но больше и не требуется

В том то и дело что очень даже требуется) программа не очень то похожа на модуль управления каким нибудь устройством, вернее ничего общего с ним не имеет...
но всё равно огромное Спасибо за подробный ответ! радует то что в DOS влияние на скорость выполнения программы (пока предположительно) всё же меньше... и сейчас меня интересует можно ли pascal загрузить с флешки под dos, как это раньше делалось с дискеты в 3,5 дюйма???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Большевик–концептуал
**

Группа: Пользователи
Сообщений: 114
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: octagram@jabber.ru
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  0  +


Насколько мне известно, BIOS/EFI умеют эмулировать флеш либо как HDD, либо как CD-ROM. Для первого сценария можно
  • установить VirtualBox или bochs
  • создать новый виртуальный компьютер, образ жёсткого диска не создавать
  • скачать и подключить как загрузочный образ дискеты PC-DOS (моё предпочтение) или MS-DOS или DOS'овской дискеты Windows 95/98/Millenium; крайне не советую FreeDOS, там какие-то глюки, файлы пропадают, перезагрузишься в нормальный DOS — снова есть, но с ошибками в файловой системе.
  • подключить в виртуальный компьютер флеш как HDD (возможно, потребуется вручную отмонтировать разделы из «Мой компьютер » Управление » Управление дисками», не отключая флешку как устройство)
  • включить виртуальный компьютер
  • если C: не виден, разбить этот HDD из виртуальной машины с помощью FDISK (данные потеряются).
  • если C: виден, но не читается (в частности, после FDISK), отформатировать раздел C: (данные потеряются) при помощи FORMAT C:
  • сделать загрузочным при помощи SYSTEM C:
  • выключить виртуальный компьютер
  • отключить флеш как устройство через значок в трее и подключить обратно
  • дописать на флеш файлы программы
  • пробовать перезагрузиться с флеш

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

Также полезно иметь под рукой dd для Windows, например, чтобы узнать, под каким именем нужно монтировать флеш как диск в bochs.

Интересный вопрос, с какой геометрией будет монтироваться диск BIOS'ом. Скорее всего, два из трёх параматеров максимальные, а третий определяется объёмом флеш, но это не точно. Для DOS, Windows 9x и Windows NT это критично. По крайней мере, Windows 2003 переносил с HP RAID в Xen снятым dd образом, и она не грузилась именно из-за отличий в геометрии. На загрузочных секторах пишутся не линейные смещения, как у Линукса и БСД, а трёхмерные координаты. Помог их пересчитать только TestDisk.

Для второго сценария (флеш как CD-ROM) нужно отмонтировать разделы из «Мой компьютер » Управление » Управление дисками», не отключая флешку как устройство, и записать образ ISO на флеш средствами dd.

dd — опасная штука, не зря её шутливо называют disk destroyer. На сайте советуют переименовать dd.exe в dd-removable.exe , чтобы запретить запись по ошибке в обычный жёсткий диск.


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: yurpos
Jabber: yurpos

Репутация: -  0  +


Цитата(OCTAGRAM @ 8.08.2017 13:39) *

Насколько мне известно

))) для меня пока это только тёмный лес, огромное спасибо за варианты помощи, буду пошагово пробовать всё это переварить, думаю по ходу ещё не один вопрос появится)
Кроме всего прочего всё это придётся перекачивать через DELPHI - PASCAL - DOS - PASCAL - DELPHI пока не закончиться процесс отладки

Сообщение отредактировано: yurpos -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Знаток
****

Группа: Пользователи
Сообщений: 454
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


FreeDOS раньше загружалась с CD-ROM. Если всё прям серьёзно, то выделяйте компьютер и устанавливайте на него FreeDOS. Когда 5 лет назад FreeDOS была моей основной ОС ставил достаточно много драйверов для ускорения работы с жёсткими дисками - иначе скорость обмена снижалась в 10 раз по сравнению с Windows на этом же компьютере. Работал с USB-Flash, но скорость обмена была очень медленной.
Кроме того, для комфортной работы в DOS устанавливал и настраивал дополнительные программы.

Мой совет, если никогда не работали в DOS - не лезьте. Настройка займёт много времени, а выигрыш - будет незначительный, а главное - бесполезно потраченное время.

Если всё же будете работать в DOS - попробуйте сравнить скорости работы разных компиляторов Pascal:
- Turbo Pascal x16 (real mode)
- Borland Pascal x16 (protected mode)
- Free Pascal for DOS (real mode)
- Free Pascal for DOS (protected mode)
- Virtual Pascal for DOS (protected mode)

Больше расположен к Free Pascal из-за развитых библиотек. А там смотрите.
--------------------------------------------
По опыту знаю, что все, кто пытается ускорить выполнение программы, после DOS лезут в ассемблер. Так что вы лишь в самом начале пагубного пути.

И еще раз. Я уже предупреждал: не лезьте - потеряете время, решение нужно искать другими средствами.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Знаток
****

Группа: Пользователи
Сообщений: 454
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


Я работал только с FreeDOS 1.0 и 1.1. Для возможности кириллицы патчил ядро (не понимаю, что делал - по бумажке заменял одни файлы на другие).
Т.к. работал в чистом DOS, не в виртуальной машине, то никаких пропаданий файлов не замечал. Это нормальная ОС. Работал во FreeDOS на протяжении нескольких лет с утра до вечера.

Для русификатора ещё подбирал шрифты - т.к. большинство шрифтов рассчитаны на VGA дисплеи и на LCD смотрятся нечитабельно.

Для попытки знакомства с DOS вполне подойдёт DOSBox. Её тоже нужно настраивать, но в интернете много материалов.
Работа с DOS через VirtualBox очень неудобна - нет связи с DOS, т.е. затруднительно обмениваться файлами.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12





Группа: Пользователи
Сообщений: 6
Пол: Мужской
Реальное имя: yurpos
Jabber: yurpos

Репутация: -  0  +


Цитата(Федосеев Павел @ 8.08.2017 14:33) *

для ускорения работы с жёсткими дисками

работа с жёстким диском только открыть файл вначале работы и записать в конце
на этом этапе главное максимальная синхронизация скорости обработки и реального времени
на что точно не хотелось бы тратить время так это перебирать различные варианты программ и варианты загрузок, поэтому и вопрос в этой теме, хорошо что уже появились варианты решения проблемы

Сообщение отредактировано: yurpos -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Большевик–концептуал
**

Группа: Пользователи
Сообщений: 114
Пол: Мужской
Реальное имя: Иван Левашев
Jabber: octagram@jabber.ru
Skype: i.levashew
QQ: 3152538431
WeChat
Ада: Сторонник
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик
Turbo Pascal: Установлен

Репутация: -  0  +


А что подразумевается под «реальным временем»? По моему опыту основная проблема с программами для DOS — это то, что они приучены есть CPU в циклах, а планировщик этого не любит, он даёт большие кванты, но если этот квант полностью съесть, то потом ставит в очередь на подождать. Если отдавать процессор регулярно через прерывание IDLE (оно где-то на мультиплексе висит), то NTVDM даёт работать вполне нормально. Раз на 18 в секунду пробуждений, я думаю, можно полагаться.

Цитата(Федосеев Павел @ 8.08.2017 4:05) *
компьютер за 1000 USD
Что-то цены какие-то заоблачные. У меня все пять компьютеров дома, наверное, столько не стоят в сумме на момент покупки.

Вот новый Compute Stick за 4500руб., а б/у нетбук без матрицы я брал за 2000руб. года 4 назад, сейчас, может, чуть подороже будет. Обычно б/у нетбук с матрицей раза в два дешевле нового, а без матрицы это же типа катастрофа, цена на б/у нетбук уменьшается на цену новой матрицы, и получается интересно.


--------------------
If you want to get to the top, you have to start at the bottom
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Знаток
****

Группа: Пользователи
Сообщений: 454
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


Это, конечно, не относится к теме. Но новый компьютер в сборе (системник, монитор, клавиатура, мышь) всегда стоил примерно 1000 USD.

Сообщение отредактировано: Федосеев Павел -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 16.08.2017 20:08
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"