Информатика — курс лекций. Курс лекций для студентов по направлениям 230100. 62 Информатика и вычислительная техника
Скачать 2.08 Mb.
|
Тема 7. Компьютерная обработка информации Обработка является одной из основных операций, выполняемых над информацией, и глав- ным средством увеличения её объёма и разнообразия. Для осуществления обработки информации с помощью технических средств её представляют в формализованном виде — в виде структур данных («информационных объектов»), представляющих собой некоторую абстракцию фрагмента реального мира. Абстракция (от лат. Abstraction — отвлечение) подразумевает выделение наиболее существен- ных с точки зрения задачи обработки свойств и связей. Так, например, информация о студенте, необ- ходимая для учёта его успеваемости, может быть представлена набором таких идентифицирующих данных, как фамилия, имя, отчество, номер учебной группы. При этом несущественные для данной задачи характеристики, например рост, вес, цвет волос и т.п., не будут учтены. Обработка информации — получение одних «информационных объектов» (структур дан- ных) из других путём выполнения некоторых алгоритмов. Исполнитель алгоритма — абстрактная или реальная (техническая, биологическая или био- техническая) система, способная выполнить действия, предписываемые алгоритмом. Для механиза- ции и автоматизации процесса обработки информации и вычислений, выполняемых в соответствии с заданным алгоритмом, используют различные типы вычислительных машин: механические, элек- трические, электронные (ЭВМ), гидравлические, пневматические, оптические и комбинированные. В современной информатике основным исполнителем алгоритмов является ЭВМ, называемая также компьютером (от англ. computer — вычислитель). ЭВМ — электронное устройство, предназначенное для автоматизации процесса алгоритмиче- ской обработки информации и вычислений. В зависимости от формы представления обрабатываемой информации вычислительные ма- шины делятся на три больших класса: цифровые вычислительные машины (ЦВМ) , обрабатывающие информацию, представлен- ную в цифровой форме; аналоговые вычислительные машины (АВМ) , обрабатывающие информацию, представ- ленную в виде непрерывно меняющихся значений какой-либо физической величины (элек- трического напряжения, тока и т.д.); гибридные вычислительные машины (ГВМ) , содержащие как аналоговые, так и цифровые вычислительные устройства. В основе функционирования АВМ заложен принцип моделирования. Так, при использовании в качестве модели некоторой задачи электронных цепей каждой переменной величине задачи ста- вится в соответствие определённая переменная величина электронной цепи. При этом основой по- строения такой модели является изоморфизм (подобие) исследуемой задачи и соответствующей ей электронной модели. Согласно своим вычислительным возможностям АВМ наиболее приспособле- ны для решения математических задач, содержащих дифференциальные уравнения, не требующие сложной логики. В отличие от ЦВМ, точность которых определяется их разрядностью, точность вы- числений на АВМ ограничена и характеризуется качеством изготовления элементной базы и основ- ных узлов. В то же время для целого класса задач скорость решения задач на АВМ может быть значи- тельно больше, чем на ЦВМ. Это объясняется параллельным принципом решения задач на АВМ, ко- 115 гда результат решения получается мгновенно и одновременно во всех точках модели. Данная осо- бенность обусловливает использование АВМ в замкнутых системах автоматического регулирования и для решения задач в режиме реального времени. Гибридные вычислительные машины, содержащие как аналоговые, так и цифровые вычислительные устройства, совмещают в себе достоинства АВМ и ЦВМ. В таких машинах цифровые устройства обычно служат дли управления и выполнения логиче- ских операций, а аналоговые устройства — для решения дифференциальных уравнений. Поскольку в настоящее время подавляющее большинство компьютеров являются цифровы- ми, далее слово «компьютер», или «ЭВМ», будем употреблять в значении «цифровой компьютер». Для обработки аналоговой информации на таком компьютере её сначала преобразуют в цифровую форму. Современный компьютер (ЭВМ) как реальная система обработки данных имеет ряд особен- ностей: ЭВМ располагает конечным множеством команд, лежащих в основе реализации и выполне- ния каждого алгоритма; ЭВМ функционирует дискретно (потактно) под управлением программы, хранящейся в опе- ративной памяти; ЭВМ имеет широкий набор команд, что позволяет эффективно представлять разнообразные алгоритмы решаемых задач; каждая ЭВМ является потенциально универсальной. Потенциальность объясняется тем, что ни одна ЭВМ не может считаться универсальной в смысле вычислимости произвольной, ча- стично рекурсивной функции, т.е. для неё существует класс нерешаемых задач при условии неизменности её ресурсов (в первую очередь памяти). Основу современных компьютеров образует аппаратура (Hardware) — совокупность элек- тронных и электромеханических элементов и устройств, а принцип компьютерной обработки инфор- мации состоит в выполнении программы (Software) — формализованном описании алгоритма обра- ботки в виде последовательности команд, управляющих процессом обработки. Команда представляет собой двоичный код, который определяет действие вычислительной системы по выполнению какой-либо операции. Операция — комплекс совершаемых технологических действий над информацией по одной из команд программы. Основными операциями при обработке информации на ЭВМ являются арифметические и ло- гические. Арифметические операции включают в себя все виды математических действий, обуслов- ленных программой, над целыми числами, дробями и числами с плавающей запятой. Логические операции обеспечивают действия над логическими величинами с получением логического результа- та. В вычислительных системах последовательность действий, составляющих задачу обработки информации, называют процессом Так, обработка некоторого текста программой-редактором является процессом, а редактиро- вание другого текста с помощью этой же программы представляет собой другой процесс, даже если при этом используется одна и та же копия программы. Процесс определяется соответствующей про- 116 граммой, набором данных, которые в ходе реализации процесса могут считываться, записываться и использоваться, а также дескриптором процесса, который описывает текущее состояние любого вы- деленного процессу ресурса ЭВМ. Дескриптор процесса — совокупность сведений, определяющих состояние ресурсов ЭВМ, предоставленных процессу. Каждый сеанс пользователя с вычислительной системой, например ввод-вывод данных в ЭВМ, также является процессом. В общем случае в вычислительной системе может одновременно существовать произвольное число процессов, поэтому между ними возможна конкуренция за обла- дание тем или иным ресурсом, в первую очередь временем процессора — основного вычислитель- ного устройства ЭВМ. Это обусловливает необходимость организации управления процессами и их планирования. В современных ЭВМ для решения данных задач служат операционные системы (ОС), включающие совокупность программ для управления процессами, распределения ресурсов, органи- зации ввода-вывода и интерфейса с пользователем. С точки зрения организации вычислительных процессов в ЭВМ выделяют несколько режимов: однопрограммный однопользовательский режим, в котором вычисления носят последова- тельный характер, а ресурсы ЭВМ не разделяются; мультизадачный, когда несколько программ последовательно используют время процессора, при этом возможно разделение как аппаратных, так и программных ресурсов ЭВМ; многопользовательский, когда каждому пользователю выделяется квант (интервал) времени процессора, при этом задача распределения ресурсов, в первую очередь времени процессо- ра и памяти, значительно усложняется; мультипроцессорный, когда вычислительная система, включающая несколько процессоров, позволяет выполнять реальные параллельные процессы, при этом распределение ресурсов носит наиболее сложный характер. При выполнении задач обработки информации на компьютере выделяют пакетный и интер- активный (запросный, диалоговый) режимы взаимодействия пользователя с ЭВМ. Пакетный режим первоначально использовался для снижения непроизводительных затрат машинного времени путём объединения однотипных заданий. Его суть заключается в следующем. Задания группируются в пакеты, каждый со своим отдельным компилятором. Компилятор загружает- ся один раз, а затем осуществляется последовательная трансляция всех заданий пакета. По оконча- нии компиляции пакета все успешно транслированные в двоичный код задания последовательно загружаются и обрабатываются. Такой режим был основным в эпоху централизованного использова- ния ЭВМ (централизованной обработки), когда различные классы задач решались с использованием одних и тех же вычислительных ресурсов, сосредоточенных в одном месте (информационно- вычислительном центре). При этом организация вычислительного процесса строилась главным обра- зом без доступа пользователя к ЭВМ. Его функции ограничивались лишь подготовкой исходных дан- ных по комплексу информационно-взаимосвязанных задач и передачей их в центр обработки, где формировался пакет заданий для ЭВМ. В настоящее время под пакетным режимом также понимается процесс компьютерной обра- ботки заданий без возможности взаимодействия с пользователем. При этом, как правило, задания вводятся пользователями с терминалов и обрабатываются не сразу, а помещаются сначала в очередь 117 задач, а затем поступают на обработку по мере высвобождения ресурсов. Такой режим реализуется во многих системах коллективного доступа. Интерактивный режим предусматривает непосредственное взаимодействие пользователя с информационно-вычислительной системой и может носить характер запроса (как правило, регла- ментированного) или диалога с ЭВМ. Запросный режим позволяет дифференцированно, в строго установленном порядке предоставлять пользователям время для общения с ЭВМ. Диалоговый ре- жим открывает пользователю возможность непосредственно взаимодействовать с вычислительной системой в допустимом для него темпе работы, реализуя повторяющийся цикл выдачи задания, по- лучения и анализа ответа. При этом ЭВМ сама может инициировать диалог, сообщая пользователю последовательность шагов (предоставление меню) для получения искомого результата. Взаимодей- ствие пользователя и ЭВМ осуществляется путём передачи сообщений и управляющих сигналов между пользователем и ЭВМ. Входные сообщения генерируются оператором с помощью средств ввода: клавиатуры, манипуляторов типа мышь и т.п., выходные — компьютером в виде текстов, зву- ковых сигналов, изображений и представляются пользователю на экране монитора или других устройствах вывода информации. Основными типами сообщений, генерируемыми пользователем, являются: запрос информации, запрос помощи, запрос операции или функции, ввод или изменение информации и т.д. В ответ со стороны компьютера он получает: подсказки или справки, информаци- онные сообщения, не требующие ответа, приказы, требующие действий, сообщения об ошибках, нуждающиеся в ответных действиях и т.д. Данный режим является основным на современном этапе развития компьютерных систем обработки информации, характерной чертой которого является широкое внедрение практически во все сферы деятельности человека персональных компьютеров (ПК) — однопользовательских микро- ЭВМ, удовлетворяющих требованиям общедоступности и универсальности применения. В настоящее время пользователь, обладая знаниями основ информатики и вычислительной техники, сам разраба- тывает алгоритм решения задачи, вводит данные, получает результаты, оценивает их качество. У не- го имеются реальные возможности решать задачи с альтернативными вариантами, анализировать и выбирать с помощью системы в конкретных условиях наиболее приемлемый вариант. Основные этапы решения задач с помощью компьютера: 1. Постановка задачи: сбор информации о задаче; формулировка условия задачи; определение конечных целей решения задачи; определение формы выдачи результатов; описание данных (их типов, диапазонов величин, структуры и т.п.). 2. Анализ и исследование задачи, модели: анализ существующих аналогов; анализ технических и программных средств; разработка математической модели; разработка структур данных. 3. Разработка алгоритма: выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схема, псевдокод и др.); выбор тестов и метода тестирования; 118 проектирование алгоритма. 4. Программирование: выбор языка программирования; уточнение способов организации данных; запись алгоритма на выбранном языке программирования. 5. Тестирование и отладка: синтаксическая отладка; отладка семантики и логической структуры; тестовые расчёты и анализ результатов тестирования; совершенствование программы. 6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2—5. 7. Сопровождение программы: доработка программы для решения конкретных задач; составление документации к решенной задаче, математической модели, алгоритму, про- грамме, по их использованию. Практика применения персональных компьютеров в различных отраслях науки, техники и производства показала, что наибольшую эффективность от внедрения вычислительной техники обеспечивают не отдельные ПК, а вычислительные сети — совокупность компьютеров и терминалов, соединённых с помощью каналов связи в единую систему распределённой обработки данных. Поколения электронных вычислительных машин Развитие электронных вычислительных машин можно условно разбить на несколько этапов (поколений ЭВМ), которые имеют свои характерные особенности. Первый этап (ЭВМ первого поколения) — до конца 50-х годов XX века. Точкой отсчёта эры ЭВМ считают 1946 г., когда был создан первый электронный цифровой компьютер «Эниак» (Electronic Numerical Integrator and Computer). Вычислительные машины этого поколения строились на электронных лампах, потребляющих огромное количество электроэнергии и выделяющих много тепла. Числа в ЭВМ вводились с помощью перфокарт и набора переключателей, а программа зада- валась соединением гнезд на специальных наборных платах. Производительность такой гигантской ЭВМ была ниже, чем современного калькулятора. Широкому использованию этих ЭВМ, кроме доро- говизны, препятствовали также низкая надёжность, ограниченность их ресурсов и чрезвычайно тру- доёмкий процесс подготовки, ввод и отладка программ, написанных на языке машинных команд. Основными их пользователями были ученые, решавшие наиболее актуальные научно-технические задачи, связанные с развитием реактивной авиации, ракетостроения и т.д. Среди известных отечественных машин первого поколения необходимо отметить БЭСМ-1 (большая электронная счётная машина), Стрела, Урал, М-20. Типичные характеристики ЭВМ первого поколения (на примере БЭСМ-1, 1953 г.): ёмкость памяти — 2048 слов; быстродействие — 7000— 8000 оп./с; разрядность — 39 разрядов; арифметика — двоичная с плавающей запятой; система ко- манд — трёхадресная; устройство ввода — перфолента; количество электронных ламп в аппаратуре — около 4000; внешние запоминающие устройства — барабаны на 5120 слов; магнитная лента — до 119 120000 слов; вывод на быструю цифровую печать — 300 строк в минуту. Отечественная ЭВМ М-20 (20 тыс. оп./с) была одной из самых быстродействующих машин первого поколения в мире. Основной режим использования машин первого поколения состоял в том, что математик, со- ставивший программу, садился за пульт управления машиной и производил необходимые вычисле- ния. Чаще всего работа за пультом была связана с отладкой своей собственной программы — наибо- лее длительным по времени процессом. При этом класс математика-программиста определялся его умением быстро находить и исправлять ошибки в своих программах, хорошо ориентироваться за пультом ЭВМ. В этот период началась интенсивная разработка средств автоматизации программирования, создание входных языков разных уровней, создание систем обслуживания программ, упрощающих работу на машине и увеличивающих эффективность её использования. Второй этап (ЭВМ второго поколения) — до середины 60-х годов XX века. Развитие электроники привело к изобретению в 1948 г. нового полупроводникового устрой- ства — транзистора, который заменил лампы (создатели транзистора — сотрудники американской фирмы Bell Laboratories физики У. Шокли, У. Браттейн и Дж. Бардин за это достижение были удостое- ны Нобелевской премии). Появление ЭВМ, построенных на транзисторах, привело к уменьшению их габаритов, массы, энергопотребления и стоимости, а также к увеличению их надёжности и произво- дительности. Одной из первых транзисторных ЭВМ была созданная в 1955 г. бортовая ЭВМ для меж- континентальной баллистической ракеты ATLAS. Если с технической точки зрения переход к машинам второго поколения чётко очерчен пере- ходом на полупроводники, то со структурной точки зрения ЭВМ второго поколения характеризуются расширенными возможностями по вводу-выводу, увеличенным объёмом запоминающих устройств, развитыми системами программирования. В рамках второго поколения все более чётко проявляется дифференциация ЭВМ на малые, средние и большие, позволившая существенно расширить сферу применения ЭВМ, приступить к со- зданию автоматизированных систем управления (АСУ) предприятиями, целыми отраслями и техно- логическими процессами. Стиль использования ЭВМ второго поколения характерен тем, что теперь математик- программист не допускается в машинный зал, а свою программу, обычно записанную на языке высо- кого уровня, отдаёт в группу обслуживания, которая занимается дальнейшей обработкой его задачи — перфорированием и пропуском на машине. Среди известных отечественных машин второго поколения необходимо отметить БЭСМ-4, М- 220 (200 тыс. оп./с), Наири, Мир, МИНСК, РАЗДАН, Днепр. Наилучшей отечественной ЭВМ второго поколения считается БЭСМ-6, созданная в 1966 г. Она имела основную и промежуточную память (на магнитных барабанах) объёмами соответственно 128 и 512 Кбайт, быстродействие порядка 1 млн оп./с и довольно обширную периферию (магнитные ленты и диски, графопостроители, разнообраз- ные устройства ввода-вывода) . В этот период появились так называемые алгоритмические языки высокого уровня, средства которых допускают описание всей необходимой последовательности вычислительных действий в наглядном, легко воспринимаемом виде. Программа, написанная на алгоритмическом языке, непо- нятна компьютеру, воспринимающему только язык своих собственных команд. Поэтому специаль- 120 ные программы, которые называются трансляторами, переводят программу с языка высокого уровня на машинный язык. Появился широкий набор библиотечных программ для решения разнообразных математиче- ских задач. Были созданы мониторные системы, управляющие режимом трансляции и исполнении программ. Из мониторных систем в дальнейшем выросли современные операционные системы (комплексы служебных программ, обеспечивающих лучшее распределение ресурсов ЭВМ при ис- полнении пользовательских задач). Первые ОС просто автоматизировали работу оператора ЭВМ, связанную с выполнением за- дания пользователя: ввод в ЭВМ текста программы, вызов нужного транслятора, вызов необходимых библиотечных программ и т.д. Теперь же вместе с программой и данными в ЭВМ вводится ещё и ин- струкция, где перечисляются этапы обработки и приводится ряд сведений о программе и её авторе. Затем в ЭВМ стали вводить сразу по нескольку заданий пользователей (пакет заданий), ОС стали рас- пределять ресурсы ЭВМ между этими заданиями — появился мультипрограммный режим обработ- ки. |