Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Вычислительные системы: состав и свойства

Содержание:

ВВЕДЕНИЕ

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

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

Указанное обстоятельство было учтено при написании данной работы, которая состоит их двух глав.

В первой главе рассматривается аппаратная часть, состав вычислительных систем, описываются виды ЭВМ и компьютеров. Анализируются типы построения, преимущества и недостатки различных конфигураций вычислительных систем перед другими разновидностями вычислительной техники, их свойства и цели создания.

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

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

Глава 1 Состав и свойства вычислительных систем

1.1 Электронные вычислительные машины и компьютеры

Электронные вычислительные машины (ЭВМ) – комплекс технических средств, где основные функциональные элементы (логические, запоминающие, индикационные и др.) выполнены на электронных компонентах, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач [[1]]. Критерием деления вычислительных машин является форма представления информации, с которой они работают.

По принципу действия ЭВМ классифицируются на аналоговые, цифровые и гибридные [[2]].

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

Цифровые вычислительные машины (ЦВМ) обрабатывают информацию, представленную дискретными данными – числами.

Гибридные вычислительные машины работают с информацией, представленной как в цифровой, так и в аналоговой форме. Они совмещают в себе достоинства ЦВМ и АВМ.

По размерам вычислительной мощности ЭВМ разделяют на четыре типа: сверхбольшие, большие, средние, микро-ЭВМ [[3]].

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

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

Средние (мини ЭВМ) – отличаются надежностью, дешевизной и удобством в эксплуатации. Такие ЭВМ обладают более низкими по сравнению с мини ЭВМ возможностями. Они используются для управления технологическими процессами.

Микро-ЭВМ – это наиболее многочисленный и разнообразный вид ЭВМ.

Среди них выделяют:

  • микроконтроллеры – микро-ЭВМ, выполненные в виде одной микросхемы. Применяются для автоматизации не сложных электронных устройств;
  • рабочие станции – абонентские пункты, ориентированные на работу профессиональных пользователей с сетевыми ресурсами;
  • серверы — это вычислительные машины и системы, управляющие определенным видом ресурсов сети (файл-серверы, серверы приложений, факс-серверы, почтовые, коммуникационные, Web-серверы).

ЭВМ используется как один из способов реализации компьютера. На английском слово computer произошло от слова compute – считать, вычислять.

Компьютер – это устройство или система, способное выполнять заданную, чётко определённую изменяемую последовательность операций [[4]]. Прибор, предназначенный для автоматизации создания, хранения, обработки и транспортировки данных [[5]].

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

Основными блоками компьютера являются: материнская (системная) плата, процессор, системная шина, основная память, внешняя память, источник питания, таймер, внешние устройства [[6]].

Системная плата – основной аппаратный компонент компьютера, где реализована магистраль обмена информацией.

Процессор – основной вычислительный блок компьютера, который содержит важнейшие функциональные устройства:

  • устройство управления с интерфейсом процессора (системой сопряжения и связи процессора с другими узлами машины);
  • арифметико-логическое устройство (АЛУ);
  • процессорную память.

Системная шина – основная интерфейсная система компьютера, соединяющая все его устройства между собой.

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

ПЗУ – предназначено для хранения неизменяемой (постоянной) программной информации. Позволяет оперативно только считывать информацию, хранящуюся в нем (изменить информацию в ПЗУ нельзя);

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

Внешняя память – используется для долговременного хранения любой информации, которая может когда-либо потребоваться для решения задач. Внешняя память может быть представлена разнообразными видами запоминающих устройств: накопители на магнитных дисках (НМД), на оптических дисках (НОД), на флэш – дисках, твердотельных накопителях (англ. Solid-state drive, SSD) — компьютерное немеханическое запоминающее устройство на основе микросхем памяти.

Источник питания – блок, содержащий системы автономного и сетевого электропитания ПК.

Таймер – системные электронные часы реального времени, обеспечивающие, при необходимости, автоматический съем текущего момента времени.

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

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

На системной плате размещаются:

  • микропроцессор;
  • системные микросхемы (чипсеты);
  • генератор тактовых импульсов;
  • модули (микросхемы) ОЗУ и ПЗУ;
  • адаптеры клавиатуры, НЖМД, НГМД;
  • таймер и др.

Также распространены компьютеры – моноблоки.

Моноблок – это компьютер, собранный в одном корпусе с монитором. В настоящее время, когда используются большие плоские ЖК-панели, моноблок внешне очень похож на монитор, но имеет больше органов управления [[7]].

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

1.2 Вычислительные системы

Термин вычислительная система появился в начале – середине 60-х годов при появлении ЭВМ третьего поколения. Это время знаменовалось переходом на новую элементную базу – интегральные схемы. Следствием этого явилось появление новых технических решений: разделение процессов обработки информации и ее ввода – вывода, множественный доступ и коллективное использование вычислительных ресурсов в пространстве и во времени. Появились сложные режимы работы ЭВМ – многопользовательская и многопрограммная обработка [[8]].

С 2011 года развитие вычислительных систем связано с шестым поколением техники, которое подразумевает электронные и оптоэлектронные многоядерные компьютеры с массовым параллелизмом, нейронной структурой, с распределенной сетью большого числа (десятки тысяч) микропроцессоров, моделирующих архитектуру нейронных биологических систем, распознающие сложные образы [[9]].

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

Отличительной особенностью вычислительных систем по отношению к ЭВМ является наличие в них нескольких вычислителей, реализующих параллельную обработку данных.

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

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

1.3 Классификация вычислительных систем

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

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

Рис. 1.1 – Вычислительная система [[11]]

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

Подробнее, программное обеспечение (средства), как основную часть математического обеспечения рассмотрим во второй главе. В этой главе, так как будем обращаться к этому термину, дадим его определение.

Программное обеспечение – это совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ. В свою очередь, программы – это упорядоченные последовательности команд, конечная цель которых – управление аппаратными средствами.

Взаимодействие аппаратного и программного обеспечения осуществляется через аппаратно-программный интерфейс, под которым понимают совокупность унифицированных технических средств, разъёмов и прочего оборудования, необходимых для сопряжения устройств в вычислительной системе и программных средств, таких как операционная система, драйверы, утилиты и т.п. Данный интерфейс представляет собой способы взаимодействия двух систем – устройств и программ для обмена информацией между ними.

Аппаратные средства (аппаратное обеспечение) – это электронные и механические части вычислительного устройства, входящие в состав системы.

Аппаратное обеспечение включает: компьютеры, ЭВМ и логические устройства, внешние устройства и диагностическую аппаратуру, источники питания.

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

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

По способу расположения устройств относительно центрального процессорного устройства (ЦПУ – Central Processing Unit, CPU) различают внутренние и внешние устройства. Внешними, как правило, являются большинство устройств ввода – вывода данных (периферийные устройства) и устройства, предназначенные для длительного хранения данных. Позже мы рассмотрим более детально организацию хранения данных.

По назначению вычислительные системы делят на универсальные и специализированные.

Универсальные системы предназначены для решения широкого спектра задач. Специализированные же системы применяются для решения узко ориентированного класса задач.

По типу построения вычислительные системы разделяются на:

  • многомашинные – это когда вычислительные системы строятся на базе нескольких компьютеров;
  • многопроцессорные – это когда вычислительные системы строятся на базе нескольких процессоров.

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

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

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

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

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

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

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

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

Примером многомашинных вычислительных систем могут служить компьютерные сети, примером многопроцессорных – суперкомпьютеры.

По типу ЭВМ или процессоров, используемых для построения вычислительных систем, различают однородные и неоднородные системы.

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

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

По методам управления элементами вычислительной системы различают централизованные, децентрализованные и со смешанным управлением.

В централизованных вычислительных системах за управление отвечает главная ЭВМ (процессор). Ее задачей является распределение нагрузки между элементами, выделение ресурсов, контроль состояния ресурсов, координация взаимодействия. Централизованный орган управления в системе может быть жестко фиксирован, либо эти функции могут передаваться другой ЭВМ (процессору). Это способствует повышению надежности системы.

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

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

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

По степени территориальной разобщенности вычислительных модулей вычислительные системы делятся на системы:

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

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

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

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

Параллельные интерфейсы обычно имеют более сложное устройство, чем последовательные, но обеспечивают более высокую производительность. Производительность параллельных интерфейсов измеряют байтами в секунду (байт/с; Кбайт/с; Мбайт/с).

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

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

Масштабируемость (Scalability) – способность вычислительных систем к наращиванию и сокращению ресурсов, возможность варьирования производительности.

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

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

Универсальность – это такие вычислительные системы, когда они алгоритмически и структурно универсальны. ЭВМ, основанные на модели вычислителя алгоритмически универсальны, если они обладают способностью реализовать алгоритм решения любой задачи без изменения своих структур. С другой стороны, вычислительная машина – это коллектив вычислителей, каждый из которых обладает алгоритмической универсальностью, следовательно, и система универсальна.

В вычислительных системах могут быть реализованы не только любые алгоритмы, доступные ЭВМ, но и параллельные алгоритмы решения сложных задач. Последнее следует из определений модели коллектива вычислителей и, в частности, алгоритма функционирования вычислительной системы [[12]].

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

По режиму работы вычислительные системы различают [[13]]:

  • мультипрограммирование;
  • режим реального времени;
  • однопрограммный режим работы;
  • мультипрограммный режим работы;
  • режим пакетной обработки;
  • режим коллективного доступа.

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

Режим реального времени – режим обработки данных, при котором обеспечивается взаимодействие вычислительной системы с внешними по отношению к ней процессами в темпе, соизмеримом со скоростью протекания этих процессов. Этот режим обработки данных широко используется в системах управления и информационно – поисковых системах.

При однопрограммном режиме работы вычислительной системы аппаратные средства ЭВМ совместно с программным обеспечением образуют вычислительную систему. В однопрограммном режиме работы в памяти ЭВМ находится и выполняется только одна программ. Такой режим обычно характерен для микро-ЭВМ и персональных ЭВМ, то есть для ЭВМ индивидуального пользования.

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

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

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

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

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

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

Суперкомпьютерами принято называть вычислительные системы огромной производительности, которые состоят из большого количества вычислительных узлов, объединенных в единый ресурс. К примеру, огромного ресурса вычислительных мощностей требует прогноз погоды — как раз для этой цели Гидрометцентр России использует 30-тонный суперкомпьютер с производительностью вычислений 27 терафлоп [[14]].

Суперкомпьютеры создаются в виде высоко-параллельных многопроцессорных вычислительных систем [[15]].

Высоко-параллельные многопроцессорные вычислительные системы бывают нескольких разновидностей: магистральные, векторные, матричные, кластерные [[16]].

Магистральные, также конвейерные – системы с многократным потоком команд и однократным потоком данных (МКОД или MISD – Multiple Instruction Single Data). У них процессор одновременно выполняет разные операции над последовательным потоком обрабатываемых данных.

Векторные – системы с однократным потоком команд с многократным потоком данных (ОКМД или SIMD – Single Instruction Multiple Data), у которых все процессоры одновременно выполняют одну команду над различными данными.

Матричные – системы с многократным потоком команд с многократным потоком данных (МКМД или MIMD – Multiple Instruction Multiple Data), у которых микропроцессор одновременно выполняет разные операции над последовательными потоками обрабатываемых данных.

В суперкомпьютере используются все три варианта архитектуры:

  • структура MIMD в классическом ее варианте;
  • параллельно-конвейерная модификация, MMISD, то есть многопроцессорная (Multiple) MISD – архитектура;
  • параллельно-векторная модификация, MSIMD, то есть многопроцессорная SIMD – архитектура.

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

Важной особенностью кластеров является обеспечение доступа любого сервера к любому блоку как оперативной, так и дисковой памяти. Данная задача решается путем объединения систем SMP – архитектуры на базе автономных серверов для организации общего поля оперативной памяти и использованием дисковых систем RAID для памяти внешней (SMP – Shared Memory multiprocessing, технология мультипроцессирования с разделением памяти).

Достоинствами кластерных суперкомпьютерных систем являются:

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

В свою очередь, среди недостатков кластерных суперкомпьютерных систем можно выделить:

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

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

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

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

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

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

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

Глава 2 Информационное и математическое обеспечение вычислительных систем

2.1 Информационное обеспечение вычислительных систем

Под информационным обеспечением понимают совокупность программ и предварительно подготовленных данных, необходимых для работы данных программ, включающее массивы данных, средства их описания, сбора, хранения и выдачи [[17]].

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

Главным атрибутом данного обеспечения является информация, которая заранее закодирована в вспомогательных программах. Пример информационного обеспечения – современная система машинного текстового перевода Google Translate. Особенностью переводчика является метод перевода, который основан на поиске соответствий языка между переводимым текстом и гигантским массивом сервиса, который состоит из слов, вносимых пользователем ранее во время их перевода. В настоящий момент известно, что Google Translate обладает более чем триллионом слов [[18]]. Также можно привести другие примеры, такие как системы распознавания речи и команд Siri от Apple, Алиса от Яндекса.

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

По составу информационное обеспечение вычислительных систем подразделяется на внешнемашинное и внутримашинное.

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

Кодирование информации – это процесс формирования определенного представления информации. Под термином «кодирование» часто понимают переход от одной формы представления информации к другой, более удобной для хранения, передачи и обработки. Длина кода – это количество знаков, которое используется для представления кодируемого символа [[19]].

Цель кодирования информации – повышение скорости передачи и обработки данных, защита информации от искажений, надежное хранение информации, удобство физической реализации [[20]].

Компьютер в вычислительной системе может обрабатывать только информацию, представленную в числовой форме. Вся другая информация (звуки, изображения, показания приборов и т.д.) для обработки на компьютере должна быть преобразована в числовую форму [[21]].

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

Вследствие технических особенностей компьютер применяет метод счета, в котором задействованы только две цифры 0 и 1. Например, до пяти он считает следующим образом: 1, 10, 11, 100, 101. Данные числа являются двоичными. Таким образом двоичное число 10 соответствует десятичному 2.

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

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

  • слово – 2 байта или 16 бит;
  • двойное слово – 4 байта или 32 бита;
  • учетверенное слово – 8 байт или 64 бита;
  • параграф – 16 байт.

Двоичные числа обладают существенным недостатком – выглядят они слишком длинно и громоздко. Для этого были введены шестнадцатеричные числа, которые предназначены для более компактного записывания двоичных чисел.

В технической документации, электрических схемах и программах могут применяться разные способы представления чисел:

Двоичные (binary) числа – каждая цифра означает значение одного бита (0 или 1), старший бит всегда слева, после числа ставится бука «b». Например, 1010 0101b.

Шестнадцатеричные (hexadecimal) числа – каждая тетрада представляется одним символом 0, ..., 9, А, В, ..., F. Такое представление может обозначаться по-разному. Например, число A5h может быть и как 0хА5, в зависимости от синтаксиса программирования. Незначащий ноль (0) добавляется слева от старшей шестнадцатеричной цифры, изображаемой буквой, чтобы различать числа и символические имена.

Десятичные (decimal) числа – каждый байт (слово, двойное слово) представляется обычным числом, а признак десятичного представления (букву «d») обычно опускают. Байт из предыдущих примеров имеет десятичное значение 165. В отличие от двоичной и шестнадцатеричной форм записи по десятичной трудно в уме определить значение каждого бита, что иногда приходится делать.

Восьмеричные (octal) числа – каждая тройка бит (разделение начинается с младшего) записывается в виде цифры 0 – 7, в конце ставится знак «0». То же самое число будет записано как 245о. Восьмеричная система неудобна тем, что байт нельзя разделить поровну, но зато цифры привычные [[22]].

В качестве международного стандарта для кодирования символов принята кодовая таблица ASCII (American Standard Code for Information Interchange), которая кодирует первую половину символов с числовыми кодами от 0 до 127. При этом коды от 0 до 32 отведены функциональным клавишам.

Национальные стандарты кодировочных таблиц включают международную часть кодовой таблицы без изменений, а во второй половине содержат коды национальных алфавитов, символы псевдографики и некоторые математические знаки. В настоящее время существуют пять различных кодировок кириллицы (КОИ8-Р, Windows. MS-DOS, Macintosh и ISO), что вызывает дополнительные трудности при работе с русскоязычными документами [[23]].

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

Большинство данных в ЭВМ имеют организацию, которая получила название базы данных (БД). В целом отдельная база данных представляет собой таблицу данных.

База данных – файл данных, для определения и обращения, к которому используются средства управления базой данных. Также можно применить более объемное определение базы данных, что подразумевает собой самодокументированное собрание интегрированных записей.

База данных является самодокументированной (self-describing), если она содержит, в дополнение к исходным данным пользователя, описание собственной структуры. Это описание называется словарем данных (data dictionary), каталогом данных (data directory), метаданными (meta data) [[24]].

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

В зависимости от вида организации данных различают следующие основные модели представления данных в базе: иерархическую, сетевую, реляционную.

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

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

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

Банк данных — это система специальным образом организованных данных, а также технических, программных, языковых и организационно – методических средств, предназначенных для коллективного использования пользователями при решении разных задач.

Основные требования, предъявляемые к банкам данных:

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

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

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

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

Главной характеристикой накопителей является емкость хранения, измеряемая в килобайтах (КБайт), мегабайтах (МБайт), гигабайтах (ГБайт) и терабайтах (Тбайт).

Существуют следующие основные файловые системы: FAT, NTFS, HPFS, ОС UNIX, файловые системы CD-ROM [[26]].

Файловая система FAT: FAT32 – замена FAT16. Файловая система FAT16 была разработана еще до создания MS DOS. Ее название – таблица расположения файлов (File Allocation Table). Отражает физическую организацию файловой системы, к основным характеристиками которой можно отнести максимальный размер поддерживаемого тома (жесткого диска или раздела на жестком диске), не превышающий 4095 Мбайт.

Среди преимуществ FAT16 можно отметить следующие:

  • поддерживается операционными системами MS DOS и всеми версиями Windows, а также операционными системами UNIX;
  • существует большое число программ, позволяющих исправлять ошибки в этой файловой системе и восстанавливать данные;
  • при возникновении проблем с загрузкой с жесткого диска система может быть загружена с флоппи – накопителя;
  • данная файловая система достаточно эффективна для томов объемом менее 256 Мбайт;

К основным недостаткам FAT16 относятся следующие:

  • корневой каталог не может содержать более 512 символов. Использование длинных имен файлов существенно сокращает число этих элементов;
  • FAT16 поддерживает не более 65 536 кластеров, а так как некоторые кластеры зарезервированы операционной системой, то число доступных кластеров составляет 65 524;
  • не поддерживается резервная копия загрузочного сектора;
  • не поддерживается встроенная защита файлов и их сжатие;
  • на дисках большого объема теряется много места за счет того, что используется максимальный размер кластера. Место под файл выделяется исходя из размера не файла, а кластера;

Основным отличием FAT 32 от FAT16 является изменение размера логического раздела диска. При этом, если при использовании FAT16 с 2-гигабайтными дисками требовался кластер размером в 32 Кбайт, то в FAT32 кластер размером в 4 Кбайта подходит для дисков объемом от 512 Мбайт до 8 Гбайт. Это соответствие означает более эффективное использование дискового пространства – чем меньше кластер, тем меньше места требуется для хранения файла и, как следствие, диск становится фрагментированным.

Среди преимуществ FAT32 можно отметить следующие:

  • выделение дискового пространства выполняется более эффективно, особенно для дисков большого объема;
  • корневой каталог в FAT32 представляет собой обычную цепочку кластеров и может находиться в любом месте диска;
  • за счет использования кластеров меньшего размера (4Кбайта на дисках объемом до 8 Гбайт) занятое дисковое пространство обычно 10 – 15% меньше, чем под FAT16;
  • является более надежной файловой системой. Загрузочная запись содержит ряд критичных для файловой системы данных;

Основные недостатки FAT32:

  • размер тома при использовании FAT32 под Windows 2000 ограничен 32 Гбайт;
  • тома FAT32 недоступны из многих операционных систем, которые поддерживают FAT;
  • не поддерживается резервная копия загрузочного сектора;
  • не поддерживается встроенная защита файлов и их сжатие.

Файловая система NTFS (New Technology File System) – надежность и безопасность. Данная система характеризуется рядом значительных усовершенствований и изменений, существенно отличающих ее от других файловых систем. Файлы также хранятся в каталогах, но в отличие от FAT, работа на дисках большого объема происходит намного эффективнее.

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

При проектировании системы NTFS уделили особое внимание на следующие характеристики.

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

Увеличенная функциональность и возможность расширения. Реализованы дополнительные возможности: отказоустойчивость, эмуляция других файловых систем, мощная модель безопасности, параллельная потоковая обработка данных, создание файловых атрибутов, определяемых пользователем.

Гибкость. Модель распределения дискового пространства в NTFS обладает большой гибкостью. Размер кластера может изменяться от 512 байт до 64 Кбайт. Он представляет собой число, кратное внутреннему кванту распределения дискового пространства. Размер тома в 2 Тбайта является практическим пределом для физических и логических томов NTFS.

При использовании томов в NTFS можно устанавливать права доступа, ограничения к файлам и каталогам. В Windows, начиная с 2000 версии появилось поддержка сжатие файлов и каталогов, расположенных на NTFS томах. Сжатые файлы доступны для чтения и записи любыми Windows – приложениями. Алгоритм сжатия в NTFS разработан с учетом поддержки кластеров размером до 4Кбайт. При большем размере кластера функции сжатия NTFS недоступны.

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

NTFS более сложная файловая система нежели FAT. В большинстве томов FAT расходуется менее 1 Мбайт на размещение информации обо всех томах. Столь низкие дополнительные расходы позволяют форматировать в FAT жесткие диски малого объема. В NTFS служебные файлы занимают больше места, чем в FAT. Система NFTS не может использоваться для форматирования флоппи-дисков.

Файловая система HPFS (High Performance File System) – новое решение, упор на скорость. Данная система создалась как система, которая может использовать преимущества многозадачного режима и обеспечивать более эффективную и надежную работу с файлами на дисках большого объема.

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

Размещение каталогов в середине дискового пространства. Использование методов бинарных сбалансированных деревьев для ускорения поиска информации о файле.

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

Файловая система UNIX имеет иерархическую структуру каталогов и файлов, включая корневой каталог. Если диск, где располагается файловая система достаточно велик, он может быть разбит на несколько логических дисков. Тогда на отдельном логическом диске может быть размещена отдельная файловая система. Каждая файловая система имеет четыре основные части.

Загрузочный блок – это первый блок диска (блок 0), зарезервированный для системной загрузочной программы.

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

Блоки – это блоки, которые занимают оставшееся пространство диска и содержат либо действительные данные каталогов и файлов (блоки данных), либо ссылки на блоки (косвенные блоки).

Файловая система оптических накопителей CD-ROM.

Файловая система CDFS (Compact Disc File System). При создании данной системы следует иметь в виду следующее: все имена каталогов и файлов должны содержать менее 32 символов и состоять только из символов верхнего регистра. Глубина каталогов не должна превышать 8 уровней от корня. Использование расширений имен файлов не обязательно.

Файловая система UDF (Universal Disk Format) – универсальный дисковый формат – спецификация формата файловой системы, независимой от операционной системы для хранения файлов на оптических носителях. Формат UDF призван заменить CDFS. CDFS имеет некоторые ограничения, которые делают его несовместимым с DVD, CDRW и другими форматами. UDF позволяет дозаписывать файлы на CD-R, CD-RW – дисках один файл одновременно, без существенных потерь дискового пространства, используя метод пакетной записи. Также учитывает возможность выборочного стирания некоторых файлов на перезаписываемых носителях CD-RW, освобождая место на диске. UDF также лучше подходит для DVD, так как имеет лучшую поддержку для дисков большого объема.

Поводя итог информационного обеспечения вычислительных систем хотелось бы отметить, что, в совокупности, данная система обязана создавать наилучшие условия для централизованной интегрированной обработки информации, обеспечить коллективный доступ к общим для многих пользователей данным, повысить надёжность и достоверность получаемой информации. Аппаратные средства должны обеспечивать сохранность информации, а программные – возможность восстанавливать в случае утери, либо ее порчи.

2.2 Математическое обеспечение вычислительных систем

Совокупность программного и информационного обеспечения называют математическим обеспе­чением. В энциклопедическом словаре термин «математическое обеспечение» расшифровывается как комплекс программ, описаний и инструкций, обеспечивающих автоматическое функционирование вычислительных систем (или ЭВМ). Примером математического обеспечения являются специализированные компьютерные системы, такие как бортовые компьютеры автомобилей, судов, ракет, самолётов, космических летательных аппаратов.

Математическое обеспечение бывает двух видов: общее и специальное.

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

Состав программного обеспечения вычислительной системы называют программной конфигурацией. Между программами, как и между физическими узлами и блоками существует взаимосвязь – многие программы работают, опираясь на другие программы более низкого уровня. Уровни программного обеспечения представляют собой пирамидальную конструкцию (Рис. 2.1):

Рис. 2.1 – Программное обеспечение [[27]]

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

Рассмотрим уровни программного обеспечения.

Базовый уровень – самый низкий уровень. Представляет базовое программное обеспечение. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Как правило, базовые программные средства непосредственно входят в состав базового оборудования и хранятся в специальных микросхемах, называемых постоянными запоминающими устройствами (ПЗУ – Read Only Memory, ROM). Программы и данные записываются («прошиваются») в микросхемы ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации. Иногда изменение базовых программных средств со временем является технически целесообразным. Тогда вместо микросхем ПЗУ применяют перепрограммируемые постоянные запоминающие устройства (ППЗУ — Erasable and Programmable Read Only Memory, EPROM). В этом случае изменение содержания ПЗУ можно выполнять.

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

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

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

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

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

Существует следующая классификация служебных программ:

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

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

Средства диагностики. Предназначены для автоматизации процессов диагностики программного и аппаратного обеспечения. Они выполняют необходимые проверки и выдают собранную информацию в удобном и наглядном виде. Их используют не только для устранения неполадок, но и для оптимизации работы вычислительной системы (примеры: Defragment and Optimize Drives).

Средства контроля, мониторинга. Они позволяют следить за процессами, происходящими в компьютерной системе.

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

Средства обеспечения компьютерной безопасности. К этой весьма широкой категории относятся средства пассивной и активной защиты данных от повреждения, а также средства защиты от несанкционированного доступа, просмотра и изменения данных (примеры: McAfee, Kaspersky).

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

Существует следующая классификация прикладного уровня:

Текстовые редакторы. Основные функции этого класса прикладных программ заключаются в вводе и редактировании текстовых данных. Дополнительные функции состоят в автоматизации процессов ввода и редактирования. Для операций ввода, вывода и сохранения данных текстовые редакторы вызывают и используют системное ПО (пример: Notepad).

Текстовые процессоры. Основное отличие текстовых процессоров от текстовых редакторов в том, что они позволяют вводить, редактировать, форматировать текст. К основным средствам текстовых процессоров относятся средства обеспечения взаимодействия текста, графики, таблиц и других объектов, составляющих итоговый документ, а к дополнительным – средства автоматизации процесса форматирования (пример: MS Word).

Графические редакторы. Это класс программ, предназначенных для создания и обработки графических изображений. В данном классе различают следующие категории: растровые редакторы, векторные редакторы и программные средства для создания и обработки трехмерной графики (3D-редакторы).

Растровые редакторы применяют в тех случаях, когда графический объект представлен в виде комбинации точек, образующих растр и обладающих свойствами яркости и цвета. Растровые редакторы широко применяются для обработки изображений, их ретуши, создания фотоэффектов и художественных композиций (пример: Adobe Photoshop).

Векторные редакторы отличаются от растровых способом представления данных об изображении. Элементарным объектом векторного изображения является не точка, а линия. Такой подход характерен для чертежно – графических работ. В векторных редакторах каждая линия рассматривается как математическая кривая третьего порядка и, соответственно, представляется не комбинацией точек, а математической формулой. В компьютере хранятся числовые коэффициенты этой формулы. Такое представление намного компактнее, чем растровое, соответственно данные занимают меньше места, однако построение любого объекта выполняется не простым отображением точек на экране, а сопровождается непрерывным пересчетом параметров кривой в координаты экранного или печатного изображения. Соответственно, работа с векторной графикой требует более производительных вычислительных систем (примеры: Corel Draw, MS Visio).

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

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

Электронные таблицы. Электронные таблицы предоставляют комплексные средства для хранения различных типов данных и их обработки. В отличие от баз данных, которые обычно содержат широкий спектр типов данных (от числовых и текстовых, до мультимедийных), для электронных таблиц характерна повышенная сосредоточенность на числовых данных. Зато электронные таблицы предоставляют более широкий спектр методов для работы с данными числового типа. Основное свойство электронных таблиц состоит в том, что при изменении содержания любых ячеек таблицы может происходить автоматическое изменение содержания во всех прочих ячейках, связанных с измененными соотношением, заданным математическими или логическими выражениями, формулами (пример: MS Excel).

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

Настольные издательские системы. Назначение программ этого класса состоит в автоматизации процесса верстки полиграфических изданий. Этот класс занимает промежуточное положение между текстовыми процессорами и системами автоматизированного проектирования (пример: Adobe PageMaker).

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

Редакторы HTML (Web-редакторы). Это класс редакторов, объединяющих в себе свойства текстовых и графических редакторов. Они предназначены для создания и редактирования Web-документов (Web-страниц интернета). Web-документы – это электронные документы, при подготовке которых следует учитывать ряд особенностей, связанных с приемом/передачей информации в Интернете (пример: MS FrontPage).

Браузеры (обозреватели, средства просмотра Web). К этой категории относятся программные средства, предназначенные для просмотра электронных документов, выполненных в формате HTML (документы этого формата используются в качестве Web-документов). Современные браузеры воспроизводят текст, графику, музыку, человеческую речь. Они могут обеспечивать прослушивание радиопередач в Интернете, просмотр видеоконференций, работу со службами электронной почты, с системой телеконференций (групп новостей) и многое другое (пример: Internet Explorer).

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

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

Системы видеомонтажа. Предназначены для цифровой обработки видеоматериалов, их монтажа, создания видеоэффектов, устранения дефектов, наложения звука, титров и субтитров.

Одна из классификаций математического обеспечения предполагает деление его на следующие разделы: подпрограммы, пакеты программ, библиотеки программ, системы математического обеспечения [[28]].

Подпрограммы – это наиболее известный и часто используемый раздел математического обеспечения. Он состоит из отдельных подпрограмм или программ, содержащих небольшой набор подпрограмм. Первые численные модели на ЭВМ программировались в двоичных кодах, эти подпрограммы были машинно-ориентированными. Мобильность подпрограмм — возможность их использования на различных ЭВМ появилась с внедрением универсальных языков программирования: ALGOL и FORTRAN. Другим эффектом внедрения алгоритмических языков высокого уровня было появление новой среды описания вычислительных алгоритмов, программа на таком языке может также служить формальным описанием алгоритма. Особенно ярко эта способность алгоритмического языка служить языком публикаций вычислительных алгоритмов проявилась у языка ALGOL-60. С 70-х годов описания вычислительных алгоритмов публикуются на FORTRAN из – за широкого распространения этого языка.

В настоящее время подпрограммы научно-технического характера публикуются в основном на языке Си. Язык FORTRAN сохраняет позиции как язык публикаций для описания вычислительных алгоритмов. Также известно, что тексты последовательных FORTRAN – программ удобнее для распараллеливания, чем тексты Си программ.

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

Например, техника ППП широко используются в системах программирования, предназначенных для решения задач линейной алгебры. Базовым уровнем пакетов этого класса служит пакет BLAS (Basic Linear Algebra Subroutine), реализующий основные операции нижнего уровня вычислительной линейной алгебры. Он входит в состав всех пакетов и библиотек линейной алгебры, обеспечивая низкоуровневый интерфейс между программами широкого класса библиотек и ЭВМ различных архитектур. Этот пакет был разработан еще в 70 – е годы, поэтому возникла необходимость разработки методологии автоматической генерации высокоэффективных подпрограмм для современных вычислительных машин.

Наиболее простой и широко используемый метод оптимизации программ пакета заключается в параметризации характеристик вычислителей и использовании этих данных на уровне трансляции приложений. Другим способом оптимизации программ пакета является разработка кодового генератора. Основой такой технологии является возможность генерации нескольких вариантов объектного кода, а адаптация пакета заключается в определении его наилучшей версии для конкретной архитектуры ЭВМ и может производиться с учетом времени счета эталонных задач. Эти технологии использовались в рамках проекта ATLAS (Automatically Tuned Linear Algebra Software) создание инструментальных систем разработки программного обеспечения для адаптации оптимального объектного кода пакета линейной алгебры на различные архитектуры ЭВМ.

Библиотеки программ. Данный вид математического обеспечения состоит из набора пакетов программ, предназначенных для решения широкого круга задач, например задач численного анализа, математической статистики и др. Прототипами библиотек можно считать программы общего назначения, поставляемые производителями ЭВМ для своих машин.

К примеру, библиотека программ ANSYS заявлена как многоцелевая, конечно, элементная библиотека для проведения анализа в широкой области инженерных дисциплин (прочность, теплофизика, динамика жидкостей и газов и электромагнетизм). Она представляет собой набор свыше десяти специализированных пакетов, включая учебный. Пакеты сертифицированы по целому ряду международных стандартов, в том числе по стандартам Американской атомной промышленности и ГОСАТОМНАДЗОРа России.

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

Одной из старейших систем математического обеспечения ЭВМ является MATLAB. В расчетах допускается использования таких мощных типов данных, как многомерные массивы чисел, символов, структур, задаваемых пользователями. Область применения MATLABа – это построение математических моделей и разработка алгоритмов, программирование и проведение вычислений, использование научной и технической графики для визуализации и анализа данных.

Математические библиотеки в прикладном программировании.

Прогресс технологии производства оборудования ЭВМ значительно опережает темпы роста производства программного обеспечения. В программировании не известен аналог закона Мура – удвоение производительности ЭВМ каждые полтора года. Поэтому очень велико значение систем математического обеспечения как элемента индустриальной технологии производства программ приложений.

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

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

Наиболее впечатляющих успехов структуризация библиотечных программ достигла при программировании ППП для задач линейной алгебры. Особенностью данного класса задач является устойчивость большинства алгоритмов: эффективность вычислений зависит главным образом от особенностей размещения данных в памяти ЭВМ.

Иначе обстоит дело с программами других вычислительных алгоритмов, устойчивость которых зависит от значений чисел – входных параметров. Показателен классический пример Дж. Форсайта о проблеме выбора алгоритма для поиска корней квадратного уравнения при различных значениях коэффициентов [[29]]. Для обеспечения эффективных и корректных вычислений вызов таких библиотечных программам должен сопровождаться заданием дополнительных параметров и указаний, например, о характере входных данных. Интеграция программ в пакетах прикладных программ требует согласования не только формальных и фактических параметров процедур, но также типов и видов таких дополнительных параметров. Поэтому формальная суперпозиция при построении цепочки вызовов библиотечных процедур с учетом и передачей только содержательных параметров будет недостаточно эффективна. Для выбора оптимального варианта цепочки вызовов программ нужен учет и согласование дополнительных неформальных признаков. Успех работы по построению оптимальной траектории вызовов процедур, выполняемых в ППП, зависит от уровня детализации неформальных характеристик процедур и алгоритмов их обработки.

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

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

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

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

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

Для составления программы достаточно знать правила по использованию ЭВМ в терминах своей предметной области — предметно-ориентированную среду программирования. Ускорить программирование задач можно средствами математического обеспечения ЭВМ, либо вычислительных систем в комплексе.

2.3 Языки программирования

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

Первые языки программирования появились вместе с созданием универсальных ЭВМ в 50-х годах XX века.

FORTRAN (FORmula TRANslator), алгоритмический язык программирования высокого уровня, разработанный под руководством Джона Бэкуса для фирмы IBM, язык FORTRAN предоставлял возможность записи алгоритма вычислений с использованием условных операторов и операторов ввода/вывода, что стало точкой отсчета эры языков программирования высокого уровня.

Как альтернатива языку FORTRAN, первоначально ориентированному на архитектуру IBM, под руководством Питера Наура в конце 50-х годов был разработан язык ALGOL (ALGOrithmic Language). Основной целью, преследуемой разработчиками этого языка, была независимость от конкретной архитектуры вычислительной системы.

Языки FORTRAN и ALGOL были первыми языками, ориентированными на программирование вычислений.

В настоящее время существует несколько сотен различных языков программирования, а также множество их версий и подвидов. Наиболее известными универсальными языками программирования являются Си, C++, Java, C#.

Самый успешный язык программирования – язык Си и связанная с ним линия объектно-ориентированных языков: C++, Java, C#.

Универсальный язык программирования Си был разработан в середине 70-х годов Денисом Ритчи и Кеном Томпсоном. Этот язык стал популярным языком системного программирования и в свое время использовался для написания ядра операционной системы UNIX. Международный стандарт языка Си принят в 1990 году. Язык Си лег в основу разработки языков программирования C++ и Java.

Язык Си впервые позволил избавиться от Ассемблера при создании операционных систем. Например, практически весь текст операционной системы Unix написан на языке Си и, таким образом, не зависит от конкретного компьютера. Главным достоинством Си является его простота и отсутствие псевдонаучных решений. Таких, как вложенность блоков программ друг в друга: в Си функция не может содержать внутри себя другую функцию, а переменные четко разделяются на глобальные и локальные – не так, как в ALGOL, где локальные переменные подпрограммы являются глобальными для всех вложенных в нее подпрограмм.

В настоящее время подавляющая часть программ пишется на языках Си и C++. Интерфейс любой операционной системы (так называемый API - Application Program Interface), т.е. набор системных вызовов, предназначенных для разработчиков прикладных программ, как правило, представляет собой набор функций на языке Си. Наконец, современные объектно-ориентированные языки также основаны на языке Си. Это язык C++, занимающий промежуточное положение между традиционными и объектно-ориентированными языками, а также объектно-ориентированные языки C# и Java.

C# – это язык программирования общего назначения, который впервые появился в 2000 году в рамках инициативы Microsoft .NET. Он был разработан для общей языковой инфраструктуры (CLI) – открытой спецификации, разработанной Microsoft и стандартизированной ISO и ECMA. Приложения C# скомпилированы в байт-код, который может запускаться при реализации CLI [[30]].

Java, первоначально выпущенный Sun Microsystems в 1995 году, является языком программирования общего назначения, который был разработан с конкретной целью, позволяющей разработчикам “write once, run anywhere”, то есть написать код единожды и запускать в любом месте. Java-приложения скомпилированы в байт-код, который может запускаться при реализации виртуальной машины Java (JVM). Подобно CLI, JVM помогает преодолеть разрыв между исходным кодом и «1 и 0», которые понимает компьютер [[31]].

Появление как Java, так и C#, тесно связано с переходом от низкоуровневых языков программирования, таких как языки программирования Си, C++, к языкам более высокого уровня, которые компилируются в байт-код. Байт-код можно запустить на виртуальной машине. С этим связан ряд преимуществ, в первую очередь, возможность написания кода, который будет понятен человеку и будет работать на любой аппаратной архитектуре, на которой установлена виртуальная машина. Если отбросить синтаксис в сторону, то неудивительно, что эти два подобные между собой языка так популярны для разработчиков приложений.

ЗАКЛЮЧЕНИЕ

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

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

Все существующие типы ЭВМ выпускаются семействами, в которых различают старшие и младшие модели. Благодаря информационному обеспечению, аппаратной и программной совместимости имеется возможность слабую модель заменить на более мощную и, устаревшую – на более современную, то есть, произвести модернизацию системы. Важное свойство вычислительных систем, как принцип совместимости, предполагает, что каждый новый процессор «понимает» все команды своих предшественников, но не наоборот. Конфигурацию компьютера, ЭВМ в вычислительной системе можно гибко изменять по мере необходимости. Однако существует понятие базовой аппаратной конфигурации, являющейся типовой.

Можно сказать, что основным преимуществом вычислительных систем по сравнению с однопроцессорной ЭВМ является значительное повышение производительности за счёт, например, выполнения отдельных частей задачи на различных процессорах.

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

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

Современное информационное обеспечение – это система процедур преобразования информации с целью формирования, распространения и использования информации. Ее основу составляет обработка информации по заданным алгоритмам, хранение больших объемов информации на машинных носителях, передача информации на любое расстояние в ограниченное время.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Буцык, С. В. Вычислительные системы, сети и телекоммуникации: учеб. пособие / С. В. Буцык; А. С. Крестников; А. А. Рузаков; под общ. ред. С. В. Буцыка; Челяб. гос. ин-т культуры. – Челябинск: ЧГИК, 2016. – 116 с.
  2. Алехина, Г. В. Вычислительные системы, сети и телекоммуникации. Учеб. Пособие. / Г. В. Алехина, А.Ф. Иванько, М.А. Иванько. – М.: Московский международный институт эконометрики, информатики, финансов и права 2004. – 660 с.
  3. Гриценко, Ю. Б. Вычислительные системы, сети и телекоммуникации: учебное пособие / Ю. Б. Гриценко. – Томск: ФДО, ТУСУР, 2015. – 134 с.
  4. Макарова, Н. В. Информатика: Учебник / Под. ред. проф. Н.В. Макаровой. – 3-е перераб. изд. – М.: Финансы и статистика, 2000.
  5. Симонович, С.В. Информатика. / С.В. Симонович и др. – СПб: Питер, 2003. – 640 с.
  6. Богданов, А. В. Архитектуры и топологии многопроцессорных вычислительных систем: курс лекций: учебное пособие / А. В. Богданов, В. В. Корхов, В. В. Мареев, Е. Н. Станкова. – Москва: Интернет-Университет Информационных Технологий, 2004. – 176 с.
  7. Гусева, Е. Н. Информатика: учеб. пособие / Е. Н. Гусева, И. Ю. Ефимова, Р. И. Коробков, К. В. Коробкова, И. Н. Мовчан, Л. А. Савельева. – 3-е изд., стереотип. – М.: ФЛИНТА, 2011. – 260 с.
  8. Фисун, В. А. Вестник МГТУ им. Н.Э. Баумана. Сер. «Естественные науки» // Математическое обеспечение вычислительных систем – 2012. – №4. С. 166 – 171.
  9. Роганов, Е. А. Практическая информатика: курс / Е. А. Роганов; Национальный Открытый Университет "ИНТУИТ". – Москва, 2006. – 568 с.
  10. Щелоков, С. А. Проектирование распределенных информационных систем: курс лекций по дисциплине «Проектирование распределённых информационных систем» / С. А. Щелоков, Е. Н. Чернопрудова; Оренбургский гос. Ун-т. – Оренбург: ОГУ, 2012. – 195 с.
  11. Пятибратов, А.П. Вычислительные машины, сети и телекоммуникационные системы: учебно-методический комплекс / А.П. Пятибратов, Л.П. Гудыно, А.А. Кириченко. – Москва: Евразийский открытый институт, 2009. – 292 с.
  12. Яценков, В. С. Java за неделю. Вводный курс / В. С. Яценков, 2018. – 312 с.
  13. Национальная библиотека им. Н. Э. Баумана. // URL: https://ru.bmstu.wiki/ПК_(Персональный_Компьютер). (дата обращения: 26.09.2018).
  14. Специализированный российский информационно-аналитический сайт iXBT.com. // URL: https://www.ixbt.com/mainboard/monobloki.shtml. (дата обращения: 26.09.2018).
  15. Портал искусственного интеллекта. // URL: http://www.aiportal.ru/articles/other/computer-generation.html. (дата обращения: 26.09.2018).
  16. Шилов, В. В. Большая российская энциклопедия. // URL: https://bigenc.ru/technology_and_technique/text/3475479. (дата обращения: 26.09.2018).
  17. Вычислительные и операционные системы. OSys.ru // URL: http://www.osys.ru/os/2/multiprogrammnyi_rezhim_raboty.shtml. (дата обращения: 02.10.2018).
  18. Популярная механика. // URL: https://www.popmech.ru/technologies/9137-s-miru-po-nitke-superkompyuter/. (дата обращения: 02.10.2018).
  19. Инновационные технологии евразийского экономического союза. INTEEU.COM. // URL: http://www.inteeu.com/2016/11/21/printsip-raboty-onlajn-perevodchika-google-translate. (дата обращения: 02.10.2018)
  20. Йошитака, Ш. C. против Java // URL: https://itvdn.com/ru/blog/article/csharp_vs_java. (Дата обращения: 01.11.2018)
  1. Буцык С.В. Вычислительные системы, сети и телекоммуникации: учебное пособие / С.В. Буцык - Челябинск: ЧГИК, 2016. – C. 12.

  2. Гриценко Ю.Б. Вычислительные системы, сети и телекоммуникации: учебное пособие / Ю.Б. Гриценко - Томск: ТУСУР, 2015. – С. 14.

  3. Алехина Г.В. Вычислительные системы, сети и телекоммуникации: учебное пособие / Г.В. Алехина. М., 2004. – С. 27 – 28.

  4. Буцык С.В. Вычислительные системы, сети и телекоммуникации: учебное пособие / С.В. Буцык - Челябинск: ЧГИК, 2016. – C. 12.

  5. Алехина Г.В. Вычислительные системы, сети и телекоммуникации: учебное пособие / Г.В. Алехина. М., 2004. – С. 9.

  6. Национальная библиотека им. Н. Э. Баумана. URL: https://ru.bmstu.wiki/ПК_(Персональный_Компьютер). (Дата обращения: 26.09.2018).

  7. Специализированный российский информационно-аналитический сайт iXBT.com. URL: https://www.ixbt.com/mainboard/monobloki.shtml. (Дата обращения: 26.09.2018).

  8. Алехина Г.В. Вычислительные системы, сети и телекоммуникации: учебное пособие / Г.В. Алехина. М., 2004. – С. 15 – 16.

  9. Портал искусственного интеллекта. URL: http://www.aiportal.ru/articles/other/computer-generation.html. (Дата обращения: 26.09.2018)

  10. 18. В. В. Шилов Большая российская энциклопедия. / В. В. Шилов. URL: https://bigenc.ru/technology_and_technique/text/3475479. (Дата обращения: 26.09.2018)

  11. Гриценко Ю.Б. Вычислительные системы, сети и телекоммуникации: учебное пособие / Ю.Б. Гриценко - Томск: ТУСУР, 2015. – С. 8.

  12. Пятибратов А. П. Вычислительные машины, сети и телекоммуникационные системы / А. П. Пятибратов, 2009. – С. 56

  13. Вычислительные и операционные системы. OSys.ru – URL: http://www.osys.ru/os/2/multiprogrammnyi_rezhim_raboty.shtml. (Дата обращения: 02.10.2018).

  14. Популярная механика. URL: https://www.popmech.ru/technologies/9137-s-miru-po-nitke-superkompyuter/. (Дата обращения: 02.10.2018).

  15. Алехина Г.В. Вычислительные системы, сети и телекоммуникации: учебное пособие / Г.В. Алехина. М., 2004 – С. 571.

  16. Богданов А.В. Архитектуры и топологии многопроцессорных вычислительных систем: курс лекций : учебное пособие / А.В. Богданов. M., 2004. – С.18.

  17. Симонович С. В. Информатика: Базовый курс / С. В. Симонович. — СПб.: Питер, 2003. – С. 63

  18. Инновационные технологии евразийского экономического союза. INTEEU.COM. URL: http://www.inteeu.com/2016/11/21/printsip-raboty-onlajn-perevodchika-google-translate. (Дата обращения: 02.10.2018)

  19. Симонович С. В. Информатика: Базовый курс / С. В. Симонович. — СПб.: Питер, 2003. – С. 15.

  20. Гусева Е. Н. Информатика : учеб. пособие / Е. Н. Гусева. – 3-е изд., стереотип. – М. : ФЛИНТА, 2011. – С. 18

  21. Роганов Е. А. Практическая информатика / Е. А. Роганов – М.: Национальный Открытый Университет «ИНТУИТ», 2005. – С. 8.

  22. Гриценко Ю.Б. Вычислительные системы, сети и телекоммуникации: учебное пособие / Ю.Б. Гриценко - Томск: ТУСУР, 2015. С. 31 – 32.

  23. Гусева Е. Н. Информатика : учеб. пособие / Е. Н. Гусева. – 3-е изд., стереотип. – М. : ФЛИНТА, 2011. C. 19

  24. Щелоков С. А. Проектирование распределённых информационных систем» / С. А. Щелоков; Оренбургский гос. Ун-т. – Оренбург: ОГУ, 2012. С. 47.

  25. Алехина Г.В. Вычислительные системы, сети и телекоммуникации: учебное пособие / Г.В. Алехина. М., 2004 – С. 401.

  26. Гриценко Ю.Б. Вычислительные системы, сети и телекоммуникации: учебное пособие / Ю.Б. Гриценко - Томск: ТУСУР, 2015. С. 66.

  27. Симонович С. В. Информатика: Базовый курс / С. В. Симонович. — СПб.: Питер, 2003. С. 48.

  28. Фисун В. А. Математическое обеспечение вычислительных систем / В.А. Фисун С. 166.

  29. Фисун В. А. Математическое обеспечение вычислительных систем // В.А. Фисун – 2012. – С. 170.

  30. Йошитака Ш. C# против Java / Ш. Йошитака. URL: https://itvdn.com/ru/blog/article/csharp_vs_java (Дата обращения: 01.11.2018)

  31. Яценков В. С. Java за неделю. Вводный курс / В. С. Яценков, 2018. – 312 с.