Яблоко
Эта статья требует дополнительных цитат для проверки . ( ноябрь 2011 г. ) |
![]() Apple Computer работает за программой Hello World | |
Разработчик | Apple Computer |
---|---|
Написано в | Сборка [ 1 ] |
Семья | Яблоко |
Рабочее состояние | Прекращено |
Источник модель | Закрытый источник |
Первоначальный выпуск | 1978 |
Последний релиз | 3.3 / 1980 |
ядра Тип | Монолитное ядро |
Лицензия | Лицензионное соглашение Apple Software |
Apple DOS является операционной системой диска для компьютеров Apple II с конца 1978 года по начало 1983 года. Она была заменена Prodos в 1983 году. Apple DOS имеет три основных выпуска: DOS 3.1, DOS 3.2 и DOS 3.3; За каждой из этих трех выпусков последовал второй, незначительный релиз «Fuck-fix», но только в случае 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 но Возняк искал операционную систему, которая была проще в использовании. 10 апреля 1978 года Apple подписала контракт с Shepardson Microsystems подписал контракт на 13 000 долларов США на написание DOS и доставки его в течение 35 дней. Apple предоставила подробные характеристики, и ранний сотрудник Apple Рэнди Виггинтон тесно сотрудничал с Полом Лоунтоном из Шепардсона, когда последний написал операционную систему с перфорированными картами и миникомпьютером . [ 2 ]
Не было никаких яблочных дос 1 или 2. Версии с 0,1 по 2,8 были последовательно перечисленными изменениями во время разработки, которые также могли быть названы сборками с 1 по 28. Полем Apple опубликовала официальную документацию до выпуска 3.2. [ 3 ] [ 4 ]
Apple DOS 3.1 была публично выпущена в июне 1978 года, чуть более чем через год после введения Apple II, став первой операционной системой на основе диска для любого компьютера Apple. Выпуск ошибки произошел позже, решая проблему с помощью ее MASTER CREATE
утилита, которая использовалась для создания Apple DOS Master (загрузочный) диски: встроенный INIT
Команда создала диски, которые можно загрузить только на машинах, по крайней мере, с таким же количеством памяти, что и то, что их создало. MASTER CREATE
Включает самостоятельную версию DOS, которая загружается на яблоки с любой конфигурацией памяти.
Apple DOS 3.2 был выпущен в 1979 году, чтобы отразить изменения в методах загрузки компьютера, которые были встроены в преемника Apple II, Apple II Plus. Новая прошивка включала функцию автоматического запуска, которая автоматически обнаружила контроллер диска и загружается из нее, когда система была включена,-обрабатывая его имя «AutoStart ROM ». [ Цитация необходима ] DOS 3.2.1 был затем выпущен в июле 1979 года с некоторыми незначительными исправлениями ошибок. [ 5 ]
Apple DOS 3.3 был выпущен в 1980 году. Это улучшает различные функции [ который? ] выпуска 3.2, при этом обеспечивая значительные успехи в доступном дискет -дисков хранении . Более новые PR5A/P6A PROM в контроллере диска включают чтение и написание данных при более высокой плотности, поэтому 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 , называемый файловым менеджером, был построен поверх этого, и внедряет функции, чтобы открыть, закрывать, читать, записать, удалять, блокировать (т.е. write-protect ), разблокировать (т.е. структурная целостность файла. Есть также CATALOG
функция для перечисления файлов на дискетте и INIT
Функция, которая форматирует диск для использования с DOS, хранит копию DOS на первых трех треках и хранение программы запуска (обычно называемой Hello), которая автоматически запускается при загрузке этого диска. В дополнение к API файлового менеджера, внедрены основные процедуры DOS, которые подключаются к основному интерпретатору машины и перехватывают все команды диска. Он предоставляет Bload , BSAVE и Brun для хранения, загрузки и запуска бинарных исполнителей . LOAD
, RUN
, и SAVE
предоставляются для основных программ и EXEC
был предоставлен для запуска текстовых партийных файлов, состоящих из базовых команд и команд DOS. Наконец, существуют четыре типа файлов, идентифицированные буквами в списке каталога:
- I- Integer Basic программы (хранятся в компактном формате, а не в простых текстах )
- A- Основные программы Applesoft (также хранятся в упакованном формате экономии пространства)
- B- двоичные файлы , либо исполняемые программы на машинном языке , либо файлы данных
- T- ASCII текстовые файлы (или простые текстовые, бесполезные пакетные файлы)
Есть четыре дополнительных типа файлов; «R», «S» и дополнительное «A» и «B», ни один из которых полностью не поддерживается. DOS распознает эти типы только для списков каталога, и нет прямых способов манипулировать этими типами файлов. Тип «R» обнаружил некоторое использование для переселенных бинарных исполняемых файлов. Несколько программ поддерживают тип «S» в качестве файлов данных.
Таблица векторов вызовов в регионе $ 03D0–03FF 16 позволяет программам находить DOS, где бы он ни был загружен в системную память. DOS, подключенная CLI к если Например , базовому 3D0G
(«3d0 go») Команда для возврата в базовый от системы монитора .
Загрузочный погрузчик
[ редактировать ]Процесс загрузки Apple DOS включает в себя ряд очень крошечных программ, каждая из которых несет процесс загрузки на несколько шагов перед передачей управления следующей программой в цепочке.
- Первоначально Apple II ROM вообще не поддерживал загрузку дисков. При Power-Up он отобразит подсказку системного монитора. Как монитор, так и Integer Basic имеют команды для перенаправления печати на драйвер принтера в указанном слоте, поэтому обычным способом загрузки с диска было командование компьютера для запуска «печати» на интерфейсную карту диска, обычно установленная в слоте 6. , используя команду 6 Control-P (от монитора ML) или
PR#6
(от базового). Когда монитор или базовый выпущен следующий приглашенный символ, компьютер позвонит в ПЗУ процедуры на дисковой карте, чтобы «распечатать» на него, что затем будет продолжаться с последовательности загрузки. (Можно использовать входное перенаправление на аналогичные концы.) В качестве монитора ML пользователь может вызвать загрузочный код контроллера напрямую с помощью команды, такой какC600G
. - Когда был введен Apple II Plus, он включал в себя возможность сканирования каждого слота расширения (работая вниз от слота 7 до слота 1) для ROM для загрузочной карты расширения и автоматически вызывает его.
- Код загрузки ROM расширения пытается загрузиться с диска 1 контроллера, перемещая рычаг чтения/записи, чтобы отслеживать ноль и попытаться прочитать 256 байтов из сектора ноль этого трека. (Если читабельный диск не доступен, диск вращается на неопределенный срок, пока один не будет предоставлен, а дверь приводной дверь закрыта.)
- Sector Zero содержит небольшую программу, которая инструктирует компьютер прочитать секторы от 0 до 9 треков в памяти, используя часть загрузочного кода ROM (перечитывание сектора 0 в процессе).
- Программа в секторах 1–9 трека 0, включая полный код RWTS, затем переходит к загрузке треков 1 и 2, которые содержат остальные DOS. На мастер -диск системного кода также включен для определения конфигурации оперативной памяти компьютера и переместить DOS как можно более высоко в системную память, вплоть до предела основной памяти Apple II ($ BFFF 16 ).
- Как только DOS загружен в память, он пытается загрузить и выполнить программу запуска, как указано в коде программы DOS. Это обычно основная языковая программа с именем Hello (или какое -то другое имя), но DOS может быть изменена для запуска других типов программ при запуске, таких как исполняемый двоичный файл. Появление правого кронштейна ( ] ) на экране является указанием для пользователя, что программа запуска Applesoft Basic загружается, в то время как символ более высокого, чем на более высокий уровень ( > ) указывает на то, что программа Integer Basic загружается. (Это подсказки для соответствующих версий базовых, которые инициализируются на этом этапе.)
- Затем программа запуска начинает выполнять.
Integer Basic и Applesoft Basic поддержка
[ редактировать ]Оригинальный Apple II включал базовый интерпретатор в ПЗУ, известный первоначально как Apple Basic , а затем как Integer Basic . Переменные на этом языке могут обрабатывать только целочисленные числа в диапазоне от -32 768 до +32 767 ( 16-битные бинарные значения); Номера с плавающей запятой не поддерживаются. Apple поручила Microsoft разработать Applesoft Basic , [ 6 ] Способен обрабатывать числа с плавающей точкой. Applesoft Basic не может запускать Integer Basic программы, заставляя некоторых пользователей сопротивляться обновлению.
DOS 3.3 был выпущен, когда Applesoft Basic был стандартным в ROM на Apple II Plus, поэтому Apple разработала его для поддержки переключения между двумя основными переводчиками. Integer Basic загружается в оперативную память на языковой карте Apple IIS (если присутствует) и при наборе печати FP
или INT
Из базового пользователь может переключаться между любой версией.
Отклонить
[ редактировать ]После 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, а плюс требует расширения памяти «языковой карты» для использования Prodos; Модели E и более поздние модели имеют встроенное оборудование для языковой карты, и поэтому могут запускать ProDoS прямо. Prodos включает в себя программное обеспечение для копирования файлов с дисков Apple DOS. Тем не менее, многие люди, которые не нуждались в улучшениях ProDoS (и кому не нравилось гораздо более высокое место для памяти ), продолжали использовать Apple DOS или один из его клонов еще долго после 1983 года. Собрание Apple хранения загружаемой ОС на каждой дискету Диск означает, что коммерческое программное обеспечение может использоваться независимо от того, какую ОС владеет пользователем. Программа под названием Dos.Master позволяет пользователям иметь несколько раздела Virtual DOS 3.3 на большем томе ProDos, что позволяет использовать множество программ DOS на основе гибкой диск с жестким диском.
Вскоре после выхода Prodos Apple отменила разрешение от третьих лиц, чтобы перераспределить DOS 3.3, но предоставила одной компании, Syndicomm, эксклюзивной лицензии на перепродажу DOS 3.3. [ 7 ]
Коммерческие игры обычно не использовали Apple DOS, вместо этого имели свои собственные процедуры диска для целей защиты копий , а также для производительности.
Улучшение производительности
[ редактировать ]Работа DOS RWTS может читать или написать трек в двух революциях с надлежащим проведением . Сектор вращающегося диска проходит под головкой чтения/записи, в то время как процедура RWTS декодирует только что прочитанный сектор (или кодирует следующий, который будет написан), и если этот пропущенный сектор необходим, DOS должен ждать Почти целая революция диска для сектора снова придет. Это называется «Blowing A Rev» и является хорошо понятым узким местом производительности в дисковых системах. Чтобы избежать этого, сектора на диске 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 постоянно продувает Revs при чтении или написании файлов. [ 9 ] Программы стали доступны на ранних этапах форматирования дисков с измененным сектором; Эти диски дают DOS больше времени между секторами для копирования данных, улучшая проблему.
Позже программисты за пределами Apple переписали подпрограммы файлового менеджера, чтобы избежать дополнительной копии для большинства секторов файла; RWTS было поручено читать или написать секторы непосредственно в или из основной памяти, а не из дискового буфера, когда должен был быть передан полный сектор. Ранний патч для предоставления этой функции был опубликован в Apple Call . Ускорение в LOAD
Команда трех -пяти раз была типичной.
Эта функциональность вскоре появилась в коммерческих продуктах, таких как Pronto-DOS, Diversi-DOS, Hyper-DOS и David-DOS, а также дополнительные функции, но он никогда не использовался в официальном выпуске Apple DOS. Аналогичная функциональность была, однако, использовалась в операционной системе Apple, Prodos. Apple IIGS Специфическая операционная система GS/OS в конечном итоге использовала бы еще более эффективную технику «Scatter Read», в которой прочитал любой сектор, который оказался, проходивший под головкой чтения, если он был необходим для чтения файла.
Выпуск исходного кода
[ редактировать ]В 2013 году, более чем через 35 лет после дебюта Apple II , оригинальный исходный код Apple DOS был выпущен Музеем истории компьютера на своем веб -сайте. [ 10 ] Это было пожертвовано первоначальным автором Полом Лафтоном. [ 11 ]
Смотрите также
[ редактировать ]Ссылки
[ редактировать ]- ^ Apple II DOS - исходный код
- ^ Тердиман, Даниэль (2013-04-03). «Невыразимая история, стоящая за операционной системой Apple в размере 13 000 долларов» . CNET . Получено 4 апреля 2013 года .
- ^ "Apple Computer" . Laughton.com . Получено 2013-06-14 .
- ^ «История Apple II» 14-Dos » . Apple2history.org . Архивировано из оригинала 2010-07-10 . Получено 2013-06-14 .
- ^ «История Apple II» 14-Dos » . Apple2history.org . Архивировано из оригинала 2010-07-10 . Получено 2013-06-14 .
- ^ Стивен Вейрич. «История Apple II Глава 16» . Архивировано из оригинала 29 января 2009 года . Получено 2009-01-26 .
- ^ Дин Эсмай (18 ноября 2010 г.). «Даже Apple использовала пиратские инструменты» . Архивировано из оригинала 25 июля 2011 года . Получено 2011-08-11 .
- ^ Jump up to: а беременный «О форматах архива» . Получено 26 апреля 2012 года .
- ^ DOS 3.3, Prodos & Beyond v1.3 Bullet 07 июля 01
- ^ Шустек, Лен (2013-11-12). «Исходный код Apple II DOS» . Computerhistory.org . Получено 2013-11-30 .
- ^ «35-летняя операционная система Apple II теперь открыта для общественности» . 13 ноября 2013 года.
Дальнейшее чтение
[ редактировать ]- Стоит, Дон; Lechner, Pieter (1981), под DOS Apple , качественное программное обеспечение, ISBN 0-912985-00-3
Внешние ссылки
[ редактировать ]- Рассказ Пола Лафтона о написании DOS 3.1
- Apple II История: DOS
- A2Central.com Архивировал 2009-06-26 в The Wayback Machine -Apple II News and Downloads
- ВСЕ2.com's 3.1 статья
- Исходный код Apple II DOS Version 3.1 (1978, выпущенный в 2013 году с разрешения Apple Inc.)