Корвет/Радио 10,12-89/Операционная система и программное обеспечение
Данный материал защищён авторскими правами!
Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей. Автор: С. АХМАНОВ, Н. РОЙ, А. СКУРИХИН Источник: http://www.pk-info.ru/infopk/doc/korvet_radio/doc5.htm |
Операционная система является наиболее важной программой ПЭВМ, поскольку она решает задачи управления различными частями компьютера, определяет последовательность действий, в которых наиболее часто возникает потребность. Вот ее основные функции:
- управление работой различных устройств ввода-вывода (например, дисплеями, принтером, накопителями на магнитных дисках и лентах и др.):
- управление размещением файлов на магнитных дисках;
- загрузка в память и запуск стандартных программ ОС и программ, написанных пользователем.
Здесь мы рассмотрим операционную систему СР/М-80 (от англ. control program for microprocessors — управляющая программа для микропроцессоров), которая применена в «Корвете».
Почему мы остановили свой выбор именно на этой ОС? CP/M-80 была разработана для ПЭВМ на микропроцессоре i8080 (отсюда число 80 в названии этой ОС) в 1975 г. Г. Кил-дэлом. С этого времени СР/М (далее для краткости будем называть ее так) стала одной из наиболее популярных в восьмиразрядных ЭВМ и признается «промышленным стандартом», поскольку она используется многими изготовителями ПЭВМ.
Эта ОС обеспечивает работу буквально сотен различных программ, созданных разработчиками программного обеспечения для персональных компьютеров.
Работа с ПЭВМ начинается с загрузки ОС — с перенесения ее с системного диска в оперативную память машины. Существуют два типа загрузки: начальная и реинициализация системы.
В каждой ПЭВМ, работающей с ОС СР/М, имеется программа начальной загрузки, хранящаяся в ПЗУ. ОС размещается на первых двух дорожках системного диска, поэтому программа в ПЗУ должна обеспечить считывание информации с этих дорожек и размещение ее в памяти. При включении ПЭВМ в сеть или при нажатии на кнопку «СБРОС» можно услышать звуковой сигнал, свидетельствующий о том, что информация с системных дорожек загружается. Какая именно информация записана на них?
Как мы уже знаем, ОС служит для управления различными устройствами, входящими в состав ПЭВМ. За это отвечает часть операционной системы, называемая BIOS (от англ. basic input-output system — базовая система ввода-вывода). BIOS содержит подпрограммы управления периферийными устройствами. Поскольку организация периферийных устройств отличается на различных ПЭВМ, то и BIOS различен для разных ПЭВМ. Обычно BIOS пишется непосредственно разработчиками машины.
Оставшаяся часть ОС — общая для всех машин, которые могут с ней работать. Она не зависит от машины и ее периферийных устройств и работает с ними только через BIOS. Называется эта часть BDOS (от англ. basic disk operating system — базовая дисковая операционная система).
В ОС СР/ М входит также программа ССР (от англ. console command processor — процессор команд консоли). В задачу ССР входят проверка состояния клавиатуры консоли на соответствие вводимых символов командам ОС СР/М и интерпретация команд.
Все три части ОС загружаются с системного диска. Процесс начальной загрузки называется «холодным стартом» системы. В результате «холодного старта» на экране дисплея появляется сообщение:
СР/М-80 v. 2.2 ОФП НИИЯФ МГУ BIOS Ver. 1.2 (с) III 1988 A>
Это информация для пользователя о номере версий загруженной системы, BIOS и ее авторах (в данном случае отдел физики плазмы НИИ ядерной физики МГУ). Последняя строка является стандартным сообщением о том, что ОС работает в данный момент с диском А и ждет команды пользователя (это сообщение называется промптом). Следует запомнить, что для нормальной работы машины необходимо, чтобы в дисководе А всегда находился диск, первые две дорожки которого содержат копию ОС СР/М.
В результате реинициализации системы (эту процедуру называют «теплым стартом») с системного диска копируется в память ПЭВМ только часть ОС. Остальная остается нетронутой. Обычно «теплый старт» используется при выходе из выполнявшейся программы. Процедура выполняется автоматически. Можно, однако, вручную вызвать «теплый старт», нажав на клавишу CTRL и, не отпуская ее, на С (клавиша CTRL находится слева на клавиатуре и на ней написано «УПР/CTRL»). Это бывает необходимо в тех случаях, когда ОС не может ре-инициализировать себя сама, например, при смене диска или при ошибках определенного типа. Если реинициализация системы не удалась, то необходимо выполнить полную перезагрузку системы, нажав на кнопку «СБРОС».
После загрузки операционной системы диск А автоматически становится текущим диском или диском по умолчанию, к которому подразумевается обращение во всех командах, если явно не дано другое указание.
Для изменения текущего диска необходимо набрать на клавиатуре имя нового, затем двоеточие и нажать клавишу ВК. Например, выбор текущим диском диска В можно осуществить следующим образом:
А>В: В>
Может оказаться, что и после помещения диска в дисковод попытка изменить текущий диск не даст результата. Это, как правило, является следствием несоответствия формата вновь вставленного диска формату, принятому в СР/М. Поэтому старайтесь пользоваться для форматирования дисков программой, имеющейся на вашем системном диске.
Если необходимо обратиться к файлу на другом диске, то вовсе не обязательно изменять текущий диск, достаточно перед именем файла указать имя диска, на котором он записан, отделив имя диска от имени файла двоеточием. Например, если необходимо просмотреть содержимое файла PROGRAM1.BAS, находящегося на диске в дисководе В, можно выполнить команду:
А>TYPE В:PROGRAM 1.BAS
Какие же основные команды входят в операционную систему СР/М? К ним относят команды управляющих символов, а также встроенные и транзитные. Рассмотрим вначале значение и действие команд управляющих символов.
Для их ввода достаточно нажать одновременно клавиши, УПР/CTRL и с требуемым символом.
С одним из них мы уже познакомились, это CTRL-C — команда реинициализации системы.
Отметим, что вместо клавиши ВК для завершения ввода можно использовать следующие управляющие символы:
- CTRL-M — вызывает возврат каретки, эквивалентен действию клавиши ВК;
- CTRL-J — вызывает перевод строки;
- CTRL-H или BACKSPACE — возвращает курсор на одну позицию назад и стирает символ, стоящий в этой позиции (клавиша BACKSPACE находится в верхнем ряду клавиатуры справа и обозначается <==);
- DEL — стирает символ слева от курсора;
- CTRL-V — удаляет уже набранную командную строку и перемещает курсор в начало следующей строки;
- CTRL-X — удаляет текст командной строки и возвращает курсор в ее начало;
- CTRL-E — используется для переноса командной строки на следующую строку экрана, пока не нажата клавиша ВК. Когда ВК будет, наконец, нажата, то все введенные с помощью CTRL-E команды будут восприняты СР/М как единая командная строка;
- CTRL-R — используется для повторного вывода командной строки, содержащей удаленные при нажатии клавиши DEL символы. В результате из командной строки будут исключены все удаленные символы, и в таком виде она будет выдана на следующую строку экрана;
- CTRL-S — служит для задержки вывода текста на экран; при первом использовании команды вывод прекращается, при следующем — возобновляется; подобную процедуру можно повторять столько раз, сколько потребуется;
- CTRL-P — используется для вывода на принтер любого текста, появляющегося на экране. Способ ее использования аналогичен команде CTRL-S.
Теперь познакомимся с встроенными командами, которые входят в операционную систему СР/М. Они называются также резидентными, являются частью ОС и хранятся вместе с ней в одной и той же области оперативной памяти.
Начнем с наиболее часто используемой команды DIR для вывода на экран или принтер данных о файлах, содержащихся на указанном диске.
Команда иллюстрирует способ ввода сообщений с клавиатуры в операционную систему СР/М. Сообщение состоит из команды и отделенных от нее пробелом одного или нескольких операндов. Операндами являются дополнительные сообщения системе о том, что конкретно от нее требуется. Если применена команда DIR (без операндов), то отображается полное оглавление текущего диска:
A>DIR A: STAT СОМ : PIP СОМ : MOVCPM СОМ : SYSGEN СОМ A: FORMAT СОМ : LOAD СОМ : DDT СОМ : ASM СОМ A: SUBMIT СОМ : XSUB СОМ : ED СОМ А>
Как видим, при завершении выполнения команды снова появляется промпт А>.
Если же DIR желают использовать для вывода оглавления других дисков, то в этом случае в качестве операнда нужно указать имя диска и поставить двоеточие, например:
A>DIR В: В: PIP СОМ : TEXT ТХТ : BASIC СОМ : PROG BAS B: SUBMIT СОМ А>
Команда DIR позволяет выводить на экран все оглавление. а также имена отдельных файлов или группы с общими признаками. Для этого в качестве операнда указывается имя файла или общий признак группы. Оно содержит и глобальные символы * и ?, например:
A>DIR В:*.СОМ В:PIP СОМ : BASIC СОМ : SUBMIT СОМ
Следующая команда, с которой мы познакомимся, называется REN (от англ. rename — переименовать). Это команда изменения имени (переименования) файлов, содержащихся в каталоге диска. Синтаксис команды имеет вид:
A>REN B:PROGRAM1.BAS
При попытке переименовать несуществующий в оглавлении файл выдается сообщение N0 FILE.
В операционных системах обычно устанавливается различный уровень доступа к файлам. Это делается для их защиты, чтобы предотвратить случайное стирание нужных файлов. Уровень доступа R/O (от англ. read only) уже содержит элемент защиты, так как разрешает только чтение, a R/W (от англ. read/write) — чтение и запись или свободный доступ. При попытке переименовать файл с уровнем R/0 выдается сообщение:
FILE IS SET R/O (файл имеет такой уровень доступа, что он может быть только прочитан). Для появления промпта в этом случае необходимо нажать клавишу ВК.
Отметим, что использование в операндах команды REN глобальных символов ? и * не допускается.
При необходимости удаления хранящихся на диске файлов используют команду ERA (от англ. erase — стирать). Она очень опасна тем, что неправильное ее применение вызовет стирание полезных программ. Правда, по команде ERA реально ничего не уничтожается. Просто удаляется из каталога имя файла, а сам файл остается нетронутым. Однако после этого прочесть его стандартными средствами ОС СР/М невозможно. В случае, если вы случайно стерли что-нибудь необыкновенно ценное, советуем обратиться за помощью к более опытным системным программистам, и они помогут вам восстановить утраченный файл.
Пользоваться командой ERA очень просто. Достаточно после имени команды указать имя стираемого файла. Проиллюстрируем сказанное примером:
A>ERA TEXT.TXT А>
Любителям стирать файлы дадим несколько рекомендаций по технике безопасности. Не жалейте дисков. Храните резервные копии важных и ценных программ в недоступном для других и, в особенности, для себя месте. Прежде чем набрать команду ERA, трижды подумайте.
Перейдем теперь к наиболее опасному по последствиям использованию команды ERA. Сейчас мы научимся уничтожать целые группы файлов, вплоть до стирания всей информации, записанной на диске. Для этой цели применяют глобальные символы в имени файла.
Предположим, что вы хотите удалить все файлы, имеющие расширение ТХТ. Для этого вы должны набрать команду:
A>ERA *.ТХТ
В результате все файлы с расширением ТХТ будут удалены. А как быть, если вам нужно удалить не все файлы с расширением ТХТ? В этом случае нужно либо удалять их по одному, не используя глобальных символов, либо переименовать те, которые вы удалять не собираетесь.
Рассмотрим, наконец, использование команды ERA для «леденящей душу» процедуры уничтожения всего, что есть на диске. Команда в этом случае имеет вид:
A>ERA *.*
Когда вы нажмете клавишу ВК после ввода команды, то машина в испуге попробует вас остановить и на экране появится вопрос: ALL (Y/N)? Если вы ответите Y (Yes), то машина, скрепя сердце, сотрет все содержимое диска. Если вы ответите N (No), то машина с облегчением выведет на экран промпт и не будет ничего стирать.
При попытке стереть несуществующий файл выводится сообщение NO FILE. Если стираемый файл имеет уровень защиты R/O, появляется сообщение FILE IS SET R/O, после чего необходимо нажать клавишу ВК.
Еще раз хочется напомнить: защищайте файлы и диски от случайного стирания и не доверяйте своих дисков случайным пользователям. Помните, что восстановление утраченных программ требует больших затрат времени, а в ряде случаев оказывается невозможным.
Перейдем к следующей встроенной команде — TYPE. Она нужна для просмотра текстовых файлов и вывода на дисплей его содержимого.
Предположим, что вы написали большую и очень полезную программу или текст вашего выступления на всемирном конгрессе пользователей «Корвета». Мысль о большой проделанной работе согревает вашу душу. Но время от времени закрадывается сомнение: а цело ли ваше творение? Не стерли ли его злоумышленники? Просмотр оглавления диска немного успокаивает. Да, вот оно, на месте, и имя тоже. А вдруг с самим текстом что-нибудь приключилось? Для того чтобы убедиться в его сохранности, а также для просмотра других текстовых файлов, и служит команда TYPE. Заметим, что попытка просмотра с помощью команды TYPE файлов, не предназначенных для вывода на экран, например командных, приводит к непредсказуемым последствиям. Формат команды TYPE имеет вид:
A>TYPE PROGRAM. BAS
Использование глобальных символов в команде TYPE не допускается. Поэтому единовременно можно вывести на экран только один файл. Если вы просите вывести содержимое несуществующего файла, то появится сообщение об ошибке в виде имени файла, сопровождаемого вопросительным знаком. То же самое будет выдано на экран при использовании глобальных символов.
Если файл очень длинный, можно воспользоваться командой CTRL-S для задержки его вывода. Нажатие любых других клавиш на клавиатуре продолжает выдачу текста на экран, и в конце выдачи появляется промпт.
Введем в наш обиход еще одну команду USER — это команда обращения различных пользователей к своим файлам, хранящимся на одном и том же диске, разделенном на области. USER используется при пользовании одним компьютером. Если бы у каждого программиста был на столе персональный компьютер и множество дисков, надобность в ней полностью отпала бы. Но это пока представляется лишь в мечтах. Обычно, хотя компьютер называют и персональный, с ним работают разные пользователи. У каждого есть свои программы, но не у каждого есть собственные диски. Для избежания путаницы, где чьи файлы, была придумана команда USER. В многопользовательском режиме работы каждый диск разбивается на области с номерами от 0 до 15 (16 областей). Каждый пользователь имеет свою собственную область, в которой он хранит программы. Не следует думать, что такая организация дисков позволяет нескольким людям работать на машине одновременно- Операционная система СР/М — однопользовательская. Все, что будет сейчас излагаться, относится только к созданию архива.
После загрузки ОС СР/М текущей активной областью становится область с номером 0. При просмотре директории вы увидите только файлы, размещенные в текущей области. Для того чтобы добраться до файлов, расположенных в других областях, нужно сделать соответствующую область активной. При этом выбранная область делается текущей на всех дисках, вставленных в дисководы, независимо от того, с каким из них вы работаете в данный момент.
Попробуем создать новую активную область на всех дисках, вставленных в дисководы вашей машины. Для этого необходимо набрать команду USER и через пробел ввести номер области в пределах от 0 до 15, например:
A>USER 1 А>
После ввода этой команды на экран не выводится никаких сообщений, кроме основного промпта. Однако кое-что все-таки произошло. При вводе команды DIR вы получите сообщение NO FILE. При этом вам окажутся недоступными все транзитные команды ОС СР/М и пользоваться можно будет только резидентными командами.
Мы уже рассмотрели команды управляющих символов, а также встроенные команды, входящие в операционную систему СР/М. На очереди — транзитные.
Транзитных команд может быть очень много. Они хранятся постоянно на диске в виде командных файлов. По существу, любая программа в машинных кодах может являться транзитной, а все файлы, содержащие их, имеют расширение своего имени СОМ. Приведем примеры таких стандартных программ:
- STAT — предоставляет пользователю информацию о состоянии диска (от англ. status — состояние);
- PIP — осуществляет обмен данными с периферийными устройствами. Она необходима также при копировании системного диска;
- ED — команда позволяет пользователю запустить текстовый редактор (от англ. editor — редактор);
- SUBMIT — предоставляет возможность запустить последовательность команд, указанных в заранее подготовленном файле;
- ASM — позволяет произвести перевод программы, написанной на языке Ассемблер при помощи редактора ED или какого-нибудь другого, в шестнадцатиричный файл с расширением HEX. Его, в свою очередь, можно преобразовать в командный файл при помощи программы LOAD;
- LOAD — команда используется для преобразования шестнадцатиричного файла в файл, содержащий машинные коды;
- DDT — позволяет проследить процесс работы различных программ в машинных кодах и, таким образом, выявить имеющиеся в них ошибки (от англ. dinamic debugging tool — динамическая отладка программ);
- DUMP — используется для вывода на экран дисплея или на принтер в шестнадцатиричном формате содержимого командных файлов;
- FORMAT — форматирует диски (от англ. format — форматировать);
- SYSGEN — копирует ОС с диска на диск (от англ. system generation — создание системы).
Перечислим функции команды STAT.
- Прежде всего, она может выводить на экран объем свободного пространства на всех используемых в настоящее время дисках и режим доступа к дискам. Напомним, что режим доступа бывает двух типов: R/O (от англ. read only — только чтение) и R/W (от англ. read write — чтение и запись). На диск с доступом R/O нельзя ничего записывать. Это значит, что вы не можете ни дополнить содержимое этого диска, ни удалить какие-либо файлы. С такого диска информацию можно только читать. Доступ R/W означает, что с диска можно читать и можно записывать на него информацию.
- STAT может выводить на экран характеристики как отдельных файлов, так и их групп. Для этого в качестве операнда нужно использовать соответствующее имя или, применяя глобальные символы, обозначить группу файлов.
- Эта команда используется для защиты отдельных файлов и целых их каталогов (присваивая им статус R/O).
- Она позволяет создавать скрытые файлы. С помощью команды STAT им присваивается специальный атрибут, и имя файла не будет выводиться на экран по команде DIR из соображений секретности.
- Команда STAT позволяет посмотреть номер активной области, определенный командой USER.
- Обычно стандартным периферийным устройствам присвоены некоторые логические имена. Например, консоль — CON: принтер (цифропечать) — LPT: или PRT: и т. д. По команде STAT вы можете узнать, какие логические имена присвоены, а также изменить их, если есть желание, или завести новые из списка разрешенных имен, который также выводится по команде STAT.
Разберем эти функции по порядку. Файл STAT.СОМ должен находиться в директории вашей активной области. Попробуем набрать команду STAT без операндов. На экране тут же появятся cледующие строки:
A>STAT A:R/W SPACE: 140K А>
Программа STAT вывела на экран сообщение о статусе диска R/W (или R/O) и размере свободного пространства. Если во все дисководы вставлены диски, то подобная информация появится обо всех дисках. Отметим, что по команде STAT будут просмотрены остальные диски, только если к ним уже обращались с какой-либо командой или был выполнен «теплый» старт системы. Другими словами, ОС должна знать, что мы вставили диски в дисководы.
Если в качестве операнда у команды STAT используется имя какого-либо файла, то мы можем получить информацию о его размерах и статусе. Например, если вы интересуетесь размером файла ТЕХТ.ТХТ, то по команде STAT TEXT.TXT вы получите следующую информацию:
A>STAT ТЕХТ.ТХТ RECS BYTES ЕХТ АСС 110 14К 1 R/W А:ТЕХТ.ТХТ BYTES REMAINING ON A:476K A>
Первая строка этого сообщения — названия столбцов. Вторая — содержание соответствующих столбцов. На третьей строке указывается свободное пространство на диске. В этом сообщении содержится информация о количестве записей в данном файле, его размере и уровне защиты.
Разберемся в том, какой смысл имеют выводимые на экран характеристики.
Запись является единицей объема информации, хранимой на диске. В СР/М длина записи равна 128 байтам. Число, указанное в графе RECS, равно количеству 128-байтных записей в файле, а указанное в графе BYTES представляет собой округленный размер файла в килобайтах.
Еще одной единицей измерения объема файлов в СР/М является экстент. Он равен 16К. Графа ЕХТ содержит размер файла в экстентах. Приращение в этой графе может быть только целым. Как правило, эту цифру можно не принимать во внимание.
Код, напечатанный в столбце АСС, представляет собой статус защиты файла: R/W или R/O.
В команде STAT можно использовать глобальные символы * и ?.
Мы многократно упоминали, что файлы можно защищать. Но пока непонятно, как это сделать. Сейчас пришло время овладеть этой премудростью. Для установки статуса защиты необходимо в качестве второго операнда команды STAT использовать $ R/W или $ R/O.
В качестве примера сделаем какой-либо файл защищенным от записи. Пусть этот файл называется ТЕХТ.ТХТ. Тогда ваши действия должны быть следующими:
A>STAT ТЕХТ.ТХТ $ R/O ТЕХТ.ТХТ SET TO R/O А>
Разумеется, все эти операции нужно произвести с файлом, имеющимся на диске. В противном случае появится сообщение об ошибке.
Команда STAT позволяет временно защитить от записи весь диск. Эта защита сохраняется только пока диск вставлен в дисковод, например:
A>STAT A:-R/O А>
Для снятия защиты необходимо провести «теплый» или «холодный» старт системы.
Разберемся еще с одной интересной функцией команды STAT. Предположим, что вы не хотите, чтобы кто-либо видел некоторые ваши файлы в директории. Команда STAT поможет вам спрятать их и сделать невидимыми. Это также бывает полезно, чтобы не выводить каждый раз в оглавлении имена системных файлов. Для того чтобы это сделать, используют операнд $ SYS.
A>STAT STAT. СОМ $ SYS STAT.COM SET TO SYS А>
Теперь по команде DIR вы не увидите в оглавлении файл STAT.COM. Атрибут $ SYS может быть назначен произвольному числу файлов при использовании глобальных символов * и ?. Для отмены статуса «скрытый» используется атрибут $ DIR, например:
A>STAT STAT.COM $ DIR STAT.COM SET TO DIR A>
Команда STAT может выдавать информацию о характеристиках дисков. Например, сообщение о двустороннем диске с двойной плотностью записи при емкости 1024К на сектор имеет вид:
A>STAT DSK: A: DRIVE CHARACTERISTICS 9600: 128BYTE RECORD CAPACITY 1200: KYLOBYTE RECORD CAPACITY 256: 32BYTE DIRECTORY ENTRIES 256: CHECKED DIRECTORY ENTRIES 128: RECORDS/EXTENT 16: RECORDS/BLOCK 4: SECTORS/TRACK 4: RESERVED TRACKS A>
Поясним смысл каждого сообщения.
128 BYTE RECORD CAPACITY указывает число 128-байтных записей, которое может храниться на диске. Запись является единицей измерения объема данных. Сделано это для повышения эффективности обработки файлов.
KILOBYTE RECORD CAPACITY указывает максимальную емкость диска в килобайтах.
32 BYTE DIRECTORY ENTRIES показывает максимальное количество файлов, которые можно хранить на диске. Информация об одном файле, хранящемся на диске, занимает в каталоге пространство, равное 32 байтам.
CHECKED DIRECTORY ENTRIES — это значение, как правило, совпадает с предыдущим. Его назначение — отслеживание системой смены дисков.
RECORDS/EXTENT определяет максимальное число записей на один экстент, которому соответствует один вход в каталог. Один экстент, как вы помните, занимает 16 К, то есть 128 записей. Отдельные файлы могут занимать несколько экстентов.
RECORDS/BLOCK указывает минимальный объем дисковой памяти, который можно предоставить для одного файла. Для определения размера блока нужно умножить этот параметр на длину записи, то есть на 128байт. В нашем примере легко получить, что блок имеет длину 128байт Х 16 = 2048байт = 2К.
SECTORS/TRACK показывает количество секторов на одной дорожке.
RESERVED TRACKS обозначает количество дорожек, зарезервированных для системных нужд. Обычно их две — нулевая и первая. На них хранятся BIOS, BDOS и ССР.
Теперь подробней рассмотрим команду PIP, предназначенную для обмена информацией с периферийными устройствами.
Для того чтобы пользоваться командой PIP, необходимо иметь на вашем диске в активной областа файл PIP.COM. Мы исходим из того, что файл PIP.COM на вашем диске имеется.
Перечислим функции команды PIP: создание копии файла на текущем диске; копирование одного файла или группы файлов на другие диски; объединение нескольких файлов в один файл; обмен данными между дисками и другими устройствами.
Команда PIP имеет еще много дополнительных возможностей, но здесь мы не будем их рассматривать. Интересующихся отошлем к книге «Операционная система СР/М», написанной М. Уэйтом и Дж. Ангермейером. Перевод ее вышел в издательстве «Радио и связь» в 1986 г.
Попробуем работать с командой PIP. Сначала наберите PIP и нажмите клавишу ВК, после чего на экране появится:
А>РIР *
Вы видите, что вместо системного промпта А> появился новый промпт *. Это так называемый промпт команды PIP. Его появление означает, что команда загружена и готова к работе. Вспомним теперь, как копировать файлы. Сначала мы должны указать имя копии «приемника» (от англ. destination), затем имя «источника» (от англ. source). Если мы объединяем много файлов в один, их имена перечисляются одно за другим через запятую. В этом случае на экране должна быть набрана следующая строка:
* D:FILENAME=S:FILENAME1, FILENAME2, ...
Здесь D: — выходное устройство — может быть не только диском, но и логическим устройством. То же можно сказать и про входное устройство S: . Имена файлов могут быть опущены, однако если идет работа с дисками, хотя бы одно имя файла должно присутствовать. Эту малопонятную фразу не следует рассматривать как нечто непостижимое для понимания. Обычно, следуя простой логике, нетрудно сообразить, когда имя файла необходимо указывать, а когда нет.
Исследуем теперь по порядку упомянутые функции команды PIP.
Начнем с копирования файлов на одном и том же диске и с диска на диск. Для этого нужно сообщить программе имя копируемого файла. Допустим, что у вас имеется файл PROG.TXT. Если вы хотите создать его копию под именем PROG1.TXT, то в этом случае в ответ на промпт команды PIP вы можете ответить:
* A:PROG1.TXT=A:PROG.TXT
В этом случае необходимо указать имена двух файлов источника (A:PROG.TXT) и копии (A:PROG1.TXT). Если диск А — текущий, его имя можно не указывать.
Для пользователей, имеющих достаточное количество дисков, возможно копирование с одного диска на другой, формат записи команды тот же, только нужно указать, с какого диска на какой идет копирование. Если ваш файл находится на диске А и этот диск текущий, вы должны набрать команду:
* B:PROG.TXT=PROG.TXT
Для изменения имени файла равноправными командами являются:
* B:PROG.TXT=PROG.TXT * В:=PROG.TXT * B:PROG.TXT=A:
Вас, наверное, волнует вопрос, как выйти из команды PIP и вернуть на экран промпт СР/М? Очень просто. Нажмите клавишу ВК.
Для копирования нескольких файлов можно использовать глобальные символы ? и *.
Возможно, у вас возник вопрос: что будет, если файл, который вы указали как выходной, уже существует на диске? PIP просто запишет на то же место новую информацию. А как быть с защитой? Если файл имел статус R/W, то он просто перепишется. Если же статус был R/O, в этом случае PIP сообщит, что файл уже существует и предназначен только для чтения. После этого вам нужно будет ответить на вопрос, стирать его или нет. Если вы ответите N, то копирования не произойдет и все останется, как было. Ответив Y, вы сотрете старый файл и запишите на его место новый. Вообще, полезно внимательно читать то, что сообщается вам на экране дисплея.
Отметим еще одну важную особенность команды PIP. Она копирует только те файлы, которые можно увидеть в каталоге при помощи команды DIR. Поэтому, если вы присвоили файлу статус SYS, своевременно измените его на DIR при помощи команды STAT.
Пользоваться командой PIP можно двумя способами. Вы либо сразу указываете в командной строке всю последовательность действий, либо, набрав PIP и нажав клавишу ВК, последовательно вводите их. В первом случае после самой команды через пробел вводятся ваши требования, например, копирования трех файлов в один:
A>PIP B:PROG.TXT=A:PROG1.TXT,PROG2.TXT,PROG3.TXT А>
Обратите внимание, что в этом случае сразу появляется промпт СР/М, а не PIP.
Команда PIP позволяет также выводить содержимое файлов на стандартные устройства. Например, если вы хотите ввести какие-либо данные с консоли в файл TEST.TXT, необходимо ввести команду:
A>PIP TEST.TXT=CON:
После этого программа переходит к процессу обмена консоли с диском: все, что вы набираете на клавиатуре, записывается на диск. Для окончания этого процесса необходимо ввести символ CTRL—Z.
Мы не рассматривали здесь такие программы, как DDT, ASM, LOAD, SAVE и т. д. Эти программы обычно нужны системным программистам, работающим на языке Ассемблер.
Перейдем теперь к другим программам. Начнем с Бейсика.
Бейсик — это язык, который должен обязательно входить в состав программного обеспечения любого персонального компьютера. Для нашего компьютера был специально написан интерпретатор языка Бейсик, который с точки зрения пользователя не отличается от языков Бейсик фирмы «Microsoft», являющихся стандартными. Бейсик, написанный для ПК"Корвет", является подмножеством языков Бейсик фирмы «Microsoft» и существует в двух версиях объемами 16 и 24 Кбайт, что оставляет еще большой запас в пределах возможных 96 Кбайт для дальнейшего расширения. Интерпретатор языка находится в машине резидентно, не требуя никаких устройств внешней памяти, и пользователь получает его в свое распоряжение при включении компьютера в сеть.
Теперь остановимся на программных средствах, имеющихся в распоряжении пользователя «Корвета», на возможностях, предоставляемых операционной системой СР/М-80. Если начать с программ, необходимых массовому пользователю, то можно выделить три типа. Это редактор текста, а также и средство для обработки архивов и табличной информации. В качестве редактора текста в «Корвете» используется отечественный редактор «Супертекст», являющийся аналогом одного из наиболее мощных редакторов «Final Word». Настоящая статья была подготовлена с помощью редактора «Супертекст» на «Корвете».
Для обработки архивов можно использовать широко известную базу данных dBase II, а для работы с таблицами также очень популярную программу Multiplan фирмы «Microsoft». Что касается системных программных средств, выбор их чрезвычайно широк. Существуют различные ассемблеры, перемещающие загрузчики, отладчики, пакеты утилит. Имеются компиляторы с таких языков высокого уровня, как фортран, Паскаль, Си, Ада, форт, Лисп, ПЛ/М и других. Основным языком для разработки прикладных программ для «Корвета» является «Си». В настоящее время разработана библиотека графических процедур для языка «Си», которая делает в полной мере доступными программисту преимущества аппаратных средств «Корвета». Например, одна из функций библиотеки реализует так называемые спрайты (это маленькие объекты типа стрелок или игровых персонажей), получение которых без специальных заказных БИС считается невозможным. В нашем компьютере реализованы спрайты со скоростью перемещения до 1—2 мс на один шаг.
В заключение скажем несколько слов о том, кто занимается производством нашего компьютера. Основным производителем является Бакинское производственное объединение «Радиостроение». В Москве производством «Корвета» заняты опытно-экспериментальное производство Московского экспериментально-вычислительного центра ГКВТИ «ЭЛЕКС» и кооператив «ЭЛИН».
С. АХМАНОВ, Н. РОЙ, .А. СКУРИХИН
Сканирование и обработка: А. Болтаевский, 06.07.2000