Файл: Состав и свойства вычислительных систем. Информационное и математическое обеспечение вычислительных систем (Процессор ).pdf
Добавлен: 05.04.2023
Просмотров: 399
Скачиваний: 1
СОДЕРЖАНИЕ
1. Состав и свойства вычислительной системы
1.1 Состав вычислительной системы
1.2 Параллельные компьютерные архитектуры
1.3 Классификация параллельных компьютерных систем
2. Информационное и математическое обеспечение ВС
2.2 Инструментальные программные средства
Важнейшими характеристиками языка являются трудоемкость программирования и качество получаемого программного продукта. Качество программ определяется длиной программ (количеством машинных команд или емкостью памяти, необходимой для хранения программ), а также временем выполнения этих программ.
Машинные языки современных ЭВМ практически не используются даже программистами-профессионалами из-за чрезмерной трудоемкости процесса разработки про- грамм. В редких случаях их используют инженерно-технические работники вычисли- тельных центров для проверок работы устройств и блоков компьютера, для выяснения нестандартных, нештатных ситуаций, когда другими средствами не удается выявить причины их появления. Применение машинных языков требует знания специфики представления и преобразования информации в компьютере[4, с. 114].
Особое место имеют машинно-ориентированные языки (язык Ассемблера, или просто Ассемблер, автокоды, языки символического кодирования и др.). Несмотря на высокую трудоемкость, ими часто пользуются профессиональные системные программисты, на- пример, при разработке программ общего или специального ПО, особенно в тех случаях, когда эти программы должны быть максимально компактными и быстродействующими. Пользователям с недостаточной программистской подготовкой эти языки практически недоступны[4, с. 114].
Из процедурно-ориентированных языков широко известны Фортран, Алгол, Кобол, Basic, Pascal, Ада, Си и др. Спектр языков этой группы очень широк, и среди них существует определенная иерархия. Считается, что язык Basic предназначается для начинающих программистов, язык Pascal для студентов, это язык «правильного», классического программирования, язык СИ – для квалифицированных программистов и т.д. Существуют определенные соглашения в использовании языков программирования. Так, при создании программ для собственных работ пользователь может выбрать любой язык, да- же Basic. При разработке ПО для одного заказчика корректно использовать язык Pascal, при разработке программных средств для многих потребителей целесообразно использование языков Си и Ассемблер[4, с. 114].
С появлением ПК наиболее распространенными языками являются Basic и Pascal. Первоначально они разрабатывались для целей обучения. Их применение обеспечивает быстрый и удобный перенос программ, написанных на этих языках, с одного ПК на другой. Наиболее простым языком является Basic. Трансляторы для него имеются практически на всех ПК. Язык отличает простота и наличие средств интерактивной работы, что обеспечило ему популярность среди непрофессиональных программистов. Однако для построения сложных программ он в силу ограниченных возможностей (структурирова- ние программ и данных, идентификация переменных и т.д.) подходит плохо. Вместе с тем, следует отметить, что фирма Microsoft сделала этот достаточно простой язык осно- вой для обмена приложениями (Visual Basic for Application). Эта платформа перенесена и в следующее поколение операционных систем – Windows.net[4, с. 115].
Современный язык высокого уровня Pascal получил широкое распространение в силу ряда достоинств: простоты, ясности, сравнительно узкого набора возможных синтаксических конструкций наряду с семантическим их богатством. Общепризнано, что он является наилучшим средством для обмена программами между различными типами ПК. На основе разработки языка Pascal предложен ряд новых языков, например Модула- 2, в котором особое внимание уделяется построению программы как набора независимых модулей. На базе языка Pascal создан достаточно мощный язык Ада, который задумывался как универсальный и наиболее перспективный язык программирования. К нему было приковано внимание разработчиков всех новых типов ЭВМ. Однако широкого распространения он до сих пор не получил[4, с. 115].
Для разработки коммерческих программ больше используется язык Си, который удачно сочетает в себе средства языка высокого уровня и языка Ассемблера, что позволяет разрабатывать компактные, быстродействующие, высокоэффективные программные продукты. Объектно-ориентированный С++ в настоящее время является основным средством разработки критически важных приложений, требующих быстродействия и оптимизации работы с памятью[4, с. 115].
Все описанные выше языки программирования используют так называемые пошаговые описания алгоритмов. Именно в этом и заключается источник большой трудоемкости подготовки задач к решению. Несомненно, что для машин будущих поколений будут предложены более эффективные средства программирования. Так, например, все больше внимания уделяется разработке проблемно-ориентированных языков программирования (Симула, GPSS и др.). В этих языках имеется возможность описывать специфические алгоритмы обработки информации более крупными конструкциями. Это делает программы пользователей более наглядными, так как каждая используемая конструкция соответствует вполне определенному объекту, исследуемому пользователем[4, с. 115].
Другой интересной тенденцией является появление непроцедурных описательных языков. Их конструкции констатируют, какой результат желателен пользователю, не ука- зывая, каким образом это сделать. Примером такого языка служит язык ПРОЛОГ (ПРО- граммирование ЛОГики), который широко используется специалистами в области искус- ственного интеллекта. Конструкции языка несоответствуют математическим формулам, а определяют отношения между объектами и величинами. Язык состоит только из описаний и не имеет как таковых команд-инструкций[4, с. 115].
Развитие сетевых технологий привело к созданию языка Java, рожденного в недрах фирмы Sun и разрабатываемого в коалиции более чем 400 организаций. Он представляет собой интерпретационный язык высокого уровня; отличается простотой, независимостью от аппаратуры и отсутствием связей со сложными операционными системами. Это делает совместимыми компьютеры различных платформ, позволяет управлять ими с общих по- зиций. Именно язык Java способствовал внедрению анимации в Web-ресурсы сетей. По- этому многие фирмы приобрели лицензии на Java и обеспечивают его поддержку в своих разработках[4, с. 115].
Повышение роли структурного программирования привело к появлению языков Delphi (Object Pascal) фирмы Borland и Visual Basic фирмы Microsoft. Эти языки позволя- ют очень быстро разрабатывать приложения, однако по уровню гибкости оба языка силь- но уступают С++.
Необходимо отметить, что в компьютерах будущих поколений будут использоваться языки программирования, имеющие средства распараллеливания вычислительных работ для многомашинных и многопроцессорных вычислительных систем. Проблемы по- строения таких языков еще полностью не разрешены и находятся в стадии исследования[4, с. 115].
В состав САП включаются также языковые трансляторы для всех языков, которые используют пользователи при разработке своих программ. В зависимости от специфики вычислительного центра и контингента пользователей их состав формируется эмпири- чески. Обычно же он включает трансляторы процедурно-ориентированных языков высо- кого уровня (Pascal, Basic, Си) и машинно-ориентированных языков (Ассемблер).
Различают трансляторы двух типов: интерпретаторы и компиляторы.
Трансляторы-интерпретаторы предназначаются для последовательного пооператорного преобразования каждого предложения исходного модуля программы в блок машинных команд с одновременным их выполнением. Машинная программа в полном объеме при этом не создается, решение задач пользователей происходит замедленными темпами. Этот вид трансляции рекомендуется использовать при отладке новых программных продуктов[4, с. 115].
Трансляторы-компиляторы, напротив, предназначаются для формирования полного загрузочного модуля по исходным программам пользователя. Это позволяет отделить полученный программный продукт от среды его разработки и в последующем использовать его автономно[4, с. 115].
Из системных обслуживающих программ, широко используемых при подготовке вычислений, следует выделить редактор (редактор связей), загрузчик, библиотекарь, средства отладки и другие вспомогательные программы[4, с. 115].
Программы пользователей после обработки их транслятором (трансляторами) представляются в виде набора программных блоков, имеющих промежуточный формат, общий для всех трансляторов. Специфика исходных языков программирования при этом теряется. Объединение программных блоков в единую программу выполняет редактор. В зависимости от того, в какой стадии подготовки к решению находятся программы абонентов, они могут размещаться в различных библиотеках. Управляет размещением программ, последующей идентификацией и выборкой библиотекарь. Вызов готовых к решению программ в оперативную память, активизацию их с учетом их места размещения выполняет загрузчик[4, с. 116].
Средства отладки обеспечивают проверку заданий пользователей, поиск в них различного рода ошибок, вывод на печать запрашиваемой отладочной информации, распечатку содержимого зон оперативной памяти, выдачу различных управляющих блоков и таблиц и т.п. Вспомогательные программы (утилиты) служат для перемещения информации с одного носителя на другой, разметки накопителей, редактирования информации в наборах данных, сбора информации об ошибках[4, с. 116].
2.3 Пакеты прикладных программ
Информационное обеспечение это комплекс программ, предназначенных для решения определенного класса задач пользователей. Сначала к нему относили только готовые программы, которые регулярно использовал пользователь. Однако такие программы постоянно совершенствуется, дополняется, модифицируется. Поэтому все чаще включает в себя, наряду с комплексом готовых программ и программную среду, оболочку, в которой создаются пользовательские программы[4, с. 116].
К информационному обеспечению относится:
– системы обработки текстов (текстовые редакторы);
– системы обработки электронных таблиц;
– системы управления базами данных;
– системы деловой графики;
– коммуникационные системы;
– прикладные системы более узкой ориентации (организации вычислений, поддержки планирования, финансовых расчетов, автоматизации проектирования и др.).
Самые простые редакторы встраиваются в многие пакеты имеют достаточно скромные характеристики. Примерами подобных WP являются встроенный редактор командной строки DOS, программы Блокнот, Word Pad и др[4, с. 117].
Другие редакторы широкого назначения, обычно используются автономно. Они получили большую популярность и используются повсеместно при отработке документов различной сложности: от простейших справок до фундаментальных книг (Лексикон, Word и др.). Последние версии редакторов типа Word for Windows предоставляют пользователям возможности настольной издательской системы[4, с. 117].
Наиболее сложными редакторами являются WP мощных издательских систем, предназначенные для оформления и полной подготовки к типографскому изданию книг, журналов, буклетов (Aldus PageMaker, Ventura Publisher). Они позволяют включать в текст фотографии, иллюстрации, графики, диаграммы; использовать различные шрифты; менять параметры текста; осуществлять перемещение фрагментов; изменять оформление документа; автоматизировать его верстку[4, с. 117].
Системы обработки электронных таблиц или табличные процессоры, предназначены для работы с фактографическими документами. Этот вид документа представляет собой двумерную таблицу, как правило, заранее определенной формы, каждая клетка которой содержит значение некоторой характеристики объекта. Подобные документы являются наиболее распространенными в деятельности различных отделов, служб, предприятий и т.п. Примерами этих документов могут служить бухгалтерские ведомости, отчеты, планы, списки и прочее. Такие документы представлены в памяти ПК в виде электронных таблиц[4, с. 117].
Еще одной группой ППП являются системы управления базами данных (СУБД). Они появились, когда ЭВМ стали использоваться в контуре управления технологическими процессами и людскими коллективами. Разработка различных автоматизированных систем управления предполагает создание в памяти ПК информационных моделей объектов управления – больших информационных массивов, получивших название «базы данных» [4, с. 118].
База данных (БД) - это совокупность взаимосвязанных данных, хранящихся совместно в памяти компьютера.
Каждая БД состоит из записей. Запись образует подмножество данных, служащих для описания единичного объекта. Например, фамилия, имя, отчество, год рождения, адрес, место работы, номер телефона могут составлять одну запись и характеризовать одного человека. Информационный массив может содержать записи по отдельным цехам, службам, отделам всего предприятия. Назначением БД является удовлетворение информационных потребностей пользователей. СУБД автоматизирует работу пользователей с хранящимися данными. Количество информационных массивов в БД и их объем зависит от сложности создаваемой системы. Ядро БД составляет информация, наиболее часто используемая в процессах управления. Согласно принципу В. Парето (итальянский экономист XIX века), 20 % всей информации обеспечивают более 80 % всех задач управления. Эта часть в первую очередь и подлежит автоматизации[4, с. 118].
Достаточно мощные СУБД позволяют значительно автоматизировать процессы управления и удовлетворять до 90–95 % потребностей управленческого аппарата. Одним из основных назначений СУБД является автоматизация документооборота. На основе хранящейся информации можно автоматически формировать любые стандартные документы. Дополнительно к этому СУБД позволяет обращаться к данным и с нестандартными запросами для получения каких–либо справок, обобщений. СУБД поддерживает диалоговый режим работы пользователей, в которых запросы данных и реакция системы побуждают к формированию более точных запросов и исследованию данных[4, с. 118].