Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Аверянов Основы современной информатики 2007

.pdf
Скачиваний:
72
Добавлен:
16.08.2013
Размер:
7.31 Mб
Скачать

BIO.COM), так называемую базовую систему ввода-вывода с программным обслуживанием периферийных устройств (расширение и исправление BIOS), а также файл MS DOS.SYS (IBM DOS.COM),

содержащий программы управления файлами, памятью, запуском программ и т.д. (этот файл иногда называется модулем управления прерываниями, поскольку обращение к программным средствам (функциям DOS) из программы пользователя осуществляется с помощью программных прерываний);

файл COMMAND.COM, или командный процессор (интерпретатор), в функции которого входит прием, проверка команд, вводимых пользователем с клавиатуры, и их выполнение (существует три категории команд DOS – резидентные или внутренние, постоянно находящиеся в ОП, полурезидентные, которые могут (по мере необходимости) «затираться» прикладными программами, и внешние, вызываемые по мере необходимости из внешней памяти).

Подробное описание MS-DOS различных версий с перечнем команд и правилами их использования широко представлены в различной литературе.

Появившаяся в 1981 г. для IBM PC операционная система DOS предоставляла небывалые по тем временам возможности в мире микрокомпьютеров (если учесть что ОП, которая даже для миникомпьютеров по тем временам традиционно равнялась 64 Кбайт, была превышена на порядок, а объем дисковой памяти от сотен килобайт был доведен до десятков мегабайт). Казалось, что ОП в 640 Кбайт хватит на несколько десятков лет. Однако прогресс технических средств превзошел все мыслимые прогнозы.

Уже появление в 1984 г. процессора Intel-80286, обеспечивающего адресацию 16 Мбайт ОП, аппаратную поддержку механизма виртуальной памяти для доступа к 1 Гбайту внешней памяти, аппаратную поддержку механизма мультизадачного режима с возможностью взаимоизоляции ресурсов и взаимодействия задач (процессов), выявило ограниченные возможности 16-разрядной DOS в эффективной поддержке новых технических средств. DOS обеспечивает прямую адресацию не более 1 Мбайта и абсолютно не подготовлена к мультизадачному режиму работы. Дальнейшее развитие DOS связано с попыткой преодолеть эти ограничения, однако изначально заложенные программы значительно снижали эффективность использования новых ресурсов МП, связанных с много-

231

задачностью и использованием оперативной и внешней памяти большого объема.

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

UNIX – рекордсмен-долгожитель среди всех существовавших и всех существующих ОС.

Появление UNIX было вполне закономерным. В конце 60-х годов у всех крупных конструкторов компьютеров имелись мощные многозадачные, многопользовательские ОС в результате их непрерывного совершенствования. Они постоянно модернизировались по мере развития технических средств и появления новых приложений. После многих лет усовершенствований функциональные возможности этих систем значительно изменились, однако их исходная структура сохранилась и становилась все большим препятствием на пути модернизации всей системы. К тому же написанные на Ассемблере эти ОС могли использоваться только на одном типе компьютеров.

В1969 г. Томсон и Ричи – два программиста фирмы Bell Laboratories, филиала могущественной корпорации American Telephon & Telegraph (AT & T) решили создать для внутренних нужд своей фирмы совершенную ОС, простую в использовании, одним словом «дружескую», и как можно меньше зависящую от типа ЭВМ, на которой она будет работать. Специально для этих целей Денис Ричи разработал язык С. Так и появилась ОС UNIX. Первоначально эта система разрабатывалась для больших ЭВМ. Внедрение UNIX в ПК связано с новыми возможностями и увеличением мощности микропроцессоров, начиная с модели 80386 и выше. Наибольшее распространение эти ОС получили в классе 32- и 64-разрядных рабочих станций, серверов и суперсерверов. С учетом заметной тенденции к слиянию этих классов ЭВМ движение системы UNIX на «смежную» территорию ПК выглядит закономерным.

Вчем же причины популярности UNIX?

1. Код системы на 80 – 90 % написан на языке С (≈ 10000 строк на С и 1000 строк ASS), что сделало ее простой для понимания,

232

изменений и переноса на другие платформы. По оценкам одного из создателей UNIX, Дениса Ричи, система на языке С имела на 20 – 40 % больший размер, а производительность ее была на 20 % ниже аналогичной системы, написанной на Ассемблере. Однако ясность и переносимость (а в результате – и открытость системы) сыграли решающую роль в ее популярности. Система легко расширяема и настраиваема.

2.UNIX – многозадачная многопользовательская система с широким спектром услуг Один мощный сервер может обслуживать запросы большого количества пользователей, выполняя различные функции: работать как вычислительный сервер, обслуживать сотни пользователей как сервер баз данных, как сетевой сервер, поддерживающий важнейшие приложения в сети (telnet, ftp, электронную почту, службу имен DNS и т.д.), может использоваться и как сетевой маршрутизатор.

3.Наличие стандартов (несмотря на многообразие версий UNIX основой всего семейства являются принципиально одинаковая архитектура и ряд стандартных интерфейсов) позволяет обслуживать различные версии без большого труда опытным администраторам, пользователям переход на другою версию и вовсе может оказаться незаметным.

4.Используется единая, легко обслуживаемая файловая система (основные концепции которой в дальнейшем использовались и в ОС ПК). Файловая система – не только доступ к файлам, хранящимся на диске. Через унифицированный интерфейс файловой системы осуществляется доступ к терминалам, принтерам, магнитным лентам, сети и даже памяти.

5.Семейство протоколов TCP/IP, стандартизованных в 1983 г. и являющихся основными протоколами ГВС Internet, было разработано в 70-х годах специально для ОС UNIX.

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

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

8.Имеется очень большое количество приложений, в том числе свободно распространяемых, начиная от простейших текстовых

233

редакторов и заканчивая мощными системами управления базами данных.

UNIX, как и любая многопользовательская система, имеет ряд характерных особенностей, отличных от традиционных локальных ОС ПК, связанных с различными уровнями защиты системы.

7.3. Инструментальное программное обеспечение ПК

На ПК, совместимых с IBM PC, реализованы практически все широко распространенные языки программирования, а многие из них имеют несколько независимых реализаций. Следует отметить ряд специфических особенностей инструментального обеспечения ПК. Как уже отмечалось, реализация языков – интегрированная среда, в которой кроме традиционных программ трансляторов и компоновщиков имеются обширные средства поддержки процесса разработки ПО. Эти среды имеют современный графический пользовательский интерфейс, удобные диагностические средства и многое другое.

Фирмы-разработчики, как правило, вводят дополнительные возможности для расширения функций тех или иных языков, значительно выходящих за рамки стандартов ASNI. По этим принципам разрабатываемые языки ПК нельзя считать машинно-незави- симыми в традиционном смысле этого понятия. Даже одни и те же языки, реализованные различными фирмами в различных средах, не являются совместимыми на одной и той же стандартной платформе ПК.

Однако такая несовместимость не является столь актуальной, как это было прежде. Массовое распространение и простота инсталляции любой требуемой среды значительно снижает актуальность несовместимости.

Следует, тем не менее, отметить, что освоение современных инструментальных средств, а также особенностей различных версий одной и той же среды составляет немалую «головную боль» для пользователей.

Как и прежде, на сегодняшний день наиболее распространенными являются два семейства языков, выпускаемых фирмами Microsoft и Borland.

234

Среди первых версий семейство языков фирмы Microsoft имеет: макроассемблер MASM;

MS Fortran; MS С;

MS Pascal;

MS Basic.

Стартовое семейство языков программирования фирмы Borland имеет:

макроассемблер TASM; Turbo С;

Turbo C++;

Turbo Basic;

Turbo Prolog;

Borland C++.

Из многочисленных менее популярных других языков программирования можно назвать:

Mulisp фирмы Soft.house; Modula 2 фирмы Logitech; Ada фирмы Artek; Smalltalk фирмы Digitalk; Ada фирмы Alsys; MProlog фирмы Logicware.

Наиболее популярны и интенсивно развиваются традиционные языки программирования Бейсик, Паскаль, Си, разрабатываемые как фирмой Microsoft, так и фирмой Borland, а также поддерживаемый, в основном, фирмой Microsoft FORTRAN, который попрежнему остается основным языком научного программирования благодаря большому количеству библиотек научных расчетов.

Динамика развития этих языков для ПК IBM и традиционные их функциональные возможности сближаются, а разговоры о модульности, структурированности и т.п. как о преимуществах некоторых из них (например, Паскаль) уже теряют смысл.

Все эти старые традиционные языки приобрели объектные черты, т.е. стали объектно-ориентированными. Первая объектноориентированная надстройка появилась у языка С. Затем как Microsoft, так и Borland взяли за основу Object Pascal от Apple (разра-

ботанный Никлаусом Виртом) и выпустили свои первые версии языков Quick Pascal и Turbo-Pascal. Значительное развитие получи-

235

ла инструментальная среда MS FORTRAN фирмы Microsoft, начальные версии которой имели скромные возможности. Microsoft FORTRAN Power Station наряду с полноценной реализацией объ- ектно-ориентированного стандарта Фортран-95 имеет широкий набор графических библиотек, удобную инструментальную среду и т.п. Характерным расширением этих языков для ПК IBM являлась их так называемая «визуальность», т.е. появление встроенных объектов для программирования пользовательских интерфейсов в сре-

де Windows.

Первой и очень удачной реализацией «визуальных» языков явился разработанный Microsoft язык Visual Basic. Для создания более сложных программных продуктов этой же фирмой был создан Visual С ++, однако более популярными оказались версии инструментальных сред, разработанные фирмой Borland.

Интегрированные среды на основе Delphi и C++ Builder, разработанные фирмой Borland, представляют новый уровень технологии разработки ПО. Общим для обеих этих сред является то, что средства объектно-ориентированного и визуального программирования дополнены средствами доступа к наиболее распространенным (как централизованным, так и распределенным) базам данных, включая продукт фирмы Borland-Inter Base. Так, в состав Delphi, основу которого составляет Turbo-Pascal, входят следующие компоненты:

мощная библиотека визуального программирования; встроенный компилятор Object Pascal;

локальная версия Inter Base и многое другое.

Borland Data Base Engine (BDE) – машина базы данных Borland,

организующая доступ к локальным таблицам в форматах Paradox, dBase, Inter Base, а также через модуль SQL-LINK (SQL-Structured Query Language – язык структурированных запросов) доступ к

SQL-серверам, таким, как Informix, Oracle, Sybase, MS-SQL и др. C++ Builder – аналогичная интегрированная инструментальная

среда для разработки более сложных приложений. Так же, как и в Delphi, язык C++ дополнен средствами разработки графических интерфейсов и так же, как и в среде Delphi, с помощью BDE организована связь с наиболее распространенными локальными и распределенными базами данных.

236

Развитие сетевых информационных технологий привело в рамках инструментальных средств ПО ПК к дальнейшему совершенствованию средств сетевого программирования. Основным языком сетевого программирования является C++, сетевые вариации которого зачастую связаны с его упрощением и включением специфических функций.

Достаточно распространен разработанный на фирме SUN язык Java, в то же время Microsoft предлагает С# (Си-диез) – простой объектно-ориентированный язык, напоминающий C++ и Java. Трансляторы Java и C# используют промежуточный код и считаются платформенно-независимыми.

Для создания гипертекстовой информации используется язык HTML и его дальнейшее развитие в виде языка XML. Совершенствование этого инструментария связано с созданием языков деск-

рипторного типа – VB Script (Visual Basic Script), JavaScript и т.п.

7.4. Пакеты прикладных программ

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

«Покрытие» предметной области осуществляют имеющиеся в пакете прикладные программы и базы предметных данных. Эти средства составляют функциональное наполнение пакета, которое отражает современный уровень знаний о предметной области и определяет потенциальные прикладные возможности пакета. Системное наполнение пакета предназначено для практической реализации его потенциальных возможностей и содержит многие сис-

237

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

Одним из широко используемых ППП является математически ориентированный универсальный пакет Mathcad, предназначенный длямассового пользователя самойразличной квалификации [6]. Пакет имеет ряд последовательных версий, первая из которых разработана в середине 80-х гг.; две из последних версий– Mathcad 8 PRO иMathcad 2000 PRO (Mathcad PRO – сокращение от слов MATHematics for Computer Aided Design PROfessional). Упрощенная версия Mathcad 2000 Standard пригодна для большинства пользователей и учебных целей, а расширенная версия Mathcad 2000 Premium – для профессиональных математиков и ученых. Mathcad – интегрированный пакет, т.е. он может объединяться с другими математическими и графическими системами (пакетами) для решения сложных задач. Имеет удобный пользовательский интерфейс со многими окнами, кнопками, мышью, средствами управления курсором, вид которого можно изменять, и другими элементами. Решение описывается с помощью привычных математических знаков (сумм, интегралов, корней и т.д.) и формул: например, умножение указывается точкой, а не звездочкой, деление – прямой чертой, а не наклонной, как в языках программирования. Начиная с версии 3.0 включена символьная (аналитическая) математика, а начиная с версии 4.0 – это 32-разрядная система, которая, следовательно, может работать с микропроцессорами Pentium, Pentium Pro с высоким быстродействием.

Пакет функционирует в среде Windows и может использовать все возможности этой операционной системы: работать с любыми принтерами и разными шрифтами, стилем и размером которых можно управлять, с латинскими, русскими, греческими буквами и любыми символами. Имеются эффективные средства оформления документов в цвете: создания анимационных (движущихся) графиков и рисунков со стереозвуковым сопровождением; красочного выделения отдельных формул; вращения трехмерных рисунков мышью; подготовки гипертекстов, гипермедиа и высококачествен-

238

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

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

VISIO, AutoCAD, PCAD, TurboCAD и т.п. Имеются механизм об-

мена объектами OLE; выход в Internet; проверка орфографии; содержатся средства для построения графиков и диаграмм различной формы, изменения масштабов документов, форматирования объектов (текста, графиков, формул), создания скрытых и невидимых частей документов.

Встроенный в пакет мощный символьный процессор позволяет выполнять многие символьные операции: дифференцирование, интегрирование, суммирование, разложение в ряды, упрощение формул, решение алгебраических и дифференциальных уравнений, преобразования Фурье, Лапласа и др. Имеется много встроенных функций и готовых для вычисления математических методов по обработке данных, статистике, регрессионному анализу, решению нелинейных уравнений, оптимизации, преобразованию Фурье и др. Богатые возможности пакета Mathcad позволяют с его помощью готовить отчеты, статьи, диссертации, проекты, книги и другие материалы по многим темам.

Не менее популярным является пакет прикладных программ MATLAB (сокращение от слов MATrix LABoratory), фактически представляющий собой объединение нескольких пакетов в единую систему. Первоначальная версия системы разработана в начале 80- х гг., затем был создан ряд все более мощных версий (некоторые из последних версий – MATLAB 5.3 и MATLAB 6.0). Первая версия была написана на языке Фортран, более поздние версии на С. Имеется специальная упрощенная, «студенческая», версия системы

239

«The Student Edition of MATLAB» с меньшими возможностями, но зато пригодная для недорогих компьютеров с ограниченными ресурсами.

Первоначально пакет MATLAB, как видно из названия, предназначался, в основном, для решения задач линейной алгебры и других задач, в которых все величины удобно представлять в виде матриц и векторов. Но в результате многих усовершенствований и переработок современный пакет MATLAB пригоден для решения широкого спектра задач в самых различных областях науки, техники, образования. Характерная особенность пакета — все величины рассматриваются как прямоугольные числовые массивы (скаляры, векторы, матрицы), возможно, с комплексными элементами, для которых не требуется указывать размерность явно. Так, если а, b, c – матрицы, x, y – векторы, то выражения a + b, a * b, a * x

означают соответствующие операции над матрицами и векторами, а^p – возведение матрицы а в степень р (причем показатель степени р – необязательно целое число), а– транспонирование матрицы, х– транспонирование вектора, а^(-1) – обращение матрицы, х = а^(-1) * у – решение системы линейных алгебраических уравне-

ний вида а * х = у, х* у – скалярное произведение векторов х и у и

т.д. Если, например, записать: b = f(a), где f – некоторая функция, то будет вычислена матрица b, элементы которой являются функцией f от соответствующих элементов матрицы a. Истолкование формул как векторно-матричных очень упрощает и сокращает запись алгоритмов решения множества задач, задачи можно формулировать в привычной математической форме.

Наиболее распространенные области применения системы MATLAB – символьная и вычислительная математика, разработка алгоритмов, вычислительный эксперимент (математическое моделирование), анализ и обработка данных, исследование и графическое представление результатов, научная и инженерная графика, разработка удобного пользовательского интерфейса. С помощью пакета MATLAB можно выполнять решение нелинейных (трансцендентных) уравнений и задач оптимизации, разностных и обыкновенных дифференциальных уравнений (в том числе жестких), систем линейных уравнений (в том числе переопределенных). Возможно вычисление ранга, чисел обусловленности и собственных значений мат-

240