Re[3]: MS DOS - где еще используется?
От: удусекшл  
Дата: 07.09.21 11:05
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

НС>>Очень много DOS в системах управления промышленными установками.


ЕМ>Микролинуксы под них не проще приспособить? Или там слишком много завязок на совместимость?


Слишком умный может? Всякая многопоточность, то, сё, в итоге гарантий работоспособности остаётся всё меньше и меньше
Re[6]: MS DOS - где еще используется?
От: удусекшл  
Дата: 07.09.21 11:07
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>А так-то, если к функциям DOS не обращаться вовсе, то действительно up to you, но тогда и DOS тут ни при чем.


Ну, ДОС нужна, чтобы загрузить прогу
Re[7]: MS DOS - где еще используется?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 07.09.21 11:13
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>QNX способна привнести более строгие гарантии?


Она, как минимум, многопроцессорная — файловые и подобные им операции можно вызывать на выделенном процессоре/ядре. Под DOS не поможет даже псевдопоток на таймерном прерывании — они с BIOS'ом обожают запрещать прерывания.

НС>Ввод-вывод в ДОС строго синхронный и блокирующий, никаким дополнительным плавающим задержкам, кроме как задержкам со стороны внешнего устройства там взяться неоткуда.


Так и этих достаточно. Нельзя даже задать таймаут (в милли- или микросекундах), после которого операция гарантированно отвалится.
Re[4]: MS DOS - где еще используется?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 07.09.21 11:18
Оценка: 3 (1)
Здравствуйте, удусекшл, Вы писали:

У>Слишком умный может? Всякая многопоточность, то, сё, в итоге гарантий работоспособности остаётся всё меньше и меньше


Все это не так уж и сложно подружить с ограничениями реального времени, просто оно требует тщательной проработки всех возможных путей выполнения, сочетаний используемых ресурсов и т.п. Большинству разработчиков линуксового (как и виндового) ядра все это на фиг не упало. Не тормозит дольше десятков миллисекунд, и то ладно. А то, что при нынешних скоростях и такие тормоза выглядят чудовищно, мало кого волнует.
Re[2]: MS DOS - где еще используется?
От: ononim  
Дата: 07.09.21 12:04
Оценка: 2 (2) +2
S>>Интересно есть ли еще что-то на MS DOS?
S>Военка, может еще что-то критически важное. Дос считается более безопасной системой чем линупс.
Кроме доса и линукса есть еще множество систем более приспособленных для таких применений. Причем самые различные по дизайну, но все с жестким риалтаймом и современным (posix-like) API, сразу из головы — QNX, VxWorks, из бесплатных — FreeRTOS. Первые две сертифицированы по ASIL-D, чего в опенсорсе в принципе не наблюдается. Для FreeRTOS есть коммерческий сертифицированный клон — SafeRTOS.
Есть целый стандарт заточенный на безопасность — AUTOSAR, фактически это posix мира автомобильных девайсов, со своими стандартами на АПИ, архитектуры, методологии.
А что такое DOS? Это же тупо загрузчик плюс файловая система (не самая лучшая с точки зрения как надежности так и риалтаймовости).
Как много веселых ребят, и все делают велосипед...
Re[8]: MS DOS - где еще используется?
От: Ночной Смотрящий Россия  
Дата: 07.09.21 12:15
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Она, как минимум, многопроцессорная — файловые и подобные им операции можно вызывать на выделенном процессоре/ядре.


Это только ухудшит ситуацию с гарантиями за счет асинхронности.

НС>>Ввод-вывод в ДОС строго синхронный и блокирующий, никаким дополнительным плавающим задержкам, кроме как задержкам со стороны внешнего устройства там взяться неоткуда.

ЕМ>Так и этих достаточно.

От них никакой QNX тебя тоже не спасет.

ЕМ>Нельзя даже задать таймаут (в милли- или микросекундах), после которого операция гарантированно отвалится.


Его можно задать в драйвере устройства или в BIOS, если устройство стандартное. DOS просто не покрывает этот функционал.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: MS DOS - где еще используется?
От: Sharov Россия  
Дата: 07.09.21 12:59
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

S>> Dos вроде тоже умеет в реальное время?

НС>Да. При отсутствующей многозадачности вся реальность времени — up to you.

Не понимаю -- а все ОС реального времени однопоточные, там нет планировщика процессов?

Т.е. однопроцессынй дос -- ОС реального времени?
Кодом людям нужно помогать!
Re[9]: MS DOS - где еще используется?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 07.09.21 13:13
Оценка: +1
Здравствуйте, Ночной Смотрящий, Вы писали:

ЕМ>>Она, как минимум, многопроцессорная — файловые и подобные им операции можно вызывать на выделенном процессоре/ядре.


НС>Это только ухудшит ситуацию с гарантиями за счет асинхронности.


Глупости. Гарантии по времени выполнения — не святая вода, спасающая от любой напасти, а чисто практические условия выполнения. Асинхронность, как таковая, им ничуть не мешает, она лишь сужает область их действия.

НС>>>никаким дополнительным плавающим задержкам, кроме как задержкам со стороны внешнего устройства там взяться неоткуда.

ЕМ>>Так и этих достаточно.

НС>От них никакой QNX тебя тоже не спасет.


Задержки бывают разные. Типичная ситуация: нужно управлять железом в жестком реалтайме, и одновременно протоколировать это (в файл, по сети, по выделенной линии и т.п.), где жесткий реалтайм уже не требуется. Гораздо надежнее (и проще как в реализации, так и в доказательстве надежности) вынести второе на отдельный процессор, нежели городить протоколирование через прерывания, явно вызовы в коротких паузах, или подобные костыли.

ЕМ>>Нельзя даже задать таймаут


НС>Его можно задать в драйвере устройства или в BIOS


Для большинства устройств BIOS не поддерживает настройки таймаутов — нужен песциальный. А еще BIOS, как и DOS, очень любит запрещать прерывания, что для жесткого реалтайма крайне неудобно.
.0
Re[10]: MS DOS - где еще используется?
От: Ночной Смотрящий Россия  
Дата: 07.09.21 18:04
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Глупости. Гарантии по времени выполнения — не святая вода, спасающая от любой напасти, а чисто практические условия выполнения. Асинхронность, как таковая, им ничуть не мешает, она лишь сужает область их действия.


Глупости. Асинхронность — главный источник неоднородных задержек.

НС>>От них никакой QNX тебя тоже не спасет.

ЕМ>Задержки бывают разные. Типичная ситуация: нужно управлять железом в жестком реалтайме, и одновременно протоколировать это (в файл, по сети, по выделенной линии и т.п.), где жесткий реалтайм уже не требуется.

Только это не имеет никакого отношения к тому, считать ли ОС реалтаймовой или нет. Я, заметь, никоим образом не советую заменять QNX досом, так что ты споришь сам с собой.

ЕМ>>>Нельзя даже задать таймаут

НС>>Его можно задать в драйвере устройства или в BIOS
ЕМ>Для большинства устройств BIOS не поддерживает настройки таймаутов — нужен песциальный.

В таком железе он и будет специальный.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[6]: MS DOS - где еще используется?
От: Ночной Смотрящий Россия  
Дата: 07.09.21 18:05
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Не понимаю -- а все ОС реального времени однопоточные, там нет планировщика процессов?


Нет, не все. Но для многозадачных ОС для обеспечения реалтаймовости требуются специальные меры.

S>Т.е. однопроцессынй дос -- ОС реального времени?


Да. Хотя для таких ОС термин не особо применим.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[11]: MS DOS - где еще используется?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 07.09.21 20:31
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Асинхронность — главный источник неоднородных задержек.


Да, и что? Если уметь ее готовить, она никак не мешает жесткому реалтайму. А в кривых руках, по которым регулярно не бьют, будет мешать не больше, чем любое другое удобство программирования.

НС>Только это не имеет никакого отношения к тому, считать ли ОС реалтаймовой или нет.


Если так, то DOS по определению не является реалтаймовой.
Re[10]: MS DOS - где еще используется?
От: Cyberax Марс  
Дата: 08.09.21 01:12
Оценка: +2
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Для большинства устройств BIOS не поддерживает настройки таймаутов — нужен песциальный. А еще BIOS, как и DOS, очень любит запрещать прерывания, что для жесткого реалтайма крайне неудобно.

На практике код для DOS'а пишется в виде тупых циклов, которые долбят в порты ввода-вывода. Им на прерывания плевать.

Я такой код видел в середине 2000-х — не думаю, что он сильно поменялся.

Так что хотя DOS+BIOS в теории и не real-time, но на любом реальном железе даже 15-летней давности любые задержки от DOS'а будут в первом приближении пренебрежимы.
Sapienti sat!
Re[12]: MS DOS - где еще используется?
От: Ночной Смотрящий Россия  
Дата: 08.09.21 06:00
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

НС>>Асинхронность — главный источник неоднородных задержек.

ЕМ>Да, и что?

Нет асинхронности — нет и связанных с ней проблем.

ЕМ> Если уметь ее готовить, она никак не мешает жесткому реалтайму.


А если ее нет, то и уметь готовить ее не нужно. О чем, собственно, и было мое сообщение.

НС>>Только это не имеет никакого отношения к тому, считать ли ОС реалтаймовой или нет.

ЕМ>Если так, то DOS по определению не является реалтаймовой.

Поясни.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: MS DOS - где еще используется?
От: Mr.Delphist  
Дата: 08.09.21 07:53
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>Я помню, 25...30 лет назад — под DOS было немало вирусов.

AG>Под Linux/UNIX вирусов — не писали (и не пишут).

Учитывая, что первые вирусы были именно под UNIX, вспоминается история про суслика, которого не видно.
Re[4]: MS DOS - где еще используется?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.09.21 08:33
Оценка:
Здравствуйте, Mr.Delphist, Вы писали:

MD>Учитывая, что первые вирусы были именно под UNIX, вспоминается история про суслика, которого не видно.


Первые вирусы были прежде всего демонстрацией знаний, умений, опыта, хитрости. Под DOS уже появились вирусы для вымогательства, но тогда почти не было способов получения денег без риска спалиться. А уже под Windows эта индустрия расцвела пышным цветом. *nix'ы в этом плане мало кому интересны — они стоят либо в датацентрах, где грамотный персонал и служба безопасности, либо у гиков, у которых денег либо нет, либо они их не дадут и под страхом смертной казни.
Отредактировано 08.09.2021 8:34 Евгений Музыченко . Предыдущая версия .
Re[11]: MS DOS - где еще используется?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.09.21 08:40
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>На практике код для DOS'а пишется в виде тупых циклов, которые долбят в порты ввода-вывода. Им на прерывания плевать.


Только самый примитивный. Мало-мальски приличному коду, работающему с нетривиальным железом, имеющему удобный GUI, без прерываний неудобно. Можно, конечно, и без них, но через костыли.

C>Так что хотя DOS+BIOS в теории и не real-time, но на любом реальном железе даже 15-летней давности любые задержки от DOS'а будут в первом приближении пренебрежимы.


Если сравнивать с какой-нибудь виндой, особенно десяткой — безусловно. А если с нормальной RT OS, то уже нет.
Re[13]: MS DOS - где еще используется?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.09.21 08:44
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Нет асинхронности — нет и связанных с ней проблем.


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

НС>>>Только это не имеет никакого отношения к тому, считать ли ОС реалтаймовой или нет.

ЕМ>>Если так, то DOS по определению не является реалтаймовой.

НС>Поясни.


Поскольку для DOS никогда не было каких-либо спецификаций по времени завершения операций, возможным путям выполнения кода, условиям запрета прерываний и всего остального, она не подпадает под определение "real-time OS". Она просто меньше тормозит и более предсказуема, чем винда или линукс, но и только.
Re[14]: MS DOS - где еще используется?
От: Ночной Смотрящий Россия  
Дата: 08.09.21 09:33
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

НС>>Нет асинхронности — нет и связанных с ней проблем.

ЕМ>Зато есть другие — в частности, проблема перехода между состояниями, реализация конечных автоматов и подобное. Разгребать косяки в этой каше может быть гораздо труднее, чем в асинхронной многопроцессорности.

Еще раз — я не предлагаю заменять QNX на DOS и не утверждаю что писать реал тайм приложения на DOS проще, чем на QNX.

НС>>>>Только это не имеет никакого отношения к тому, считать ли ОС реалтаймовой или нет.

ЕМ>>>Если так, то DOS по определению не является реалтаймовой.
НС>>Поясни.
ЕМ>Поскольку для DOS никогда не было каких-либо спецификаций по времени завершения операций, возможным путям выполнения кода, условиям запрета прерываний и всего остального, она не подпадает под определение "real-time OS".

Здесь ничего нет про спецификации. У тебя какое то свое определение?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[6]: MS DOS - где еще используется?
От: Mr.Delphist  
Дата: 08.09.21 10:11
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Не понимаю -- а все ОС реального времени однопоточные, там нет планировщика процессов?


Не обязательно, особенно на современном железе. Грубо говоря, основной бонус RTOS — гарантированный предел задержки перед выполнением какой-то команды. Ведь если робо-мобиль решает "пора тормозить", а тут блок ML начинает garbage collection с сопутствующим swap на диск, то команда "нажми на тормоз" может быть отдана уже в лежащем вверх колёсами состоянии.

S>Т.е. однопроцессынй дос -- ОС реального времени?


Нет. Программа может вызвать операцию "clear interrupts" и педалить бесконечный цикл, а сигналы от внешних устройств будут тупо игнориться. Т.е. даже сохранение дискового кэша на HDD будет невозможно (помните, олды, как хорошо жилось при SmartDrive?)
Re[15]: MS DOS - где еще используется?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.09.21 11:02
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

ЕМ>>Поскольку для DOS никогда не было каких-либо спецификаций по времени завершения операций, возможным путям выполнения кода, условиям запрета прерываний и всего остального, она не подпадает под определение "real-time OS".


НС>Здесь ничего нет про спецификации.


Первый абзац: A real-time system is a time-bound system which has well-defined, fixed time constraints. Processing must be done within the defined constraints or the system will fail.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.