LINUX.ORG.RU

История изменений

Исправление watchcat382, (текущая версия) :

чья-то там самодельная разновидность CP/M.

CP/M вообще-то была изделием восхваляемой выше фирмы DEC. И использовалась в те времена на большинстве персональных компьютеров. В том числе и тех что на процессоре 8080. Логично что и на 8086 ее перетащили вначале с минимальными модификациями. По мере увеличения производительности и памяти - добавили в ядро функции из юникса. Именно поэтому большинство софта под DOS требует версии 2.0 и старше.

Лучше посмотрим на это с технической стороны. Ну вот допустим захотели мы перенести на 8086 Юникс вместо CP/M. Памяти мало поэтому ядро надо сделать поменьше. Выкидываем поддержку сети - потому что и подключаться некуда и сетевого железа нет. Выкидываем многозадачность - потому что на процессоре без MMU она нормальной всё равно быть не может. Выкидываем все средства межпроцессного взаимодействия потому что система стала однозадачной. Теперь сравниваем скорость рисования даже чисто текстового интерфейса средствами ОС через эмуляцию терминала с использованием esc-последовательностей и вывод прямой записью в видеопамять. Приходим в ужас и понимаем что эту эмуляцию (весьма толстый ansi.sys) можно выкинуть. И в итоге получаем вот тот самый DOS 2.0 в котором как раз появилась иерархическая организация каталогов на диске и работа с файлами через дескрипторы как в Юниксе,а не только через file control block как в cp/m.

А что касается цены $500 за Ксеникс - то я думаю причина в лицензионных отчислениях. Напомню,что до начала 90х за права на юниксовые исходники продолжались судебные тяжбы. Это кстати и стало одной из причин успеха Линукса,свободного от тех проблем.

Исходная версия watchcat382, :

чья-то там самодельная разновидность CP/M.

CP/M вообще-то была изделием восхваляемой выше фирмы DEC. И использовалась в те времена на большинстве персональных компьютеров. В том числе и тех что на процессоре 8080. Логично что и на 8086 ее перетащили вначале с минимальными модификациями. По мере увеличения производительности и памяти - добавили в ядро функции из юникса. Именно поэтому большинство софта под DOS требует версии 2.0 и старше.

Лучше посмотрим на это с технической стороны. Ну вот допустим захотели мы перенести на 8086 Юникс вместо CP/M. Памяти мало поэтому ядро надо сделать поменьше. Выкидываем поддержку сети - потому что и подключаться некуда и сетевого железа нет. Выкидываем многозадачность - потому что на процессоре без MMU она нормальной всё равно быть не может. Выкидываем все средства межпроцессного взаимодействия потому что система стала однозадачной. Теперь сравниваем скорость рисования даже чисто текстового интерфейса средствами ОС через эмуляцию терминала с использованием esc-последовательностей и вывод прямой записью в видеопамять. Приходим в ужас и понимаем что эту эмуляцию (весьма толстый ansi.sys) можно выкинуть. И в итоге получаем вот тот самый DOS 2.0 в котором как раз появилась иерархическая организация каталогов на диске и работа с файлами через дескрипторы как в Юниксе,а не только через file control block как в cp/m.