вторник, 30 декабря 2014 г.

Ведение в DOS

В институте представляют компьютер управляемый голосом.
Изобретатель прости тишины в зале. И тут крик с задних рядов:
«Format C! Enter!»
Самыми популярными для PC-DOS (Personal Computer-DOS от IBM) и MS-DOS. После некоторых доработок Digital Research выпустила свою ДОС под названием DR-DOS. Есть и другие ДОС независимых производителей, учитывающие особенности аппаратуры компьютеров. Есть ДОС разных производителей, отличающиеся только незначительными деталями, на пример драйвер виртуального диска в MS-DOS хранится в RAMDRIVE.SYS, а в PC-DOS в файле VDISK.SYS.

История

Причины множества конструктивных особенностей MS-DOS уходят далеко в глубины истории развития операционных систем.
Точно известно, что MS-DOS это купленная за 75 тысяч долларов Майкрософтом у Seattle Computer система DOS-86, разработка которой заняла 6 недель. По сути, это перенесенная CP/M с устаревших к 1981 году процессоров Zilog 80 и Intel 8080 на Intel 8086. Одним из важных изменений стала файловая система FAT-12, взамен чуть ли не рудиментарной системы из CP/M.
Первая версия CP/M была разработана в 1973-1974 Гари Килдалом для системы Intel Intellec-8, предназначенной для разработчиков. Система CP/M стала стандартом для 8-битных компьютеров конца 70-х и начала 80-х. Некоторые особенности системы (названия устройств, файлов и команд) Килдал взял из TOPS-10, на котором он вел заработку.
TOPS-10 (Timesharing OPeration System) это система с разделением времени, разработанная DEC для компьютеров PDP.  Её история началась в 1964 году как простейшая ОС (монитор) для PDP-6.

Структура DOS

DOS делится на 6 модулей:
  • BIOS
  • System Bootstrap
  • Модуль расширения (IO.SYS)
  • Внешние драйверы устройств
  • Базовый модуль (MSDOS.SYS)
  • Командный процессор (COMMAND.COM)

BIOS

BIOS в свою очередь состоит из нескольких подпрограмм. Первая из них – POST. POST это Power on Self Testing – Программа Тестирования По Включению Питания. Она проводит тестирование памяти и оборудования, подключённого к системе. Следующая программа определяет наличие флоппи-диска в приводе или загрузочного НЖМД, подключённого к материнской плате. После чего на передаёт управление SB (System Bootstrap), при отсутствии которого выводит сообщение «Insert bootable floppy disk to drive A and press "Reset"».Также существуют другие программы, вызываемые через таблицу прерываний и несколько таблиц, необходимых для определения параметров дискет и для рисования символов с кодами от 128 до 255.

System Bootstrap

Как гласит американский фразеологизм, система должна «Pull itself up by its own bootstraps», то есть «поднять себя за шнурки собственных ботинок». Иными словами - загрузиться.
Загрузочная запись помещается всегда в первом секторе нулевой дорожки системной дискеты. После POST BIOS считывает (ну или пытается, если дискета не вставлена) этот сектор и размещает программу в памяти. Затем управление передаётся считанной программе.
Так как размер программы ограничен 512 байтами, то для её упрощения необходимые для дальнейшей работы системы файлы IO.SYS и MSDOS.SYS находятся в строго отведённом месте на диске. Искать файлы на диске – дело сложное, а для 512 байтов вообще неподъёмное (к тому же далеко не все 512 байт отданы под программный код - большая часть загрузчика таблица данных).
Поэтому-то системный диск и устроен по-особенному, а для его создания необходима специальная команда.

Модуль расширения возможностей BIOS

Этот модуль позволяет учитывать особенности DOS и предоставлять возможность работать новым устройствам подключаемых к компьютеру.
То есть, в IO.SYS хранятся стандартные драйверы устройств CON (консоль – дисплей с клавиатурой), PRN (принтер), AUX (дополнительное устройство пользователя) и другие. Модуль так же именует диски (физические и логические) латинскими буквами (A и B по традиции отводятся флоппи дискам, C .. Z - остальным носителям).

Базовый модуль

Этот модуль (MSDOS.SYS) предоставляет услуги управления ОЗУ и дисковой памятью, организацией распределения ресурсов процессора.
При организации дисковой памяти выполняются 4 главных правила:
  • Все файлы хранятся в блоках по 512 байт
  • Сектора выделяются по мере необходимости (исключение составляют IO.SYS и MSDOS.SYS)
  • Логическая связь между секторами обеспечивается с помощью FAT.
  • Каждая дискета содержит таблицу, в котором хранится перечень файлов на этой дискете.

Командный процессор

С помощью программы COMMAND.COM пользователь может управлять компьютером. Она хранит в себе таблицу встроенных команд. Получив от пользователя команду, он ищет её в таблице. Если он находит её там, то запускает. Если нет, то пытается найти её на диске (в текущем каталоге или в каталогах, указанных в переменной PATH) среди файлов с расширениями COM, EXE или BAT. Если же он не находит такой файл, то пишет что-то типа «Bad command or file name».
COMMAND.COM разбит на 2 части:

  1. первая загружается сразу же после IO.SYS и MSDOS.SYS и находится в памяти постоянно (обрабатывают прерывания 33d-36d),
  2. вторая (нерезидентная) часть содержит программу обработки команд, которая читает программу с диска в ОЗУ, настраивает адреса и передает ей управление (реализует функцию 4Bh прерывания 33d).

Список встроенных команд DOS:
  • CHDIR (CD) – изменяет текущий каталог
  • COPY – копирует файл
  • DEL (ERASE) – удаление файла
  • MKDIR (MD) – создание каталога
  • RMDIR (RD) – удаление каталога
  • BREAK – разрешает прерывать работу программ по нажатию клавиши Break
  • CALL – вызов внешнего командного файла из текущего
  • CHCP – установка или вывод (при запуске без параметров) кодовой страницы
  • CLS – отчитает экран
  • CTTY – смена устройства, с которого DOS получает команды
  • DATE – выдача и установка даты
  • DIR – вывод файлов в каталоге
  • EXIT – выход из command.com (при запуске нескольких командных процессоров)
  • FOR – организация цикла в командном файле
  • GOTO – переход на метку в командном файле
  • IF – организация ветвления по условию в командном файле
  • PATH – установка пути для поиска .COM и .EXE –файлов.
  • PAUSE – приостановка вывода информации на экран (в .bat-файле)
  • PROMPT – установка структуры системной строки
  • REM – комментарий в командном файле
  • ECHO – вывод на экран текста
  • REN (RENAME) – переименование файла
  • SET – ввод или вывод значений переменных в command.com
  • SHIFT – сдвиг параметров в командном файле
  • TIME – выдача и установка времени
  • TYPE – вывод файла на экран
  • VER – вывод версии DOS
  • VERIFY – включение или отключение режима проверки правильности записи файлов на диск.
  • VOL – вывод метки и серийного номера диска
  • HELP – вывод всех команд командного процессора
Утилиты и программы пользователя
Список основных внешних команды DOS:
  • ATTRIB – устанавливает или выводит атрибуты файла
  • ASSIGN – назначает имя дисковода другому дисководу
  • CHKDSK – проверка диска и вывод отчёта на экран
  • COMMAND – запуск второго командного процессора
  • FDISK – конфигурирование диска для DOS
  • FORMAT – форматирование диска для DOS
  • LABEL – выводит или записывает метку диска
  • SYS – перенос системных файлов на диск
Список дополнительных внешних команд ДОС:
  • APPEND – позволяет программам открывать файлы в указанных каталогах так, как будто они находятся в текущем.
  • BACKUP – создание запасной копии одного или нескольких файлах на другом диске
  • COMP – сравнивает содержимое двух файлов или двух групп файлов
  • DISKCOMP – сравнивает два диска
  • DISKCOPY – копирует файлы с одного диска на другой
  • EXE2BIN – преобразовывает .EXE-файл в .COM-файл (цифра «2» означает "to", а «bin» практически эквивалентно «com» – "exe to bin" – «из exe в bin»).
  • FASTOPEN – сокращает время, необходимое для загрузки файлов с диска
  • FC – сравнивает содержимое двух текстовых файлов и вывод различий
  • FIND – поиск текстовой сроки в файле или файлах
  • GRAFTABL – вывод или установка кодовой страницы символов в графическом режиме
  • GRAPHICS – распечатать графическое состояние экрана на принтере
  • JOIN – включить дисковод в указанный маршрут
  • KEYB – конфигурирование клавиатуры
  • MEM – вывод на экран карты памяти
  • MODE – настройка системный устройств
  • MORE – программа для приостановки вывода данных на экран при его заполнении (выводит в нижней строчке экрана «more…»)
  • NLSFUNC – загрузка «национальных стандартов» - представления чисел, даты-времени
  • PRINT – печать текстового файла
  • RECOVER – восстановление данных на повреждённом диске
  • REPLACE – замена файлов
  • RESTORE – восстановление данных, сохранённых с помощь программы BACKUP
  • SELECT – организует работу с НЖМД: создание логических дисков для DOS и других ОС.
  • SHARE – установка разграничений для доступа к файлам
  • SORT
  • SUBST – подстановка строки вместо маршрута
  • TREE – вывод псевдографического представления каталогов диска
  • XCOPY – копирование файла (или файлов) или дерева каталогов
Версии MS-DOS
  • 1.00 – Схожа с CP/M, но предназначена для 16-битного i8088. Поддерживает только 133-мм 8-секторные 160 Кбайт НГМД. Исходные коды 86-DOS были по дешевке куплена у фирмы Seattle Computer Products для перепродажи IBM'у. Кривой перенос на новый процессор наградил систему безумным количеством багов. В ОС еще отсутствует винрарная комбинация Ctrl+Alt+Del, которая была предложена инженерами IBM, после созерцания сего ужаса.
  • 1.05 – Устранены ряд ошибок, найденных в DOS 1.00
  • 1.10 – Дополнительно поддерживает двухсторонние 133-мм 8-и секторные 320 Кбайт НГМД
  • 2.00 – Появилась в связи с тем, что появилась IBM PC XT. Поддерживает: НЖМД ёмкостью до 10 Мбайт, НГМД 133-мм 9-секторные (180 Кбайт), НГМД 133-мм 9-секторные двухсторонние (360 Кбайт), древовидную структуру (вложенные каталоги), Дисплейный адаптер CGA. Реализует: перенаправление ввода/вывода, создание конвейеров. Обрабатывает команды: FC (только для MS-DOS), BACKUP, RESTORE, TREE, CD, MD, RD, PATH, PRINT (как фоновая печать) и другие… Имеет расширенный язык командных файлов: GOTO, IF, ECHO и некоторые другие.
  • 2.10 – Создана для PCjr. Устранены ряд ошибок, найденных в DOS 2.00
  • 3.00 – Появилась связи с созданием IBM PC AT. Поддерживает: НЖМД ёмкостью до 20 Мбайт, НГМД 133-мм 15-секторные 1,2 Мбайт, Виртуальные диск и ОЗУ. Реализует: выполнение программы находящейся не в рабочем каталоге, с помощью указания пути. Обрабатывает команды: ATTRIB, LABEL, SELECT, KEYBxx, SHARE, GRAFTABL, COUNTRY=.
  • 3.10 – Имеет ограниченные сетевые средства. Обрабатывает новые команды: JOIN и SUBST.
  • 3.20 – Создана для IBM Convertible. Поддерживает 86-мм 720 Кбайт НГМД. Обрабатывает: новые REPLASE, XCOPYи усовершенствованные ATTRIB, COMMAND, FORMAT (теперь препятствует непреднамеренному форматированию диска), SELECT, GRAPHICS, SHELL= команды.
  • 3.30 – Появилась, в связи с созданием первого компьютера семейства PS/2, но способна работать и на AT моделях. Поддерживает 86-мм 1,44 Мбайт НГМД и логические диски до 32 Мбайт. Поддерживает национальные языки. Устранены ошибки прошлой версии.
  • 4.00 – Поддерживает логические диски размером, больше 32 Мбайт. Поддерживает расширенную память. Обрабатывает команды MEM (новая), APPEND, ATTRIB, BACKUP, COUNTRY, MODE, FASTOPRN, FDISK, PRAPHICS, GRAFTABL, NLSFUNC, REPLACE, SELECT, TREE, DEL и др. (модифицированные). Содержит усовершенствованные драйверы ANSI.SYS, DISPLAY.SYS, DRIVERS.SYS, PRINTER.SYS. Полностью поддерживает все режимы видеоадаптеров типа EGA и VGA.
  • 4.01 – Содержит оболочку MS-DOS Shell с отдельными элементами "многозадачности".
  • 5.00 – Полностью поддерживает Верхнюю Память. Поддерживает 89-мм 2,88 Мбайт НГМД. Поддерживает логические диски на винчестере размером, больше 32 Мбайт. Обрабатывает команды: DIR, FORMAT, SYS (улучшены) DELOLDOS, DOSKEY, EXPAND, LOADHIGH, MIRROR, SETVER, UNDELETE, UNFORMAT (новые). Содержит оболочку MS-DOS Shell с интерфейсом, внешне напоминающем Windows (при запуске в графическом режиме - /G).
  • 6.00 – Переработано ядро. Добавлен компрессор дисков MS DoubleSpace. Добавлено средство дефрагментации дисков Defrag — лицензированная у Symantec урезанная версия Speed Disk.
  • 6.2 – Устранены ошибки версии 6.00
  • 6.21 – DoubleSpace убран из системы. В остальном схожа с 6.2
  • 6.22 – Вернулся компрессор дисков с переработанным кодом и под новым именем — DriveSpace. MS-DOS Shell из дистрибутива перенесён в MS-DOS Resource Kit.
  • 7.0 – Используется как ядро Win 95. Поддерживает длинные имена файлов.
  • 7.1 – Используется как ядро Win 98. Поддерживает FAT32 и НЖМД до 127 Гбайт (теоретический объем).
  • 8.0 – Используется как ядро Win ME. Нет возможности загрузки в режиме командной строки и большинства консольных команд.

Другие DOS

Сейчас DOS как отдельная ОС используется крайне редко. Вероятно, современных пользователей не устраивает интерфейс DOS – командная строка, которая всё чаще (как в DOS, так и в *nix) оказывается мощнее графического интерфейса.
Для советских персональных компьютерах в основном использовались пиратские русифицированные (и поддержанные производителем) ДОС, такие как Альфа-ДОС (ЕС-1840 i8086) или ДОС-16АДОС (Искра-1030 i8086) и НЕЙРОН-ДОС1. В них качество перевода оставляет желать лучшего, а об использовании символов кириллицы мы умолчим.
ФизТехСофт разработал PTS-DOS, систему совместимую с ДОС. Она полностью поддерживает прежние ДОСовые программы и содержит множество своих. В 2000 году была создана версия PTS-DOS с поддержкой 32-разрядных процессоров.
Так же существует FreeDOS — свободная DOS, разработка которой успешно завершилась. Эту ОС часто ставят на ноутбуки, для удешевления их стоимости, т. к. сама FreeDOS как GPL-продукт бесплатна. Однако в эксплуатации FreeDOS весьма необычна.

Комментариев нет:

Отправить комментарий