2'91 КомпьютерПресс. 1991. №2


219 35 25MB

Russian Pages [84] Year 1991

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Телефоны для справок: (08600)3.12.10, (08600)3.84.98
КОМПЬЮТЕР
АППАРАТНОЕ ОБЕСПЕЧЕНИЕ
ТЕНДЕНЦИИ
ЛОКАЛЬНЫЕ СЕТИ
Архитектура микропроцессоров
Режимы адресации
Режим виртуального адреса
Прерывания
о состоянии
Процессор вычислительной системы
Рис.1. Используемые микропроцессоры и некоторые особенности вычислительных систем.
Архитектура вычислительной сети
Рис.2. Архитектура некоторых вычислительных систем и связанные с ней особенности
Рабочая станция RS/6000 POWERstation 320 Фирма ЮМ
ПРЕДПРИЯТИЕ «СЕМИГОР» ПРЕДСТАВЛЯЕТ Всемирно Известный Продукт — «ALL CHARGCARD» ! Хрустальная туфелька сделала из бедной Золушки Принцессу! «АН ChargCard» сделает из Вашего компьютера IBM AT/PS-2 Суперкомпьютер с Утроенной Мощностью и 100% Доступом к Памяти^
«All ChargCard» — это оправданная экономия Ваших средств!!!
SemiGor AimsTree — СЕМЕЙСТВО ТЕКСТОВЫХ РЕДАКТОРОВ, обладающих уникальными свойствами и неограниченными возможностями! Деревянное зодчество 21 века — это Ваш шанс ! Наша цель — сделать редактор максимально удобным для Вас!
SemiGor C-Tools — это МОЩНАЯ СРЕДА
для профессиональных программистов на языках С и C++
Забудьте про файлы и модули, и Вы попадете в страну объектов и функций, в которой так легко дышится настоящему знатоку С.
Рабочая станция News 3860 Фирма Sony Microsystems Технические характеристики
Рабочая станция R260 Фирма Acorn
Рабочая станция SystemPro Фирма Compaq Технические характеристики
Рабочая станция HP Vectra 486 PC Фирма Hewlett-Packard
Пакет Basic Windowing Toolbox (В-Window) Фирма Image Computer Systems
Пакет Power Tools Plus Фирма Blaise Computing
Пакет Repertoire Фирма PMI, Charles Bradford and Cole Brecheen
Пакет Window Machine (WM) Фирма Amber Systems
Пакет С Tools Plus Фирма Blaise Computing
Пакет C_SCAPE Фирма Oakland Group
Пакет С Power Window Фирма Entelekon
Пакет Window for С Фирма Vermont Creative Software
Пакет Vitamin С Фирма Creative Programming Consultants
Создание библиотеки оконного интерфейса
Функция get_choice()
Функция edit_string()
Функция break_off()
Функция break_on()
Функция get_video_mode()
Функция toggIe_intensity_b!inking()
Функция getkeyO
Функция get_cursor_size()
Функция set_cursor_size()
Функция set_cursor_position()
Функция make_hbar()
Функция clear_nchars()
Функция put_string()
Функция make_window()
Функция get_window_text()
Функция restore_text()
Функция insert_char()
Функция delete_char()
Функция string_copy()
МЕЖДУ ПРОЧИМ...
Режим Turbo в пакете LapLink
Опять о быстродействии компьютеров
Модемы: встроенный и внешний?
DELTA GROUP В СССР
CASE-
современная технология проектирования программного обеспечения
Пакет DesignAid Фирма Nastec
Пакет Exelerator Фирма Index Technology
Пакеты IEW/Analisis Workstation, IEW/Design Workstation Фирма Knowledge Ware
Пакет POSE (Picture Oriented Software Engineerign) Фирма Computer Systems Advisors
Заключение
простыми средствами
Локальные сети от А до Я:
курс обучения
Коротко о взаимодействии между процессами
Взаимодействие между процессами в OS/2
интерфейс Named Pipes в среде OS/2 LAN Manager
Взаимодействие между процессами в OS/2 и локальных сетях на базе OS/2
Взаимодействие между процессами в локальных сетях
IBM PC
для пользователя
Включение и выключение компьютера
Процессор
Оперативная память
Накопители на гибких магнитных дисках (дискетах)
Накопители на жестком диске
Мониторы
Клавиатура
Принтеры
Другие устройства, подключаемые к компьютеру
Глава 2. Начальные сведения об операционной системе DOS
Что такое операционная система
Составные части DOS
Начальная загрузка DOS
Резидентные программы
Глава 3. Файлы и каталоги на дисках Что такое файл
Имена файлов
Работа i с устройствами
Каталоги
Текущий каталог
Указание пути к файлу
Имена накопителей на дисках (дисководов)
Текущий дисковод
Полное имя файла
Символы * и ?
Логические диски
Электронные диски
Глава 4. Диалог пользователя с DOS
Приглашение DOS
Ввод команд
Запуск и выполнение команд
Действия при “зависании11 компьютера или неправильной работе программ
Приостановка вывода на экран
Пауза при выполнении команд
Редактирование вводимых команд DOS
Как получить систему МПРОЛОГ?
Форт и встроенные системы
НОВОСТИ
Recommend Papers

2'91 
КомпьютерПресс. 1991. №2

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

ISSN 0868-6157

ОЗРЁНИЕ ЗАРУВ

НОВ

. . ••••Ч

..

••••

В СИСТЕМ У ВХО ДЯТ: 1. выносные интеллектуальные устройства связи с объектом, позволяющие автоматизировать лю­ бые типы предриятий; 2. широкий спектр печатающих устройств различного назначения; 3. локальная сеть, обеспечивающая подключение как отечественных, так и импортных ПЭВМ. Главное преимущество системы ИКАР — это полная совместимость с пакетами прикладных программ, работающих в ОС MS DOS 3.30, наличие винчестера 20 Мбайт, сопроцессора, цветно­ го монитора. На основе технических средств системы ИКАР объединением разработаны различные програм­ мно-технические комплексы: — учебные классы для школ и ПТУ с поставкой программного обеспечения для уроков информа­ тики; — информационные комплексы автоматизации учета и движения материальных ценностей в гос­ тиницах, турбазах, санаториях, торговых, транспортных и промышленных предприятиях, колхо­ зах, совхозах. Использование специализированных печатающих устройств обеспечивает распечатку любых до­ кументов и автоматическую отрезку. Объединение обеспечивает четырехлетний гарантийный ремонт поставленных вместе с системой технических средств и сопровождение программных продуктов. Умеренные цены на выпускаемую продукцию: СМ 1810.63,64 — 17000 руб, СМ 1810.62 — 23000 руб., СМ 1810.70 — от 1000 до 8000 руб. делают наши системы вполне доступными для самого широкого круга пользователей.

Телеф оны для справок: (0 8 6 0 0 )3 .1 2 .1 0 , (0 8 6 0 0 )3 .8 4 .9 8

Совместное советско-американское предприятие «СОВАМИНКО»

КОМПЬЮТЕР ОБОЗРЕНИЕ ЗАРУБЕЖНОЙ ПРЕССЫ АППАРАТН О Е ОБЕСПЕЧЕНИЕ Архитектура м и кр оп р о ц ессо р о в

3

О состоянии и перспективах рабочих станций

7

ПРОГРАМ М НОЕ ОБЕСПЕЧЕНИЕ Средства организации многооконного интерф ейса Создание библиотеки оконного интерф ейса

27

МЕЖ ДУ ПРОЧИМ...

44

21

ТЕНДЕНЦИИ CASE - совр ем ен н ая технология проектирования пр огр ам м н ого обеспечения

47

ЛОКАЛЬНЫЕ СЕТИ Сеть простыми ср едствам и

51

Локальны е сети от А д о Я: курс обучения

54

РАБОТАЕМ ГРАМ О ТНО IBM PC для пользователя

57

РАЗГОВОРЫ



,

Язык Ф о р т. Н емного истории

75

НОВОСТИ

77

291

С овм естно е

совегсжо-америкамавое пр ед п ри яти е "СОВАМ ИНКР-

КОМПЬЮТЕР ПРЕСС

Д о р о г о й читатель!

ОБОЗРЕНИЕ ЗАРУБЕЖНОЙ ПРЕССЫ

Главный редактор: Б.М . М олчанов

Редакционная коллегия: A .Г .А гаф онов Д .Г .Берещ анский И .С .В язаничев B .А .Д ем идов И .А.Липкин В.П .М иропольский (зам . главного редактора) М .Ю .М ихайлов Г.Г .Ч оговадзе Н .Д .Эриаш вили

Технический редактор: Е.А .К ом кова

Художественный редактор: В .И .Ч вертко

Корректор: А.С.Ф илиппова

Оформление художника: М .Н .С аф онова

Обложка художника:

В сегодняш нем стремительно меняющемся мире разработка программного обеспечения и новых компью терны х т ехн ол оги й — это та область, в которой изм енения происходят с п ои сти н е ф ан тасти ч еск ой бы стротой. П о л ь зо в а т е л ь ещ е не у с п е е т как с л е д у е т познакомиться с новой версией какого-нибудь п а к е т а , как на с м е н у ем у п р и х о д и т с л е ­ дую щ ая, новые процессоры, модели компьюте­ ров и периф ерийны х устройств бесконечной ч е р е д о й с м е н я ю т д р у г д р у г а , п оя в ляю тся н ов ы е к о м п а н и и , р а з о р я ю т с я и и с ч е за ю т старые. Редакция журнала «КомпьютерПресс» стре­ мится отслеживать все важнейшие изменения, происходящие в мире информатики, чтобы своев­ ременно знакомить тебя с ними. Надеемся, что наше издание поможет тебе быть в курсе послед­ них новостей и событий в области программного обеспечения и аппаратных разработок. Наше издание — единственный в Советском Союзе ежемесячный журнал, посвященный этим проблемам. Условия подписки, а также бланк заказа на получение журнала «КомпьютерПресс» нало­ женным платежом — на стр. 79 и 80.

В .Г.У стинова ©Агентство «КомпьютерПресс», 1991

Адрес редакции: 113093, г.Москва, аб.ящик 37 Тел. для справок: 150-17-03 Бюро рекламы: 156-81-33 Факс: 200-22-89 E-mail:

Г о д о ва я п о д п и с к а н а наш. ж урнал — эт о эконом ия

в а ш е го

врем ени!

postm aster@ C om puterpress.m sk.su

Сдано в набор 5.02.91. П одписано к печати 14.02.91. Формат 84x108/16. Печать офсетная. Усл.печ.л.8,4+0,32 (обл .). Тираж 100 ООО экз. (1 завод-55 000). Заказ 2169 Цена 3 р. 15 к. № 025 Типография издательства «Калининградская правда» 236000, г.Калининград, ул.Карла Маркса, 18

3

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

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

Архитектура микропроцессоров Режимы адресации Одной из основных ф ункций центрального про­ цессора любой ЭВМ является осущ ествление ар и ф м е­ тических и логических операций над числами. Это возможно только после того, как процессору точно указаны места расположения этих чисел, или, соглас­ но общ епринятой терминологии, адреса операндов. Intel 80286, так ж е как и другие 16-разрядные про­ цессоры, позволяет в командной строке указы вать ад­ реса двух операндов. Однако все не так просто, как каж ется на первый взгляд. Дело в том, что операнды могут находиться как в оперативной памяти, так и в регистрах самого процессора. И збежать путаницы в определении места их расположения помогают режимы адресации опе­ рандов, определенные архитектурой процессора. В н а­ шем случае таких режимов — четыре: непосредствен­ ный, регистровый, а такж е прямой и косвенной ад­ ресации памяти. Непосредственный режим позволяет в качестве опе­ ранда в строке программы, написанной на ассемблере, указывать само число, над которым необходимо произ­ вести действие. П рименение этого реж има имеет свои достоинства и недостатки: с одной стороны, процессор получает данны е быстрее, чем при обращ ении к ОЗУ, а с другой, это перегружает текст программы и к тому же, при неоднократном использовании программой од­

них и тех ж е операндов, их удобнее хранить в ОЗУ или в регистрах. Регистровый режим дает возможность указывать в программной строке имя того регистра, в котором в настоящ ий момент находится операнд. Ввиду того, что содерж имое регистра по самым разным причинам в процессе выполнения программы может изменяться, действия можно производить как над константам и, так и над переменными или элементами, массивов при по­ мощи одинаковых программных строк. В случае нахож дения операнда в ОЗУ, его адрес можно хранить в регистрах, причем в команде указы­ вается, наприм ер, имя регистра, в котором находится адрес сегмента, а см ещ ение дается в явном виде. Д о­ пускается хранение в регистрах и адреса сегмента, и смещ ения; при этом, в команде указываю тся только их имена. Подобный способ называется косвенной ад­ ресацией памяти. Он позволяет “ находить" необходи­ мые операнды с использованием комбинаций, в кото­ рых могут участвовать: базовый регистр, индексный регистр, базовый регистр+индексный регистр, базовый регистр+смещ ение, индексный регистр+смещение, ба­ зовый регистр+индексный регистр+смещ ение. Кроме того, и сегмент, и смещ ение могут быть ука­ заны непосредственно в команде. Такой способ назы­ вается прямой адресацией пам яти и зачастую приме­ няется при обращ ении к фиксированной ячейке како­ го-либо сегмента.

КомпьютерПресс 2'91

4

АРХИТЕКТУРА МИКРОПРОЦЕССОРОВ

О перандами являю тся как 8-, так и 16-разрядные числа. Д ля того, чтобы процессор не перепутал, с к а­ кими данны м и ему предстоит иметь дело и не “ промахнулся“ при обращ ении к оперативной пам яти, в ф орм ате команды предусмотрен бит, сигнализирую ­ щ ий, операнды какой длины должны быть обработаны.

Режим виртуального адреса В предыдущем выпуске мы рассмотрели реж им ре­ ального адреса, позволяющ ий обращ аться к О ЗУ объе­ мом до одного м егабайта при ш ирине адресной шины процессора 80286 всего 16 разрядов. Но каждому, кто когда-либо брал в руки ж урналы по компьютерной технике, наверняка попадались на глаза статьи, в ко­ торых черным по белому было написано, что опера­ тивная пам ять P C /A T может иметь размеры четы­ ре, а то и восемь мегабайт. Подобные цифры вы­ зываю т законное недоумение. Во-первых, непонятно, зачем персональному компью теру такое О ЗУ, а вовторых, каким образом им пользоваться, если для адресации одного только мегабайта приходится применять довольно хитроумный двухступенчатый способ. Н а первый вопрос ответить сравнительно просто. Увеличение объема О ЗУ объясняется, в основном, воз­ можностью прим енения на персональных компью те­ рах многозадачных операционных систем, работаю щ их в реж име разделения времени — таких, как, нап ри ­ мер, O S /2 и UNIX. В двух словах принцип разделе­ ния времени состоит в следующем: время работы про­

КомпьютерПресс 2'91

цессора искусственно квантуется таким образом, что в течение каждого кванта, составляющ его долю секунды, выполняется “кусок“ одной из программ, одновремен­ но запущ енных- на компью тере; затем выполняется “кусок" из другой программы, и так далее. Разуме­ ется, для хранения текстов программ, их данных и промежуточных результатов использовать такие срав­ нительно медленные запоминаю щ ие устройства, как ж есткие диски, не имеет смысла — полностью теряет­ ся эф ф ект одновременности выполнения сразу нескольких задач. Т аким образом, увеличение пространства О ЗУ — вынуж денная мера, направлен­ ная на повыш ение производительности компьютера. Что ж е касается адресации оперативной памяти “за границей" одного мегабайта, то здесь разработчикам i286 помог принцип виртуальной организации памяти. К ак и в случае реального адреса, результирующий ф изический адрес памяти является суммой некоторой базы и смещ ения. Со смещ ением нам, в общем, уже все ясно, а вот базовый адрес определяется сложнее. С егментный регистр содержит не само число, из кото­ рого путем добавления четырех нулей справа получа­ ется адрес сегмента, а некоторый идентификатор, на­ зываемый селектором. Он состоит из трех полей (см .рисунок), два из которых — индикатор TI и ин­ декс — определяю т адрес искомого сегмента по специ­ альным таблицам , находящ имся в ОЗУ. Каждый эле­ мент любой из этих таблиц, называемый дескрипто­ ром, имеет длину 64 разряда, 24 из них отведены под базовый адрес, а остальные для нас пока интереса не представляю т. Если при вычислении адреса индикатор

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

селектора TI равен нулю, то процессор обращ ается к так называемой глобальной дескрипторной таблице, которая может использоваться всеми запущ енным и за ­ дачами. В противном случае (при TI = 1) используется одна из локальных дескрипторных таблиц. Д ело в том, что если глобальная дескрипторная таблица (G D T ) в системе в.сего одна, то локальная (LD T) — для к аж ­ дой из задач своя. Сумма смещ ения и базового адреса, взятого из дескрипторной таблицы, дает в результате искомый физический адрес в ОЗУ (см .рисунок). Д ли ­ на адреса в таком случае составляет целых 24 бита, а это позволяет обращаться уж е к 16 М байтам оператив­ ной памяти. И так, аппаратно-реализуем ое адресное простран­ ство i286 составляет 16 Мбайт, но стоит заметить, что длина индекса в селекторе равна 13 разрядам, а раз­ мер сегмента равен 2 1** байтам. Т аким образом, к аж ­ дая задача, используя свою LDT, получает адресное пространство 229 байт, а в сумме с областью, опреде­ ляемой G D T, эта величина составляет 2 ^ байт или 1 Гбайт. Т еперь у читателя может возникнуть вполне резон­ ный вопрос: зачем так много? Ответим: для реализа­ ции многозадачного реж има. При недостаточно боль­ ших размерах ОЗУ можно организовать доступ к внеш ним запоминаю щ им устройствам, как к некой об­ ласти виртуальной памяти. Тогда в ОЗУ достаточно держ ать лиш ь наиболее часто запраш иваем ы е сегмен­ ты задачи, а остальные “ подкачивать" с жесткого диска по мере необходимости.

Прерывания Часто возникают ситуации, когда вам необходимо ввести данные при помощи мыши или с клавиатуры, а процессор занят выполнением какой-то задачи. Как быть? Или другой пример: вечером вы спокойно рабо­ таете в опустевшем здании Н И И , а в это самое время ничего не подозревающий вахтер в целях пожарной безопасности обесточивает все помещ ения. Каким об­ разом организовать работу процессора, чтобы он мог предпринимать какие-то действия в ответ на подобные внеш ние раздражители? Реш ить эту проблему можно двумя способами. П ер­ вый, более “древний", заклю чается в том, что про­ цессор со строго определенной частотой опраш ивает остальные устройства системы, которые в свою оче­ редь могут послать ему в ответ некий признак своей активности. Тогда процессор по специальному алго­ ритму приостанавливает ход выполняемой программы и обслуживает активное внеш нее устройство. К сож а­ лению, такой метод сущ ественно сниж ает производи­ тельность, так как опросы происходят независимо от готовности внеш них устройств начать взаимодействие с центральным процессором. Другой метод построен на использовании прерыва­ ний от внеш них устройств. П рерывания — это посылаемые устройствами процессору специальные сигналы о необходимости передачи какой-то инф орм а­

5 ции, либо о сбойной ситуации. Систему прерываний можно организовать по-разному. И звестен, например, такой путь: в зависимости от “ важ ности" прерывани­ ям присваиваю тся приоритеты разного уровня, причем самым низким приоритетом “ награж дается11 централь­ ный процессор. И действительно, если дать ему наи­ высш ий приоритет, он будет напом инать большого на­ чальника, который заперся в своем кабинете и не от­ вечает на звонки подчиненных. В случае i286 система преры ваний построена несколько иначе. Соответствую щ ие сигналы от устройств, входящ их в вычислительную систему, могут поступать на один из двух входов процессора: NM1 или IN TR , причем вход NMI обладает безусловным приоритетом, так как сюда поступаю т сигналы только о катастроф ических событиях, наприм ер, в случае не­ ожиданного отклю чения питания. На вход 1NTR поступают преры вания не столь значительны е, и про­ цессор может их проигнорировать, если он в это время занят чем-то более важным. О состоянии большой за­ нятости сигнализирует ф лаж ок разреш ения прерыва­ ний IF: если он равен нулю, то процессор на “звонки" не отвечает. П осмотрим, что ж е происходит, когда IF = 1 и на вход IN TR поступил сигнал преры вания. С начала про­ цессор приостанавливает вы полнение текущ ей про­ граммы и запом инает промежуточные результаты в стеке, необходимые для восстановления статус кво. З а ­ тем он посылает устройству-возмутителю спокойствия запрос о причинах преры вания. В ответ может быть получено некоторое число в ди апазоне от 0 до 255 — такое количество вариантов сообщ ения внешнего устройства разработчики предусмотрели для указания процессору, какие ш аги следует предпринять в каждом конкретном случае. Число от 0 до 255 определяет тип преры вания, а инструкции о том, как процессору реа­ гировать на тот или иной тип, содерж атся в специаль­ ных программах, называемых процедурами прерыва­ ний. Адреса процедур находятся в специальной табли­ це, состоящ ей, как вы уж е догадались, из 256 элем ен­ тов, причем каж дый элем ент содерж ит соответствую­ щ ие значения регистров IP и CS. Н ачальный адрес таблицы в ОЗУ — 0. По окончании процедуры преры­ вания процессор возвращ ает из стека промежуточные данны е и продолжает выполнять прерванную програм­ му с точки преры вания. Если сигнал поступает на вход NMI, процессор не запраш ивает у устройства информ ацию о типе преры­ вания, так как его причиной может стать только ка­ тастроф ическая ситуация, и у процессора в этом слу­ чае всего одна задача — спасать наиболее важные ре­ зультаты в безопасное место. Подобная ситуация в таблице соответствует прерыванию второго типа. Кроме преры ваний от внеш них устройств, возмож­ ны и внутренние преры вания, возникаю щ ие в самом процессоре. Т аки е сигналы могут генерироваться, на­ пример, при разнообразных ош ибках во время выпол­ нения программ, а такж е для организации пошагового реж има работы процессора (см .таблицу).

КомпьютерПресс 2'91

6

АРХИТЕКТУРА МИКРОПРОЦЕССОРОВ

Зарезервированные прерывания Виртуальный режим

Реальный режим Номер 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Прерывание

Прерывание Особый случай ошибки деления Прерывание пошаговой работы Немаскируемое прерывание Контрольный останов Особый случай переполнения Особый случай превышения диапазона Особый случай недействительного кода операции Особый случай отсутствия сопроцессора Особый случай слишком малой IDT Особый случай превышения сегмента сопроцессором[ Зарезервировано Зарезервировано Зарезервировано Особый случай превышения сегмента Зарезервировано Зарезервировано Особый случай сопроцессора

Особый случай ошибки деления Прерывание пошаговой работы Немаскируемое прерывание Контрольный останов Особый случай переполнения Особый случай превышения диапазона Особый случай недействительного кода операции Особый случай отсутствия сопроцессора Особый случай слишком малой ГОТ Превышение сегмента сопроцессором Недействительный TSS Отсутствие сегмента Особый случай стека Особый случай защиты Зарезервировано Зарезервировано Особый случай сопроцессора

Зарезервированы

Зарезервированы

31

( П родолж ение следует )

И.Липкин

ТЕХНИКА, ИНФОРМАТИКА, ТЕХНОЛОГИЯ (ТИТ) предлагает: компьютеры IBM Р С /А Т -2 8 6 , 386 с гарантией и в комплекте с ПС и П П П , а такж е копировальную технику, дискеты и периферию ; модернизацию вакуумных систем-установок на базе турбомолекулярных и диф ф узионны х насосов (в соответствии с требованиями технологических процессов заказч и к а); разработку автом атизированны х систем расчета и проектирования турбомолекулярных насосов; м икроанализы на электронном растровом микроскопе; услуги по складированию грузов в Москве; красящ ую ленту для м атричны х принтеров (возможна установка); аппаратную русиф икацию принтеров (парти и ) и мониторов; П П П “Управление кадрами предприятия"; П П П “М атериально-техническое снабж ение"; П П П “ Расчет заработной платы ";

-

П П П “ Учет м атериальны х ценностей"; П П П “Учет основных средств"; П П П “ Расчет ф акти ческой себестоимости"; П П П “А втом атизированное делопроизводство"; П П П “Т рехм ерная трассировка и расчет длины кабеля"; - ПС “У ниверсальны й кросс-отладчик для одно­ кристальной микроЭВМ К 1 8 1 6 В Е 3 5 /3 9 /4 8 "; - ПС “ Электронный учебн и к" — диалоговый справочник пользователя. ПС и ППП поставляются немедленно, по госрасценкам тираж ирования и с гарантией (по желанию заказчика — почтой). Число продаж многих ПС и ППП превы ш ает 100. При необходимости выполняется адаптация и обучение пользователей. ТИТ П риглаш ает к сотрудничеству инофирмы, заинтересованны е в продвижении продукции на советском рынке и создании новых производств (имею тся площ ади).

Т е л в М оскве 275-27-49 (9-22 ч.), 433-30-34 (9-18 ч.). Т е л в Ленинграде 247-40-45 (19-23 ч.). Адрес: 129164, М осква, аб. ящ ик 43.

КомпьютерПресс 2'91

7

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

В настоящее время в мире эксплуатируется около 500000 рабочих станций. Однако, по прогнозам экспертов, в 1993 г. объем продажи рабочих станций только в странах Западной Европы превысит эту величину и в 1994 г. будет эксплуатироваться свыше 2 млн. рабочих станций.

о состоянии И ПЕРСПЕКТИВАХ РАБОЧИХ СТАНЦИЙ Эволюция рабочих станций и тенденции развития рынка их сбыта во многом повторяют путь, по которо­ му осуществлялось развитие в области производства и сбыта персональных компьютеров. Наблю дается стре­ мительный рост объема продажи рабочих станций как в стоимостном, так и в натуральном исчислении. Если в 1982 г. мировой объем продажи составлял 25 млн. долл., то в 1988 г. он превысил 4 млрд. долл. По оцен­ кам экспертов ф ирм D ataquest и F rost & Sullivan, спе­ циализирующ ихся в области исследований рынка сбы­ та средств вычислительной техники, в 1992 г. эта циф ра долж на превысить 20 млрд. долл. Рост объема продажи в натуральном исчислении превыш ает его рост в стоимостном исчислении, причем преобладание этой тенденции свидетельствует об ум еньш ении сред­ ней стоимости вычислительных систем данного класса. В настоящ ее время основной объем продажи рабо­ чих станций (8 6 % ) приходится на долю четырех фирм: H ew lett-Packard, Apollo Com puters (эта ф ирм а недавно была приобретена фирмой H ew lett-Packard), Sun Microsystems и DEC. О днако в ближ айш ее время конкуренция на рынке сбыта сильно обострится, что связано с появлением новых изделий ф ирм IBM, Acorn, Sun Microsystems, Compaq и H ew lett-Packard (эти изделия будут более подробно описаны в заклю ­ чительной части настоящего обзора).

АППАРАТНЫ Е СРЕДСТВА РАБОЧИХ СТАНЦИЙ Основной сф ерой прим енения рабочих станций яв­ ляю тся области, требую щ ие осущ ествления большого количества вычислений и управления высококачест­ венной граф икой. К этим областям относятся, прежде всего, разнообразные системы автоматизации инж е­ нерного труда и автоматизированного проектирования (в первую очередь, в области конструирования изде­ лий электронной техн и ки ), системы моделирования и ан али за данных. Вторую группу проблем, для решения которых применяю тся рабочие станции, составляют вопросы автом атизированной разработки программного обеспечения. Круг задач, реш аемых с помощью рабочих станций, определяет предъявляемые к ним требования. Н апри­ мер, при использовании маш ины для реш ения задач цифрового моделирования превалирую щ ими являются требования к быстроте выполнения целочисленных операций. При моделировании матриц интегральных схем предпочтительно размещ ать всю информацию в ОЗУ, так как в противном случае частое обращ ение к дисковым ЗУ будет замедлять работу программы. При

КомпьютерПресс 2'91

8

О СОСТОЯНИИ И ПЕРСПЕКТИВАХ РАБОЧИХ СТАНЦИЙ

моделировании аналоговых характеристик необходимо, чтобы операции с плаваю щ ей запятой выполнялись как можно быстрее. А при работе с базой данны х бо­ лее важным моментом является скорость обращ ения к дисковым ЗУ. Больш ое значение имеет и быстродействие при об­ работке граф ической инф орм ации. А декватное отобра­ ж ение слож ных граф ических образов важ но не только в научно-исследовательских прилож ениях, но и при размещ ении элементов на печатных платах или в ин­ тегральны х схемах. В работе систем автом атизации инженерного труда важ на такж е способность рабочей станции быстро воспроизводить изменивш ееся граф и ­ ческое изображ ение. Обязательным требованием к м а­ ш ине сегодня является возможность управлять видео­ монитором с экраном высокого разреш ения. Отсюда вытекает необходимость того, чтобы емкость О ЗУ со­ ставляла не менее 4 Мбайт. С 1989 г. в качестве центрального процессора на рабочих станциях используются микропроцессоры с RISC-архитектурой (с сокращ енным набором ко­ манд). В отличие от процессоров с CISC -архитек­ турой (со слож ным набором команд), для управ­ ления работой микропроцессора с RISC -архитекту­ рой применяется сравнительно небольш ое число простых команд, набор которых оптимизирован. Поскольку время выполнения этих простых команд невелико, скорость работы микропроцессора, а, следо­

вательно, и быстродействие маш ины существенно по­ выш ается. В настоящ ее время на рынке широко представлены рабочие станции на базе микропроцессоров как с CISC-, так и с RISC -архитектурой (см. рис.1). Это же относится и к новейш им системам, которые только выходят на рынок: фирмы H ew lett-Packard и Compaq используют процессоры с CISC -архитектурой, а ф ир­ мы IBM, Sony и Acorn — процессоры с RISC-архитек­ турой. К ак правило, маш ины на базе микропроцессо­ ров с CISC -архитектурой деш евле, чем рабочие стан­ ции на базе микропроцессоров с RISC -архитектурой, и для них сущ ествует больш ий выбор программного обеспечения. Однако, быстродействие микропроцессо­ ров с сокращ енным набором команд почти вдвое вы­ ше. О тносительная деш евизна рабочих станций на базе микропроцессоров со сложным набором команд объяс­ няется тем, что комплектую щ ие их изделия более уни­ версальны и количество этих изделий меньше. Для из­ готовления маш ин на базе микропроцессоров с RISCархитектурой требуются быстродействующие, а следо­ вательно, дорогие схемы памяти. Кроме того, объем оперативной пам яти долж ен быть достаточно большим (минимум 8 М байт). У меренная цена некоторых маш ин объясняется еще и тем, что их системные платы не имеют расш ири­ тельных разъемов. Все внеш ние устройства подключа-

Процессор вычислительной системы

АРМ с RISC -архитектурой D ata G eneral AViiON Opus 18000 88000 T ektronix XD 8 8 /1 0 D EC station 2100 3100 MIPS MIPS RS 2030 R2000; 3000 Silicon G raphics P ersonal Iris H P 834CH H P-PA Inegraph Interpro 125 C lipper Sun SPARC station Solbourne 4 /5 0 0 Sun SPARC

Больш ой объем ПО Н изкая стоимость Невысокое быстродействие

Высокое быстродействие Небольш ой объем ПО

Рис.1. Используемые микропроцессоры и некоторые особенности вычислительных систем.

КомпьютерПресс 2'91

9

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

Архитектура вычислительной сети

ПО более слож ное П роцессор для системы ввода/вы вода часто является “узким местом*1

Рис.2. Архитектура некоторых вычислительных систем и связанные с ней особенности

ются через SCSI-интерф ейс. По этому пути пошла, например, ф ирм а D EC, в своей системе D ECstation 2100. В отличие от фирмы D EC ф ирм а Sun Microsystems использует для моделей SPA RCstation 1 фирменную ш ину расш ирения SBus, которая необхо­ дима для подклю чения дополнительного п ери ф е­ рийного оборудования. Этим, в частности, можно объ­ яснить то, что при почти одинаковых возможностях рабочая станция фирм ы Sun Microsystems несколько дороже. Стоимость маш ины во многом зависит от архитек­ туры вычислительной системы. П рименение граф ичес­ ких акселераторов и спецпроцессоров системы вводавывода улучш ает эксплуатационны е характеристики, но ведет к удорожанию рабочих станций. Н а рис.2 по­ казаны некоторые особенности архитектуры имею щ их­ ся на рынке маш ин. Основные технические характеристики и ориенти­ ровочная стоимость ряда сравнительно недорогих ра­ бочих станций представлены в приведенной ниж е таб­ лице. О ценивая их стоимость, следует иметь в виду, что итоговая цена комплекта в значительной степени зависит от общего объема О ЗУ, количества и емкости дисковых ЗУ и качества видеомонитора.

2 З а к . 2169

НЕКОТОРЫЕ АСПЕКТЫ СТАНДАРТИЗАЦИИ И РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Д Л Я РАБОЧИХ СТАНЦИЙ Хотя сегодня практически все рабочие станции функционирую т или могут функционировать под уп­ равлением различных версий ОС UNIX, машины раз­ личных ф ирм остаю тся практически несовместимыми на уровне программного обеспечения. Поэтому при­ кладные программы для вычислительны х средств этого вида остаются дорогими. Т о ж е самое можно сказать и о дополнительном периф ерийном оборудовании, по­ скольку каж дый его вид долж ен разрабатываться для одной серии рабочих станций. Проблема выбора стандарта и обеспечения совмес­ тимости остается весьма острой. Стандартизация очень выгодна пользователям, так как в этом случае и пакеты прикладны х программ, и дополнительное обо­ рудование становятся гораздо деш евле. В настоящее время процесс стандартизации и обеспечения совмес­ тимости рабочих станций ослож няется обострением

КомпьютерПресс 2'91

10

конкурентной борьбы и отсутствием явного лидера, так как каж дой ведущей фирм е-изготовителю рабочих станций хотелось бы, чтобы процессор и архитектура, используемые именно в ее м аш ине, легли в основу бу­ дущего стандарта для этого класса вычислительных систем. Т ак, ф ирм а Sun Microsystems адаптировала про­ граммное обеспечение, разработанное для ранних моделей ее рабочих станций на базе процессоров Motorola 68030 и Intel 80386, для использования на рабочей станции SPA RC station 1 на базе м икропро­ цессора с RISC -архитектурой SPARC (Scalable Processor A rchitecture — масш табируем ая процессор­ ная архитектура). О на продала лицензии на изго­ товление этого процессора ф ирм ам Fujitsu и Texas Instrum ents. Ком пания Solbourne C om puters приобре­ ла у Sun Microsystems лицензию не только на процессор SPARC, но и на программное обеспече­ ние для этого процессора — ОС SunOS UNIX, про­ граммный пакет Sun View, систему управления ок­ нами NeWS, сетевую файловую систему Network File System (N F S) и управляю щ ую систему Open Network Com puting (O N C ), которые широко использу­ ются в выпускаемых этой фирм ой рабочих стан ­ циях. В ближ айш ее время на рынке ожидается появление маш ин на базе микропроцессора SPARC, выпускаемых ф ирм ам и T oshiba и Tatung. Ф ирмы, производящ ие рабочие станции на базе RISC-микропроцессора M otorola 88000, таки е как T ektronix, D ata G eneral и Opus, надеются, что боль­ шое количество нужных для рабочих станций при­ кладных программ будет создано благодаря усилиям консорциума, названного 88ореп. Этот консорциум был создан для того, чтобы способствовать принятию стандартов и ф орм ированию процедур сертиф икации программного обеспечения для вычислительны х систем на базе RISC -микропроцессора Motorola 88000. Вы­ полнение этих задач позволило бы создать открытую среду для программного обеспечения подобных систем. П одкомитет консорциума, названный 88open Binary Com patibility S tandard (С тандарт двоичной совмести­ м ости), разработал описание стандартной формы всех исполняемых программ для вычислительных систем на базе микропроцессора M otorola 88000. В стандарте за­ тронуты вопросы представления данны х программ и ф айлов. В нем определены часто встречаю щ иеся типы данны х (целые, с плаваю щ ей запятой и символьные) и указывается, как данны е располагаю тся в слове и на странице пам яти и каким образом ф ай л размещ ается на диске. Лю бая программа, разработанная сторонним поста­ вщиком, может работать на любой м аш ине, выпускае­ мой фирмой, входящ ей в консорциум. Поэтому темпы увеличения объема программного обеспечения для этих рабочих станций будут расти.

КомпьютерПресс 2'91

О СОСТОЯНИИ И ПЕРСПЕКТИВАХ РАБОЧИХ СТАНЦИЙ

НОВОЕ ПОКОЛЕНИЕ РАБОЧИХ СТАНЦИЙ К ак уж е отмечалось, ш ирокое применение новых микропроцессоров с повыш енным быстродействием и отсутствие явного лидера в сф ере производства рабо­ чих станций привело к появлению на рынке новых моделей как на базе старш их моделей ПЭВМ, так и на базе новых микропроцессоров с RISC -архитектурой. Н иж е мы приводим более подробную информацию о некоторых представителях нового поколения рабочих станций.

Рабочая станция R S /6000 POWERstation 320 Фирма ЮМ Технические характ ери ст и ки Ф ирм а-изготовитель: IBM. Н аименование: R S /6 0 0 0 POW ERstation 320. Процессор: SG R 2032, 20 МГц. ОЗУ: 8 Мбайт с расш ирением до 32 Мбайт. Порты: один параллельны й, два последовательных, соединители для клавиатуры и манипулятора типа “ мышь“ . Н акопители: стандартно 89-мм НГМД и ЗУ П Д ем­ костью 120 Мбайт (подробнее см. текст ниж е). В настоящ ее время ф ирм е IBM принадлеж ит менее 3% рынка сбыта рабочих станций и ее машины серии 6150 успеха на рынке не имею т. Однако, выпуская на рынок новое семейство маш ин RISC S ystem /6000, ф и рм а IBM рассчитывает завоевать от 15 до 20% рын­ ка сбыта рабочих станций. Младшим представителем этого семейства является рабочая станция R S /6 0 0 0 POW ERstation 320. POWER — сокращ енное название новой RISC -архитектуры — Perform ance O ptimisation W ith E nchanced RISC (опти­ м изация производительности с усовершенствованной R ISC -архитектурой). Эта м аш ина выпускается в двух вариантах — на­ польном (466 мм х 280 мм х 523 мм, вес 15,4 кг) и настольном (162 мм х 456 мм х 523 мм, вес 12,7кг). Внеш ний вид PO W ERstation 320 в настольном ис­ полнении напом инает ПЭВМ P S /2 Model 70. В верх­ ней части передней панели располагается скважина для клю ча, выклю чатель питания, клавиш а перезапус­ ка и 89-мм НГМД. Н а задней панели размещаются четыре М СА-гнезда, один параллельны й и два по­ следовательных порта, а такж е разъемы для под­ клю чения клавиатуры и м анипулятора типа “ мыш ь“ . Р асш ирение производится с помощью шины Micro C hannel с увеличенной пропускной способностью, ко­ торая будет принимать все платы MCA. Д ля более э ф ­ фективного использования производительности нового процессора пропускная способность этой шины повы­ ш ена до 40 М б ай т/сек.

ПРЕДПРИЯТИЕ «СЕМИГОР» ПРЕДСТАВЛЯЕТ Всемирно Известный Продукт — «ALL CHARGCARD» ! Хрустальная туфелька сделала из бедной Золушки П ринцессу! «АН ChargCard» сделает из Вашего компьютера IBM A T/PS-2 Суперкомпьютер с Утроенной Мощностью и 100% Доступом к Памяти^ Разница между компьютером IBM AT/PS-2 на 286 процессоре и компьютером на 386 про­ цессоре — велика, но всемирно известный продукт «All ChargCard», превращающий первое во второе и расширяющий доступную DOS память до 960 Килобайт и более, — мал и по размерам, и по стоимости: 299 долларов США или 8000 рублей. Все это плюс совместимость с большинством модификаций AT/PS-2 и развитый сервис делают продукт фирмы "All Computers Inc." действительно передовой технологией. Завоевавший награды журналов "Byte", "PC Magazin" и "PC WEEK”, продукт распространя­ ется в США и Канаде компанией IBM, а в СССР предприятием "СЕМИГОР". "All ChargCard" — реальная возможность модернизировать Ваше устаревшее оборудование за минимальную ц е н у!

«All ChargCard» — это оправданная экономия Ваших средств!!! SemiGor AimsTree — СЕМЕЙСТВО ТЕКСТОВЫХ РЕДАКТОРОВ, обладающих уникальными свойствами и неограниченными возможностями! Деревянное зодчество 21 века — это Ваш шанс ! Наша цель — сделать редактор максимально удобным для В а с ! Вам достаточно выбрать функции, которые Вам нужны: [Ц СИ □ □

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



д е р е в о (иерархическая структура), которое непосредственно доступно Зам на экран е и которое Вы мож ете настраивать и редактировать разнообразны ми способами.

Эта необычайная возможность планирования Вашей деятельности в виде иерархической структуры откроет Вам мир логики, четкости'и порядка в Ваших самых запутанных делах. Е сли В ы — Б И З Н Е С М Е Н , Sem iG or A im sT ree — эт о С К А Ч О К в продукт ивност и В аш его т руда ещ е и пот ому, чт о В ы Н Е С М О Ж Е Т Е ЗА Б Ы Т Ь ни одно дело и з зап ланирован ны х Вами!

SemiGor C-Tools — это МОЩНАЯ СРЕДА __________ для профессиональных программистов на языках С и C++ Интегрированная среда разработчика включает: О СИ □ СИ □

уникальные средства создания, ведения и модификации деревьев проекта; настраиваемый многооконный редактор; средства создания, модификации и обработки макрокоманд пользователя; средства отслеживания перекрестных ссылок по функциям, объектам и глобальным переменным; настройку на различные компиляторы и отладчики;



синтаксический анализ языков С и C++;



одновременную работу с разными частями дерева, разными деревьями и разными проектами и прочее.

Оболочка SC-Tools отвечает логике разработчика : Алгоритм (спецификации) — Программа (функции).— Документация. При этом на каждом этапе Вам гарантируются ясный обзор всего проекта, соответствие в архитектуре и большой сервис.

Забудьте про файлы и модули, и Вы попадете в страну объектов и функций, в которой так легко дышится настоящему знатоку С. 440000, г. Пенза, а/я 72, «Семигор» Телефоны: (841-2) 46-13-23, 46-16-98. Телефакс: (841-2) 64-78-50. Телекс: 214-121 sigma semigor. Телетайп: 156220 НАРЦИСС Семигор

12

О СОСТОЯНИИ И ПЕРСПЕКТИВАХ РАБОЧИХ СТАНЦИЙ

С тандартная модель PO W ERstation 320 комплекту­ ется ж естким диском (или, вы раж аясь языком фирмы IBM, DASD — D irect Access Storage Device — ЗУ пря­ мого доступа) емкостью 120 Мбайт и О ЗУ объемом 8 Мбайт; 52-разрядная адресация дает гигантский с тео­ ретической точки зрения размер виртуальной пам яти — 256 Т байт. Н а практике PO W ERstation 320 ограни­ чена О ЗУ объемом 32 М байта и НМ Д емкостью 6 4 0 Мбайт. Предусмотрена возможность установки двух контроллеров SCSI (один такой контроллер является стандартны м в старш их моделях рабочей станции PO W ER station). Д иапазон возможных накопителей охватывает 133мм НГМД емкостью 1,2 М байта, внеш ний портатив­ ный НМД емкостью 355 М байт или 670 Мбайт, м ало­ габаритны й внеш ний НМД емкостью 320 Мбайт, стри­ мер на 150 Мбайт (ш ирина ленты 6,35 мм), систему НМЛ емкостью 2,3 Гбайта (ш ирина ленты 8 мм), внеш ний дисковод для П ЗУ на ком пакт-дисках и 9-дорожечный накопитель на магнитной ленте ш ириной 12,7 мм. Ш ирокий ассортимент новых и сущ ествующ их М СА-плат обеспечивает соединение не только с ло­ кальной сетью Token Ring, но и с E thernet, Х.25 и 3270. И спользуемый в PO W ERstation 320 процессор SGR2032, работаю щ ий в этой модели с тактовой час­ тотой 20 МГц, является набором из девяти кристаллов. В этот набор, который в значительной степени был спроектирован для работы с ОС AIX, входят отдель­ ные м атем атические процессоры с фиксированной и плаваю щ ей запятой и процессор передачи управления. Процессор передачи управления за один такт вы­ полняет команду регистра логического условия и ко­ манду перехода и обеспечивает выбор всех команд. Н екоторые из них выполняю тся этим ж е процессором, однако больш инство команд передается процессорам с фиксированной и плаваю щ ей запятой. После передачи ариф м етической команды процессор передачи управ­ ления может выбрать следующую несмотря на то, что ариф м етический процессор все ещ е занят. Процессор с фиксированной запятой содержит тридцать два 32-разрядны х регистра общего назначе­ ния и выполняет за один такт одну операцию . Про­ цессор с плаваю щ ей запятой может параллельно вы­ полнить за один такт две 64-разрядны х операции — “ум нож ение и слож ение1*. Конвейер потока данны х процессора с плаваю щ ей запятой организован так, что этот процессор может в каж дом такте инициировать новую команду “ум нож ить и сложить**. И спользование кэш -пам яти данны х емкостью 32 К байта, кэш -пам яти команд емкостью 8 Кбайт и л и ­ нии связи, позволяющ ей передавать до четырех ко­ манд, дает возможность выполнять за один такт пять операций. По данны м , представленным фирм ой IBM, базовая маш ина обладает феноменальны м быстроде­ йствием — 27,5 млн. к о м а н д /с е к и 7,4 млн. операций с плаваю щ ей за п я т о й /с е к (для сравнения отметим, что для описанных в обозрении Компью терП ресс № 8,

1990 г. рабочих станций D EC station 3100 фирмы DEC и SPA RC station 1 фирмы Sun Microsystems заявлены следую щ ие характеристики: 14,3 и 12,5 млн. ко­ м а н д /с е к и 1,6 и 1,4 млн. операций с плаваю щ ей за­ п я т о й /с е к , соответственно). Д ля того, чтобы в полной мере использовать быст­ родействие нового процессора, рабочие станции семе­ йства R S /6 0 0 0 могут быть оснащ ены новыми НМД, 89-мм с емкостью 320 Мбайт и 133-мм с емкостью 857 М байт, характеризую щ им ися временем доступа 12,5 и 11,2 мсек и скоростью передачи данны х 2 М б и т/сек и 3 М б и т/с ек , соответственно. Эти маш ины работаю т под управлением новой вер­ сии ОС UNIX фирмы IBM — AIX (Advanced Interactive ex ecu tiv e) Version 3. Н а уровне исходных кодов эта ОС совместима с Base System V Interface Definition (SV ID ) и BSD 4.3 фирмы AT&T. AIX под­ держ ивает POSIX (P o rtab le O perating System for Com puter E nvironm ents), T C P /I P и Network File System (N F S ), а такж е язы ки программирования Си, Ф О РТРА Н , КО БО Л и П аскаль и множество приклад­ ных программ, функционирую щ их под управлением ОС UNIX. Удобство в работе с ОС AIX в настоящ ее время оп­ ределяется прим енением двух пакетов. Первый пакет известен как AlXwindows E n v iro n m en ts/6 0 0 0 . Он осно­ ван на улучш енной версии OSF Motif и является час­ тью пакета, вклю чаю щ его X Window System, O S F /M otif и AlXwindows Desktop. А льтернатива, кото­ рая появится в ближ айш ее время, известна как AIX G raphic' User E n v iro n m en t/6 0 0 0 (граф ическая среда пользователя). О на в значительной степени основыва­ ется на объектно-ориентированной среде NeXTStep. Обе системы обладаю т возможностями Display PostScript, a AlXwindows поддерж ивает AIX X-GSL (G rap h ic Subroutine L ibrary — библиотека графичес­ ких подпрограмм) фирм ы IBM и GL фирмы Silicon G raphics. Необычным новшеством является то, что привычная объемная докум ентация по ОС UNIX заменена на П ЗУ на ком пакт-диске (C D -R O M ). К документации обращ аю тся с помощью текстовой и графической си­ стемы InfoE xplorer, обеспечиваю щ ей быструю выборку инф орм ации и наведение перекрестны х справок. Ц ена PO W ERstation 320 во многом зависит от ком­ плектации системы. С истема в м инимальной (базовой) конф игурации, в которую входят ОЗУ объемом 8 Мбайт, НМ Д емкостью 120 М байт, клавиатура, м ани­ пулятор ти п а “ мыш ь“ , адаптер сети E thernet, ОС AIX, среда и н терф ейса пользователя, NFS, система поиска и выборки инф орм ации для работы с документацией и видеомонитор, который, честно говоря, является чисто текстовым, стоит около 6400 ф .ст. Следующ ий вари­ ант этой модели оснащ ается 48-см (19-дю ймовым) по­ лутоновым видеомонитором с разреш ением 1240x1024 и платой G reyscale G raphics D isplay A daptor (адаптер полутонового графического дисплея), обеспечивающей отображ ение 16 оттенков серого из палитры в 256 от­ тенков. Стоимость этого варианта POW ERstation 320

КомпьютерПресс 2'91

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

приближ ается к 10400 ф .ст. О снащ ение рабочей стан ­ ции удвоенным НМД и зам ена полутонового виде­ омонитора на цветной с таким ж е экраном и раз­ реш ением повыш ает цену системы почти до 14700 ф.ст.

Рабочая станция News 3860 Фирма Sony M icrosystem s Технические характ ери ст ики Ф ирма-изготовитель: Sony Microsystems. Н аименование: News 3 8 6 0 /5 . Процессор: MIPS R 3000R ISC с частотой 16,67 МГц, ариф м етический сопроцессор с плаваю щ ей запятой R3010. ОЗУ: 16 Мбайт стандартно. /П о р т ы : два последовательных, сетевой адаптер E thernet, порты SCSI, клавиатуры и м анипулятора ти ­ па “мыш ь“ , адаптер монохромного видеомонитора. Н акопители: 89-мм НГМД емкостью 1,44 Мбайта, НМД емкостью 640 Мбайт. Выпустив свыш е 5000 рабочих станций на базе микропроцессора M otorola 680X 0, ф ирм а Sony Microsystems переш ла на выпуск машин News 3 8 6 0 /5 на базе микропроцессора с RISC-архитектурой. И нте­ ресно отметить, что целый ряд компонентов, использу­ емых в них, импортирован из США. Внешний вид News 3 8 6 0 /5 , в корпусе которой (533 мм х 711 мм х 508 мм, вес 24,5 кг) размещ аю тся НГМД и НМД, напом инает ПЭВМ класса IBM P C /A T . В News 3860 используется процессор MIPS R3000, работающ ий с тактовой частотой около 17 МГц. Для работы в реж име нулевого ожидания предусмотрены 64-килобайтная кэш -пам ять данны х и 64-килобайтная кэш -пам ять команд. А рхитектура рабочей станции рассчитана на поддержку перспективны х ИС MIPS, которые будут обладать гораздо большим быстроде­ йствием, чем используемый в настоящ ее время про­ цессор R3000. В качестве ариф метического сопроцес­ сора используется стандартны й процессор с п лава­ ющей запятой MIPS R3010, даю щ ий 32-разрядную одинарную точность и 64-разрядную удвоенную точ­ ность. От других рабочих станций, в которых используется процессор MIPS, маш ины фирмы Sony Microsystems отличаются тем, что используют дополнительны е про­ цессоры 68030 для улучш ения производительности си ­ стемы ввода-вывода. Ведутся работы по применению дополнительных процессоров 68030 в качестве граф и ­ ческих и сетевых процессоров. Каждый из этих про­ цессоров будет поставляться на собственной плате рас­ ш ирения, подключаемой к фирм енной ш ине Sony, ко­ торая поддерживает 7 гнезд и работает со скоростью 128 М б ай т/сек. Каждый процессор, каж дая плата п а­ мяти и платы цветной граф ики заним аю т по одному гнезду этой шины, которая соответствует стандартам ЕСС.

13 Безусловно, рабочая стан ц и я News 3 8 6 0 /5 не явля­ ется многопроцессорной системой в истинном смысле слова, так как дополнительны й процессор лиш ь в не­ которой степени сн и ж ает нагрузку на основной про­ цессор. М ощность данной системы максимально реа­ лизуется в однопользовательских прикладны х задачах с интенсивны ми операциям и ввода-вывода. Ф ирм а Sony характеризует быстродействие News 3860 как 20 млн. к о м а н д /с е к и 3,5 млн. операций с плаваю щ ей за п я т о й /с е к . О ЗУ стандартной рабочей станции имеет объем 16 Мбайт и составлено из 1-Мбит ИС, смонтированных на плате, заним аю щ ей одно гнездо. При наличии до­ статочного количества свободных гнезд максимальный объем О ЗУ может быть доведен до 80 Мбайт. Ф ирма Sony надеется в будущем довести объем памяти, раз­ мещ аемой на одной плате, до 64 Мбайт, используя 4Мбит И С. Поскольку внутренняя ф ирм ен н ая ш ина не имеет внеш него порта, использование внеш ней памяти невозможно, а все платы пам яти необходимо приобре­ тать у фирм ы Sony. Единственной большой заказной ИС, которая разработана фирм ой Sony, является блок управления пам ятью , хотя эта ИС полностью соответ­ ствует сп ец и ф и кац и и ф ирм ы MIPS. В корпусе настольной рабочей станции News 3 8 6 0 /5 можно разм естить только один винчестер ем­ костью 640 М байт. Можно добавить подсистему SCSI, позволяющую подклю чать дополнительны е ЗУ емкос­ тью до 981 М байта. В корпусе имеется место для уста­ новки ф акультативного НМЛ емкостью 150 Мбайт, ко­ торый мож ет такж е читать ленты более старого типа емкостью 80 М байт. НГМ Д представлен 89-мм нако­ пителем емкостью 1,44 М байта. М онохромная граф и ка с разреш ением 1152x900 элементов изображ ения поддерж ивается на основной плате; использование единственной платы расш ирения позволяет добавить цветность. Ф ирм а Sony использует наиболее популярную систему цветной графики, ф ункционально идентичную стандарту Sun CG 4 — 8бит и два налож ения. Это позволяет выводить на эк­ ран до 256 цветов из палитры в 16,8 млн. Хотя к ф и р­ менной ш ине и подклю чена ш ина VME, она обладает далеко не всеми возможностями стандартной VMEш ины. Требование подклю чения граф ических плат к ф ирм енной ш ине ведет к тому, что стандартны е адап­ теры улучш енной граф ики, поставляемые в виде VMEплат, не будут работать на этой системе. Используе­ мые видеомониторы Sony T rin itro n , как 48-см цветной, так и 43-см монохромный, имею т великолепные ха­ рактеристики. Н а задней панели News 3 8 6 0 /5 смонтированы два последовательных порта, адаптер сети E thernet, порт SCSI, адаптер монохромного видеомонитора, порты для подклю чения клавиатуры и манипулятора типа “ мыш ь“ . В настоящ ее время в качестве операционной систе­ мы на рабочей стан ц и и News 3 8 6 0 /5 применяется AT& T UNIX System V версия 4.1. Д ля того, чтобы ис­ пользовать весь потенциал своей архитектуры с про­

КомпьютерПресс 2'91

14

О СОСТОЯНИИ И ПЕРСПЕКТИВАХ РАБОЧИХ СТАНЦИЙ

цессорами MIPS и 6 8 0 3 0 , ф ирм а переписала ядро AT&T. Д ля News 3860 можно использовать практичес­ ки все дополнительное программное обеспечение AT&T System (по л и ц ен зи и ), вклю чая интерф ейс OSF Motif, NFS, NeWS, Xterm и Kterm, DBX и XDBtools, G K S /C , FIGARO, Си и Ф О РТРА Н 77. У фирм ы MIT Sony приобрела лицензию на XWindows. К концу 1990 г. компания Sony рассчитывала пред­ лож ить для рабочих станци й серии News 3860 около 1000 прикладны х программ. Ф ирм а предназначает свои рабочие станции для реш ения, преж де всего, за ­ дач автоматического проектирования (MCAD и ECA D ), обработки изображ ения и автом атизации раз­ работки программного обеспечения. Что ж е касается цены, то базовая бездисковая сис­ тем а с одним процессором, цветной граф икой и О ЗУ объемом 16 Мбайт стоит около 9500 ф .ст. Стоимость такой же системы, оборудованной НМД и НМЛ, до­ стигает почти 13500 ф .ст. Д ля сравнения отметим, что стоимость системы News 3 8 6 0 /8 (сам ая старш ая мо­ дель, предназначенная, в первую очередь, для исполь­ зования в качестве ф айл-сервера сети) с О ЗУ объемом 32 М байта, НМ Д емкостью 1,2 Гбайта и кассетным НМЛ с лентой ш ириной 8 мм (ем кость 2 Гбайта) п ре­ высит 28 тыс. ф .ст.

Р азм ещ аю щ ийся внутри корпуса блок питания мощностью 100 Вт обеспечивает питание для видеомо­ нитора. Н а объединительной плате имеется пять гнезд для вертикально устанавливаемы х плат, гнездо платы объ­ единения модулей, на которой можно смонтировать ещ е четы ре платы, три гнезда для плат расш ирения пам яти и гнездо платы процессора. В гнезда для пам яти устанавливаю тся платы, в ко­ торых использованы 4-М бит 80-нсек ИС ЗУПВ, на каж дой плахе монтируется свой блок управления па­ мятью. С тандартны е рабочие станции R260 поставля­ ются с О ЗУ объемом 8 М байт, расш иряемым до 16 Мбайт. Внутри корпуса рабочей станции R260 устанавлива­ ется 89-мм НМ Д фирм ы N EC емкостью 100 Мбайт. Место для установки дополнительны х внутренних дис­ ковых накопителей не предусмотрено. С тандартно на плате объединения модулей монти­ руются платы интерф ейсов E th ern et и SCSI; Плата SCSI оборудована внутренним соединителем и внеш­ ним 50-контактны м разъемом. На задней панели R260 им ею тся следующ ие порты: неподклю ченный соединитель Econet, 9-штырьковый последовательный порт ти п а D, 25-ш тырьковый па­ раллельный разъем C entronix D, 3,5-м м звуковое гнез­ до, 9-ш тырьковы й видеопорт ти п а D и три м иниатю р­ ных видеосоединителя для принудительной синхрони­ зац и и с внеш ними источниками. К лавиатура подклю чается к разъему на передней панели. Порт для м анипулятора ти п а “ мышь“ (в ка­ честве стандартного поставляется трехклавиш ны й ме­ ханический манипулятор, разработанный фирмой Logitech) находится на задней панели клавиатуры. Р я­ дом с этим портом располож ена клавиш а перезапуска. Н а плате видеоадаптера используется та ж е микрос­ хем а, что и в R 140, однако добавлена дополнительная схема синхронизации, позволяю щ ая реализовать ре­ жимы VGA и SuperVG A . А ппаратны е средства отобра­ ж ен и я текстовой и граф ической инф орм ации поддер­ ж иваю т различны е типы мониторов, включая 16-цветный мультичастотный реж им с разреш ением 640x480 элементов изображ ения и монохромный режим с раз­ реш ением 1152x900 элементов изображ ения. Исполь­ зование более быстрой шины позволяет такж е поддер­ ж ивать 16— и 256-цветны й режим VGA с разреш ени­ ем 640x480 и 16-цветный режим SuperVGA с разреш е­ нием 800x600 элементов изображ ения. Следует отм етить, что в 1991 г. ф ирм а Acorn рас­ считывает оснастить свои рабочие станции модели R260 акселератором операций с плаваю щ ей запятой собственной разработки. О пытный образец R260 был оснащ ен многозадачной ОС RiscOs и ОС Rise iX 1.2, перенесенной на данную систему версией UNIX, происходящ ей от 4.3 BSD UNIX (B erkeley U N IX ) и соответствую щ ей стандарту X /O p e n X PG 3. Серийны е системы будут поставляться с ОС Rise iX на ж естком диске. Г раф ические средства обеспечиваю тся Х11г4 (сер­

Рабочая станция R260 Фирма Acorn Технические характ ери ст и ки Ф ирма-изготовитель: Acorn. Н аим енование: R260. Процессор: ARM3 (тактовая частота 30 М Гц). ОЗУ: 8 Мбайт с расш ирением до 16 Мбайт. Порты: один параллельны й, один последователь­ ный, звуковое гнездо, видеопорт, интерфейсы E thern et и SCSI. Н акопители: 89-мм НГМД емкостью 720 К байт, НМД емкостью 100 Мбайт. Предыдущая система фирмы Acorn, R140, работав­ ш ая под управлением ОС UNIX, была оснащ ена ОЗУ объемом 4 М байта, и базируясь на процессоре ARM2 с тактовой частотой 8 МГц, не обладала достаточной мощностью для того, чтобы быть по-настоящ ему по­ лезной рабочей станцией. Новая рабочая станция R260 базируется на процес­ соре ARM3 с внутренней кэш -памятью , работаю щ ем с тактовой частотой 30 МГц. Это, а такж е использова­ ние 12-мегагерцевой ш ины, привело к резкому улуч­ шению характеристик рабочей станции R260 по срав­ нению с предыдущей моделью. Ф ирм а Acorn сообщ а­ ет, что быстродействие R260 составляет от 10 до 12 млн. к о м а н д /с ек . Н а передней панели R260, корпус которой иденти­ чен корпусу предыдущей модели R 140, находятся один дисковод фирмы Citizen для 89-мм ГМД, светодиод индикации вклю чения сетевого питания и светодиод индикации работы НМД.

КомпьютерПресс 2'91

15

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

вер, клиенты и пакеты разработчика), что позволяет создавать непрямоугольные окна. И спользуя пакет раз­ работчика и адм инистратор окон Motif 1.0, можно со­ здавать изящ ные пиктограммы и трехмерны е клавиш и. Граф ический интерф ейс пользователя осущ ествляется с помощью X .Desktop 2.0, а соединение с сетью — с помощью NFS 4.0 и T C P /I P . XWiiidows позволяет иметь для одного физического экрана 4 виртуальны х — системная консоль в сим ­ вольном режиме, буф ер изображ ения, используемый X, и ещ е два символьных терм инала. Х -сервер при­ способлен под ап паратны е средства R 260 — он может переклю чать буф ер изображ ения между четырьмя от­ дельными дисплеями (в дополнение к символьным эк­ ранам). Каждый из них представляется в виде отдель­ ного Х -дисплея с разреш ением, соответствующим раз­ реш ению подключенного видеомонитора. У казание разреш ения и переклю чение между дисплеями произ­ водятся программно. П оставляемые средства разработки программ вклю ­ чают все необходимые библиотеки и ф айлы , требую ­ щиеся для написания программ для использования X II и Motif. Основные средства программирования включают GNU Emacs 18.54 и транслятор Си, кото­ рый не является, как это часто бывает на U N IX -м аш и ­ нах, версией транслятора P ortable С com piler, а пред­ ставляет собой транслятор Norcroft Ansi С, используе­ мый для разработки ОС RiscOs. С серийными система­ ми будут такж е поставляться Ф О РТРА Н 77 и Iso-П аскаль, причем оба используют тот ж е генератор объект­ ного кода и те ж е оптим изации, что и транслятор Си. Будучи совместимой с системой R 140 на уровне двоичных кодов, рабочая станция R 260 унаследовала все программное обеспечение предыдущей модели, вклю чающ ее Informix, U niplex, Q-Office, UNIRAS и PGKS. Сильной стороной машин фирмы Acorn являются их сетевые возможности. К ак уж е отмечалось, рабочая станция R 260 оборудована встроенным портом E thernet, предусмотрена такж е возможность поддерж­ ки интерф ейса Econet. Работа в среде сетевой ф ай ло­ вой системы NFS, обращ ение к сетевой распределен­ ной базе данны х Yellow Page, использование утилит Berkeley T C P /I P и XW indows-соединения от удален­ ных клиентов осущ ествляются без каких-либо сбоев и затруднений. Ц ена описанной базовой системы с О ЗУ объемом 8 Мбайт — около 5000 ф .ст.

Рабочая станция SystemPro Фирма Compaq Технические характ ери ст ики Ф ирма-изготовитель: Compaq. Н аименование: System Pro. Процессор: 2 процессора Intel 80386 (тактовая час­ тота 33 МГц) (ариф м етические сопроцессоры Intel 80387 или W eitek) или 2 процессора Intel 80486 (так­ товая частота 25 Мгц).

О ЗУ: 8 Мбайт с расш ирением до 160 Мбайт. Порты: один параллельны й Centronix, один щ тырьковый последовательный RS-232, один порт м анипулятора ти п а “ мыш ь“ . Н акопители: 89-мм НГМ Д емкостью К б а й т /1,44 М байта, 133-мм НГМД емкостью К б а й т /1,2 М байта, НМЛ емкостью 520 Мбайт, НМ Д емкостью по 420 Мбайт.

9для 720 360 два

Ф ирм а Com paq ■ — один из ведущ их производителей ПЭВМ — выпустила на рынок мощную рабочую стан­ цию System Pro. Внеш не эта система выглядит весьма внуш ительно — при высоте свыш е 610 мм и ш ирине более 300 мм она весит около 25,5 кг, однако располо­ ж енны й в верхней части корпуса скош енны й отсек, в котором размещ аю тся накопители, придает системе некоторую элегантность. И сточник питания мощностью 300 Вт, которым оборудована System Pro, экранирован в соответствии со стандартом Ф едеральной комиссии связи США. Его м ощ ности вполне хватает даж е при работе системы с м ногочисленными последовательными терминальными портами. Н аиболее интересной особенностью маш ины явля­ ется ее процессорный блок. Он состоит из двух про­ цессоров Intel 80386 (33 М Гц) или двух процессоров Intel 80486 (25 М Гц). В перспективе планируется вы­ пуск модели System Pro на базе процессоров Intel 80486, работаю щ их с тактовой частотой 33 МГц. Опи­ сы ваемая в настоящ ем обзоре система оборудована двумя процессорами 80386, один из которых работает с ариф м етическим сопроцессором Intel 80387, а другой — с ариф м етическим сопроцессором фирмы Weitek. Благодаря тому, что каж ды й из процессоров уста­ новлен на отдельной плате, устанавливаемой в одно из четырех специально м одифицированны х расш иритель­ ных гнезд, объединительная плата смонтирована с относительно невысоким уровнем плотности. Почти вся сборка произведена методом поверхностного м онтаж а. Н а платах процессоров отсутствуют перемычки и переклю чатели ти п а D IP — вся конф игурация выпол­ няется автом атически системными программными средствами. Первый процессор, плата которого уста­ навливается в гнездо 1, обеспечивает обработку пре­ рываний, исходящ их от основной системной платы. Именно этот процессор может быть перенастроен на более низкую тактовую частоту, чтобы обеспечить сов­ местимость с более ранним и DOS-системами. Что же касается ОС UNIX, оба процессора являются идентич­ ными, и только небольш ая м одиф икация ядра обеспе­ чивает обработку всех преры ваний процессором 1. Все платы процессоров 80386 оборудованы гнездами для установки ариф м етического сопроцессора Intel 80387 или W eitek. ОС SCO UNIX автоматически рас­ познает эти дополнительны е процессоры и использует их для своих м атем атических библиотек. Процессор фирмы W eitek является более мощным (и более доро­ гим), чем процессор Intel 80387, но он требует уста-

КомпьютерПресс 2' 91

16

Фирма-изготовитель

О СОСТОЯНИИ И ПЕРСПЕКТИВАХ РАБОЧИХ СТАНЦИЙ

Название модели

Тип микро­ процессора

Быстро­ действие, млн.оп. в 1с

Тактовая частота, МГц

Емкость ОЗУ, Мбайт min/max

Data General

AViiON

88000

17

16,67 или 20

4/28

Digital Equipment

DECstation 2100 DECstation 3100

R2000 R2000

10 14

12,5 16,67

8/24 8/24

Hewlett-Packard

Model 3 4 0 /360/370 Model 834CH

68030 4 /5 /8 H P-PA (фир­ 14,8 менный с ар­ хитектурой RISC)

16,7/25/33 15

4/16 8/48

Отделение Apollo Systems фирмы Hewlett-Packard

Series 2500 Personal Workstation Series 3500 Personal Workstation

68030

4

25

4/16

68030

5

25

4/32

Отделение Apollo Systems фирмы Hewlett-Packard

Series 4500 Personal Super Workstation

68030

8

33

8/32

Integraph

Interpro 125

Clipper

4

25

6/12

MIPS Computer

RS 2030

R2000

12

16,67

8/16

Opus

Personal Mainframe/8000

88000

17

20

4/20

Silicon Graphics

Personal Iris

R3000

16

20

8 /-

Solboume Computer

Series 4/500

SPARC

от 9,5 до 17

16,67

16/96

Sony Microsystems

News 1700 series

68030

4,3

25

4/32

Sun Microsystems

SPARCstation 1 Sun 3 /8 0 Sun 386i/150 и 250

SPARC 68030 80386

12,5 3 3 /5

20 20 20/25

4/16 4/16 4/16

Tektronix

XD 88/10

88000

17

20

8/32

новки дополнительной математической библиотеки. Поскольку ОС UNIX не отличает один процессор от другого, она предполагает, что если один процессор оборудован ариф м етическим сопроцессором, то и вто-

КомпьютерПресс 2'91

рой тож е. В System Pro на базе процессоров 80486 ни­ каких ослож нений не возникает, поскольку ариф мети­ ческий сопроцессор интегрирован в одном кристалле с основным.

17

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

Разрешающая способность экрана, эл. изображения

Тип микропроцессора для операций с пла­ вающей запятой

Емкость ЗУ на жестких дисках, Мбайт

Цена, тыс .долл.

монохромный

цветной

1280x1024

1280x1024x256

внутренний

160 или 320

7,45

1024x864 1024x864

1024x864x356 1024x864x356

R2010 R2010

2x105 2x105

7,95 11,9

1024x768

1024x768x16 1280x1024x256

68882

от 81 до 571

8,5

1280x1024

1280x1024x256

специализи­ рованный 68882

от 156 до 300

19,375

от 100 до 200

3,99

1024x800 1280x1024 16 или 256 цветов 1024x800 1280x1024 16 или 256 цветов

68882

от 155 до 697

8,495

68882

от 155 до 697

19,99

1184x884x32

внутренний

156

16

R2010

172

17

800x600x256 1280x1024x256

внутренний

40

9,995

1024x768x256 1280x1024x256

R3010

от 150 до 344

1152x900

1152x900x256

Weitek 1164165

260

816x1024

1280x1024x16 или 256

68882

286

11,495

1152x900 1152x900 1024x768

1152x900x256 1152x900x256 1024x768x256

Weitek 1164165 68882 80387

от 104 до 1100 от 104 до 1100 от 91 до 327

8,995 5,995 8,99

1280x1024x256

внутренний

от 156 до 3000

16

1024x800 1280x1024 1024x800 1280x1024 1024x800 1280x1024

1280x1024 640x480x256 1664x1200

Ф ирм а Compaq сообщает, что в зависимости от конфигурации System Pro обладает быстродействием от 8 до 40 млн. к о м а н д /с ек , причем потенциал второго процессора реализуется на 8 0 -9 0 % . 3 З а к . 2169

13,5

’ 17,1

О ЗУ маш ины строится на базе 80-нс 1-Мбитных ИС динам ических ЗУ ПВ с внутренним механизмом адресации, позволяю щ им удерживать страницу данных объемом 2 К байта в течение всей продолжительности

КомпьютерПресс 2'91

18

О СОСТОЯНИИ И ПЕРСПЕКТИВАХ РАБОЧИХ СТАНЦИЙ

доступа к главной пам яти (реж им “ enhanced page“ — усоверш енствованная стран и ц а). В настоящ ее время ф ирм а Com paq предлагает рабочие станци и System Pro, оборудованные О ЗУ объемом от 8 до 160 Мбайт (сис­ тема, рассм атриваемая в настоящ ем обзоре, снабж ена О ЗУ объемом 12 М байт), хотя при использовании 4М битных динам ических ЗУ ПВ можно довести объем внутренней пам яти до 256 Мбайт. Ц ентром О ЗУ является контроллер кэш 82385, к ко­ торому оба процессора обращ аю тся с запросом о до­ ступе к пам яти. Контроллер сначала пытается обслу­ ж ить этот запрос путем поиска в 64-килобитной ассо­ циативной кэш -пам яти, использующ ей 25-нс статичес­ кие ЗУ ПВ и оперирую щ ей как с данны м и, так и с ко­ мандами. При “ непопадании11 в среднем используется 6 тактов, однако ф ирм а Com paq оценивает эф ф екти в­ ность кэш -п ам яти в 97% . Н а объединительной плате смонтирован набор гра­ ф ических микросхем, соответствующ их стандарту VGA. В этот набор входит микросхема выполнения бит-блочных операций, предназначенная для высокос­ коростного копирования содерж ания графической п а­ мяти, что обеспечивает сверхбыструю прокрутку и восстановление изображ ения, а такж е ускоряет выпол­ нение других граф ических операций. Однако пользо­ ватели, ж елаю щ ие работать с полиэкранной системой XWindows под управлением ОС SCO UNIX, могут счесть отсутствие реж има SuperVGA серьезным упу­ щ ением. Ф ирм а Com paq стандартно комплектует рабочие станции System Pro 35-см VGA-видеомонитором с ш а­ гом между точками 0,31мм и максимальны м разреш е­ нием 640x480 элементов изображ ения, поддерживаю ­ щим до 256 цветов. И нтересной особенностью System Pro является кон­ ф игурация жесткого диска. В рассматриваемой систе­ ме 840 Мбайт емкости жесткого диска организованы в единый накопитель. Ф актически НМД состоит из двух 420-М байтных НМД фирмы W estern Digital, характе­ ризующ ихся временем доступа 17 мсек, которые объе­ динены на програм мно-аппаратном уровне. Кроме то­ го, рассм атриваемая система оборудована НМЛ емкос­ тью 520 Мбайт. Главным достиж ением здесь можно считать блок управления НМД — IDA (Intelligent Disk A rray — ин­ теллектуальная дисковая м атрица). Он не только объе­ диняет все ж есткие диски, но и определяет возмож­ ность использовать любой возникаю щ ий в процессе работы нескольких накопителей параллелизм . Блок IDA может управлять четырьмя парами накопителей (два дисковода подключаются к одному и тому же IDA-интерф ей су), так что если каж дый накопитель обеспечивает скорость выборки 2 М б ай та/сек , то ско­ рость поступления данны х из IDA на системную шину составит 8 М б ай т/сек . Помимо нескольких заказны х микросхем, блок IDA содерж ит процессор 80186 и ло­ кальное ЗУ . Процессор позволяет IDA ф ункциониро­ вать в качестве “хозяина1* шины EISA, предоставляя ему особые привилегии при обращ ении к этой ш ине.

System Pro в минимальной комплектации поставля­ ется с одной парой 89-мм НМД, работающ их как еди­ ный накопитель со скоростью передачи данных 3 М б ай та /с ек . У становка каж дой дополнительной пары накопителей не только повыш ает возможности хране­ ния инф орм ации, но и удваивает эффективность НМД. Д ля достиж ения параллелизм а каждый файл на диске “ расщеплен** (н а уровне секторов) по всему чис­ лу имею щ ихся накопителей. При этом существует се­ рьезная опасность того, что отказ на одном из накопи­ телей может привести к ош ибке в каждом втором, третьем или четвертом секторе каждого ф айла систе­ мы. Поэтому для повыш ения сохранности данных приш лось пойти на увеличение длины блоков. Благо­ даря применению системы парны х дисководов возмож­ но использование трех вариантов оперативного дубли­ рования инф орм ации. Стандартно используется метод, в котором второй накопитель в каж дой паре “зеркально“ отраж ает инф орм ацию первого накопителя. В ме­ нее критичны х прим енениях для дублирования данных (с соответствующ им сж атием инф орм ации) использу­ ется лиш ь один из четырех накопителей. Если ж е тре­ буется высочайш ая надеж ность, то применяется двой­ ное резервирование, т.е. оснащ ение системы двумя контроллерам и и двумя наборами накопителей (в этом случае дублируется и контроллер). Работа системы резервирования проверялась на ■практике. Ее эксплуатация в качестве файл-сервера в локальной сети фирмы Novell показала, что отсоеди­ нение одного из накопителей не оказывало никакого влияния на работу сети. Хотя, по сути дела, “отсутствовала** треть данных, это заф иксировал лиш ь блок IDA. Поэтому, когда после выклю чения системы было имитировано вклю чение нового накопителя (на самом деле было восстановлено наруш енное соединение), сеть продолжала работать по-прежнему, в то время как блок IDA немедленно начал восстанавливать “утраченный** массив инф орм ации, причем вся работа выполнялась в фоновом режиме. Рабочая станция System Pro обладает солидными возможностями расш ирения — она оборудована 11 гнездами для дополнительны х модулей. Из них семь гнезд поддерживаю т платы с архитектурой EISA, в ос­ тальны е четыре могут устанавливаться стандартные модули P C /A T . В эти ж е гнезда могут устанавливать­ ся патентованны е платы пам яти и процессоров фирмы Com paq (известные как F le x /M P ). Хотя ф ирм а Com paq и заявляет, что вопрос исполь­ зования какой-либо конкретной операционной систе­ мы является личны м делом пользователя, очевидно, что рабочая станция System Pro спроектирована для ис­ пользования ОС UNIX. Д ан н ая система (SystemPro) испытывалась с последней мультипроцессорной верси­ ей ОС UNIX (System V R elease 3.2) фирмы SCO, обычно обозначаемой как SCO МРХ, причем для каж ­ дого из процессоров требуется своя копия SCO МРХ. SCO МРХ идентична стандартной ОС SCO UNIX V /3 8 6 за исклю чением небольш их модификаций ядра

КомпьютерПресс 2'91

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

для параллельной обработки задачи двумя процессора­ ми. Все программное обеспечение, написанное для ОС SCO UNIX V /3 8 6 , будет выполняться на System Pro без внесения в него каких-либо изменений и автом а­ тически использовать оба процессора. В настоящ ее время на рынке имеется около 3000 прикладны х про­ грамм, рассчитанных на прим енение ОС SCO UNIX. Хотя количество имеющ ихся граф ических приложений и невелико, с помощью SCO X desktop можно выпол­ нять примерно 200 родовых Х -прилож ений. П рикладные программы, выполняемые под управле­ нием ОС DOS, никоим образом не могут использовать второй процессор — природа системного программного обеспечения-тйкова, что это возможно только для мно­ гозадачных операционных систем. В настоящ ее время Windows 3.0 такж е не может использовать оба процес­ сора, хотя одна независимая компания в СШ А разра­ батывает версию, обладающую таким и возможностя­ ми. Стоимость System Pro в минимальной конфигурации составляет около 12 ты с.ф .ст., а стоимость системы, описанной в настоящ ем обзоре, превыш ает 30 тыс.ф.ст.

Рабочая станция HP Vectra 486 PC Фирма Hewlett-Packard Технические характ ерист и ки Ф ирма-изготовитель: H ew lett-Packard. Наименование: H P V ectra 486 PC. Процессор: 32-разрядный процессор Intel i486 (ч а­ стота 25 М Гц). ОЗУ: стандартно 2 М байта с расш ирением до 64 Мбайт. Порты: один параллельны й, два последовательных, порты для подключения клавиатуры и манипулятора типа “мышь“ . Н акопители: поддерживается до 4-х НГМД (вклю ­ чая 133-мм НГМД емкостью 360 Кбайт и 1,2 Мбайта, 89-мм НГМД емкостью 1,44 М байта и НМЛ емкостью 120 Мбайт) и до 2-х НМД емкостью 152-670 Мбайт. Ф ирм а H ew lett-Packard хорошо известна в области производства средств вычислительной техники благо­ даря высокому качеству своих изделий — за что бы компания ни бралась, как проработка деталей, так и качество изготовления всегда соответствовуют са­ мым высоким стандартам. Е щ е одним подтверждением репутации H ew lett-Packard является ее новая рабо­ чая станция HP V ectra 486, появившаяся в конце 1989 г. Системный блок HP V ectra 486, весом около 27 кг, выполнен в виде напольной “баш ни" высотой 600 мм, шириной 210 мм и глубиной 500 мм, которая покоит­ ся на опоре ш ириной 360 мм и глубиной 500 мм. В левом верхнем углу передней панели размещ ается лег­ ко доступный выклю чатель сетевого питания. Внутри системного блока имеется 11 гнезд для уста­ новки модулей расш ирения, и, хотя часть этих гнезд

19 зан ята таким и обязательны ми платам и, как платы ви­ деоконтроллера VGA, контроллера манипулятора типа “ мышь“ и клавиатуры, плата пам яти и объединитель­ ная плата процессора, остальные гнезда обеспечивают больш ие возможности расш ирения системы, а про­ грамма конф игурации EISA позволяет полностью оп­ ределить устанавливаемы е в них платы. Н а объединительной плате H W PFC 09 смонтирован процессор i486 (тактовая частота 25 М Гц), работаю­ щий с внутренней кэш -пам ятью . Эта плата, а такж е плата расш ирения памяти H W P0800 рассматриваются системой как встроенные. Н а H P V ectra 486 поддер­ живаю тся два способа расш ирения памяти: использо­ вание 2— и 8-мегабайтны х расш ирительных комплек­ тов позволяет довести объем О ЗУ до 32 Мбайт, а ис­ пользование 16-мегабайтных комплектов — до 64 М байт. Т ретьей встроенной платой является много­ ф ункциональная плата H W P1C20, обеспечивающая вы полнение операций ввода-вывода для клавиатуры и м анипулятора ти п а “ мыш ь“ . О стальные восемь гнезд соответствуют стандарту EISA и могут использоваться для 8-, 16— и 32-разрядного оборудования, соответствующ его стандарту EISA или ISA. Ш есть гнезд конфигурированы для работы с п латам и -“хозяевам и“ ш ины, а оставш иеся два гнезда обычно используются для установки плат видеокон­ троллера. У правление стандартны м 36-см 16-цветным VGAвидеомонитором с разреш ением 640x480 элементов изображ ения осущ ествляется платой VGA-адаптера H W P0040, которая поддерж ивает такж е режим IBM MDA, CGA, EGA и H ercules. Д ля реш ения приклад­ ных задач, предъявляю щ их повыш енные требования к граф ике (наприм ер, СА П Р или настольные издательс­ кие системы ), рабочая станция H P V ectra 486 оснащ а­ ется 16— или 20-дю ймовым цветным видеомонитором высокого разреш ения (до 1280x1024 элементов изобра­ ж ения) с ш арнирны м основанием. Т акой видеомони­ тор управляется усоверш енствованным графическим контроллером HP А1086 Intelligent G raphic Controller, имеющ им собственное 512-килобайтное динамическое ЗУПВ. Д ополнительные возможности ввода-вывода обеспе­ чиваю тся установкой коммуникационной платы H W P1C10, на которой находятся второй 9-ш тырьковый последовательный порт RS-232 и 25-контактный параллельны й порт. Одно из EISA-гнезд занято платой ESD I-контролле­ ра жесткого диска H P D 1664А (20 М б и т/с ек ), кото­ рый может управлять двумя НМД емкостью до 670 Мбайт каждый. И 102-клавиш ная клавиатура, и двухклавиш ный манипулятор ти п а “ мыш ь“ такж е изготовлены фирмой H ew lett-Packard, и работать с ними не только удобно, но и приятно. Рабочая станция H P V ectra 486 может работать как под управлением ОС SCO UNIX System V 3.2, так и под управлением версии ОС Microsoft MS-DOS 4.01 для ПЭВМ H P V ectra 486. Эта версия включает ряд

КомпьютерПресс 2' 91

20

О СОСТОЯНИИ И ПЕРСПЕКТИВАХ РАБОЧИХ СТАНЦИЙ

дополнительны х утилит (Personal Application M anager, M ultiple C h aracter Set U tilities, программа Disk C ache). В комплект поставки входит гибкий диск, содерж ащ ий служебную программу конф игурации EISA — EASY CO N FIG . К онф игурация является двухуровневой: на верхнем уровне пользователь с помощью меню может определить, к аки е платы установлены в гнезда EISA, на нижнем уровне пользователь может добавлять и (или) удалять платы и загруж ать пам ять любой необ­ ходимой конф игурационной инф орм ацией или про­ граммным обеспечением, наприм ер, драйверам и ус­ тройств. С помощью этой программы можно такж е производить загрузку альтернативной операционной системы и получать доступ к некоторым утилитам си­ стемы. П о мнению экспертов ж урнала “ PC Magazine*4, HP V ectra 486 на сегодня является самой мощной ПЭВМ. При использовании в качестве автономной машины, она особенно пригодна для работы с базирующ имися на Windows прилож ениями с использованием видеомо­

нитора высокого разреш ения с большим экраном, в частности, для удовлетворения требованиям пользова­ телей мощных настольных издательских систем и САПР.

Н .Г олуб, В.Ф айнберг П о м атериалам : Electronic Business, 2 3 /V II, № 14, 1990. 01 Inform atique, 1 0 /Х , № 1086, 1989. ED N, 9 /X I , № 23, 1989. G.Sw arbrick “ IBM POW ERstation 320“ , PC W orld, April 1990. N .W alker “Sony 3860 port of call**, PC Magazine, F ebruary, 1990. S.Borgoine “Com paq SystemPro**, PC W orld, August, 1990. S.Littlewood “Acorn R 260“ , PC W orld, August, 1990. M .Banks “T h e peak of PC power**, PC Magazine, April, 1990.

П оявился новый цветной сканер с разреш аю щ ей способностью 400 точек на дюйм. Британская ком­ пания C olorgraph сообщ ает, что уж е имеющ ийся в продаже сканер SC 7500 совместим со всеми основ­ ными граф ическим и пакетам и. Ф ирм а получила права на распространение в Ве­ ликобритании этого устройства, которое произво­ дится тайваньской компанией Shinko. С канер стоит от 5400 до 6500 фунтов в зависимости от интер­ ф ейса. Разм ер сканера 64,5 х 55,8 х 16,3 см. Ц ветоделе­ ние достигается за счет использования специально­ го цветочувствительного элем ента и лю минисцентного осветителя, генерирующего требуемый спектр освещ ения. С канер поддерживает несколько ре­ жимов работы, в том числе режим распознава­ ния 256 и 16 цветов, градаций серого цвета и л и ­ ний. Устройство может работать с разреш аю щ ей способностью 25, 150, 200, 300 и 400 точек на дюйм. П оддерживаемые интерфейсы — G PIB (IE E E ) и SCSI.

Ф ирм а IBM впервые реш ила вынести производ­ ство компьютеров P S /2 за пределы Соединенных Ш татов А мерики, подписав договор с бразильской фирмой SID. В последнее время Б разилия предприняла боль­ ш ие усилия с тем, чтобы сделать свой рынок — один из крупнейш их в Л атинской А мерике — от­ крытым для зарубежных предпринимателей. Это стало возможным после снятия в 1990 г. большин­ ства установленных ранее ограничений. По имеющимся данным, IBM, помимо 1 млн. долл. капитала, предоставит новому предприятию всю необходимую технологию. Д ля Бразилии это первая с 1984 г. сделка, при которой передается не только капитал, но и современная технология.

N ew sbytes N ew s Network, 3 Jan, 1991

N ewsbytes N ews Network, 11 Jan, 1991

Фирмы Bell и Howell Q uintar разработали Q uintar Page P rin ter C ontroller System (Q P PC S) — новый высокоскоростной , контроллер лазерного принтера, выполненный на современном RISC -про­ цессоре семейства AMD Am29000. По сообщению компании, это устройство позво­ лит более чем в 30 раз увеличить производитель­ ность монохромных и цветных принтеров. Контрол­ лер может эмулировать больш инство популярных моделей — PCL 4 и 5, IBM P roprinter XL-24, Epson

По данным опроса 100000 пользователей, ком­ пьютеры с процессором 80286 составляют сейчас около 40% всех используемых ПК. По-прежнему используются около 2,5 млн. выпущ енных ранее машин на процессорах 8 0 8 8 /8 0 8 6 . Исследование такж е показало, что в планах закупок техники ве­ дущими ам ериканским и компаниями компьютеры на процессоре 80486 составляю т всего 0 ,1 % .

КомпьютерПресс 2'91

FX -80, T oshiba P321 и HPGL, а такж е язык описа­ ния страниц PostScript. Первые образцы контролле­ ров будут выпущены в начале 1991 г.

N ewsbytes N ew s Network, 2 Jan, 1991

C om puter R eseller N ews, 14 Jan, 1991

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

21

Средства организации многооконного интерфейса Наиболее распространенны ми язы ками программи­ рования при разработке программного обеспечения (П О ) для персональных компьютеров (П К ) класса IBM PC являются Бейсик, П аскаль, Модула-2 и Си. Неотъемлемым компонентом каж дой программной системы является ее пользовательский интерфейс. При разработке ПО на этих язы ках возможны два подхода. Один заклю чается в прим енении аппарата ESC -последовательностей и возможностей драйвера ANSI.SYS. Другой — в прим енении разнообразных инструмен­ тальных средств, позволяющ их организовать гораздо более эф ф ективны й интерф ейс пользователя при за­ трате значительно м еньш их усилий на его создание. Рассмотрение именно этих средств и является наш ей целью.

Пакет Basic Windowing Toolbox (В -Window) Фирма Image Computer System s И нструментальный пакет Basic W indowing Toolbox (В-Window) представляет собой набор ф ункций, кото­ рые позволяют реализовать многооконный интерф ейс при программировании на Бейсике. К ак обычно, окно может иметь статус открытого или закрытого. П ри за­ крытии окна восстанавливается предыдущее изображ е­ ние на экране. П акет B-Window написан на Ассембле­ ре с целью реализации высокой скорости исполнения. Система поддерживает программы на Бейсике в соче­ тании с применением интерпретатора или компилято­ ра Microsoft QuickBasic 4.0. Компилятор TurboB asic фирмы Borland не поддерживает работу с пакетом, од­ нако в будущем этот недостаток предполагается устра­

нить. B-Window работает как с монохромными видеоа­ даптерам и (MDA, H ercules), так и с цветными (CGA, EGA, VGA). П ри определении окна задается один из шести име­ ющ ихся типов рамок. Д ля каждого объявленного окна формируется ф ай л поддержки, который помещ ается в некоторую область пам яти, называемую буфером окна. Помимо этого для функционирования окна необходим доступ к видеопамяти на том участке экрана, который перекры вает данное окно. Располож ение окна на экра­ не легко изм еняется по ж еланию программиста. Ц ена системы 20 долл. Дистрибутивная версия ВWindow обеспечивает полную поддержку интерпре­ таторов Basic, Basica, GW Basic и им подобных, а так ­ ж е поддерживает работу с библиотекой QBV4.QLB компилятора Q uickBasic 4.0. Ведутся работы по вклю­ чению системы B-Window в интегрированное окру­ ж ен и е этого транслятора. Зарегистрированным пользователям система будет поставляться с реали­ зованной возможностью создания автономных ЕХЕфайлов и генерации исходных кодов Ассемблера.

Пакет Turbo Professional Фирма Borland International T urbo Professional, пакет интегрированного типа, — это наиболее распространенная система для расш ире­ ния возможностей стандартны х библиотек T urbo Pascal, аналогичная системе R epertoire для Моду­ лы 2. П акет дает пользователю возможность произво­ дить действия, не предусмотренные в системе T urbo Pascal. Библиотека T urbo Professional вклю-

КомпьютерПресс 2'91

СРЕДСТВА ОРГАНИЗАЦИИ МНОГООКОННОГО ИНТЕРФЕЙСА

22

чает в себя ряд процедур, позволяющих: — организовать интерф ейс пользователя (т.е. созда­ вать на экране дисплея окна меню и обрабатывать и н ­ формацию в них); — производить расш иренную обработку символьных переменных; — дополнить стандартную математическую библио­ теку (наприм ер, увеличить точность вычислений и т.п .); — работать с расш иренной памятью компью тера, создавать резидентные программы и многое, многое другое. Мы рассмотрим более подробно лиш ь первый пункт, поскольку он имеет непосредственное отнош ение к те­ ме наш его обзора. Процедуры, вклю чаю щ ие ф ункции по организации интерф ейса пользователя, можно раз­ делить на следую щ ие основные группы: — процедуры создания окон и работы с ними; — процедуры, позволяю щ ие строить системы меню; — процедуры поддерж ки виртуальны х экранов. По возможностям работы с окнами система T urbo Professional значительно превосходит пакет Power Tools Plus, поскольку входящ ие в нее процедуры по­ зволяют осущ ествлять множество дополнительны х сер­ висных операций, наприм ер, перемещ ать курсор и и з­ менять его форму; прокручивать окна вверх и вниз; считывать инф орм ацию из окон и записы вать ее в видеопамять с высокой скоростью; сохранять и вос­ станавливать окна; перемещ ать и изм енять их п а­ раметры; вклю чать и выключать режимы 43 линий для видеоадаптера EG A и 50 для VGA без очистки экрана и т.п. Кроме того, основным отличием данного пакета является поддержка виртуальны х экранов. Для этого предусматривается возможность рассмотрения любого отрезка оперативной пам яти как видеобу­ ф ера, содерж имое которого может быть выведено на экран. Обычно виртуальны е экраны располагаю т в добавочных видеостанциях или помещ аю т буф ер в свободную оперативную память. М аксимальное коли­ чество одновременно сущ ествующ их виртуальных экранов может быть равным 10. Это позволяет ф орм и ­ ровать изображ ение “за кадром “ , а затем мгновенно пересылать его на экран, что создает видимость молниеносной реакции программы на действия поль­ зователя. По возможностям работы с меню пакет T urbo Professinal мало чем отличается от аналогичных сис­ тем и поддерживает 5 основных типов меню: горизон­ тальные, вертикальны е, меню Lotus-стиля, иерархи­ ческие и тип а сетки. В заклю чение отметим, что пакет T urbo Professional является одной из наиболее мощных систем подобного класса.

Пакет Power Tools Plus Фирма Blaise Computing Среди прочих инструментальных средств по разра­ ботке интерф ейса на языке Pascal, наибольшего вни­

КомпьютерПресс 2'91

мания заслуж ивает система Power Tools Plus, пред­ назначенная для работы с T urbo Pascal различ­ ных версий. П акет является интегрированным — он обеспечивает не только поддержку программи­ рования интерф ейса пользователя, но и ряд других возможностей, например, поддержку печа­ таю щ его устройства, управление памятью , обработ­ ку преры ваний и т.п . О днако организация интер­ ф ей са пользователя (И П ) заним ает в нем централь­ ное место. П акет Power Tools Plus обеспечивает следующие возможности для программирования ИП: поддержку экрана, управление окнами, организацию работы с ме­ ню. Процедуры, входящ ие в библиотеку Power Tools Plus, позволяют выполнять следующ ие основные функции: — создание окон с различными типами рамок и за­ головков; — обеспечение наличия собственного курсора в каж дом окне; — налож ение окон друг на друга; — организация такого количества окон, которое ог­ раничено лиш ь объемом свободной оперативной памя­ ти. Т аки м образом, процедуры работы с окнами позво­ ляю т построить простейш ий пользовательский интер­ ф ейс без необходимости программирования на низком уровне. В составе пакета имеется возможность создания различных типов меню: горизонтального, вертикально­ го, типа системы Lotus и сетчатого. Поскольку имеют­ ся процедуры, позволяю щ ие создавать меню с учетом конкретны х задач пользователя (определение назначе­ ний клавиш реакции и т .п .), это ставит данный пакет в один ряд со средствами, ориентированными специ­ ально на работу с многооконным пользовательским интерфейсом. Но так как данная система является ин­ тегрированной (т.е. содерж ит и дополнительные про­ цедуры, не связанны е с созданием системы пользова­ тельского и н терф ей са), она, естественно, не обладает таким и мощ ными возможностями и столь гибким ин­ терф ейсом, как специализированны е пакеты. Однако прим енение Power Tools Plus для создания многоокон­ ного и н терф ейса в небольш их программах представля­ ется целесообразным, так как на его разработку много времени не потребуется, а программа пользователя в результате будет выглядеть профессионально. Необхо­ димо такж е отметить, что пакет довольно прост в ос­ воении. Н аиболее распространенны ми системами програм­ мирования для язы ка Модула-2 являются TopSpeed M odula-2 фирм ы J&P International, известная такж е под названием JPI M odula-2, и Logitech M odula-2 ф ир­ мы Logitech. Сущ ественным доводом в пользу версии Модулы-2 фирмы Logitech является наличие на рынке программного обеспечения дополнительны х инстру­ м ентальных средств, значительно расш иряю щ их ее возможности. К таким средствам относятся система

СП "НОВЫЕ ИНФ ОРМ АЦИО ННЫ Е ТЕХНОЛОГИИ" (СП "НОВИНТЕХ"), представитель в СССР ведущих фирм мира в области ПРОГРАМ М НОГО О БЕС П ЕЧ ЕН И Я (M icrosoft, Borland, N ovell, Lotus, M arstek, N antucket и д р .), П Р Е Д Л А Г А Е Т : Собственные разработки: - Система защиты. 2.01 - Автоматизированное рабочее место.5.0 - Библиотека графических функций для компилятора CLIPPER - Резидентный англо-русский словарь. 1.0 "WordBox" - Программа создания демонстрационных "ДЕМО" роликов. 2.0 - СУБД с графическими возможностями "ИКС" (совместима с dBase). 2.0 - Оболочка экспертных систем. 1.0 "DECSAY" "Готовим тексты - Руководство по работе с редактором MS WORD v. 4.0 и 5.0 (270 стр.) в MS WORD" "_У" - Антивирусный комплекс, диагностика и лечение 130 вирусов, v. 3.0

"Нота" "Канцелярия" "CGT"

цена 2400 руб. цена 5000 руб. цена цена

1995 руб. 1000 руб.

цена

1480 руб.

цена 2000 руб. цена 7500 руб. цена

18 руб.

цена

650 руб.

Н аиболее популярные продукты зарубежных фирм: M icrosoft Borland Lotus Marstek N antucket N ovell

- Лучший интегрированный пакет цена 5500 руб. 1990 года MS WORKS 1.05 цена 4990 руб. - Текстовый редактор MS WORD 4.0 - Turbo C++ Professional 1.0 цена 6000 руб. с библиотекой утилит цена 7800 руб. - Turbo Pascal Professional 5.5 - Русская версия пакета 1-2-3 цена 5000 руб. (для бухучета, статистики) - Ручной сканер MARS 105 с программой цена 14950 руб. распознавания символов (самообучаемая) - Компилятор "Clipper" 5.0 (имеются утилиты цена 14995.руб. для работы со сканером MARS 105) - Сетевое обеспечение (цена в зависимости от конфигурации)

СП "НОВИНТЕХ" имеет широкую дилерскую сеть на всей территории СССР и обеспечивает пользователям консультации, обучение и поддержку с выходом на "горячую линию" фирмы - производителя. Официальным пользователям при покупке новой версии обеспечивается скидка до 50 %. Наш адрес: 119517, Москва, ул. Нежинская, 13, СП "НОВИНТЕХ", Банк программных средств. Тел.: (095) 442-57-92. Факс: 9430072

24

СРЕДСТВА ОРГАНИЗАЦИИ МНОГООКОННОГО ИНТЕРФЕЙСА

Repertoire фирмы PMI и система Window M achine (WM) фирмы Amber System Inc, которые позволяют дополнить программу множеством сервисных ф ункций — от организации ин терф ейса пользователя до работы с базами данны х.

Пакет Repertoire Фирма PMI, Charles Bradford and Cole Brecheen С момента своего появления в 1985 г. система R epertoire была реализована в пяти версиях и на се­ годняш ний день превратилась в наиболее соверш ен­ ную и надеж ную инструментальную систему, ш ироко применяемую во всем мире при программировании на Модуле-2 и специально ориентированную на организа­ цию интерф ейса пользователя. О на обеспечивает неза­ висимость разрабаты ваемой программы как на уровне исходного, так и объектного кодов; исходный код р а­ ботает без изм енений с любым компилятором Модулы2, объектный — с любым M icrosoft-совместимым язы ­ ком. С истема вклю чает в себя необычно мощный экранны й конструктор, в состав которого входят анализатор естественного язы ка, текстовый редак­ тор, а такж е интенсивная поддержка м анипуляции строками. Система R epertoire обеспечивает вы полнение трех основных задач: — работу с расш иренной памятью (E xpanded Memory Specification); при этом программы пользова­ теля получают возможность поддерживаеть работу с памятью , расш иренной до 8 Мбайт. Н аличие таки х модулей позволяет совместно с использованием компи­ лятора M odula-2 Logitech создавать системы, аналогич­ ные Lotus 1-2-3, которые могут работать с большим числом данны х, выходящ их за мегабайтную границу оперативной памяти; — создание баз данны х и работу с ними, причем данны е имеют ф орм ат ш ироко распространенной С У БД dBASE III; — организацию работы в графическом реж име (G rap h ix ). П ри этом предусмотрена возможность ис­ пользования объектно-ориентированной системы M eta Window (ф и рм а M etaG raphix), которая обладает очень ш ироким набором ф ункций для построения граф ичес­ ких изображ ений, поддерж ивает около 20 типов гра­ ф ических адаптеров и обеспечивает работу с граф и ­ ческими окнами.

Пакет Window Machine (WM) Фирма Amber System s С истема WM предназначена для создания многоо­ конного интерф ейса пользователя (V irtual Screen Interface) в текстовых реж им ах работы дисплея. Она проста в использовании и заним ает всего лиш ь 100 Кбайт пам яти на жестком диске. Система позволяет работать одновременно с 255 окнам и и осуществляет все типичны е для многооконных систем операции.

КомпьютерПресс 2'91

Пакет С Tools Plus Фирма Blaise Computing О дним из самых распространенны * инструменталь­ ных средств при программировании на языке Си явля­ ется пакет С Tools Plus. Последняя версия системы — С Tools Plus 6.0 — появилась на рынке программного обеспечения в конце 1989 г. Дистрибутив системы за­ ним ает 5 дискет емкостью по 360 Кбайт. В ее состав входят ф ай лы вклю чения, исходные тексты программ, библиотеки ф ун кц и й для различных моделей памяти и ф айлы , обеспечиваю щ ие демонстрацию возможностей системы и получение помощи. Версия 6 .0 С Tools Plus предназначена для работы с системами программирования на языке Си фирмы Microsoft версий 5.0 и 5.1, а такж е с QuickC версий 1.00, 1.01 и 2.00. Кроме того, специально для системы QuickC созданы две базы данны х C t6 h elp l.h lp и C t6 h elp 2 .h lp для обеспечения возможности получения пользователем контекстуально-зависимой помощи. Главным ф айлом определения для создания окон явля­ ется bwindow.h, в котором содерж атся объявления трех основных структур, описы ваю щ их параметры Програм­ мируемых окон. Преимущ еством данной системы по сравнению с другими подобными средствами является мощ ная поддержка ф ункций редактирования инфор­ м ации в окнах. Д ля создания системы помощи пользо­ вателю в составе С Tools Plus имеется ряд функций и структур. При этом предусмотрена возможность выде­ ления цветом наиболее важ ной инф орм ации, а также возможность создания баз данных, содерж ащ их ин­ ф орм ацию , предназначенную для вывода на экран в реж им е помощи. С применением С Tools Plus возмож­ но создание самых разнообразных меню. Все пользова­ тельские меню поддерживаю т работу с манипулятором “ мыш ь“ . Кроме перечисленных возможностей имеются такж е средства, позволяю щ ие производить различные м анипуляции с курсором, перемещ ать окна по экрану, изм енять их размеры и т.п . Система поддерживает ви­ деоадаптеры H ercules, CGA, EGA, MCGA, VGA и це­ лый ряд других, менее распространенных.

Пакет C_SCAPE Фирма Oakland Group П озволяет пользователю работать с элементами данны х экран а, меню , заголовками и т.п. Все опера­ ции могут производиться с экраном больше стандарт­ ного размера (т.е. 25 строк по 80 позиций), так как систем а обеспечивает вертикальную и горизонтальную прокрутку экр ан а. О на, по существу, является редак­ тором интерф ейса пользователя, позволяющим зано­ сить инф орм ацию в свободное поле экрана дисплея. В дополнение к этому система обеспечивает такие спе­ ц иф ические ф ункции, как определение поля, его ре­ дактирование и рисование линий. Конечным результа­ том работы по созданию пользовательского интерфей­ са являю тся программы на язы ке Си, которые впослед­ ствии могут быть оттранслированы и помещены в биб­

25

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

лиотеку для дальнейш его использования. О писание и создание окон осуществляется путем выполнения про­ граммы LNF. EX E. После этого можно приступать к редактированию интерф ейса выбором варианта из предлагаемого меню. Наиболее важной операцией является работа с по­ лем. Д ля создания поля необходимо сначала м аркиро­ вать его, а затем по подсказке, появляю щ ейся на экра­ не, выбрать тип заносимых данны х или ж е создать но­ вый. В реж име рисования можно создать на экране линии различного вида (одиночные, двойные или сим ­ вольные). Поле редактируемого экрана превыш ает стандартный размер и содержит 100 колонок по 100 строк каж дая. О перации с блоками позволяют пе­ ремещ ать, дублировать и удалять маркированные час­ ти текста. Одновременно с этим можно измененять цветовые атрибуты всего блока или только его м арки­ рованной части и увеличивать маркированную часть до размеров всего поля. Загрузка, сохранение файлов, а такж е перевод созданного разработчиком интер­ ф ейса в программу, написанную на языке Си, осуществляются выбором операции DISK из главного меню.

Пакет С Power Window Фирма Entelekon П акет предназначен для организации друж ествен­ ного пользовательского интерф ейса на основе работы с окнами. При этом имеется возможность осуществлять следующие операции: самостоятельно организовывать меню или использовать один из предлагаемых видов; перемещ ать созданные окна на экране; ум еньш ать или увеличивать размеры окон; считывать данны е из ф а й ­ ла, находящегося на диске, в окно и наоборот из окна заносить информацию в ф айл; заносить информацию из окна в пам ять или из пам яти-в окно; очищ ать окно целиком или его часть от данных; изменять атрибуты цвета всего окна или его части; выделять подсветкой часть данных в окне; организовывать налож ение и пе­ ресечение окон на экране без потери информ ации; ус­ танавливать приоритет окна. Система содержит исход­ ные тексты программ, написанны х на язы ках Си и Ас­ семблер, оттранслировав которые, пользователь может получить библиотеку программ для различных моделей памяти. Основной для С Power Window является кон­ цепция “виртуального экрана*4. Она заклю чается в следующем: все множество операций, производимых с окнами, осуществляется сначала в рам ках “ виртуаль­ ного экр ан а" системы, который затем методом “ пере­ качки" передается на экран монитора, что обеспечива­ ет практически мгновенную смену инф орм ации на эк­ ране. О рганизация окон основывается на соглаш ениях, принятых в языке Си, и вся работа, осущ ествляемая пользователем с окнами, проводится со структурами типа W INDOW и FILEWW, определенными в ф айле window.h. Дополнительные структуры типа BORDERCH и BO RDERSTR по умолчанию включены в структуру W INDOW и дают информацию о видах 4 З а к . 2169

рамок окон. Ф ундам ентальной концепцией системы организации окон в С POW ER W INDOW является по­ лож ение о статусе окна, которое заклю чается в том, что окно может быть “сущ ествую щ им", “готовым** или “активным**.

Пакет Window for С Фирма Vermont Creative Software И нструментальный пакет W indow for С вклю чает в себя библиотеки, позволяю щ ие пользователю органи­ зовать систему различны х меню и окон для общения с ПЭВМ. Этот пакет является единственным из всех рассматриваемы х в данной статье, который обеспечи­ вает возможность работы с операционны м и оболочка­ ми TopView и Microsoft Windows. П ри этом программа пользователя, обращ аю щ аяся к библиотекам системы, может выполняться в реж име фоновой задачи. Систе­ ма рассчитана на прим енение компилятора языка Си фирмы Microsoft версии 2.00 и выще. Она предостав­ ляет пользователю следую щ ие возможности: — организация такого числа окон, которое ограни­ чено только ресурсами ПЭВМ; — использование ф айлов неограниченной длины, записанны х в коде ASCII, для просмотра в окне (при этом осущ ествляется автом атическая горизонтальная и вертикальная прокрутка окна); — организация перекры тия окон в зависимости от приоритета окна (клю ча в структуре W INDOW ); — организация пользовательского меню, которое может иметь длину, превыш аю щ ую размеры окна, — использование ф ункций работы со строками, ко­ торые позволяют размещ ать или изменять инф орм а­ цию на экране; — создание буф ера экрана, который облегчает уп­ равление и выдачу на экран ф айлов, содержащ ихся в пам яти. Эти ф айлы могут быть любого размера, и данны е могут динам ически пересы латься на экран; — запом инание инф орм ации о параметрах .жна в структуре W INDOW , которая заним ает около 50 байт (сами исполняемые модули для работы с окнами име­ ют малые размеры, что является преимущ еством дан­ ной системы); — определение цвета и вида границ окна пользова­ телем (систем а такж е позволяет высвечивать часть текста в окне заданны ми атрибутам и); — занесение инф орм ации в окно по заданным клю­ чам с переносом слов и автоматической прокруткой полного экрана; — копирование инф орм ации, содерж ащ ейся в окне, в ф айл или на печатаю щ ее устройство в заданном формате; — использование ф ункций, позволяю щ их работать с клавиатурой; — считы вание и сохранение содерж ащ ихся в г- j символов и их атрибутов для дальнейш его использова­ ния; О тметим, что система позволяет работать с двумя граф ическим и адаптерам и: EG A и M onochrome Display

КомпьютерПресс 2'91

26

СРЕДСТВА ОРГАНИЗАЦИИ МНОГООКОННОГО ИНТЕРФЕЙСА

A dapter, а такж е содерж ит библиотеку для работы с графикой.

Пакет Vitamin С Фирма Creative Programming Consultants Является наиболее мощной системой, предназна­ ченной для создания многооконного интерф ейса. Ее библиотеки вклю чаю т почти 200 ф ункций. О на содер­ ж ит ф айлы с исходными текстами модулей, библиоте­ ки для различны х моделей пам яти, демонстрационные примеры, а такж е несколько сервисных программ. Как и все системы подобного класса, Vitamin С вклю чает в себя несколько групп ф ункций, позволяю щ их работать С:

— окнами (изм енение размеров окна, его переме­ щ ение, изм енение атрибутов части или всего окна, н а­ лож ение окон друг на друга, выделение яркостью или цветом части и нф орм ации в окне, очистку части или всего экрана, а такж е занесение необходимой инф ор­ м ации в поле верхней и ниж ней границы окна; осу­ щ ествление горизонтальной или вертикальной про­ крутки окон); — ф айлам и (считы вание инф орм ации из ф ай ла и занесение ее в окно с заданны ми или определяемыми по умолчанию атрибутам и, занесение инф орм ации из окон в ф ай л ); — курсором (установка размеров курсора, установ­ ка позиции курсора в окне по абсолютным координа­ там; относительное перемещ ение курсора в окне, про­ крутка содержимого окна вверх или вниз на заданное количество строк и вправо или влево на заданное ко­ личество позиций, считы вание позиции курсора в ок­ не, занесение и считы вание инф орм ации, начиная с текущ ей позиции курсора); — клавиатурой (очистка буф ера клавиатуры, выда­ ча кода наж атой клавиш и, помещ ение считанного символа в текущ ую позицию курсора). Сервисные ф ункции позволяют организовать считы­ вание строки символов и занесение ее в окно с задан­ ными или установленными по умолчанию атрибутами, определить день недели, число, месяц, год, а такж е занести эту информ ацию в окно и т.д.). Т аким образом, система Vitamin С предоставляет разработчику ПО довольно разнообразные возможнос­ ти в реш ении задач по организации интерф ейса поль­ зователя. О тметим, что пакеты Vitamin С и Window for С имеют библиотеки ф ункций работы с окнами для всех моделей памяти, используемых в язы ке программиро­ вания Си, в пакет ж е С Power Window такие библио­ теки не включены. П ринципиальное различие между системами обусловлено разными подходами к органи­ зации многооконного интерф ейса пользователя. С исте­

КомпьютерПресс 2'91

м а C_SCA PE, наприм ер, позволяет увидеть на экране то, что будет получено при использовании данного ф рагм ента в программе, а системы Window for С, С Power W indow, С Tools Plus и Vitamin С для иници­ али зац и и окон предоставляю т готовые структуры, вклю чаю щ ие одни и те ж е параметры — координаты окон, вид границ, атрибуты поля и границ, вид курсо­ ра, возможности горизонтальной и вертикальной про­ крутки и т.п. К ак правило, такая структура занимает около 50 байт пам яти и. ее изначально заданные уста­ новки можно изменять в процессе работы программы. Библиотеки систем сущ ественно отличаются друг от друга. Л иш ь система Window for С содержит графи­ ческие ф ункции, необходимые для построения на эк­ ране диаграмм простейшего вида. Наиболее характер­ ной особенностью систем C_SCAPE, С Tools Plus и С Power Window является наличие в них функций, обеспечиваю щ их построение готовых меню сразу нес­ кольких видов; система Vitamin С предоставляет воз­ можность извлечения и занесения в окна дополнитель­ ной инф орм ации, как, например, дни недели, числа, месяцы и т.п. По остальным своим возможностям си­ стемы разнятся незначительно. С точки зрения про­ стоты создания прикладных программ на основе мно­ гооконного интерф ейса, все системы требуют от поль­ зователя определенной квалиф икации и опыта про­ граммирования на языке Си. Они значительно отлича­ ются друг от друга по величине создаваемого загрузоч­ ного кода. Разм ер кода минимален у систем Window for С и С Power Window (30 Кбайт) для программ, ис­ пользую щ их лиш ь основные операции по манипулиро­ ванию окнами (и н ициализация, занесение информа­ ции в окно из ф ай ла и занесение информации в окно с клавиатуры, выделение инф орм ации в окне, переме­ щ ение и изм енение размеров окна, осуществление пе­ рекрытия окон, их удаление). П акеты Vitamin С и C_SCAPE за счет своей универсальности при тех же условиях даю т код, приближ аю щ ийся по размерам к 100 К байтам. Промежуточной по данным характерис­ тикам системой является С Tools Plus, у которой за­ грузочный код составляет около 60-70 Кбайт.

С.Ансилевский А. Смородинский П о м атериалам : Software E xchange News. PC R eport, 1989, June. Pascal, Ada & M odula-2, 1988, № 6. New Products: Vitamin С E nhanced. T h e С User's Journal, 1989, №6. New Products: С TOOLS PLUS /5 .0 . T h e С User's Journal, 1989, №6. Neil Freem an. Vitamin C: A Com prehensive Screen H andling Library. T h e С U ser's Journal, 1988, №4.

27

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

В прошлом номере мы говорили об общих вопросах и проблемах, встающих перед программистом при разработке оконного интерфейса, о правилах работы с ассемблером. Сегодня мы даем описание библиотеки для создания оконного интерфейса.

Создание библиотеки оконного интерфейса Функция get_choice() Ф ункция выводит в окно вертикального меню кур­ сор (если это необходимо) и ждет дальнейш их дей ­ ствий пользователя. Ф ункция позволяет перемещ ать курсор в пределах окна и возвращ ает значение выбо­ ра, который может быть произведен либо при помощи курсора, либо при помощи наж атия “горячей** клави­ ши, либо наж атием дополнительной функциональной клавиш и. В последнем случае код наж атой клавиш и возвращается в младш их 9 битах (с 0 до 8), а зн аче­ ние текущ его положения курсора в окне размещ ается с 9 по 15 бит. В составе ф ункции get_choice() такж е применены процедуры встроенного ассемблера для оп­ тим изации повторяющ ихся вызовов ф ункций.

Функция edit_string() Позволяет редактировать в окне строку неограни­ ченной длины. П ри выходе строки за границы окна соответствующая часть строки сдвигается и становится невидимой, а на границе строки устанавливается м ар­ кер. Редактор строки работает довольно непривычным образом, позаимствованным в аналогичном редакторе Turbo С. Это проявляется в том случае, если длина строки превышает размеры окна, и редактируется средняя часть строки. Идея заклю чается в том, чтобы редактируемый участок строки всегда был в поле зре­ ния пользователя. Поэтому при удалении символов, в зависимости от взаимного расположения окна и стро­ ки относительно друг друга, осуществляются сдвижки как правой, так и левой части строки. Редактор рабо­ тает всегда в реж име вставки символов. О тредактиро­ ванная строка возвращ ается в том ж е буфере, в кото­ ром она находилась до редакции. Т ак как ф ункции edit_string() в качестве параметра передается размер

буф ера строки (полны й), то нет опасения, что возвра­ щ аемая строка превысит размер буф ера. В случае, ес­ ли строка превыш ает м аксимальную длину, символь­ ные клавиш и перестаю т реагировать. Можно отказать­ ся от дальнейш его редактирования, наж ав клавишу Escape, строка при этом остается неизменной. Н аж а­ тие на клавиш у PgUp в процессе редактирования при­ водит к восстановлению в окне первоначального вари­ ан та строки. Следую щ ая серия ф ункций выполнена целиком на встроенном ассемблере T urbo С. Здесь имеются неко­ торые особенности. Во всех ф ун кц и ях встроенного ас­ семблера нет операторов возврата return. В том слу­ чае, если ф ункция долж на возвращ ать какое-либо зн а­ чение, оно перед возвратом просто помещ ается в те регистры, которые определены соглаш ениями T urbo С для соответствую щ их типов данны х. Поэтому для та­ ких ф ункций компилятор T urbo C++ выдает преду­ преж дения о том, что ф ункция долж на возвращать значение. Этих предупреж дений можно было бы избе­ ж ать, воспользовавш ись регистровыми псевдоперёменными’ и ставя на выходе из ф ункции оператор return (наприм ер, retu rn (_ A X );), но наличие дополнительно­ го оператора, на наш взгляд, не ускорит ход выполне­ ния ф ункции, кроме того, возникнут проблемы с опи­ санием четырехбайтовых переменных (например, типа long). Т аким образом, предлагается просто проигнори­ ровать таки е предупреж дения.

Функция break_off() Отклю чает стандартную программу обработки пре­ рывания lB h (C trl-B reak ), устанавливая новый вектор преры вания, указываю щ ий на инструкцию IRET, ко­ торая находится в теле самой ф ункции break_off().

КомпьютерПресс 2'91

28

СОЗДАНИЕ БИБЛИОТЕКИ ОКОННОГО ИНТЕРФЕЙСА

Т аким образом, при возникновении преры вания C trlBreak управление передается в тело ф ункции b re a k o ff O на инструкцию IR E T . Она возвращ ает уп­ равление по адресу, с которого было вызвано прерыва­ ние. Ф ункция возвращ ает длинное целое, содерж ащ ее старый вектор преры вания C trl-B reak. Разумеется, пе­ ред выходом из прикладной программы необходимо восстановить стары й вектор преры вания C trl-B reak, иначе в дальнейш ем поведение компью тера может стать непредсказуемым. Следует иметь в виду, что функцию break_off() и подобные ей нельзя использо­ вать с оверлейными структурами (по тем ж е сообра­ ж ениям ).

Функция break_on() Служ ит дополнением к ф ун кци и break offO. Она восстанавливает стары й вектор преры вания 1ВН (C trlB reak), переданный ей в качестве входного параметра, либо устанавливает новый.

Функция get_video_mode() Возвращает значение текущего реж има работы дисплея, которое считывается из соответствующего байта нулевого сегмента. Рассмотрим теперь ф ункции, широко использующ ие информ ацию , которую BIOS (базовая система вводавывода) заносит в низкоуровневую память. В результа­ те отпадает необходимость в частом обращ ении к пре­ рываниям BIOS для получения такой инф орм ации, и, следовательно, можно организовать работу программы более рациональны м способом.

Функция toggIe_intensity_b!inking() П ереклю чает бит м и ган ия/и нтенсивности видеоа­ даптеров E G A /V G A , обращ аясь к соответствующему прерыванию BIOS. Т аким образом, появляется воз­ можность использовать в стандартной палитре цветов для текстовых режимов темно-серый цвет для ф оно­ вых атрибутов символа. Ф ункция не работает с други­ ми типам и видеоадаптеров, отличными от EGA или VGA.

Функция getkeyO Осущ ествляет вызов преры вания 16h, 00h BIOS, стандартная программа обработки которого ожидает наж атия какой-либо клавиш и и возвращ ает ее ASCII и скан-коды. Д алее getkeyO преобразовывает получен­ ные коды способом, часто используемым для подобных целей. Если A SC II-код клавиш и не равен нулю, то ф ункция просто возвращ ает ASCII-код. В противном случае ф ункция возвращ ает скан-код наж атой клави­ ш и, прибавив к нему 256 (установив нулевой бит старш его байта в 1). Т аким образом, достигается ре­ ш ение сразу двух задач. Во-первых, те клавиш и, кото­ рые имеют на клавиатуре своих двойников (наприм ер, белые и серые стрелки, клавиш и Home, E nd и т.д .), получают одинаковый возвращ аемый код и, таким об­

КомпьютерПресс 2'91

разом, отпадает необходимость в обрабатывающей программе учитывать различия между данными клави­ ш ами. (П ри этом некоторые комбинации клавиш ста­ новятся недоступными, но они используются довольно редко). Во-вторых, четко известно, что код любой на­ ж атой клавиш и будет леж ать в диапазоне от 0 до 512 (в младш их 9 битах), и, следовательно, старш ие 7 бит того ж е слова можно каким-либо образом использовать (что и осущ ествляется, например, в функции g et_choice()).

Функция get_cursor_size() Определяет форму аппаратного (мигающего) тек­ стового курсора и возвращ ает величину целого типа, содержащ ую номера конечной и начальной скан-линий курсора.

Функция set_cursor_size() Является дополнением к ф ункции get_cursor_size() и позволяет задать форму аппаратного текстового кур­ сора. Если в качестве входного параметра функции set_cursor_size() передать величину 2000h, то мигаю­ щ ий курсор станет невидимым, оставаясь при этом на той ж е позиции экрана. Некоторые программисты со­ ветуют для получения невидимого курсора убирать его за рамки экран а — на 25 ( 26) строку, опасаясь, что в противном случае на некоторых компьютерах старых образцов могут возникнуть определенные побочные эф ф екты . О днако описанный способ получения неви­ димого курсора является обычным для большинства программных продуктов. В библиотеке стандартны х функций T urbo C++ име­ ется аналогичная ф ункция _setcursortype(), позволяю­ щ ая устанавливать три различных формы курсора: вы­ сокий, низкий, либо невидимый, однако эта функция не имеет дополняю щ ей ее ф ункции, позволяющей прочитать текущ ую форму курсора. Кроме того, функ­ ции _setcursortype() нет в реализации T urbo С 2.0.

Функция set_cursor_position() Соверш енно идентична стандартной библиотечной ф ункции T urbo С gotoxyO . Ф ункция set_cursor_ positionO была введена в состав библиотеки оконного интерф ейса только из-за того, что по каким-то причи­ нам ф ункция gotoxyO не отслеживает переключений страниц дисплея и всегда перемещ ает курсор только на нулевой странице. Ф ункция set_cursor_position() при переключении страниц работает должным образом. При передаче ф ункции координат курсора, выходящих за рамки, ус­ тановленные для текущ его текстового режима (80x25), поведение ф ункции не определено. Следую щ ие ф ункции — get_cursor_position_ sizeO и set_cursor_position_size() — являются взаимодополня­ ющ ими и разработаны специально для использования в составе ф ункции edit_string() и ей подобных. Ф ункция get_cursor_position_size() возвращает длин­ ное целое, содерж ащ ее все текущ ие параметры аппа­

29

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

ратного курсора, т.е. его форму и позицию на экране (причем для данны х двух ф ункций, в отличие от функции set_cursor_position(), позиция курсора отсчи­ тывается от нулевой строки и нулевого столбца), а функция set_cursor_position_size() при передаче ей той же величины в качестве входного параметра установит курсор в точно такое ж е состояние, как и то, в кото­ ром он находился перед вызовом комплементарной функции. Т аким образом, появляется удобная возмож­ ность сохранять и затем восстанавливать состояние аппаратного курсора на экране в случае необходимос­ ти произвести с ним какие-либо промежуточные м а­ нипуляции. Для следующего набора функций, осуществляющих вывод инф орм ации на экран посредством прямых об­ ращ ений к видеопамяти, необходимо пояснить некото­ рые принципы организации видеопамяти для тексто­ вых режимов работы дисплея. Д ля цветного текстового реж има с размерами эк­ ранного поля 80 столбцов по горизонтали и 25 строк по вертикали (реж имы 2 и 3) видеопамять начинается с сегментного адреса 0B 800h, а для аналогичного мо­ нохромного реж има (реж им 7) — с сегментного адре­ са OBOOOh. М аксимальное количество переклю чаемых текстовых страниц дисплея равно 8 и они имеют но­ мера с 0 по 7. К аж дая страница заним ает объем пам я­ ти 4000 байт, а каж дая последующая страница смещ е­ на относительно предыдущей на 4 К байта. Т аким об­ разом, для цветного текстового реж има сегментные ад­ реса страниц будут следующими: 0B800h для нулевой страницы, 0B900h — для первой, OBAOOh — для вто­ рой и т.д. Н ебольш ие участки памяти, остающ иеся между концом предыдущей страницы и началом сле­ дующей (разница между 4 К байтам и и 4000 байт), яв­ ляются резервными и никак не используются. Видеопамять отдельной экранной страницы органи­ зована следующим образом. Все символьное поле эк ­ рана представлено в виде одной длинной строки, в ко­ торой каж дая последующая строка экрана начинается сразу после предыдущей и ничем от нее не отделена. Каждая символьная клетка экрана описывается в виде­ опамяти двумя байтами. В первом байте размещ ается ASCII-код представляемого на экране символа, во вто­ ром размещ аю тся атрибуты цвета этого символа, и далее коды символов и их атрибутов последовательно чередуются. Т аким образом, каж дая полная экранная строка будет заним ать в видеопамяти 160 байт (для режима 80x25) и каж дый символ некоторого столбца последующей строки будет смещен относительно сим ­ вола того ж е столбца предыдущей строки тож е на 160 байт. Байт атрибутов цвета символа содержит инф орм а­ цию о цвете самого символа (в младшем полубайте) и информацию о цвете ф она текущ ей символьной клет­ ки (в старш ем полубайте). Самый старш ий — 7 бит этого байта — обычно отвечает за мигание символа на экране. Д ля монохромного дисплея можно получить подчеркнутые символы. Д ля этого атрибут цвета сим ­

вола (младш ий полубайт) должен быть равен lh (в цветном реж име это соответствует цвету BLUE).

Функция make_hbar() Строит на обозначенном месте экрана маркер гори­ зонтального курсора, зам еняя атрибуты того участка экрана, который попадает под выстраиваемый курсор, на атрибуты, содерж ащ иеся в переданной функции строке. П еред выводом курсора на экран функция сох­ раняет стары е атрибуты экран а в строке-буфере, ука­ затель на-которую такж е передается ф ункции в ка­ честве входного параметра. Тем, что ф ункции m a k e h b a rO передается сразу це­ лая строка новых атрибутов курсора, а не отдельное значение атрибута, единое для всего курсора, достига­ ются сразу две цели. Во-первых, можно сделать курсор “ разноцветны м", т.е. “закраси ть" различные участки курсора различны м и атрибутам и. Во-вторых, строкубуфер, в которую были помещены старые атрибуты экрана, можно будет в дальнейш ем использовать как строку-источник для восстановления атрибутов экрана при удалении курсора. П ри этом строкой-буфером станет уж е первоначальная строка атрибутов курсора, в которую вернутся те ж е самы е атрибуты, что и были из нее прочитаны ранее. Т аки м образом, ф ункция m ake_hbar() становится универсальной, т.е. ее можно использовать как для построения горизонтального кур­ сора на экране, так и для его удаления. В последнем случае следует лиш ь поменять местами указатели на строку-источник и строку-прием ник, передаваемые ф ункции в качестве входных параметров. Необходимо отметить, что при передаче ф ункции координат стро­ ки (или ш ирины курсора), выходящих за рамки экра­ на, в лучш ем случае вы увидите курсор или его про­ долж ение на следую щ их строках, а в худшем — по­ следствия будут непредсказуемыми.

Функция clear_nchars() О чищ ает в заданном месте экран а строку указанной длины, заполняя символьные байты видеопамяти нуля­ ми, которые на экране выглядят как пробелы.

Функция put_string() Выводит на экран указанную строку, начиная с за­ данной позиции, пересы лая символы непосредственно в видеопамять. Д ве следую щ ие ф ункции — update_left() и u p d ate_ rig h t() — предназначены для работы в составе ф ункции ed it_string() и самостоятельно не использу­ ются. Они обновляют на экране соответственно левую или правую части редактируемой строки от текущего положения курсора и устанавливаю т м аркеры -индика­ торы, если строка выходит за рамки окна. Маркеры устанавливаю тся вне границ строки.

Функция make_window() Строит на экране окно с тенью , отбрасываемой та­ ким образом, как если бы свет падал со стороны левой

КомпьютерПресс 2'91

30

СОЗДАНИЕ БИБЛИОТЕКИ ОКОННОГО ИНТЕРФЕЙСА

верхней части экрана. Н а экран выводится текст из строки, содерж ащ ей полную построчную развертку ок­ на вместе с рам кам и, но без атрибутов символов. Можно получать на экране символы с двумя различ­ ными значениям и атрибутов — атрибутами, общими для окна, и атрибутам и “ горячих11 символов. К ажущ ееся на первый взгляд нерациональным раз­ мещ ение в исходной строке полного текста окна — вместе с рам кам и и пустыми промеж утками — на са­ мом деле оправдано, так как эта ж е строка будет в дальнейш ем использована в качестве буф ера для хранения-изм ененного текста окна (после вывода в окно некоторой инф орм ации ). С другой стороны, такая ор­ ганизация способа построения окон удобна лиш ь при разработке интерфейсов с не слиш ком большим коли­ чеством поддерживаемых ими окон, так как начиная с определенного уровня выигрыш в простоте сменяется проигрышем в объеме из-за необходимости хранить большую массу дополнительной ненуж ной и нф орм а­ ции (рам ки и пустые пром еж утки). Перед выдачей окна на экран ф ункция make_window() пересы лает информ ацию с участка эк­ рана, перекрываемого окном (с тенью ), в буфер. (Текст выводится вместе с атрибутам и.) Д ля рационального построения программы в теле функции make_window() организуются два счетчика, один из которых следит за номерами “горячих*1 симво­ лов, а другой — за правой границей строки окна. Ц икл выдачи символов на экран инициализируется каждый раз по тому счетчику, значение которого бли­ ж е к текущ ей позиции последнего выведенного симво­ ла. Д ля ф ункции make_window() существует простой способ вычисления номеров “горячих“ символов в строке текста окна. В любом текстовом редакторе нужно просто выстроить эту строку в полную ее длину (т.е. так, как она и будет храниться в пам яти) и под­ вести курсор к желаемому символу. Счетчик горизон­ тальной позиции курсора покаж ет вам нужный номер.

Функция get_window_text() Является дополнением к ф ункции make windowO. Она считывает текст без атрибутов из окна на экране и пересылает его в указанны й буфер. В качестве бу­ ф ера может использоваться исходная строка текста окна, в которую в этом случае вернется уже каким-то образом изм ененная инф орм ация.

Функция restore_text() Аналогична стандартной библиотечной функции T urbo С puttextO с той разницей, что функция puttextO почему-то не отслеживает переклю чений страниц на экране и загруж аемый модуль, получае­ мый при компиляции программы с включенной в нее функцией puttextO , получается почти на целый кило­ байт длиннее, чем при использовании ф ункции restore_text(). Ф ункция restore_text() между тем не осуществляет проверку, леж ат ли значения передан­

КомпьютерПресс 2'91

ных ей координат в установленном для них диапазоне. Ф ункция restore_text() восстанавливает информа­ цию на участке экрана, расположенном под окном, используя для этого текст из строки-буф ера, заполняе­ мой при построении окна ф ункцией make_window(). Однако, с одинаковым успехом можно использовать функцию restore_text() и для самостоятельного постро­ ения окон, заменив ею библиотечную функцию T urbo С puttextO .

Функция insert_char() Осущ ествляет вставку символа в ту позицию стро­ ки, указатель на которую был передан функции в ка­ честве входного параметра. О стальные символы строки сдвигаются при этом вправо.

Функция delete_char() Удаляет символ из той позиции строки, указатель на которую был ей передан в качестве входного пара­ метра. О ставш иеся символы строки сдвигаются при этом влево.

Функция string_copy() Аналогична стандартной библиотечной функции Си strcpyO . Различие заклю чается в том, что функция string_copy() возвращ ает длину скопированной строки, во многих случаях это удобно, так как исчезает необ­ ходимость в вызове ф ункции Си strlen O для определе­ ния длины строки. Ф ункция string_copy() использует­ ся в составе ф ункции edit_string(). В заклю чение необходимо добавить, что данный ва­ риант оконного интерф ейса разрабатывался не с це­ лью создания некой универсальной библиотеки, а с целью получения простого и эф фективного средства для построения систем пользовательских меню в со­ ставе небольш их по объему программ. Представленная в качестве примера в статье программа, скомпилиро­ ванная с моделью пам яти Small, вырабатывает загру­ жаемый модуль объемом около 21,5 Кбайта, из кото­ рых на долю непосредственно пользовательского ин­ терф ей са приходится примерно 7 Кбайт исполняемого кода плюс память, используемая под окна. Что касается вопросов дальнейш его совершенствова­ ния приведенного выш е варианта библиотеки, удобно было бы переработать ф ункции построения окон та­ ким образом, чтобы можно было описывать каждое ок­ но стандартны м способом, используя для этого опреде­ ленным образом сконфигурированные структуры, ука­ затели на которые будут передаваться в качестве вход­ ных параметров соответствующим функциям, т.е. так, как это организовано в больш инстве профессиональ­ ных пакетов. Создание ж е дополнительных функций, осуществляющих, например, работу с системами гори­ зонтальных меню, не вызовет у пользователя зна­ чительных затруднений, так как в библиотеке присутствуют все необходимые для этих целей компоненты.

31

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ break; case PGUPKEY: /* клавиша PgUp * / case HOMEKEY: /* клавиша Home * / case LEFTKEY: /* стрелка влево * / asm call near ptr restorecursor row = first_row; break; case PGDNKEY: /* клавиша PgDn * / case ENDKEY: /* клавиша End * / case RIGHTKEY: /* стрелка вправо * / asm call near ptr restorecursor row = last_row; break; /* для остальных кодов проверять соответствие альтернативным клавишам * / default: for (i = 0; i«((last_row-first_row + 1)««1); i + = 2) { if (ch = = aitkeys [i] | | ch = = aitkeys [i + 1]) { /* если соответствие найдено, восстановить атрибуты под курсором * / asm call near ptr restorecursor row = first_row + (i »» 1); /* построить курсор в новом месте * / asm call near ptr makecursor goto quit; /* переход на возврат * /

/* Ф айл UTILIT3.C * / /* Автор А.Синев, Copyright (С) 1990,1991 * / /» Turbo С 2.0, Turbo C + + 1.0 * / #pragm a inline #include «alloc.h» #include «string.h» #include “makeprt.h" /*»»««»**•» Получить значение выбора «**»•»»•»«/ /»*«****«*» в окне вертикального меню ***»*»«»*/ /* Функция возвращает значение выбора. Если была нажата специальная клавиша, возвращается также ее код в младших 9 битах (с 0 по 8), значение выбора при этом размещается с 9 по 15 биты. Параметры: first_row - первая строка меню на экране; last_row - последняя строка меню на экране; start_col - первый столбец курсора меню на экране; bar_width - ширина курсора меню; curr_choice - текущее значение выбора; sourcebar - указатель на строку атрибутов курсора, длиной bar_width; destinbar - указатель на буфер атрибутов курсора, длиной bar_width; nn_altkeys - количество альтернативных клавиш, равное удвоенному количеству строк меню (для символов нижнего и верхнего регистров) плюс число специальных функциональных клавиш, отсутствующих в окне меню; aitkeys - указатель на массив кодов альтернативных клавиш; bar_status - текущее состояние курсора меню: 0 - курсора в окне нет, 1 - курсор есть * /

} } /* проверять соответствие кодам специальных клавиш, отсутствующих в окне меню * / for (; i«nn_altkeys; i + + ) { /* если соответствие найдено, возвращается целая величина, в которой младшие 9 бит (с 0 по 8) отведены под код специальной клавиши, а с 9 по 15 биты размещается текущее значение выбора * / if (ch = = aitkeys [i]) return ( ( (row-first_row + 1) « « 9 ) | aitkeys [i]);

int get_choice(int first_row,int last_row, int start_col,int bar_width,int curr_choice, unsigned char *sourcebar, unsigned char *destinbar,int nn_altkeys, int *altkeys,int bar_status)

} /* если соответствие не найдено, возврат в цикл чтения с клавиатуры * / goto keyjo o p ;

{

int row; /* текущая строка * / int ch; /* код символа с клавиатуры * / register int i; /* счетчик * / row = first_row + curr_choice - 1; if (bar_status) goto keyjoop;

loop: /* построить курсор в окне меню * / asm call near ptr makecursor keyjoop: /* прочитать символ с клавиатуры * / switch (ch = getkeyO) { /* если ENTER, то выход'из цикла * / case ENTER: goto quit; case UPKEY: /* стрелка вверх * / /* восстановить атрибуты под курсором * / asm call near ptr restorecursor row—; break; case DOWNKEY: /* стрелка вниз * / /* восстановить атрибуты под курсором * / asm call near ptr restorecursor row + + ;

} /* если выбор за рамками окна - произвести коррекцию * / if (row « first_row) row = last_row; else { if (row » last_row) row = first_row;

} goto loop;

/* возврат в цикл * /

quit: /* вернуть значение выбора * / return (row - first_row + 1); / * --------- — Процедуры встроенного ассемблера * / /* процедура построения курсора * / asm makecursor proc near make_hbar(row,start_col,bar_width,sourcebar, destinbar); asm ret asm makecursor endp /* процедура восстановления атрибутов экрана под курсором * /

КомпьютерПресс 2'91

32

СОЗДАНИЕ БИБЛИОТЕКИ ОКОННОГО ИНТЕРФЕЙСА

asm restorecursor proc near makeJibar(row,start_col,bar_width,destinbar, sourcebar); asm ret asm restorecursor endp

buffersize--; / ‘ скопировать строку в буфер и получить ее длину, задать начальное значение остатка * / length = string_copy (buffer, originalstring); rest = 0;

} /* get_choice() * /

/* начальное положение курсора в строке - в конце строки, нач.знач. правого индикатора * / cursorpos_s = buffer + length; end_status = 0;

/*»** ф ункц ия редактирования строки в окне ****/ / ‘ Функция позволяет редактировать в окне заданного размера строку неограниченной длины, сдвигая ее влево и /и л и вправо и помечая выход строки за рамки окна. Ф ункция возвращает отредактированную строку в том же буфере, в котором она была передана. Параметры: row - номер строки окна на экране; start_col - левая координата окна на экране; end_col - правая координата окна на экране; cursorshape - форма курсора; buffersize - размер буфера строки, байт; originalstring - указатель на редактируемую строку; sourceattr - указатель на строку атрибутов для закрашиваемой части окна; destattr - указатель на буфер атрибутов окна; Размеры массивов sourceattrf] и destattrЦ должны быть равны (end_col - start_col - 2). Ф ункция возвращает 0, если строка не редакти­ ровалась (была нажата клавиша ESCAPE), либо 1, если строка была отредактирована. * / int edit_string(int row.int start_col, int end_col,int cursorshape.int buffersize, char *originalstring,unsigned char ‘ sourceattr, unsigned char ‘ destattr)

{

int ch; /* код символа * / /* начальная и конечная координаты строки на экране, ширина окна * / int startcolumn.endcoiumn,width; /* индикаторы выхода строки за рамки окна * / int beg_status,end_status; /* текущая длина строки, длина остатка строки справа от курсора * / int length,rest; char ‘ buffer; /* буфер для редактирования * / int entry; /* номер вхождения в цикл * / / ‘ старые параметры курсора: х и у координаты и форма курсора * / unsigned long cursorparms; int cursorpos_w; /* позиция курсора в окне * / /* указатель на позицию курсора в строке * / char ‘ cursorpos s; • int ret_status; /* возвращаемое значение * / /* зарезервировать буфер для редактирования строки размера buffersize * / if ((buffer = malloc(buffersize)) = = NULL) return 0; /* сохранить старые параметры курсора * / cursorparms = get_cursor_position_size(); /* вычислить промежуточные значения * / startcolumn = start_col + 1; endcolumn = end_col - 1; width = end_co! - startcolumn; /* максимальная длина строки * /

КомпьютерПресс 2'91

/* определить положение курсора в окне и значение левого индикатора * / if (length « width) { cursorpos_w = startcolumn + length; beg_status = 0; ) else { cursorpos_w = endcolumn; beg_status = 1;

}

/* вывести строку на экран * / asm call near ptr updateleft /* закрасить строку атрибутами ‘ sourceattr для индикации нередактированной строки * / if (length) make_hbar(row,startcolumn,cursorpos_w startcolumn,sourceattr, destattr); /* установить курсор на нужную позицию * / set_cursor_position (cursorpos_w,row); /* установить форму курсора * / set_cursor_size (cursorshape); entry = 0; /* нулевое вхождение в цикл * / k eyjoop: / ‘ прочитать код с клавиатуры * / switch (ch = getkeyO) { case ESCAPE: /* нажата клавиша ESCAPE * / ret_status = 0; goto quit; /* перейти на возврат * / case ENTER: /* нажата клавиша ENTER * / ret_status = 1; /* преобразовать отредактированную строку в верхний регистр и скопировать ее в первоначальный буфер * / strupr(buffer); strcpy (originalstring,buffer); goto quit; /* перейти на возврат * / case HOMEKEY: /* нажата клавиша Home * / /* если нулевое вхождение, то восстановить атрибуты экрана * / if (lentry) { if (length) asm call near ptr restorebar; entry = 1;

} if (rest ! = length) { cursorpos_w = startcolumn; cursorpos_s = buffer; rest = length; beg_status = 0; end_status = (rest « = width) ? 0 : 1; /* обновить строку вправо * / asm call near ptr updateright break: } else goto k ey jo o p ; case PGUPKEY: /* нажата клавиша PgUp * / if (lentry) { if (length)

33

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ asm call near ptr restorebar; entry = 1;

} length = rest = string_copy (buffer, origlnalstring); cursorpos_w = startcolumn; cursorpos_s * buffer; beg_status = 0; end_status = (length « = width) ? 0 : 1; clear_nchars(row,startcolumn,width); asm call near ptr updateright break; case LEFTKEY: /* нажата стрелка влево * / if (lentry) { if (length) asm call near ptr restorebar; entry = 1; } if (cursorpos_w ». startcolumn) { cursorpos_w—; cursorpos_s—; rest + + ; break; } else { If (rest « length) { cursorpos_s—; rest + + ; beg_status = (rest = = length) ? 0 : 1; end_status ■ (rest «■ width) ? 0 : 1; asm call near ptr updateright ) goto key loop; ) case ENDKEY: /* нажата клавиша END * / if (lentry) { if (length) asm call near ptr restorebar; entry я 1; } if (rest) { cursorpos_s = buffer + length; end_status = 0; rest = 0; if (length « width) { cursorpos_w = startcolumn + length; beg_status = 0; } else { cursorpos_w = endcolumn; beg status = 1; ) ' /* обновить строку влево * / asm call near ptr updateleft break; } else goto keyjoop; case RIGHTKEY: /* нажата стрелка вправо * / if (lentry) { if (length) asm call near ptr restorebar; entry = 1;

} if (cursorpos_w « endcolumn) { if (rest) { cursorpos_w + + ; cursorpos_s + + ; rest—; break;

} goto keyjoop; 5 З а к . 2169

} else { if (rest) { cursorpos_s + + ; rest—; beg_status= ((length-rest) «width) ? 0 : 1; end_status = (rest« = 1) ? 0 : 1; asm call near ptr updateleft

> goto k ey jo o p ;

}

case DELKEY: /* нажата клавиша DELETE * / if (lentry) { if (length) asm call near ptr restorebar; entry = 1;

)

if (rest) { delete_char(cursorpos_s,rest); rest—; length—; if (rest « endcolumn-cursorpos_w) { end_status = 0; if (beg_status) { cursorpos_w + + ; beg_status = (length-rest « cursorpos_w-start_col) ? 0 ; 1; asm call near ptr updateleft break;

} asm call near ptr updateright } else { end_status = (rest « = end_col-cursorpos_w) ? 0 : 1; asm call near ptr updateright

} }

goto k ey jo o p ; case BACKSPACE: /* нажата клавиша BACKSPACE * / if (lentry) { if (length) asm call near ptr restorebar; entry = 1;

} if (rest « length) { cursorpos_s—; deiete_char(cursorpos_s,rest + 1 ); length—; if (rest « end_col-cursorpos_w) { end_status = 0; if (beg_status) { beg_status = (length-rest « cursorpos_w-start_col) ? 0 : 1; asm call near ptr updateleft } else { cursorpos_w—; asm call near ptr updateright break;

}

} else { if (cursorpos_w » startcolumn) { cursorpos_w—; end_status = (rest « = end_col-cursorpos_w) ? 0 : 1; asm call near ptr updateright break; } else { if (rest = = length) { beg_status = 0; asm call near ptr updateright

КомпьютерПресс 2'91

34

СОЗДАНИЕ БИБЛИОТЕКИ ОКОННОГО ИНТЕРФЕЙСА

} } } }

goto k ey jo o p ; default: /* для остальных клавиш * / /* если нажата “незаконная" клавиша, то возврат в цикл * / if (ch«32 | | ch*255) goto k ey jo o p ; if (lentry) { /* если нулевое вхождение * / if (length) asm call near ptr restorebar; ‘ buffer = 0; length = rest = beg_status = end_status = 0; cursorposs = buffer; cursorposw = startcolumn; entry = 1; /* очистить строку на экране * / clear_nchars (row,start_col, end_col-start_col + 1 ); set_cursor_position (startcolumn,row);

}

/* если буфер полон, вернуться в цикл * / if (length » = buffersize) goto k ey jo o p ; /* вставить символ в строку * / insert_char(cursorpos_s,rest,ch); length + + ; if (cursorpos_w « endcolumn) { end_status = (rest « end_col-cursorpos_w) ? 0 : 1; asm call near ptr updateright Cursorpos_s + + ; cursorpos_w + + ; break;

} cursorpos_s + + ; beg_status = (length-rest « cursorpos_w-start_col) ? 0 : 1; asm call near ptr updateleft goto k eyjoop;

}

/* установить курсор на нужную позицию * / set_cursor_position (cursorpos_w,row); goto keyjoop; quit: free (buffer); /* освободить буфер * / / ‘ восстановить параметры курсора * / set_cursor_position_size (cursorparms); return ret_status; / ‘ возврат * / / * .................. Процедуры встроенного ассемблера * / /* процедура восстановления атрибутов закрашенного бруска * / asm restorebar proc near m ak eji bar (row, startcolumn, cursorpos_w startcolumn,destattr,sourceattr); asm ret asm restorebar endp /* процедура обновления строки вправо * / asm updateright proc near update_right(row,startcolumn,endcolumn, beg_status,end_status, cursorpos_w,cursorpos_s); asm ret

КомпьютерПресс 2'91

asm updateright endp /* процедура обновления строки влево * / asm updateleft proc near u p d a te je ft (row, startcolumn, endcolumn, beg_status,end_status, cursorpos_w,cursorpos_s);' asm ret asm updateleft endp } /* edit_string() * / /* Конец ф айла UTILIT3.C * /

/* Ф айл INLUTIL.C * / /* Автор А.Синев, Copyright (С) 1990,1991 * / /* Turbo С 2.0, Turbo C + + 1.0 * / #pragm a inline /* Для всех функций, осуществляющих прямые обращения к видеопамяти, отсчет координат интересующей текстовой клетки экрана ведется от единицы (т.е. левая верхняя символьная клетка имеет координаты 1,1); все соответствующие параметры функций должны удовлетворять этому соглашению. * / /* адрес вектора прерывания Ox lb (Ctrl-Break) в таблице прерываний (смещение и сегмент) * / # define BreakOffsetPtr 0xlb*4 # define BreakSegmentPtr 0xlb*4 + 2 Отключить обработку *************/ /**»«*»** прерывания 0x1 b (Ctrl-Break) “ ***“ * / /* Ф ункция возвращает значение старого вектора прерывания Ox lb . Сегментный адрес содержится в старшем слове, смещение - в младшем * / unsigned long break_off(void)

{ [ С V В N M

,

Ш■

**• tar» ~ -i Ins >■7«1

Ш$

-Г!- m V .T "l Lm m ,

0 -

9

Breik

F9 FI0 F11 F12 РгЗст

F1 F2; F3 F 4; F5 F6 F7 F 8

; •

[Alt

± .J

[

] I

Qp_! BxT№

7 •1 Й Ш Ctrl jA lt|

it! :p.

to 5-4

:*5

Ни T P30[ f-

jEnter]

к .u id if•!±.•:

-4

i

End i № Ins

Del

Рис. 1.4. Клавиатура компьютера IBM PC (модель клавиатуры для IBM PC AT)

С пециальны е клавиш и клавиатуры . Кроме а л ф а ­ витно-цифровых клавиш и клавиш со знакам и пункту­ ации, на клавиатуре имеется большое число специаль­ ных клавиш. Клавиш а [E n ter] (н а некоторых клавиатурах — [R eturn] или [C R ]) предназначена для окончания вво­ да строки. Н апример, при вводе команд DOS ввод каждой команды должен оканчиваться наж атием кла­ виши [E n ter], Клавиш а [D el] (D elete — удаление) используется для удаления символа, находящегося под курсором. Клавиш а [In s] (Insert — вставка) предназначена для переключения между двумя реж имами ввода сим ­ волов: ввода с раздвижкой символов (вставка) и ввода с замещ ением ранее набранных символов (зам ен а). Клавиш а [B ac k sp ace] (стрелка влево над клавиш ей [E n ter]) удаляет символ, находящ ийся слева от курсо­ ра. Клавиш и [ * - ] , [->■], [•] , [♦], [H o m e], [E n d ], [P g U p ], [PgD n] называют клавиш ами управления курсором. Как правило, наж атие на них приводит к перемещению курсора в соответствующем направле­ нии или к “ перелисты ванию " изображаемого на эк р а­ не текста. Клавиш а [N um L ock] (блокировка ци ф р) включает и выключает режим, в котором при наж атии на кла­ виши [Н ош е], [*], [PgU p], [ « - ] , [ - * ] , [E n d ], [*], [PgD n], [Ins] и [D el], расположенные в правой части клавиатуры, в компью тер вводятся цифры I — 9, 0 и точка. Этот режим удобен для ввода чисел. Клавиш а [Esc] (Escape — убегать, спасаться), как

правило, используется для отмены какого-либо дей­ ствия, выхода из реж им а программы и т.д. Ф ункциональны е клавиш и F I — F 10 (на некоторых Клавиатурах F I — F12) предназначены для различных специальны х действий. И х действие определяется вы­ полняемой программой. Клавиш и [C trl] и [A lt]. Н а клавиатуре имеются специальны е клавиш и [C trl] и [A lt], Как и клавиша [Shift], они предназначены для изменения значений других клавиш . Клавиш и [C trl] и [Alt] вводятся в комбинации с другими клавиш ам и, и выполняющаяся программа может особым образом реагировать на та­ кие комбинации клавиш . Н апример, в описании программы может быть на­ писано, что для выполнения определенного действия следует ввести (или наж ать) [Alt— X ]. Это означает, что пользователь должен наж ать клавиш у [Alt] и, не отпуская ее, наж ать клавиш у “Xй. В вод в к ом п ью тер п рои звольн ы х символов. Кла­ виш а [Alt] и клавиш и [0] — [9 ], расположенные в правой части клавиатуры (т.е. клавиш и перемещения курсора и клавиш а [In s]), даю т возможность вводить в компью тер произвольные символы, в том числе и те, которых нет на клавиатуре. Д ля этого необходимо на­ ж ать клавиш у [A lt], не отпуская ее, набрать десятич­ ный код нужного символа на клавиш ах 0-9 в правой части клавиатуры, а затем отпустить клавиш у [Alt], О собы е к о м би н ац и и к лави ш . Имеются комбина­ ции клавиш , обрабатываемые специальным образом: [C trl— B rea k ] — заверш ение работы выполняемой программы или команды;

КомпьютерПресс 2'91

64

IBM PC ДЛЯ ПОЛЬЗОВАТЕЛЯ

[C trl— A lt— D el] (одновременное наж атие клавиш [C trl], [Alt] и [D el] — перезагрузка DOS (см .ниж е); [S h ift— P rtS c r] — печать на принтере копии содер­ жимого экрана; [C trl— P rtS c r] — вклю чает и выключает режим ко­ пирования на принтер выводимой на экран инф орм а­ ции; [C trl— N um L ock] — приостанавливает выполнение программ. Д ля продолжения их выполнения надо н а­ ж ать любую клавиш у. Д ля команд программ Dos ан а ­ логичную функцию выполняет [C trl— S]; [C trl— A lt— F I ] — переклю чение на стандартную американскую клавиатуру (используется после коман­ ды KEYBxx); [C trl— A lt— F 2] — переклю чение на национальную клавиатуру (используется после команды KEYBxx). П ри диалоге пользователя с DOS, наприм ер вводе команд DOS, могут употребляться следующие специ­ альные комбинации клавиш . [C trl— С] — прекращ ение работы любой команды или программы DOS. [C trl—Р ] — вклю чает и выклю чает реж им копиро­ вания на принтер выводимой на экран инф орм ации. [C trl— S] — приостанавливает вы полнение про­ грамм. [F6] — ввод символа конца ф айла (этот символ обозначается [C trl— Z] и имеет код 26). [F 7] — ввод символа с кодом 0 (зачем это нужно, я не знаю ).

Принтеры П ринтер (или печатаю щ ее устройство) предназна­ чен для вывода инф орм ации на бумагу. Все принтеры могут выводить текстовую информ ацию , многие из них могут выводить такж е рисунки и граф ики, а неко­ торые принтеры могут выводить и цветные изображ е­ ния. Существует несколько тысяч моделей принтеров, которые могут использоваться IBM PC. Как правило, применяю тся принтеры следующих типов: матричные, струйные, литерны е и лазерные. М атричны е (или точеч н о-м атри чн ы е) принтеры — наиболее распространенны й тип принтеров для IBM PC (рис. 1.5). П ринцип печати этих принтеров таков: печатаю щ ая головка принтера содержит вертикальны й ряд тонких металлических стерж ней (иголок). Головка движется вдоль печатаемой строки, а стерж ни в нужный момент ударяют по бумаге через красящ ую ленту. Это и обес­ печивает ф орм ирование на бумаге символов изображ е­ ний. В дешевых моделях принтеров используется п ечата­ ю щая головка с 9 стерж нями. Качество печати у таки х принтеров посредственное, но его можно несколько улучш ить с помощью печати в несколько проходов (от двух до четы рех). Более качественная и быстрая пе­ чать обеспечивается принтерами с 24 печатаю щ ими иголками (24-точечными принтерам и). Бываю т прин­ теры и с 48 головками, они обеспечивают ещ е более

КомпьютерПресс 2'91

качественную печать. Скорость печати точечно-мат­ ричных принтеров — от 10 до 60 с на страницу.

С труйны е при н теры . В этих принтерах изображе­ ние формируется м икрокаплям и специальных чернил, выдуваемых на бумагу с помощью сопел. Этот способ печати обеспечивает более высокое качество печати по сравнению с матричными принтерами, он очень удо­ бен для цветной печати. Однако струйные принтеры дорож е м атричных и требую т более тщ ательного ухода и обслуживания. Скорость печати струйных принтеров приблизительно такая же, как у матричных, — от 10 до 60 с на страницу. Л и терн ы е прин теры обеспечивают высокое качест­ во печати, но набор печатаемы х символов у них огра­ ничен. У наиболее распространенны х моделей таких принтеров количество символов в наборе недостаточно для печати текстов с русскими и английскими буква­ ми. Кроме того, такие принтеры не могут выводить графическую инф ормацию . Скорость печати литерны х принтеров невысока — от 15 мин до 20 с на страницу. Л азер н ы е принтеры обеспечивают в настоящее время наилучш ее (близкое к типографскому) качество печати. В эти х принтерах для печати используется принцип ксерографии: изображ ение переносится на бумагу со специального барабана, к которому электри­ чески притягиваю тся частички краски. Отличие лазер­ ного принтера от обычного ксерокопировального ап п арата состоит в том, что печатаю щ ий барабан электризуется с помощью лазера по командам из ком­ пью тера. Л азерны е принтеры, хотя и достаточно дороги (приблизительно в 2— 4 раза больше стоимости IBM PC X T ), являю тся наиболее удобными устройствами для получения качественны х печатных документов. Разреш аю щ ая способность лазерны х принтеров, как правило, 300 точек на дю йм. Скорость печати лазер­ ных принтеров — от 15 до 3 с на страницу при выво­ де текстов. Страницы с рисунками могут выводиться

РАБОТАЕМ ГРАМОТНО

значительно дольше, на вывод рисунков может потре­ боваться до десяти минут. П о требительские к ач ества принтеров. П еречис­ лим основные качества принтеров, определяющ ие их сравнительные достоинства с точки зрения пользовате­ ля. К а ч е а п в о и скорост ь печат и — обеспечивает ли принтер необходимое качество печати, и если да, то с какой скоростью. Т ак, одни принтеры (наприм ер, лазерные) могут печатать качественны е документы со скоростью 5 с на страницу, а другие (наприм ер, 9-точечные матричные принтеры) требуют около 5 мин для печати страницы текста с качеством, близким к качеству пиш ущ ей м аш инки. Н аличие русски х букв — имеется ли у данного принтера возможность печати русских букв, и если да, то как она обеспечивается. а) Ш рифты русских букв могут иметься в самом принтере (в его постоянном запоминаю щ ем устрой­ стве). В этом случае после вклю чения принтер сразу готов к печати текстов с русскими буквами. Если коды русских букв в принтере таки е же, как в компьютере, русские тексты могут печататься так же, как и анг­ лийские, например, командами DOS print или сору. Если ж е коды русских букв в принтере не такие, как в компьютере, то для печати русских текстов необходи­ мо использовать специальны е программы. В этом слу­ чае либо для печати ф айла, содержащ его текст с рус­ скими буквами, необходимо запустить программу пе­ чати этого ф айла, либо в начале работы с компью те­ ром запускается постоянно находящ аяся в оператив­ ной памяти (резидентная) программа, которая переко­ дирует все русские буквы, посылаемые на принтер, в соответствующие им коды принтера. Последний вари­ ант, как правило, более удобен, хотя он уменьш ает емкость оперативной памяти, доступной другим про­ граммам. б) Ш рифты русских букв могут загруж аться с помо­ щью программ. В этом случае перед печатью русских текстов необходимо запустить специальную программу для загрузки ш рифтов русских букв. При выключении принтера (а при сбоях во время печати иногда прихо­ дится выключать и затем включать принтер) ш рифты русских букв пропадают из его памяти, и необходимо снова запустить программу для загрузки ш рифтов рус­ ских букв. как и в случае (а ), ж елательно, чтобы коды русских букв в принтере были таки е ж е, как в компьютере, так как при этом для печати русских текстов не тре­ буется использование специальны х программ. в) Русские буквы могут печататься только в граф и ­ ческом режиме, т.е. так же, как печатаю тся рисунки. Печать в графическом реж име дает возможность полу­ чения любых ш рифтов, однако печать при этом, как правило, в несколько раз медленнее, чем в обычном (текстовом) режиме. П ечать текстов может выпол­ няться специальными программами или редакторами документов. Н адеж ност ь — какова надеж ность принтера при

65 печати типичны х документов и при работе с имею­ щ ейся у пользователя бумагой.

В озм ож ност ь авт ом ат и ческой подачи бумаги при печати на отдельных листах бумаги. Если такой возможности принтер не предоставляет, то при печати на отдельных листах бумаги кто-то должен стоять у принтера и вставлять листы бумаги в принтер. Ш риф т ы — к аки е ш рифты букв поддерживает принтер. Н екоторые принтеры предоставляю т большое количество (иногда несколько десятков) шрифтов, а некоторые — только один. Количество ш рифтов, кото­ рые может поддерж ивать лазерны й принтер, зависит от его ти п а и от объема имею щ ейся в нем пам яти (см. н и ж е). С м ена красящ их элем ен т ов — какова продол­ жительность работы принтера с данной красящ ей лен­ той (кассетой красящ его порош ка или чернил), обес­ печивается ли их зам ена. Многие пользователи, не имея см енны х кассет с красящ ей лентой, заменяю т красящ ую ленту в кассете на ленту для пиш ущ ей ма­ ш инки, предварительно сварив ее в кольцо с помощью паяльника, или ж е печатаю т без красящ ей ленты че­ рез копирку. Зам ен а красящ его порош ка для лазерного принтера или специальны х чернил для струйного принтера с помощью таки х “дом аш них средств" не­ возможна, поэтому следует обеспечивать поставку этих красящ их элементов.

С овм ест им ост ь с им ею щ им ися програм м ам и. Р азличны е принтеры имею т различны е команды для управления сменой ш рифтов, движ ением бумаги, ри­ сованием граф ических изображ ений и т.д. Как прави­ ло, прикладны е программы обеспечиваю т работу толь­ ко с наиболее распространенны ми типами принтеров. Поэтому ж елательны м качеством принтера является его совместимость по управляю щ им командам с наибо­ лее распространенны ми принтерам и, например, с мат­ ричными принтерам и Epson или IBM G raphics, с ла­ зерными принтерам и H ew lett-Packard или языком опи­ сания страниц PostScript. О собенности л азер н ы х п ринтеров. Среди лазер­ ных принтеров имею тся два основных типа: Совмести­ мые с H P LaserJet фирмы H ew lett-Packard и “ понимаю щ ие“ язык PostScript, разработанны й фирмой Adobe. Бываю т и таки е принтеры, которые не “ поним аю т" ни язы ка LaserJet, ни язы ка PostScript, но тогда вместе с ними обычно поставляю тся программы, эмулирующие LaserJet или PostScript. Эм уляция, как правило, замед­ ляет печать на принтере в несколько раз, особенно при выводе рисунков. П ринтеры , поним аю щ ие язык PostScript, обычно ра­ за в полтора дорож е, чем эквивалентны е по произво­ дительности принтеры ти п а LaserJet. Однако они име­ ют и больш е возможностей: они могут выводить буквы любых размеров (скаж ем , кегля 9,5, если это понадо­ бится), инвертировать буквы и т.д. Поэтому при при­ менении компью теров в качестве настольных изда­ тельских систем более целесообразно использовать принтеры ти п а PostScript. В остальных случаях доста­ точно иметь принтер ти п а LaserJet.

КомпьютерПресс 2'91

66

IBM PC ДЛЯ ПОЛЬЗОВАТЕЛЯ

О чень важ ной характеристикой лазерного принтера является объем имею щ ейся в нем оперативной памяти. Э та оперативная пам ять используется для построения выводимых на принтер рисунков и для хранения за­ гружаемых в принтер ш рифтов символов. П ринтеры с небольшим объемом оперативной пам яти (от 0 ,5 до 1 М байта) не могут выводить большие рисунки (ска­ ж ем, во всю страницу) и хранить достаточное коли­ чество ш рифтов. Поэтому для серьезной издательской работы требуется больш ий объем оперативной памяти принтера.

Другие устройства, подключаемые к компьютеру Н иж е кратко описываются другие устройства, кото­ рые могут подключаться к компьютеру IBM PC. Разумеется, это перечисление является далеко не полным, оно приведено для общего представления о возможностях использования персональных компью ­ теров. М ы ш ь — м анипулятор для ввода инф орм ации в компьютер. Н азвание “ мыш ь“ это устройство получи­ ло за свой внеш ний вид (см. рис. 1.1) и способ его ис­ пользования. Мышь представляет собой небольшую ко­ робочку (обычно серого цвета) с двумя или тремя кла­ виш ами, легко умещ аю щ ую ся в ладони. Вместе с про­ водом для подклю чения к компью теру это устройство действительно напом инает мышь с хвостом. Чтобы из­ менить полож ение курсора на экране монитора, поль­ зователь перемещ ает мышь по столу или другой ров­ ной поверхности. Когда необходимо выполнить то или иное действие, наприм ер, выполнить пункт меню, на который указы вает курсор, пользователь наж имает ту или иную клавиш у мыши. Н екоторые прикладные программы рассчитаны на работу с мышью, но боль­ ш инство программ, работаю щ их с мышью, допускают такж е ввод с клавиатуры. Д ж ой сти к — м анипулятор в виде укрепленной на ш арнире ручки с кнопкой. Употребляется в основном для компью терны х игр. Г раф оп острои тел ь или п лоттер — устройство для вывода чертеж ей на бумагу. Плоттеры несколько де­ шевле, чем лазерны е принтеры, но скорость печати у них ниж е. П лоттеры бывак)т барабанного типа (рабо­ таю т с рулоном бумаги) и планш етного типа (в них лист бумаги леж ит на плоском столе). К ак правило, плоттеры используются в системах конструирования (С А П Р) для вывода чертежей. С кан ер — устройство для считывания графической и текстовой инф орм ации в компьютер. Сканеры (вм е­ сте с соответствующ им программным обеспечением) могут вводить в компью тер рисунки, а такж е распоз­ навать символы, что позволяет быстро вводить н апеча­ танны й (а иногда рукописный) текст в компьютер. Сканеры бывают настольные (они обрабатывают весь лист бумаги целиком) и ручные (их надо проводить над нужным рисунком или текстом ). При системати­ ческом использовании (наприм ер, в издательских си ­

КомпьютерПресс 2'91

стем ах) необходим настольный сканер, хотя он доро­ же. Д и ги тай зер — устройство для “оцифровки" изобра­ ж ений. Позволяет преобразовать изображения в ци ф ­ ровую форму для обработки в компьютере. Использу­ ется в системах обработки изображений. М у зы кальн ая п р и ставка — дает возможность ис­ полнять музыку с помощью компью тера. Без этой приставки компью тер может выводить в каждый мо­ мент звук только одного тона, что дает такие же му­ зыкальные возможности, как игра на фортепьяно од­ ним пальцем. С етевой ад ап тер — дает возможность подключать компью тер в локальную сеть. П ри этом пользователь может получать доступ к данным, находящимся на других компью терах. С три м м ер — устройство для быстрого сохранения всей инф орм ации, находящ ейся на жестком диске. Стриммер записы вает информ ацию на кассеты с маг­ нитной лентой, похожие на кассеты для бытовых маг­ нитофонов. О быкновенная емкость стриммера — 60 Мбайт, но бывают стриммеры и большей емкости. Граф и чески й п л ан ш ет — устройство для ввода контурных изображ ений. Используется, как правило, в системах автоматического конструирования (САПР) для ввода чертеж ей в компьютер.

Глава 2. Начальные сведения об операционной системе DOS Что такое операционная система О перационная система — это программа, которая загруж ается при вклю чении компью тера. Она произво­ дит диалог с пользователем, осуществляет управление компьютером, его ресурсами (оперативной памятью, местом на дисках и т.д .), запускает другие (приклад­ ные) программы на выполнение. О перационная систе­ ма обеспечивает пользователю и прикладным програм­ мам удобный способ общ ения (интерф ейс) с устрой­ ствами компью тера. О сновная причина необходимости такой программы, как операционная система, состоит в том, что элемен­ тарны е операции для работы с устройствами компью­ тера и управления ресурсами компью тера — это опе­ рации очень низкого уровня и действия, которые необ­ ходимы пользователю и прикладным программам, — на самом деле состоят из нескольких сотен или тысяч таки х элем ентарны х операций. Н апример, накопитель на магнитных дисках “ пони­ м ает" только таки е элем ентарны е операции, как вклю чи ть/вы клю чи ть двигатель дисковода, установить читаю щ ие головки на определенный цилиндр, выбрать определенную читаю щ ую головку, прочесть информа­ цию с дорожки диска в компью тер и т.д. Поэтому для выполнения даж е такого несложного действия, как ко­ пирование ф ай ла с одной дискеты на другую (ф айл — это поименованный набор инф орм ации на диске или другом маш инном носителе), необходимо выполнить

РАБОТАЕМ ГРАМОТНО

тысячи операций по запуску команд дисководов, про­ верке их выполнения, поиску и обработке инф орм а­ ции в таблицах размещ ения ф айлов на дисках и т.д. Задача ещ е услож няется следующим: — имеется около десятка форматов дискет, и опе­ рационная система долж на уметь работать со всеми этими ф орм атам и. Д ля пользователя работа с дискета­ ми различного ф орм ата долж на осущ ествляться абсо­ лю тно одинаково; — ф ай л на дискетах заним ает определенные участ­ ки, причем пользователь не долж ен ничего знать о том, какие именно. Все ф ункции по обслуживанию таблиц размещ ения файлов, поиску инф орм ации в них, выделению места для ф айлов на дискетах выпол­ няются операционной системой, и пользователь может ничего не знать о них; — во время работы программы копирования может возникать несколько десятков различных особых ситу­ аций, например, сбой при чтении или записи инф ор­ мации, неготовность дисководов к чтению или записи, отсутствие места на дискете для копируемого ф ай л а и т.д. Д ля всех этих ситуаций необходимо предусмот­ реть соответствующ ие сообщ ения и корректирую щ ие действия. О перационная система скрывает от пользователя эти слож ные и ненуж ны е ему подробности и предо­ ставляет ему удобный интерф ейс для работы. О на вы­ полняет такж е различны е вспомогательные действия, например, копирование или печать файлов. Кроме то ­ го, операционная система осуществляет загрузку в оперативную память всех программ, передает им уп­ равление в начале их работы, выполняет различные вспомогательные действия по запросу выполняемых программ и освобождает занимаем ую программами оперативную память при их заверш ении. Как правило, персональный компью тер IBM PC ра­ ботает под управлением операционной системы MS DOS фирмы Microsoft Corp. или ее варианта PC DOS, распространяемого фирмой IBM, либо ж е под управле­ нием появивш ейся в 1988 году совместимой с MS DOS операционной системы DR DOS фирмы Digital Research. Д алее будут описываться эти три операци­ онные системы, причем они будут обозначаться словом DOS.

Составные части DOS О перационная система DOS состоит из следующ их частей. Б азовая систем а ввода-вы вода (BIO S), находящ а­ яся в постоянной пам яти (постоянном запоминаю щ ем устройстве, П ЗУ ) компьютера. Э та часть операцион­ ной системы является “ встроенной11 в компьютер. Ее назначение состоит в выполнении наиболее простых и универсальных услуг операционной системы, связан­ ных с осуществлением ввода-вывода. Базовая система ввода-вывода содержит такж е тест функционирования компьютера, проверяющ ий работу пам яти и устройств компью тера при вклю чении его электропитания. Кро­

67 ме того, базовая система ввода-вывода содерж ит про­ грамму вызова загрузчика операционной системы. З а гр у зч и к оп ер ац и о н н о й си стем ы — это очень короткая программа, находящ аяся в п ервом секторе каж дой дискеты с операционной систем! эй DOS. Ф унк­ ция этой программы заклю чается в сч и ты ван и и в па­ мять ещ е двух модулей операционной системы, кото­ рые и заверш аю т процесс загрузки DOS . Н а ж естком диске (винчестере) загр узчик операци­ онной системы состоит из двух частей . Это связано с тем, что ж есткий диск может быть раз! 5ит на несколь­ ко разделов (логических дисков). Перв ая часть загруз­ чика находится в первом секторе жест кого диска, она выбирает, с какого из разделов жестк< эго диска следу­ ет продолж ить загрузку. Вторая часть загрузчика на­ ходится в первом секторе этого раздела;, она считывает в пам ять модули DOS и передает им управление. Д и сковы е ф ай лы IO .SY S M SD O S .SYS (они могут называться и по-другому, наприм ер, IBMBIO.COM и IBMDOS.COM для PC DOS, DRBIOS.SYS и DRDOS.SYS для DR DOS — н азв ан и я меняются в з а ­ висимости от версии операционной систем ы ). Они за ­ гружаю тся в пам ять загрузчиком опе;рационной систе­ мы и остаю тся в пам яти ком п ью тер а постоянно. Ф ай л IO.SYS представляет собой д о п о л н ен и е к базовой сис­ тем е ввода-вывода в П ЗУ . Ф ай л MSDOS.SYS реализует основные высокоуровневые услуги D O S. К ом ан д н ы й п р о ц ессо р DOS обрабаты вает коман­ ды, вводимые пользователем. К ом ан дн ы й процессор находится в дисковом ф ай ле COMM. A.ND.COM на дис­ ке, с которого загруж ается о п ер ац и о н н ая система. Н е­ которые команды пользователя, наш ример, type, dir или сору, командный процессор вы полняет сам. Такие команды называю тся внутренними.. Д ля выполнения остальных (внеш них) команд пользователя командным процессор ищ ет на дисках програм м у с соответствую ­ щ им именем, и если находит ее, 'го загруж ает в п а ­ мять и передает ей управление. П о окончании работы программы командный процессор удаляет програм му из пам яти и выводит сообщ ение о готовности вып олнения команд (приглаш ение D O S ). Внеш ние к ом ан ды D O S — з>то программы, п о с т а ­ вляемые вместе с операционной .системой в виде; от­ дельны х файлов. Эти программы выполняют дей стви я обслуживающ его характера, напр имер, форм ати рование дискет, проверку дисков и т.д. Д рай веры устройств — это сп ец и альн ы е п рограм ­ мы, которые дополняю т систему ввода-вывода DOS и обеспечиваю т обслуж ивание новы х устройств или нестандартное использование им ею щ ихся устройств. Н априм ер, с помощью драйверов возможна, работа с “электронным диском ", т.е. частью памяти компью­ тера, с которой можно р аб о тать так же, к;ак с дис­ ком. Д райверы загруж аю тся в п ам ять компы отера при загрузке операционной системы;, их и м е н а указы­ ваю тся в специальном ф ай ле C O N FIG .5>YS. Такая схема облегчает добавление новы х у строй ств и по­ зволяет делать это, не затрагив ая систем ные файлы DOS.

КомпьютерПресс Т 91

68

IBM PC ДЛЯ ПОЛЬЗОВАТЕЛЯ

Начальная загрузка DOS Н ачальная :загрузка DOS выполняется автом атичес­ ки в следую щ и х случаях: — при вк л ю ч ен и и электропитания компьютера; — при на ж ати и на клавиш у “R eset1* на корпусе компью тера (так ая клавиш а есть не у всех моделей компью теров)'; — при одноврем енном наж атии клавиш [C trl], [Alt] и [D el] на клавиатуре. Д ля выполг !ения начальной загрузки DOS необходи­ мо, чтобы на дисководе А для гибких дисков (первого дисковода для дискет, подсоединенного к компью теру) была установл ен а дискета с записанной операционной системой D O S или чтобы компью тер имел ж есткий диск (ви н ч естер ) с записанной на нем операционной системой D O S . К ак правило, на ж есткие диски опера­ ционная си с те м а DOS записы вается фирмой — поста­ вщиком ком пью теров. В начале за 1грузки работаю т программы проверки оборудования, н аход ящ и еся в постоянной пам яти ком­ пьютера. Если они находят ошибку, то выводят код ошибки на э к р а н . Если ош ибка не критическая (т.е. даю щ ая возможш эсть продолж ения работы), то пользо­ вателю предосташляется возможность продолжить про­ цесс загрузки, н а ж а в клавиш у [F1] на клавиатуре. Ес­ ли ж е неисправн ость критическая, то процесс загрузки прекращ ается. П р и серьезных ош ибках о возникш ей ситуации и о вы данн ом коде ош ибки следует сообщить специалистам п о техническому обслуживанию ком­ пьютеров. П осле ок он чан и я работы программ тестирования оборудования програм м а начальной загрузки пытается прочесть с ди скеты , установленной на дисководе А, программу — загрузчи к операционной системы. Если на дисководе А жет дискеты , то загрузка операционной си стем ы будет п роизиодиться с жесткого диска (ви н ­ ч е с т е р а ). Если н а дисководе А находится не дискета с о п ерац и он н ой сисггемой, а какая-либо другая дискета, т о будет выдано сообщ ение об ошибке: Non-system or disk error Replace' and strike any key when ready (Несистемный диск или ошибка на диске. Замените диск и нажмите любую клавишу)

С л едует постави ть на дисковод А дискету с опера­ ц и он н ой систем ой , если Вы хотите загрузить компью ­ тер с дискеты, л и б о открыть дверцу дисковода или вы­ нуть дискету из дисковода, если Вы хотите загрузить к о м п ью тер с ж есткого диска (винчестера). После этого сл едует наж ать лю бую буквенно-цифровую клавиш у, пробел или [E nter]| для продолжения процесса загруз­ ки. П о ел о того, к а к с диска, с которого загруж ается о п ерац и он н ая си стем а (т.е. дискеты или винчестера), п р о ч и тан а програм м а — загрузчик операционной сис­ темы, э т и програм м а считывает в пам ять компью тера модули о п ер а ц и о н н о й системы (для MS DOS — файлы 1 0 .SYS и MSDOS.SYS) и передает им управление. Д алее с того же диска читается ф ай л конфигурации

К о м п ь к т фПресс. 2'91

системы CONFIG.SYS и в соответствии с указаниями, содерж ащ им ися в ф ай ле CONFIG.SYS, загружаются драйверы устройств, и устанавливаю тся параметры операционной системы. Если ф ай л CONFIG.SYS от­ сутствует, все параметры устанавливаю тся по умолча­ нию. П осле этого с диска, с которого загружается опера­ ционная система, читается командный процессор (ф ай л COMMAND.COM) и ему передается управле­ ние. Командный процессор выполняет командный ф ай л A U TO EX EC.BA T, если этот ф айл имеется в кор­ невом каталоге диска, с которого загруж ается опера­ ционная система. В ф ай ле AUTO EX EC.BA T указыва­ ют команды и программы, выполняемые при каждом запуске компью тера. Н априм ер, там можно указать запуск программы, обеспечиваю щ ей работу с русскими буквами на клавиатуре. Если ф ай л A U TO EX EC.BA T не найден в корневом каталоге диска, с которого загруж ается операционная система, то DOS запраш ивает у пользователя текущую дату и время. GENOA SUPER EGABIOS, Version 3.00 (С) Copyright GENOA Systems Corp7 1986, 1987 Phoenix 80286 ROM BIOS Version 3.00 Copyright (c) 1985, 1986 Phoenix Technologies Ltd All Rights Reserved 00640K Base Memory, 00384K Expansion Installing MOUSE Device Driver V 5 .0 3 ---H ard Disk (D) Device Driver Installed. Alias List: Keyboard driver installed. EGA 8x14 font loaded. AntiVirus installed. To activate menu, press Alt-4. 20:18 C :\» Рис. 2.1. П ример сообщений при начальной загрузке DOS

После выполнения ф ай ла AUTOEXEC.BAT процесс загрузки операционной системы заканчивается. DOS выдает приглаш ение, показываю щ ее, что она готова к приему команд. Н а рис. 2.1 показан пример сообщений, которые выдаются при начальной загрузке DOS. Эти сообще­ ния зависят от модели компью тера, версии операцион­ ной системы и содержимого файлов CONFIG.SYS и A U TO EX EC.B A T, поэтому на Вашем компьютере со­ общ ения, выдаваемые при загрузке, могут быть совсем другими.

Резидентные программы Этот пункт можно при первом чтении опустить. К ак правило, после окончания работы программы вся заним аем ая ею оперативная память освобождается и делается доступной для следующих запускаемых пользователем программ. Однако в операционной сис­ теме DOS для программ имеется возможность не осво­ бождать (полностью или частично) по окончании сво­

69

РАБОТАЕМ ГРАМОТНО

ей работы занимаемую ими оперативную память. Т а ­ кие программы называю тся резидентными, или постоянно находящ имися в памяти. При запуске резидентной программы она выполняет какие-то действия, после чего оканчивает свою работу. Н а экране появляется приглаш ение DOS, и пользова­ тель может запускать другие программы. О днако часть, оперативной пам яти компью тера остается занятой р е­ зидентной программой. Иногда пользователь может повторно выдавать ко­ манду запуска резидентной программы для установки каких-то режимов ее работы. П ри этом программа, как правило, устанавливает, что она уж е является ре­ зидентной и не отбирает больше оперативной памяти у DOS. Н аличие резидентных программ имеет смысл пото­ му, что при первом запуске они указываю т операцион­ ной системе DOS, что она для выполнения некоторых своих услуг долж на вызывать залож енны е в этих про­ граммах подпрограммы. Д анны е подпрограммы и рас­ полагаются в той части оперативной пам яти, которая не освобождается при первом запуске резидентной программы. Например, резидентная программа может устано­ вить собственную подпрограмму для обработки ситуа­ ций наж атия пользователем клавиш на клавиатуре. Т акая подпрограмма может проверять, не н аж ата ли пользователем определенная комбинация клавиш , и если она наж ата, то вызывать некоторую подпрограм­ му, а если нет — передавать управление стандартной подпрограмме DOS для обработки наж атия клавиш . Т ак работают многие известные резидентные програм­ мы, например, SideKick, N orton G uides и др. Н есколь­ ко более сложно обрабатывают наж атие клавиш драй ­ веры клавиатуры, предназначенные для ввода русских букв с клавиатуры, а такж е программы, расш иряю щ ие возможности клавиатуры, например, SuperKey, SmartKey и др. Резидентные программы могут использоваться и для некоторых других ф ункций, например, для выполне­ ния каких-то особых действий по управлению устрой­ ствами компьютера, разграничению доступа к ф айлам на компьютере, защ ите от компьютерного вируса и т.д. Резидентные программы должны заним ать боль­ шой объем оперативной пам яти и весьма нетривиаль­ ным образом взаимодействовать с операционной систе­ мой DOS, поэтому они пиш утся достаточно квали ф и ­ цированными программистами, как правило, на язы­ ках Ассемблер и Си.

Глава 3. Файлы и каталоги на дисках Что такое файл И нформация на магнитных дисках хранится в ф а й ­ лах. Ф айл — это поименованная область на диске или другом машинном носителе. В ф ай лах могут хранить­ ся тексты программ, документы, готовые к выполне­ нию программы и т.д.

Часто ф айлы разделяю т на две категории — тексто­ вые и двоичные. Текстовые ф айлы п редназначены для чтения человеком. О ни состоят из строк символов, причем каж дая строка оканчивается двумя сп ец и ал ь­ ными символами “ возврат кар етки 11 (CR> и “ новая строка” (L F ). П ри редактировании и просм отре тек­ стовых ф айлов эуи специальны е символы, как прави­ ло, не видны. В текстовы х ф ай лах хранятся тексты программ, командны х файлов DOS и т.д. Файшы, не являю щ иеся текстовыми, называю тся двоичны м и. Текстовый ф ай л, содерж ащ ий только с и м в о л ы с ко­ дам и до 127 (т.е. не содерж ащ ий русских букв и псев­ дограф ических символов), называется A SC II-ф ай .том.

Имена файлов Каждый ф ай л на диске имеет обозначение, которое состоит из двух частей: имени и расш ирения (чисто имя и расш ирение вместе такж е называю тся имен ем, как правило, это приводит к путан и ц е). В имени ф а й ­ ла может быть от 1 до 8 символов. Р асш ирение нач инается с точки, за которой следуют от 1 до 3 си м во­ лов. Н апример, command.com paper.chi autoexec.bat

nul делает то же, что и команда сору ааа bbb, т.е. копирует файл ааа в файл bbb, но при этом не выводит на экран сообщение 1 file (s) copied (Более подробно о значении символа “ > “ будет рассказа­ но при обсуждении перенаправления ввода-вывода в коман­ дах DOS).

Каталоги И м е н а ф ай л о в р еги стр и р у ю тся н а м агн итн ы х дис­ к а х в к а т а л о га х (и л и д и р е к т о р и я х ). К атал о г — это с п ец и а л ь н о е м есто н а д и ск е, в котором х р ан ятся им е­ на ф а й л о в , св еден и я о р а зм е р а х ф ай л о в , врем ени их последн его обн о влен и я, атр и бу ты (св о й ств а) ф ай л ов и т.д. Е сл и в к а т а л о ге х р а н и т с я им я ф а й л а , то говорят, что это т ф а й л н ах о ди тся в д ан н о м к атал о ге. Н а к а ж ­ дом м агн и тн о м д и с к е м о ж ет бы ть н есколько каталогов. В каж д о м к ат а л о ге м о ж ет бы ть много ф ай л о в , но к а ж ­ д ы й ф а й л всегда р еги стр и р у ется то л ько в одном к а т а ­ логе. П о дк атал о ги и н ад катал о ги . Все к атал о ги (кроме корневого, см. н и ж е ) н а с ам о м д ел е являю тся ф а й л а ­ ми с п е ц и ал ь н о го вида. К аж д ы й к а т ал о г и м еет имя, и он м о ж ет бы ть за р еги с тр и р о в ан в другом к аталоге. Е с­ л и к а т а л о г X за р еги с тр и р о в ан в к а т а л о ге Y, то гово­ рят, что X — п о д к а т а л о г У, а У — п о д к а т а л о г и ли р о д и т е л ь с к и й к а т а л о г д л я X. И м ен а к аталогов. Т р е б о в а н и я к и м ен ам каталогов т е ж е, что к и м ен ам ф ай л о в . К ак п рави л о , расш и ре­ н ие и м ен и д л я к атал о го в н е и спользуется. К о р н ево й катал о г. Н а каж д о м м агн итн ом диске и м еется один гл ав н ы й и ли к о р н ево й каталог. В нем р еги стр и р у ю тся ф а й л ы и п о дк атал о ги (к атал о ги 1-го у р о в н я ). В к а т а л о га х 1-го у р овня р егистри рую тся ф а й ­ лы и к а та л о ги 2 -го у р о вн я и т.д . П о лу ч ается и ерархи ­ ч ес кая д р ев о о б р азн ая с тр у к ту р а к аталогов н а м агн ит­ ном д и ск е. каталог manual.chi _ г manual, bak CHI каталог каталог г* LETTERS — telex.doc — L- paper.doc DOC L paper.bak Корневой каталог каталог каталог I” CHI — cw.exe • EXE —U pctools.exe L-pctools.hlp • autoexec.bat . command.com • paper.doc каталоги 1-го уровня

каталоги 2-го уровня

Рис.3.1. Пример файловой системы на магнитном диске

71

РАБОТАЕМ ГРАМОТНО

Н а рис.3.1 в корневом каталоге имеются подкатало­ ги C H I.D O C и EXE, а такж е ф айлы autoexec.bat, command.com и paper.doc. В каталоге DOC имеется подкаталог LETTERS, файлы paper.doc и paper.bak и т. д.

Текущий каталог Каталог, с которым в настоящ ий момент работает пользователь, называется текущ им. Если в команде DOS указать имя ф айла, то этот ф айл будет созда­ ваться или отыскиваться в текущ ем каталоге. Н апример, команда type выводит содержимое ф айла на экран. Тогда команда type xxx.doc будет искать ф айл xxx.doc в текущ ем каталоге. Д ля вывода оглавления текущ его каталога необходи­ мо ввести команду dir. Для смены текущ его каталога имеется команда cd.

Указание пути к файлу Когда вы используете ф айл не из текущ его катало­ га, необходимо указать, в каком каталоге этот ф айл находится. Это делается с помощью указания пути к файлу. Путь — это последовательность из имен каталогов или символов разделенных символом Этот путь задает марш рут от текущ его каталога или от кор­ невого каталога диска к тому каталогу, в котором на­ ходится нужный ф айл. Если путь начинается с символа “ \ “ , то маршрут вычисляется от корневого каталога диска, иначе — от текущего каталога. Каждое имя каталога в пути соот­ ветствует входу в подкаталог с таким именем, со­ ответствует входу в надкаталог. Например, пусть текущ ий каталог — D O C (см. рис.3.1). Тогда:

Г

путь от корневого каталога

\С Н 1

\D O C \LE T T ER S

\E X E \C H I

F

путь от текущего каталога

,.\С Н 1

— путь к каталогу 1-го уровня CHI; LETTERS — путь к подкаталогу LETTERS каталога DOC; ..\E X E \C H I— — путь к подкаталогу CHI каталога EXE;

Имена накопителей на дисках (дисководов) В компьютере обычно имеется несколько накопите­ лей на магнитных дисках (дисководов). Для D OS на­ копители на магнитных дисках именуются А :,В :,С : и т.д. Н апример, в компью тере может быть два накопи­ теля на гибком магнитном диске А: и В: и один нако­ питель на жестком магнитном диске (винчестер) С :.

Т екущ ий дисковод Т е к у щ и й ди сковод — это т о т дисковод, с которым Вы р аб о таете в н а с то ящ е е вреь(я. D OS по ум олчанию и щ ет все зад а в а е м ы е п о л ьзо вател ем ф а й л ы на диске, н ах о дящ ем ся н а тек у щ ем ди сководе. Вы м о ж ете см е­ н и ть те к у щ и й ди сковод с п ом ощ ью ко м ан д D O S.

П олное им я ф айла П о лн о е и м я ф а й л а и м еет сл еду ю щ и й вид: [дисковод: ] [ п у т ь \ ] и м я -ф а й л а т .е . состои т и з п ути к катал о гу , в котором находится ф а й л , и и м ен и ф а й л а , р а зд е л е н н ы х сим волом “ \ “ , пе­ ред ко то р ы м и м о ж ет сто ять о б о зн ач ен и е дисковода. Е сл и ди сковод не у к а за н , то п о др азу м евается тек у ­ щ и й ди сковод. Е сл и п уть н е у к а за н , то п о др азу м евает­ ся те к у щ и й к атал о г. П о лн о е им я ф а й л а п олн остью с п е ц и ф и ц и р у е т , с к а ­ к и м ф а й л о м Вы х о т и те р або тать. Например, пусть на рис. 3.1 изображена файловая система на диске накопителя А:. Текущий каталог на этом накопите­ ле — A :\D O C . Тогда a:paper.doc — файл paper.doc в текущем каталоге диска на дисководе А:; a:\paper.doc — файл paper.doc в корневом каталоге диска на дисководе А:; post\telex.doc — файл telex.doc в подкаталоге POST текущего каталога.

С им волы * и ? Во м н огих к о м ан д ах в и м ен ах ф ай л о в м ож но у п о т­ р ебл ять сим волы * и ? д л я у к а зан и я группы ф ай л о в из одного к атал о га. С им вол * о б о зн ач ает лю б ое число лю бы х символов в и м ен и ф а й л а и ли в р ас ш и р ен и и и м ен и ф а й л а . С и м ­ вол ? о б о зн ач ает один п р о и зво л ьн ы й сим вол или от­ су тстви е си м во л а в и м ен и ф а й л а и ли в р асш и рен ии и м ен и ф а й л а В и м ен ах ф а й л о в , с о д е р ж а щ и х у к а за н и е на к атал о г и ли дисковод, сим волы * и ? н ельзя у п о тр ебл ять в той части и м ен и , ко то р ая со д ер ж и т у к а за н и е н а каталог и ли дисковод. Н а п р и м е р , и м я a : \ w o r k \ * .d o c доп у сти ­ мо, а и м ен а a : \ * \ p a p e r doc и * :\w o r k \p a p e r .d o c — нет. Примеры: *.bak — все файлы с расширением .bak из текущего ката­ лога; с*, d* — все файлы с именем, начинающимся с С, и с рас­ ширением, начинающимся с D, из текущего каталога; a:\d o c\A B C ???.* — все файлы с именем, начинающимся с ABC и состоящим не более чем из 6 символов.

Л огические диски В о п ер ац и о н н о й с и с т ем е D O S м о ж н о разделить ж естки й ди ск н а н еско л ьк о ч ас тей , и р або тать с ними

КомпьютерПресс 2'91

72

IBM PC ДЛЯ ПОЛЬЗОВАТЕЛЯ

как с отдельными дискам и. Эти части называю тся ло­ гическими дисками или разделами жесткого дис­ ка. Каждый логический диск имеет имя (букву), по которому к нему можно обращ аться. Н апример, ж ест­ кий диск объемом 40 Мбайт может быть разделен на два логических диска: диск С: объемом 32 М байта и диск D: объемом 8 Мбайтов. Пользователь может даж е не знать, что эти два диска не являются независимы­ ми физическим и устройствами, а расположены на од­ ном жестком диске.

Электронные диски Если в компью тере имеется достаточное количество оперативной пам яти, то можно отвести часть этой п а­ мяти под “электронный диск“ (RAM-диск). С этой частью памяти можно работать так же, как с диском. Ввод и вывод инф орм ации на “электронный диск“ осуществляется гораздо быстрее, чем на обычный диск, поскольку это не связано с физическим переме­ щ ением диска и считываю щ их головок. О днако при выключении питания или перезагрузке компью тера инф орм ация, записанная на “электронный диск", про­ падает. Д ля работы с “ электронным диском** требуется з а ­ пуск специальной программы или вклю чение в ф айл конфигурации системы CONFIG.SYS программы-драй­ вера “электронного диска**

Глава 4. Диалог пользователя с DOS Диалог пользователя с DOS осуществляется в форме команд. Каж дая команда пользователя означает, что DOS долж на выполнить то или иное действие, напри­ мер, напечатать ф ай л или выдать на экран оглавление каталога. Команда DOS состоит из имени команды и, возмож­ но, параметров, разделенных пробелами. Имя команды DOS и параметры могут набираться как прописными, так и строчными латинскими буквами. Ввод каждой команды заканчивается наж атием клавиш и [E n ter],

Приглашение DOS Когда DOS готова к диалогу с пользователем, она выдает на экран приглаш ение, например А > или С : \ > Это означает, что DOS готова к приему команд. Когда пользователь проводит диалог с какой-либо про­ граммой, а не с DOS, тогда приглаш ение DOS отсут­ ствует (впрочем, программа может иметь свое пригла­ шение для ввода команд этой программы). П риглаш ение DOS, как правило, содержит инф ор­ мацию о текущ ем дисководе и о текущ ем каталоге (см. ни ж е). Н апример, А :\> C :\E X E >

— дисковод А:, корневой каталог. — дисковод С:, каталог \Е Х Е .

Иногда приглаш ение DOS вклю чает такж е инф ор­ мацию о текущ ем времени суток, например

КомпьютерПресс 2'91

12:59 C :\E X E \S Y S > Вид приглаш ения можно изменить с помощью ко­ манды DOS Prompt.

Ввод команд Для ввода команды следует набрать эту команду на клавиатуре и наж ать [E n te r], П ри вводе команд мож­ но пользоваться следующими клавиш ами для редакти­ рования вводимой команды: [D el] — удаление текущ его символа; [B ac k sp ace] — (стрелка налево над клавишей [E n te r]) — стирание предыдущего символа; [In s] — вклю чение-выклю чение режима вставки; [E sc] — очистка всей командной строки. Если при начальной загрузке операционной систе­ мы была запущ ена программа D OSEDIT (см.ниже), то можно пользоваться и следующими клавишами: [ - > ] ,[ < -] — (стрелки направо и налево на функци­ ональной части клавиатуры ) — перемещ ение курсора; [•] — (стрелка вверх на функциональной части клавиатуры) — выводит в командную строку предыду­ щую команду. Более подробно о редактировании вводимых команд рассказано в конце этой главы.

Запуск и выполнение команд Лю бая команда, вводимая пользователем, указывает на необходимость выполнения либо внутренней, либо внеш ней команды DOS, либо других программ или ко­ мандных файлов. Д ля выполнения внутренней или внешней команды DOS необходимо ввести имя этой команды и ее пара­ метры. П ои ск вы полняем ой програм м ы . Когда пользова­ тель вводит команду, которая не относится к числу внутренних команд DOS, командный процессор ищет программу с именем, указанны м в команде. Поиск проводится среди ф айлов со следующими расширения­ ми: .СОМ — программные файлы ; .EXE — программные ф айлы (в другом формате); .ВАТ — пакетны е командные файлы. Поиск выполняется в том порядке, в котором эти расш ирения перечислены выше. Если пользователь не указал, в каком каталоге следует искать программу, то поиск производится в текущ ем каталоге и в каталогах, заданны х командой DOS P ath . Если нуж ная программа в этих каталогах не найде­ на, то на экран выводится сообщение Bad command or file name (Неверное имя команды или программы)

Н апример, если пользователь ввел команду PROG, то командный процессор будет искать в текущ ем ката­ логе и в каталогах, заданных командой DOS Path, ф айл с именем PROG.COM или PRO G.EX E, или PROG.BAT. Если найденны й ф айл имеет расширение .СОМ или .EXE, то командный процессор выполняет

73

РАБОТАЕМ ГРАМОТНО

загрузку этого ф ай ла в память и передает ему управ­ ление, чтобы этот ф айл мог выполнить свою работу. Если найденный ф айл имеет расш ирение .ВАТ, т.е. является командным файлом (т.е. файлом пакетной обработки), то он содержит в форм ате текстового ф айла (в коде ASCII) последовательность команд, ко­ торые должны выполняться так, как будто они вводят­ ся с клавиатуры. Я вное у к азан и е катал ога в ком анде. В версиях DOS, начиная с 3.00, а такж е в DR DOS, в командах можно явно указывать имя каталога, в котором надо искать соответствующую программу. Д ля этого следует в качестве имени команды использовать полное имя файла, включающее путь к каталогу, в котором нахо­ дится нужная программа или командный ф айл. Р ас­ ширение имени ф ай ла (т.е. .COM, .EXE и .ВАТ) можно не указывать. Например, пусть текущий каталог — C :\D O C \W O R K , а надо выполнить программу HYPHEN, находящуюся в катало­ ге C :\D O C \P R O G , и указать параметры программы PAPER.DOC /Р . Тогда для выполнения этой программы не­ обходимо выполнить команду: c:\d o c\p ro g \h y p h e n paper.doc /р или ..\p ro g \h y p h en paper.doc /р

Действия при “зависании11 компьютера или неправильной работе программ Иногда выполняемая программа начинает работать неправильно или ж е не реагирует на наж атие клавиш и т.д. В этом случае выполнение программы следует прекратить. Это делается так: — сначала надо одновременно наж ать на клавиш и [C trl] и [B reak], чтобы прекратить- выполнение про­ граммы или вывести ее из состояния “зависания"; — если это не помогает, то надо перезагрузить DOS. Д ля этого следует одновременно наж ать на кла­ виши [C trl], [Alt] и [D el]; — если при наж атии [C trl], [Alt] и [D el] компью­ тер не перезагруж ается, то следует наж ать клавишу “Reset" на корпусе компьютера; — если в Вашем компьютере нет клавиш и “R eset", то надо выключить компьютер, а затем включить его. Вы можете прекратить выполнение любой команды DOS, наж ав комбинацию клавиш [C trl— С] или [C trl— Break] (как указывалось в части 1, наж ать [C trl— С] означает наж ать клавиш у [C trl], и, не от­ пуская ее, наж ать клавишу “С "). Заметим, что прикладные программы не обязаны (хотя и могут) реагировать на наж атие [C trl— С] или [C trl— B reak],

Приостановка вывода на экран Если команда DOS выдает слишком много инф ор­ мации на экран, можно воспользоваться комбинацией клавиш [C trl—S] для приостановки выдачи. Повтор­ ное наж атие [C trl—S] возобновит выдачу.

Д ля других программ выдачу информ ации на экран можно приостановить наж атием комбинации клавиш [C trl— NumLock], Д ля продолжения выполнения надо наж ать любую клавиш у.

П ауза при выполнении команд Если при выполнении команды DOS на экране по­ является сообщение Strike and key when ready (Нажмите любую клавишу, когда будете готовы)

или Strike any key to continue (Для продолжения нажмите любую клавишу)

то для продолжения работы следует наж ать любую буквенно-цифровую клавиш у, пробел или [E n ter],

Редактирование вводимых команд DOS DOS предоставляет некоторые возможности по ре­ дактированию вводимых команд во время их набора, однако они весьма ограничены и неудобны. Поэтому чащ е всего пользователи предпочитаю т запускать ка­ кую-либо специальную резидентную программу, кото­ рая позволяет выводить в командную строку одну из нескольких последних введенных команд и редактиро­ вать команду в командной строке более удобным обра­ зом. О писание возможностей одной из таких программ — программы D O SED IT — приводится ниже. Д ля установки программы D O SED IT необходимо скопировать программу D O SED IT. СОМ на компьютер (или на системную дискету), и вставить в файл A U TO EX EC.BA T команду вызова программы DOSEDIT. В простейш ем случае эта команда выглядит так: DOSED IT. После вызова D O SED IT устанавлива­ ется резидентно, и предоставляемые ею возможности доступны до перезагрузки компью тера. После запуска программы D O SED IT командную строку DOS можно редактировать следующим образом. П ер ем ещ ен и е курсора: [ - ? ] — перемещ ение кур­ сора вправо; [< -] — перемещ ение курсора влево; [C trl— >•] — перемещ ение курсора вправо на слово; [C trl< ] — перемещ ение курсора влево на слово; [LeftShift— T ab] — перемещ ение курсора влево к сле­ дующ ей позиции табуляции; [RightShift— T ab] — пе­ ремещ ение курсора вправо к следующей позиции та­ буляции; [Н ош е] — перемещ ение курсора к началу строки; [E nd] — перемещ ение курсора к концу стро­ ки. У дален и е сим волов: [D el] — удаление символа под курсором; [Backspace] — удаление символа слева от курсора; [Esc] — очистка командной строки; [C trl— Home] — очистка командной строки от теку­ щей позиции курсора до начала строки; [C trl— End] — очистка командной строки от текущ ей позиции курсора до конца. П рочи е ком анды : [Ins] — вклю чение и выключе­ ние реж има вставки. В реж име вставки курсор увели­ чивается в толщ ине. При наж атии клавиш [E nter] и

КомпьютерПресс 2'91

74

IBM PC ДЛЯ ПОЛЬЗОВАТЕЛЯ

[Esc] режим вставки выключается; [C trl—Z] — ввод в командную строку символа конца ф ай ла (символа с кодом 26). Вызов в ком ан дн ую строку ран ее введенны х ком анд. Программа D O SED IT хранит несколько по­ следних введенных пользователем команд и может вы­ водить их в командную строку DOS. Это позволяет лекго повторить одну из последних команд, сделав при необходимости в ней нужны е изменения. Команды хранятся в виде кольцевого стека. Д ля вызова в ко­

мандную строку ранее введенных команд и управле­ ния стеком команд можно использовать следующие клавиш и: [♦] — вызов предыдущей команды; [♦] — вызов следующей команды; [C trl— PgUp] — очистка стека; [C trl— PgD n] — очистка из стека текущ ей команды (т.е. команды, изображенной в командной строке).

(П родолж ение следует )

М П Р О Л О Г м о д у л ь н ы й я з ы к л о ги ч е с к о го п р о г р а м м и р о в а н и я Что такое М П РО Л О Г? МПРОЛОГ — язык модульного логического програм­ мирования, предназначенный для решения задач из облас­ ти искусственного интеллекта и его приложений, в том числе для создания экспертных систем в различных прик­ ладных областях, включая медицину, химию, биологию, ^машиностроение, приборостроение и т.д.

В чем отличие от традиционных языков программирования? Язык МПРОЛОГ принципиально отличается от традици­ онных языков программирования тем, что в нем требуется описывать логическую модель предметной области в терминах объектов и отношений между ними без подроб­ ного описания алгоритма решения задачи. Программа на языке МПРОЛОГ состоит из утверждений, каждое из ко­ торых является фактом или правилом из заданной пред­ метной области.

Где используется язы к М П РО Л ОГ? Язык МПРОЛОГ является одной из наиболее известных и широко распространенных версий языка Пролог, создан­ ной в Венгрии. В настоящее время систему МПРОЛОГ в СССР исполь­ зуют свыше 160 организаций. Система МПРОЛОГ полу­ чила распространение более чем в 10 странах мира, вклю­ чая США, Японию, Германию и Канаду. В мире продано несколько тысяч экземпляров системы.

В чем особенности язы ка М П РО Л О Г? Основные характерные черты системы МПРОЛОГ: - поддержка модульного логического программирования; - большой набор встроенных предикатов (более 150), - набор функций трехмерной машинной графики;

- возможность программирования пользователем обработки ошибок; - интерфейс с традиционными языками программирова­ ния; - совместимость программ, написанных для различных ти­ пов ЭВМ; - наличие мощной системы поддержки разработки про­ грамм; - допустимость компиляции и оптимизации готовых программ; - эффективность по времени и занимаемой памяти; - возможность создания проблемно-ориентированных рас­ ширений системы МПРОЛОГ (например, система 'TПРОЛОГ, реализованная на языке МПРОЛОГ, предназна­ чена для решения задач моделирования систем с дискрет­ ными событиями).

Д ля каких ЭВМ распространяется система М П РО Л ОГ? Система МПРОЛОГ распространяется для персональных компьютеров, совместимых с IBM PC (операционная сис­ тема MS DOS), для ЭВМ ЕС (операционные системы VM/CMS и СВМ /ПДО), ЭВМ типа VAX (операционные системы UNIX, VMS, ИНМОС, МОС ВП).

Что читать о язы ке М П РО Л ОГ? 1. Иванова Г.С.,Тихонов Ю.В. "Введение в язык МПРОЛОГ” , М.:Издательство МГТУ, 1990 Г.-152 с. 2. Калиниченко Л.А.,Степанов А.И..Тихонов Ю.В. "Систе­ ма МПРОЛОГ для автоматизации обработки знаний на ЭВМ.” Серия "Методические материалы и документация по пакетам прикладных программ”.Выпуск 59. М.:МЦНТИ, 1989. - 112 с. 3. Клоксин У.,Меллиш К. "Программирование на языке Пролог”,М.: Мир, 1987. - 336 с.

Как получить систему МПРОЛОГ? Заявки на получение системы М П РО Л О Г следует направлять в Малое предприятие ”Информатика” (Учредитель — институт проблем информатики АН СССР). Адрес: 117900 М осква ГС П -1, В -334, ул.Вавилова 3 0 /6 , И П И АН СССР, МП ’’И нфор­ м атика” . Телефон: 362-46-54

КомпьютерПресс 2'91

РАЗГОВОРЫ

75

ЯЗЫК ФОРТ Н Е М Н О ГО ИСТОРИИ Приступая к созданию Ф орта, Ч арлз Мур задался целью не просто создать новый язык, а найти способ повышения собственной производительности. “Т ради­ ционные языки программирования не обеспечивали мощности, легкости и гибкости, которые могли бы ме­ ня устроить, — объяснял он позднее.— Я подсчитал, что за 40 лет очень хороший программист может на­ писать 40 программ, мне ж е это показалось недоста­ точным. В мире столько вещей, которые нужно сде­ лать, что мне требовался инструмент, способный по­ мочь в этом“ . Чарльз Мур родился в ш тате М ичиган. В 1960 г. он окончил М ассачусетский Технологический И нститут, где его специализацией была ф изика. В начале 60-х годов Мур начал разрабаты вать элементы язы ка Форт, создавая программы для Станфордского линейного ус­ корителя в К алиф орнии. Одной из особенностей Форта являлась компактность; система его обозначе­ ний была' настолько лаконична, что некоторые клю че­ вые слова представляли собой просто знаки пунктуа­ ции. Ещ е одно свойство, необычное для других язы­ ков, — легкая расширяемость: программист мог без труда определять новые ключевые слова или команды в терминах уж е существующих, настраивая набор ко­ манд языка для любого приложения. В конце 60-х годов, когда Мур выполнял расчеты для одной нью-йоркской частной компании, его идеи воплотились в том, что с полным правом можно было назвать языком программирования. Вначале Мур хотел дать своему детищу название FOU RTH (четверты й).

поскольку, на его взгляд, созданный им язык превос­ ходил по своей мощности язык компьютеров третьего поколения. (П о словам Мура, в своем окончательном виде новый язык позволил ему работать в 10 раз про­ дуктивнее.) Однако маш ина IBM -1130, на которой Мур в то время работал, ограничивала длину иденти­ фикаторов пятью литерам и, поэтому название языка приш лось сократить до FO R T H . (П озднее он охарак­ теризовал это сокращ ение к ак “утонченную игру слов“ : FO R TH в переводе с английского обозначает “вперед'*.) Ф орт стал активно применяться в начале 70-х го­ дов, когда Мур работал в Н ациональной радиоастроно­ мической обсерватории в Аризоне. В сотрудничестве с Элизабет Разер, ведавш ей программным обеспечением обсерватории, он использовал Ф орт при написании се­ рии программ для мини-компью теров, которые, в частности, управляли в реальном масш табе времени системой наведения 11-метрового телескопа обсервато­ рии К ит-П ик. Программы и сам а система оказались настолько удачными, что в 1973 г. Мур, Разер и их руководитель Нед К онклин реш или создать свою ком­ панию , назвав ее “ FO R T H Incorporated". Компания заним алась продаж ей систем, пригодных не только для обсерваторий, но и для других специальных при­ лож ений, где требовалось управление в реальном масш табе времени. Одна из таки х систем — система автоматического управления видеокамерами — была установлена н а подводном аппарату, участвовавшем в 1985 г. в поисках затонувш его “Т и тан и ка".

КомпьютерПресс 2'91

76

ЯЗЫ К Ф О РТ. НЕМНОГО ИСТОРИИ

Рынок персональных компьютеров особого интереса для компании не представлял; тем не менее, Ф орт вы­ звал аж иотаж среди программистов-любителей. В чис­ ле первых был Ким Х аррис, молодой инж енер из Кремниевой долины. Н а одном из семинаров ком па­ нии он стал свидетелем того, как демонстратор за 15 мин составил простую программу для исполнения компьютерной музыки, что привело его в неописуемый восторг: Х аррис знал квалифицированного любителя, который трудился больше года, чтобы получить подоб­ ную программу на язы ке ассемблера. “Это было подобно чуду, — вспоминал он, — и я увидел его со­ бственными глазам и11. В 1977 г. Х аррис создал инициативную группу под названием FIG (FO R T H Interest G roup), которая зан я­ лась разработкой деш евой Ф орт-системы для лю бите­ лей. Помимо него в FIG входили ещ е четверо молодых энтузиастов. П ятеро основателей и семеро их добро­ вольных помощников, получив из обсерватории пер­ вую широкодоступную версию интерпретатора языка Форт, трудились более полугода ночами и в свободное от основной работы время над созданием упрощенного интерпретатора для персональных компьютеров. Т ак появилась система F IG -FO R T H , которая стоила всего около 20 долларов. В дальнейш ем были разработаны и другие версии Ф орт для Микрокомпьютеров, но лю би­ тели отдавали предпочтение F IG -FO R T H . С ама груп­ па тем временем насчитывала в своем составе уже около 4000 человек из разных концов страны. Ф орт м алопонятен тому, кто никогда им не пользо­ вался. О днако его сторонники утверждаю т, что этот язык “усиливает их власть11 над компьютером (подобно то­ му, как ручная передача подчиняет автомобиль води­ телю ). “Язык, подобный Форту, — это рай для хаке­ ров11, — заметил один из энтузиастов.

•эл ко м .

•элком»

•элком»

Форт и встроенные системы И меется ряд реализаций языка (например, P olyFO R T H ), вполне применимых к микропроцес­ сорам. PolyFO R T H имеет средства для мультип­ рограммирования и представляет собой замкнутую систему с дисковой поддержкой этапа создания и отладки, а такж е с обеспечением, требуемым для выполнения программы в П П ЗУ объектной систе­ мы. Что ж е может привлекать в Ф орте инженера-разработчика? П реж де всего, наверное, два его необычных свойства: полный доступ к особенностям ЭВМ и уни­ кальная возможность использования ассемблера в диа­ логовом режиме. Кроме того, Форт очень компактен: для вызова любой операции языка, независимо от ее сложности, требуется всего два байта. Чем больше размер программы, тем больше экономия, чему спосо­ бствует иерархическая структура прикладной задачи и, соответственно, программы. Модульность кода при­ водит к отсутствию дублирования отдельных его кус­ ков. Если ассемблерная программа занимает 4 Кбайта, то соответствующая программа на Ф орте будет при­ мерно такой же. Если ассемблерная программа зани­ мает 8 Кбайт, размеры программы на Ф орте (при ус­ ловии, что она грамотно написана) составят 6.5— 7 Кбайт. Главное преимущ ество Ф орта как языка программи­ рования — его гибкость, позволяющ ая оптимизировать программный продукт по трем критериям: времени на­ писания, времени выполнения и требуемому для рабо­ ты объему памяти.

В.Форсюк М атериал п олучен при содействии редакции бю л­ летен я “С оф тп ан о р ам а14.

• Э Л К О М * ...-э л к о м .

.э л к о м .

• ЭЛ К О М » ....Э Л К О М .....

SOFTLOCK: систем а защ иты програм мной продук ци и на ком пью терах IBM PC, XT, AT, P S /2 от несанкционированной эк сплуатац ии и копирования.

С И С Т Е М ^Ш Дтйче&ки вы я вл я ть н аличие лю бых программны х создавть н екоп и руем ы е и нсталляц и онн ы е дискеты,J держ ащ ие защ и щ ен н ы е ф айлы типов Е Х Е и СОМ; ./ —, . — разм ещ ать на и н сталляц и онн ы х дискетах незащ ищ ен- вы гр у ж ать И эксплуатировать защ ищ енны е файлы без ны е ф айлы лю бы х типов; Jg jj специального диск-клю ча; задавать количество возм ож ны х инсталл*В^Ш йШ ^«^да^Ш 8*еб&5Й j i o раниченное количество инсталляционны х дискет; ,JllliSlS дискет.

скорость вы полнения программ и

Установка защ иты практически не их объем.

И КАЛЬ НОЙ МОДИФИКАЦИИ

КАЖДАЯ ВЕРСИЯ СИСТЕМЫ SOFTLOCK

ЭЛКОМ»

» Э Л К О М .» .» » Э Л К О М ...

м

А д р ес: 1 0 1 0 0 0 , М о с к в а , у л . М а л а я Л у б я н к а , д .1 6 /4 Т ел еф о н ы д л я к о н т а к т а : ( 0 9 5 ) 9 6 3 - 7 6 - 9 0 , (0 9 5 ) 9 2 5 - 0 4 - 6 7

КомпьютерПресс 2'91

Э Л К О М .....Э Л К О М » » ...Э Л К О М .

новости

77

НОВОСТИ Несмотря на ряд объявлений о скором появлении версии Microsoft Windows с вводом инф орм ации “элек­ тронным пером“ , она появится не ранее, чем через год. П редставители фирмы такж е не подтвердили слу­ хи об активно ведущейся разработке 32-разрядной вер­ сии Windows. К ак сообщил представитель Microsoft Конни Б ал­ мер, версия с вводом рукописной инф орм ации будет представлять собой расш ирение Windows 3.1 (п лан и ­ руемой улучш енной версии Windows 3.0). “Мы сооб­ щ или об этом ряду представителей прессы и экспер­ там, продемонстрировав при этом альф а-версию ". (Альфа-версия — тестовая версия, проверяемая специ­ алистами фирмы, а бета-версия — почти законченный вариант, передаваемый для испы таний независимым экспертам). Система получила название Pen Windows. Ее осо­ бенностью является возможность ввода инф орм ации и команд не только с помощью клавиатуры и мыши, но и путем распознавания обычного рукописного текста. Н а сегодняшний день Pen Windows способна воспри­ нимать только строчные печатные буквы. Реп Windows, по сообщениям, будет понимать и “ редак­ торские ж есты ", такие, как зачеркивание части текста для его удаления или обведение в рамку для выделе­ ния. Чтобы обеспечить выполнение этих команд, к нынешним 550 встроенным ф ункциям Windows 3.0 до­ бавятся еще около 35.

N ew sbytes N ew s Network, 2 2 Jan, 1991 С 14 по 17 мая в Киеве состоится конф еренция и выставка современных технологий Com puter-Aided Software Engineering (CA SE). Она будет организована киевской фирм ой Технософт (телефон (044) 2660079) при поддержке Ю НЕСКО.

В М оскве н а ВД Н Х с 6 по 12 апреля 1991 г. будет проходить вторая в наш ей стране в ы став ка Comtec. Как и в прошлом году, ее организацией зан и м ается СП Crocus International и ам ериканская кор по р ац и я Com puterLand. Ж елаю щ и е принять участие в вы ставке могут получить необходимую инф орм ацию по т е л е ф о ­ ну (095) 181-9717.

N ew sbytes N ew s Network, 22 Jan, 1991 П оследние бета-версии MS-DOS 5.0 представлены на рассмотрение независимы х экспертов с зав ер е н и я ­ ми в том, что это последняя версия, и вы пуск продук­ та в свет ожидается в м арте этого года. У ж е сейчас известно, что операционная система бу­ дет вклю чать в себя ряд утилит, которые ранее выпус­ кались независимыми производителями, — например, средства восстановления инф орм ации на отф ормати­ рованных дисках, являю щ иеся одним из основных до­ стоинств пакета PCTools фирмы C entral Point Software. Между тем, Digital R esearch — компания, у ж е вы ­ пускаю щ ая свою версию DOS (DR-D O S 5 ), — заяви л а о своей готовности выпустить на рынок DR-DOS 6, ко­ торая помимо усоверш енствований MS-DOS вклю чает элементы, которых в ней нет.

N ew sbytes N ew s Network, 21 Jan, 1991 К ак сообщ ается, новая версия издательского п акета Pagem aker для персональных компьютеров фирмы IBM уж е практически готова. После того как версии продукта для PC и Macintosh впервые были продемонстрированы прессе, представи­ тели фирмы Aldus объясняли, что выпуск в свет РСверсии откладывается в связи с задерж кой Windows

КомпьютерПресс 2'91

78

новости

3.0. Но вот Windows уж е в продаже, а долгожданной PageM aker 4.0 все ещ е нет. Т еперь компания заявляет, что за такое короткое время внести изменения и до­ бавления, необходимые для конкуренции с последней версией пакета V entura P ublisher было просто невоз­ можно. О жидается, что версия для PC, которую нам е­ чено выпустить в ф еврале, будет отличаться от про­ граммы для Мае. Среди возможностей версии — с нетерпением ожи­ даемые пользователями программы типографского цве­ тоделения, создания индексов, взаимосвязь нескольких файлов и встроенный текстовый процессор. В Австра­ лии новая версия будет продаваться за 1295 австра­ лийских долларов вместо 1595 долл. — стоимости ны­ нешней версии 3.01.

N ew sbytes N ew s Network, 21 Jan, 1991 П родаж а двух миллионов копий пакета Windows 3.0 позволила ф ирм е Microsoft увеличить свои доходы на 5 3 % . Ком пания продолжает ш окировать Уолл-стрит своими финансовыми успехами. По сообщению ф и р ­ мы, доход за четвертый квартал 1990 г. составил 460,5 млн. долл. при доходе за аналогичный период преды­ дущего года “всего" в 300,4 млн. Windows 3.0 поступил в продажу в мае 1990 г. П а­ кет, наконец, предоставил пользователям интерфейс, который по простоте может сравниться с M acintosh. С тех пор появилось более 1000 программ, специально нЗписанных или доработанных для работы в среде Windows.

N ew sbytes N ew s Network, 21 Jan, 1991 Ф ранцузский национальный центр космических ис­ следований и автомобильная компания Пежо приобре­ ли компьютеры C ray общей стоимостью 15-25 млн. долл.

кет, поддерживаю щий этот протокол, — это PowerPoint фирмы Microsoft, предназначенный для со­ здания цветных граф ических изображений. Все прочие программы компании используют динамический обмен данными Dynamic D ata Exchange (D D E ) — более ран­ ний и менее изысканный подход к интеграции. “Microsoft была поставлена перед фактом, что Lotus остается самой популярной табличной программой, а среди текстовых процессоров первенство держит W ordPerfect. Однако теперь, после появления Word for Windows, совместно работаю щ их Excel и PowerPoint, ф ирм е представился реальный шанс коренным обра­ зом изменить эту тенденцию ", — сказал Джон Стаэл, президент фирмы Store Board Com puter Intelligence. Ещ е одним важным моментом является то, что но­ вая программа работает и в среде Windows, поддержи­ вая интерф ейс New-Wave фирмы H ew lett-Packard. И хотя Lotus имеет графическую версию своей таблич­ ной программы, Windows в ней не поддерживается. Среди новых режимов — средства рисования и воз­ можность использования графических изображений из Windows C lipboard. Пользователь может выбрать 68 различных типов графиков. Версия для Windows 3.0 продается уже сейчас, а поставки двух других версий начнутся в первой поло­ вине 1991 г. В США пакет будет стоить 495 долл. За­ регистрированные пользователи Windows смогут при­ обрести пакет по цене 129 долл., а те, кто купил Excel for Windows 2.1 в период с 7 декабря 1990 г. по 16 ап­ реля 1991 г., — всего за 50 долл. В этом году ожида­ ется такж е появление французской, немецкой, швед­ ской, итальянской, испанской и датской версий про­ дукта. Новый режим International Macro Sheets позво­ лит создавать макрокоманды, которые одинаково будут работать во всех версиях, независимо от страны-про­ изводителя. П родажа английской версии начинается в 19 странах мира.

N ew sbytes N ew s Network, 10 Jan, 1991 N ew sbytes N ew s Network, 23 Jan, 1991 Ф ирм а Microsoft выпустила версию 3.0 своей про­ граммы работы с таблицам и Excel. Она содержит ряд новых элементов, которые позволят серьезно потес­ нить конкурентов. Новая версия была одновременно продемонстрирована для работы в среде MS-DOS, O S /2 Presentation M anager и Macintosh. Среди более чем 100 новых режимов появились т а ­ кие, как возможность получения суммы ячеек в строке или столбце с помощью кнопки Autosum, подсказки для пользователей Lotus 1-2-3 и возможность построе­ ния трехмерных графиков, которые можно вращ ать прямо на экране. Кроме того, полностью поддерживается новый про­ токол связи и объединения объектов фирмы Microsoft (Object Linking an d Em bedding (O L E )), посредством которого прикладны е программы в среде Windows мо­ гут вызывать друг друга и передавать необходимые данные. Второй и последний на сегодняшний день п а­

КомпьютерПресс 2'91

Компания X T ree выпустила новую версию своей программы работы с дисками X TreeG old 2.0. Не отка­ зываясь от своей программы по охране окружающей среды, ф ирм а за каждую присланную ей регистраци­ онную карточку пользователя обещает посадить одно дерево. Ц ена пакета — 149 долл., для владельцев предыду­ щ их версий — 35 долл. Программа поставляется на дискетах размером 5.25 и 3.5 дю йма и работает на любых м аш инах PC XT, AT, P S /2 с ОЗУ емкостью 256 Кбайт и операционной системой, начиная с DOS 3.1.

N ew sbytes N ew s Network, 7 Jan, 1991 К .Ч ащ ин

_

_

_

_

_

_



_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

.

_

_

_

_

Советско-американское предприятие «Соваминко» Рекламно-издат ельское агент ст во «КомпьютерПресс»

Принимает заказы на журнал «КомпьютерПресс» и производит отправку наложенным платежом. Заказ высылает ся по адресу: 191186, Ленинград, Невский проспект, 28 м агазин № 1 «Дом книги»

От к о г о ..................................................................................... . .................... •



Адрес















.

Номера выпусков









































(пЪчпЪвь1й ЪнДекС уЪазЪтЛть 'о б й з а ^ л Ь н о )







*

*

*

*

......................... Количество экземпляров

На обратной стороне этой страницы помещен бланк заказа на сборник «КомпьютерПресс» Вы можете его вырезать и, заполнив, отправить в конверте по адресу: 113093, Москва, а /я 37. Подписка на 1991 г. принимается до 1 апреля 1991 г. Число экземпляров — без ограничений. Вы можете выписать журнал на полгода или на год. Стоимость годовой подписки — 48 рублей, полугодовой — 24 рубля. Деньги следует перечислить на расчетный счет агентства “КомпьютерПресс*1. Б анковские реквизит ы :

получатель: Автобанк (для зачисления на счет № 345708) расчетный счет получателя: № 161202 банк получателя: ЦОУ при Госбанке СССР. МФО № 299112. Копию платежного документа необходимо приложить к бланку заказа. Без одновременной оплаты подписной стоимости заказ “КомпьютерПресс** наложенным платежом не высылаются.

не принимается.

Издания агентства

Образец заполнения платежного поручения для предприятий и организаций 0401002

ПЛАТЕЖНОЕ ПОРУЧЕНИЕ № 199

г. ДЕБЕТ

1 i v ia 1

Г....

1

Банк плательщ ика

в г.

1------- :—

сч. №

А в т о б а н к (для за ч и сл ен и я - н а сч ет 343 /и в )

П олучатель

Сумма

48-00

КРЕДИТ сч. №

161202

Ц О У при Г о сб а н к е С С С Р Й г М оскве М Ф О N° 299112

Банк получателя

п очтой -телеграф ом (нуж ное подчеркнуть)

пеня за из М Р. сумма с пеней

Сумма прописью

Назначение платежа

л о о п и ск а на соорник

К ом п ью т ерП ресс

Вид опер. Назн. плат. Срок плат. Очер. плат № гр . банка

М.П.

Проведено банком Подписи клиента

199

г.

Подписи банка

ЗАКАЗ От кого______________________________________________________ А дрес________________________________________________________ (П О Ч Т О В Ы Й И Н Д Е К С У К А З Ы В А Т Ь О Б Я З А Т Е Л Ь Н О )

Прошу оформить подписку на 1991 год Подписная плата в сумме_________________________________

перечислена

платежным поручением (почтовым переводом) № _______ от

1991 г.

(Копия платежного документа прилагается)

Фирма Delta Group - крупнейший поставщик оборудования Hewlett-Packard в СССР. Всегда на нашем консигна­ ционном складе в Москве: ■ Графопостроители ■ Лазерные принтеры ■ Сканеры ■ Персональные компьютеры ■ Сетевые продукты ■ Расходные материалы

/

\

DELTA GROUP ________________________

D e lta G roup G e s.m .b .H ., А в с т р и я . К о м м ер ч е ск и й и Т ех н и ч еск и й ц ен т р в М о с к в е ул. О си п ен к о , д .15, к о р .2, о ф ф .2 0 7 . Т ел. 2 3 0 .5 6 .1 2 . Ф а к с .2 3 0 .2 1 .8 2

МАЛОЕ ПРЕДПРИЯТИЕ ’’ ИНФОРМАТИКА” УЧРЕДИТЕЛЬ — ИНСТИТУТ ПРОБЛЕМ ИНФОРМ АТИКИ АКАДЕМ ИИ НАУК СССР 1. Предлагает чение:

Вам

следующее

программное

обеспе­

- си сте м у л о ги ч е с к о го п р о гр а м м и р о в а н и я МПРОЛОГ ; - те хн о л о ги ч е ски й модуль о б ь е ктн о -о р и е н т и р о в а н н о го п р о ­ гр а м м и р о в а н и я ; - тексто вы й п р о ц е с с о р "М а р т и н а ” ; - б азовы е п р о гр а м м н ы е ср е д ств а для и ссл ед ован ия м н о го ­ м ерны х сто ха сти ч е си х си сте м , в том числе интеллектуализированны е пакеты прикладны х пр о гр а м м ; - инструм ентальны е ср е д ств а для созд ани я экспертны х си сте м ; - о р и ги н а л ь н ую инструм ентальную си сте м у PTUTOR для б ы с тр о го созд ани я об учаю щ их п ро гра м м по лю бы м п р о гр а м ­ мным систе м а м ; - д р уго е п р о гр а м м н о е о б е сп е че н и е .

Цена 3.15

2. Разрабатывает программное обеспечение ’’под в том числе:

ключ”,

- прикладны е эксп е р тн ы е си сте м ы ; - прикладны е про гра м м ы в о б ь е к тн о -о р и е н ти р о в а н н о й среде п р о гр а м м и р о в а н и я ; - п р о гр а м ы , и спол ьзую щ и е сто ха сти ч е ски е м одели; - об учаю щ ие про гра м м ы для лю б ы х п р о гра м м ны х систем ; - д р уго е п р о гр а м м н о е о б е сп е ч е н и е ; 3.

Проводит консультации и лекции по

- л о ги ч е ско м у п р о гр а м м и р о в а н и ю ; - о б ь е к тн о -о р и е н ти р о в а н н о м у п р о гр а м м и р о в а н и ю ; - по ста ти сти че ски м осно вам авто м а ти за ц и и , управления и инф орм атики; - по и сп о л ь зо в а н и ю сто хастич ески х м оделей для описания п р о ц е с с о в в различны х прикладны х областях; - по автом ати зац и и научны х и ссл е д о в а н и й и технологических процессов; - по различны м СУБД; - по д р уги м направлениям и нф орм ати ки ; Л екции и консул ьтац ии м огут быть провед ены на Вашем п р е д п р и я ти и без отры ва от п р о и зво д ства . 4. Составляет аналитические обзоры и обзоры литера­ туры по различным направлениям информатики.

Заявки направлять письменно по адресу: 3 0 /6 ,

117900, М осква В -3 3 4 , ул. В авилова, д. МП "И н ф о р м а ти ка ”

ИПИ АН СССР,