TurboDOS - TurboDOS
Разработчик | Программное обеспечение 2000 Inc |
---|---|
Рабочее состояние | Исторический |
изначальный выпуск | 1982 |
Последний релиз | 1.43 / 1983 |
Платформы | Зилог Z80, Intel 8086 |
Ядро тип | Монолитное ядро |
По умолчанию пользовательский интерфейс | Интерфейс командной строки |
Лицензия | проприетарный |
TurboDOS многопользовательский CP / M как операционная система для Z80 и 8086 Процессоры, разработанные Software 2000 Inc.
Он был выпущен примерно в 1982 году для систем на базе шины S100, таких как NorthStar Horizon и линейка многопроцессорных систем Commercial Systems, включая CSI-50, CSI-75, SCI-100 и CSI-150.
Многопроцессорная природа TurboDOS - ее самая необычная особенность. В отличие от других операционных систем того времени, где создание сетей процессоров было либо второстепенным, либо поддерживающим только протокол передачи файлов, TurboDOS с самого начала проектировалась как многопроцессорная операционная система.
Он имеет модульную конструкцию, с оперативным генерация системы на основе программы перемещения, связывания и загрузки. Это значительно упрощает включение различных модулей аппаратных драйверов, особенно для машин, ориентированных на шину, таких как шина IEEE-696 (S-100), которая обычно использовалась для систем TurboDOS.
Архитектура
TurboDOS имеет модульную структуру и состоит из более чем сорока отдельных функциональных модулей, распределенных в перемещаемой форме. Эти модули представляют собой «строительные блоки», которые можно комбинировать различными способами для создания семейства совместимых операционных систем. В этом разделе подробно описаны модули и описано, как их комбинировать в различных конфигурациях.
Возможные конфигурации TurboDOS включают:
- однопользовательский без буферизации
- однопользовательский со спулингом
- сетевой сервер
- простой сетевой пользователь (без локальных дисков)
- сложный сетевой пользователь (с локальными дисками)
В каждой из этих категорий возможны многочисленные тонкие вариации.
Иерархия модулей
Архитектуру TurboDOS можно рассматривать как трехуровневую иерархию. Самый высокий уровень иерархии - это уровень процесса. TurboDOS может поддерживать множество параллельных процессов на этом уровне. Промежуточный уровень иерархии - это уровень ядра. Ядро поддерживает 93 C-функции и T-функции и контролирует совместное использование ресурсов компьютера, таких как время процессора, память, периферийные устройства и файлы на диске. Процессы запрашивают ядро через модуль точки входа OSNTRY, который декодирует каждую C-функцию и T-функцию по номеру и вызывает соответствующий модуль ядра.
Функции C включают функции CP / M BDOS и выбранные функции MP / M.
Самый нижний уровень иерархии - это уровень драйверов, и он содержит все зависящие от устройства драйверы, необходимые для взаимодействия TurboDOS с конкретным используемым оборудованием. Драйверы должны быть предоставлены для всех периферийных устройств, включая консоль, принтеры, диски, каналы связи и сетевой интерфейс.
Драйверы также требуются для часов реального времени (или другого источника периодических прерываний) и для памяти с переключением банков (если применимо).
TurboDOS разработан для взаимодействия практически с любым периферийным оборудованием. Наиболее эффективно он работает с управляемыми прерываниями интерфейсами типа DMA, но также может нормально работать с устройствами ввода-вывода по запросу и с программированием.
Загрузчик TurboDOS
Загрузчик TurboDOS OSLOAD.COM - это программа, содержащая сокращенную версию ядра и драйверов. Его цель - загружать полную версию операционной системы TurboDOS из файла на диске (OSSERVER.SYS) в память при каждом холодном запуске системы.
Генерация системы
Функциональные модули распространяются в перемещаемом формате (.REL), а команда GEN представляет собой специализированный компоновщик, который создает исполняемую версию системы.
Команды
TurboDOS не имеет «резидентных» команд. Все команды являются исполняемыми файлами. Стандартные команды:
АВТОЗАГРУЗКА | Настройте серию команд, которые будут автоматически выполняться при каждом холодном или теплом запуске. |
РЕЗЕРВНЫЙ | Выполняет быстрое копирование всего диска на другой диск того же типа и формата. |
БАНКА | В системе Z80 с банковской памятью позволяет переключаться между операцией с переключением банка и операцией без переключения банка. |
ПАРТИЯ | Вводит команды в файл FIFO для обработки специальным пакетным процессором в сетевой системе. |
ЗАГРУЗКА | Копирует данные на зарезервированные (загрузочные) дорожки на диске и обратно. |
БУФЕРЫ | Опрашивает или изменяет количество и / или размер дисковых буферов, поддерживаемых TurboDOS |
ИЗМЕНЕНИЕ | Проверяет, не используется ли диск, и очищает кеш перед извлечением диска. |
КОПИРОВАТЬ | Копия файла. |
ДАТА | Отображение или установка системной даты и времени. |
УДАЛИТЬ | Файл удалить. |
DIR | Показать или распечатать каталог на диске. |
ДЕЛАТЬ | Запустите командный файл. |
ВОДИТЬ МАШИНУ | Отображение информации о формате диска. |
ДАМП | Отображение или печать дампа файла в шестнадцатеричном формате и ASCII. |
ЭРАСЕДИР | Стереть весь каталог на диске |
ФИФО | Создайте файл FIFO. |
FIXDIR | Утилита очистки каталогов, также используется для преобразования линейной структуры каталогов в хешированную (и наоборот). |
FIXMAP | Восстановите карту распределения дисков. |
ФОРМАТ | Формат диска. |
МЕТКА | Установите или запросите метку диска. |
ВЫЙТИ | Завершить консольный сеанс. |
ВХОД | Запустить консольный сеанс. |
МАСТЕР | Подключите консоль к «главному» процессору (серверу) в сетевой системе. |
РАСПЕЧАТАТЬ | Управляйте маршрутизацией вывода на печать. |
ПРИНТЕР | Управляйте удалением буфера на любом выбранном принтере. |
ОЧЕРЕДЬ | Вручную поставить в очередь для печати без пула. |
ПОЛУЧИТЬ | Прочитать и отобразить одну запись из файла FIFO. |
ПЕРЕИМЕНОВАТЬ | Переименовать файлы. |
ОТПРАВИТЬ | Записать сообщение в файл FIFO. |
НАБОР | Установить или сбросить атрибуты файла. |
ШОУ | Показать атрибуты файла. |
ТИП | Отображение содержимого файла на консоли или принтере. |
ПРОВЕРИТЬ | Просканируйте диск на наличие сбойных блоков и (необязательно) отметьте их, чтобы предотвратить их использование. |