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

Информатика_Ч1

.pdf
Скачиваний:
11
Добавлен:
17.05.2015
Размер:
2.59 Mб
Скачать

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

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

Пр

 

Пр

 

Пр

 

 

 

 

 

 

 

 

 

 

 

 

Средства коммуникации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МП

 

МП

 

МП

 

КВВ

 

КВВ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПУ ПУ

ПУ ПУ

Рис. 11. Структура многопроцессорного комплекса

Многомашинные и многопроцессорные ВК являются базовыми средствами для создания СОД различного назначения. Поэтому в

21

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

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

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

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

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

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

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

22

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

Каналы

 

 

Терминал

связи

 

 

 

 

 

 

Устройство

ЭВМ сопряжения (ВК)

Терминал

Терминал

Рис. 12. Система телеобработки данных

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

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

В конце 60-х гг. XX в. был предложен способ построения вычислительных сетей, объединяющих ЭВМ (ВК) с помощью базовой сети передачи данных (СПД) (рис. 13).

Ядром системы является базовая сеть передачи данных (СПД), состоящая из каналов связи и узлов связи (УС). Узлы связи принимают данные и передают их в направлении, обеспечивающем доставку данных абоненту. ЭВМ подключаются к узлам связи. Совокупность ЭВМ, объединенных сетью передачи данных, образует сеть ЭВМ. Совокупность терминалов (Т) и средств связи, обеспечивающих подключение терминалов к ЭВМ, образует терминальную сеть. Таким образом, глобальная вычислительная сеть представляет со-

23

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

ЭВМ

 

ЭВМ

 

 

 

УС

УС

СПД

Т

УС

УС

ЭВМ Т

ЭВМ

Т

Рис. 13. Структура глобальной компьютерной сети

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

Локальные вычислительные сети. К концу 70-х гг. XX в. в сфере обработки данных широкое распространение наряду с большими ЭВМ общего назначения получили мини- и микроЭВМ и начали применяться персональные компьютеры. При этом для обработки данных

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

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

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

24

 

ЭВМ

 

ЭВМ

 

ЭВМ

 

ЭВМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СА

 

СА

 

СА

 

СА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

моноканал

Рис. 14. Структура локальной компьютерной сети

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

1.3. Программное обеспечение информатики

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

Другой класс программного обеспечения – это программы системного назначения, образующие класс системного программного обеспечения. К ним относятся:

операционные системы;

алгоритмические языки и системы программирования на их основе.

Операционные системы дополняют аппаратные средства любого компьютера, позволяя прикладным программам обращаться к внеш-

25

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

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

Операционные системы (ОС)

ОС является неотъемлемой частью ЭВМ, обеспечивая управление всеми аппаратными компонентами ЭВМ. Число ОС невелико

– не более десятка, но их роль чрезвычайно важна. Наиболее распространены операционные системы семейства Windows, Unix, ОС

Mac, Linux.

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

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

Состав ОС. Основные компоненты любой ОС:

файловая система;

процессор командного языка (командный процессор);

драйверы внешних устройств.

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

26

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

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

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

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

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

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

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

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

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

27

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

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

текстовый редактор;

транслятор языка;

средства редактирования, компоновки и загрузки программы;

макроассемблер;

отладчик машинных программ.

Примеры систем программирования: Visual Basic, С++Builder,

Delphi.

Программированию на языках высокого уровня посвящено много работ, в том числе автора данного пособия [16-18].

28

ГЛАВА 2 МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ

2.1.Теория формальных структур данных и алгоритмов их обработки

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

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

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

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

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

Там, где речь идет об алгоритме решения задачи, мы имеем дело с данными, так как они являются объектами, к которым применяется этот алгоритм.

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

29

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

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

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

Рассмотрим основные свойства алгоритма.

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

2.Детерминированность (определенность). Каждый шаг алгоритма должен быть однозначно понимаем.

3.Результативность (конечность). Алгоритм должен приводить

крешению задачи за конечное число шагов.

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

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

Сущность алгоритмизации в следующем:

– выделении автономных этапов (шагов) вычислительных процессов;

– формальной записи содержания каждого из них;

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

– проверке правильности выбранного алгоритма по реализации заданного метода вычислений.

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

30