Е.Д. Булатов, Е.А. Отливанчик, М.А. Отливанчик, И.Н. Си сак ян, В.А. Суворов
ПЕРСОНАЛЬНЫЕ КОМПЬЮТЕРЫ В АВТОМАТИЗАЦИИ НАУЧНЫХ ИССЛЕДОВАНИЙ
Персональные компьютеры (ПК) появились уже почти десять лет назад и яа это яремя преярати-лись из средства развлечения (как приемника телевизионных игр) в мощное и наиболее массовое средство вычислительной техники (ВТ). Они вызвали появление феномена персональных вычислений и за-
ставили пересмотреть основные направления и перспективы развития ВТ и ее применения во всех областях деятельности человека. В настоящее время ПК существенно потеснили большие и мини-компьюте-ры на мировых рынках ВТ в стоимостном отношении, а в количественном отношении ежегодный вы-
пуск Г1К уже превысил выпуск всех остальных ви-дов автономной ВТ и составляет около 10 млн. шт.
Несмотря на то, что феномену ПК посвящен ряд публикаций , необходимо еще раз кратко оста-новиться на основных характеристиках ПК, их программном обеспечении и возможностях применения в научных исследованиях. Необходимость этого обусловлена как большим интересом, проявляемым общественностью к ПК, так и отсутствием у большинства специалистов опыта работы с этим видом вычислительной техники, что связано с малой его распространенностью в СССР.
ПК характеризуются, в первую очередь, малыми размерами, относительно низкой стоимостью и большими объемами выпуска, что обеспечивает возможность наличия такого компьютера в личном распоряжении каждого заинтересованного в этом человека и делает компьютер персональным. Необходимо отметить, что эти факторы взаимосвязаны: достаточно дешевым компьютер может быть только при больших объемах выпуска. Другим важным свойством ПК является простота обращения и общения с ним. Это дает возможность эффективно использовать его неквалифицированному в области программирования пользователю, каковым является массовый потребитель ВТ, и миновать наиболее сложную часть процесса автоматизации - формализацию профессиональных знаний. Простота обращения обеспечивается очень высокой надежностью аппаратуры и доступностью для пользователя программного обеспечения ПК, как прикладного, так и системного. Простота общения с ПК требует обязательного наличия встроенной интерактивной графики и использования звуковых эффектов, а в перспективе—и речевого ввода-вывода.
В настоящее время за рубежом выпускается огромное количество моделей ПК. Их можно разделить на три основные категории по стоимости и производительности.
Первая категория — это компьютеры со стоимостью до 1000 долл., называемые домашними. Эти ПК строятся обычно на 8-разрядных микропроцессорах, имеют память объемом до 64 кбайт и интерфейсы к дешевым принтерам и бытовым кассетным магнитофонам. Некоторые модели имеют встроенный магнитофон (Sinclar QL. EPSON НХ20). Такие ПК имеют записанное в ПЗУ программное обеспечение для игр, ведения личных дел (редактор, записная книжка, телефонный справочник) и несложных расчетов (интерпретатор BASIC). Важной особенностью этих ПК является их закрытая структура, то есть к ним невозможно простым способом подключить непредусмотренную фирмой-изготовителем периферию. Единственная возможность связи с ней -через существующие последовательный или параллельный порты ПК.
'Громов Г.Р. Национальные информационные ресурсы. - М.: Наука, 1984.
Вторая категория — это компьютеры со стоимостью в несколько тысяч долларов, называемые полупрофессиональными. Такие ПК в настоящее время строятся на 8- и 16-разрядных микропроцессорах, имеют внешнюю память на гибких или твердых магнитных дисках и открытую структуру, позволяющую подключать к ним практически любые внешние устройства. Они имеют большую производительность, чем домашние ПК, и расширенные наборы периферийных устройств. Наличие внешней дисковой памяти даст возможность использования на этих ПК существенно более мощного и многообразного программного обеспечения. Характерным представителем таких ПК является Apple II.
Третья категория — это компьютеры со стоимостью более 5000 долл., называемые профессиональными. Они строятся на 16-и 32-разрядных микропроцессорах, имеют еще ббльшие объемы оперативной памяти (ОП) и обширную периферию. Эти ПК также имеют открытую структуру. Характерным представителем таких ПК является IBM-PC.
Границы этого разделения не четкие; так, среди домашних ПК есть и 16-разрядный Sinclar QL, а в других категориях выпускаются системы, являющиеся обычно упрощенными или переносными вариантами стандартных систем (Apple IIc.IBM PC/JR, DG/ONE).
В последних двух категориях ПК имеются лидеры, отличающиеся наибольшими объемами выпуска и разработанного для них программного обеспечения. Так как программное обеспечение сейчас является определяющим в производстве компьютеров, то большую роль играет программная совместимость ПК с лидерами. Так, многие фирмы выпускают компьютеры или программно совместимые с IBM PC и Apple II, или предусматривают специальный режим совместимости с ними.
В СССР и социалистических странах выпускаются или разработаны ПК всех трех категорий. Среди домашних можно отметить такие, как "Электро-ника-БК 0010", МИКРОША, "Правец-8Д" (НРБ), совместимый программно с ПК Apple II. Среди полупрофессиональных выделяется "Правец-8М'\ производимый в НРБ крупными партиями и совместимый аппаратно и программно с Apple II. В СССР выпускается частично совместимый с Apple II ПК "Агат" и разработан ПК "Ириша", имеющий характеристики, средние между домашними и полупрофессиональными ПК. и предназначенный, в основном, для целей обучения. В категории профессиональных ПК следует отметить выпускаемую в НРБ серию "Правец-16", аппаратно и программно совместимую с IBM PC. В СССР разработаны аналогичные ПК ИСКРА-1030 и ЕС-1840, не совместимые аппаратно, но совместимые программно с IBM PC.
Поскольку разнообразие и общее количество ПК очень велико и продолжает стремительно расти, не удивительно, что их программное обеспечение также чрезвычайно богато и разнообразно. Иногда это приводит к довольно неожиданным результа-
там: вместо того чтобы активно использовать в своей деятельности этот запас, пользователь-новичок пугается изобилия программ и замыкается на использовании минимального количества языков (обычно это BASIC) и традиционных методов программирования, принятых на доперсональных компьютерах. Сделанная здесь попытка дать краткий обзор программных средств для ПК имеет цель помочь такому пользователю разобраться в том, что ему может быть полезно.
В начальный период развития ПК количество операционных систем для них росло так же стремительно, как и количество моделей самих компьютеров. Со временем стало ясно, что успех каждой новой модели в значительной степени определяется тем, какое количество уже имеющихся программ может на ней работать. Для этого необходима программная совместимость ПК, а следовательно, стандартизация работающих на этих компьютерах операционных систем. Таким стандартом de facto для 8-разрядных микрокомпьютеров на основе микропроцессора Intel-8080 и совместимых с ним стала ОС СР/М, созданная в начале 70-х годов. Поскольку большинство 8-разрядных ПК построено именно на этих микропроцессорах, СР/М и до сих пор является лидером в этой области. Для этой ОС написано, по разным оценкам, 300, 3000 или 10000 программ (в зависимости от того, какие программы прини-магь в расчет). Чтобы дать возможность использовать эти программы, большинство новых компьютеров поставляются с СР/М. Для тех же моделей, которые не могут работать с СР/М, так как построены на другом микропроцессоре, часто поставляются дополнительные аппаратные средства, предоставля ющие эту возможность (например, плата SoftCard для компьютера Apple II)
Имеется также ряд операционных систем, похожих или совместимых с СР/М, например CDOS, I/OS. ТР/М и т. д.
С появлением 16-разрядных ПК на микропроцессорах Intcl-8086/88 почти одновременно появились операционные системы СР/М-86 и MS-DOS. Обе эти ОС являются развитием СР/М, хотя и не совместимы между собой. В настоящее время на компьютерах. совместимых с IBM PC, как правило, используется MS-DOS, а на других компьютерах на процес сорах Intel-8086/88—СР/М-86 особенно ее более поздняя версия Concurrent СР/М. допускающая мультипрограммную работу. Весьма интересным является дальнейшее развитие линии СР/М-86 - операционная система Concurrent PC-DOS для компьютеров IBM PC и совместимых с ними. Эта операционная система допускает параллельное выполнение до четырех программ, нормально работающих под СР/М-86 и MS-DOS. и совместима с обеими системами по формату записи на диск. Для ПК на основе микропроцессора Motorola-68000 существует операционная система СР/М-68К из семейства ОС СР/М.
Для 16-разрядных ПК существует еще одно семейство совместимых между собой, но несовме-
стимых с предыдущими операционных систем - ОС типа UNIX. Эта ОС первоначально использовалась в вычислительных системах коллективного пользования на мини-компьютерах, а затем была перенесена и на персональные компьютеры. Традиционно ОС этого семейства используются на микропроцессорах Motorola-68000 и National Semiconductor-16000, а также на некоторых других аппаратно-несовмести-мых системах. Имеются и операционные системы этого семейства для IBM PC: PC-IX, VENIX, XFNIX и некоторые другие, но они менее распространены, чем предыдущие.
Стандартным языком для ПК является BASIC, который считается достаточно простым для освоения его пользователем - непрофессиональным программистом. Как правило, этот язык записывается в ПЗУ и доступен в любой, даже бездисковой конфигурации компьютера. Наибольшее распространение получила версия языка фирмы Microsoft. Для многих версий BASIC, помимо интерпретатора, имеется еще и компилятор. Кроме того, на дисках для различных операционных систем имеются практически все распространенные языки программирования. Это, прежде всего, FORTRAN (FORTRAN-IV и FORTRAN-77), Pascal (Pascal/MT+, Turbo Pascal) и С во множестве вариантов. В последнее время начинает получать распространение язык Modula-2. Имеются и менее популярные, но необходимые в отдельных областях применения языки FORTH, Logo, Lisp, Prolog, подмножества языка Ada и многие другие.
Однако главной отличительной чертой программного обеспечения ПК является наличие большого количества программ и пакетов программ, ориентированных на пользователя-непрограммиста и, следовательно, весьма простых в обращении и не требующих умения программировать (то есть дружественных пользователю). Именно эти программы позволяют ПК выполнить свою основную функцию - разгрузить человека от повседневной рутинной работы. Как правило, такие программы работают в понятиях, знакомых человеку из его повседневной жизни, что и позволяет использовать компьютер более эффективно, скорее на интуитивном, чем на логическом уровне. Это в корне отличает ПК от других. Такое сопоставление работы на компьютере с реальной жизнью часто называют метафорой.
Одним из распространенных классов программ для ПК являются программы типа Spreadsheet, то есть "широкий лист". Как ясно из названия, эти программы используют метафору "листа бумаги". Это означает, что в представлении пользователя экран дисплея является окном, через которое он наблюдает весьма обширный лист, разбитый на ячейки. В эти ячейки можно заносить тексты, числа и формулы, зависящие от содержимого других ячеек. При изменении содержимого ячеек автоматически изменяются значения в зависящих от них ячейках. Такие программы позволяют легко и наглядно производить вычисления весьма широкого
класса, в том числе методами последовательных приближений. Они оказались настолько удобными, что во многом определили успех ПК. Примерами таких программ являются VisiCalc, MultiPlan, Supcr-Cale.
Весьма полезными являются также программы обработки текстов, позволяющие редактировать и форматировать тексты произвольным образом, а также проверять ошибки (например, WordStar). Широко распространены и системы управления базами данных (СУБД) реляционного типа (dBase II, dBase III, R: base 5000 и др.).
Интерес представляют также интегрированные программные пакеты, объединяющие в себе свойст-ва таблиц, текстовых процессоров, СУБД, графики и коммуникации (Syrnphony, Framework. Enable).
Весьма плодотворной оказалась также метафора рабочего стола (Dcsktop). В этом случае экран телевизионного монитора ПК представляет собой как бы поверхность стола с лежащими на нем документами и предметами. Пользователь может положить на верх стола нужный документ и производить с ним необходимые действия. Выбор документа производится перемещением курсора при помощи клавиатуры или манипулятора "мышь". По такому принципу устроено программное обеспечение компьютеров Macintosh, Lisa, Amiga, Atari 520ST, а также некоторые пакеты для IBM РС. например СЕМ.
Интересен также класс программ, называемый Pop-Up. Такие программы постоянно находятся в верхней части памяти ПК, не мешая работе других программ. Если во время работы нажать соответствующую комбинацию клавишей, управление передается Рор-Ир-программе, и она предоставляет на выбор записную книжку, телефонный справочник с номеронабирателем (если есть модем), календарь с расписанием дел и событий, калькулятор, таблицу ASCII-кодов и т.д. Работа идет в режиме рабочего стола. По ее окончании происходит возврат в то состояние программы и экрана, в котором работа была начата. Примерами таких программ являются Sidckick, Spotlight, IIomeBase и некоторые другие.
Из всего сказанного следует, что традиционно основными областями применения ПК являются автоматизация делопроизводства, включая обработку текстов, организацию баз данных, работу с крупноформатными элек1ронными таблицами, а также обучение и развлечения. Широкое распространение ПК, такие их характеристики, как наличие встроенной интерактивной графики и большого количества готового программного обеспечения предопределили их внедрение и в области создания систем проектирования и научных исследований. Так. многими зарубежными фирмами выпушены программные пакеты для проектирования печатных плат (smART-WORK), проектирования и моделирования электронных схем (Micro Сар и Micro Logic) разработки механических элементов, обработки и создания изоб-
ражений (IMIGIT). Кроме того, выпускаются программы для сбора и обработки экспериментальных данных, выполнения таких распространенных типов обработки, как статистика и спек1ральный анализ (ASYST). Для осуществления ввода эксперимен-тальных данных в ПК и управления установками выпускаются серийно как платы АЦП. ЦАП, ввода и вывода цифровых данных, устанавливаемые в компьютер, так и отдельные системы сбора данных и управления (ISAAK). Кроме того, ПК часто используются в качестве устройств управления различны-ми сложными приборами, например спектрометрами.
В области автоматизации научных исследований персональные компьютеры конкурируют с появившимися там существенно раньше мини- и микрокомпьютерами. Современные ПК, особенно восьмиразрядные. имеют меньшие объемы оперативной и массовой памяти и меньшую производительность, чем современные мини- и микрокомпьютеры. Поэтому успех применения ПК в автоматизации научных исследований существенно зависит от правильности определения областей научной деятельности, в которых они могут быть наиболее эффективными.
Нами были проведены измерения времен выполнения двух стандартных тестовых программ, используемых одним из ведущих журналов по микропроцессорной вычислительной технике BYTE для сравнения производительности различных компьютеров. Это программа поиска простых чисел с помощью алгоритма "Решето Эратосфена" — SIEVE, оперирующая только целыми числами, и программа CALCULATIONS, выполняющая операции умножения и деления над числами с плавающей точкой. Измерения проводились на наиболее распространенных моделях мини- и микрокомпьютеров NOVA/MICRONOVA фирмы DATA GENERAL и LSI 11/Электрони-ка-60, широко используемых в научных исследованиях, а также на наиболее распространенных 8- и 16-разрядных ПК Apple II и IBM PC/AT на различных языках компилирующего и интерпретирующего типов. Эти две программы отражают две стороны автоматизации научных исследований - сбор данных и их обработку. Так, при сборе данных и управлении экспериментальной установкой компьютер использует, в основном, целые числа и возможности компьютера в этой области отражаются программой SIEVE. Возможности же компьютера по обработке научных данных, выполняемой над числами с плавающей точкой, в большой степени отражаются программой CALCULATIONS.
Результаты измерений приведены в таблицах
1 и 2.
Анализ табл. 1 для программы SIEVE показывает, что времена выполнения программы как на интерпретирующем, так и на компилирующих языках сравнимы для микрокомпьютеров MICRONOVA и "Электроника-60" и восьмиразрядного ПК Apple II (и в основном, и в режиме процессора
Таблица /
Программа SIEVE на 2500 элементов. 10 итераций
Фирма Компьютер One рационная Язык Время
система выполнения, с
Data General NOVA 3 RDOS BASIC 483,00
FORTRAN-IV 16,40
FORTRAN-5 2,71
MICRONOVA MP/OS FORTRAN-IV 28,60
Pascal 25,40
DEC и совместимые MERA-60 RT/11 BASIC 841,00
сСМ-4 FORTRAN-IV 9,10
Pascal 1.1C 8,80
LSM 1/23 RT/11 Pascal 1.1 G 3.12
Apple Computers Apple II Apple DOS 3.3 Applesoft II 792.00
Integer BASIC 696,00
p-System UCSD Pascal 114,00
FORTRAN-77 143,00
Sottcard CP/M MS BASIC 860,00
FORTRAN-80 9,00
Pascal/M T+ 11,20
Turbo Pascal 11,40
IBM PC/AT PC/DOS 3.10 BASIC 242,00
IBM Pascal 7.50
Turbo Pascal 1,28
FORTRAN-77 2,30
Таблица 2
Программа CALCULATIONS. 5000 итераций
Фирма Компьютер Операционная система Язык Время выполнения, с
Data General NOVA 3 RDOS BASIC 56.00
FORTRAN IV 7,86
FORTRAN-5 0,86
MICRONOVA MP/OS FORTRAN-IV 17,09
Pascal 22,31
Совместимые с СМ4 MERA-60 RT/II BASIC 79,00
FORTRAN-IV 5,30
Pascal 1.1G 4,48
Apple Computers Apple II Apple DOS 3.3 Applesoft II 91,00
p-System UCSD Pascal 69,00
FORTRAN-77 69,00
Softcard CP/M MS BASIC 140,00
FORTRAN-8O 55,00
Pascal/MTt 54,00
Turbo Pascal 98,00
IBM PC/AT PC/DOS BASIC 26.90
IBM Pascal 5,90
Turbo Pascal 12.10
FORTRAN-77 3,10
Z80), несмотря на отсутствие в ПК аппаратной реализации операций умножения/деления. Большие времена выполнения для языков UCSD Pascal и FORTRAN-77 под операционной системой P-System объясняются интерпретацией р-кода. Времена выполнения программы на 16-разрядном ПК IBM PC/AT практически совпадают с временами выполнения на мини-компьютерах серии NOVA/F.CLIPSF. Приведенные данные совместно с одинаковыми объемами оперативной памяти (64 кбайт для 8-разрядных ПК и микрокомпьютеров и около 1 мбайт для 16-разрядных персональных и мини-компьютсров) позволяют утверждать, что Г1К вполне подходят для целей сбора данных и управления вместо микро- и мини-компьютеров.
Анализ табл. 2 показывает, что при обработке чисел с плавающей точкой 8-разрядные ПК имеют существенно худшие времена выполнения программы, чем микрокомпьютеры, что объясняется их меньшей разрядностью. ПК IBM PC/AT имеет времена выполнения программы, сравнимые с микрокомпьютерами и младшими моделями мини-комль-ютеров. Важно отметить, что лучшие характеристики имеют компьютеры с аппаратной реализацией операций с плавающей точкой, к которым относятся "Электроника-бО" (процессор М2 с FIS) и мини-компьютеры с FPP. В стандартных конфигурациях ПК аппаратных средств обработки чисел с плавающей точкой нет. Приведенные результаты показывают низкую эффективность использования 8-разрядных ПК для обработки научных данных. Однако шестнадцатиразрядные ПК являются достаточно эффективным средством обработки данных, особенно при наличии арифметических сопроцессоров.
Времена компиляции и загрузки программ лежат в весьма широких пределах для различных компьютеров, операционных систем и языков. При этом времена зависят от эффективности компилирующих и загружающих программ, оптимизирующих свойств компиляторов, но в существенно большей степени - от скорости и объема обмена с диском. Это время больше для гибких дисков вообще (микрокомпьютеры и Apple II по сравнению с IBM PC/AT) и для неэффективно организованных для обмена с гибкими дисками операционных систем, таких как DOS и особенно MP/OS для компьютера MICRONOVA. Времена компиляции и загрузки для ПК в среднем меньше, чем для мини- и микрокомпьютеров, что говорит о лучшей приспособленности их операционных систем и компиляторов к соответствующим аппаратным средствам.
Широкое использование ПК в автоматизации научных исследований позволит оснастить каждое рабочее место научного работника, каждую экспериментальную установку компьютером. Причем применение ПК делает экономически выгодной автоматизацию даже самых малых и дешевых установок. Это позволит освободить научных работников от утомительной рутинной работы и существенно повысить эффективность их труда. Простота обще-
ния пользователя с ПК позволит преодолеть труд-ноформализуемость профессиональных знаний и ак-тивно включить самих экспериментаторов и теоретиков в процесс автоматизации получения новых знаний.
На основании проведенного анализа можно дать рекомендации по использованию ПК различных классов в автоматизации научных исследований. Так, домашние Г1К можно использовать для несложной обработки данных, подготовки текстов и графиков. Полупрофессиональные ПК эффективно использовать для автоматизации сбора данных и управления установками в небольших экспериментах, а также для простой предварительной обработ-ки экспериментальных данных. Профессиональные ПК можно использовать для автоматизации сбора данных и управления практически любыми экспери-ментами, а также для обработки данных. Две послед ние категории ПК можно также эффективно использовать для подготовки текстов и графической информации и для архивации данных.
Существуют два пути построения систем сбора данных и управления экспериментом на основе ПК. Первый - использование выпускаемых промышленностью или самодельных специализирован» ных плат ввода-вывода, монтируемых в компьютер. Второй - использование стандартных модульных систем. Первый путь дешевле, но спектр выпускаемых плат ограничен и ориентирован на наиболее массовое применение и поэтому часто не удовлетворяет всем требованиям научного эксперимента. Изготовление же самодельных плат требует от пользователя высокой квалификации в области электроники, достаточно трудоемко и дорого. Применение таких систем эффективно в небольших экспериментальных установках, осуществляющих сбор данных по стандартной методике, и в технологических установках, где не нужно частое изменение структуры системы.
Второй путь дороже. При этом стоимость системы сбора может существенно превышать стоимость ПК. Но его использование даст неоспоримые преимущества при автоматизации научных экспериментов поискового характера, требующих частой и существенной перестройки структуры и изменения характеристик системы. Применение универсальных модульных систем соответствует самому духу ПК, так как освобождает пользователя от необходимости знания особенностей конкретных аппаратных средств и предельно упрощает процедуру создания системы автоматизации, позволяя сосредоточиться на вопросах алгоритма проведения эксперимента.
Наибольшее распространение среди универсальных модульных систем в СССР в настоящее время имеет система КАМАК; для нее выпускается широкий спектр модулей самого разнообразного назначения и характеристик. Для соединения ПК с КАМАК необходимо создать кэейт-контроллер, который должен обладать следующими характеристиками, определяемыми использованием ПК: низкая стоимость, простота структуры и взаимодейст-
вия, возможность работы в минимальной конфигурации ПК, универсальность, простая расширяемость функций и характеристик. Такой к рейт-контроллер должен выпускаться в достаточно больших количествах.
Важным моментом применения ПК в автоматизации научных исследований является широкое использование готового программного обеспечения. Очевидны возможности использования стандартных пакетов научно-технического характера для обработки данных и разработки систем. Очевидны также достоинства использования текстовых процессоров для подготовки текстов статей и отчетов, графических программ для подготовки рисунков и иллюстраций, систем организации баз данных для архивации научных результатов. В ходе деятельности научного работника возникает необходимость использования баз данных и программ типа Spreadsheet для административных и хозяйственных нужд, например проведения заявочной кампании. Но существуют и неочевидные способы применения стандартных программ, например использование программ типа Spreadsheet для обработки экспериментальных данных.
Сходство программных средств и направлений использования различных ПК делают необходимой
организацию связи между ними. Большое разнообразие типов ПК и форматов записи на гибкие магнитные диски затрудняют и даже делают невозможной передачу данных с их помощью. Из-за ограниченной производительности и небольшого объема дисковой памяти ПК возникает необходимость передачи данных для обработки и архивации на большие диски и магнитную ленту мини-компьютеров. Удачным решением этой проблемы является создание локальной сети разнородных компьютеров. Причем объем данных, передаваемых по сети, невелик, и поэтому целесообразно использовать для организации сети простые последовательные линии связи. Это не требует создания специальных аппаратных средств и дает возможность подключить к сети практически любой компьютер. Затраты средств и времени на создание такой сети сокращает применение готовых программных средств, например системы КЕЯМ1Т, позволяющей соединять как ПК, так и мини- и микрокомпьютеры.
Таким образом, все классы ПК могут эффективно использоваться в различных областях автоматизации научных исследований с учетом их особенностей и возможностей.