Jump to content

Apple DOS

Apple DOS
Компьютер Apple с программой Hello World
Разработчик Apple Компьютер
Написано в Сборка [1]
Семейство ОС Apple DOS
Рабочее состояние Снято с производства
Исходная модель Закрытый исходный код
Первоначальный выпуск 1978 год ; 46 лет назад ( 1978 )
Последний выпуск 3.3/1980 ; 44 года назад ( 1980 )
ядра Тип Монолитное ядро
Лицензия Лицензионное соглашение на программное обеспечение Apple

Apple DOS — это дисковая операционная система для компьютеров Apple II с конца 1978 по начало 1983 года. В 1983 году она была заменена ProDOS. Apple DOS имеет три основных выпуска: DOS 3.1, DOS 3.2 и DOS 3.3; за каждым из этих трех выпусков следовал второй, незначительный выпуск с «исправлением ошибок», но только в случае Apple DOS 3.2 этот второстепенный выпуск получил собственный номер версии — Apple DOS 3.2.1. Самая известная и наиболее используемая версия — Apple DOS 3.3 выпусков 1980 и 1983 годов. До выпуска Apple DOS 3.1 пользователям Apple приходилось полагаться на аудиокассеты для хранения и извлечения данных.

История версий

[ редактировать ]

Когда Apple Computer представила Apple II в апреле 1977 года, у нового компьютера не было жесткого диска и дисковой операционной системы (DOS). Хотя соучредитель Apple Стив Возняк в конце того же года разработал контроллер Disk II и считал, что мог бы написать DOS, его соучредитель Стив Джобс решил передать эту задачу на аутсорсинг. Компания рассматривала возможность использования Digital Research от CP/M , но Возняк искал более простую в использовании операционную систему. контракт на сумму 13 000 долларов 10 апреля 1978 года Apple подписала с Shepardson Microsystems на написание DOS и поставку ее в течение 35 дней. Apple предоставила подробные спецификации, а один из первых сотрудников Apple Рэнди Виггинтон тесно сотрудничал с Полом Лотоном из Shepardson, когда последний писал операционную систему с использованием перфокарт и мини-компьютера . [2]

Не было Apple DOS 1 или 2. Версии с 0.1 по 2.8 представляли собой последовательно пронумерованные версии во время разработки, которые с таким же успехом можно было бы назвать сборками с 1 по 28. Apple DOS 3.0, переименованная версия версии 2.8, никогда не выпускалась публично из-за ошибок. . Apple не публиковала официальной документации до версии 3.2. [3] [4]

Apple DOS 3.1 была публично выпущена в июне 1978 года, чуть более чем через год после появления Apple II, став первой дисковой операционной системой для любого компьютера Apple. Позже вышла версия с исправлением ошибок, в которой проблема решалась посредством MASTER CREATE утилита, которая использовалась для создания главных (загрузочных) дисков Apple DOS: Встроенная INIT команда создавала диски, которые можно было загрузить только на машинах с таким же объемом памяти, как и та, на которой они были созданы. MASTER CREATE включает самоперемещающуюся версию DOS, которая загружается на Apple с любой конфигурацией памяти.

Apple DOS 3.2 была выпущена в 1979 году, чтобы отразить изменения в методах загрузки компьютера, которые были встроены в преемника Apple II, Apple II Plus. Новая прошивка включала функцию автозапуска, которая автоматически находила контроллер диска и загружалась с него при включении системы, за что получила название «Autostart ROM ». [ нужна ссылка ] В июле 1979 года была выпущена DOS 3.2.1 с некоторыми незначительными исправлениями ошибок. [5]

Apple DOS 3.3 была выпущена в 1980 году. В ней улучшены различные функции. [ который? ] версии 3.2, позволяя при этом значительно увеличить объем доступной памяти на гибких дисках . Новые PROM P5A/P6A в контроллере диска обеспечивают чтение и запись данных с более высокой плотностью, поэтому 16 секторов можно хранить на дорожке (4 КиБ) вместо 13 секторов (3,25 КиБ ), увеличивая емкость со 113,75 КБ до 140. КБ на сторону — 16 КБ из них используются для служебных данных файловой системы и копии DOS, оставляя 124 КБ для пользовательских программ и данных. Однако DOS 3.3 не имеет обратной совместимости ; он не может читать и записывать диски DOS 3.2. Чтобы решить эту проблему, Apple Computer выпустила «MUFFIN», утилиту для переноса файлов и программ Apple DOS 3.2 на диски версии 3.3. Apple никогда не предлагала утилиту для копирования в другом направлении. Чтобы перенести файлы Apple DOS 3.3 обратно на диски версии 3.2, кто-то написал утилиту «NIFFUM». Существуют также коммерческие утилиты (такие как Copy II Plus ), которые могут копировать файлы в любой формат (и, в конечном итоге, в ProDOS также ). В версии 3.3 также улучшена возможность переключения между Integer BASIC и Applesoft BASIC, если на компьютере имеется языковая карта ( расширение оперативной памяти ) или карта прошивки.

Технические детали

[ редактировать ]

Диски Apple DOS 3.1 используют 13 секторов данных на дорожку, каждый сектор имеет размер 256 байт . Он использует 35 дорожек на каждой стороне диска и может получить доступ только к одной стороне дискеты, если только пользователь не перевернул диск . Это дает пользователю общую емкость памяти 113,75 КБ на каждую сторону, из которых около 10 КБ используется для хранения самой DOS и каталога диска, оставляя около 100 КБ для пользовательских программ.

Первый уровень операционной системы называется RWTS, что означает «сектор дорожки чтения/записи». Этот уровень состоит из подпрограмм поиска дорожек, чтения и записи секторов, а также форматирования диска. защиты от На основе этого был создан API, называемый файловым менеджером, который реализует функции для открытия, закрытия, чтения, записи, удаления, блокировки (т. е. записи ), разблокировки (т. е. разрешения записи) и переименования файлов, а также для проверки Структурная целостность файла. Существует также CATALOG функция для вывода списка файлов на дискете и INIT функция, которая форматирует диск для использования с DOS, сохраняет копию DOS на первых трех дорожках и сохраняет программу запуска (обычно называемую HELLO), которая автоматически запускается при загрузке с этого диска. Помимо API-интерфейса файлового менеджера реализованы основные процедуры DOS, которые подключаются к интерпретатору BASIC машины и перехватывают все дисковые команды. Он предоставляет BLOAD , BSAVE и BRUN для хранения, загрузки и запуска двоичных исполняемых файлов . LOAD, RUN, и SAVE предусмотрены для программ BASIC, а также EXEC был предоставлен для запуска текстовых пакетных файлов, состоящих из команд BASIC и DOS. Наконец, существуют четыре типа файлов, обозначаемые буквами в списке каталога:

Есть четыре дополнительных типа файлов; «R», «S» и дополнительные «A» и «B», ни один из которых не поддерживается полностью. DOS распознает эти типы только для списков каталогов, и прямых способов манипулирования этими типами файлов не существует. Тип «R» нашел применение для перемещаемых двоичных исполняемых файлов. Некоторые программы поддерживают тип «S» в качестве файлов данных.

Таблица векторов вызовов в районе $03D0–03FF 16 позволяет программам находить DOS везде, где она загружена в системную память. Например, если DOS, подключенный к BASIC CLI , перестает функционировать, его можно повторно инициализировать, вызвав адрес $03D0 16 (976 10 ) – отсюда традиционный 3D0G («3D0 go») для возврата в BASIC из системного монитора .

Загрузчик

[ редактировать ]

Процесс загрузки Apple DOS включает в себя ряд очень маленьких программ, каждая из которых переносит процесс загрузки на несколько шагов вперед, прежде чем передать управление следующей программе в цепочке.

  • Первоначально ПЗУ Apple II вообще не поддерживало загрузку с диска. При включении будет отображаться приглашение системного монитора. И Monitor, и Integer BASIC имеют команды для перенаправления печати на драйвер принтера в назначенном слоте, поэтому обычным способом загрузки с диска тогда была команда компьютеру начать «печать» на интерфейсную карту диска, обычно установленную в слоте 6. , используя команду 6 Control-P (с монитора ML) или PR#6 (из БЕЙСИКА). Когда монитор или BASIC выдавал следующий символ приглашения, компьютер вызывал процедуры ПЗУ на дисковой карте для «печати» на нее, после чего выполнялась последовательность загрузки. (Можно использовать перенаправление ввода для аналогичных целей.) Альтернативно, из монитора ML пользователь может напрямую вызвать загрузочный код контроллера с помощью команды типа C600G.
  • Когда был представлен Apple II Plus, он включал в себя возможность сканировать каждый слот расширения (в направлении вниз от слота 7 к слоту 1) на предмет загрузочного ПЗУ карты расширения и автоматически вызывать его.
  • Загрузочный код ПЗУ карты расширения пытается загрузиться с диска 1 контроллера, перемещая рычаг чтения/записи на нулевую дорожку и пытаясь прочитать 256 байтов из нулевого сектора этой дорожки. (Если доступного для чтения диска нет, привод вращается бесконечно, пока он не будет предоставлен, и дверца привода не закроется.)
  • Нулевой сектор содержит небольшую программу, которая инструктирует компьютер считать сектора с 0 по 9 нулевой дорожки в память, используя часть загрузочного кода ПЗУ (при этом перечитывая сектор 0).
  • Программа в секторах 1–9 дорожки 0, включая полный код RWTS, затем переходит к загрузке дорожек 1 и 2, которые содержат остальную часть DOS. На главный диск системы также включен код для определения конфигурации оперативной памяти компьютера и перемещения DOS как можно выше в системную память, вплоть до предела основной памяти Apple II в 48 КБ ($BFFF 16 ).
  • После загрузки DOS в память она пытается загрузить и выполнить программу запуска, как указано в программном коде DOS. Обычно это программа на языке BASIC под названием HELLO (или какое-то другое имя), но DOS можно модифицировать для запуска при запуске других типов программ, например исполняемого двоичного файла. Появление правой скобки ( ] ) на экране указывает пользователю на то, что загружается программа запуска Applesoft BASIC, а символ «больше» ( > ) указывает на то, что загружается программа Integer BASIC. (Это запросы для соответствующих версий BASIC, которые инициализируются на данный момент.)
  • Затем начинает выполняться программа запуска.

Поддержка Integer BASIC и Applesoft BASIC.

[ редактировать ]

Оригинальный Apple II включал в ПЗУ интерпретатор BASIC, известный первоначально как Apple BASIC , а затем как Integer BASIC . Переменные в этом языке могут обрабатывать только целые числа в диапазоне от -32 768 до +32 767 ( 16-битные двоичные значения); Числа с плавающей запятой не поддерживаются. Apple поручила Microsoft разработать Applesoft BASIC . [6] способный обрабатывать числа с плавающей запятой. Applesoft BASIC не может запускать программы Integer BASIC, из-за чего некоторые пользователи отказываются переходить на него.

DOS 3.3 была выпущена, когда Applesoft BASIC был стандартным в ПЗУ Apple II Plus, поэтому Apple разработала ее для поддержки переключения между двумя интерпретаторами BASIC. Integer BASIC загружается в ОЗУ на языковой карте Apple II (если имеется) и набрав FP или INT из BASIC пользователь может переключаться между любой версией.

Отклонить

[ редактировать ]

После 1980 года Apple DOS вошла в состояние стагнации, поскольку Apple сосредоточила свои усилия на злополучном компьютере Apple III и его операционной системе SOS . Еще две версии Apple DOS, обе по-прежнему назывались DOS 3.3, но с некоторыми исправлениями ошибок и лучшей поддержкой новой модели Apple IIe , были выпущены в начале и середине 1983 года.

Без сторонних патчей Apple DOS может читать только дискеты, работающие в 5,25-дюймовом дисководе Disk II, и не может получить доступ к каким-либо другим носителям, таким как жесткие диски, виртуальные RAM- диски или 3,5-дюймовые дисководы . Структура дисков Apple DOS (особенно карта свободных секторов, которая была ограничена частью одного сектора) такова, что невозможно иметь одновременно более 400 КБ доступных на диске без серьезной перезаписи почти всех разделов. кода; это основная причина, по которой Apple отказалась от этой версии DOS в 1983 году, когда Apple DOS была полностью заменена ProDOS .

ProDOS сохраняет 16-секторный низкоуровневый формат DOS 3.3 для 5,25-дюймовых дисков, но представляет новый формат высокого уровня, который подходит для устройств объемом до 32 МБ ; это делает его подходящим для жестких дисков той эпохи и 3,5-дюймовых дискет . Все компьютеры Apple, начиная с II Plus, могут работать под управлением как DOS 3.3, так и ProDOS, причем Plus требует расширения памяти «Языковой карты» для использования ProDOS; Модели e и более поздние имеют встроенную языковую карту и поэтому могут напрямую работать с ProDOS. ProDOS включает в себя программное обеспечение для копирования файлов с дисков Apple DOS. Однако многие люди, которым не нужны были улучшения ProDOS (и которым не нравился гораздо больший объем памяти ), продолжали использовать Apple DOS или один из ее клонов еще долго после 1983 года. Соглашение Apple о хранении загрузочной ОС на каждой дискете диск означает, что коммерческое программное обеспечение можно использовать независимо от того, какая ОС у пользователя. Программа под названием DOS.MASTER позволяет пользователям иметь несколько виртуальных разделов DOS 3.3 на большем томе ProDOS, что позволяет использовать многие программы DOS на дискетах с жестким диском.

Вскоре после выхода ProDOS Apple отозвала у третьих сторон разрешение на распространение DOS 3.3, но предоставила одной компании Syndicomm эксклюзивную лицензию на перепродажу DOS 3.3. [7]

Коммерческие игры обычно не использовали Apple DOS, вместо этого имели свои собственные дисковые процедуры для защиты от копирования , а также для повышения производительности.

Улучшения производительности

[ редактировать ]

Процедура RWTS в DOS может читать или записывать дорожку за два оборота с правильным чередованием . Сектор вращающегося диска проходит под головкой чтения/записи, пока процедура RWTS декодирует только что прочитанный сектор (или кодирует следующий для записи), и если этот пропущенный сектор является следующим необходимым, DOS нужно подождать почти целый оборот диска, чтобы сектор снова пришел в себя. Это называется «сброс оборотов» и является хорошо понятным узким местом производительности дисковых систем. Чтобы этого избежать, сектора на диске DOS располагаются в чередующемся порядке: [8]

0 7 e 6 d 5 c 4 b 3 a 2 9 1 8 f

Позже ProDOS расположил сектора в следующем порядке: [8]

0 8 1 9 2 a 3 b 4 c 5 d 6 e 7 f

При чтении и декодировании сектора 0 сектор 8 проходит мимо, так что сектор 1, следующий, вероятно, понадобится, будет доступен без ожидания. При чтении сектора 7 два ненужных сектора, f и 0, пройдут раньше, чем станет доступен сектор 8, а при чтении сектора 15 приводу всегда придется ждать дополнительного оборота для сектора 0 на той же дорожке. Однако фактически необходимый сектор 0 в большинстве случаев будет находиться на следующей по старшинству дорожке, и эту дорожку можно расположить относительно последней, чтобы дать необходимое время для декодирования только что прочитанного сектора и перемещения головки до того, как появится сектор 0. вокруг. В среднем полный трек можно прочитать за два оборота диска.

Ранний файловый менеджер DOS сводил на нет эту эффективность, копируя байты, прочитанные или записанные в файл, по одному между дисковым буфером и основной памятью, что требовало больше времени и приводило к тому, что DOS постоянно терял обороты при чтении или записи файлов. [9] На раннем этапе стали доступны программы для форматирования дисков с измененным чередованием секторов; эти диски дают DOS больше времени между секторами для копирования данных, что решает проблему.

Позже программисты за пределами Apple переписали процедуры Файлового менеджера, чтобы избежать создания дополнительных копий для большинства секторов файла; RWTS было дано указание читать или записывать сектора непосредственно в основную память или из нее, а не из дискового буфера всякий раз, когда необходимо было передать полный сектор. Ранний патч, обеспечивающий эту функциональность, был опубликован в Call-APPLE . Ускорения в LOAD команды от трех до пяти раз были типичными.

Эта функциональность вскоре появилась в коммерческих продуктах, таких как Pronto-DOS, Diversi-DOS, Hyper-DOS и David-DOS, вместе с дополнительными функциями, но никогда не использовалась в официальной версии Apple DOS. Однако аналогичная функциональность использовалась в операционной системе-преемнице Apple, ProDOS. Apple в Операционная система GS/OS, специфичная для IIGS, конечном итоге будет использовать еще более эффективную технику «разбросанного чтения», которая будет читать любой сектор, который проходит под головкой чтения, если это необходимо для считываемого файла.

Выпуск исходного кода

[ редактировать ]

В 2013 году, более чем через 35 лет после дебюта Apple II , оригинальный исходный код Apple DOS был опубликован Музеем истории компьютеров на своем веб-сайте. [10] Его подарил первоначальный автор Пол Лотон. [11]

См. также

[ редактировать ]
  1. ^ Apple II DOS — Исходный код
  2. ^ Тердиман, Дэниел (3 апреля 2013 г.). «Нерассказанная история операционной системы Apple стоимостью 13 000 долларов» . CNET . Проверено 4 апреля 2013 г.
  3. ^ «Эппл Компьютер» . Лотон.com . Проверено 14 июня 2013 г.
  4. ^ «История Apple II» 14-DOS» . Apple2History.org . Архивировано из оригинала 10 июля 2010 г. Проверено 14 июня 2013 г.
  5. ^ «История Apple II» 14-DOS» . Apple2History.org . Архивировано из оригинала 10 июля 2010 г. Проверено 14 июня 2013 г.
  6. ^ Стивен Вейрих. «История Apple II, глава 16» . Архивировано из оригинала 29 января 2009 года . Проверено 26 января 2009 г.
  7. ^ Дин Эсмей (18 ноября 2010 г.). «Даже Apple использовала пиратские инструменты» . Архивировано из оригинала 25 июля 2011 года . Проверено 11 августа 2011 г.
  8. ^ Перейти обратно: а б «О форматах архивов» . Проверено 26 апреля 2012 г.
  9. ^ DOS 3.3, ProDOS и Beyond v1.3, пункт 7 июля 2001 г.
  10. ^ Шустек, Лен (12 ноября 2013 г.). «Исходный код Apple II DOS» . ComputerHistory.org . Проверено 30 ноября 2013 г.
  11. ^ «35-летняя операционная система Apple II теперь открыта для публики» . 13 ноября 2013 г.

Дальнейшее чтение

[ редактировать ]
  • Стоит, Дон; Лехнер, Питер (1981), Под Apple DOS , Качественное программное обеспечение, ISBN  0-912985-00-3
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 982a9fd0f5400be7e3c681ee2336d17f__1722542700
URL1:https://arc.ask3.ru/arc/aa/98/7f/982a9fd0f5400be7e3c681ee2336d17f.html
Заголовок, (Title) документа по адресу, URL1:
Apple DOS - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)