Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УДК 004.doc
Скачиваний:
7
Добавлен:
27.03.2015
Размер:
4.63 Mб
Скачать

УДК 004(075.8) ББК 32.81я73 КТК 21 И 74

Рецензенты:

кафедра «Информационные системы в строительстве» РГСУ, доктор технических наук, профессор РГУ А.В. Аграновский

И 74 Информатика : учебник / Б.В. Соболь [и др.]-Изд. 3-е, дополн.

и перераб. — Ростов н/Д: Феникс, 2007. — 446 [1] с.«(Высшее

образование).

ISBN 978-5-222-12081-1

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

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

УДК 004(075.8)

ISBN 978-5-222-12081-1 ББК 32.81я73

© Соболь Б.В., Галин А.Б., Панов Ю.В., Рашидова Е.В., Садовой Н.Н., 2007 © Оформление, изд-во «Феникс», 2007

nPEQUCnOBUE

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

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

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

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

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

Авторы

список СОКРЙШЕНий

ABM

-

аналоговая вычислительная машина

АЛУ

. -

арифметико-логическое устройство

АО

-

аппаратное обеспечение

АПС

-

аппаратно-программное средства

АЦП

-

аналогово-цифровой преобразователь

БД

-

база данных

БИС

-

большая интегральная схема

ВЗУ

-

внешнее запоминающее устройство

ГВС

глобальные вычислительные сети

ДНФ

-

дизъюнктивная нормальная форма

ЖКИ

-

жидкокристаллические индикаторы

ИС

-

информационная система

КНФ

■ -

конъюнктивная нормальная форма

КС

-

компьютерная система

ЛВС

-

локальные вычислительные сети

нсд

несанкционированный доступ

ОЗУ

-

оперативное запоминающее устройство

ООП

-

объектно-ориентированное проектирование

ОС

-

операционная система

ПЗУ

постоянное запоминающее устройство

по

-

программное обеспечение

ППЗУ

' -

перепрограммируемые ПЗУ

ппо

-

прикладное программное обеспечение

ппп

-

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

РОН

-

регистры общего назначения

СА

-

сетевой адаптер

САУ

система автоматического управления

СБИС

сверхбольшая интегральная схема


свт

— средства вычислительной техники

СУБД

— система управления базой данных

ФС

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

ФСА

— функциональная структура алгоритма

ЦАП

— цифро-аналоговый преобразователь

ЦВМ

— цифровая вычислительная машина

ЦП

— центральный процессор

ЭВМ

— электронная вычислительная машина

ЭЛТ

— электронно-лучевая трубка


AGP (Accelerated Graphics Port) - локальная шина видеоконтрол­лера

CASE (Computer-Aided Software Engineering) - автоматизирован­ные системы проектирования программных средств

CD (Compact Disk) — оптический компакт-диск CD-R (CD-Recodable) — оптический компакт-диск с однократ­ной записью

CD-RW (CD-Rewritable) — оптический компакт-диск с много­кратной записью CISC (Complex Instruction Set Computer) — полная система ко­манд переменной длины CMYK — модель представления светоотражающих графических объектов

DDE (Dynamic Data Exchange) - динамический обмен данных DDoS (Distributed DoS) — DoS атака, проводимая в определен­ное время

DoS (Deny-of-Service) — атака на отказ в обслуживании DOS (Disk Operating System) - дисковая операционная система dpi (dots per inch) — количество точек на дюйм DRAM (Dynamic RAM) - ОЗУ динамического типа DVD (Digital Versatile Disk) - компакт-диск с высокой плотнос­тью записи

FRAM (Ferroelectric RAM) — ферроэлектрическая память с про­извольным доступом HTML (Hyper Text Markup Language) — универсальный язык раз­метки гипертекста HTTP (Hypertext Transfer Protocol) — протокол передачи гипер­текста

IP (Internet Protocol) — маршрутный протокол Интернет ISO (International Organization for Standardization) — Международ­ная организация по стандартизации LCD (Liquid Crystal Display) — жидкокристаллические индика­торы

LEP (Light Emission Plastics) — самоизлучающие мониторы MS (MicroSoft) Майкрософт — фирма-производитель программ­ного обеспечения OLE (Object Linking and Embedding) — принцип внедрения и свя­зывания объектов OMT(Object Modeling Technique) — технология объектного моде­лирования

OOSE (Object-Oriented Software Engineering) — объектно-ориен­тированная разработка программного обеспечения OSI (Model of Open System Interconnections) — модель взаимодей­ствия открытых систем PC (Personal Computer) — персональный компьютер PCI (Peripheral Component Interconnect) — общая шина настоль­ных компьютеров PCMCIA (Personal Computer Memory Card International Association) — общая шина переносных компьютеров PDP (Plasma Display Panels) — плазменные мониторы PL/1 (Programming Language One) — язык программирования (ПЛ/1)

PPM (Page Per Minute) — количество страниц в минуту RAM (Random Access Memory) — память со свободным доступом

RGB (Red Green Blue) — модель представления светоизлучающих графических объектов RISC (Reduced Instruction Set Computer) — сокращенный набор команд фиксированной длины ROM (Read Only Memory) — память только для чтения SMTP (Simple Mail Transfer Protocol) — простой протокол пере­сылки почты SRAM (Static RAM) — ОЗУ статического типа STP (Shielded Twisted Pair) — экранированная витая пара TFT (Thin Film Transistor) — жидкокристаллический экран с тон­копленочным транзистором TCP (Transmission Control Protocol) — транспортный протокол Интернет

UML (Unified Modeling Language) — унифицированный язык мо­делирования

URL (Uniform Resource Locator) — унифицированный указатель ресурса

UTP (Unshielded Twisted Pair) — неэкранированная витая пара WYSIWYG (What You See Is What You Get) — принцип «что видишь (на экране), то и получишь (при печати на листе)» WWW (World Wide Web ) — Всемирная паутина

1. информаций, информатика, информационные технологии

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

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

Начиная с XVII в. объем научной информации удваивался, при­мерно, каждые 20 лет, в настоящее время он удваивается в 5-6 лет и тенденция ускорения сохраняется. Одной из важнейших проблем человечества наших дней является лавинообразный рост потока ин­формации в любой отрасли жизнедеятельности. Подсчитано, что со­временный специалист должен тратить около 80 % своего рабочего времени, чтобы уследить за всеми новыми работами в его области деятельности.

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

1.1. информоиий

  1. Понятие инфорллоиии

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

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

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

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

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

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

Взаимодействия

Регистрация

процесс

Рис. 1.1. Формирование информации

Методы

1=>

Информация

Человек воспринимает первичные данные различными органами чувств (их у нас пять — зрение, слух, осязание, обоняние, вкус), и на их основе сознанием могут быть построены вторичные абстракт­ные (смысловые, семантические) данные.

Таким образом, первичная информация может существовать в виде

Из вышесказанного следует, что информация не является ста­тическим объектом, она появляется и существует в момент слияния методов и данных, все прочее время она находится в форме данных. Момент слияния данных и методов называется информационным про­цессом (рис. 1.1).

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

  1. СВойстВо инсрормаиии

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

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

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

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

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

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

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

  1. Понятие количество информации

Свойство полноты информации негласно предполагает, что име­ется возможность измерять количество информации. Какое количество информации содержится в данной книге, какое количество инфор­мации в популярной песенке? Что содержит больше информации: роман «Война и мир» или сообщение, полученное в письме от това­рища? Ответы на подобные вопросы не просты и не однозначны, так как во всякой информации присутствует субъективная компонента. А возможно ли вообще объективно измерить количество информа­ции? Важнейшим результатом теории информации является вывод

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

1.1.5. UHCpopMauun В жизни челоВечестВо

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

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

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

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

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

К середине XX в. появились быстрые технологические процес­сы, управлять которыми человек не успевал. Проблема управления техническими объектами могла решаться только с помощью универ­сальных автоматов, собирающих, обрабатывающих данные и выда­ющих решение в форме управляющих команд.' Ныне эти автоматы называются компьютерами. Бурно развивавшаяся наука и промыш­ленность привели к росту информационных ресурсов в геометричес­кой прогрессии, что породило проблемы доступа к большим объе­мам информации.

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

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

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

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

Развитие мировых информационных ресурсов позволило:

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

  • сформировать мировой и внутригосударственный рынок инфор­мационных услуг;

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

  1. ПреЗмет и структура информатики

Термин информатика получил распространение с середины 80-х гг. прошлого века. Он состоит из корня inform — «информация» и суффикса matics — «наука о...». Таким образом, информатика — это наука об информации. В англоязычных странах термин не прижил­ся, информатика там называется Computer Science - наука о компь­ютерах.

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

Информатика — это наука, изучающая:

  • методы реализации информационных процессов средствами вычис­лительной техники (СВТ);

  • состав, структуру, общие принципы функционирования С ВТ;

  • принципы управления С ВТ.

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

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

  • представление различных типов данных (числа, символы, текст, звук, графика, видео и т.д.) в виде, удобном для обработки СВТ (кодирование данных);

  • форматы представления данных (предполагается, что одни и те же данные могут быть представлены разными способами);

  • теоретические проблемы сжатия данных;

  • структуры данных, т.е. способы хранения с целью удобного дос­тупа к данным.

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

  • основы построения элементов цифровых устройств;

  • основные принципы функционирования цифровых вычисли­тельных устройств;

  • архитектура СВ7 — основные принципы функционирования систем, предназначенных для автоматической обработки данных;

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

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

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

  • средства взаимодействия аппаратного и программного обеспече­ния;

Развитие мировых информационных ресурсов позволило:

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

  • сформировать мировой и внутригосударственный рынок инфор­мационных услуг;

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

  1. ПреЗмет и структура информатики

Термин информатика получил распространение с середины 80-х гг. прошлого века. Он состоит из корня inform — «информация» и суффикса matics — «наука о...». Таким образом, информатика — это наука об информации. В англоязычных странах термин не прижил­ся, информатика там называется Computer Science - наука о компь­ютерах.

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

Информатика — это наука, изучающая:

  • методы реализации информационных процессов средствами вычис­лительной техники (СВТ);

  • состав, структуру, общие принципы функционирования С ВТ;

  • принципы управления С ВТ.

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

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

  • представление различных типов данных (числа, символы, текст, звук, графика, видео и т.д.) в виде, удобном для обработки СВТ (кодирование данных);

  • форматы представления данных (предполагается, что одни и те же данные могут быть представлены разными способами);

  • теоретические проблемы сжатия данных;

  • структуры данных, т.е. способы хранения с целью удобного дос­тупа к данным.

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

  • основы построения элементов цифровых устройств;

  • основные принципы функционирования цифровых вычисли­тельных устройств;

  • архитектура СВ7 — основные принципы функционирования систем, предназначенных для автоматической обработки данных;

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

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

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

  • средства взаимодействия аппаратного и программного обеспече­ния;

  • средства взаимодействия человека с аппаратным и программным обеспечением, объединяемые понятием интерфейс-,

  • программное обеспечение СВТ (ПО).

ИНФОРМАТИКА

Информацион­

Аппаратное

Программное

ные процессы

обеспечение

обеспечение

Теория

Логика.

Теория

кодирования.

Электроника.

алгоритмов.

Теория

Автоматика.

Логика.

информации.

Кибернетика

Теория графов.

Теория графов.

и др.

Теория игр.

Теория множеств.

Лингвистика

Логика и др.

Синтез цифровых

и Др.

Кодирование

устройств.

Интерфейсы.

данных.

Архитектура

Вспомогательные

Форматы данных.

СВТ.

программы.

Сжатие данных.

Аппараты

Системы

Структуры

и приборы

программирования.

данных

вычислительных

Прикладные

и др.

систем. Аппараты и приборы компьютерных сетей

программные

продукты

Рис. 1.2. Структура информатики

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

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

Обобщая сказанное, можно предложить следующую структурную схему (рис. 1.2):

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

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

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

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

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

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

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

Рис. 1.3. Классификация программного обеспечения

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

  1. ПребстаВление (кодирование) данным

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

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

Подготовка данных для обработки на компьютере (представле­ние данных) в информатике имеет свою специфику, связанную с электроникой. Например, мы хотим проводить расчеты на компью­тере. При этом нам придется закодировать цифры, которыми запи­саны числа. На первый взгляд, представляется вполне естественным кодировать цифру ноль состоянием электронной схемы, где напря­жение на некотором элементе будет равно 0 вольт, цифру единица — 1 вольт, двойку — 2 вольт и т.д., девятку — 9 вольт. Для записи каж­дого разряда числа в этом случае потребуется элемент электронной схемы, имеющий десять состояний. Однако элементная база элект­ронных схем имеет разброс параметров, что может привести к появ­лению напряжения, скажем, 3,5 вольт, а оно может быть истолкова-

но и как тройка и как четверка, т.е. потребуется на уровне электрон­ных схем «объяснить» компьютеру, где заканчивается тройка, а где начинается четверка. Кроме того, придется создавать весьма непро­стые электронные элементы для производства арифметических опе­раций с числами, т.е. на схемном уровне должны быть созданы таб­лица умножения - 10 х 10 = 100 схем и таблица сложения — тоже 100 схем. Для электроники 40-х гг. (время, когда появились первые вычислительные машины) это была непосильная задача. Еще слож­нее выглядела бы задача обработки текстов, ведь русский алфавит со­держит 33 буквы. Очевидно, такой путь построения вычислительных систем не состоятелен.

В то же время весьма просто реализовались электронные схе­мы с двумя устойчивыми состояниями: есть ток — 1, нет тока — 0, есть электрическое (магнитное) поле — 1, нет — 0. Взгляды создате­лей вычислительной техники были обращены на двоичное кодирова­ние как универсальную форму представления данных для дальнейшей обработки их средствами вычислительной техники. Предполагается, что данные располагаются в некоторых ячейках, представляющих упорядоченную совокупность из двоичных разрядов, а каждый раз­ряд может временно содержать одно из состояний — 0 или 1. Тогда группой из двух двоичных разрядов (двух бит) можно закодировать 22 = 4 различные комбинации кодов (00, 01, 10, 11); аналогично, три бита дадут 2? = 8 комбинаций, восемь бит или 1 байт — 28 = 256 и т.д.

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

  1. Представление чисел В 00оичном коЭе

Существуют различные способы записи чисел, например: мож­но записать число в виде текста — сто двадцать три; римской систе­ме счисления — CXXIII; арабской — 123.

Системы счисления

Совокупность приемов записи и наименования чисел называет­ся системой счисления.

Числа записываются с помощью символов, и по количеству сим­волов, используемых для записи числа, системы счисления подраз­деляются на позиционные и непозиционные. Если для записи числа используется бесконечное множество символов, то система счисле­ния называется непозиционной. Примером непозиционной системы счисления может служить римская. Например, для записи числа один используется буква I, два и три выглядят как совокупности симво­лов II, III, но для записи числа пять выбирается новый символ V, шесть — VI, десять — вводится символ X, сто — С, тысяча — Ми т.д. Бесконечный ряд чисел потребует бесконечного числа символов для записи чисел. Кроме того, такой способ записи чисел приводит к очень сложным правилам арифметики.

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

В повседневной жизни мы пользуемся десятичной позиционной системой счисления, q =10, т.е. используется 10 цифр: 0 1 2 3 4 5 6 7 8 9. •

Рассмотрим правила записи чисел в позиционной десятичной системе счисления. Числа от 0 до 9 записываются цифрами, для за­писи следующего числа цифры не существует, поэтому вместо 9 пи­шут 0, но левее нуля образуется еще один разряд, называемый стар­шим, где записывается (прибавляется) 1, в результате получается 10. Затем пойдут числа 11, 12, но на 19 опять младший разряд запол­нится и мы его снова заменим на 0, а старший разряд увеличим на 1, получим 20. Далее по аналогии 30, 40 ... 90, 91, 92 ... до 99. Здесь заполненными оказываются два разряда сразу; чтобы получить сле­дующее число, мы заменяем оба на 0, а в старшем разряде, теперь уже третьем, поставим 1 (т.е. получим число 100) и т.д. Очевидно, что, используя конечное число цифр, можно записать любое сколь угод-

но большое число. Заметим также, что производство арифметичес­ких действий в десятичной системе счисления весьма просто.

Число в позиционной системе счисления с основанием q может быть представлено в виде полинома по степеням q. Например, в де­сятичной системе мы имеем число

123,45 = 1 • 102+ 2 • 101 + 3 • 10°+ 4 • 10”1 + 5 * 10~2,

' • ■ . ’* * * ? . ♦ ', I

а в общем виде это правило запишется так:

X(4)=xn_1qn-1 + xn_2qn-2 +...+x,q1 + x0q°+ x_,q-' + x_2q-2 +... + x_raq-m.

Здесь X(q) — запись числа в системе счисления с основанием q;

х* — натуральные числа меньше q, т.е. цифры;

п — число разрядов целой части;

m — число разрядов дробной части.

Записывая слева направо цифры числа, мы получим закодиро­ванную запись числа в q-ичной системе счисления:

X(q)=Xn-lXn-2XlX0,X-lX-2X-m*

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

0 + 0 = 0

0x0 = 0

0+1 = 1

0x1=0

1+0=1

1x0 = 0

1 + 1 = 10

1x1 = 1


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

Но запись числа в двоичной системе счисления длиннее записи того же числа в десятичной системе счисления в log^ 10 раз (пример­но в 3,3 раза). Это громоздко и не удобно для использования, так как обычно человек может одновременно воспринять не более пяти­семи единиц информации, т.е. удобно будет пользоваться такими си­стемами счисления, в которых наиболее часто используемые числа (от единиц до тысяч) записывались бы одной-четырьмя цифрами. Как это будет показано далее, перевод числа, записанного в двоич­ной системе счисления, в восьмеричную и шестнадцатеричную очень сильно упрощается по сравнению с переводом из десятичной в дво­ичную. Запись же чисел в них в три раза короче для восьмеричной и в четыре для шестнадцатеричной системы, чем в двоичной, но дли­ны чисел в десятичной, восьмеричной и шестнадцатеричной систе­мах счисления будут различаться ненамного. Поэтому, наряду с дво­ичной системой счисления, в информатике имеют хождение восьмеричная и шестнадцатеричная системы счисления.

Восьмеричная система счисления имеет восемь цифр: 0 12 3 4 5 6 7. Шестнадцатеричная — шестнадцать, причем первые 10 цифр совпадают по написанию с цифрами десятичной системы счисления, а для обозначения оставшихся шести цифр применяются большие латинские буквы, т.е. для шестнадцатеричной системы счисления получим набор цифр: 0123456789ABCDEF.

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

231(10)= 11100111<2) = 347(8) = Е7(16).

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

Десятичная

Двоичная

Восьмерич­

ная

Шестнадцате­

ричная

0

0

0

0

1

1

1

1

2

10

2

2

3

И

3

3

4

100

4

4

5

101

5

5


Десятичная

Двоичная

Восьме­

ричная

Шестнадца­

теричная

6

110

6

6

7

111

7

7

8

1000

10

8

9

1001

11

9

10

1010

12

А

11

1011

13

В

12

1100

14

С

13

1101

15

D

14

1110

16

Е

15

1111

17

F

16

10000

20

10

17

10001

21

11


Преобразование чисел из оЗной системы счисления В Зругую

Так как десятичная система для нас удобна и привычна, все арифметические действия мы делаем в ней, и преобразование чисел из произвольной недесятичной (q *10) системы в десятичную удоб­но выполнять на основе разложения по степеням q, например:

11100111ш- 1 х 27+ 1 х 26+ 1 х 25 + 0 х 24 + 0 х 23+ 1 х 22 + + 1 х 21 + 1 х 2°= 128 + 64 + 32 + 4 + 2 + 1 = 231(10),

или 347(8 = 3х82+4х8'+7х8°=3х 64 + 4x8 + 7 = 231(10).

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

Рассмотрим алгоритм на примере перевода десятичного числа 231 в двоичную систему (совершенно аналогичен перевод из деся­тичной системы в любую q-ичную). Разделим число на два (основа­ние системы): нацело 231 : 2 = 115 и остаток 1, т.е. можно записать 231 = 115x2*+ 1 х 2°.

Число 115 (такой двоичной цифры нет) тоже может быть раз­делено нацело на 2, т.е. 115 : 2 = 57 и остаток 1. По аналогии запи­шем

231 = (57 х 2 + 1) х 2 + 1 = 57 х 22 + 1 х I1 + 1 х 2°;

аналогично продолжим процесс дальше:

nPEQUCnOBUE 3

список СОКРЙШЕНий 5

1. информаций, информатика, информационные технологии 9

1.1. информоиий 10

X(4)=xn_1qn-1 + xn_2qn-2 +...+x,q1 + x0q°+ x_,q-' + x_2q-2 +... + x_raq-m. 26

2. Технические cpedcmBo реализации информационный лроиессоВ 78

ill 84

3. Системное программное обеспечение 114

4. Прикладное программное обеспечение 194

■ i, 277

шгаши1яшяясяшяшш 279

шш 340

ЁЁТ 362

К 362

S3" 366

г<Е 366

Информатика 507

+ 1 = 14 х 24+ 1 х 22+ 1 х 21 + 1 х 2°.

14 : 2 = 7, остаток 0; 231=((((7 х Z+ 0) х 2 + 0) х 2 + 1) х 2 + 1)х х 2 + 1 = 7 х 25+1 х22+1 х 2‘+1 х 2°.

7:2 = 3, остаток 1; 231 = (((((3 х 2 + 1) х 2 + 0) х 2 + 0) х 2 + + 1) х 2 + 1) х 2 + 1 = 3 х 26+ 1 х25+ 1 х 22+ 1 х 2‘ + 1 х 2°.

3:2= 1; остаток 1; далее процесс продолжать нельзя, так как 1 не делится нацело на 2.

231 = ((((((1 х 2 + 1) х 2 + 1) х 2 + 0) х 2 + 0) х 2 + 1) х 2 + 1) х х 2 + 1 = 1 k 27+ 1 х 26+ 1 х 2S+ 1 х 22+ 1 х 2‘ + 1 х 2°.

Таким образом, последовательное деление нацело позволяет раз­ложить число по степеням двойки, а это в краткой записи и есть двоичное изображение числа.

231 = 1 х 27 + 1 х 2‘ + 1 х 25 + 0 х 24 + 0 х 23 +1 х 22 + 1 х 2' + + 1x2°= 11100111{2).

Эти выкладки можно сократить, записав процесс деления сле­дующим образом:

231<10) = 11100111 (2)

Читая частное и остатки от деления в порядке, обратном полу­чению, получим двоичную запись числа. Такой способ перевода чи­сел называется правилом (алгоритмом) последовательного деления, очевидно, что он применим для любого основания.

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

Умножим его на 2, т.е. 0,8125 х 2 = 1,625 или 0,8125 = (1 + 0,625) х х2"‘= 1 х 2-'-+ 0,625 x 2-'.

Аналогично 0,625 = (1 + 0,25) х 2-1 или

0,8125 = 1 х 2-' + (1 + 0,25) х 2Л х 2~' = 1 х 2-' + 1 х 2~2 + + 0,25 х 2~г, но 0,25 = 0,5 х 2

0,8125 = 1 х 2~У+ (1 + 0,5 х 2'1) х 2 ' х 2"' = 1 х 2'1 + 1 х 2“2 + + 0,5 х 2_3 , но 0,5 = 1 х 2~‘.

  1. 8125 = 1x2-' + 1 х 2"2 + L х 2"' х 2”3 = 1 х 2~l + 1 х 2~2+ 1 х 2~4.

В итоге получаем, что 0,8l25(IO) = 1 х 2'1 + 1 х 2_2 + 1 х 2"4 = = 0,1101{2. Сокращая выкладки, получим правило (алгоритм) после­довательного умножения;

0

8125

2

1

625

2

1

250

2

0

5

2

1

0


Попутно заметим, что в десятичной системе счисления правиль­ная дробь переводится в десятичную дробь в конечном виде только в том случае, если ее знаменатель в качестве множителей имеет толь-

к

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

Если ведутся приближенные вычисления, то последний разряд является сомнительным, и для обеспечения в приближенных вычис­лениях одинаковой точности в двоичной и десятичной записях чис­ла без бесконечных дробей, достаточно взять число двоичных разря­дов в (logjlO ~ 3,3) 4 раза больше, чем десятичных.

Между двоичной системой счисления, с одной стороны, и восьмеричной и шестнадцатеричной (заметим, 8 и 16 — есть третья и четвертая степени двойки) — с другой, существует связь, позволя­ющая легко переводить числа из одной системы в другую. Рассмот­рим на примере:

231,8125(|0= 11100111,U01(?)= 1 х 27+ 1 х 26 + 1 х 25 + 1 х 22 + + 1 х 2' + 1 х 2°+ 1 х 2 ' + 1 х 2'2+1 х 2-4.

Для перевода в шестнадцатеричную систему счисления сгруппи­руем целую и дробную части в группы по четыре члена и вынесем в каждой группе за скобки множители, кратные 24. Получим:

(1 х 23 + 1 х 22 + 1 х 2' + 0 х 2°) х 24 + (1 х 23 + 1 х 22 + 1 х 2' + + 1x2°) + (1. x 23 + 1 х 22 + 0 х 2' + 1 х 2°) х 2*= (1 х 23 + 1 х 22 + + 1 х 2' + 0) х 16' + (1 х 22 + 1 х 2' + 1 х 2°) х 16° + (1 х 23 + 1 х 22 + + 0 х 2' + 1 х 2°) х 16-' = 14 х 161 + 7 х 16° + 13 х 16'1 = E7.D(16)

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

Аналогичное правило для восьмеричной системы читатель вы­ведет сам.

ПреЭстабление чисел 6 ЭВоичном коЗе

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

Действительное число многообразно в своих «потребительских свойствах». Числа могут быть целые точные, дробные точные, раци­ональные, иррациональные, дробные приближенные, числа могут быть положительными и отрицательными. Числа могут быть «кар­ликами», например, масса атома, «гигантами», например, масса Зем­ли, реальными, например, количество студентов в группе, возраст, рост. И каждое из перечисленных чисел потребует для оптимального представления в памяти свое количество байтов.

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

Целые числа. Целые положительные числа от 0 до 255 можно представить непосредственно в двоичной системе счисления (двоич­ном коде). Такие числа будут занимать один байт в памяти компью­тера.

Число

Двоичный код числа

0

0000 0000

1

0000 0001

2

0000 0010

3

0000 0011

255

1111 1111


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

Если нужны и отрицательные числа, то знак числа может быть закодирован отдельным битом, обычно это старший бит; ноль ин­терпретируется как плюс, единица как минус. В таком случае одним байтом может быть закодированы целые числа в интервале от —127 до +127, причем двоичная арифметика будет несколько усложнена, так как в этом случае существуют два кода, изображающих число ноль 0000 0000 и 1000 0000, и в компьютерах на аппаратном уровне это потребуется предусмотреть. Рассмотренный способ представ­ления целых чисел называется прямым кодом. Положение с отрица­тельными числами несколько упрощается, если использовать, так на­зываемый, дополнительный код. В дополнительйом коде положитель­ные числа совпадают с положительными числами в прямом ко­де, отрицательные же числа получаются в результате вычитания из 1 0000 0000 соответствующего положительного числа. Например, чис­ло —3 получит код 1 0000 0000

  1. ООП 1111 1101

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

  1. 0101 1111 1101

1 0000 0010, т.е., отбрасывая подчеркнутый старший разряд, получим 2.

Аналогично целые числа от 0 до 65536 и целые числа от —32768 до 32767 в двоичной (шестнадцатеричной) системе счисления пред­ставляются в двухбайтовых ячейках. Существуют представления це­лых чисел и в четырехбайтовых ячейках.

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

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

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

X = ш • qp, где m — мантисса числа; q — основание системы счисления; р — целое число, называемое порядком.

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

То есть число 4235,25 может быть записано в одном из видов: 4235,25 = 423,525-10'= 42,3525-102 = 4,23525-103 = 0,423525-104. Очевидно, такое представление не однозначно. Если мантисса

  1. / q й |m| < q (0,1 й |т| < 1 для десятичной системы счисления), то представление числа становится однозначным, а такая форма назы­вается нормализованной. Если «плавающая» точка расположена в ман­тиссе перед первой значащей цифрой, то при фиксированном коли­честве разрядов, отведенных под мантиссу, обеспечивается запись максимального количества значащих цифр числа, т.е. максимальная точность.

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

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

Порядок числа может быть как положительным, так и отрица­тельным. Чтобы отразить это в двоичной форме, величина порядка представляется в виде суммы истинного порядка и константы, рав­ной абсолютной величине максимального по модулю отрицательно^- го порядка, называемой смещениеу. Например, если порядок может принимать значения от —128 до 127 (8 бит), тогда, выбрав в каче­стве смещения 128, можно представить диапазон значений порядка от 0 (—128+128, порядок + смещение) до 255 (127+128).

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

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

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

Вещественные числа в памяти компьютера, в зависимости от требуемой точности (количества разрядов мантиссы) и диапазона значений (количества разрядов порядка), занимают от четырех до десяти байтов. Например, четырехбайтовое вещественное число име­ет 23 разряда мантиссы (что соответствует точности числа 7—8 деся­тичных знаков) и 8 разрядов порядка (обеспечивающих диапазон значений 10±38). Если вещественное число занимает десять байтов, то мантиссе отводится 65 разрядов, а порядку — 14 разрядов. Это обес­печивает точность 19—20 десятичных знаков мантиссы и диапазон значений 10±4931.

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

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

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

  1. ПреЭстоВление симВольнын и текстоВык Заннык В ЗВоичном коЭе

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

  • и письменность). Слово есть минимальная первичная единица язы­ка, представляющая собой специальный набор символов и служащая для наименования понятий, предметов, действий и т.п. Следующим по сложности элементом языка является предложение — конструкция, выражающая законченную мысль. На основе предложений строится текст. Текст (от лат. textus — ткань, соединение) — высказывание, выходящее за рамки предложения и представляющее собой единое и целое, наделенное внутренней структурой и организацией в соот­ветствии с правилами языка.

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

Символы. Для представления символов в числовой форме был предложен метод кодирования, получивший в дальнейшем широкое распространение и для других видов представления нечисловых дан­ных (звуков, изображений и др.). Кодом называется уникальное без­знаковое целое двоичное число, поставленное в соответствие неко­торому символу. Под алфавитом компьютерной системы понимают совокупность вводимых и отображаемых символов. Алфавит компь­ютерной системы включает в себя арабские цифры, буквы латинс­кого алфавита, знаки препинания, специальные символы и знаки, буквы национального алфавита, символы псевдографики — растры, прямоугольники, одинарные и двойные рамки, стрелки. Первона­чально для хранения кода одного символа отвели 1 байт (8 битов), что позволяло закодировать алфавит из 256 различных символов. Система, в которой каждому символу алфавита поставлен в соответ­ствие уникальный код, называется кодовой таблицей. Разные произ­водители средств вычислительной техники создавали для одного и того же алфавита символов свои кодовые таблицы. Это приводило к тому, что символы, набранные с помощью одной таблицы кодов, отображались неверно при использовании другой таблицы. Для ре­шения проблемы многообразия кодовых таблиц в 1981 г. Институт стандартизации США принял стандарт кодовой таблицы, получив­шей название ASCII (American Standard Code of Information Interchange — американский стандартный код информационного об­мена). Эту таблицу использовали программные продукты, работаю­щие под управлением операционной системы MS-DOS, разработан­ной компанией Microsoft по заказу крупной фирмы — производителя персональных компьютеров IBM (International Business Machine). Широкое распространение персональных компьютеров фирмы IBM привело к тому, что стандарт ASCII приобрел статус международ­ного.

В таблице ASCII содержится 256 символов и их кодов. Таблица состоит из двух частей: основной и расширенной. Основная часть (символы с кодами от 0 до 127 включительно) является базовой, она в соответствии с принятым стандартом не может быть изменена. В нее вошли: управляющие символы (им соответствуют коды с 1 по 31), арабские цифры, буквы латинского алфавита, знаки препинания, специальные символы (табл. 1.1).

Расширенная часть (символы с кодами от 128 до 255) отдана национальным алфавитам, символам псевдографики и некоторым специальным символам. В соответствии с утвержденными стандар-

Код

Код

Код

Код

Код

Код

Код

Код

32

пробел

44

56

8

68

D

80

Р

92

\

104

h

116

t

33

1

45

57

9

69

Е

81

0

93

1

105

i

117

u

34

**

46

58

70

F

82

R

94

106

j

118

V

35

К

47

/

59

71

G

83

S

95

107

k

119

w

36

$

48

. 0

60

<

72

Н

84

Т

96

*

108

1

120

X

37

У.

49

1

61

=

73

I

85

и

97

а

109

m

121

у

38

&

50

2

62

>

74

J

86

V

98

ь

110

n

122

z

39

*

51

3

63

?

75

К

87

W

99

с

111

0

123

{

40

(

52

4

64

0

76

L

88

и

100

d

112

p

124

1

41

)

53

5

65

Р

77

М

89

V

101

е

113

q

125

}

42

9*

54

6

66

В

78

N

90

г

102

f

114

r

126

43

55

7

67

С

79

0

91

[

103

g

115

s

127

o


тами эта часть таблицы изменяется в зависимости от национально­го алфавита той страны, где она используется, и способа кодирова­ния. Именно поэтому, при наименовании программ, документов и других объектов желательно использовать латинские буквы, содержа­щиеся в основной, неизменяемой части таблицы, так как русскоязыч­ные имена при несоответствии таблиц кодирования будут неверно отображаться. Например, операционная система Windows поддержи­вает большое число расширенных таблиц для различных нацио­нальных алфавитов. В России наиболее распространенной кодовой таблицей алфавита русского языка является «латиница Windows 1251» (табл. 1.2). .

В качестве другого примера рассмотрим расширенную таблицу «ГОСТ—альтернативная» (табл. 1.3), на смену которой пришла «ла­тиница Windows 1251».

Во многих странах Азии 256 кодов явно не хватило для кодиро­вания их национальных алфавитов. В 1991 г. производители про­граммных продуктов и организации, утверждающие стандарты, при­шли к соглашению о выработке единого стандарта. Этот стандарт построен по 16 битной схеме кодирования и получил название UNICODE. Он позволяет закодировать 216= 65536 символов, кото­рых достаточно для кодирования всех национальных алфавитов в одной таблице. Так как каждый символ этой кодировки занимает два байта (вместо одного, как раньше), все текстовые документы, пред-

Код

Символ

Код

Символ

Код

Зимвш

Код

С им во

Код

ZtfMBOJ

Код

Гимвш

Код

'kmboj

Код

Симва

128

ъ

144

?

160

176

192

А

208

р

224

a

240

Р

129

г

145

161

У

177

±

193

Б

209

с

225

6

241

С

130

146

162

?

178

1

194

В

210

т

226

в

242

Т.

131

t

147

«

163

j

179

1

195

Г

211

У

227

г

243

У

132

148

*

164

п

180

f

196

д

212

ф

228

д

244

ф

133

149

.

165

г

181

я

197

Е

213

X

229

е

245

X

134

t

150

_

166

1

182

я

198

Ж

214

ц

230

ж

246

ч

135

%

151

167

§

183

199

3

215

ч

231

a

247

ч

136

152

168

Ё

184

ё

200

и

216

ш

232

и

248

ш

137

%0

153

169

©

185

201

й

217

щ

233

й

249

Щ

138

154

гь

170

е

186

е

202

к

218

ъ

234

к

250

ъ

139

<

155

>

171

«

187

»

203

Л

219

ы

235

Л

251

ы

140

Нэ

156

н>

172

188

i

204

м

220

ь

236

м

252

ь

141

К

157

к

173

189

S

205

н

221

э

237

н

253

э

142

ъ

158

Л

174

®

190

S

206

о

222

ю

238

0

254

ю

143

и

159

М

175

Т

191

Т

207

п

223

я

239

п

255

я


Таблииа 1.3. Расширенная таблииа «ГОСТ-альтернатиВная»

Код

Код

Код

Код

Код

Код

Код

Код

128

Я

144

Б

160

В

176

Г

192

а

208

Е

224

Ж

240

3

129

И

145

Й

161

К

177

Л

193

м

209

Н

225

0

241

П

130

Р

146

С

162

Т

178

У

194

ф

210

X

226

Ц

242

ч

131

ш

147

Щ

163

Ъ 179

ы

195

ь

211

3

[227

Ю

243

я

132

a

148

б

164

В

180

г

196

д

212

е

228

ж

244

3

133

и

149

й

165

к

181

п

197

м

213

н

229

о

245

п

134

150

111

166

1

182

1

198

214

i

230

i

246

ч

135

1

151

\

167

1

183

199

i

215

231

247

1

136

137

138

139

140

141

142

143

L

8.

X

+

Р

ш

Е

о

152

153

154

155

156

157

158

159

1

г

Т

с

щ

ё

168

169

170

171

172

173

174

175

I

т

г

т

ъ

е

184

185

186

187

188

189

190

191

I

1

У

ы

е

200

201

1202

203

204

205

  1. 207

t

Ф

ь

1

W

216

217

218

219

  1. [221 222 223

+

/

к

э

1

а

232

233

234

235

236

237

238

239

1

t

u

ю

9

1

248

249

250

251

252

253

254

255

1

i

ч

я

У

ставленные в UNICODE, стали длиннее в два раза. Современный уровень технических средств нивелирует этот недостаток UNICODE.

Текстовые строки. Текстовая (символьная) строка — это конеч­ная последовательность символов. Это может быть осмысленный текст или произвольный набор, короткое слово или целая книга. Длина символьной строки — это количество символов в ней. Запи­сывается в память символьная строка двумя способами: либо число, обозначающее длину текста, затем текст, либо текст, затем — разде­литель строк.

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

  1. ЛреЭстоВление зВукоВын Эаннын В ЭВоичном коЗе

Звук — это упругая продольная волна в воздушной среде. Чтобы ее представить в виде, читаемом компьютером, необходимо выпол­нить следующие преобразования (рис. 1.4.). Звуковой сигнал преоб­разовать в электрический аналог звука с помощью микрофона. Элек­трический аналог получается в непрерывной форме и не пригоден для обработки на цифровом компьютере. Чтобы перевести сигнал в цифровой код, надо пропустить его через аналого-цифровой преобразо­ватель (АЦП). При воспроизведении происходит обратное преобра­зование — цифро-аналоговое (через ЦАП). Позже будет показано, что конструктивно АЦП и ЦАП находятся в звуковой карте компьютера.

Во время оцифровки сигнал дискретизируется по времени и по уровню (рис. 1,5.). Дискретизация по времени выполняется следую­щим образом: весь период времени Т разбивается на малые

АЦП

звук

КОМПЬЮТЕР

Дискретизация двоичного кода

Упругая волна в воздушной среде

Токовый аналог звука

Обработка

кода

Рис. 1.4. Схема обработки звукового сигнала

интервалы времени At, точками t,, Ц, ... tn. Предполагается, что в течение интервала At уровень сигнала изменяется незначительно и может с некоторым допущением считаться постоянным. Величина v = 1/At называется частотой дискретизации. Она измеряется в гер­цах (Гц) — количество измерений в течение секунды.

Дискретизация по уровню называется квантованием и выполня­ется так: область изменения сигнала от самого малого значения X .

min

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

ДХ = (X - X . )/N.

' шах min''

Точками Х„ X,, ... X . X.= X . +■ДХ • (i - 1).

1’ Z7 П I пип ' '

Каждый квант связывается с его порядковым номером, т.е. це­лым числом, которое легко может быть представлено в двоичной системе счисления. Если сигнал после дискретизации по времени (напомним, его принимаем за постоянную величину) попадает в про­межуток Х.,< X < X., то ему в соответствие ставится код i.

Возникают две задачи:

  • первая: как часто по времени надо измерять сигнал,

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

Ответ на первую задачу дает теорема Найквиста, которая утвер­ждает, что, если сигнал оцифрован с частотой v, то высшая «слыши­мая» частота будет не более v/2. Вторая задача решается подбором числа уровней так, чтобы звук не имел высокого уровня шума и «электронного» оттенка звучания (точнее, это характеризуется уров­нем нелинейных искажений). Попутно заметим, что число уровней берется как 2". Чтобы измерение занимало целое число байт; v вы­бирают п = 8 или п = 16, т.е. каждое измерение занимает один или два байта.

Высокое качество воспроизведения получается в формате лазер­ного аудиодиска при следующих параметрах оцифровки: частота дис­кретизации — 44,1 кгц, квантование — 16 бит, т.е. Дх = (Xmax— Xmin)/ 216. Таким образом, 1 с стереозвука займет 2 байт • 44100байт/с •

  • 2 кан • 1 с = 176 400 байт дисковой памяти. Качество звука при этом получается очень высоким.

Для телефонных переговоров удовлетворительное качество полу­чается при частоте дискретизации 8 кгц и частоте квантования 255 уровней, т.е. 1 байт, при этом 1 с звуковой записи займет на диске

  1. байт • 8000 байт/с • 1 с = 8000 байт.

  1. ПреЭстаВление графический Эаннын В ЭВоичном коЭе

Есть два основных способа представления изображений.

Первый — графические объекты создаются как совокупности линий, векторов, точек — называется векторной графикой.

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

Модель RGB. Чтобы оцифровать цвет, его необходимо измерить. Немецкий ученый Грасман сформулировал три закона смешения цве­тов:

  1. закон трехмерности — любой цвет может быть представлен ком­бинацией трех основных цветов;

  2. закон непрерывности — к любому цвету можно подобрать беско­нечно близкий; .

  3. закон аддитивности — цвет смеси зависит только от цвета состав­ляющих.

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

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

голубой (Cyan = В + G), дополняющий красного; пурпурный (Magenta — R + В), дополняющий зеленого; желтый (Yellow — R + G), дополняющий синего.

f

Но так как цветные красители по отражающим, свойствам не одинаковы, то для повышения контрастности применяется еще чер­ный (black). Модель CMYK названа по первым буквам слов Cyan, Magenta, Yellow и последней букве слова black. Так как цвета вычи­таются, модель называется субстрактивной.

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

Если для кодирования яркости каждой точки использовать по одному байту (8 бит) на каждый из трех цветов (всего 3 • 8 = 24 бита), то система обеспечит представление 224« 16,7 млн распознаваемых цветов, что близко цветовосприятию человеческого зрения. Режим представления цветной графики двоичным кодом из 24 разрядов на­зывается полноцветным или True Color. Очевидно, графические дан­ные, также как и звуковые, занимают очень большие объемы на но­сителях. Например, скромный по современным мерКам экран монитора имеет растр 800 х 600 точек, изображение, представлен­ное в режиме True Color, займет 800 х 600 х 3 — 1 440 000 байт.

В случае, когда не требуется высокое качество отображения цве­та, применяют режим High Color, который кодирует одну точку рас­тра двумя байтами (16 разрядов дают 2'6 « 65,5 тысячи цветов).

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

  1. Понятие сжатия инсрормаиии

Еще одна проблема, тесно связанная с моделями представления информации, - сжатие информации.

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

Разработаны и применяются два типа алгоритмов сжатия: сжа­тие с изменением структуры данных (оно происходит без потери дан­ных) и сжатие с частичной потерей данных. Алгоритмы первого типа предусматривают две операции: сжатие информации для хранения, передачи и восстановление данных точно в исходном виде, когда их требуется использовать. Такой тип, сжатия применяется, например, для хранения текстов (наиболее известны алгоритмы Хаффмена и Лемпеля-Зива). Алгоритмы второго типа не позволяют полностью вос­становить оригинал и применяются для хранения графики или зву­ка; для текстов, чисел или программ они неприменимы.

  1. Структуры Заннын

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

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

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

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

Табличная структура данных. Табличная структура данных — это упорядоченная структура, в которой адрес данного однозначно оп­ределяется двумя числами — номером строки и номером столбца, на пересечении которых находится ячейка с искомым элементом.

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

Поиск, аналогично линейной структуре, осуществляется по раз­делителям. Если элементы таблицы одной длины, структура называ­ется матрицей данных, разделители в ней не требуются. При длине одного элемента — d, зная номер строки — m и номер столбца п, а также строк и столбцов М, N, найдем адрес его начала:

d [N(m - 1) + (n - 1)].

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

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

Иерархическую структуру образуют, например, почтовые адре­са (рис. 1.6).

Россия

Ростовская

область

Краснодарский

край

Ставропольский

край

Семикаракорский Ростов Красносулинский Белокалитвинский

район

район

район

Большая

Садовая

Буденновский

Ворошиловский

Рис. 1.6. Пример иерархической структуры данных

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

Россия\Ростовская область\Ростов\ул. Большая Садовая\ц. 1.

Линейная и табличная структуры более просты, чем иерархичес­кая Структура, но если в линейной структуре появляется новый эле­мент, то упорядоченность сбивается. Например, если в списке сту­дентов появляется новый человек, то расположенный по алфавиту список нарушается.

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

  1. Нронение данным

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

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

Имя файла состоит из некоторого набора символов и для боль­шинства файловых систем может содержать до 256 знаков. Имя фай­ла может быть дополнено расширением, которое определяет тип ин­формации, хранящейся в файле. Расширение содержит от одного до трех символов и отделяется от имени точкой. Большинство программ при создании файла автоматически добавляют к имени свое уникаль­ное расширение, которое помогает им в дальнейшем опознавать «свои» файлы. Например, файлы, созданные программой Microsoft Wford, имеют расширение .doc, расширение .xis добавляет программа Microsoft Excel.

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

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

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

Для удобства работы файлы объединяют в группы, их Имена рас­

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

  1. Математические осноВы информатики

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

  1. Алгебра высказываний (булеВа алгебра)

Основные понятия

Основное понятие булевой алгебры — выказывание. Под простым высказыванием понимается повествовательное предложение, о кото­ром можно сказать, истинно оно или ложно (третьего не дано). Вы­сказывания обозначаются латинскими буквами и могут принимать одно из двух значений: ЛОЖЬ (обозначим 0) или ИСТИНА (обозна­чим 1). Например, содержание высказывания А: «дважды два равно четырем» истинно А = 1, а высказывание В: «три больше пяти» все­гда есть ЛОЖЬ. В дальнейшем нас не будет интересовать содержа­тельная часть высказываний, а только их истинность. Два высказы­вания А и В называются равносильными, если они имеют одинаковые значения истинности, записывается А = В.

Логические onepciuuu

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

Операцией отрицания А называют высказывание А (или -А, го­ворят не А), которое истинно тогда, когда А ложно, и ложно тогда, когда А истинно. Например, если событие А состоит в том, что «зав­тра будет снег», то А «завтра НЕ будет снега», истинность одного утверждения автоматически означает ложность второго. Отрица­ние — унарная (т.е. для одного операнда) логическая операция. Ей соответствует языковая конструкция, использующая частицу НЕ.

Это правило можно записать в виде следующей таблицы:

А

А

0

1

1

0


Такая таблица называется таблицей истинности.

Конъюнкцией (логическим умножением) двух высказываний А и В является новое высказывание С, которое истинно только тогда, ког­да истинны оба высказывания, записывается С = А а В или С = А & В (при этом говорят С равно А и В). Примером такой операции может быть следующая: пусть высказывание А состоит в том, что «высота шкафа меньше высоты двери», событие В «ширина шкафа меньше ширины двери», событие С «шкаф можно внести в дверь, если ши­рина шкафа меньше ширины двери И высота шкафа меньше высо­ты двери», т.е. данная операция применяется, если два высказыва­ния связываются союзом И.

Таблица истинности этой операции, как следует из определения, имеет вид

А

в

A&B

0

0

0

0

1

0

1

0

0

1

1

1,


Дизъюнкцией {логическим сложением) двух высказываний А и В является новое высказывание С, которое истинно, если истинно хотя бы одно высказывание. Записывается С = A v В (при этом говорят: С равно А ИЛИ В). Пример такой операции следующий: пусть вы­сказывание А состоит в том, что «студент может добираться домой на автобусе», событие В «студент может добираться домой на трол­лейбусе», событие С «студент добрался домой на автобусе ИЛИ трол­лейбусе», т.е. данная операция применяется, если два высказывания связываются союзом ИЛИ.

Таблица истинности такой операции* следующая:

А

В

AvB

0

0

0

0

1

1

1

0

1

1

1

1


Импликацией двух высказываний А (А называется посылкой) и В (В называется заключением) является новое высказывание С, кото­рое ложно только тогда, когда посылка истинна, а заключение лож­но, записывается С'= А —» В (при этом говорят: из А следует В). Примером такой операции может быть любое рассуждение типа: если произошло событие А, то произойдет событие В, «если идет дождь, то на небе тучи». Очевидно, операция не симметрична, т.е. из В —> А не всегда истинно, в нашем примере «если на небе тучи, то идет дождь» не всегда истинно.

Таблица истинности импликации следующая:

А

в

А—»В

0

0

1

0

1

1

1

0

0

1

1

1


Импликация имеет следующие свойства: А->В*В-»А А —» А = 1

  1. —» А = 1

  2. —» А = А

А —^ 1 ** 1

А —> 0 = А

Эквиваленцией двух высказываний А и В является новое выска­зывание С, которое истинно только тогда, когда оба высказывания имеют одинаковые значения истинности, записывается С = А В (.С = A s В). Примером такой операции может быть любое выска­зывание типа: событие А равносильно событию В.

Таблица истинности:

А

В

А<-»В

0

0

1

0

1

0

1

0

0

1

1

1


Эквиваленция имеет следующие свойства:

АнВ = ВнА

А В = В н А

А 1 = А

А 0 = А

Логические Выражения. ПораЭок логический операиий

С помощью логических операций из простых высказываний (ло­гических переменных и констант) можно построить логические вы­ражения, которые также называются булевскими функциями. Напри­мер, С = (( A v В) —» В) v А.

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

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

Зависимости межбу логическими операциями

Операции не являются независимыми; одни из них могут быть выражены через другие. Можно доказать с помощью таблиц истин­ности следующие равносильности:

  1. А = А закон двойного отрицания

  2. А & В = В & А коммутативный закон для конъюнкции

  3. A v В = В v А коммутативный закон для дизъюнкции

  4. (А & В) & С = А, & (В & С) ассоциативный закон для конъ­юнкции

  5. (AvB)vC = Av(BvC) ассоциативный закон для дизъ­юнкции

  6. А & (В v С) = (А & В) v (А & С) дистрибутивные законы

  7. A v (В & С) « (A v В) & (A v С)

  8. А&В = A v в законы де Моргана

  9. AvB = А & В

10.

А & А = А

закон

идемпотенции для конъюнкции

11.

A v А = А

закон

идемпотенции для дизъюнкции

12.

А & 1 = А

закон

единицы для конъюнкции

13.

А & 0 = 0

закон

нуля для конъюнкции

14.

A v 1 - 1

закон

единицы для дизъюнкции

15.

A v 0 = А

закон

нуля для дизъюнкции

16.

A v А =1

закон

исключения третьего

17.

А & А = 0

закон

противоречия

18.

А —> В = А

v В

19.

А <-» В = (А

> В) & (В —> А) = ( A vB)&(AvB) =

= (А & В) v

& В)

20.

A v (А & В)

= А

законы поглощения

21.

А & (A v В)

= А


  1. А & ( A v В) = А & В

  2. A v (А & В) = A v В

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

Первая из них — дизъюнктивная нормальная форма (ДНФ), имеет вид А1 v А2 v ... v Ап, где каждое из составляющих высказываний есть конъюнкция простых высказываний и их отрицаний, например:

В = (А1 & А2 & АЗ) v (А4 & А5).

Вторая — конъюнктивная нормальная форма (КНФ), имеет вид

А1 л А2 л ... л Ап, где каждое из составляющих есть дизъюнк­ция простых высказываний и их отрицаний, например:

В = ( А1 v А2 v АЗ) & (А4 v А5) & Аб.

Табличное и алгебраическое задание булеВскин срункиий

Задать булевскую функцию можно, определяя ее значения для всех наборов значений аргументов. Каждый аргумент может иметь два значения: 0 и 1, следовательно, п аргументов могут принимать 2" раз­личных наборов. Пусть, например, булевская функция имеет три ар­гумента: X,, Х2, Ху Общее число наборов 23 = 8; зададим таблицу ис­тинности функции, указав для каждого набора значение функции.

X,

Х2

X,

F

1

0

0

0

0

2

0

0

1

1

3

0

1

0

0

4

0

1

1

1

5

1

0

0

0

6

1

0

1

1

7

1

!

0

0

8

1

1

1

1


Для составления алгебраической формы по результатам табли­цы сделаем следующее. В комбинациях, где функция принимает зна­чение 1, единицу заменим именем функции, а нуль — именем с от­рицанием (т.е. комбинации 0 0 1 поставим в соответствие выражение X, &Х23), все элементы соединим знаками дизъюнкции, для рассматриваемого примера получим F(X,, Xj, Xj) = (X, &Х23) v v (Х^&Х23) v(X,&X^&X3) v(X,&X2&X3).

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

Аналогично, для комбинаций, где функция принимает значение нуля, можно построить алгебраическую форму F(X,,X2,X3) =

  • (X^XjVXj) & (X,vX^vX?) & (X, vX,vX3) & (X, vX2vX,), кото­рая также удовлетворяет заданной таблице истинности и представ­ляет собой конъюнктивную нормальную форму, в данном случае со­вершенную. Каждая конъюнкция называется конституентой нуля.

В главе 2 будет показано, как, основываясь на булевой алгебре, создаются Цифровые устройства.

  1. Элементы теории множеств

Множеством называется любое объединение определенных впол­не различимых объектов; их может и не быть вообще. Можно гово­рить о множестве точек на отрезке [0,1], множестве студентов в груп­пе, множестве снежных дней в июле на экваторе, т.е. множество образуют любые объекты, объединенные по любому признаку. Объек­ты, составляющие множество, называются элементами множества. Множество, не имеющее ни одного элемента, называется пустым, оно обозначается 0. Множество, состоящее из конечного числа эле­ментов, называется конечным, в противном случае — бесконечным.

Задать множество можно перечислением его элементов. Напри­мер, множество образованное из п элементов а,, а2,..., ап, обознача­ется А = {а,, а2, ап}; пишется а е А (говорится «элемент а при-

надлежит множеству А»), если а является элементом множества А, в противном случае а А.

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

Два множества считаются равными, если состоят из одних и тех же элементов; записывается этот факт А = В.

Множество А, называется подмножеством А (записывается А,сА), если все элементы множества А1 являются элементами А.

Для множеств определены следующие операции: объединение, пересечение, дополнение.

Объединением множеств А и В (записывается АиВ) называется множество, состоящее из элементов как одного, так и второго мно­жества. Например, А и В — множества точек, принадлежащих неко­торым двум кругам, имеющим общие точки, тогда объединением АиВ будет фигура, состоящая из общих точек.

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

Дополнением множества А до В называется множество, состоящее из элементов множества В, не принадлежащих А. Дополнение обо-*

значается А = В-А (рис. 1.7).

Рис. 1.7. Операции надмножествами 56

  1. Элементы теории грасроВ

Основные понятия

Граф задается парой множеств: множества Е, называемого мно­жеством вершин, и множества U, называемого множеством ребер. Ребро u е U есть пара (е., е.), где е(, е. е Е , указывающая, между какими двумя вершинами проверено ребро. Говорят, что ребро ие U инцидентно вершинам е., е.. Если порядок ребер не имеет значения, т.е. и = (е., е.) = Ц, е,), то ребро называется неориентированным или просто ребром, если же порядок имеет значение, то ребро и = (е., е.) называется ориентированным ребром или дугой. Вершина е. — назы­вается началом дуги, — конец дуги. Граф, содержащий хотя бы одну

дугу, называется ориентированным графом или орграфом.

Граф G(E,U) называется конечным, если множество Е вершин конечно. -

Граф G(E,U), у которого любые две вершины соединены ребром, называется полным. Если хотя бы две вершины соединены несколь­кими ребрами, то такой граф называется мультиграфом. Две верши­ны е,, е.€ Е называются смежными, если они соединены ребром. Чис­ло ребер, инцидентных данной вершине е., называется локальной степенью этой вершины р(е.). Число ребер г графа G(E,U) определя­ется выражением

1=1

г р(3?), где п — количество вершин в графе.

Рассмотрим граф, изображенный на рис. 1.8.

2

5‘

Рис. 1.8. Ориентированный граф

3

4

Множество вершин графа состоит из пяти элементов: Е = {1, 2,

  1. 4, 5}, а множество ребер U = {(1, 2), (1, 4), (1, 5), (2, 3), (3, 4), (5, 3)}. Ребро (5, 3) — является ориентированным ребром или дугой. Число ребер в графе определяется по значению локальных сте­пеней для каждой вершины:

р<1) = 3; р(2) = 2; р(3) = 3; р(4) = 2; р(5) = 2;р = (3 + 2 + 3 + + 2 + 2) / 2 = 6.

Важным в теории графов является понятие части графа G(E,U), который обозначается G^E^U') q G(E,U).

Множества вершин и ребер части графа являются подмножества­ми вершин и ребер исходного графа Е' с Е U' с U.

Многие задачи на графах состоят в определении частей графа с заданными свойствами.

Часть графа G^E'^') с G(E,U) называется подграфом графа G(E,U), если Е' с Е , а подмножество U' с U образовано только реб­рами, инцидентными вершинам множества Е'.

Рис. 1.9. Полный граф

Полным графом называется граф G(E,U), у которого каждая вер­шина е.е Е соединена ребрами с остальными вершинами (рис. 1.9).

1

СВяз°ннослпь гросроВ

Маршрутом графа G называется последовательность ребер S = ■ (и,, u2, ... un), в которой каждые два соседних ребра имеют общую вершину, т.е. u,= (ер е2); и2= (е2, е^); ... un= (еп, еп+1). Не исключено, что одно и то же ребро может встречаться несколько раз на одном маршруте.

Две вершины е. и е. называются связанными, если существует мар­шрут из ef в е.. ^

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

1

Рис. 1.10. Компоненты связанности графа

Простой цепью, или простым путем, называется маршрут, в ко­тором ни одно ребро не повторяется дважды. Элементарной цепью или элементарным путем называется маршрут, в котором ни одна верши­на не повторяется дважды. Циклом в графе называется маршрут, у которого начальная вершина совпадает с конечной. Например, следу­ющий граф имеет цикл S = (1, 2, 3, 5, 4, 1) (рис. 1.11).

Рис. 1.11. Цикл в графе

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

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

ЗоЭание грасра

Граф может задаваться в виде рисунка, аналитически, в виде матрицы. Выше приводилось задание графа в виде рисунка. Анали­тическое задание состоит в задании элементов множества вершин Р = {ер е2, ... еп} и множества ребер U = {up и2, ... um}.

Для выполнения различного рода формальных преобразований над графами удобно использовать их матричные задания. Матрица А размерностью пхп называется матрицей смежности графа G(E,U), если ее элементы образованы по правилу: элемент матрицы а..= т, если вершины е,и е. соединены т ребрами, и а,.= 0, если эти верши-

ны не связаны ребрами. Матрица смежности, имеет число строк и столбцов, равное количеству вершин графа.

Матрица А размерностью пхш называется матрицей инцидент- ноет и графа G(E,U), если ее элементы образованы по правилу: элемент матрицы b.. = 1, если вершина е. инцидентна ребру и. и Ь(] = 0 в про­тивном случае. Так как каждое ребро инцидентно двум вершинам, то в каждой строке этой матрицы ровно два ненулевых элемента.

Построим матрицы смежности и инцидентности для графа, изображенного на рис. 1.12.

Рис. 1.12. Пример графа

Матрица смежности будет состоять из пяти строк и пяти столбцов.

1

2

3

4

5

1

0

1

0

1

0

2

1

0

1

1

5

3

0

1

0

0.

1

4

1

1

0

Q1

1

5

0

0

1

1

0


Матрица инцидентности будет состоять из пяти строк и шести столбцов.

а

b

с

d

е

f

1

1

1

0

0

0

0

2

1

0

1

0

1

0

3

0

0

1

1

0

0

4

0

1

0

0

1

1

5

0

0

0

1

0

1


2. Технические cpedcmBo реализации информационный лроиессоВ

2.1. Представление информации В тенническин устройствам

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

Вычислительные устройства* использующие непрерывную фор­му представления информации, называются аналоговыми вычисли­тельными машинами (АВМ). Вычислительные устройства, использу­ющие дискретную форму представления, называются цифровыми вычислительными машинами (ЦВМ).

В настоящее время устройства, использующие непрерывный спо­

соб представления информации, вытесняются более прогрессивны­ми цифровыми устройствами, даже из таких традиционно «анало­говых» областей, как телевидение и телефония. Что касается непо­средственно вычислительных систем, то их развитие, начавшееся преимущественно с АВМ, постепенно перешло к ЦВМ и к середине 70-х гг. прошлого столетия ЦВМ полностью вытеснили АВМ.

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

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

>

L'bux —0

UbxI 0— El

Рис. 2.1. Операционный усилитель

Он состоит из усилителя, входных элементов (EI, Ел) и эле­мента обратной связи (Еос). В качестве элементов используются ра­диоэлектронные компоненты: резисторы, конденсаторы, индуктив­ности. В зависимости от типов элементов, базовый элемент может производить сложение, интегрирование, дифференцирование и не­которые другие операции над входными напряжениями (UbxI, ..., Ubx«), результат операции снимается в виде выходного напряжения (ивых). Основными достоинствами АВМ являлись простота аппарат­ной реализации и высокая скорость получения решения. Основным же недостатком являлась низкая точность результата, так как радио­электронные компоненты, подвергаясь воздействиям внешней сре­ды, изменяли свои параметры, что и влияло на точность решения.

Hoc

ЦВМ имеют гораздо более высокую сложность аппаратной и программной реализации. Информация в них имеет определенные границы представления, т.е. точность представления информации ко­нечна. Для расширения границ представления необходимо увеличи­вать аппаратную часть или увеличивать время обработки. Основны­ми достоинствами ЦВМ, а в дальнейшем — компьютерных систем (КС) являются:

  • гарантированная точность результата, зависящая только от гра­ниц представления данных;

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

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

  1. БазоВая система элементов компьютерный систем

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

При построении функциональных узлов КС используются эле­менты, которые реализуют базовую систему логических функций. Одним из таких базовых наборов является набор из трех функций: дизъюнкции (логическое ИЛИ), конъюнкции (логическое И) и от­рицание (логическое НЕ). На рис. 2.2 показаны условные обозначе­ния и значения выходного сигнала в зависимости от входных сигна­лов. Ноль изображается на диаграммах низким значением сигнала, а единица — высоким. Используя эти базовые элементы, строятся все функциональные узлы ЦВМ.

а) элемент «логическое ИЛИ»

&

>

к

х1

_Г" 1

1—1

х2

Г 1

У

. г-1

п

б) элемент «логическое И»

Рис. 2.2. Базовая система логических элементов цифровых устройств

3. Информатика

  1. Функциональные узлы компьютерный систем

  1. Элемент памяти

Основой любого компьютера является ячейка памяти, которая может хранить данные или команды. Основой любой ячейки памя­ти является функциональное устройство, которое может по команде принять или выдать один двоичный бит, а, главное, сохранять его сколь угодно долго. Такое устройство называется триггер, или защел­ка. Оно строится на основе базового набора логических схем. На рис/ 2.3 показана схема триггера. Он собран на четырех логических эле­ментах: два элемента «логическое НЕ» (схемы 1 и 2) и два элемента «логическое И-НЕ» (схемы 3 и 4). Два последних элемента представ­ляют собой комбинацию логических элементов «логическое И» и «логическое НЕ». Такой элемент на входе выполняет операцию ло­гического умножения; результат которой инвертируется на выходе

логическим отрицанием. Триггер имеет два выхода Q и Q . Сигнал

на выходе Q соответствует значению, хранящемуся в триггере. Вы-

S —

О

R —

ill

Рис. 2.3. Схема триггера в состоянии хранения бита информации

ход Q используется при необходимости получить инверсное значе­ние сигнала. Входы S и R предназначены для записи в триггер од­ного бита со значением ноль или единица.

Рассмотрим состояние триггера во время хранения бита. Пусть в триггер записан ноль (на выходе Q низкий уровень сигнала). Еди­ница на выходе схемы 4 и единица на выходе схемы / поддержива­ют состояние выхода схемы 3 в состоянии нуля (1л1 = 0). В свою очередь, ноль на выходе схемы 3 поддерживает единицу на выходе схемы 4 (0 д 1 = 1). Такое состояние'ъюжет поддерживаться триггером бесконечно долго.

Для записи в триггер единицы подадим на вход S единицу (рис. 2.4). На выходе схемы 1 получится ноль, который обеспечит на выходе схемы 3 единицу. С выхода схемы 3 единица поступит на вход схемы 4, на выходе которой значение изменится на ноль (1 а 1 = 0). Этот ноль на входе схемы 3 будет поддерживать сигнал на ее выходе в состоянии единицы. Теперь можно снять единичный сигнал на входе S, на выходе схемы 3 все равно будет высокий уровень. Т.$. триггер сохраняет записанную в него единицу. Единичный сигнал на входе S необходимо удерживать некоторое время, пока на выходе схе­мы 4 не появится нулевой сигнал. Затем вновь на входе S устанав­ливается нулевой сигнал, но триггер поддерживает единичный сиг-

Рис. 2.4. Запись в триггер единицы

нал на выходе Q, т.е. сохраняет записанную в него единицу. Точно так же, подав единичный сигнал на вход R, можно записать в триг­гер ноль. Условное обозначение триггера показано на рис. 2.5.

S

ш

Q

R

Щ


Рис. 2.5. Условное обозначение триггера

  1. Регистры

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

Регистр представляет собой набор триггеров, число которых оп­ределяет разрядность регистра. Разрядность регистра кратна восьми битам: 8-, 16-, 32-, 64-разрядные регистры. Кроме этого в состав регистра входят схемы управления его работой. На рис. 2.6 приведе­на схема регистра хранения. Регистр содержит п триггеров, образу­ющих п разрядов. Перед записью информации регистр обнуляется подачей единичного сигнала на вход «Сброс». Запись информации в регистр производится синхронно подачей единичного сигнала «За­пись». Этот сигнал открывает входные вентили (схемы «логическое И»), и на тех входах хг.. хп, где присутствует единичный сигнал, про­изойдет запись единицы. Чтение информации из регистра также про­изводится синхронно, подачей сигнала «Чтение» на выходные вен­тили. Обычно регистры содержат дополнительные схемы, позволя­ющие организовать такие операции, как сдвиг информации (регист­ры сдвига) и подсчет поступающих единичных сигналов (регистры счетчики).

«Запись» «Сброс» «Чтение»

Рис. 2.6. n-разрядный регистр хранения с синхронной записью и чтением

  1. Устройство оброботки инсрормоиии

Для обработки информации компьютер должен иметь устрой­ство, выполняющее основные арифметические и логические опера­ции над числовыми данными. Такие устройства называются ариф­метико-логическими устройствами (АЛУ). В основе АЛ У лежит устройство, реализующее арифметическую операцию сложения двух

целых чисел. Остальные арифметические операции реализуются с помощью представления чисел в специальном дополнительном коде. Сумматор АЛУ представляет собой многоразрядное устройство, каж­дый разряд которого представляет собой схему на логических элемен­тах, выполняющих суммирование двух одноразрядных двоичных чи­сел с учетом переноса из предыдущего младшего разряда. Результатом является сумма входных величин и перенос в следующий старший разряд. Такое функциональное устройство называется одноразряд­ным, полным сумматором. Его условное обозначение показано на рис. 2.7.

Рис. 2.7. Условное обозначение полного одноразрядного сумматора

Рассмотренные выше функциональные элементы являются ос­новными при построении схем компьютерных систем.

  1. Принцип автоматической обработки информации Вычислительным устройством

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

Машина фон Неймана состояла из памяти, представлявшей со­бой набор регистров, АЛУ, устройства ввода-вывода и устройства управления (рис. 2.8).

Рис. 2.8. Машина фон Неймана

Устройство ввода передавало команды и данные в АЛУ, откуда они записывались в память. Все команды, совокупность которых называется программой, записываются в память в соседние ячейки по возрастанию их адресов, а данные, которые требуют обработки,— в ячейки с произвольными адресами. Последняя команда програм­мы — это обязательно команда остановки работы. Каждая команда содержит код операции, которую необходимо выполнить, и адреса ячеек, в которых находятся данные, обрабатываемые этой командой. Устройство управления содержит специальный регистр, который на­зывается «Счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды про­граммы. После чего вычислительная машина переходит в режим ав­томатического выполнения программы.

Устройство управления считывает из памяти содержимое ячей­ки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». Регистр команд хранил команду во время ее исполнения. Устройство управления рас­шифровывает тип операции команды, считывает из памяти данные, адреса которых указаны в команде, и приступает к ее выполнению. Для каждой команды устройство управления имеет свой алгоритм обработки, который заключается в выработке управляющих сигна­лов для всех остальных устройств машины. Этот алгоритм мог быть реализован на основе комбинационных логических схем или с по­мощью специальной внутренней памяти, куда эти алгоритмы были записаны в виде микрокоманд, объединенных в микропрограммы. Выполнение микропрограммы происходит по тому же принципу, что и программы в основной памяти, т.е. по принципу фон Неймана. Каждая микрокоманда содержит набор управляющих сигналов для устройств машины. Отметим, что устройства управления выполнени­ем команд процессоров в современных компьютерных системах так­же строятся по принципу комбинационных схем или микропрог­раммных автоматов, в соответствии с чем делятся на RISC и CISC процессоры, о которых будет рассказано ниже.

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

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

Ц*

  1. Поколения иисрроВын устройств обработки инсрормаиии

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

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

Первая счетная машина с хранимой программой была построена французским ученым Блезом Паскалем в 1642 г. Она была механичес­кой с ручным приводом и могла выполнять операции сложения и вычитания. Немецкий математик Готфрид Лейбниц в 1672 г. построил механическую машину, которая могла делать также операции умноже­ния и деления. Впервые машину, работающую по программе, разра­ботал в 1834 г. английский ученый Чарльз Бэббидж. Она содержала запоминающее устройство, вычислительное устройство, устройство ввода с перфокарт и печатающее устройство. Команды считывались с перфокарты и выполняли считывание данных из памяти в вычисли­тельное устройство и запись в память результатов вычислений. Все устройства машины Бэббиджа, включая память, были механически­ми и содержали тысячи шестеренок, при изготовлении которых тре­бовалась точность, недоступная в XIX в. Машина реализовала любые программы, записанные на перфокарте, поэтому впервые для напи­сания таких программ потребовался программист: Первым програм­мистом была англичанка Ада Ловлейс, в честь которой уже в наше время был назван язык программирования Ada.

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

ПерВое поколение - электронные ломпы (1945-1955 гг.)

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

Второе поколение - транзисторы (1955-1965 гг.)

Полупроводниковые приборы — транзисторы были изобретены п 1948 г. Они отличались от электронных ламп малыми размерами, низким напряжением питания и малой потребляемой мощностью. Все эти достоинства полупроводниковых приборов произвели рево­люцию в радиоэлектронной промышленности. Стали появляться ми­ниатюрные приемо-передающие радио- и телеустройства, появилась позможность встраивать управляющие устройства непосредственно в объекты управления и т.д. Новая элементная база для компьютеров на основе транзисторов произвела революцию и в производстве ком­пьютеров. Значительное уменьшение габаритов, снижение потребля­емой мощности и стоимости позволило создавать архитектуры ком­пьютера с большими функциональными возможностями, резко повысить быстродействие компьютеров до сотен тысяч и даже мил­лионов операций в секунду. Увеличение производительности обеспе­чивалось как за счет более высокой скорости работы транзисторов по сравнению с электронными лампами, так и путем введения в со­став вычислительной машины нескольких обрабатывающих уст­ройств, работающих параллельно. Площадь, требуемая для размеще­ния компьютера, снизилась до нескольких квадратных метров, предпринимались попытки изготавливать и настольные варианты. Снижение стоимости увеличило число потенциальных пользователей компьютеров. Появились крупные фирмы по производству компью­теров широкого назначения: International Business Machines (IBM), Control Data Corporation (CDC), Digital Equipment Corporation (DEC) и др. Следует отметить компьютер PDP-8 фирмы DEC - первого мини­компьютера с общей шиной, оказавшего большое влияние на раз­витие архитектур персональных компьютеров.

Третье поколение - интегральные снемы (1965-1980 гг.)

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

Четвертое поколение - сбернбольшие интегральные снемы (с 1980 гг.)

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

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

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

  • IBM, и решила наладить выпуск своей модели персонального компь­ютера. Совместно с фирмой Intel, разработавшей микропроцессорный комплект, и фирмой Microsoft, которая оснастила компьютер операци­онной системой MS DOS, IBM создала персональный компьютер IBM PC. Значительный потенциал фирмы IBM позволил в короткие сроки произвести огромное количество таких компьютеров. Их привлека­тельная для покупателей цена и некоторые новшества, например, боль­ший, по сравнению с выпускавшимися в то время персональными ком­пьютерами других фирм, объем оперативной памяти, позволили компьютеру IBM PC стать самой популярной «персоналкой» в мире.

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

  1. Архитектуры Вычислительных систем сосредоточенной обработки инсрормаиии

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

Цифровой логический уровень — уровень логических схем базовой системы элементов.

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

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

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

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

  1. Архитектуры с фиксированным набором устройств

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

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

Укрупненная схема такой компьютерной архитектуры приведе­на на рис. 2.9. Оперативная память хранит команды и данные испол­няемых программ, АЛУ обеспечивает не только числовую обработ­ку, но и участвует в процессе ввода-вывода информации, осуществляя ее занесение в оперативную память. Канал ввода/вывода представ­ляет собой специализированное устройство, работающее по коман­дам, подаваемым устройством управления. Канал допускает подклю­чение определенного числа внешних устройств. Устройство управления обеспечивает выполнение команд программы и управляет всеми узлами системы.

регистры

ввода/вывода

Канал

ввода/вывода

Ху

7

Устройство

упоавления

Буферные

,mmw


Оперативная

память

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

  1. Вычислительные системы с открытой орнитектурой

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

Общая шина

Рис. 2.10. Архитектура компьютера открытого типа

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

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

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

Несмотря на преимущества, предоставляемые архитектурой с общей шиной, она имеет и серьезный недостаток, который прояв­лялся все больше при повышении производительности внешних ус­тройств и возрастании потоков обмена информацией между ними. К общей шине подключены устройства с разными объемами и ско­ростью обмена, в связи с чем «медленные» устройства задерживали работу «быстрых». Дальнейшее повышение производительности ком­пьютера было найдено во введении дополнительной локальной шины, к которой подключались «быстрые» устройства. Архитектура компь­ютера с общей и локальной шинами приведена на рис. 2.11.

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

Конструктивно контроллер каждого устройства размещается на общей плате с центральным процессором и запоминающим устрой­ством или, если устройство не является стандартно входящим в со­став компьютера, на специальной плате, вставляемой в специальные разъемы на общей плате — слоты расширения. Дальнейшее развитие микроэлектроники позволило размещать несколько функциональных узлов компьютера и контроллеры стандартных устройств в одной микросхеме СБИС. Это сократило количество микросхем на общей плате и дало возможность ввести Две дополнительные локальные' шины для подключения запоминающего устройства и устройства отображения, которые имеют наибольший объем обмена с централь- ■ ным процессором и между собой. Хотя архитектура компьютера ос­талась прежней, структура современного персонального компьютера имеет вид, представленный на рис. 2.12.

Выходы контроллеров для подключения стандартных внешних устройств

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

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

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

  1. Арнитектуры многопроцессорным вычислительный систем

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

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

Рис. 2.13. Архитектура многопроцессорной вычислительной системы с общей шиной

Один из процессоров выделяется для управления всей системой. Он распределяет задания на исполнение программ между процессо­рами и управляет работой общей шины.

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

Магистральный принцип является самым распространенным при построении высокопроизводительных вычислительных систем. Про­цессор такой системы имеет несколько функциональных обрабаты­вающих устройств, выполняющих арифметические и логические опе­рации, и быструю регистровую память для хранения обрабатываемых данных. Данные, считанные из па'Мяти, размещаются в регистрах и из них загружаются в обрабатывающие устройства. Результаты вы­числений помещаются в регистры и используются как исходные дан­ные для дальнейших вычислений. Таким образом, получается кон­вейер преобразования данных: регистры — обрабатывающие устройства — регистры — ... . Архитектура магистрального суперком­пьютера приведена на рис. 2.14. Число функциональных устройств здесь равно шести («Сложение»,.«Умножение» и т.д.), однако в ре­альных системах их количество может быть иным. Устройство пла-

Регистры для хранения обрабатываемых данных

Сложение

Умножение

Г Деление

' Логика

Индекс

Сдвиг

1 !


Общее

Устройство

устройство

последовательности

выполнения команд

Периферийный

процессор


I 'L 1

Контроллер

Контроллер

а

• • •

« '

Внешние

Внешние

устройства

устройства


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

Рис. 2.13. Архитектура многопроцессорной вычислительной системы с общей шиной

Один из процессоров выделяется для управления всей системой. Он распределяет задания на исполнение программ между процессо­рами и управляет работой общей шины.

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

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

Магистральный принцип является самым распространенным при построении высокопроизводительных вычислительных систем. Про­цессор такой системы имеет несколько функциональных обрабаты­вающих устройств, выполняющих арифметические и логические опе­рации, и быструю регистровую память для хранения обрабатываемых данных. Данные, считанные из памяти, размещаются в регистрах и из них загружаются в обрабатывающие устройства. Результаты вы­числений помещаются в регистры и используются как исходные дан­ные для дальнейших вычислений. Таким образом, получается кон­вейер преобразования данных: регистры — обрабатывающие устройства — регистры — ... . Архитектура магистрального суперком­пьютера приведена на рис. 2.14. Число функциональных устройств здесь равно шести («Сложение»,.«Умножение» и т.д.), однако в ре­альных системах их количество моЖет быть иным. Устройство пла-

Регистры для хранения обрабатываемых данных

Сложение

Умножение

Г Деление

' Логика

Индекс

Сдвиг

1 !


Общее

Устройство

устройство

последовательности

выполнения команд

Периферийный

процессор


I 'L 1

Контроллер

Контроллер

а

• • •

« '

Внешние

Внешние

устройства

устройства

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

Рис. 2.13. Архитектура многопроцессорной вычислительной системы с общей шиной

Один из процессоров выделяется для управления всей системой. Он распределяет задания на исполнение программ между процессо­рами и управляет работой общей шины.

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

Магистральный принцип является самым распространенным при построении высокопроизводительных вычислительных систем. Про­цессор такой системы имеет несколько функциональных обрабаты­вающих устройств, выполняющих арифметические и логические опе­рации, и быструю регистровую память для хранения обрабатываемых данных. Данные, считанные из па'Мяти, размещаются в регистрах и из них загружаются в обрабатывающие устройства. Результаты вы­числений помещаются в регистры и используются как исходные дан­ные для дальнейших вычислений. Таким образом, получается кон­вейер преобразования данных: регистры — обрабатывающие устройства — регистры — ... . Архитектура магистрального суперком­пьютера приведена на рис. 2.14. Число функциональных устройств здесь равно шести («Сложение»,.«Умножение» и т.д.), однако в ре­альных системах их количество может быть иным. Устройство пла-

Регистры для хранения обрабатываемых данных

Сложение

Умножение

Г Деление

' Логика

Индекс

Сдвиг

1 !


Общее

Устройство

устройство

последовательности

выполнения команд

Периферийный

процессор


I ‘L 1

Контроллер

Контроллер

а

• • •

« '

Внешние

Внешние

устройства

устройства

Регистры

Счетчик

общего

команд

назначения

JL


Л



ПЗУ

микрокоманд

Дешифратор

Буфер

Л

V

Контроллер

команд

м

команд

Si

шины

го.

шина шина шина адреса данных управ­ляли

Внутренняя шина

Управле­ние и синхро­низация

Управление

выборкой

очередной

микрокоманды

Рис. 2.16. Архитектура процессора 1

сложным функциональным устройством процессора является устрой­ство управления выполнением команд. Оно содержит:

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

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

  • управление выборкой очередной микрокоманды представляет собой небольшой процессор, работающий по принципу фон Неймана, имеет свой счетчик микрокоманд, который автоматически вы­бирает очередную микрокоманду из ПЗУ микрокоманд;

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

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

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

Арифметико-логическое устройство (АЛУ) предназначено для выполнения арифметических и логических операций преобразования информации. Функционально АЛУ состоит из нескольких специаль­ных регистров, полноразрядного сумматора и схем местного управ­ления.

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

Рассмотрим кратко характеристики процессоров, используемых к современных ПК типа IBM PC. Процессоры для этих ПК выпус­кают многие фирмы, но законодателем моды здесь является фирма ; Intel. Ее последней разработкой является процессор Intel Core, вы- пуск которого начат в начале 2006 г. К основным особенностям ар- : хйтектуры Intel Core можно отнести следующие:

  • имеется специальный внутренний КЭШ размером 2 Мбайта;

  • добавлена арбитражная шина, которая уменьшает нагрузку си­стемной шины;

  • внутренняя микроархитектура процессора базируется на двух ? ядрах — параллельно работающих конвейерах команд (суперска- лярная архитектура), которые исполняют сразу несколько команд в 12 разных фазах обработки (чтение, дешифрация, за- j .грузка операндов, исполнение и т.д.). Конвейеры заканчивают- 1 ся двумя АЛУ: АЛУ, работающим на удвоенной частоте процес- * сора для коротких арифметических и логических команд, и АЛУ * для выполнения медленных команд;

  • введено управление питанием ядра, которое включает в себя блок температурного контроля, способный управлять отдельно пита- J нием каждого ядра.

Фирма Intel поставляет упрощенные варианты процессоров Pentium 4 под названием Celeron, который в два раза дешевле базово- ? го варианта процессора. Однако следует отметить, что последние J модели процессора Celeron ни в чем не уступают «старшему брату» ii и даже в некоторых случаях превосходят его.

Фирма AMD (Advanced Micro Devices) выпускает процессоры, со- | вместимые по системе команд с Intel Pentium 4 — Athlon (К7). Этот Ч процессор выполнен по суперскалярной архитектуре с тремя конвей- J ерами команд, работающими параллельно и способными обрабатывать ; до девяти инструкций за один цикл работы процессора. Тестирование • процессора К7 и его сравнение с Pentium 4 показывает, что К7 не ус- j тупает ему и даже превосходит его в некоторых случаях. Стоимость 1 процессора Athlon на 20—30 % дешевле процессора Intel. Процессор j К7 требует для своей работы собственной шины, несовместимой с шиной Процессора Pentium 4. Поэтому замена одного типа процес- • сора другим требует и замены системной платы, на которой располо- • жен набор микросхем основных функциональных устройств ПК.

  1. Оперативное запоминающее устройство

Другим важным функциональным узлом компьютера является запоминающее устройство, или память. Память, в которой хранятся исполняемые программы и данные, называется оперативным запоми­нающим устройством (ОЗУ), или RAM (Random Access Memory) — па­мятью со свободным доступом. ОЗУ позволяет записывать и считы­вать информацию из ячейки, обращаясь к ней по ее номеру или адресу. Ячейка памяти имеет стандартное число двоичных разрядов. В настоящее время стандартный размер ячейки ОЗУ равняется од­ному байту. Информация в ОЗУ сохраняется все время, пока на схе­мы памяти подается питание, т.е. она является энергозависимой.

Существует два вида ОЗУ, отличающиеся техническими харак­теристиками: динамическое ОЗУ, или DRAM (Dynamic RAM), и ста­тическое ОЗУ, или SRAM (Static RAM). Разряд динамического ОЗУ построен на одном транзисторе и конденсаторе, наличие или отсут­ствие заряда на котором определяет значение, записанное в данном бите. При записи или чтении информации из такой ячейки требует­ся время для накопления (стекания) заряда на конденсаторе. Поэто­му быстродействие динамического ОЗУ на порядок ниже, чем у ста­тического ОЗУ, разряд которого представляет собой триггер на четырех или шести транзисторах. Однако из-за большего числа эле­ментов на один разряд в одну СБИС статического ОЗУ помещается гораздо меньше элементов, чем у динамического ОЗУ. Например, современные СБИС динамических ОЗУ способны хранить 256—1024 Мбайт информации, а схемы статических ОЗУ только 256—512 Кбайт. Кроме этого статические ОЗУ более энергоемки и значительно до­роже. Обычно, в качестве оперативной или видеопамяти использу­ется динамическое ОЗУ. Статическое ОЗУ используется в качестве небольшой буферной сверхбыстродействующей памяти. В кэш-па­мять из динамической памяти заносятся команды и данные, кото­рые процессор будет выполнять в данный момент.

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

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

Несмотря на разработку новых типов схем динамических ОЗУ, снижающую время обращения к ним, это время все еще остается значительным и сдерживает дальнейшее увеличение производитель*- ности процессора. Для уменьшения влияния времени обращения процессора к ОЗУ и увеличения производительности компьютера дополнительно устанавливается сверхбыстродействующая буферная память, выполненная на микросхемах статической памяти. Эта па­мять называется кэш-памятью (от англ. cache — запас). Время обра­щения к данным в кэш-памяти на порядок ниже, чем у ОЗУ, и срав­нимо со скоростью работы самого процессора.

Запись в кэш-память осуществляется параллельно с запросом процессора к ОЗУ. Данные, выбираемые процессором, одновремен­но копируются и в кэш-память. Если процессор повторно обратит-;) ся к тем же данным, то они будут считаны уже из кэш-памяти. Та-, кая же операция происходит и при записи процессором данных в память. Они записываются в кэш-память, а затем в интервалы, ког­да шина свободна, переписываются в ОЗУ. Современные процессо­ры имеют встроенную кэш-память, которая находится внутри про­цессора, кроме этого есть кэш-память и на системной плате. Чтобы их различать, кэш-память делится на уровни. На кристалле самого процессора находится кэш-память первого уровня, она имеет объем порядка 16—128 Кбайт и самую высокую скорость обмена данными. В корпусе процессора, но на отдельном кристалле находится кэш­память второго уровня, которая имеет объем порядка 256 Кбайт — 4 Мбайта. И, наконец, кэш-память третьего уровня расположена на системной плате, ее объем может составлять 2—24 Мбайта.

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

В одном адресном пространстве с ОЗУ находится специальная память, предназначенная для постоянного хранения таких программ, как тестирование и начальная загрузка компьютера, управление вне­шними устройствами. Она является энергонезависимой, т.е. сохра­няет записанную информацию при отсутствии напряжения питания. Такая память называется постоянным запоминающим устройством (ПЗУ) или ROM (Read Only Memory). Постоянные запоминающие устройства можно разделить по способу записи в них информации на следующие категории:

' — ПЗУ, программируемые однократно. Программируются при из­готовлении и не позволяют изменять записанную в них инфор­мацию.

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

  1. Внутренние шины переЗачи инсрормаиии

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

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

Несмотря на разработку новых типов схем динамических ОЗУ, снижающую время обращения к ним, это время все еще остается значительным и сдерживает дальнейшее увеличение производитель*- ности процессора. Для уменьшения влияния времени обращения процессора к ОЗУ и увеличения производительности компьютера дополнительно устанавливается сверхбыстродействующая буферная память, выполненная на микросхемах статической памяти. Эта па­мять называется кэш-памятью (от англ. cache — запас). Время обра­щения к данным в кэш-памяти на порядок ниже, чем у ОЗУ, и срав­нимо со скоростью работы самого процессора.

Запись в кэш-память осуществляется параллельно с запросом процессора к ОЗУ. Данные, выбираемые процессором, одновремен­но копируются и в кэш-память. Если процессор повторно обратит-;) ся к тем же данным, то они будут считаны уже из кэш-памяти. Та-, кая же операция происходит и при записи процессором данных в память. Они записываются в кэш-память, а затем в интервалы, ког­да шина свободна, переписываются в ОЗУ. Современные процессо­ры имеют встроенную кэш-память, которая находится внутри про­цессора, кроме этого есть кэш-память и на системной плате. Чтобы их различать, кэш-память делится на уровни. На кристалле самого процессора находится кэш-память первого уровня, она имеет объем порядка 16—128 Кбайт и самую высокую скорость обмена данными. В корпусе процессора, но на отдельном кристалле находится кэш­память второго уровня, которая имеет объем порядка 256 Кбайт — 4 Мбайта. И, наконец, кэш-память третьего уровня расположена на системной плате, ее объем может составлять 2—24 Мбайта.

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

В одном адресном пространстве с ОЗУ находится специальная память, предназначенная для постоянного хранения таких программ, как тестирование и начальная загрузка компьютера, управление вне­шними устройствами. Она является энергонезависимой, т.е. сохра­няет записанную информацию при отсутствии напряжения питания. Такая память называется постоянным запоминающим устройством (ПЗУ) или ROM (Read Only Memory). Постоянные запоминающие устройства можно разделить по способу записи в них информации на следующие категории:

' — ПЗУ, программируемые однократно. Программируются при из­готовлении и не позволяют изменять записанную в них инфор­мацию.

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

  1. Внутренние шины переЗачи инсрормаиии

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

тота, на которой работает контроллер шины при формировании цик­лов передачи информации.

Шина'адреса предназначена для передачи адреса ячейки памя-а ти или порта ввода-вывода. Ширина шины адреса определяет мак- | симальное количество ячеек, которое она может напрямую адресо- | вать. Если ширина шины адреса равна п, то количество адресуемой 1 памяти равно 2".

Шина данных предназначена для передачи команд и данных, и ее ширина во многом определяет информационную пропускную спо-1 собность общец шины. В современных компьютерах ширина шины 1 данных составляет 32—64.

Шина управления включает в себя все линии, которые обеспе- | чивают работу общей шины. Ее ширина зависит от типа шины и 1 определяется алгоритмом ее работы или, как говорят, протоколом1 работы шины. Протокол работы шины состоит из нескольких цик- 1 лов и выполняется контроллером шины, расположенным внутри про- 9 цессора (рис. 2.16), или отдельным контроллером шины (рис. 2.12). 1

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

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

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

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

Общая шина PCI (Peripheral Component Interconnect) применяется в настольных компьютерах, в настоящее время используются модифи­кации PCI 2.1—3.0, PCI 64/66, PCI-Х. Тактовая частота контроллера этой шины 33,33 МГц или 66,66 МГц. Ширина шины 32 или 64 бита, шина мультиплексированная (адрес и данные передаются по одним и тем же линиям). Пиковая пропускная способность шины 533 Мбайт/С.

Общая шина PCMCIA (Personal Computer Memory Card Inter­national Association) применяется в переносных компьютерах класса ноутбук и имеет параметры, сравнимые с параметрами шины PCI.

Локальная шина для подключения видеоконтроллера AGP (Acce­lerated Graphics Port) позволяет организовать непосредственную связь видеоконтроллера и оперативного запоминающего устройства. Она ориентирована на массовую передачу видеоданных. Имеет конвей­ерную организацию выполнения операций чтения/записи, что позво­ляет избежать задержек при обращении к модулям памяти. За один такт работы может передать два, четыре или восемь блоков данных, в зависимости от установленного режима работы. При установке ре­жима параллельной передачи восьми блоков обеспечивает пиковую скорость передачи 2112 Мбайт/С. В настоящее время для увеличе­ния производительности видеосистемы разработана новая более бы­страя и прогрессивная шина PCI Express.

  1. Внешние запоминающие устройства

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

4. Информатика

Накопители но магнитный Эискан

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

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

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

Дисководы магнитных дисков делятся на дисководы для сменных носителей (дискет) и дисководы жестких дисков (винчестеры), кото­рые устанавливаются в системном блоке компьютера. Сменные маг­нитные диски изготавливаются на основе гибкого синтетического материала, на который с обеих сторон нанесен слой магнитного ма­териала. Такие гибкие диски имеют объем хранимой информации 1,44—2,88 Мбайт. Все сменные носители на дисках, в том числе и рассмотренные далее оптические диски, характеризуются своим ди­аметром, или форм-фактором. Наибольшее распространение получи­ли гибкие магнитные диски с форм-фактором 3,5 дюйма. Но суще­ствуют диски с форм-фактором 5,25 дюйма и 1,8 дюйма.

Кроме гибких дисков широкое распространение получили смен­ные магнитные носители типа ZIP. Использование более совершен­ной системы позиционирования головок системы привода позво­лило увеличить плотность записи, и довести его для диска с форм-фактором 3,5 дюйма до 250 Мбайт. К сожалению, диски ZIP несовместимы с обычными гибкими дисками и для их использова­ния приходится устанавливать специальный привод ZIP.

Основа жесткого диска изготавливается из сплавов алюминия или керамики, на который наносится магнитный слой. Жесткость диска позволяет увеличить плотность записи, по сравнению с гиб­ким диском. Несколько жестких дисков надеваются на одну общую ось и представляют собой пакет дисков. Такие пакеты позволяют резко увеличить объем информации, хранящейся на одном дисково­де жесткого диска. В настоящее время используются дисководы с объемом 120—750 Гбайт, и эти значения постоянно увеличиваются.

Накопители но оптическим Эискан

Оптический компакт-диск (Compact Disk (CD)), который был предложен в 1982 г. фирмами Philips и Ажу первоначально для запи­си звуковой информации, произвел переворот и в компьютерной тех­нике, так как идеально подходил для записи цифровой информации больших объемов на сменном носителе. Объем информации, запи­санной на компакт-диске, составляет 600—700 Мбайт. К достоин­ствам компакт-диска можно отнести и его относительную дешевиз­ну в массовом производстве, высокую надежность и долговечность, нечувствительность к загрязнению и воздействию магнитных полей.

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

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

Впадины и площадки записываются на диск по спирали. Запись начинается от центра диска и занимает приблизительно 32 мм дис­ка. Спираль проходит 22 188 оборотов вокруг диска, ее общая длина составляет 5600 М. На всем протяжении спирали скорость записи остается постоянной, поэтому специальное устройство при воспро­изведении следит за постоянством линейной скорости, изменяя зна­чение угловой скорости вращения диска. Так, на внутренней сторо­не скорость равна 530 оборотов в минуту, а на внешней стороне скорость падает до 200 оборотов в минуту, при этом линейная ско­рость остается постоянной, равной 1,2 М/С.

В середине 90-х гг. появились устройства, устанавливаемые не­посредственно на компьютере и позволяющие производить однократ­ную запись информации на компакт-диск. Для таких устройств вы­пускают специальные компакт-диски, которые получили название CD-Recodable (CD-R). Отражающим слоем у них служит тонкий слой позолоты. Между слоем позолоты и слоем поликарбамидной смолы вводится слой красителя. На диске без записи этот слой красителя бесцветен, но под воздействием лазерного луча краситель темнеет, образуя пятна, которые при воспроизведении воспринимаются как выступы.

Позднее появились компакт-диски с возможностью перезаписи

  • CD-ReWritable (CD.-RW). На этих дисках слой красителя может находиться в двух состояниях: кристаллическом и аморфном. Эти два состояния имеют разную отражательную способность. Лазер устрой­ства имеет три уровня мощности. При записи мощность лазерного диода повышается и расплавляет слой красителя, переводя его в аморфное состояние с низкой отражательной способностью, что со­ответствует выступу (запись информации). При средней мощности краситель плавится и переходит в кристаллическое состояние с вы­сокой отражательной способностью (стирание информации). Низкая мощность лазера используется для считывания информации.

Дальнейшее развитие технологий производства компакт-дисков привело к созданию дисков с высокой плотностью записи - цифро­вой универсальный диск Digital Versatile Disk (DVD). Впадины на них имеют меньший диаметр (0,4 микрона), а спираль размещается с плотностью 0,74 микрона между дорожками (вместо 1,6 микрон у CD). Это позволило увеличить объем информации на диске до 4,7 Гбайт. Дальнейшее увеличение Объема информации обеспечива­ется применением двусторонних DVD.

Флэш-память

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

Новый тип памяти получил название флэш-память. (Flash- тетогу). Флэш-память представляет собой микросхему перепрограм­мируемого постоянного запоминающего устройства (ППЗУ) с нео­граниченным числом циклов перезаписи. В ППЗУ флэш-памяти использован новый принцип записи и считывания, отличный от того, который используется в известных схемах ППЗУ. Кристалл схе­мы флэш-памяти состоит из трех слоев. Средний слой, имеющий толщину порядка 1,5 нм, изготовлен из ферроэлектрического мате­риала. Две крайние пластины представляют собой матрицу провод­ников для подачи напряжения на средний слой. При подаче напря­жения, на пересечении проводников, возникает напряжение, достаточное для изменения направления магнитного момента атомов его кристаллической решетки, расположенной под местом пересече­ния проводников. Направление магнитного поля сохраняется и после снятия внешнего электрического поля. Изменение направления маг­

нитного поля ферроэлектрика изменяет сопротивления этого участ­ка слоя. При считывании, на один крайний слой подается напряже­ние, а на втором слое замеряется напряжение, прошедшее через фер­роэлектрик, которое будет иметь разное значение для участков с разным направлением магнитного момента. Такой тип флэш-памя­ти получил название FRAM (ферроэлектрическая память с произволь­ным доступом).

Конструктивно флэш-память выполняется в виде отдельного блока, содержащего микросхему флэш-памяти и контроллер, для подключения к одному из стандартных входов компьютера. Разме­ры этого блока 40 х 16 х 7 мм. Флэш-память, используемая в других цифровых устройствах, имеет иные размеры и конструктивное оформление. В настоящее время объем флэш-памяти достигает не­скольких Гбайт, скорость записи и считывания составляют десятки Мбайт/с.

  1. Внешние устройства

Видеотерминалы

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

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

  • на основе электроннолучевой трубки (ЭЛТ);

  • на основе жидкокристаллических индикаторов (ЖКИ, LCD —

Liquid Crystal Display);

  • плазменные мониторы (PDP — Plasma Display Panels);

  • электролюминесцентные мониторы (FED — Field Emission Display);

  • самоизлучающие мониторы (LEP — Light Emission Plastics).

Основными характеристиками мониторов являются следующие.

Размер экрана монитора, который задается обычно величиной его

диагонали в дюймах. Домашние персональные компьютеры оснаща­ются мониторами с размерами 15 или 17 дюймов, а для профессио­нальной работы, требующей отображения мелких деталей, исполь­зуются мониторы с размерами 21 и 22 дюйма.

Еще одна важная характеристика монитора — разрешающая спо­собность, которая определяется числом пикселей (световых точек) по горизонтали и вертикали. Стандартные значения разрешающей спо­собности современных мониторов следующие: 800x600, 1024x768, 1800x1440, 2048x1536 и др. Значение разрешающей способности оп­ределяет качество изображения на экране.

Рабочая частота кадровой развертки определяет скорость смены кадров изображения, она влияет на утомляемость глаз при продол­жительной работе на компьютере". Чем выше частота кадровой раз­вертки, тем меньше утомляемость глаз. Частота смены кадров во мно­гом зависит от разрешающей способности экрана: чем выше разрешающая способноств, тем меньше частота смены кадров, на­пример, при разрешении 800x600 максимальная частота смены кад­ров может составить 120 Гц, а при разрешении 1600x1200 — 67 Гц.

На разрешающую способность монитора и качество изображе­ния влияет объем видеопамяти. Современные видеоконтроллеры для хранения цвета каждого пикселя расходуют до 4 байт памяти, для чего необходимо иметь объем видеопамяти от 32 до 128 Мбайт. Боль­ший объем видеопамяти позволяет устанавливать более высокий ре­жим разрешения и большее число цветов для каждого пикселя.

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

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

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

  • транзистор. Такие экраны, которые получили название TFT-экра- нов (Thin Film Transistor — тонкопленочный транзистор), имеют луч­шую яркость и предоставляют возможность смотреть на экран даже с отклонением до 45° от вертикали. Этот показатель отличает TFT- экраны от экранов с пассивной матрицей, которые обеспечивали качество изображения только при фронтальном наблюдении.

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

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

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

< jjf /

Устройства ручного ВВоЗа инсрормаиии

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

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

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

клавиатурный процессор посылает в специальный буфер клавиату­ры, расположенный в оперативной памяти, скан-код клавиши, со­стоящий из двух байт: байта собственно скан-кода и байта, опреде­ляющего какие дополнительные управляющие клавиши при этом удерживались нажатыми. К управляющим клавишам относятся кла­виши Ctrl, Alt, Shift, которые еще и различаются по месту располо­жения: левые и правые, а также их комбинации. Сервисная програм­ма читает из буфера клавиатуры эти два байта и передает их в программу, которая решает, какой именно символ или управляющий сигнал необходимо отобразить. Такой подход к обработке нажатий клавиш значительно расширяет возможности клавиатуры при зада­нии управляющих комбинаций клавиш или при смене националь­ного алфавита. Специальная программа в операционной системе Windows, например, позволяет изменить целиком раскладку клавиш или национальный алфавит, или значения отдельных клавиш.

I

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

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

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

дах программирования. Мышь используется и в некоторых игровых программах.

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

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

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

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

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

Устройства печати

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

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

Основной характеристикой принтера, определяющей качество получаемого бумажного документа, является разрешающая спо­собность, измеряющаяся числом элементарных точек (dots), которые помещаются на одном дюйме — dots per inch (dpi). Чем выше разре­шающая способность, тем точнее воспроизводятся детали изображе­ния. Современные принтеры обеспечивают разрешение от 200 до 2880 dpi.

Еще одной важной характеристикой является производительность принтера, которая измеряется количеством страниц, изготовляемых принтером в минуту — page per minute (ppm). Обычно производитель­ность указывается для страниц формата А4.

Матричные принтеры. Изображение в матричных принтерах фор­мируется из точек, которые получаются* путем удара тонкой иглы по красящей ленте, прижимаемой в момент удара к бумаге. Иглы, чис­ло которых составляет от 9 до 24, объединены в головке и размеще­ны в ней вертикально в один ряд. Каждая игла управляется отдель­ным магнитом, а головка движется горизонтально вдоль листа. Таким образом, за один проход головки получается полоса, высота которой в точках равна числу игл в головке. Скорость матричных принтеров не высока и составляет около 2 ppm. Разрешающая способность со­ставляет 200—360 dpi. Достоинством матричных принтеров является низкая стоимость расходных материалов (красящей ленты) и возмож­ность печати одновременно нескольких копий документа. К недо­статкам относится низкая скорость печати и шум при печати.

Струйные принтеры. В нашей стране это в настоящее время наи­более распространенный тип принтера. Печатающая головка струй­ного принтера вместо Иголок содержит тонкие трубочки — сопла, че­рез которые на бумагу выбрасываются мельчайшие дозированные капли красителя. Число сопел в головке составляет от 12 до 64. Струйные принтеры выполняют и цветную печать. При цветной пе­чати цветная точка получается смешением в заданных пропорциях красителей трех основных цветов: голубого, пурпурного и желтого, выстреливаемого из трех сопел. Качество цветной печати получает­ся очень высокое и практически неотличимо от типографского.

К достоинствам струйных принтеров можно отнести: высокое разрешение, которое зависит от числа сопел в головке и составляет от 300 до 1200 dpi; высокая скорость печати (до 10 ppm); бесшум­ность работы.

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

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

К достоинствам лазерных принтеров можно отнести высокое качество печати, высокую скорость печати (до 40 ррш), а также низ­кую себестоимость копии и бесшумность в работе.

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

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

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

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

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

Устройства поЭЭержки безбумажный теннологий

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

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

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

Следующая важная характеристика сканеров — разрешающая спо­

собность, измеряющаяся количеством различаемых точек на дюйм изображения, и составляет от 75 до 1600 dpi. Высокое разрешение необходимо для комфортного визуального восприятия. Для нормаль­ной работы программ распознавания образов и, в частности, распоз­навания текстов, которыми снабжаются сканеры, вполне достаточ­но разрешающей способности в 300—600 dpi. Для публикации картинок на web-сайтах Интернета достаточно разрешения 80 dpi. Разрешение необходимо выбирать индивидуально для каждого кон­кретного использования сканируемого изображения. Увеличение раз­решения резко увеличивает размер файла, в котором сохраняется изображение, это может вызвать затруднения при его пересылке и хранении.

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

Конструктивно сканеры делятся на четыре типа: рунные, план­шетные, роликовые и проекционные. Ручные сканеры перемещаются по изображению вручную. Они выполнены в виде блока с рукояткой, который «прокатывают» по изображению. За один проход сканиру­ется лишь часть изображения, так как ширина сканирования не пре­вышает 105 мм. Все изображение сканируется за несколько прохо­дов. Специальное программное обеспечение, поставляемое вместе со сканерами, позволяет совмещать части отсканированного изображе­ния. Ручные сканеры имеют малые габариты и низкую стоимость и позволяют сканировать изображения любого размера, но могут воз­никать искажения при совмещении частей изображения.

Планшетные сканеры являются наиболее распространенным ти­пом сканера. В них сканирующая головка (линейка светодиодов) движется относительно неподвижного оригинала, который помеща­ется на прозрачное стеклянное основание. Достоинство таких ска­неров заключается в том, что с их помощью можно сканировать и листовые и сброшюрованные документы (книги). Скорость скани­рования таких сканеров составляет 2—10 с на страницу формата А4.

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

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

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

Устройство обработки зВукоВой информации

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

Звуковая карта работает в трех основных режимах: создание, за­пись и воспроизведение звуковых сигналов. В режиме создания звука плата действует как музыкальный инструмент, синтезирующий слож­ный звуковой сигнал. Для синтеза используются два метода. Первый метод получил название FM-синтеза. FM-синтез осуществляется с помощью специальных генераторов, которые могут изменять часто­ту и амплитуду тона. Эти генераторы могут моделировать звучание определенного музыкального инструмента. На звуковой плате уста­навливаются от 4 до 18 генераторов, которые, соответственно, могут имитировать одновременное звучание 2—9 инструментов. Звук, син­тезированный FM-методом, имеет некоторый «металлический» отте­нок и не похож на звучание настоящего музыкального инструмента.

¥

Второй метод, получивший название WT-синтез, обеспечивав^ более высокое качество звучания. В основе этого синтеза лежат за* писанные ранее и хранящиеся в виде файлов образцы звучания му­зыкальных инструментов (MIDI-файлы). WT-синтезаторы манипули­руют записанными образцами, создавая сложные музыкальные образы. Достоинство этого метода не только в высоком качестве син­тезированного звука, но и в том, что количество и типы музыкаль­ных инструментов можно расширить, установив на компьютер допол­нительные MIDI-файлы.

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

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

Качество оцифровываемого и воспроизводимого сигнала зависит от таких параметров звуковой карты, как частота дискретизации, ко­торая должна составлять не менее 44 кГц, разрядность оцифрован­ного сигнала (12—16 бит) и возможность стереофонической записи и воспроизведения.

Устройства Эла соединения компьютеров В сеть

Модем. Одной из популярных областей применения персональ­ного компьютера является работа в глобальной сети Internet. К ней компьютер подключается по обычной телефонной или специальной линии с помощью устройства, которое называется модем (МОдулятор + ДЕМодулятор). Цифровые данные, поступающие в модем из ком­пьютера, преобразуются в нем путем модуляции в специальный непре­рывный сигнал, который и направляется в линию передачи. Модем- приемник осуществляет обратное преобразование сигнала (демодуляцию) и пересылает восстановленные цифровые данные в свой компьютер. Скорость передачи данных современными модема­ми составляет 33 600 или 56 ООО бит/с и зависит от поддерживаемого модемом протокола передачи. Модем конструктивно может быть вы­полнен как отдельное устройство, подключаемое к компьютеру через один из его стандартных последовательных входов или как внутрен­нее устройство, размещаемое внутри системного блока компьютера.

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

Современная телекоммуникационная технология ADSL (Asym­metric digital subscriber lines — «Асимметричная цифровая абонент­ская линия»), позволяющая передавать данные с высокой скоростью по обычным телефонным линиям, имеет различие скоростей обме­на данными в направлениях к абоненту и обратно. Асимметричный тип данной Технологии делает ее идеальной для современных при­ложений, где объем передаваемых данных к абоненту в подавляющем большинстве случаев намного превышает объем данных, идущих от абонента в сторону сети. С помощью технологии ADSL можно вес­ти передачу данных на скорости до 8 Мбит/с в направлении к або­ненту и до 1 Мбит/с в обратном направлении. Ее использование не требует прокладки дополнительного кабеля, так как для доступа в сеть используется имеющаяся телефонная линия, причем телефон свободен во время соединения с сетью.

Сетевая карта. Если компьютеры объединяются в сеть, для ко­торой прокладывается специальный кабель, то используются специ­альные платы расширения, вставляемые в слот расширения систем­ной платы. Такие платы называются сетевыми адаптерами или сетевыми картами. Скорость передачи данных по сети через сетевые карты в зависимости от типа применяемой технологии составляет 10 Мбит/С, 100 Мбит/С, 1 Гбит/С и 10 Гбит/С.

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

ет данные, поступающие к ней от компьютера, в специальные пакеУ| ты — кадры, пересылает их адресату, т.е. другой сетевой карте, и от­вечает за надежную доставку указанному адресату по сети. Так как функции, которые выполняет сетевая карта, достаточно сложны, в ее состав включен специализированный процессор, обеспечивающий высокоскоростную аппаратную поддержку выполнения этих функ­ций. При выборе сетевой карты основным параметром является тип сети, в состав которой будет включен локальный компьютер. Извест- ■ ные стандартные типы локальных сетей, такие как FDDI (Fiber Dis­tributed Data Interface —распределенный волоконный интерфейс дан­ных), Ethernet (эзернет, от лат. aether — эфир) и др., несовместимы между собой, и каждая сетевая карта поддерживает только опреде­ленный вид локальной сети. Ц

2.8. ПерслектиВы развития технический ' среЭстВ обработки инсрормаиии

При разработке и создании компьютеров и сопутствующей техники существенный и устойчивый приоритет в последние годы имеют сверхмощные суперкомпьютеры и миниатюрные и сверхминиа­тюрные компьютеры. Ведутся поисковые работы по созданию ком­пьютеров шестого поколения, базирующихся на распределенной «нейронной» архитектуре, — нейрокомпьютеров. Ближайшие прогно­зы по созданию новых функциональных устройств Обещают созда­ние микропроцессоров с быстродействием 100 млн операций в секунду; встроенные сетевые и видеоинтерфейсы, плоские крупно­форматные дисплеи с разрешающей способностью 1200x1000 пиксе­лей и более; портативные, размером со спичечный коробок, магнит­ные диски емкостью более 100 Гбайт.

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

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

3. Системное программное обеспечение

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

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

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

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

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

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

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

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

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

  1. Базовое программное обеспечение

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

Аббревиатура BIOS расшифровывается как Basic Input/Output System — базовая система ввода/вывода. Раньше в системе IBM PC основным назначением BIOS была поддержка функций ввода-выво­да за счет предоставления ОС интерфейса для взаимодействия с ап­паратурой. В последнее время ее назначение и функции значитель­но расширились.

Второй важной функцией BIOS является процедура тестирова­ния (POST — Power On Self Test) всего установленного на материн­ской плате оборудования (за исключением дополнительных плат рас­ширения), проводимая после каждого включения компьютера. В процедуру тестирования входят: р

  • проверка работоспособности системы управления электро­питанием;

  • инициализация системных ресурсов и регистров микросхем;

  • тестирование оперативной памяти;

  • подключение клавиатуры;

  • тестирование портов;

  • инициализация контроллеров, определение и подключение же­стких дисков. • -

В процессе инициализации и тестирования оборудования BIOS сравнивает данные системной конфигурации с информацией, храня­щейся в CMOS — специальной энергозависимой памяти, расположен­ной на системной плате. Хранение данных в CMOS поддерживается специальной батарейкой, а информация обновляется всякий раз при изменении каких-либо настроек BIOS. Именно эта память хранит последние сведения о системных компонентах, текущую дату и вре­мя, а также пароль на вход в BIOS или загрузку операционной сис­темы (если он установлен). При выходе из строя, повреждении или удалении батарейки все данные в CMOS-памяти обнуляются.

Третьей важной функцией, которую BIOS выполняет со времен IBM PC, Является загрузка ОС. Современные BIOS позволяют загру­жать операционную систему не только с гибкого или жесткого дис­ка, но и с приводов CD-ROM, ZIP, LS-120, SCSI-контроллеров. Оп­ределив тип устройства загрузки, BIOS приступает к поиску программы — загрузчика ОС на носителе или переадресует запрос на загрузку на BIOS другого устройства. Когда ответ получен, программа загрузки помещается в оперативную память, откуда и происходит загрузка системной конфигурации и драйверов устройств операци­онной системы.

С появлением процессоров Pentium BIOS стала выполнять еще одну функцию — управление потребляемой мощностью, а с появ­лением материнских плат форм-фактора (стандартизированный раз­мер) ATX (Advanced Technology extended — расширенная продвину­тая технология) — и функцию включения и выключения источника питания в соответствии со спецификацией ACPI (Advanced Configu­ration and Power Interface — продвинутый интерфейс конфигури­рования и управления потребляемой мощностью). Существует так­же спецификация АРМ (Advanced Power Management — продвинутое управление потребляемой мощностью). Отличие их состоит в том, что ACPI выполняется в основном средствами ОС, а АРМ — сред­ствами BIOS.

Фирм, занимающихся разработкой программного обеспечения для BIOS, очень мало. Из наиболее известных можно выделить три: Award Software (Award BIOS), American Megatrends, Inc. (AMI BIOS) и Microid Research (MR BIOS). Но на подавляющем большинстве компьютеров сегодня применяются различные версии BIOS компа­нии Award Software. Пользовательский интерфейс разных версий и разных производителей BIOS может сильно отличаться, но систем­ные вызовы строго стандартизированы.

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

  1. Операционные системы

  1. Назначение операиионной системы

Место операционной системы в структуре аппаратно-программ-, ных. средств (АПС) компьютера показано на рис. 3.2. Нижний уро­вень структуры составляют интегральные микросхемы, источники питания, дисководы и другие физические устройства.

Прикладные программы

Интерпретаторы

команд

Компиляторы

Редакторы

Операционная система

Система команд

Функциональные средства

Аппаратные средства


Рис. 3.2. Структура аппаратно-программных средств компьютера

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

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

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

Над ОС в структуре аппаратно-программных средств компьютер ра расположены остальные системные программы. Здесь находятся интерпретатор команд, системы окон, компиляторы и редакторы кода. Компиляторы — это ПО, переводящее программу с языка про­граммирования высокого уровня на машинный язык. После этого программа записывается в ОЗУ и затем выполняется. Интерпрета­торы — это ПО, переводящее операторы программы на машинный язык по очереди и немедленно выполняющее их. Очень важно по­нимать, что такие программы не являются частью ОС. Под операци­онной системой обычно понимается то программное обеспечение, которое запускается в режиме ядра и защищается от вмешательства пользователя с помощью аппаратных средств. А компиляторы и ре­дакторы запускаются в полъзователь-ском режиме. Если пользовате­лю не нравится какой-либо компилятор, он может выбрать другой или написать свой собственный, но он не может написать свой соб-. ственный обработчик прерываний, являющийся частью операцион­ной системы и защищенный аппаратно от попыток его модифици­ровать.

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

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

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

Операционные системы выполняют две основные функции — расширение возможностей машины и управление ее ресурсами.

Как уже упоминалось, архитектура (система команд, организа­ции памяти, ввод/вывод данных и структура шин) компьютера на уровне машинного языка неудобна для работы с программами, осо­бенно при вводе/выводе данных. Так, процедура ввода/вывода дан­ных с гибкого диска выполняется через микросхемы контроллера. Контроллер имеет 16 команд. Каждая задается передачей от 1 до 9 байт в регистр устройства. Это команды,чтения и записи данных, пе­ремещения головки диска, форматирования дорожек, инициализа­ции, распознавания, установки в исходное положение и калибровки контроллера и приводов. Основные команды read и write (чтение и запись). Каждая из них требует 13 параметров, которые определяют адрес блока на диске, количество секторов на дорожке, физический режим записи, расстановку промежутков между секторами. Програм­мист при работе с гибким диском должен также постоянно знать, включен двигатель или нет. Если двигатель выключен, его следует включить прежде, чем данные будут прочитаны или записаны. Дви­гатель не может оставаться включенным слишком долго, так как гиб­кий диск изнашивается. Поэтому программист вынужден выбирать между длинными задержками во время загрузки и изнашивающимися гибкими дисками.

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

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

f

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

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

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

  1. Виды опероиионнын систем

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

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

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

Уровнем ниже находятся серверные ОС. Серверы представляют собой или многопроцессорные компьютеры, или даже мэйнфреймы. Эти ОС одновременно обслуживают множество пользователей и по­зволяют им делить между собой программно-аппаратные ресурсы. Серверы также предоставляют возможность работы с печатающими устройствами, файлами или Internet. У Internet-провайдеров обычно работают несколько серверов для того, чтобы поддерживать одновре­менный доступ к сети множества клиентов. На серверах хранятся страницы web-сайтов и обрабатываются входящие запросы. UNIX и Windows 2000 являются типичными серверными ОС. Теперь для этой цели стала использоваться и операционная система Linux.

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

Еще один вид ОС — это системы реального времени. ТлавнЫм па­раметром таких систем является время. Например, в системах управ­ления производством компьютеры, работающие в режиме реального времени, собирают данные о промышленном процессе и использу­ют их для управления оборудованием. Такие процессы должны удов­летворять жестким временным требованиям. Если, например, по конвейеру передвигается автомобиль, то каждое действие должно быть осуществлено в строго определенный момент времени. Если сварочный робот сварит шов слишком рано или слишком поздно, то нанесет непоправимый вред изделию. Системы VxWorks и QNX яв­ляются операционными системами реального времени.

Встроенные операционные системы используются в карманных компьютерах и бытовой технике. Карманный компьютер — это ма­ленький компьютер, помещающийся в кармане и выполняющий не- ■ большой набор функций, например, телефонной книжки и блокно­та. Встроенные системы, управляющие работой устройств бытовой техники, не считаются компьютерами, но обладают теми же харак­теристиками, что и системы реального времени, и при этом имеют ,' особые размер, память и ограничения мощности, что выделяет их в отдельный класс. Примерами таких операционных систем являются > PalmOS и Windows СЕ (Consumer Electronics — бытовая техника). -ЭД

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

  1. Базовые понятия операиионнын систем

Для операционных систем существует набор базовых понятий^ таких как процессы, память и файлы, которые являются самыми важ- j ными для понимания общей идеи построения и функционирова­ния ОС.

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

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

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

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

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

При создании места для хранения файлов ОС использует поня­тие каталога как способ объединения файлов в группы. Например, студент может иметь по одному каталогу для каждого изучаемого им курса, каталог для электронной почты и каталог для своей домаш­ней web-страницы. Для создания и удаления каталога также необ­ходимы системные вызовы. Они же обеспечивают перемещение су­ществующего файла в каталог и удаление файла из каталога^ Содержимое каталога могут составлять файлы или другие каталоги. Эта модель создает структуру — файловую систему.

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

Й-Gl MSOffice Й~СЭ Access

j-~Cl МетодМатер §

I Й-Q УчебМатер 8. НЙ Gab j”Gl Moisnk МП Tables '-•СИ Uchebniy | ф-ф Excel j I j-fi! LesExcel

I . 1 h-Q QUERY

  1. !-G| Uchebniy

; | !-'СЗ ЛабРаб

Рис. 3.3. Дерево каталогов

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

Каждый файл в иерархии каталогов можно определить, задав его имя пути, называемое также полным именем файла. Путь начинает­ся из вершины структуры каталогов, называемой корневым катало­гом. Такое абсолютное имя пути состоит из списка каталогов, кото­рые нужно пройти от корневого каталога к файлу, с разделением отдельных компонентов. Отдельные компоненты в ОС UNIX разде­ляются косой чертой /, а в MS-DOS и Windows — обратной косой чертой \.

  1. Проиессы и потоки

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

Проиессы

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

Рассмотрим содержание и применение этой модели.

  1. 129

    Информатика

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

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

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

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

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

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

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

Процессы

0

1

п-2

п- 1

Планировщик

' Рис. 3.4. Нижний уровень ОС, отвечающий за прерывание и планирование

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

Потоки

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

Модель процесса базируется на двух независимых концепциях: ^ группировании ресурсов и выполнении программы. Когда их разделяют,! появляется понятие потока.

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

С другой стороны, процесс можно рассматривать как поток ис­полняемых команд. У потока есть счетчик команд, отслеживающий порядок выполнения действий. У него есть регистры, в которых хра- j нятся текущие переменные. У него есть стек, содержащий протокол выполнения процесса, где на каждую вызванную процедуру отведе­на отдельная структура. Хотя поток протекает внутри процесса, сле­дует различать концепции потока и процесса. Процессы использу-i ются для группирования ресурсов, а потоки являются объектами,; поочередно исполняющимися на ЦП.

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

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

быстродействием, равным одной трети быстродействия реального процессора. -

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

При использовании потоков имеется также возможность совме­стного применения параллельными* объектами одного адресного про­странства и всех содержащихся в нем данных. Для некоторых при­ложений эта возможность является существенной. В таких случаях схема параллельных процессов с разными адресными пространства­ми не подходит.

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

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

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

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

Представим, что пользователь удалил предложение на первой странице, а затем исправил предложение на 350-й странице докумен­та, в котором 400 страниц. Он дает команду программе перейти на

... f

страницу с номером 350. Текстовому процессору придется перефор­матировать весь документ вплоть до 350-й страницы, поскольку он не знает, где начинается эта страница. Это может занять довольно много времени и вряд ли обрадует пользователя.

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

  1. Управление памятью

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

Память в компьютере имеет иерархическую структуру. Неболь­шая ее часть представляет собой очень быструю энергозависимую (теряющую информацию при выключении питания) кэш-память. Компьютеры обладают также десятками мегабайт энергозависимой оперативной памяти ОЗУ (RAM, Random Access Memory — память с произвольным доступом) и десятками или сотнями гигабайт медлен­ного энергонезависимого пространства на жестком диске. Одной из задач ОС является координация использования всех этих составля­ющих памяти.

Часть операционной системы, отвечающая за управление памя­тью, называется модулем управления памятью или менеджером памяти. Менеджер следит за тем, какая часть памяти используется в данный момент, выделяет память процессам и по их завершении освобождает ресурсы, управляет обменом данных между ОЗУ и диском.

Системы управления памятью делят на два класса. К первому классу относятся системы, перемещающие процессы между опера­тивной памятью и диском во время их выполнения, т.е. осуществля­ющие подкачку процессов целиком (swapping) или постранично (paging). Обычный и постраничный варианты подкалки являются искусственными процессами, вызванными отсутствием достаточно­го количества оперативной памяти для одновременного хранения всех программ. Ко второму — те, которые этого не делают. Второй класс систем проще. Поскольку ПО растет еще быстрее, чем память, то, вероятно, потребность в эффективном управлении памятью бу­дет существовать всегда. В 80-е гг. использовали системы разделения времени для работы десятков пользователей на машинах VAX с объе­мом памяти 4 Мбайт. Сейчас рекомендуется для индивидуальной работы в системе Windows 2000 устанавливать на компьютер не ме­нее 64 Мбайт оперативной памяти. Дальнейшее развитие в сторону мультимедийных систем накладывает еще большие требования на размер оперативной памяти.

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

Большинство современных систем позволяет одновременный запуск нескольких процессов. Наличие нескольких процессов, рабо­тающих в один и тот же момент времени, означает, что когда один процесс приостановлен в ожидании завершения операции ввода-вы­вода, другой может использовать центральный процессор. Таким об­разом, многозадачность увеличивает загрузку процессора. На сетевых серверах всегда одновременно работают несколько процессов (для разных клиентов), но и большинство клиентских машин в наши дни также имеют эту возможность. Самый простой способ достижения многозадачности состоит в разбиении памяти на п, возможно, не равных, разделов. Когда задание поступает в память, оно располага­ется во входной очереди к наименьшему разделу, достаточно боль­шому для того, чтобы вместить это задание. Так как размер разделов неизменен, то все неиспользуемое работающим процессом простран-.' ство в разделе пропадает. Недостаток этого способа заключается в том, что к большому разделу очереди почти не бывает, а к малень­ким разделам выстраивается довольно много задач. Небольшие за­дания должны ждать своей очереди, чтобы попасть в память, несмот­ря на то, что свободна основная часть памяти. Усовершенствованный способ заключается в организации одной общей очереди для всех разделов. Как только раздел освобождается, задачу, находящуюся ближе к началу очереди и подходящую для выполнения в этом раз­деле, можно загрузить в него и начать ее обработку. С другой сторо­ны, нежелательно тратить большие разделы на маленькие задачи, поэтому существует другая стратегия. Она заключается в том, что каждый раз после освобождения раздела происходит поиск в очере­ди наибольшего для этого раздела задания, и именно оно выбирает­ся для обработки. Однако этот алгоритм отстраняет от обработки небольшие задачи, хотя необходимо предоставить для мелких задач лучшее обслуживание. Выходом из положения служит создание хотя бы одного маленького раздела, который позволит выполнять мелкие задания без долгого ожидания освобождения больших разделов. Дру­гой подход предусматривает следующий алгоритм: задачу, которая имеет право быть выбранной для обработки, можно пропустить не более к раз. Когда задача пропускается, к счетчику добавляется еди­ница. Если значение счетчика стало равным к, игнорировать задачу больше нельзя.

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

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

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

... /

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

Работа системы свопинга заключается в следующем. Пусть име­ются 4 процесса — А, В, С, D. На начальной стадии в памяти нахо­дится только процесс А Затем с течением времени создаются или загружаются с диска последовательно процессы В и С. В следующий момент процесс А выгружается на диск. Затем появляется процесс D, а процесс В завершается. Наконец, процесс А снова возвращает­ся в память. Распределение памяти изменяется по мере того, как процессы поступают в память и покидают ее. Так как теперь про­цесс А имеет другое размещение в памяти, его адреса должны быть перенастроены или программно во время загрузки в память, или ап­паратно во время выполнения программы.

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

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

f

остальные — на диске. Например, программа размером 16 Мбайт сможет работать на машине с 4 Мбайт памяти, если тщательно про­думать, какие 4 Мбайт должны храниться в памяти в каждый момент времени. При этом части программы, находящиеся на диске и в па­мяти, будут меняться местами по мере необходимости.

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

  1. ВВоЭ-ВыВоЭ

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

Устройства ввода-вывода можно разделить на две категории: блочные устройства и символьные устройства. Блочные устройства хранят информацию в виде блоков фиксированного размера, причем у каждого блока имеется свой адрес. Размеры блоков колеблются от 521 до 32 768 байт. Важное свойство блочного устройства состоит в том, что каждый его блок может быть прочитан независимо от ос­тальных блоков. Наиболее распространенными блочными устрой­ствами являются диски.

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

Такая классификация является условной. Некоторые устройства не попадают ни в одну из категорий. Например, часы не являются

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

Устройства ввода-вывода обычно состоят из механической и электронной частей. Механический компонент находится в самом устройстве. Электронный компонент устройства называется контрол­ером или адаптером. В современных компьютерах контроллеры «страиваются в материнскую плату или располагаются на самом ус­тройстве ввода-вывода. Многие контроллеры способны управлять несколькими идентичными устройствами. Если интерфейс между контроллером и устройством является официальным стандартом ANSI, IEEE или ISO либо фактическим стандартом, то различные производители могут выпускать отдельно устройства и контроллеры, удовлетворяющие данному интерфейсу. Так производятся жесткие диски, соответствующие интерфейсу IDE (Integrated Drive Electronics

  • встроенный интерфейс накопителей) или SCSI (Small Computer System Interface — системный интерфейс малых компьютеров).

Часто интерфейс между устройством и контроллером является интерфейсом низкого уровня. С диска в контроллер поступает по­следовательный поток битов, начинающийся с заголовка сектора (преамбулы), за которым следует 4096 бит в секторе, и контрольная сумма, называемая кодом исправления ошибок ЕСС (Error Correcting ('ode). Заголовок сектора записывается на диск во время формати­рования. Он содержит номера цилиндра и сектора, размер сектора, коды синхронизации и другую служебную информацию.

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

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

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

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

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

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

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

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

Существуют три различных способа осуществления операций ввода-вывода. Простейший вид ввода-вывода состоит в том, что всю работу выполняет центральный процессор. Этот метод называется программным вводом-выводом. ЦП вводит или выводит каждый байт или слово, находясь в цикле ожидания готовности устройства вво­да-вывода. Второй способ представляет собой управляемый прерыва­ниями ввод-вывод, при котором ЦП начинает передачу ввода-выво­да для символа или слова, после чего переключается на другой процесс, пока прерывание от устройства не сообщит ему об оконча­нии операции ввода-вывода. Третий способ заключается в исполь­зовании прямого доступа к памяти (DMA — Direct Memory Access), при котором отдельная микросхема управляет переносом целого бло­ка данных и инициирует прерывание только после окончания опе­рации переноса блока.

f

  1. Шрайберы устройств

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

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

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

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

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

Рис. 3.5. Логическое расположение драйверов устройств

полагаются под остальной частью ОС (рис. 3.5).

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

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

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

С появлением персональных компьютеров с их огромным раз­нообразием устройств ввода-вывода такая модель перестала работать. Далеко не все пользователи могли самостоятельно перекомпилиро-! вать и собрать ядро даже при наличии исходных текстов или объек­тных модулей. Поэтому операционные системы, начиная с MS-DOS, перешли к модели динамической подгрузки драйверов. Различные системы выполняют эту процедуру по-разному.

Драйвер устройства выполняет несколько функций:

  1. обработку абстрактных запросов чтения и записи независи­мого от устройств и расположенного над ними программного обес­печения;

  2. инициализацию устройства;

  3. управление энергопотреблением устройства и регистрацией событий;

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

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

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

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

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

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

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

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

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

  1. Файловые системы

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

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

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

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

Точные правила именования файлов варьируются от системы к системе, но все современные операционные системы поддерживают использование в качестве имен файлов 18-символьные текстовые стро­ки. Так, книга, страница, карандаш являются допустимыми имена­ми файлов. Часто в именах файлов также разрешается использова­ние цифр и специальных символов, поэтому могут применяться и такие имена файлов, как 2 (лучше _2), срочный! и Рис.2-14. Многие файловые системы поддерживают имена файлов длиной до 255 сим­волов.

'-■М

В некоторых ФС различаются прописные и строчные символы, в других, таких как MS-DOS, нет. Операционные системы Windows 95 и Windows 98 используют файловую систему MS-DOS и наследуют многие ее.свойства, включая именование файлов. Операционные системы Windows NT и Windows 2000 также поддерживают файловую систему MS-DOS и наследуют ее свойства. Однако у них имеется своя файловая система NTFS, обладающая отличными свойствами.

Во многих ОС имя файла может состоять из двух частей, разде­ленных точкой, например progr.exe. Часть имени файла после точки называется расширением файла и обычно означает тип файла. Так, в MS-DOS имя файла может содержать от 1 до 8 символов плюс через точку расширение от 0 до 3 символов. В некоторых ОС, например в UNIX, расширения файлов являются просто соглашениями, и ОС не заставляет пользователе их строго придерживаться. Так, файл file.txt может быть текстовым файлом, но это скорее памятка пользовате­лю, а не руководство-к действию для операционной системы. Сис­тема Windows, напротив, знает о расширениях файлов и назначает каждому расширению определенное значение. Пользователи или процессы могут регистрировать расширения в ОС, указывая програм­му, создающую данное расширение. При двойном щелчке мышью на имени файла запускается Программа, назначенная этому расшире­нию, с именем файла в качестве параметра. Например, двойной щел­чок мышью на имени file.doc запускает MS Word, который открыва­ет файл fde.doc.

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

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

  1. Файловые системы

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

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

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

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

Точные правила именования файлов варьируются от системы к системе, но все современные операционные системы поддерживают использование в качестве имен файлов 18-символьные текстовые стро­ки. Так, книга, страница, карандаш являются допустимыми имена­ми файлов. Часто в именах файлов также разрешается использова­ние цифр и специальных символов, поэтому могут применяться и такие имена файлов, как 2 (лучше _2), срочный! и Рис.2-14. Многие файловые системы поддерживают имена файлов длиной до 255 сим­волов.

''■М

В некоторых ФС различаются прописные и строчные символы, в других, таких как MS-DOS, нет. Операционные системы Windows 95 и Windows 98 используют файловую систему MS-DOS и наследуют многие ее.свойства, включая именование файлов. Операционные системы Windows NT и Windows 2000 также поддерживают файловую систему MS-DOS и наследуют ее свойства. Однако у них имеется своя файловая система NTFS, обладающая отличными свойствами.

Во многих ОС имя файла может состоять из двух частей, разде­ленных точкой, например progr.exe. Часть имени файла после точки называется расширением файла и обычно означает тип файла. Так, в MS-DOS имя файла может содержать от 1 до 8 символов плюс через точку расширение от 0 до 3 символов. В некоторых ОС, например в UNIX, расширения файлов являются просто соглашениями, и ОС не заставляет пользователя их строго придерживаться. Так, файл file.txt может быть текстовым файлом, но это Скорее памятка пользовате­лю, а не руководство-к действию для операционной системы. Сис­тема Windows, напротив, знает о расширениях файлов и назначает каждому расширению определенное значение. Пользователи или процессы могут регистрировать расширения в ОС, указывая програм­му, создающую данное расширение. При двойном щелчке мышью на имени файла запускается Программа, назначенная этому расшире­нию, с именем файла в качестве параметра. Например, двойной щел­чок мышью на имени file.doc запускает MS Word, который открыва­ет файл fde.doc.

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

тома и может колебаться от 512 б до 64 Кб. Размер кластера может отличаться от значения по умолчанию, но должен иметь одно из зна­чений, предписанных для этой ФС.

Не рекомендуется использовать файловую систему FAT 16 на то­мах больше 511 Мб; так как для небольших файлов дисковое про­странство будет использоваться крайне неэффективно: файл разме­ром 1 байт будет занимать 16, 32 или 64 Кб. Независимо от размера кластера файловая система FAT16 не поддерживается для томов боль­ше 4 Гбайт.

На рис. 3.6 показано, как организован том при использовании файловой системы FAT16.

Рис. 3.6. Организация тома в файловой системе FAT16

Единственным отличием корневого каталога от других катало­гов является то, что он располагается в определенном месте и имеет фиксированное число вхождений. Так, если число фиксированных вхождений для корневого каталога равно 512 и создано 100 подката­логов, то в корневом каталоге можно создать не более 412 файлов.

Начиная с Windows 95 OSR2, появилась поддержка 32-битной FAT. Для систем на базе Windows NT эта файловая система впервые стала поддерживаться в Windows 2000. Если FAT16 может поддержи­вать тома объемом до 4 Гб, то FAT32 способна обслуживать тома объемом до 2 Тб. Размер кластера в FAT32 может изменяться от

  1. (512 б) до 64 секторов (32 Кб). Для хранения значений кластеров FAT32 требуется 4 б (32 бит, а не 16, как в FAT 16). Это означает, в частности, что некоторые файловые утилиты, рассчитанные на FAT16, не могут работать с FAT32.

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

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

, При применении FAT32 максимальный размер файла может до-. с гигать 4 Гб минус 2 байта. Если при использовании FAT 16 макси­мальное число вхождений в корневой каталог ограничивалось 512, то FAT32 позволяет увеличить это число до 65535.

При создании файла с длинным именем Windows создает соот- иетствующее имя в формате 8.3 и одно или более вхождений в ката­лог для хранения длинного имени (по 13 символов из длинного име­ни файла на каждое вхождение). Каждое последующее вхождение хранит соответствующую часть имени файла в формате Unicode. Та­кие вхождения имеют атрибуты идентификатор тома, только чте­ние, системный и скрытый — набор, который игнорируется MS-DOS.

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

Как и при использовании FAT, основной информационной еди­ницей в NTFS является кластер. При формировании файловой сис­темы NTFS программа форматирования создает файл Master File Table (MTF) и другие области для хранения метаданных. Метаданные ис­пользуются NTFS для реализации файловой структуры. Первые 16 записей в MTF зарезервированы самой NTFS. Местоположение файлов метаданных записано в загрузочном секторе диска. Если пер- IIая запись в MTF повреждена, NTFS считывает вторую запись для нахождения копии первой. Полная копия загрузочного сектора рас­полагается в конце тома. В MTF хранятся метаданные, такие как ко­пия первых четырех записей (гарантирует доступ к MTF в случае, если первый сектор поврежден). MTF содержит информацию о томе

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

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

В Windows 2000 обеспечивается поддержка файловой системы CDFS, отвечающей стандарту ISO 9660, описывающему расположе­ние информации на CD-ROM. Поддерживаются длинные имена фай­лов в соответствии с ISO 9660.

Поддержка файловой системы UDF является одним из новшеств Windows 2000. Universal Disk Format — это файловая система, отвеча­ющая стандарту ISO 13346 и используемая для обмена данными с накопителями CD-ROM и DVD.

Сравнение срайлоВын систем micro/oft UUindouu/

Под управлением MS Win2000 возможно использование файло­вых систем FAT16, FAT32, NTFS или их комбинаций. Цифры в на­звании файловых систем — FAT16 и FAT32 — указывают на число бит, необходимых для хранения информации о номерах кластеров, используемых файлом. Так, в FAT 16 применяется 16-битная адреса-? ция и, соответственно, возможно использование до 216 адресов. В Window’s 2000 первые четыре бита таблицы расположения файлов FAT32 необходимы для собственных нужд, поэтому в FAT32 число адресов достигает 2м.

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

  • файловая система поддерживается ОС MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000, а также некоторыми ОС UNIX;

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

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

  • файловая система достаточно эффективна для томов объемом менее 256 Мб.

К недостаткам FAT16 можно отнести:

  • не поддерживается резервная копия загрузочного сектора;

  • в FAT 16 не поддерживается встроенная защита файлов и их сжа­тие.

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

  • выделение дискового пространства выполняется более эффектив­но, особенно для дисков большого объема;

  • корневой каталог в FAT32 представляет собой обычную цепочку кластеров и может находиться в любом месте диска, благодаря этому FAT32 «е накладывает никаких ограничений на число эле­ментов в корневом каталоге;

  • за счет использования кластеров меньшего размера занятое дис­ковое пространство на 10—15 % меньше, чем под FAT16.

  • FAT32 является более надежной файловой системой, в частно­сти, она поддерживает возможность перемещения корневого ка­талога и использование резервной копии FAT.

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

  • размер тома под Win2000 ограничен 32 Гб;

  • тома недоступны из других ОС — только из Win95 OSR2 и Win98;

  • не поддерживается резервная копия загрузочного сектора;

  • не поддерживается встроенная защита файлов и их сжатие.

При работе в Windows 2000 рекомендуется отформатировать все

разделы HDD под NTFS, за исключением тех конфигураций, когда используется несколько ОС (кроме Windows 2000 и Windows NT). Применение NTFS вместо FAT позволяет использовать функции, доступные в NTFS. К ним, в частности, относятся:

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

  • сжатие информации. Для томов NTFS Windows 2000 поддержи­вает сжатие отдельных файлов. Такие сжатые файлы могут ис­пользоваться Windows-приложениями без предварительной рас­паковки, которая происходит автоматически при чтении из файла. При закрытии и сохранении файл снова упаковывается;

  • защита файлов и каталогов. Только на томах NTFS возможно задание атрибутов доступа к файлам и папкам;

  • файловая система поддерживает резервную копию загрузочного сектора — она располагается в конце тома;

  • NTFS поддерживает систему шифрования Encrypted File System (EFS), обеспечивающую защиту от неавторизованного доступа к содержимому файлов.

К недостаткам NTFS относятся:

  • NTFS-тома недоступны в MS-DOS, Win95 и Wm98;

  • для томов небольшого объема, содержащих много файлов не­большого размера, возможно снижение производительности по сравнению с FAT.

  1. Рассмотрение конкретный олераиионнын систем

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

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

UCIIH и Улик

История UNIX начиналась в 60-е гг. прошлого столетия, когда сотрудник лаборатории Bell Labs крупнейшей телекоммуникацион­ной компании в мире AT&T Кен Томпсон написал на ассемблере операционную систему, которая в шутку была названа UNICS (UNiplexed Information and Computing Service — примитивная инфор­мационная и вычислительная служба). Впоследствии написание этого слова стало короче, превратившись в UNIX. Однако переписывать всю систему на ассемблере заново для каждой новой машины дело трудное, поэтому Томпсон решил переписать UNIX на языке высо­кого уровня, который он сам специально разработал и назвал язы­ком В. Но язык В оказался слабым, в первую очередь, из-за отсут­ствия в нем структур данных. Тогда коллега Томпсона Ритчи разработал следующий язык, явившийся преемником языка В, ко­торый, естественно, Получил название С. Вместе Томпсон и Ритчи переписали UNIX на С. Язык С оказался как раз тем языком, кото­рый и был нужен в то время, и он сохраняет лидирующие позиции в области системного программирования до сих пор. За работу по созданию ОС UNIX Ритчи иТомпсону ассоциацией по вычислитель­ной технике ACM была присуждена престижная премия Тьюринга. Многие университеты старались получить копию системы UNIX.

Операционная система UNIX поставлялась с полным комплек­том исходных текстов, поэтому владельцы системы могли совершен­ствовать ее. Новые идеи и усовершенствования системы распрост­ранялись быстро.

Version 7 (по номеру издания руководства программиста) стала первой переносимой на другие платформы версией операционной системы UNIX. На Vfersion 7 выросло целое поколение студентов, ко­торые содействовали распространению UNIX. К середине 80-х гг. ОС UNIX широко применялась на мини-компьютерах и рабочих станци­ях различных производителей. Многие компании даже приобрели лицензии на исходные тексты, чтобы производить свои версии сис­темы UNIX. Одной из таких компаний была небольшая начинающая фирма Microsoft, в течение нескольких лет продававшая Version 7 под именем XENIX, пока ее интересы не повернулись в другую сторону.

Для того, чтобы система UNIX могла быть гарантированно за­пущена на любой машине, к концу 80-х при содействии Совета по стандартам Standard Boards при Институте инженеров по электротех­нике и электронике IEEE была предпринята попытка объединить варианты системы. В этой работе приняли участие сотни людей из промышленных, академических и правительственных организаций. Коллективное название проекта POSIX. Первые три буквы этого сокращения означали Portable Operating System — переносимая опе­рационная система. Буквы IX были добавлены, чтобы имя проекта выглядело юниксообразно. Комитет POSIX выработал стандарт, из­вестный как 1003.1. Этот стандарт определяет набор библиотечных процедур, которые должна предоставлять каждая соответствующая данному стандарту система UNIX, таким образом, гарантируя, что эта программа будет работать на любой версии системы, поддерживаю-1 щей данный стандарт.

В 1991 г. финский студент Линус Торвальдс написал еще один клон системы UNIX, который назвал Linux. Это должна была быть полноценная операционная система, со многими функциями, отсут­ствующими в системе MINIX. Она заимствовала некоторые идеи системы MINIX, начиная со структуры дерева исходных текстов и кончая структурой файловой системы. Однако, в отличие от микро- ядерной системы MINIX, Linux бьша монолитной системой, т.е. вся ОС помещалась в ядре. Размер исходного текста приблизительно совпадал с версией MINIX. Функционально первая версия Linux так­же практически почти не отличалась от MINIX.

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

Следующим выпуском системы Linux была версия 1.0, появив­шаяся в 1994 г. Она включала новую файловую систему, отображе­ние файлов.на адресное пространство памяти и совместимое с UNIX сетевое программное обеспечение. Данная версия также включала многие новые драйверы устройств.

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

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

Необычной особенностью Linux является ее бизнес-модель: это свободно распространяющееся программное обеспечение. Ее можно скачать с различных Internet-сайтов, например www.kemel.org. Сис­тема Linux поставляется вместе с лицензией, разработанной Ричар­дом Столманом, основателем Фонда бесплатно распространяемых программ.

Обзор операиионной системы UfllH

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

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

Операционную систему UNIX можно рассматривать в виде пи­рамиды (рис. 3.7). У основания пирамиды располагается аппаратное обеспечение, состоящее из ЦП, памяти, дисков, терминалов и дру­гих устройств. На аппаратном обеспечении работает система UNIX, lie функция заключается в управлении аппаратным обеспечением и предоставлении всем программам системных вызовов. Эти систем­ные вызовы позволяют программам создавать процессы, файлы и прочие ресурсы и управлять ими.

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

Помимо ОС и библиотеки системных вызовов, все версии UNIX содержат большое количество стандартных программ, некоторые из НИХ описываются стандартом POSIX 1003.2, тогда как другие могут различаться в разных версиях системы. К этим программам относятся командный процессор (оболочка), компиляторы, редакторы, про­граммы обработки текста и утилиты для работы с файлами. Именно >ти программы и запускаются пользователем с терминала.

Таким образом, существует 3 интерфейса в ОС UNIX: интерфейс

Интерфейс

Пользователи

пользователя

Режим пользователи'

Интерфейс

библиотечных

функций

Интерфейс { системных Г вызовов

Стандартные обслуживающие программы (оболочка, компиляторы и т.д.)

Стандартная библиотека (open, close, read, fork и т.д.)

Режим ядра

Операционная система UNIX (управление процессами, памятью, файловая система, ввод-вывод и т.д.)

Аппаратное обеспечение (ЦП, память, диски, терминал и тд.)

Рис. 3.7. Уровни операционной системы UNIX

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

У многих версий системы UNIX имеется графический интерфейс пользователя, сходный с популярными интерфейсами, применяемы­ми на компьютерах Macintosh и в системе Windows. Пользователь­ский интерфейс UNIX состоит не только из оболочки, но также из большого числа стандартных обслуживающих программ, называемых утилитами. Стандарт POSIX 1003.2 определяет синтаксис и семантику около 100 из этих программ. Идея стандартизации этих программ заключается в том, чтобы можно было писать оболочки, которые работали бы на всех системах UNIX. Помимо этих стандартных ути­лит, существует еще масса прикладных программ, таких как web-бра­узеры, программы просмотра изображений и т. д.

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

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

Операционная система UJindouu/

Операционные системы корпорации Microsoft можно разделить на три семейства: MS-DOS, Consumer Windows (Windows 95/98/Me) и Windows NT.

История Windows, как и история развития Microsoft, начиналась it 1981 г., когда корпорация IBM создала персональный компьютер IBM PC, оснащенный 16-разрядной однопользовательской операци­онной системой реального режима с командной строкой MS- DOS 1.0. Эта операционная система поставлялась фирмой Microsoft, известной в те годы как разработчик интерпретатора BASIC. Через два года была выпущена более мощная операционная система MS- DOS 2.0. Она содержала программу обработки командной строки с большим количеством функций, позаимствованных у ОС UNIX. В 1986 г. новый компьютер IBM PC/AT (Advanced Technology — пере­довая технология) на базе процессора Intel 286 вместе с операционной системой MS-DOS 3.0 фирмы Microsoft. В ОС MS-DOS появилось много новых функций, но она оставалась системой с командной стро­кой. Затем Microsoft решила добавить к операционной системе MS- DOS графический интерфейс пользователя (оболочку), которую она назвала Windows. Операционные системы Windows 1.0 и Windows 2.0, выпущенные соответственно в 1985 и 1987 гг., были неудачными. На­конец, версия 3.0, выпущенная в 1990 г. для компьютера с процессо­ром Intel 386, и особенно последовавшие за ней версии 3.1 и 3.11 до­бились большого коммерческого успеха. Ни одна из этих версий не являлась настоящей операционной системой. Это был скорее графи­ческий интерфейс поверх MS-DOS, которая продолжала управлять! машиной и файловой системой. Все программы работали в одном и том же адресном пространстве, ошибка одной из них могла привести к зависанию всей системы.

Выход в 1995 г. Windows 95 не привел к вытеснению системы MS- DOS, хотя почти все ее функции были перенесены в Windows; Как Windows 95, так и новая версия MS-DOS 7.0 содержали большинство особенностей монолитной операционной системы, включая вирту­альную память и управление процессами. ОС Windows 95 не была полностью 32-разрядной программой. Она содержала большие кус­ки 16-разрядного ассемблерного кода и продолжала использовать файловую систему MS-DOS, практически со всеми ее ограничения­ми. Значительное изменение файловой системы заключалось только в добавлении длинных имен файлов к именам формата 8.3, разре­шенным в MS-DOS.

В Windows 98, вышедшем в 1998 г., MS-DOS все еще присутствен вала (версия 7.1) и состояла из 16-разрядного кода. Хотя еще больше функций было переведено из MS-DOS в Windows, а поддержка боль­ших дисковых разделов стала стандартом, по своему строению опера­ционная система Windows 98 не сильно отличалась от Windows 95. Отличие заключалось в интерфейсе пользователя, интегрировавшем в себе Internet и рабочий стол пользователя.

В 2000 г. Microsoft выпустила слегка измененную версию Windows 98, названную Windows Me (Windows Millennium Edition — Windows, выпуск тысячелетия). В этой версии были исправлены некоторые ошибки и добавлены новые функции, но под внешней оболочкой скрыта все та же Windows 98. Новые функции включали в себя улучшенную органи­зацию при совместном использовании изображений, музыки и филь­мов, основательнее поддерживали работу с домашней сетью и много­пользовательские игры. Они также содержали больше функций, относящихся к Internet. Одна новая функция состояла в возможнос­ти восстановить прежние настройки компьюте-ра после неверной ус­

тановки каких-либо параметров. Например, если пользователь пере­настраивал разрешение экрана с 640 х 480 на 1024 х 768, И после это­го система переставала работать, то теперь он мог вернуться к после­дней работающей конфигурации.

К концу 80-х гг. корпорация Microsoft осознала, что построение современной 32-разрядной операционной системы поверх 16-разряд- ной системы MS-DOS является решением, лишенным перспективы. Поэтому была начата работа над созданием совершенно новой 32-разрядной ОС, совместимой с Windows. Эта новая система, на­званная Windows NT (NT означает New Technology — новая техноло­гия), предназначалась для деловых приложений, решающих ответ­ственные задачи, а также для домашнего использования. В это время мэйнфреймы все еще работали на крупный бизнес, поэтому пред­положение, что компании будут использовать персональные компь­ютеры для чего-либо важного, выглядело довольно утопично. Но, как показала история, это был правильный выбор. Такие свойства, как безопасность и высокая надежность, отсутствовавшие в прежних вер­сиях Windows, были поставлены в этом проекте во главу угла.

Проект оказался успешным. В 1993 г. была выпущена первая вер­сия, названная Windows NT 3.1. Номер версии был выбран так, что­бы он соответствовал номеру версии популярной тогда 16-разрядной Windows 3.1. Microsoft ожидала, что операционная система NT быс­тро вытеснит Windows'3.1, так как по формальным показателям NT значительно превосходила ее.

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

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

Следом за NT 4.0 предполагалось выпустить версию NT 5.0. Но в 1999 г. Microsoft изменила ее название на Windows 2000. Это было сделано для того, чтобы найти нейтральное имя как для пользовате­лей Windows 98, так и для пользователей NT. При этом Microsoft рас-

  1. 161

    Информатика

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

Windows 2000 — это современная операционная система, рабо­тающая на настольных ПК старших моделей и серверах. Она унас-. ледовала множество свойств системы NT 4.0 и является полностью^ 32-разрядной (планируется переход на 64-разрядную) многозадачной системой с индивидуально защищенными процессами.

Каждый процесс имеет свое собственное 32-разрядное виртуаль­ное адресное пространство. ОС работает в режиме ядра, тогда как процессы пользователя работают в пользовательском режиме, что обеспечивает полноценную защиту (в отличие от Windows 98). У про­цессов может быть один или несколько потоков, видимых для опе­рационной системы и управляемых ею. Она удовлетворяет требова­ниям безопасности уровня С2 МО США для всех файлов, каталогов и процессов, а также других объектов, которые могут использовать­ся совместно. Наконец, она обладает полной поддержкой симметрич­ных многопроцессорных систем с числом процессоров от 2 до 32.

Возможности операционной системы Windows 2000 позволяют использовать ее как основную операционную систему для современ­ных настольных компьютеров и ноутбуков на предприятиях любого типа. При создании этой системы корпорация Microsoft сохранила все полезные свойства Windows 98: технологию plug-and-play, простой и понятный пользовательский интерфейс, широкие возможности управления, и даже улучшила их. Кроме того, их дополнили систе­ма безопасности, средства управления и обеспечения надежности, ха­рактерные для системы Windows NT. Развертывание системы Windows 2000 как на одном компьютере, так и в рамках Всемирной сети по­зволяет повысить эффективность использования компьютерных тех­нологий при одновременном снижении общей стоимости владения,

В Windows 2000 встроена сертификация драйверов, что гарантирует использование требуемых драйверов и уменьшает риск сбоя оборудо­вания из-за аппаратных конфликтов, а также специальная программа, Microsoft Installer, которая помогает правильно устанавливать, настра­ивать, сопровождать, обновлять и удалять программы, снижая риск ошибок пользователя и возможность снижения производительности.

Еще одно значительное усовершенствование заключается в ин­тернационализации ОС. Операционная система Windows 2000 состоит из единого двоичного кода, работающего во всех странах мира. Для каждой установки системы и даже для каждого пользователя можно выбрать язык, который будет использоваться в системе. Это стало возможным потому, что все пункты меню, строки диалоговых окон, сообщения об ошибках и другие текстовые строки были удалены из ОС и помещены в специальные каталоги, по одному для каждого и зыка. Windows 2000 использует кодировку Unicode для поддержки языков, не использующих латинский алфавит, таких как русский, греческий, иврит, японский.

Windows 2000 поставляется в виде нескольких уровней продук­та: Professional, Server, Advanced Server и Datacenter Server. Однако раз­личия между этими версиями незначительны. Во всех версиях ис­пользуется один и тот же исполняемый двоичный код. При установке системы тип продукта записывается в системном реестре (внутрен­няя база данных), и во время загрузки ОС проверяет содержимое реестра, определяя версию программного продукта.

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

Работа с файловой системой в окнах папок не вполне удобна, и для этой цели в ОС предусмотрено более мощное средство — про­грамма Проводник (рис. 3.8). Проводник — служебная программа, от­носящаяся к категории файловых менеджеров. Она предназначена для навигации по файловой системе компьютера и ее обслуживания. 11роводник интегрирован в ОС Windows, и поэтому он работает даже тогда, когда его окно закрыто. Так, если по щелчку правой кнопки мыши вызывается контекстное меню, или объекты перетаскиваются ИЗ одного окна в другое, то это результат работы Проводника.

|fJC-\WINDOW^^

—1" 'И ЩВ

ШМ

j j Файл Правка ВидИзбранное Сервис

йФавка ;flM

11 Назад Шд, йгЬи'Ч (.©ПЙЙ1

■^журШг

КЧ X «Ч!Йт .

|]йдрес |С] C:\WINDOWS

lasasss f sggs УДЯ?.:—г1 1 -=~—

▼ 1 ^Переход j|

Папки


if Рабочий стол I Ш-Мои документы |а- S Мой компьютер I j Й Диск 3,5 (А:)

1 ! а-О Win2KPro(С:) fl'i фО АП

I > | IJ3 Q Documents and

J | i ffl-Q Program Files

I 4 j ф-Q Temp

I i | di сзЕ2225Э

I j Й Ј3 Distribute (D:)

1 i Й-£Э Aborigal (Ei)



Ш

Ha

Ш

fM

А .

ш у 1 ;

шш

I i^i

b

|!

addins

AppPatch

Cache

Config

а

tin

ш

Ш

Settim В

Connection

Wizard

Corel

Cursors

Debug

Л

о?

i«i

1 1

I Downloaded 1 Program Files

Driver Cache

Fonts

Help

1 /rrv

.c.rv ;

.c~\ ....

^ ..

WINDOWS

^Мой компьютер-

6,67 MBS

объектов 103, скрытьве. 4 (Свободно на

Рис. 3.8. Окно программы Проводник

Операционная система Windows 2000. обладает широкими воз­можностями настройки. Цель настройки состоит в создании условий для эффективной работы путем автоматизации операций и создания комфортной рабочей среды. Основные настраиваемые объекты — средства управления и оформления. Средствами настройки являют­ся Панель управления (Пуск\Настройка\Панель управления), представ­ленная на рис. 3.9, контекстные Меню объектов Windows и элементы управления диалоговых окон операционной системы и ее приложе­ний.

Хотя Windows 2000 является самой большой ОС в мире, она все продолжает расти, ошибки устраняются, а новые функции добавля­ются.

В октябре 2001 г. была представлена Microsoft Windows ХР (от слова eXPerience) — новейшая на этот момент версия операционной системы Windows, обладающая широкими возможностями в области коммуникаций и обработки любых видов цифровой информации. По заявлению Билла Гейтса, Windows ХР — лучшая из всех ОС, когда- либо созданных корпорацией Microsoft.

Мышь

Сеть и удалеиньй..

Назначенные

задания

а

Система

Палки

ф-Gj Testing

81-СЭ w

;-D Ajjpecalntemet ГО СЗ Бухучет (••vffr Заочники ]• О M3lf*emet Ol ИТ_КоимДеят ф Q ИТ_Управлен Ci ИТ^Эконом ф CJ ИТвУКиЗашИнф •Qj КалендПпаи

!—IfantMiru

Клавиатура

Свойства

палки

Принтеры Свойства обозревателя

Специальные Телефон и возможности модем

Установка обору дова...

Установкай удалеиие...

Шрифты

Языки

стандарты

Рис. 3.9. Панель управления — основное средство настройки Windows

В семействе продуктов Windows ХР применяется технология Product Activation, представляющая собой новое средство защиты ПО от незаконного копирования, ограничивающее возможное число ус­тановок продукта на отдельных компьютерах. Если продукт защищен с помощью этой технологии, то купивший его пользователь должен мосле установки выполнить дополнительную процедуру активации продукта.

В Windows ХР появились новые средства обеспечения безопас­ности, в частности встроенный в ОС брандмауэр подключения к Internet (Internet Connection Firewall). Кроме того, в состав ОС вхо­дит Internet Explorer 6, содержащий дополнительные средства защи­ты персональных данных, передаваемых при посещении Web-узлов. В состав семейства операционных систем Windows ХР входят:

  • Windows ХР Home Edition — операционная система, предназна­ченная в основном для домашних пользователей;

  • Windows ХР Professional — операционная система, предназначен­ная в основном для установки на рабочих станциях корпоратив­ных пользователей;

  • Windows XP 64-Bit Edition — 64-разрядная ОС, предназначенная для применения на компьютерах с большим объемом оператив­ной памяти и процессором семейства Intel Itanium, используе­мых для задач, требующих больших объемов вычислений и об­работки больших объемов данных;

  • Wndows.NET Server — серверная операционная система, является дальнейшим развитием операционных систем Windows 2000. Ос­новными особенностями семейства ОС Windows.NET Server яв­ляется наличие в их составе платформы Wndows.NET Framework, а также поддержка Web-сервисов XML.

Windows XP Home Edition предназначена для замены ОС Windows 95, Windows 98 и Windows Me. От них ее отличают черты, характерные для Windows NT и Windows 2000, — архитектура с защищенным яд­ром и полное разделение процессов, что благоприятно сказывается на надежности этой ОС и позволяет одновременно выполнять при­ложения, использующие разные версии одних и тех же библиотек без каких-либо конфликтов между ними. Среди полезных приложений, появившихся в Windows XP Home Edition, следует выделить диспет­чер задач — Task Manager — в стиле Windows NT/2000, позволяющий снять зависшее приложение или процесс, получить информацию о загрузке процессора и памяти.

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

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

Windows XP Professional предназначена для части системного ПО, занятого сейчас ОС Windows NT Workstation и Windows 2000 Professional. Она также основана на архитектуре с защищенным яд­ром и полном разделении процессов. По сравнению с Windows ХР

Home Edition эта ОС обладает рядом дополнительных возможностей.

Windows XP Professional содержит дополнительные средства, ко­торые упрощают ее эксплуатацию на рабочих станциях корпоратив­ных сетей, включающих компьютеры с серверными ОС Microsoft. К ним относятся средства централизованного администрирования, возможность установки групповых политик, дополнительные сред­ства установки и поддержки программного обеспечения,- включая поддержку удаленной установки ПО. Операционная система может использовать одновременно два процессора, распределяя задачи меж­ду ними, что повышает ее масштабируемость. Помимо средств защи­ты данных, имеющихся в Windows XP Home Edition, в Windows ХР Professional предусмотрена возможность шифрования файлов в раз­делах с файловой системой NTFS. Кроме того, эта операционная система позволяет ограничить доступ пользователей к некоторым файлам, приложениям и другим ресурсам.

Windows ХР 64-Bit Edition — 64-разрядная ОС, предназначенная для применения на компьютерах с большим объемом оперативной памяти и процессором семейства Intel Itanium, которые используются для задач, требующих больших объемов вычислений. Эта ОС пред­ставляет собой высокопроизводительную платформу для создания нового поколения приложений, основанных на Win64 API. В отли­чие от 32-разрядных ОС, поддерживающих до 4 Гбайт виртуальной памяти, она позволяет более эффективно обрабатывать большие объемы данных, поддерживая до 16 Гбайт реальной оперативной па­мяти и до 8 Тбайт виртуальной оперативной памяти. Система опти­мизирована для применения с процессором Intel Itanium и исполь­зует такие его особенности, как набор инструкций, позволяющий выполнять до 20 операций. Windows ХР 64-Bit Edition поддерживает до двух процессоров Intel Itanium.

  1. Служебные программы

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

файлов, оптимизация дискового пространства, восстановление по­врежденной информации, антивирусные средства (раздел 8.4.) и другие.

Файловые менеджеры

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

Самыми популярными файл-менеджерами сегодня в России яв­ляются Total Commander (бывший Windows Commander) и FAR Manager. По возможностям за ними следует Frigate, который пока еще недостаточно хорошо известен пользователям.

Все программы работают' под управлением: Windows 98/Me/NT/ 2000/ХР.

FAR Manager 1.7. Norton-подобный файл-менеджер, который может работать как в полноэкранном, так и в оконном режимах, поддерживает длинные имена файлов, корректно работает с русски­ми буквами, а встроенный редактор позволяет переключаться между DOS- и Windows-кодировками, окрашивает имена файлов в соответ­ствии с их расширениями, что очень удобно при работе. Среди воз­можностей программы — определение размеров каталогов, вызов списка активных задач, передача файлов через FTP-клиент, управ­ление сетевыми и подключенными к ПК принтерами, подсветка синтаксиса в исходных текстах программ, поиск и замена символов одновременно во множестве файлов с применением регулярных выражений, средства переименования групп файлов с возможностью использования сложных составных масок, проверка орфографии при обработке текста в редакторе FAR и многое другое. Программа под­держивает большинство известных архивных форматов и позволяет архивировать и разархивировать, просматривать, редактировать и запускать на выполнение файлы из архивов. В системе предусмот­рены развитая система управления горячими клавишами \и очень

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

Total Commander 6.03. Если FAR Manager выбирают те пользова­тели, которые привыкли работать с Norton Commander, то люди, на­чинавшие с Windows, предпочитают Total Commander (рис. 3.10). Он ' Продолжает добрую традицию двухпанельных файловых менеджеров, но в большей степени ориентирован на Windows-интерфейс. Так же, как и у многих Windows-программ,,интерфейс Total Commander лег­ко настраивается, причем отрегулировать можно буквально все: цве­та, наборы панелей, цвета для групп файлов, иконки папок и доку­ментов. Интерфейс Total Commander позволяет просматривать содержимое носителей с использованием настраиваемых закладок.

В итоге в рамках одной панели файл-менеджера можно открыть не­сколько директорий, каждая из которых будет представлена отдель­ной закладкой, а при переходе между закладками сохраняется состо­яние директории. Имеется поддержка архиваторов ZIP, ARJ, LZH,

Eltes KLarJl

■ Total Commander 6.03a - Ш REGISTERED

Clet Жи' Configuration.. 5tart

з ШШш Ш Sf.Sg

1-c-ljJ [win2kpiol 5718 368 ЩЛ

р * [Чг

FcTEj (win2kpro) 5 718 368 k of 8 38^ \ j Щ

ЗПЯПНИШШЮ * 0-

tHame

Ext Size i Dale.

h[ATli <DIR> 05.08.2004 16:01 4

ГПfDocumenU.. 1 <DIR> 05.08.2004 18:12 -a

  • [Program FiL.J <DIR> 20.08.2004 19:37 ra

  • (Temp] <OIR> 05.08.2004 18:22 -

GJ (WINDOWS] <DIR> 20.08.2004 19:38 -all

[jjj] csb log 25 05.08.2004 16:07 -a

Q[AT 11 <DIR> 05.08.2004 16:01 -4

Q [Documents..! <DIR> 05.08.2004 18:12 -a

  • [Program Fil..] <DIR> 20.08.2004 19:37 ra!

Q[Temp] <DIR> 05.08.200418:22—;

  • [WINDOWS] <DIR> 20.08.2004 19:38 -a!

IQ csb log 25 05.08.200416:07 -aj

, F3 View

Рис. 3.10. Панели файл-менеджера Total Commander

GZ, TAR, RAR и AGE и встроенный FTP-клиент. Наряду со стан­дартными возможностями, характерными для данного класса приложений, программа обладает целым рядом особенностей, кото­рые способны существенно ускорить навигацию по дискам и папкам. К таким особенностям относятся: запоминание часто используемых каталогов, история последних посещенных каталогов, быстрый по­иск, в том числе внутри файлов, многофункциональные возможнос­ти настройки горячих клавиш, удобная панель инструментов с под­держкой drag & drop, удобная работу с комментариями к файлам и папкам и др. Поддержка встроенных функций позволяет реализовать в Total Commander многие полезные возможности, такие как диспет­чер задач, редактор реестра, временная панель, управление серви­сами, работа с сетевыми папками, карманным компьютером, Linux- разделами и пр.

Frigate 3.24. Выпущенный в 2001 г. этот файловый менеджер очень активно развивается. Сегодня его уже можно сравнить с про­граммой Total Commander. Это очень многофункциональный продукт с привычным Windows-интерфейсом. Frigate поддерживает все основ­ные операции работы с файлами и папками, а также умеет работать с 24 графическими форматами (просмотр, слайд-шоу, конвертация), имеет встроенный многофункциональный текстовый редактор, встро­енные просмотрщики файлов HTML, DOC, RTF и др. Кроме того, он очень удобен при работе с FTP, имеет множество полезных ути­лит и поддерживает систему встроенных функций и работу с архи­вами, а в Windows 2000/ХР даже умеет записывать файлы на CD-RW. Уникальная система настроек позволяет полностью настроить вне­шний вид программы. Стандартная комплектация программы вклю­чает: файловый менеджер, поддержку архивов, работу с FTP, тексто­вый редактор, RTF-редактор, просмотрщик изображений, менеджер свободного места, менеджер автозапуска, встроенные часы и работу с MP3. Профессиональная комплектация дополнена модулями для синхронизации директорий, менеджером свободного пространства, менеджерами автозапуска и заметок, встроенными часами, поддер­жкой встроенных функций для Total Commander и многими други­ми модуляциями. По сути, Frigate Pro уже больше напоминает не файловый менеджер, а настоящий электронный офис, обеспечива­ющий работу с мультимедиа, мощные средства организации доку­ментов, дополнительные средства и утилиты.

Сжатие инсрормаиии

Вследствие неуклонно растущих объемов обрабатываемой ин­формации особое значение приобретает сжатие данных. Избыточ­ность информации предоставляет широкое поле деятельности в этой области. Так, измерение избыточности естественных языков (тех, на которых мы говорим) показывает, что практически 80 % передавае­мой с помощью языка информации является избыточной, т.е. лиш­ней. Показатели избыточности разных языков очень близки. Данная цифра примерно определяет теоретические пределы сжатия тексто­вых файлов. Наличие избыточности допускает переход на иную сис­тему кодирования, которая бы уменьшила ее. Говоря о переходе на коды, которые позволяют уменьшить размер сообщения, вводят по­нятие коды сжатия. При этом различают понятия сжатие без потерь И сжатие с потерями. Очевидно, что когда мы имеем дело с инфор­мацией типа «номер телефона», то сжатие за счет потери части сим­волов не ведет ни к чему хорошему. Однако можно Представить це­лый ряд ситуаций, когда потеря части информации не приводит к потере полезности оставшейся. Сжатие с потерями применяется в основном для графики, звука и видео, т.е. там, где в силу огромных размеров файлов степень сжатия очень важна, и можно пожертво­вать деталями, несущественными для восприятия этой информации человеком. Особые возможности для сжатия информации имеются при компрессии видео. В ряде случаев большая часть изображения передается из кадра в кадр без изменений, что позволяет строить Алгоритмы сжатия на основе выборочного отслеживания только ча­сти «картинки». В частном случае изображение говорящего челове­ка, не меняющего своего положения, может обновляться только в области лица или даже рта, т.е. в той части, где происходят наибо­лее быстрые изменения от кадра к кадру. Обычно сжатие графики с потерями, обеспечивая очень высокие степени компрессии, прак­тически незаметно для человека.

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

Кодирование без потерь может применяться для сжатия любой информации, поскольку обеспечивает абсолютно точное восстанов­ление данных посде кодирования и декодирования. Сжатие без по­терь основано на простом принципе преобразования данных из од­ной группы символов в другую, более компактную. Наиболее известны два алгоритма сжатия без потерь: это кодирование Хаффме­на и LZW-кодирование (по начальным буквам имен создателей Lempel, Ziv, Welch), которые представляют основные подходы при сжатии информации. Принцип кодирования Хаффмена заключает­ся в уменьшении количества битов, используемых для представления часто встречающихся символов, и, соответственно, в увеличении ко­личества битов, используемых для редко встречающихся символов. Метод LZW кодирует строки символов, анализируя входной поток для построения расширенного алфавита, что позволяет использовать дополнительные символы для представления строк обычных симво­лов. Используя, например, вместо 8-битовых ASCII-кодов 9-битовые, получают дополнительные 256 символов. Работа компрессора сводит­ся к Построению таблицы, состоящей из строк и соответствующих им кодов. Алгоритм сжатия сводится к следующему: программа про­читывает очередной символ и добавляет его к строке. Если строка уже находится в таблице, чтение продолжается, если нет, данная строка добавляется к таблице строк. Чем больше будет повторяющих­ся строк, тем сильнее будут сжаты данные. Возвращаясь к примеру с телефоном, можно, проведя упрощенную аналогию, сказать, что, сжимая запись 233 34 44 по LZW-методу, мы придем к введению новых строк — 333 и 444 и, выражая их дополнительными символа­ми, сможем уменьшить длину записи.

Все архиваторы используют в какой-либо модификации эти два метода кодирования информации. Самым популярным архиватором является WinZip. Объясняется это тем, что формат ZIP считается ми­ровым стандартом архивирования и имеет самую длительную исто­рию развития. Большинство архивов в Internet также имеют формат ZIP. За ним следуют многими любимый WmRAR и набирающий обо­роты WinAce. Все эти архиваторы работают под управлением Windows 98/Me/NT/ 2000/ХР.

WinZip 9.0. Возможностей его вполне достаточно для того, что­бы обеспечить надежное и эффективное архивирование данных. Про­грамма работает в Двух режимах: классическом и режиме мастера, рассчитанном на новичков. Она ориентирована преимущественно на /ЛР-архивы, но при этом поддерживает и другие популярные ар­хивные форматы. В числе возможностей WinZip — поддержка техно­логии перетаскивания (drag & drop) и полная интеграция с програм­мами «Мой компьютер» и «Проводник»; создание самораспако- иывающихся файлов; поддержка антивирусных программ; отправка архива по электронной почте и пр. А для защиты архива от Несан­кционированного доступа можно при его создании указать пароль. WinZip 9.0 поддерживает 128- и 256-битовое шифрование АЕС, ко­торое обеспечивает намного большую безопасность, чем традицион­но используемый в более ранних версиях архиватора метод шифро­вания Zip 2.0. Кроме того, WinZip 9.0 позволяет теперь обрабатывать файлы практически неограниченного размера.

WmRAR 3.3 — признанный лидер среди программ-архиваторов по удобству и массовости применения, поддерживающий в настоящее время самый большой набор языков, включая русский. При этом формат RAR в большинстве случаев обеспечивает значительно луч­шее сжатие, чем ZIP, особенно в режиме создания непрерывных ар­хивов. Формат RAR оснащен несколькими очень важными функци­ями, отсутствующими у ZIP* к числу которых, например, можно отнести функцию добавления информации для восстановления, ко­торая позволяет восстановить физически поврежденный файл, и фун­кцию блокировки архивов для предотвращения случайной модифика­ции особенно ценных данных. Формат RAR позволяет обрабатывать файлы практически неограниченного размера и не только предлага­ет оригинальные и эффективные алгоритмы для сжатия информации, различных типов, но и автоматически применяет нужный алгоритм при сжатии файлов. В число его основных особенностей входят: пол­ная поддержка архивов RAR и ZIP; управление архивами других фор­матов; наличие графической оболочки с поддержкой технологии пе­ретаскивания drag & drop; поддержка метода solid-архивирования,

при котором может быть достигнута степень сжатия, на 10—50 % пре­вышающая ту, что дают обычные методы; поддержка многотомных архивов (в формате RAR); создание самораспаковывающихся (SFX) обычных и многотомных архивов; возможность создания и исполь­зования томов для восстановления, позволяющих воссоздавать недостающие части многотомных архивов; отправка архива по элек­тронной почте и пр. Для удобства возможно создание избранных па­пок и архивов. Программа поддерживает два варианта работы: клас­сический и с помощью мастера.

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

WinAce 2.5. Может быть, в будущем этот набирающий популяр­ность архиватор составит конкуренцию WinZip и WinRAR. Главное его достоинство — манипуляция разными форматами архивов. Архи­ватор обеспечивает сжатие и распаковку многих известных форма­тов. Он поддерживает технологию перетаскивания (drag & drop); solid-архивирование для формата АСЕ; сжатие рисунков и звука; от­правку архивов по электронной почте. Он также предоставляет воз­можности для создания многотомных архивов в форматах АСЕ, ZIP и САВ, самораспаковывающихся архивов (SFX) АСЕ и ZIP и др. Есть возможность добавления информации для восстановления архива в случае его повреждения. В целом различных настроек и установок в WinAce больше, чем в любом другом архиваторе. Однако в освоении WinAce сложнее, чем WinRAR или WinZip.

Программы резервирований 0аннын

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

В Windows 2000 имеются средства резервного копирования и восстановления данных — Backup And Recovery Tools (Средства ар­хивации и восстановления). В ее состав входит Backup Wizard (Мас­тер архивации) — служебная программа, облегчающая архивирование и восстановление данных. Однако специализированные программы сторонних производителей во многих случаях предоставляют более удобную и быструю возможность выполнения этих процедур.

Общепризнанными лидерами разработки соответствующего ПО являются компании Hewlett-Packard, Computer Associates, Seagate Software, но их продукты требуют сложного администрирования, рас­считаны на корпоративный бизнес и поэтому дороги. Для рядового пользователя лучше выбрать более простые и дешевые программы, например, Handy Backup или BackUp32, которые работают под уп­равлением Windows 9x/NT/2000/ Ме/ХР.

Handy Backup 4.1 представляет собой простую и удобную про­грамму для автоматического создания копий документов и данных, которые могут быть сохранены на любом устройстве (как внешнем, так и внутреннем, в том числе и на CD-RW) или отправлены на FTP- сервер, а при необходимости восстановлены. При этом можно сохра­нять не только отдельные файлы и папки, но и письма из MS Outlook, системный реестр или ICQ-переписку. Программа умеет работать по расписанию, сжимать файлы в ZIP-архивы, поддержи­вает 128-битное шифрование и синхронизацию данных.

BackUp 32 2.0. Основное назначение программы — резервирова­ние данных с возможностью автоматического сжатия как с ис­пользованием встроенного, ZIP-совместимого модуля сжатия, так и за счет подключения внешних архиваторов. Поддерживаются циклы удаления устаревших архивов по возрасту архива и по количеству архивов в архивной директории. В числе возможностей программы

  • присвоение имени архиву в формате даты, посылка в сеть сооб­

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

Программы записи компакт-ЗискоВ

Среди продуктов этого класса есть свои фавориты. Это пакеты от Nero (Nero 6 или более ранние версии) и Roxio (Easy Media Creator 7, WmOnCD 6 или более ранние их Модификации). Все они универ­сальны, позволяют записать любой диск на CD или DVD, содержат много дополнительных приложений для обработки разнообразной информации и могут снабдить записанный диск профессиональной наклейкой. Однако существует целый ряд более дешевых и компак­тных утилит, способных справиться с этой задачей ничуть не хуже своих более дорогих аналогов. Но следует иметь в виду, что многие из огромного количества программ данного направления ориентиро­ваны только на создание отдельных видов дисков — аудио-CD, ви- део-CD и т.п. Все программы работают под управлением Windows 95/ 98/NT 4/ Ме/2000/ХР.

Nero по праву считается лучшим универсальным пакетом про­грамм для записи CD- и DVD-дисков, обладает простым и удобным пользовательским интерфейсом, язык которого легко изменить, в том числе и на русский. Пакет работает быстро и стабильно и поддер­живает технологию защиты от сбоев. В комплекте с приложением Nero Burning Rom, которое служит непосредственно для записи CD- и DVD-дисков, Nero 6 объединяет целый набор дополнительных про­грамм. В их числе — многофункциональный помощник Nero StartSmart, использование которого позволит создавать новые диски или копии дисков даже неискушенным пользователям. Приложение Nero Vision Express 2 служит для создания видеодисков, записи ви­део на жесткий диск, кодирования видеоконтента и пр. Приложение

/

Nero Wave Editor 2 применяется для редактирования звука; Nero ImageDrive — эмулятор CD-привода; Nero BackltUp — программа для резервного копирования; Nero Cover — редактор обложек к дискам и ряд Других. Nero Burning ROM поддерживает всю гамму пишущих приводов — как классические внутренние приводы CD-R/RW, DVD- R/RW, DVD+R/RW и DVD-RAM, так и внешние приводы IDE, SCSI [ С интерфейсами USB 2,0 и даже FireWire — и обладает возможнос­тью перезаписи. В качестве источников информации могут выступать как файлы на жестком диске, так и другие компакт-диски.

Roxio Easy Media Creator 7 (ранее.„известная как Easy CD & DVD ■ Creator 6) — это универсальный пакет приложений, позволяющий | работать с мультимедийным контентом любых видов: организовы­вать, редактировать и сохранять на CD или DVD цифровые фотогра- I фии, музыку и видео. В состав пакета, наряду с программой для за­писи CD- или DVD-дисков Easy CD & DVD Creator, входит целая I серия других утилит, которые могут обмениваться мультимедиадан- i ными между собой и использовать одни и те же файлы в совмест­ной работе. Например, DVD Builder 2.0 позволяет создавать профес- I сиональные DVD, VCD и SVCD с элементами управления (меню,

  • кнопки, главы, фон и т.д.). Утилита AudioCentral необходима для I создания музыкальных CD, a Sound Editor позволяет импортировать аналоговые данные с пластинок и видеокассет. ^Встроенный фото­редактор PhotoSuite 7 Platinum поможет редактировать фотографии I с возможностью последующего создания фотоальбома или слайд-шоу, и для видеомонтажа потребуется профессиональный редактор

  1. VideoWave 7 Pro.

В целом, Easy Media Creator 7 позволяет копировать обычные файлы и папки, прослушивать, редактировать и записывать музы­кальные коллекции, создавать слайд-шоу и фотоальбомы, .интер­активные меню для DVD Video, печатать обложки и наклейки к компакт-дискам. Записанные диски можно защитить от несанкцио­нированного чтения с помощью пароля со 128-битным шифровани­ем. Кроме того, работа в режиме Backup позволяет создавать резерв­ные копии данных по расписанию, а при записи на CD или DVD больших файлов происходит их автоматическое сжатие.

CopyToDVD 3.0.16, заменившая собой ранее известную програм­му CopyToCD этой же компании, отличается удобным дружествен­ным интерфейсом и позволяет записывать CD-R(W)/DVD-ahckh од­ним щелчком мыши. Программа поддерживает CD-R(W)-, DVD- R(W)-, DVD+R(W)- и DVD-RAM-приводы и обладает возможностью перезаписи. Копировать на компакт-диски можно любую информа­цию: файлы, папки, изображения, музыку, а при записи на DVD — 1 и видеоинформацию.

Elbys CloneDVD 2.3 предназначена для создания полностью иден­тичных копий DVD-фильмов и их записи на DVD-носители. Про­грамма может полностью переписать содержимое диска, что позво­ляет создавать копии в режиме «Один к одному» со всеми меню, субтитрами и т.д. CloneDVD поддерживает работу с большинством существующих приводов и обладает хорошим быстродействием и качеством записи.

SureThing CD Labeler 4.0 считается лучшим специализированным прикладным пакетом для подготовки этикеток и обложек для ком­пакт-дисков и позволяет быстро создать профессиональный графи­ческий дизайн диска без специальной подготовки и опЫта подобной работы. Поддерживает все популярные форматы обложек и этикеток CD, включает множество профессионально подготовленных шабло­нов. База шаблонов SureThing CD Labeler содержит свыше тысячи различных фонов, профессиональных фотографий, текстур и гради­ентов. Кроме того, в библиотеке имеются более 2 тыс. клип-артов и высококачественных изображений специальных знаков, символов и логотипов, принятых в сфере производства CD- и DVD-дисков. i

Программы просмотра и конвертации

Сегодня вся техническая документация поставляется в формате *.pdf. Для работы с этим форматом существует удобная бесплатная утилита Acrobat Reader от компании Adobe, Однако часто необходи­мо не только просмотреть документ, но и извлечь из него текст и/ или изображение. С этой целью проще всего воспользоваться соот­ветствующей утилитой, например PDF2Word.

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

качестве альтернативы выбрать какое-нибудь бесплатное приложе­ние, например IrfanView. Все эти программы работают под управле­нием Windows 98/NT/Me/200Q/XP.

Adobe Reader 6.0 (известный как Acrobat Reader) — популярная программа для просмотра и печати PDF-документов, которая со­вершенно необходима, поскольку значительное количество файлов, скачиваемых из Internet, представлены сегодня в формате PDF. Вер­сия 6.0 поддерживает проигрывание встроенных в документы фай­лов QuickTime, Macromedia Flash, Real и Windows Media, распечатку документов через беспроводные сети и ряд других усовершенствова­ний.

PDF2Word 1.3 — удобная и простая утилита, предназначенная для экспорта изображений и текста из PDF-файла в документ Word в формате *.rtf. Для конвертации PDF-файла достаточно его открыть, а результатом по окончании работы PDF2Word станет появление в той же папке копии экспортируемого файла, но уже в формате RTF

MegaView 7.05 позволяет просматривать не только картинки, ви­део и звук, но и другие файлы, поддерживая в общей сложности свы­ше 100 различных.форматов. Наряду с просмотром файлов в MegaView реализованы многие функции редактирования. Для графи­ки это вращение, масштабирование, добавление текста, применение спецэффектов, удаление эффекта «красных глаз», корректировка фотографий. Редактировать можно не только графику, но и ряд офис­ных форматов, например DOC и XLS. Кроме того, программа позво­ляет производить различные операции с файлами (переименовывать, копировать, удалять, архивировать файлы прямо на CD или DVD и др.) и создавать Web-альбомы на основе серии встроенных шабло­нов.

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

Программы сравнения файлов

Сравнивать различные модификации файлов пользователям при­ходится очень часто. Причем выясняется не то, какая версия файла является более свежей, а то, что именно изменилось в файлах в пла­не содержимого и есть ли файлы-дубликаты. Приходится сравнивать текстовые документы и документы Excel. Многим необходимо разоб­раться в хранящихся на диске изображениях, пытаясь найти нужную картинку. А есть еще HTML-страницы, PDF-файлы и пр. Самой универсальной в этой области, охватывающей большое количество типов файлов, является программа Compare Suite, выпущенная ком­панией AKS-LABS в конце 2003 г. Возможностей у нее много, но и стоимость высокая. Поэтому для сравнения XLS-файлов можно вос­пользоваться дешевой специализированной программой Excel Compare, а для сравнения изображений — программами ImageDupe или ImageDupeless, примерно равнозначными как по цене, так и по возможностям. Все программы работают под управлением Windows 98/NT/Me/2000/XP.

Compare Suite 1.0 — удобный инструмент для сравнения файлов и папок с возможностью генерации различных отчетов, отражающих статистические изменения и фиксирующих различия в сравниваемых файлах и папках. С ее помощью можно сравнить как обычные тек­стовые файлы, так и документы в форматах MS Office, HTML- страницы, PDF-документы и двоичные файлы. Последняя версия программы 1.0.0.12 может сравнивать ZIP-архивы, показывая в отчете различие в количестве файлов в архиве, а также имена файлов с раз­мерами и датой для каждого. Compare Suite работает очень быстро, например Ехсе1-документы в полторы тысячи строк она может срав­нить за считанные секунды. Поэтому программа представляет инте­рес для всех, кому часто приходится заниматься сравнением и ана­лизом файлов и папок, в частности для программистов, системных администраторов, секретарей, юристов и т.п.

Excel Compare 1.0 предназначена для сравнения файлов Microsoft Excel, поддерживает все версии Excel и очень удобна для анализа сделанных изменений. Результаты сравнения размещаются на новом

созданном листе Excel, который показывает измененные, добавлен­ные и удаленные данные, сохраняя при этом формат оригинала.

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

ImageDupe 1.2.2.0, предназначенная для поиска дубликатов гра­фических файлов, способна находить одинаковые картинки незави­симо от их размера и названия. При этом она ищет не только оди­наковые изображения, но и просто похожие. ImageDupe крайне проста в работе, поддерживает все основные графические форматы, Хорошо настраивается и позволяет определить перед поиском степень подобия изображений.

F

4. Прикладное программное обеспечение

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

  1. Классификация лриклаЗного программного обеспечения

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

  1. Приклабное программное обеспечение обшего назначения

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

Рис. 4.1. Классификация ППО

Программы, обрабатывающие тексты. К ним относятся текстом вые редакторы, текстовые процессоры. Граница между ними весьма условна. Текстовые редакторы (NotePad — разработка Microsoft), как будет показано ниже, способны выполнять основные функции ре­дактирования: набор, внесение исправлений, сохранение, работа с фрагментами. Текстовые процессоры (Word — разработка Microsoft), кроме того, имеют возможности разнообразного оформления, а не­которые позволяют создавать документы, предназначенные для про­смотра не в бумажном виде, а на компьютере (электронные докумен­ты). На уровне специального ППО, программы, обрабатывающие тексты, представлены специализированными текстовыми редактора!)! ми (MultiEdit — разработка American Cybernetic, TgX) и издательски­ми системами, которые автоматизируют процесс верстки полиграфи­ческих изданий. Издательские системы отличаются расширенными средствами управления взаимодействия текста с параметрами стра­ницы и графическими объектами, но имеют более слабые возмож-, ности по автоматизации ввода и редактирования текста. Их целесо­образно применять к документам, которые предварительно обработаны в текстовых процессорах и графических редакторах.

Электронные таблицы. Основное назначение электронных таблиц

  • обработка различных типов данных, представляющихся в таблич­ной форме, например, планово-финансовые, бухгалтерские докумен­ты, небольшие инженерные расчеты (Excel — разработка Microsoft, Lotus 1-2-3 — разработка Lotus). Основное преимущество электронных таблиц, в сравнении с текстовыми процессорами (где тоже могут вес­тись таблицы, производиться небольшие вычисления и сортировка), в том, что содержание одних ячеек может меняться автоматически в соответствии с изменением содержания других. Иными словами, ячей­ки могут быть функционально зависимы. Кроме того, табличные про­цессоры имеют возможности ведения небольших баз данных и визуа­лизации данных в виде различных таблиц, диаграмм и графиков, т.е. средства ведения таблиц, средства табличных расчетов подкрепляют­ся возможностями создания наглядных отчетов.

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

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

  1. ПО общего и в ППО специального назначения. На уровне ППО общего назначения — это настольные СУБД, на уровне специаль­ном — это большие СУБД, составляющие основу информационных систем и позволяющие работать в компьютерных сетях.

Графические системы. Это программы, предназначенные для ра­боты с графическими изображениями. К ним Относятся редакторы растровой и векторной графики, программы обработки трехмерной Графики (ЗО-редакторы). Растровые редакторы для представления изображений используют растры (см. главу I), т.е. совокупности то­чек, имеющих свой цвет и яркость. В них удобно обрабатывать фо­тографии и объекты, имеющие мягкие цветовые переходы. Основа иекторного представления — линия (ее уравнение). Векторные редак­торы удобны для работы с чертежами и рисованными картинками. 1’сдакторы трехмерной графики используются для создания про­странственных графических композиций, позволяют проследить вза­имодействия трехмерных объектов между собой и трехмерных объек­тов с источником света.

Интегрированные программные средства. Отдельные программы, ннляясь мощным средством решения круга прикладных задач, не могут в полной мере удовлетворить пользователя. Например, выборку данных, предоставленную СУБД, бывает удобно обработать с помо­щью электронных таблиц, результаты, оформленные в виде нагляд­ных таблиц, поместить в отчет, представляющий собой текстовый документ, который был составлен в текстовом процессоре. Для со- иместной работы нескольких программ требуется и унификация фор- Матов обрабатываемых файлов. Такие программные пакеты называ­ются интегрированными программными средствами. Наиболее распространенный продукт этого класса — пакет MS Office (разра-

у

ботка Microsoft), который кроме текстового процессора MS Word, табличного процессора MS Excel и СУБД MS Access интегрирует в себе такие офисные программные средства, как система разработки презентаций MS Power Point, электронный организатор MS Outlook и др.

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

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

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

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

  1. Приклабное программное обеспечение специального назначения

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

Информационные системы (ИС), предоставляющие широкие воз­можности в:

  • управлении предприятием — это склад, документооборот офиса; j

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

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

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

Экспертные системы представляют собой дальнейшее развитие систем управления базами данных. Они предназначены для анализа данных, хранящихся в базах знаний. В отличие от СУБД, позволяю­щих производить операции манипуляции данными, экспертные ch­i'темы производят логический анализ данных, имеют функции само­обучения.

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

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

  1. Текстовые ре0окторы, процессоры

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

Важным элементом в текстовых документах является выделение смысловых фрагментов, таких как слово, предложение, абзац, колон­титул, колонцифра, колонки, стили оформления. Кратко опишем их.

V

Символ — это отдельный знак (литера) в тексте, ему в соответ­ствие ставится код; для буквенных символов указывается нацио­нальная принадлежность.

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

Предложение — часть текста между двумя точками. Мелкие струк­турные элементы разбиваются на предложения. Чтобы передать от­тенки настроения в предложениях, используют знаки препинания. I

Абзац — часть текста между двумя символами перевод строки (в редакторах это соответствует нажатию клавиши Enter).

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

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

Сноска — комментарий, содержащий ссылку на другой литера­турный источник.

Кадр — рамка, служащая для размещения текста, рисунка, таб­лицы; может обтекаться текстом.

Стиль — набор способов оформления фрагментов документа. |

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

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

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

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

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

  • ввод алфавитно-цифровой информации;

  • перемещение по набранному тексту;

  • вставка или удаление символов.

А также более сложные операции по работе с блоками (фрагмен­тами) текста:

  • выделение блока;

  • удаление блока;

  • копирование, перемещение, вставка блока;

  • дополнительные удобства (возможность поиска фрагмента, по­иск с заменой, печать документа и т.д.).

Большинство текстовых редакторов ориентировано на работу с чисто текстовыми файлами, среди которых могут быть тексты про- |рамм, написанные на различных языках, конфигурационные фай- нм, файлы настройки и др. Ярким представителем таких программ­ных продуктов является MultiEdit (начиная с версий 5.0). Этот текстовый процессор имеет мощную систему контекстной замены, встроенный язык макрокоманд на уровне Visual Basic, средства поддер­жки внутренней среды, средства помощи при наборе ключевых слов.

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

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

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

  1. Программа Блокнот (HotePad)

Общие функции редактирования рассмотрим на примере редак­тора NotePad (блокнот), программы, встраиваемой в операционные системы серии Windows 9х (разработка Microsoft).

Блокнот предназначен для создания небольших, объемом до 50 килобайт, неформатированных текстов. Создаваемые файлы име­ют текстовый формат *.txt в кодовой таблице Windows 1251. Пере­численные скромные возможности определяют область применения программы как редактора для создания коротких записок, текстов уп­равляющих и системных файлов.

Программа запускается из меню ПУСК ► ПРОГРАММЫ ► СТАНДАРТНЫЕ ► БЛОКНОТ.

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

Курсор перемещается клавишами управления курсора или щел­чком мыши в точку, где требуется внести исправление. Набор ново­го текста раздвигает и вставляет новый текст в ранее написанный. Удаление символа слева от курсора производится клавишей Backspace, справа — клавишей del. Если необходимо редактировать несколько слов или предложений, они сначала выделяются как блок, для чего по выделяемому блоку перемещают курсор с нажатой кла­вишей Shift или перемещают по тексту указатель мыши с нажатой левой кнопкой. При этом выделенный блок отображается белыми символами на черном фоне (говорят «в инверсных цветах»). Затем вызывается контекстное меню (щелчком правой кнопкой мыши) или меню ПРАВКА и выбирается необходимый пункт (рис. 4.2), напри­мер, удалить, копировать или вырезать выделенный блок.

Я Безымянный - Блокнот

программа блокнотД^

Выреза! ь х Копировать

Удалить

Вьмелигь все

Рис. 4.2. Окно программы NotePad

Копирование блока производится в буфер обмена. Далее, в лю- Лом месте, где будет установлен курсор, можно сделать вставку со­держимого буфера посредством, например, обращения к контекст­ному меню.

Сохранение документа на диске и доступ к нему, поиск. Всякий |)1Ш, создавая документ, следует тут же его сохранить, т.е. обратиться К меню ФАЙЛ ► СОХРАНИТЬ КАК; в дальнейшем, внося измене­ния в документ, следует обращаться к меню ФАЙЛ ► СОХРАНИТЬ. Оба эти меню вызывают стандартный файлер сохранения (рис 4.3).

программа блокнот

$ЯВ№

| Сохранение

ВЕЗ

Q МоуОос

НЖШшЙШШШ

ОМои


рисунки.;


а



жЩъгл

шШ

ЯБеэцмпиый

f Tnf^aittSj|i'N Т екстовые документы

Рис. 4.3. Окно Сохранение

В окне «Папка» (раскрыв список) надо выбрать папку, в ко­торую будет происходить сохранение. В окне «Имя файла» — указать имя файла, затем щелкнуть на кнопке «Сохранить». По мере изме­нения документа, его следует сохранять вновь со старым именем (меню ФАЙЛ ► СОХРАНИТЬ). По умолчанию сохранение проис­ходит по старому адресу, без вызова диалогового окна. Сохранение документа происходит в файловой системе Windows. Она, как извес­тно, является иерархической структурой, а это дает большие удоб­ства для упорядоченного ведения архива документов.

Доступ к документу осуществляется через меню ФАЙЛ ► ОТ­КРЫТЬ, вызывающий диалоговое окно, аналогичное окну сохране­ния. При этом необходимо выбрать загружаемый файл и нажать кнопку «Открыть».

Меню ПОИСК ► НАЙТИ вызывает окно, в котором можно на­брать искомое слово или сочетание слов в окне ОБРАЗЕЦ и указать направление поиска вверх или вниз. Поиск с заменой в «блокноте» отсутствует.

Элементы форматирования текста

Отдельные части текста в «Блокноте» не форматируются, но име­ется возможность отобразить весь текст в одном из перечисленных в меню ПРАВКА ► ШРИФТ шрифтов.

Шрифты по способу создания изображения бывают растровые и векторные. Растровый шрифт получается на основе некоторой мат­рицы пикселей (экранных точек), векторный — на основе коорди­нат точек, элементарных Векторов, уравнений линий. Набор из че­тырех основных шрифтов — обычный, курсив, полужирный, полужирный курсив — в совокупности называется гарнитурой шрифта. Каждая гар­нитура имеет свое наименование, например, Anal, Times New Roman, Tahoma и другие. Каждой гарнитуре в системной папке Windows\Fonts соответствует один файл для векторного шрифта или несколько фай­лов (по числу размеров) для растрового шрифта. Растровые шрифты обычно бывают моноширинными, т.е. все буквы одной высоты имеют одинаковую ширину, как в пишущей машинке. Например, русская буква «Щ» и латинская буква «I» будут иметь в написании одинако­вую ширину, что не улучшает внешний вид текста. Этот недостаток исправлен в векторных шрифтах, которые обычно являются пропор­циональными, т.е. ширина определяется начертанием. На печати текст, выполненный пропорциональными шрифтами, выглядит лучше мо­ноширинных, но выравнивание текста пробелами становится невоз­можным.

Вертикальный размер шрифта (именно он понимается под раз­мером шрифта) измеряется в пунктах, один пункт равен 1/72 дюй­ма — примерно 0,353 мм. Шрифт размером 10 пунктов, его называ­ют десятый кегль, часто используется в книгах. Четырнадцатым кеглем Писала пишущая машинка, и этот размер шрифта часто при­меняется сейчас при составлении различных документов. Еще одно преимущество векторных шрифтов — это их масштабируемость, т.е. все размеры и формы символов шрифта указанной гарнитуры каж­дый раз пересчитываются из некоторой единой математической за­готовки, которой сообщается вертикальный размер.

Печать. Готовый документ можно распечатать на принтере. Для этого предварительно необходимо указать параметры печатной стра­ницы. Меню ФАЙЛ ► МАКЕТ СТРАНИЦЫ.

В появившемся диалоговом окне следует указать размер бумаж­ного листа (формат), ориентацию (книжную — текст вдоль страницы

  1. 193

    Информатика

или альбомную — текст поперек страницы), размеры полей, при Не­обходимости колонтитулы, после чего нажать кнопку «Принтер» того же окна. Произойдет печать листа. Если макет страницы не изменя­ется, то достаточно выполнить команду меню ФАЙЛ ► ПЕЧАТЬ.

  1. ТекстоВый процессор LUorclPad

Дальнейшее развитие возможностей текстового редактора полу­чено в текстовом процессоре WordPad, который, также как и «Блок­нот», встроен в операционные системы Windows 9Х. Запуск его про­исходит через ПУСК ► ПРОГРАММЫ ► СТАНДАРТНЫЕ ► WordPad.

Вид окна его показан на рис. 4.4. Кроме известной строки меню еще введены:

  • две панели инструментов для быстрого доступа к часто исполь­зуемым пунктам меню (одна называется стандартная, другая — форматирование);

  • линейка, позволяющая визуально устанавливать отступы;

  • строка состояния, дающая дополнительную информацию. |

Текстовый л

Для

роцессор

WordPad.

Р^ЯИЙ

Рис. 4.4. Окно программы WordPad

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

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

Форматы фойлоВ сонранения Эокумента

Технически сохранение документа происходит аналогично «Блокноту». Созданный в WordPad текстовый документ может быть записан в файл одного из следующих форматов:

  • текстовый документ MS-DOS в кодировке ASCII СР-866 расши­рение .txt;

  • текстовый документ Windows в кодировке Windows-1251 расши­рение .txt;

  • документ Word, расширение .doc;

  • файл RTF, расширение .rtf;

  • документ Unicode.

Многообразие форматов дает возможность совместимости доку­ментов, написанных в разных редакторах, и возможность конверти­рования (перевода) документа из одного формата в другой при по­мощи WordPad.

РеЭоктироВоние

Все приемы создания, редактирования, сохранения текста, опи­санные в «Блокноте», применимы и в WordPad. Но создатели WordPad пошли дальше. Они предусмотрели возможность отмены последних

действий нажатием кнопки |ШК-

В меню ПРАВКА есть команды поиска текста, подобно «Блок­ноту», и добавлен поиск с заменой.

Форматирование Зокумента

WordPad допускает весьма широкие возможности форматирова­ния текста. Это форматирование шрифта, абзацев, маркированных

списков, табуляции. Находятся они в пунктах меню ФОРМАТ, и не­которые дублируются на панели инструментов «Форматирование».!

Форматирование шрифта позволяет форматировать и весь текст (как в «Блокноте»), и абзацы каждый в отдельности, и отдельное сло­во, и отдельную букву. Меню ФОРМАТ ► ШРИФТ или кнопки па­нели инструментов предоставляет диалоговое окно выбора гарниту­ры и начертания шрифта, размера, атрибутов (зачеркнутый и подчеркнутый), цвета изображаемых букв. Тоже можно сделать, ис­пользуя кнопки панели «Форматирование». Важно, что при этом со­блюдается принцип эквивалентности экранного и печатного изображе­ния. Говорят, что выполняется принцип WYSIWYG (What You See Is What You Get — «что видишь (на экране), то и получишь (при печа­ти на листе)»).

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

Рис. 4.5. Форматирование абзаца

Процессор WordPad может использовать как пропорциональные (Arial, Times), так и моноширинные (Courier) шрифты, поэтому вы­равнивание пробелами нецелесообразно, следовательно, используют­ся различные виды машинного выравнивания: слева, справа по цен­тру. С той же целью используется и табуляция.

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

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

Маркеры применяются, когда в тексте требуется поместить мар­кированный список, но в WordPad имеется только один вид маркера

  • черная круглая точка •. Перед набором маркированного списка

нажимаем кнопку на панели инструментов, после набора каж­дого элемента списка нажимаем Enter. Оформление списка, т.е. ус­тановка значка маркера и отступов, производится автоматически.

ВстаВка объектов В текстовый документ'

WordPad позволяет делать вставки рисунков, формул, звуковых и видеофайлов таблиц Excel, презентаций Power Point и других объек­тов. Возможность эта основана на технологии внедрения и связыва­ния объектов (OLE — Object Linking and Embedding, разработчик Microsoft), позволяющей создавать комплексные документы из раз­ных типов данных, обеспечивать совместную работу нескольких при­ложений при подготовке одного документа, копировать и переносить объекты между приложениями. Выполняется операция следующим образом:

  1. Меню ВСТАВКА ► ОБЪЕКТ вызывает окно «Вставка Объекта», в котором происходит выбор объекта из списка.

  2. Устанавливается переключатель «Создать новый /Создать из фай­ла»; если объект создается из файла, то предоставляется кнопка «Обзор», вызывающая диалоговое окно выбора файла.

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

  4. Установить галочку в переключателе «В виде значка», если вне­дренный объект будет раскрываться при нажатии на значок. Внедрение предполагает, что новый файл вольется в основной

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

Печать документа

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

4.2.3. ТекстоВый npoueccop UJord

Текстовый процессор Word сейчас один из самых популярных программных продуктов в мире. Его последние версии представля­ют мощный программный конгломерат, объединяющий около тыся­чи различных возможностей по работе с текстовыми и электронны­ми документами. Ранние версии (а именно — до Word 5.0) работали под управлением операционной системы MS-DOS. Начиная с вер­сии Word6.0 был воплощен принцип эквивалентности экранного и печатного изображения WYSIWYG.

Седьмая версия (она же Word 95) вышла уже не как самостоя­тельный программный продукт, а в составе интегрированного паке­та программ Microsoft Office офисного назначения. Восьмая версия (Word 8.0 или 97) вышла в составе пакета Microsoft Office 97, была ориентирована на использование кодировки Unicode, там же появи­лись средства по работе с электронными документами.

Версия Word 9.0 или Word 2000 (она рассматривается в настоя­щей книге) входит в состав пакета Microsoft Office 2000. В ней рас­ширены возможности работы в сети, т.е. появились средства работы группы разработчиков, работающих в корпоративной компьютерной сети над одним проектом.

Рабочее окно текстового проиессора

Рабочее окно текстового процессора внешне сходно с рабочим окном WordPad, состоит из строки меню, по умолчанию двух пане­лей инструментов, а вообще их шестнадцать, рабочего поля, строки состояния. В зависимости от настроек, вид рабочего окна может из-; меняться.

Режимы отображения документов на экране. В меню ВИД име­ются команды ОБЫЧНЫЙ, WEB-ДОКУМБНТА, РАЗМЕТКА СТРА­НИЦЫ, СТРУКТУРА, которые устанавливают режим отображения документа.

В режиме ОБЫЧНЫЙ (кнопка Щ в левом нижнем углу) на эк­ране отображается текст без номеров страниц, колонтитулов, верти­кальной линейки и рисунков, выполненных средствами Ward: Таким образом, достигается максимальная экономия площади экрана. Ре­жим ОБЫЧНЫЙ удобен в случаях быстрого набора текста на ран­них этапах подготовки документа.

В режиме WEB-ДОКУМБНТА §Ц рабочее окно делится на две части: слева размещаются названия глав, одно из названий выделе­но, справа сам текст выделенной главы. Щелчок по названию главы справа приводит к появлению ее текста справа. Режим удобен при работе с документами с большим объемом.

В режиме РАЗМЕТКИ (кнопка Щ в полной мере выполняется принцип WYSIWYG, т.е. на экране отображается страница (ее часть) с колонтитулами, рисунками, полями. Режим удобен для оформле­ния текстового документа.

В режиме СТРУКТУРА fgj документ отображается с выделени­ем заголовков. Одновременно вызывается Панель инструментов СТРУКТУРА, имеющая инструменты для навигации в большом до­кументе и работе с заголовками. Применяется режим в работе над большими документами.

В том же меню ВИД есть еще два режима отображения ВО ВЕСЬ ЭКРАН и СХЕМА ДОКУМЕНТА.

Режим ВО ВЕСЬ ЭКРАН позволяет временно убрать строку меню, панели инструментов, строку состояния — все кроме текста, тем самым максимально расширить полезную площадь экрана. Ре­жим удобен при чтении большого документа.

Режим СХЕМА ДОКУМЕНТА, подобно режиму WEB-ДОКУ-

МЕНТ, делит страницу на две части — оглавления и содержания, он удобен для навигации по документу.

К отображению на экране имеет отношение пункт «Масштаб» из меню ВИД, позволяющий увеличивать или уменьшать изобра­жения на экране. Меню ФАЙЛ содержит еще два режима, исполь­зуемые для предварительного просмотра документа — это ПРЕДВА­РИТЕЛЬНЫЙ ПРОСМОТР для печатных документов и ПРЕД­ВАРИТЕЛЬНЫЙ ПРОСМОТР WEB-ДОКУМБНТА для электронных

  • документов.

Панели инструментов

Меню текстового процессора Wbrd обладает свойством функци­ональной полноты, т.е. любая команда может быть найдена в глав­ном меню или одном из подменю. Но постоянное обращение к меню и подменю снижает эффективность работы пользователя. Исправляет это положение наличие панелей инструментов. Меню ВИД ► ПА­НЕЛИ ИНСТРУМЕНТОВ предоставляет возможность выбора необ­ходимой по роду работ панели инструментов из раскрывающегося списка. Панели инструментов В Word настраиваемые, т.е. любые не­обходимые для выполняемой работы команды меню, пользователь может разместить в виде пиктограмм в строке меню или на любой из панелей инструментов.

Работа с окнами

Характерной особенностью Word является мультиоконность (многооконность), т.е. способность одновременно работать с несколь­кими документами, находящимися в различных окнах (в рамках од­ного открытого приложения). При вводе и редактировании текста пользователь работает в активном окне, в котором возможен доступ ко всём меню. Команда ОКНО ► УПРОРЯДОЧИТЬ ВСЕ дает воз­можность расположить окна документов последовательно и перехо­дить из одного окна в другое.

Создание, сонранение и редактирование текста в UJord

Описанные в Блокноте и WordPad средства ввода текста, работы с блоками, сохранения файла применимы и в Word’e. Кроме того, они пополнены рядом возможностей (средства автоматизации вво­да, средства работы с формулами, диаграммами, графическими изоб­ражениями, рисунками и др.).

СозЭание документа

В Word любой документ создается на основе некоторого образ­ца, называемого шаблоном. Шаблон — это именованная совокупность параметров (страниц, абзацев, шрифтов и д.р.) для создания доку­мента, сохраняемая в библиотеке шаблонов. Например, при созда­нии документа по умолчанию (пиктограмма Q на панели инстру­ментов СТАНДАРТНАЯ) автоматически применяется шаблон ОБЫЧНЫЙ, который предполагает: шрифтТипев New Roman, раз­мером 12 пунктов, выравнивание слева, одинарный интервал между строками, запрет висячих строк. Но если создавать документ с по­мощью меню ФАЙЛ ► СОЗДАТЬ... то откроется многостраничное диалоговое окно «Создание документа», представляющее библиотеку шаблонов. Там хранятся шаблоны различных документов, записок, отчетов, факсов, WEB-страниц и др. Причем отдельные виды шаб­лонов имеют значок с волшебной палочкой — это Мастера (рис. 4.6).

щ

а

4“ ц


Стан дар.,. Мастер резюме календа...

Рис. 4.6. Пиктограммы шаблонов

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

Сохранение документа

Сохранение документа аналогично WordPad, по умолчанию оно производится в папку «МОИ ДОКУМЕНТЫ», но диалоговое окно ввода позволяет легко сохранять файлы и в некоторых других пап­ках: ЖУРНАЛ, РАБОЧИЙ СТОЛ, ИЗБРАННОЕ, WEB-ПАПКИ, их кнопки находятся в левой части диалогового окна. Журнал — это виртуальная папка, в которой запоминаются все файлы и папки, использовавшиеся в последние две недели. Любую из папок можно открыть и поместить туда сохраняемый файл. Избранное — папка для хранения ярлыков Web-страниц. Используется в основном для откры­тия документов. Web-папки — папки, хранящиеся не на локальном компьютере, а в сети Internet (WWW Web-cepeepe) или корпоратив­ной сети Intranet.

Пополнительные Возможности ВВоЭа текста

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

В значительной степени позволяет ускорить ввод текста АВТО­ЗАМЕНА и АВТОТЕКСТ. С помощью автозамены можно создать сокращения для часто встречающихся в тексте слов и словосочета­ний, расшифровывать аббревиатуры или исправлять распространен­ные ошибки, например, неверно набранное слово «очепятка» — автоматически заменять на «опечатка», сокращение СУБД — на «система управления базой данных», ц. — заменять на слово Wbrd и т.п.

Для добавления новой автозамены надо зайти в меню СЕР­ВИС ► АВТОЗАМЕНА и в поле ввода «Заменить» набрать слово или аббревиатуру, которое следует автоматически заменять в процессе

\

*

ввода. В поле ввода «На» набрать текст, который будет появляться взамен указанного и щелкнуть по кнопке «Добавить».

Автотекст в Word представлен двумя функциями: автозаверше­нием и автотекстом. Автозавершение реализуется, если пользователь набирает четыре буквы из слова, хранящегося в словаре автотекста, возникает всплывающая подсказка с полным текстом фрагмента, а нажатие Enter завершает набор фрагмента. Автотекст можно выбрать из списка ВСТАВКА ► АВТОТЕКСТ.

Отличия Автотекста: Автотекст позволяет запоминать отформа­тированные фрагменты текста. Элементами Автотекста могут быть рисунки, графики, таблицы.

Форматирование текста

Форматирование текста в Word выполняется с помощью меню ФОРМАТ. Наиболее часто используемые команды меню вынесены в панель инструментов ФОРМАТИРОВАНИЕ в виде кнопок. Меню ФОРМАТ содержит возможности выбора параметров: шрифта, абза­ца, заливки, списков, рамок, стиля и др.

Параметры шрифта. Диалоговое окно имеет три вкладки: ШРИФТ, ИНТЕРВАЛ, АНИМАЦИЯ.

Вкладка ШРИФТ аналогична WordPad, но имеет значительно большие возможности по видоизменению шрифта.

Вкладка ИНТЕРВАЛ имеет окна ввода: МАСШТАБ, ИНТЕР­ВАЛ, СМЕЩЕНИЕ. Масштаб указывает ширину шрифта в про­центах относительно некоторого нормального значения, т.е. при од­ном вертикальном размере векторный шрифт (True Туре) может быть нормальным (100%), шмроким (200%) или узким (80%).

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

Смещение применяется, чтобы приподнять или опустить часть

текста над остальным, смещения может не быть, может быть смеще-

вверх (на 3 пт.) ние или

вниз (тоже 3 пт.).

Вкладка анимация предоставляет различные возможности офор­

мительских эффектов, например, мигающий фон, фейерверк, мура-* вьи и т.п., применимо только для электронных документов в форма­те процессора. Для Web-документов он не целесообразен, так как не все браузеры поддерживают этот формат.

Параметры абзаца. Диалоговое окно настроек параметров абза­ца устанавливает величины отступов слева и справа абзаца, отступ красной строки, интервалы перед абзацем, после абзаца и между­строчный интервал.

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

Создание списков. Колонки. Для создания списка необходимо вой­ти в меню ФОРМАТ ► СПИСОК, в котором указать, какой созда­ется список: маркированный, нумерованный или многоуровневый. При выходе из меню автоматически появляется выбранный маркер или первый номер списка. В дальнейшем, при вводе очередного пун-1 кта списка и нажатии клавиши Enter, на следующей строке появля­ется маркер или очередной номер списка. Выход из списка может быть сделан двойным нажатием Enter.

Текст в Word может быть расположен в нескольких колонках, меню ФОРМАТ ► КОЛОНКИ (или кнопка на панели стандартная) вызывает диалоговое окно, в котором можно выбрать количество колонок, ширину и промежуток для каждой, установить их одина­ковыми по ширине или задать ширину каждой. Кнопка «Применить» позволит оформить не весь текст, а только выделенную часть.

Разбивка на разделы. Параметры страницыУ^охй позволяет раз­бивать документ на два раздела и больше, если необходимо устано­вить различные параметры форматирования страницы (поля, размер бумаги, ориентацию страниц — книжную или альбомную) для раз­ных разделов. По умолчанию эти виды форматирования применяют­ся ко всему документу. Меню ВСТАВКА ► РАЗРЫВ.

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

Если нужно установить тбчные размеры полей страницы (и ряд других параметров) можно применить диалоговое окно ФАЙЛ ► ПАРАМЕТРЫ СТРАНИЦЫ.

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

Стиль оформления — это поименованная совокупность настроек параметров оформления (шрифта, абзаца).

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

Если перечисленных стилей в поле «Стиль» недостаточно, мож­но обратиться в меню ФОРМАТ ► СТИЛЬ, которое вызовет диало­говое окно выбора стиля. В списке «Стили» выбрать необходимый стиль (в том же окне находится описание стиля и образец).

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

Созданные стили сохраняются вместе с документом. Если они оказались удачными, имеет смысл сохранить их отдельно от докумен­та в виде шаблона. Тогда их можно использовать в других докумен­тах. Создать шаблон на основе готового документа можно при его сохранении меню ФАЙЛ ► СОХРАНИТЬ КАК и в поле со списком «Тип файла» выбрать «Шаблон документа».

В Word 2000 имеется специальное средство оформления темы. Тема объединяет в себе следующие элементы оформления:

  • фоновый узор;

  • стили заголовков и основного текста;

  • стиль оформления маркированных списков;

  • стиль графических элементов (линий).

Доступ в меню осуществляется командой ФОРМАТ ► ТЕМЫ.

СозЭание формул

Текстовый процессор Word снабжен редактором формул Microsoft Equation 3.0, который позволяет создавать формульные выражения и вставлять их в текст. Формульный редактор запускается через меню ВСТАВКА ► ОБЪЕКТ, в открывшемся окне выбирается объект Microsoft Equation 3.0. Привычный вид экрана меняется на меню ре­дактора формул и панель инструментов «Формула».

Настройка параметров стиля, редактора формул выполняется ко­мандой меню СТИЛЬ ► ОПРЕДЕЛИТЬ, вызывающей диалоговое окно, в котором устанавливаются форматные настройки (гарнитура, полужирный, курсив) для текста, функции, символов, чисел и т.д. Если основной текст документа разрабатывается на основе шаблона «Обычный», то хороший внешний вид формул получается при уста­новке размеров кнопкой «По умолчанию».

Для набора формул используется панель инструментов «Форму­ла» (рис 4.7).

Как видно, она имеет два ряда кнопок: верхний ряд — матема­тические символы, нижний ряд — шаблоны формул. Шаблоны пре­доставляют поля ввода, в которые с клавиатуры набираются необхо­димый текст или символы.

Формула

Рис. 4.7. Панель инструментов «Формула»

Работа с таблицами, рисунками, чертежами

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

Для работы с таблицами удобно использовать панель инструмен­тов «Таблицы и границы», проще всего она вызывается щелчком по

кнопке я на панели «Стандартная». Содержимое этой панели час­тично перекрывается содержимым меню «Таблица».

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

Таблицы сложной формы рационально создавать на основе про­стой таблицы, редактируя ее потом методом рисования. Для этого на панели инструментов «Таблицы границы» есть инструменты: «Нари­совать таблицу», «Ластик», «Тип линии», «Толщина линии», «Цвет границы», «Границы», «Заливка».

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

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

Для изменения ширины столбца установим курсор мыши на линию разделения столбцов (при этом курсор примет вид двунаправ­ленной стрелки) и перетащим ее вместе с линией на нужное место; Аналогично можно менять высоту ячеек.

Чтобы очистить содержимое строки, столбца или отдельной ячейки, нужно их выделить и нажать клавишу Delete.

Чтобы удалить строку, столбец или отдельную ячейку, нужно их выделить и, щелкнув на соответствующей строке в меню «Таблица»', выполнить операцию.

Объединить ячейки можно, выделив их, и в меню «Таблица» щелкнуть на строке «Объединить ячейки». Разбить одну или несколь­ко ячеек таблицы можно так:

  • выделить ее;

  • щелкнуть в меню «Таблица» на строке «Разбить ячейки»;

  • установить параметры разбивки и нажать кнопку ОК.

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

Сортировка данных и вычисления в таблицах. В таблице можно производить сортировку данных по одному или нескольким столб­цам. При сортировке заголовки столбцов обычно не участвуют в про­цессе. Щелкнем по любой ячейке столбца, по которому нужно про­вести сортировку. В меню ТАБЛИЦА ► СОРТИРОВКА введем дополнительную информацию о характере сортировки. Нажмем ОК — действие выполнится.

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

Таблицу можно преобразовать в текст, задав те или иные разде­лители между данными из бывших столбцов. При этом использует­ся меню ТАБЛИЦА ► ПРЕОБРАЗОВАТЬ В ТЕКСТ.

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

ных в панели инструментов «Рисование». Вызов ее происходит либо как обычно через меню ВИД ► ПАНЕЛИ ИНСТРУМЕНТОВ, либо

нажатием пиктограммы ща на панели инструментов «Стандартная».

Процесс создания векторного рисунка состоит из трех основных действий:

  1. Вставка в документ рисованных объектов из набора графичес­ких примитивов, объединенных в пиктограмме «Автофигуры» (это линии, стрелки, фигуры).

  2. Перемещение рисованных объектов по документу, изменение их размеров.

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

на его кнопке на панели инструментов «Рисование», затем с помо­щью протяжки развернуть объект в какой-либо области создаваемо­го рисунка. Для выделения только что нарисованного объекта про­сто щелкнем на нем. Вокруг него появятся маркеры размеров.

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

Для изменения цвета Линий объекта щелкнем на списке кноп­ки «Цвет линии» на панели инструментов «Рисование» и выберем цвет; чтобы изменить цвет заливки объекта, щелкнем на списке кнопки «Цвет заливки» и выберем цвет заливки.

Для изменения толщины или стиля линий объекта выделим объект, а затем щелкнем на кнопке «Тип линии» или «Тип штриха» соответственно.

Для добавления надписи щелкнем на кнопке «Надпись». Затем щелкнем в том месте документа, где будет располагаться надпись, введем текст в текстовом окне, по окончании этого — щелкнем мы­шью где-нибудь в документе за пределами текстового окна.

Еще одно полезное свойство предоставляет пиктограмма Щж «Формат объекта». Выделив объект и нажав эту кнопку, мы вызыва­ем диалоговое окно «Формат автофигуры».

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

  1. Электронные таблииы

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

  • текстовых процессоров по созданию и форматированию таблиц;

  • математической обработки табличных данных;

  • визуализации результатов в форме таблиц, диаграмм, графиков. История развития программ обработки электронных таблиц на­считывает около двадцати лет, налицо огромный прогресс в этой области программного обеспечения. Примерами программ электрон­ных таблиц являются Lotus 1-2-3 (Lotus), Microsoft Excel. В настоящее время наибольшее распространение получил программный комплекс Microsoft Excel. Далее мы подробно рассмотрим его. Современные программные продукты этого вида имеют:

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

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

  • модуль базы данных, реализующий доступ к внешним базам дан­ных.

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

  1. Обшие сВеЭения о табличном процессоре Енсе!

Документом Excel является рабочая книга — это файл с произ­вольным именем и расширением .xls. Рабочая книга состоит из ра­бочих листов (в количестве от 1 до 256, каждый имеет свое имя). Один из рабочих листов является активным, т.е. в настоящий момент с ним работает пользователь. Рабочий лист представляет собой таблицу, в которой может содержаться до 65536 строк и до 256 столбцов. Стро­ки нумеруются числами (от 1 до 65536), столбцы — латинскими бук­вами А, В, С Y, Z, АА, АВ, АС, .., AZ, ВА, ..., IV.

Ячейки. На пересечении столбцов и строк находятся ячейки. Каж­дая ячейка имеет адрес, состоящий из указания столбца и строки, на пересечении которых она находится, например Al, В5, АВ234. Ад­реса ячеек используются при обращении к их содержимому. Одна из ячеек является активной, она выделяется черной рамкой, в правом нижнем углу которой находится маркер заполнения (черный квадра­тик). Ввод данных производится в активную ячейку. Перемещение активной ячейки осуществляется клавишами управления курсором: <— Т —» 4, PageUp, Page Down, Home, End или щелчком мыши.

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

Элементы управления. Окно Excel (рис 4.8) содержит заголовок, строку меню, панели инструментов «Стандартная» и «Форматирова­ние», рабочее поле, строку состояния. Назначение этих элементов аналогично назначению таких же элементов W>rd.

Заголовок

Строка меню

Панели инструментов "Стандартная" и "Форматирование" (по умолчанию)

0 Miciosofl Excel - Книга!

бэйп Правка £иа ВстаюигФормаг Сервис

: ~.f ; — ——— ;—

ООО

Вто!

СтрокаГформул (содержимого ячейки)-

Активная ячейка

Имя wih адрес активной ячейки

Движки|горизонта[<1ыюго.

и вертикальною

разделения окна

М аркср заполнен ия

Корешки.

Вшфениый данями

ГОЩВ0.

Рис. 4.8. Окно Excel

Панели инструментов Excel можно настраивать: добавлять и уда­лять кнопки (пиктограммы команд), создавать новые панели инст­рументов, а также отображать, скрывать и перемещать существую­щие панели инструментов, совершенно аналогично Word.

Главное меню и панель инструментов «Стандартная» имеют ко­манды «Открыть» и «Сохранить», которые работают так же, как и в вышеописанных программных продуктах. Файл может сохраняться в формате «Книга Microsoft Excel». Это его основной формат (.xls),

но параллельно могут использоваться формат шаблона (.xlt), ряд фор­матов, связывающих Excel 2000 с его старыми версиями, а также ряд форматов, позволяющих связать Excel с базами данных. При сохра­нении файла в Excel можно установить пароль.

Табличный процессор Excel ведет протокол всех действий, по­следние шестнадцать запоминает и в любой момент позволяет отме­нить несколько последних действий нажатием кнопки |||j||ljj

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

Рис. 4.9. Разделение окна таблицы на подокна

Excel представляет пользователю многооконный интерфейс. Это значит, что одновременно могут быть открыты несколько окон, в которых будет отображаться одна и та же книга (например, разные страницы) или разные рабочие книги. Делается это с помощью меню ОКНО команды НОВОЕ. В этом случае в заголовке окна после име­ни рабочей книги через двоеточие указывается номер нового окна. Например, первое окно рабочей книги будет называться КНИГА:1, второе будет названо КНИГА:2.

Одновременно на панели задач появятся кнопки открытых окон, что дополнительно облегчит переход от одного окна к другому. Зак­рыть окно можно обычным щелчком на кнопке «крест» в заголовке. , Для возврата к однооконному изображению необходимо развернуть* активное окно на весь экран, щелкнув на кнопке восстановления окна.

Иногда требуется зафиксировать одну часть таблицы, например,; заголовок, чтобы он всегда присутствовал на экране. Для фиксации только вертикальных (горизонтальных) заголовков следует выделить* строку ниже заголовков (столбец справа от заголовков), обратиться в. меню ОКНО ► ЗАКРЕПИТЬ ОБЛАСТИ. Для одновременной фик­сации и вертикальных, и горизонтальных заголовков необходимо выделить ячейку, по которой следует зафиксировать заголовки (все строки выше выделенной ячейки и все столбцы слева от выделен­ной ячейки будут зафиксированы), затем меню ОКНО ► ЗАКРЕ­ПИТЬ ОБЛАСТИ.

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

Корешки отдельных рабочих листов одной рабочей книги рас­положены в нижней части экрана (именной указатель листов), по умолчанию они называются «Лист 1», «Лист 2», «Лист 3»; щелкая по ним мышью, можно переходить с одного листа на другой. Корешок активного рабочего листа маркируется белым цветом.

Листы можно добавлять, удалять, переименовывать. Команды этих операций находятся в меню ПРАВКА, ВСТАВКА, но более удобно воспользоваться контекстным меню именного указателя ли­стов. При переименовании рабочих листов запрещается использовать следующие символы: квадратные скобки [ ], двоеточие :, слеш пря­мой /, слеш обратный \.

Рабочий лист или рабочую книгу можно защитить от изменений паролем, для этого надо зайти в меню СЕРВИС ► ЗАЩИТА ► ЗА­ЩИТИТЬ ЛИСТ (или ЗАЩИТИТЬ КНИГУ).

Работа со столбцами и строками таблицы. Изменение высоты строки или ширины столбца производится следующим образом. Кор­ректируемая строка или столбец таблицы должны быть выделены. В меню ФОРМАТ ► СТРОКА выбирается одно из подменю следу­ющего уровня, содержащее пункты: ВЫСОТА, АВТОПОДБОР ВЫ-

СОТЫ, СКРЫТЬ,' ОТОБРАЗИТЬ (аналогичные пункты есть и в меню СТОЛБЕЦ). ВЫСОТА позволяет установить высоту выделен­ных строк в пунктах. АВТОПОДБОР ВЫСОТЫ устанавливает высо­ту по высоте содержимого. Команда СКРЫТЬ скрывает строки, не удаляя их, применяется для скрытия промежуточных вычислений. Снова отобразить скрытые строки можно командой ОТОБРАЗИТЬ, предварительно выделив две строки, между которыми находится скрываемые строки. Коррекцию размеров ячеек можно выполнить и с помощью мыши. Для этого указатель мыши нужно установить на границу между номерами строк (или столбцов). При этом указатель мыши приобретает вид двунаправленной стрелки (рис. 4.10).

Рис. 4.10. Коррекция размеров ячеек

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

  1. Созбание табяии

Ввод данных в ячейку и в диапазон. В любой ячейке Excel может содержаться текстовая строка, число или формула. Тип данного оп­ределяется автоматически при вводе. Если ввод начинается со знака равенства, то процессором это понимается как формула. Далее мы подробно опишем правила построения формул, сейчас же заметим, что формулы содержат обычные арифметические операторы, напри­мер, + (плюс), — (минус), • (умножить), / (разделить). Кроме того, они могут использовать специально встроенные функции, которые облегчают процесс вычисления.

Число вводится в привычном виде со знаком или без него, в качестве разделителя целой и дробной части, может быть точка или запятая в соответствии с настройками Windows. Любая прочая по- > следовательность символов понимается как текстовые данные.

Редактирование содержимого ячейки можно произвести двойным щелчком по ячейке. При этом она переводит ее в режим редактиро­вания содержимого, т.е. в поле ячейки появляется курсор, измене­ния вносятся с клавиатуры, как в текстовых редакторах. Завершаем редактирование нажатием клавиши Enter или щелчком на пиктограм­ме бЦ в строке формул.

Автозаполнение. Если необходимо продублировать какое-либо данное (числовое или текстовое) в ряд смежных ячеек в строке или столбце, то можно ввести одно данное, затем перетащить маркер за- : полнения ячейки с введенным данным по строке или столбцу, про­изойдет автоматическое копирование содержимого ячейки.

Иногда требуется заполнить смежные ячейки не одинаковыми, но похожими данными, например, «1 блок», «2 блок», «3 блок» или «ряд 1», «ряд 2», «ряд 3». Делается это также с помощью маркера заполнения, т.е. в ячейку вводится первое данное («1 блок»), затем ячейка протягивается за маркер заполнения.

Копирование ячеек, содержащих данные. Чтобы скопировать содер­жимое ячейки или диапазона, нужно активизировать ячейку или вы­делить диапазон, вызвать меню ПРАВКА ► КОПИРОВАТЬ или пра­вой кнопкой мыши вызвать контекстное меню пункт КОПИРОВАТЬ, активизировать ячейку, являющуюся началом диапазона, куда долж­ны быть скопированы данные, меню ПРАВКА ► ВСТАВИТЬ или контекстное меню пункт ВСТАВИТЬ, затем нажать клавишу [Enter],

Форматирование ячеек. Форматирование в Excel предполагает ряд действий по установке: форматов данных, параметров шрифтов и выравнивания, границ, заливки.

Форматируемые ячейки или диапазон должны быть выделены, затем меню ФОРМАТ ► ЯЧЕЙКИ вызывает диалоговое окно «Фор­мат ячейки», имеющее шесть вкладок: ЧИСЛО, ВЫРАВНИВАНИЕ, ШРИФТ, ГРАНИЦА, ВИД, ЗАЩИТА устанавливаются необходимые параметры.

Вкладка ЧИСЛО позволяет установить формат ячейки как чис­ловой. В поле «Числовые форматы» приведены различные типы фор­матов, которые выбираются щелчком мыши или с помощью клавиш управления курсором. Опишем числовые форматы.

«Числовой» — устанавливает число знаков после запятой, при необходимости разделитель групп разрядов (три разряда — пробел, начиная от запятой) удобен для представления чисел с фиксирован­ной запятой, применимы все арифметические операции.

«Денежный» — как числовой, но число сопровождается знаком валюты р., $, €, ¥ и т.д. С точки зрения общего формата запись в ячейке 12,34$ является текстом, но если формат ячейки объявлен как денежный, то это число, с которым могут производиться арифмети­ческие действия. Удобен формат для денежных расчетов.

«Финансовый» — то же, что и денежный, но выравнивание в столбцах происходит по запятой; удобен тем, что длина записи чис­ла отражает ее величину, это снижает вероятность ошибки при про­смотре документа.

«Дата» — позволяет отобразить дату по одному из шаблонов. Дата есть число дней, прошедших от 1-го января 1900 г. С датой можно работать как с числом, т.е. если в ячейке А1 содержится дата 01.05.04, а в ячейке В1 мы наберем формулу = А1 + 1, то результат получит­ся 02.05.04, но если ячейку А1 переформатировать в числовой фор­мат, то Получится 38108, т.е. количество дней, прошедших с 1-го ян­варя 1900 г. ч

«Время» — служит для отображения времени по одному из пред­лагаемых шаблонов. Допустима арифметика, но надо помнить, что время — это доля суток от 0 часов, т.е. число 0,25 в формате «дата- время» даст 6 часов утра, 0,5 — 12 часов.

«Процентный» — число в ячейке умножается на 100 и добавля­ется символ %.

«Дробный» — число представляется в виде обыкновенной дроби (приближенно) по шаблону.

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

«Текстовый» — содержимое, каким бы оно ни было, восприни­мается процессором как текст. Арифметические операции недопус­тимы.

«Дополнительный» — то же, что и текстовый, но текст форма­тируется по маске (образцу): номер телефона, почтовый индекс и т.д.

Вкладка ВЫРАВНИВАНИЕ. Некоторые команды этой вкладки дублируются на панели инструментов «Форматирование», техника аналогична Word.

Вкладка ШРИФТ аналогична диалоговым окнам выбора шриф- < та Word.

Вкладка ГРАНИЦА — позволяет установить толщину, форму, цвет' линий границ любых ячеек. Сначала устанавливается «тип линий» и цвет, затем указывается, к каким границам выделенного диапазона их применить.

Вкладка ВИД — определяет цвет и узор заливки ячеек.

Вкладка ЗАЩИТА — позволяет снять защиту с выделенного диа­пазона. Обычно это делается перед тем как защищать весь лист, т.е. если на рабочем листе сделаны расчеты, то с исходных данных за­щиту снимают, а весь лист с формулами и промежуточными резуль­татами защищается (меню СЕРВИС ► ЗАЩИТА ► ЗАЩИТИТЬ ЛИСТ...).

  1. Работа с формулами, Зиаграммами, списками

Формулы

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

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

Формула может содержать числовые константы, ссылки (адреса ячеек, содержимое которых участвует в вычислениях), функции. Ука­занные элементы между собой могут соединяться знаками арифме­тических операций, скобки могут изменять принятый в арифметик® порядок действий.

Например, пусть в ячейке А1 содержится число 10, в ячейке В1 число 20, в ячейку С1 введем формулу =А1+В1+2. После заверше­ния ввода (нажатие Enter) в ячейке С1 появится результат сложения чисел, содержащихся в ячейках А1 и В1, увеличенный на 2, т.е. 32. Если изменить число, хранящееся в ячейке А1, например заменить на 20, то наличие формулы в ячейке С1 автоматически изменит ее значение на 42.

Ссылки А1 и В1 в формуле можно делать, непосредственно вво­дя с клавиатуры текст формулы или, после знака равенства сделать щелчок по ячейке А1 (в формуле появится ссылка А1), набрать знак + , сделать щелчок по В1, снова +, набрать 2.

Автозаполнение ячеек формулами. Активизируем ячейку С1 из предыдущего примера и протянем ее за маркер заполнения вниз по столбцу. В ячейку С2 автоматически введется формула =А2+В2+2, в СЗ =АЗ+ВЗ+2 и т.д. При протягивании по столбцу номер столбца увеличивается. Вернемся в ячейку С1 и протянем ее по строке, по­лучим: в ячейке D1 =В1+С1 , в El =C1+D1 и т.д., при протягива­нии по строке номер строки увеличивается. Таким образом, при про­тягивании формулы ссылки А1 и В1 модифицируются, такие ссылки называются относительными. Чтобы ссылки не модифицировались при протягивании по строке, ее следует записать как С$1; запретить модификацию по столбцу можно, применив ссылку $01. Ссылка бу­дет неизменна при любом протягивании в виде $С$1. Такие ссылки называются абсолютными.

В длинных математических расчетах по формулам, как правило, исходные данные содержатся в ячейках, которые в дальнейшем ис­пользуются как абсолютные ссылки. Весьма неудобно было бы по­стоянно помнить, в каких ссылках какие параметры находятся (на­пример, в $С$1 Находится параметр Ь, в $D$147 — к и т.п.). Для этого и Excel есть возможность переименования абсолютных ссылок. Меню ВСТАВКА ► ИМЯ ► ПРИСВОИТЬ вызывает диалоговое окно, в ко­тором можно абсолютную ссылку переименовать. В том же меню при необходимости можно удалить уже существующее имя.

Ссылки на другие листы и книги. Для обращения к значению ячей­ки, расположенной на другом рабочем листе, нужно указать имя это­го листа вместе с адресом соответствующей ячейки. Например, нахо­дясь на листе 1, можно ввести в ячейку А1 формулу =ЛИСТ4!ВЗ+1 для обращения к ячейке ВЗ на рабочем листе ЛИСТ4. Если в названии

у

листа есть пробелы, то оно (название) заключается в кавычки. Свя­зывание двух ячеек можно упростить, для чего на листе 1 в ячейке А1 набрать знак = ,• затем через корешок обратиться к листу 4 и щелкнута по ячейке ВЗ.

Копирование ячеек, содержащих формулы. Техника копирования, перемещения, удаления ячеек, содержащих формулы, такая же, как и ячеек, содержащих данные (см. 4.2.2.) Но если в формуле содер­жатся относительные ссылки, то при копировании и перемещении они модифицируются. Рассмотрим на примере. Пусть в ячейке СЗ содержится формула = A1+$B1+C$1+$D$1. Перенесем или скопи­руем ее в ячейку Е6, т.е. на два столбца правей и на три строки ниже.; Тогда все относительные адреса формулы в ячейке Е6 увеличатся на два по столбцу, на три по строке. В результате в ячейке Е6 получим формулу =C4+$B4+E$1+$D$1.

Работа с функциями. Excel позволяет использовать в формулах ряд встроенных математических, логических, статистических функ­ций. Функции объединяют несколько вычислительных операций для решения определенной задачи, имеют один или несколько аргумен­тов. В качестве аргументов функций выступают числовые значения и/или адреса ячеек.

Вызывается функция, как правило, с помощью МАСТЕРА ФУНК­ЦИЙ меню ВСТАВКА или кнопки .

Диалоговое окно «Мастера функций» имеет два шага. На пер­вом шаге выбирается тип функции в поле «Категория», затем сама функция в списке «Функция». Следующий шаг уточняет аргументы.

QuorpoMMbi

Диаграмма — это представление данных таблицы в графическом виде, которое используется для анализа и сравнения данных. На ди­аграмме числовые данные ячеек изображаются в виде точек, линий, полос, столбиков, секторов и в другой форме. Группы элементов дан­ных, отражающих содержимое ячеек одной строки или столбца на рабочем листе, составляют ряд данных. Строятся диаграммы с по­мощью Мастера диаграмм. Вызывается через меню ВСТАВКА ►

ДИАГРАММА или нажатием кнопки ЩЦ на панели инструментов «Стандартная». Мастер имеет четыре шага, где выясняются вопросы о виде диаграммы, особенностях оформления и размещения, затем строится диаграмма.

Списки

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

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

Для быстрого заполнения таблицы можно обратиться к меню ДАННЫЕ ► ФОРМА, которое откроет диалоговое окно для ввода данных, в котором каждому полю списка соответствует поле ввода. Как только все поля ввода будут заполнены данными, щелкнем по командной кнопке ДОБАВИТЬ. Затем можно начать ввод следующе­го элемента данных и т.д., пока не будут введены все элементы спис­ка. В заключение закроем окно щелчком по командной кнопке ЗАК­РЫТЬ. Каждый новый список следует создавать на отдельном рабочем листе.

Фильтрация данных. Выделим заголовки списка. Откроем в меню ДАННЫЕ ► ФИЛЬТР ► АВТОФИЛЬТР. В таблице рядом с назва­ниями полей появятся маленькие пиктограммы со стрелками |Ц||_Как известно, это раскрывающиеся списки (рис. 4.11).

hirjh.hu ш ■•■! «г*#* i жн

I ФАМИЛИЯ ИЙ ИМЯ Ш

КАТЕГОРИЙ

ТЕЛ дом

(Абдулаева

Лида

сосед

4-9542

■Абрамов

Володя

друг

1-0605

■Абрамова ЕлСер

Лена

сосед

4-6893

Рис. 4.11. Раскрывающиеся списки

Щелкнув по одной из этих стрелок, получим меню с перечнем значений данного поля (рис. 4.12).

If

"вт

1

(Все)

(Первые 10...)

(Условие...)

временны^^^

I

L.

коллега

сосед


Рис. 4.12. Перечень значений поля

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

Если необходимо вернуться к полному списку, то нужно выбрать опцию ВСЕ в перечне значений поля, по которому выполнялась фильтрация. Здесь же есть опция УСЛОВИЕ, позволяющая задать условие фильтрации. Например, выбрать все записи, значение поля у которых больше 10 и т.п.

Сортировка данных. Активизируем первую ячейку в столбце «Фа­милия». Выберем меню ДАННЫЕ ► СОРТИРОВКА. Откроется ди­алоговое окно этой директивы, в котором указываются поля сорти­ровки и рядом с каждым полем расположены две селекторные кнопки ПО ВОЗРАСТАНИЮ и ПО УБЫВАНИЮ, указывающие на­правление сортировки.

Печать. Перед распечаткой таблиц необходимо установить па­раметры страницы с помощью команды меню ФАЙЛ> ПАРАМЕТРЫ СТРАНИЦЫ. Эта процедура во многом сходна с Word. Отличие лишь в том, что таблица здесь может быть распечатана в масштабе. Для этого включим переключатель УСТАНОВИТЬ и укажем масш­таб распечатки. Если включить переключатель РАЗМЕСТИТЬ НЕ БОЛЕЕ ЧЕМ НА, то таблица или выделенная область будет умень­шена настолько, чтобы разместиться на количестве страниц, указан­ном в полях СТР. В ШИРИНУ и СТР. В ВЫСОТУ.

Для просмотра таблицы перед печатью используется команда ФАЙЛ ► ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР или кнопка [& •

Выйти из режима предварительного просмотра можно с помо­щью кнопки ЗАКРЫТЬ или клавиши Esc. Для распечатки таблицы необходимо обратиться в меню ФАЙЛ ► ПЕЧАТЬ, которое имеет та­кие же настройки, как соответствующая опция в Word. Чтобы напе­чатать одну копию активных листов, достаточно щелкнуть кнопку

4.4. ОсноВы информационный систем. Базы Эаннын

  1. Основные понятий

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

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

Второе направление связано с использованием вычислительной техники для создания, хранения и обработки больших массивов дан­ных. Такие задачи решают информационные системы (в дальней­шем — ИС). К ним относятся поисковые, справочные, банковские системы, автоматизированные системы управления предприятием.

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

Предметом настоящего рассмотрения являются программные продукты второй области применения — информационные системы. Информационная система представляет собой аппаратно-программ­ный комплекс, обеспечивающий выполнение следующих функций:

  • ввод данных об объектах некоторой предметной области;

  • надежное хранение и защита данных во внешней памяти вычис­лительной системы;

  • дополнение, удаление, изменение данных;

  • сортировка, выборка данных по запросам пользователей;

  • выполнение специфических для данной предметной области преобразований информации;

  • предоставление пользователям удобного интерфейса;

•• обобщение данных и составление отчетов.

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

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

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

  1. Классификация бй

По технологии обработки данных БД подразделяются на цент­рализованные и распределенные.

Централизованная БД хранится целиком в памяти одной вычис­лительной системы. Если система входит в состав сети, то возможен доступ к этой БД других систем.

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

По способу доступа к данным БД распределяются на локальный и удаленный (сетевой) доступ.

Локальный доступ предполагает, что СУБД обрабатывает БД, ко­торая хранится на том же компьютере.

Удаленный доступ — это обращение к БД, которая которая хра­нится на одном из компьютеров, входящих в компьютерную сеть. Удаленный доступ может быть выполнен по принципу файл-сервер или клиент-сервер.

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

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

  1. Информатика сылает запрос серверу — программе, управляющей ведением БД, на специальном универсальном языке запросов. Сервер пересылает про­грамме данные, являющиеся результатом поиска в БД по ее запросу. Этот способ удобен тем, что программа — клиент не обязана содер­жать все функции поддержания и ведения БД, этим занимается сер­вер. В результате упрощается написание программ — клиентов. Кро­ме того, к серверу может обращаться любое количество клиентов.

  1. МоЭели Заннын

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

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

Каждая реляционная таблица должна обладать следующими свойствами:

  • один элемент таблицы - один элемент данных;

  • все столбцы таблицы содержат однородные по типу данные (це­лочисленный, числовой, текстовый, и т.д.);

  • каждый столбец имеет уникальное имя;

  • число столбцов задается при создании таблицы;

  • порядок записей в отношении может быть произвольным;

  • записи не должны повторяться;

  • количество записей в отношении не ограничено.

Объекты, их взаимосвязи и отношения представлены в виде таб­лиц. Формальное построение таблиц связано с фундаментальным понятием отношение (термин реляционная исходит от английского слова relation — отношение).

Для заданных произвольных конечных множеств М,, М2, ..., MN множество всевозможных наборов вида (ц|( ц2,..., (iN), где р2€М2, |xNeMN называют их декартовым произведением

М,х М2х ...х MN. Отношением R, определенным на множествах М|( М2,..., MN, называется подмножество декартова произведения М,х М2х х MN. При этом множества М,, М2,..., MN называются доменами отношения, а элементы декартова произведения — корте­жами отношения. Число N определяет степень отношения, количе­ство кортежей — его мощность.

В реляционной таблице каждый столбец есть домен (его альтер­нативное название поле), а совокупность элементов каждой строки

  • кортеж (или запись).

Строка заголовков называется схемой отношения. Например, схе­ма отношения СТУДЕНТ может быть следующей:

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА), здесь СТУДЕНТ — отношение, а ФАМИЛИЯ, ИМЯ и т.д. — атрибуты.

В отношении каждый конкретный экземпляр сущности пред­ставляется строкой, которая называется кортежем (или записью).

Следующая таблица представляет отношение СТУДЕНТ (рис. 4.13).

Отношение СТУДЕНТ

Схема отношения

(вся) таблица

(строка заголовков)

Атрибуты (поля) (отдельные заголовки)



ФАМИЛИЯ

ИМЯ

ОТЧЕСТВО

ФАКУЛЬТЕТ

КУРС

Ацдреев

Иван

Иванович

Конструкторский

1

N Борисов

Петр

Иванович

Конструкторски й

2

Яковлев

Иван

Петрович

Технологический

1

Строка (запись, кортеж)



Рис. 4.13. Отношение СТУДЕНТ

Первичным ключом отношения называется поле или группа по­лей, однозначно определяющие запись. В отношении СТУДЕНТ пер­вичным ключом может быть поле ФАМИЛИЯ, если во всем списке нет однофамильцев — это будет простой ключ. Если есть однофа­мильцы, то совокупность полей — фамилия, имя, отчество — созда­дут составной первичный ключ. На практике обычно в качестве клю­чевого выбирают поле, в котором совпадения заведомо исключены.

Для рассматриваемого примера таким полем может служить номер зачетной книжки студента.

Свойства первичного ключа:

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

  • неизбыточность — не должно быть полей, которые, будучи уда­ленными из первичного ключа, не нарушат его уникальность;

  • в состав первичного ключа не должны входить поля типа, ком­ментарий и графическое.

Чтобы избежать повторяющихся записей, приходят к связыва­нию таблиц. Например, если в отношении СТУДЕНТ надо описать вуз, в котором он обучается, то, на первый взгляд, можно было бы включить в отношение следующие поля СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА, НАЗВАНИЕ вуза, АДРЕС). Но при заполнении такой таблицы для каждого сту­дента придется указывать довольно длинное наименование вуза и его адрес, что неудобно. Более того, любая незначительная ошибка во вводе этих полей приведет к нарушению непротиворечивости базы данных. Например, ошибка в адресе вуза приведет к тому, что в БД появятся два вуза с одинаковым наименованием и разными адреса­ми. Поступают в таком случае так: в отношение СТУДЕНТ вводят поле «код вуза» (целое число) и добавляют еще одно отношение ВУЗ (код вуза, название, адрес). СТУДЕНТ и ВУЗ при этом будут связа­ны по полю «код вуза».

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА, КОД вуза)

■ г—— —J

ВУЗ (КОД вуза, НАЗВАНИЕ, АДРЕС, ТЕЛЕФОН)

При работе с такими таблицами повторяться могут только дан­ные в поле «КОД вуза», а все необходимые сведения о вузе можно взять из отношения ВУЗ. Заметим при этом, что ввод в поле «КОД вуза» целого числа, вместо длинного названия, принесет гораздо меньше ошибок. В отношении ВУЗ поле «КОД вуза» будет первич­ным ключом, а в отношении СТУДЕНТ поле «КОД вуза» будет вне­шним ключом.

Для связи реляционных таблиц необходимо ввести в обе табли­цы одинаковые по типу поля, по которым определится связь между записями обеих таблиц. Связи бывают нескольких типов «один к од­ному», «один ко многим», «многие ко многим». В вышеприведенном примере была установлена связь «один ко многим», т.е. одной записи н таблице ВУЗ соответствуют многие записи в таблице СТУДЕНТ.

  1. Проектирование 603 Зонным

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

  • анализ предметной области;

  • проектирование и непосредственно кодирование (создание зап­росов и приложений);

  • тестирование и сопровождение.

Анализ предметной области

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

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

Проектирование баз данных осуществляется на двух уровнях — физическом и логическом. На физическом уровне решаются вопросы размещения данных на внешних носителях. Во многом эта работа выполняется СУБД автоматически без участия разработчика.

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

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

Первая нормальная форма. Отношение называется приведенным к первой нормальной форме, если все его атрибуты неделимы. На­пример, отношение, содержащее поле ФИО, не приведено к первой нормальной форме, если в запросах БД требуется выделить отдель­но фамилию или имя. Разработчики БД изначально строят так исход­ное отношение, чтобы оно было в первой нормальной форме.

Вторая нормальная форма. Для приведения отношений ко второй нормальной форме введем понятие функциональной зависимости.

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

Например, в отношении СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕ­СТВО, Факультет, курс, группа) первичным ключом являет­ся совокупность полей ФАМИЛИЯ + ИМЯ + ОТЧЕСТВО. Поля ФАКУЛЬТЕТ, КУРС, ГРУППА функционально полно зависят от со­ставного ключа.

Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме, и каждое не ключевое поле функционально полно зависит от составного ключа. Например, в отношении УСПЕВАЕМОСТЬ (НОМЕР ЗАЧЕТКИ, ФАМИЛИЯ, ДИСЦИПЛИНА, ОЦЕНКА) составным ключом является совокуп­ность НОМЕР ЗАЧЁТКИ + ДИСЦИПЛИНА. Это отношение нахо­дится в первой нормальной форме, но оно не находится во второй нормальной форме, так как поле ФАМИЛИЯ не имеет полной фун­кциональной зависимости от составного ключа. Для перевода этого отношения во вторую нормальную форму необходимо исключить из него поле ФАМИЛИЯ, так как оно функционально зависит от НО­МЕРА ЗАЧЕТКИ. Т.е. исходное отношение необходимо разбить на два связанных отношения УСПЕВАЕМОСТЬ (НОМЕР ЗАЧЕТКИ, ДИСЦИПЛИНА, ОЦЕНКА) и СПИСОК (НОМЕР ЗАЧЕТКИ, ФА­МИЛИЯ). Связь здесь осуществляется по полю НОМЕР ЗАЧЕТКИ.

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

Например, в отношении СТУДЕНТ (ФАМИЛИЯ, ФАКУЛЬТЕТ, НАЗВАНИЕ вуза, АДРЕС) поле АДРЕС транзитивно (через поле НАЗВАНИЕ вуза) зависит от ключа ФАМИЛИЯ. При заполнении экземплярами такого отношения поле Адрес будет многократно по­вторяться. Для устранения транзитивной зависимости в классе ис­пользуется расщепление отношения на несколько. Например, отно­шение СТУДЕНТ расщепляется на два:

СТУДЕНТ (ФАМИЛИЯ, ФАКУЛЬТЕТ, НАЗВАНИЕ вуза),

ВУЗ (НАЗВАНИЕ вуза, АДРЕС) связь по полю НАЗВАНИЕ вуза.

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

Проектирование

Дальнейшая работа над проектом связана с конкретной СУБД, поэтому, предварительно учитывая требования заказчика и намечен­ную архитектуру ИС, выбирают СУБД. Мы рассмотрим эту часть на примере СУБД MS Access (разработка Microsoft).

СУБД Access является системой управления базами данных ре­ляционного типа. Всю базу данных по умолчанию Access хранит на диске в виде одного файла с расширением *.mdb, а вообще Access поддерживает ряд стандартов БД (dbase, Paradox и др). Данные хра­нятся в виде таблиц, строки которых состоят из наборов полей оп­ределенных типов. С каждой таблицей могут быть связаны индексы

' V ■' Л

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

Типичными операциями над базами данных являются:

  • работа с таблицами (создание, модификация, удаление таблиц, создание и модификация схем взаимосвязи существующих таб­лиц);

  • ввод данных в таблицы непосредственно или с помощью фор­мы, проверку вводимых данных;

  • поиск данных в таблицах по определенным критериям (выпол­нение запросов);

  • создание отчетов о содержимом базы данных.

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

J5J Microsoft Access

j' (£ойл Qpospe. В>!Д. Ветера х^рвлг Окно £преька

р dbl: база донных

Объекты

щоздание таблицы в режиме конструктор

Группы

@ Создание таблицы с помощь» мастера Я Создание таблицы путем ввода данных

Рис. 4.14. Вид рабочего окна MSAccess

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

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

и Microsoft Access г [СТУДЕНТ,: таблица]

:Йа (%рвис QKW'Јtxpmv&

мШууй^-

ШВШШШШЖ

Фамилия

факульт

НЕЕ—

группа

вНЁНм

Длинное целое

Размер поля

АВТО

Нет

Да (Допускаются совпадем^)

I Ч«ПО 'деСЯ1ЙЧНё1:Г эьмгаз: M»BtK3>Eoja. ' - "

[РСл™СЬ ' '

Лечение по умолчанию

f У( n исмз;на значение «Ояйда-ив об оцибкв •

ШИтвРЬНОеЛОяЗ a

нн ,

Рис. 4.15. Создание таблиц в режиме конструктора

тор свойств полей, где указываются свойства (если поле текстовое — его длина, числовое - тип целый или вещественный). Редактор свойств полей имеет скрытые элементы управления. Например, щел­чок по полю ввода «размер поля» приведет к появлению элемента

списка В, в результате нажатия на который появляется раскрываю­щийся список выбора свойств. В завершении создания таблицы при

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

чего открывается окно «Схема данных» нажатием кнопки

в окне

Создать

Отмена.

■НЭвиёкЧ

Access. В Окне «Добавление таблицы» выбираем таблицы, которые следует связать. Затем методом перетаскивания указываем связывае­мые поля, после чего появляется окно «Изменение связей» (рис. 4.16.), в котором указываем тип обеспечения целостности. Заверша­ется этот этап нажатием кнопки «Создать».

;2И I

код ВУЗа

год ВУЗ Л

Изменение связей


Таблица/запрос:


Связанная таблица/запрос:


17 обеспечение целостности данных]


Объединение.'.'.;



Г каскадное обновлете связанных полей J~ каскадное удаление связанных записей

один-мо-многим

Тип отяошейия:

Рис. 4.16. Окно «Изменение связей»

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

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

Для создания формы с помощью Мастера форм предполагается следующая последовательность действий: меню Формы / Создать. На экране появится окно диалога «Новая форма», в котором необходи­мо выбрать метод построения формы и исходный объект для пост­роения формы. В качестве такого объекта могут быть выбраны таб­лица или запрос.

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

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

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

тором выберем таблицы, на основе которых строится запрос (допус­тим, ВУЗ и СТУДЕНТ). В результате откроется окно (рис. 4Л7), на­зываемое бланком запроса по образцу, где в верхней части указан­ные таблицы предстанут вместе со схемой данных. Двойным щелчком укажем на те поля, которые будут участвовать в запросе. Пусть это будут поля из таблицы СТУДЕНТ (ФАМИЛИЯ, ФАКУЛЬТЕТ) и из таблицы ВУЗ (НАЗВАНИЕ вуза). Указанные поля появятся в ниж­ней части бланка запроса по образцу. Таким образом, нами был со­здан простейший запрос, который называется запрос на выборку на языке запросов по образцу (QBE — Query By Example). При его ак­тивации кнопкой Щщ будет построена таблица с указанием фами­лии, факультета и вуза, в котором обучается студент. Закрытие зап­роса сопровождается присвоением ему имени. Заметим, что запрос на выборку создает не физическую таблицу на диске, а виртуальную

IS Microsoft Access - [Запрос! : запрос на выборку]

отчество

факульт

курс

группа

км ВУЗ

Фамилия

факу*ът

СТУДЕНТ по возрастанию

СТУДЕНТ

■'■ 'Поли: Имя.Табппиы; ■i Сс<яирг-г<.:

;§ывс!|№|.»ран:

Рис. 4.17. Бланк запроса 236

и оперативной памяти, которая существует, пока мы пользуемся зап­росом.

Запрос на выборку может создавать большие таблицы, работать с которыми неудобно, поэтому более целесообразно результаты зап­роса сортировать. Сортировки возможны по возрастанию и по убы­ванию. Направление это указывается в строке «Сортировка бланка запроса по образцу». Если сортировка указана по нескольким полям, то сначала будет произведена сортировка по первому полю; при об­наружении повторяющихся записей* сортировка будет по второму полю и т.д.

Бланк запроса по образцу допускает отбор данных по условию. Для этого в строке «Условие отбора» можно поставить, например, в поле «Фамилия» — Иванов, и будут отобраны все студенты с фами­лией Иванов.

Возможности языка QBE весьма широки, но все же ограниче­ны. Если требуется нечто большее, то меню окна ЗАПРОС ►ВИД ► РЕЖИМ SQL позволяет построить запрос на языке SQL, более уни­версальном, но требующем специальных знаний.

Отчеты. Отчет похож на запрос, но служит для форматирован­ного вывода данных на бумагу. Для создания отчетов рационально воспользоваться Мастером отчетов (база данных СОЗДАТЬ ► НО­ВЫЙ ОТЧЕТ), который похож на Мастера форм. Выполняется от­чет за ряд шагов, в процессе которых:

  • выясняются таблицы и запросы, на основе которых строится

отчет;

  • поля, по которым производится сортировка, фильтрация;

  • стиль оформления печатного документа.

Редактировать отчет, созданный Мастером, можно с помощью конструктора.

4.4.5. CR/E-системы Эля разработки информационным систем

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

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

В начале 70-х гг. в США был отмечен кризис программирования (software crisis). Это выражалось в том, что большие проекты стали выполняться с отставанием от графика или с превышением сметы расходов, разработанный продукт не обладал требуемыми функцио­нальными возможностями, производительность его была низка, ка­чество получаемого программного обеспечения не устраивало потре­бителей.

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

Потребность контролировать процесс разработки ПО, прогнози­ровать и гарантировать стоимость разработки, сроки и качество ре­зультатов привела в конце 70-х гг. к необходимости перехода от кус­тарных к индустриальным способам создания ПО и появлению совокупности инженерных методов и средств создания ПО, объеди­ненных общим названием «программная инженерия» (software engineering). Впервые этот термин был использован как тема конфе­ренции, проводившейся под эгидой NATO в 1968 г. В основе про­граммной инженерии лежит одна фундаментальная идея: проектиро­вание ПО является формальным процессом, который можно изучать и совершенствовать. Освоение и правильное применение методов и средств создания ПО позволяет повысить качество ИС, обеспечить управляемость процесса проектирования ИС и увеличить срок ее жизни.

Тенденции развития современных информационных технологий определяют постоянное возрастание сложности ПО ИС, что вызва­ло потребность в программно-технологических средствах специаль­ного класса - CASE-средствах, реализующих CASE-технологию со­здания и сопровождения ИС. Термин CASE (Computer Aided Software

Engineering) имеет весьма широкое толкование. Первоначально зна­чение термина CASE ограничивалось вопросами автоматизации раз­работки только лишь программного обеспечения, а в настоящее вре­мя оно приобрело новый смысл и охватывает процесс разработки сложных ИС в целом.

Таким образом, к концу 80-х гг. назрела необходимость в CASE- технологиях и CASE-средствах и возникли предпосылки для их по­явления: было проведено много исследрваний в области программи­рования (разработка и внедрение языков высокого уровня, методов структурного и модульного программирования, языков проектирова­ния и средств их поддержки, формальных и неформальных языков описания системных требований и спецификаций и т. д.).

CASE-технология представляет собой совокупность методов про­ектирования ИС, а также набор инструментальных средств, позво­ляющих в наглядной форме моделировать предметную область, ана­лизировать эту модель на всех стадиях разработки и сопровождения ИС и разрабатывать приложения в соответствии с информационны­ми потребностями пользователей. Большинство существующих CASE-средств основано на методах структурного или объектно-ори­ентированного анализа и проектирования, использующих специфи­кации в виде диаграмм или текстов для описания внешних требова­ний, связей между моделями системы, динамики поведения системы и архитектуры программных средств.

Были созданы CASE-системы:

  • ориентированные на этапы жизненного цикла ПО, Design/IDEF (Meta Sotfware), BPWin (LopicWorks)};

  • функционально полные, т.е. используемые на всех этапах жиз­ненного цикла Designer (Oracle) Developer/2000 (Oracle);

  • независимые от СУБД ODBC Sdesigner (SPD), ERWin (Logic- Works), Silverrun (Silverrun Technologies).

  1. Системы компьютерной графики

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

В растровой графике изображение какого-либо графического объекта описывается конкретным расположением и цветом точек (пикселей), привязанных к сетке (растру, см. главу 1), т.е. оно создав ется, как в мозаике. Чем больше точек и чем они мельче, тем визу-? ально качественнее изображение (и больше размер файла). Одна и та же картинка может быть представлена с лучшим или худшим ка­чеством в соответствии с разрешением, т.е. количеством точек на единицу длины. Разрешение обычно измеряется в точках на дюйм - dpi или в пикселях на дюйм — ppi.

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

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

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

В настоящее время распространены следующие форматы растро­вой графики .bmp, .рсх, .gif, .tif, .jpg, .png и др.

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

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

Таким образом, выбор растрового или векторного формата за­висит от целей и задач работы с изображением. Если нужна фото­графическая точность цветопередачи, то предпочтительнее растр. Логотипы, схемы, элементы оформления удобней представлять в век­торном формате. Понятно, что и в растровом и в векторном пред­ставлении графика (как и текст) выводятся на экран, монитора или печатное устройство в виде совокупности точек. В Интернете графика представляется в одном из растровых форматов, понимаемых брау­зерами без установки дополнительных модулей — GIF, JPG, PNG.

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

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

С некоторыми особенностями работы с простым векторным ре­дактором Microsoft Draw мы познакомились в разделе 4.2.3 «Созда-ч ние рисунка». Этот редактор встроен в офисный интегрированный пакет программ MS Office.

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

Некоторые растровые редакторы способны грузить один из век­торных форматов (обычно .wmf) в качестве фона или сразу перево­дить их в растр с возможностью непосредственного редактирования.

  1. Растровый реЭактор Point

Paint — простейший графический редактор (разработчик Micro­soft), предназначенный для создания и редактирования растровых графических изображений в основном формате Windows (BMP) и форматах Интернета (GIF и JPEG). Рн приемлем для создания про­стейших графических иллюстраций, в основном схем, диаграмм и графиков, которые можно встраивать в текстовые документы. В Paint можно создавать рекламу, буклеты, объявления, приглашения, по­здравления и др.

Основные возможности Paint:

  • Проведение прямых и кривых линий различной толщины и цвета.

  • Использование кистей различной формы, ширины и цвета.

  • Построение различных фигур — прямоугольников, многоуголь­ников, овалов, эллипсов — закрашенных и незакрашенных.

  • Помещение текста на рисунок.

  • Использование преобразований — поворотов, отражений, растя­жений и наклона.

Начало работы с Paint. Графический редактор Paint встроен в операционную систему Windows. Для запуска его применяется сле­дующий способ: кнопка ПУСК ► ПРОГРАММЫ ► СТАНДАРТНЫЕ ► PAINT. Для окончания работы с Paint можно использовать пунк­ты меню ФАЙЛ, и далее ВЫХОД.

Окно графического редактора Paint имеет стандартный вид (рис. 4.18). В меню редактора входят команды ФАЙЛ, ПРАВКА, ВИД, РИ­СУНОК, ПАЛИТРА.

В палитру инструментов входит ряд кнопок: «Выделение произ­вольной области», «Выделение», «Ластик», «Заливка», «Выбор цве­тов», «Масштаб», «Карандаш», «Кисть», «Распылитель», «Надпись», «Линия»1, «Кривая», «Прямоугольник», «Многоугольник», «Эллипс», «Скругленный прямоугольник». В левом нижнем углу расположена Панель цветов. Управлять работой в Paint можно посредством меню и панели инструментов. Существуют команды, вызываемые или толь­ко через меню, или только через панель инструментов.

Задание размеров рисунка производится посредством выбора из меню РИСУНОК пункта АТРИБУТЫ и вводом в поля ШИРИНА и ВЫСОТА нужных значений. Таким образом, размеры текущего ри­сунка изменяются. Следует отметить, что если текущие размеры ри­сунка превышают новые размеры, то рисунок обрезается по право­му и нижнему краю. Если новые размеры больше текущих размеров', то добавленная область получает текущий фоновый цвет. Отменить последнее изменение можно командой ОТМЕНИТЬ в меню ПРАВ­КА. Также есть возможность выбрать единицы измерения и тип цве­товой палитры (цветная или черно-белая).

Создание нового рисунка. Для создания нового рисунка применя­ют пункты меню ФАЙЛ ► СОЗДАТЬ. После этого в рабочей облас­ти окна появится белый прямоугольник, на фоне которого и рабо-

у

ц§ Безымянный - Paint

i,

Файл ОрзЕкга . Вид j Phd>hqr ГШЩгра- ,< 1 Справка

1

1§1

Шм

щ / №.

Н

IB

и

т

ш

sisii


Рис. 4.18. Окно графического редактора Paint

тают. Сохраняется рисунок одним из ранее известных способов: че­рез меню ФАЙЛ или при закрытии окна. Сохранение, как было от­мечено раньше, можно произвести в одном из форматов: .bmp, .gif, -jpg-

Панель инструментов. Кратко охарактеризуем набор стандартных инструментов графического редактора Paint (рис. 4.19).

Карандаш - при нажатой левой кнопки мыши за курсором мыши рисуется его след выбранного цвета толщиной 1 пиксел. При отпу­щенной левой кнопке след не рисуется.

Кисть — действие похоже на карандаш, но можно менять фор­му кисти — кружок, квадратик, линия и др.

Распылитель - рисование с эффектом распыления краски.

I Панель БП

ШЬ Шаш _

-г—: J

щ

ш

Iш

А 1

is

н

щ

шшш

1 Ши

ж


Рис. 4.19 Панель инструментов Paint

Ластик — для стирания части рисунка. Можно менять размер ластика. Удаленный участок будет закрашен цветом фона.

Заливка — позволит закрасить выбранным цветом внутреннюю часть произвольной замкнутой области. Для этого требуется выпол­нить щелчок в любой точке внутри области. Если область не являет­ся замкнутой, то закрасится вся рабочая область.

Линия - предназначена для рисования прямой линии (отрезка) выбранного цвета и толщины. Концы отрезка — места, где была на­жата и отпущена левая кнопка мыши.

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

Прямоугольник — используется для рисования закрашенных и незакрашенных прямоугольников и квадратов. Требуется нажать на

левую кнопку мыши, перенести курсор в иную точку и отпустить' кнопку. Возможные режимы — «только рамка», «рамка и заполнение», «только заполнение». .

Многоугольник — рисование многоугольников. Для рисования первой стороны требуется перетащить курсор при нажатой кнопке.! Для построения следующих сторон можно щелкать мышкой в вер­шинах многоугольника.

Эллипс — рисование эллипса, вписанного в намеченный прямо­угольник. Можно выбрать режим (см. прямоугольник).

Округленный прямоугольник — рисование прямоугольника с округ* ленными вершинами.

Выбор цвета. Для выбора цвета можно использовать два спосо-1 ба. Во-первых, существует палитра цветов с 28 предлагаемыми цве­тами (рис. 4.20).

1'ту гг-: г-1■■■$'■■'* ''-г: 'У'Л-тЩф*

1Ш~ятяшяяяяшяяяяя

шгаши1яшяясяшяшш

Рис. 4.20. Цветовая палитра Paint

Для выбора цвета линии и закраски следует щелкнуть левой кнопкой мыши над нужным цветом. Для выбора цвета фона щелка­ют правой кнопкой. Используемые по умолчанию основной и фо­новый цвета отображаются в левом нижнем углу окна Paint. Bo-bto-J рых, можно выбрать инструмент «Выбор цвета» и щелкнуть им в том месте экрана, который закрашен нужным цветом. Можно также щел-" кать левой или правой кнопкой мыши.

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

Редактирование рисунка. Инструмент «Выделение произвольной области» позволяет выделить фрагмент — произвольную область ри­сунка, ограниченную построенной линией. Для этого требуется ак­тивизировать инструмент, а затем при нажатой левой кнопке на­рисовать замкнутую область произвольной формы. Инструмент «выделение» позволяет выделить произвольную прямоугольную об­ласть.

Фрагмент рисунка можно переносить на другое место, создавать несколько копий фрагмента или передавать его в другое приложение.

Выделенную область можно перетащить на другое место. Для это­го нажимают левую кнопку на области, затем, не отпуская ее, пере­таскивают мышь на другое место. Если при этом удерживать нажатой клавишу Ctrl, то будет перенесена копия фрагмента. Выделенную об­ласть можно поместить в буфер через меню ПРАВКА ► КОПИРО­ВАТЬ (ВЫРЕЗАТЬ). Над фрагментом рисунка можно.производить и другие операции — изменять размеры, растягивать, поворачицать, на­клонять и отражать с помощью команд меню РИСУНОК. Вставка в рисунок готовых фрагментов из буфера или из файла ПРАВКА ► ВСТАВИТЬ. При этом вставленный фрагмент первоначально распо­лагается в верхнем левом углу экрана и его требуется перетащить на нужное место мышкой при нажатой левой кнопке.

Отмена выполненной операции в Paint. Во время редактирования рисунков нельзя изменять уже законченные элементы графического изображения — можно только их удалять, или переносить, или ри­совать поверх них. Если рисунок случайно испорчен, можно отме­нить три последних сделанных изменения рисунка. Для этого ис­пользуют меню ПРАВКА ► ОТМЕНИТЬ. Или можно нажать на комбинацию клавиш Ctrl + Z. Если операцию отменили по ошибке, то ее можно восстановить нажатием на клавишу F4.

Преобразование рисунка. С помощью команд подменю РИСУНОК можно отражать, растягивать, сжимать, увеличивать или наклонять выделенные фрагменты рисунка. С помощью команды ОТРАЗИТЬ/ ПОВЕРНУТЬ можно отразить выделенный фрагмент относительно вертикальной или горизонтальной оси. Для этого в диалоговом окне ость переключатели «Отразить слева направо», «Отразить сверху вниз» и «Повернуть на угол 90, 180 и 270 градусов».

С помощью команды РАСТЯНУТЬ/НАКЛОНИТЬ можно растя­нуть или наклонить выделенный фрагмент по вертикали или по го­ризонтали. Для этого в диалоговом окне есть соответствующие пе«| реключатели и поля ввода.

Предварительный просмотр, печать. Полученный рисунок мож-ч но напечатать на принтере через подменю ФАЙЛ ► П ЕЧАТЬ. Из-за различий между разрешающей способностью экрана и принтера,! один и тот же рисунок на экране и на бумаге может выглядеть по« разному. Чтобы заранее проверить, как будет выглядеть рисунок в отпечатанном виде, используют подменю ФАЙЛ ► ПРЕДВАРИ­ТЕЛЬНЫЙ ПРОСМОТР. Далее с помощью кнопок «Крупнее» и «Мельче» можно подобрать подходящий масштаб изображения. Ис-* пользуя подменю ФАЙЛ ► МАКЕТ СТРАНИЦЫ, можно изменить размер страницы рисунка и используемый принтер.

  1. Офисные интегрированные программные среЗстВа

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

  1. текстовый процессор Microsoft Word; '

  2. электронные таблицы Microsoft Excel;

  3. пакет подготовки и демонстрации презентаций Microsoft PowerPoint;

  4. организатор и планировщик работы Microsoft Outlook;

  5. система управления базами данных (СУБД) Microsoft Access; | и д.р.

Перечисленные приложения тесно интегрированы. Это означа­ет, что все программы, входящие в состав Microsoft Office, имеют удобные возможности обмена данными.

Например, если необходимо подготовить финансовый отчет по результатам некоторого периода, содержащий иллюстрации, то дан­ные можно импортировать из Microsoft Access, обработать в Microsoft Excel, построить на их основе графики и диаграммы и затем помес­тить их в текст документа, который создан в Microsoft Ward. Перс-

мещение диаграммы производится с помощью операций копирова­ния в буфер обмена Microsoft Windows и вставки в документ, кото­рые доступны через основное меню приложения, через панели ин­струментов, через горячие клавиши или через контекстное меню, которое появляется при нажатии на правую кнопку мыши. Наконец иллюстрацию, как и любой другой объект, можно «связать» с доку­ментом, просто «захватив» мышью в одном приложении и «перета­щив» на подходящее место в другом (режим «Drag and Drop»). При­ложения Microsoft Office допускают обмен любыми данными между любыми приложениями.

При перенесении отдельных объектов из одного приложения в другое помимо обычной операции копирования/вставки возможно использование механизма связывания оригинального объекта и его копии. В этом случае при изменении исходных данных в таблице Excel меняется построенная на их основе диаграмма, а вместе с ней и та копия диаграммы, которая содержится в документе Microsoft Word. Это дает возможность эффективной работы с составными до­кументами, в которых используются различные источники. Напри­мер, данные можно взять из базы данных Access. Они будут обнов­ляться автоматически, и любой, кто захочет ознакомиться с таким документом, увидит самые последние цифры.

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

Начиная с версии 97, в Microsoft Office входит приложение — Microsoft Outlook. Это приложение представляет собой инструмент для организации и планирования персональной деятельности. Microsoft Outlook включает электронную почту, базу по контактам, календарь и т.д. Но, главное, он связывает все приложения, высту­пая как средство организации работы с ними. С помощью Microsoft Outlook можно назначить встречу, добавив в ее описание сопрово­дительный документ. Это может быть список вопросов, которые пла­нируется обсудить, в формате Microsoft Ward или отчет о результатах в формате Microsoft Excel. Можно переслать составленный документ по электронной почте или в виде факс-сообщения.

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

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

Кроме того, все приложения Microsoft Office поддерживают ра­боту с электронной почтой. При работе над документом, требующим корректуры нескольких людей, можно послать этот документ по по*;! чте в режиме последовательной рассылки. Как только один участник работы закончит вносить поправки, документ отправляется к следу-] ющему. После того, как документ обойдет всех указанных в рассыл! ке людей, он возвращается к тому, кто его посылал. При этом все пометки и исправления будут отражены отдельным цветом для каж«| дого участника совместной работы. Исправления можно просмотреть и решить, какие из них нужно принять, а какие отменить.

При подготовке документа часто возникает потребность в ин­формации, находящейся либо в файле базы данных, либо на серве­ре баз данных (это может быть, например, Microsoft SQL Server), Обычно в таких случаях используются специальные приложения-кли* енты, поддерживающие механизм ODBC. Он обеспечивает возмож­ность получения данных любым поддерживающим его приложени­ем-клиентом от любого приложения-сервера. Механизм ODBC является одним из стандартных элементов Microsoft Office, доступ» ных всем приложениям, входящим в семейство.

Приложения Microsoft Office имеют широкий набор функций, рассчитанных на самые различные категории пользователей. Одна­ко он не может содержать абсолютно все специфические функции, которые требуются разным пользователям. В Microsoft Office встро­ен универсальный язык разработки Microsoft Visual Basic. Используя его, квалифицированный пользователь может легко создать собствен­ное приложение, отвечающее требованиям конкретной организации или подразделения. Одна и та же программа на языке Visual Basic может использовать объекты и документы из любого приложения Microsoft Office.

. pi

  1. 11нтегрироВанные пакеты математический расчетов

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

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

  1. Системы для численных расчетов.

  2. Табличные процессоры.

' 3. Матричные системы.

  1. Системы для статистических расчетов.

  2. Системы для специальных расчетов.

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

7. Универсальные системы.

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

  1. начального уровня для школьников и студентов Derive, MuPad;

  2. среднего уровня MuPad, MathCad;

  3. высший класс Mathematica, Maple, Mai:Lab.

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

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

Ядро представляет совокупность процедур, обеспечивающих на­бор встроенных операторов системы. Вмешательство пользователя й ядро исключено. Интерфейс дает возможность пользователю обра­щаться к ядру с запросами и выдает решения на экране монитора, Программы, работающие в ядре, выполняются быстро, вызываются очень часто, и потому их ограниченное количество. Большое коли»' чество программ, используемых относительно редко, собраны в биб* лиотеки. Расширение возможностей системы достигается за счет па- кетов расширения. Эти пакеты пишутся на собственном языке расширения и могут создаваться самими пользователями. Справочная система обеспечивает получение оперативной информации по сис­теме.

Системы компьютерной математики для численных расчетов

способны выполнять арифметические, алгебраические, логические операторы и функции, векторные и матричные операторы и функ­ции, средства решения уравнений, систем линейных и нелинейных уравнений, средства решения систем дифференциальных уравнений, средства оптимизации и линейного программирования, средства со­здания графиков и средства программирования. К такому классу па­кетов относятся Eureka и Mercury, разработанные фирмой Borland Программы управлялись операционной системой MS-DOS, отлича­лись простотой и были по сути первыми массовыми программными

продуктами компьютерной математики. Интересными являются па­кеты MathCad (MathSofl Inc.) ранних версий, так как они имели пользовательский интерфейс и входной язык, позволяющий созда­вать документы в форме протокола расчета. Сейчас математическая система Mathcad признана во всем мире одной из лучших вычисли­тельных систем для научно-технических расчетов. Со времени свое­го создания претерпела множество изменений и дополнений, нашед­ших отражение в различных ее версиях.

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

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

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

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

оо ^2

Например, такие как /.к 2'= ~- *=i 6

Mathcad имеет развитые средства для численного решения диф­ференциальных уравнений и их систем. В то же время отметим, что и отличие от более продвинутых математических систем, таких как Mathematica 2 и 3 или Maple V R4 или R5, Mathcad не имеет средств аналитического решения дифференциальных уравнений. Тем не ме­нее, опытный пользователь может воспользоваться известными сред­ствами решения таких уравнений, например, применить прямое и обратное преобразования Лапласа.

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

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

Система Mathcad полностью поддерживает технологии OLE (Object Linking and Embedding — связывание и внедрение объекта) и DDE (Dynamic Data Exchange - динамический обмен данных). OLE и DDE предоставляют Mathcad возможность работать внутри другим приложений Windows или осуществлять с ними обмен данными. *5

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

Начиная с версии 7.0, в составе Mathcad содержится системный интегратор MathConnex, который выполняет функции интеграции различных приложений с системой и обеспечивает их совместную работу. Благодаря этому возможно простое и наглядное установление сложных взаимосвязей с матричной системой MatLAB, с графичес­кой системой Axum и др. Выполняет функции имитационного мо­делирования систем, представленные типовыми блоками в виде фун­кциональной схемы. В частности, он позволяет создать виртуальные физические лаборатории, содержащие сложные и дорогостоящие приборы.

Пользователи, знакомые с программированием в Mathcad, мо­гут создать библиотеку динамической компоновки (DLL), содержа! щую собственные внешние функции, которые будут выглядеть и ра-1 ботать так же, как «фирменные» функции.

Матричные системы. Ранние версии MatLab являлись чисто мат­ричными системами, даже простое число интерпретировалось как матрицы размера 1x1. Практически все функции системы определи*! лись как матричные, т.е. способные выполнять действия над масси­вами. Интенсивное развитие этой системы привело к тому, что сей­час это универсальная система. Современная двенадцатая версия MatLab имеет не только самое большое число матричных операто-| ров и функций, но и самую простую адаптацию к решению задач пользователя. Любое новое определение системы задается в виде не-; которого М-файла и в дальнейшем оно может быть использовано наряду со встроенными функциями. Для MatLab создано большое

количество пакетов расширения. ДескриптОрная графика пакета ос­нована на принципах объектно-ориентированного программирова­ния, добавляет мощные средства визуализации результатов вычисле- \ ПИЙ.

Системы статистических расчетов. К ним относятся StatGraphics Plus, Statistica, SPSS. Ввод обрабатываемых данных про­изводится в таблицу или таблица загружается с диска, потому интер­фейс систем напоминает табличный процессор Excel. Правила рабо­ты с пакетом также аналогичны Excel, т.е. вводятся в таблицу данные, выделяются данные для расчета, затем вызывается функция. В от- Р личие от Excel программы статистических расчетов снабжены боль- [ шим числом встроенных специальных функций по статистической I обработке данных.

Системы для специальных расчетов. Часть математических паке- I Тон ориентирована на некоторый узко специальный круг задач. На- | пример, систем нелинейных уравнений ТК Solver, систем дифферен- I циальных уравнений Dynamic Solver, построения графиков Axum и I т.д. Эти программы сейчас все чаше заменяются универсальными I пакетами программ. К особому классу систем специальных расчетов К относятся системы математического моделирования. Например, для I блочно заданных систем с успехом применяется приложение I Slmulink, входящее в последние версии MatLab, для проектирования [ и моделирования электронных схем применяются OrCAD, DesignLab

I и др.

Системы аналитических расчетов. Дают возможность прОизво- I дить вычисления в аналитическом виде. Одной из таких систем сим- I вольной математики (компьютерной алгебры) является Maple.

Система Maple разработана в университете Ватерлоо (Канада), I имеете с развитием программных средств, она успешно развивается I и модифицируется. Версии системы называют реализациями. Одной [ из самых известных ранних реализаций является версия Maple V R5. j И нее были введены возможности работы с электронными таблица- I ми, появилась возможность записи файлов в формате HTML и вве- I дсн обмен данными между документами методом перетаскивания. I Современная версия системы Maple 8 — одна из самых надежных I систем компьютерной математики. Перечислим некоторые возмож- I пости этой версии.

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

Символьные и численные вычисления (решение уравнений, дифференцирование и интегрирование функций, вычисление преде­лов, разложение функций в ряды, интегральные преобразования Лап­ласа, Фурье и др.).

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

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

Ускоренные алгоритмы вычислений.

Обучающий курс User’s Tour, встроенный в справку.

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

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

Maple — эффективный инструмент для инженеров и математи­ков, охватывает почти все разделы математики, широко использует-^ ся во многих университетах мира. Во многих случаях от пользовате-1 ля не требуется знаний алгоритмов и программирования, он только ставит задачу в традиционной форме, a Maple сам выбирает методы, алгоритмы и представляет решение в требуемом виде. Maple можно использовать и как редактор математических документов с возмож­ностью включения графики и объектов.

5. Модели решений функциональный и Вычислительный задач

  1. ОсноВные понятия

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

История развития средств вычислительной техники повествует о том, что мощным толчком для создания первых вычислительных машин стала вторая мировая война. Для успешного ведения войны требовалось решать множество вычислительных задач. Немецкий инженер Конрад Дузе сконструировал вычислительную машину Z2 (1941 г.) для выполнения необходимых расчетов при проектировании самолетов и баллистических снарядов. Английские инженеры созда­ли вычислительную машину «Колосс» (1943 г.) для дешифровки пе­рехваченных сообщений вражеской армии. Американский инженер Говард Эйкен для выполнения баллистических расчетов созвал ком­пьютер «Марк 1» (1944 г.). Компьютеры “первого и второго поколе­ния использовались для решения вычислительных задач, для инже­нерных, научных, финансовых расчетов, для обработки больших объемов данных. Начиная с третьего поколения, область примене­ния ЭВМ включает и решение функциональных задач: это обра­ботка баз данных, управление, проектирование. Современный ком­пьютер может выполнять практически любые задачи, а массовое

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

С точки зрения информатики, решение любой задачи представ­ляет замкнутую технологическую последовательность (рис. 5.1):

Рис. 5.1. Этапы решения задачи

В этом ряду каждый элемент играет свою особую роль.

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

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

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

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

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

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

  1. Системный побноЭ В моделировании систем

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

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

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

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

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

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

  1. Классификация ВибоВ моделирования

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

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

По наличию воздействий на систему модели делятся на детерми­нированные (в системах отсутствуют случайные воздействия) и сто­хастические (в системах присутствуют вероятностные воздействия). Эти же модели некоторые авторы классифицируют по способу оцен-

По цели ис­пользования

По наличию воздействий на систему

По

отношению ко времени

По

возможности

реализации

По области применения

Научный эксперимент. Комплексные испытания и производст­венный экс­перимент. Оптимизаци­онные моде­ли

Детермини­

рованные.

Стохастиче­

ские

Статические. Динамиче­ские (дис­кретные, не­прерывные)

Мысленные (наглядные, символиче­ские, матема­тические). Реальные (натурные, физические). Информаци­онные

Универсаль­

ные.

Специализи­

рованные


ки параметров системы: в детерминированных системах параметры модели оцениваются одним показателем для конкретных значений их исходных данных; в стохастических системах наличие вероятно­стных характеристик исходных данных позволяет оценивать парамет­ры системы несколькими показателями.

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

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

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

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

  1. Математические моЗели

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

  1. Построение математической моЗели системы

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

подмножество входных воздействий:

Xj е X,i = 1,2 пх

(или вектор входящих воздействий х — {х„хг>;..,х }); подмножество воздействий внешней среды: v,eV,l = \,2,;..,пу

(или вектор воздействия внешней среды v = {v,,v2,...,vnv-}); подмножество собственных параметров системы: hk е Н, к = 1,2,...,пп

(или вектор внутренних параметров h = {hvh2,...,hn });

подмножество выходных характеристик системы: yjt Y, j = 1,2,...,nr

(или вектор выходных характеристик у — {у]>У2>--->УПу} )•

Подмножества X, V и Я являются независимыми (экзогенными), У является зависимым (эндогенным) подмножеством. Процесс функци­онирования системы описывается во времени оператором F, кото­рый преобразует экзогенные переменные в эндогенные в соответ­ствии с соотношением y(t) = Fs(x, v, h, /).(*)

Эта зависимость называется законом функционирования сисгпе- мы S. Закон функционирования Fs может быть задан в виде функ­ции, функционала, логических условий, алгоритмически или таблич­но, а также в виде словесного набора правил соответствия. Совокуп­ность зависимостей выходных характеристик системы от времени

называется выходной траекторией y(t). Соотношение (*) является математическим описанием поведением системы во времени, поэто­му модели такого типа называются динамическими моделями.

Если закон функционирования у не содержит параметра вре­мени, то такие модели называются статическими и отображают связь между подмножеством у и подмножествами х, v, h и записывается

как у - Fs (i, v, hi)'.

Если в динамической модели дискретизировать время, то в каж­дый момент времени можно определить состояние системы

zp & Z, р = 1,2,...,п7. Множество Z всех возможных состояний сис­темы называется пространством состояний системы. Процесс функ­ционирования системы, изменяющей свое состояние в фиксирован­ные моменты времени, можно описать векторными уравнениями:

z(t) = <t>s(z°,x, v, h, /), y(t) = Fs(z, t).

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

  1. Примеры построения Зиномическин моЭепей

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

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

— = /(Я0; У((0) = Уо,

dt

где у = }, у2,..., у„ ) и 7 = (/,, /2,..., /„ ) - й-мерные векторы и

/ — непрерывна.

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

L*-jrz+^(o = °. dt

Процесс в электрическом колебательном контуре

+ — <?(/) = 0. C*

d2qjt) , 1 dt2 С,

. Очевидно, что если положить Л0 = , A, = g = —, z(r) = i?(f) = #(/), получим уравнение,

Ск

описывающее состояние во времени обеих систем

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

Рассмотрим пример построения дифференциальной модели объекта.

Имеется сосуд, площадь горизонтального сечения которого яв­ляется функцией расстояния сечения от дна сосуда. В начальный момент времени 1 — 0 высота уровня жидкости равна А метров. Пло­щадь сечения сосуда на высоте х равна S(x). В дне сосуда имеется отверстие площадью s. Определить зависимость уровня воды в сосу­де от времени xft).

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

v = ky[2gx, где к — коэффициент скорости истечения жидкости из отверстия. На бесконечно малом промежутке времени dt истечение жидкости можно считать равномерным, а поэтому за время dt вы­течет столбик жидкости, высота которого v dt и площадь сечения s, что, в свою очередь, вызовет понижение уровня жидкости в сосуде на — dx. Приравнивая объем жидкости, вытекшей из отверстия и из

сосуда, получим sk^2gx dt = -S(x) dx.

Полученное дифференциальное уравнение дает зависимость уровня воды в сосуде от времени x(t). Решим теперь конкретную за­дачу, выбрав сосуд с известным S(x). Пусть имеется цилиндрический сосуд радиусом R с круглым отверстием в дне радиусом г, наполнен­ный водой.

Площадь поперечного сечения сосуда постоянна и не зависит от х: S(x) — лR2, площадь отверстия в дне s nr2. Для воды коэффици­ент к = 0,6. Подставив эти значения в уравнение, получим

0,6 ш -Jlgx dt = -jtR dx, dt — ——dx.

r <Jo,72gx

Это уравнение может быть решено аналитически или одним из численных методов.

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

Рис. 5.2. Структура многомерной системы автоматического управления

Эндогенные переменные: x(t) и v(t) — вектора входных и воз­мущающих воздействий, а также h (t) и h (t)— вектора ошибок и управляющих воздействий, соответственно. Экзогенные переменные: z(t) — вектор состояния системы, который обычно совпадает с век-

f

тором выходных переменных, т.е. z(t) = y(t). (Более подробно о мо­делировании САУ см.: «Теория автоматического управления»: Учеб­ник для машиностроит. спец. вузов/ Под ред. Ю.М. Соломенцева. М.: Высшая школа, 1999.)

  1. инсрормоиионные моЭели

  1. информационные объекты и сб«зи

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

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

Пример. Информационный объект СТУДЕНТ имеет реквизитный состав: номер (номер зачетной книжки - ключевой реквизит), фами­лия, имя, отчество, дата рождения, код места обучения. Информаци­онный объект ЛИЧНОЕ ДЕЛО: номер студента, домашний адрес, но­мер аттестата о среднем образовании, семейное положение, дети. Информационный объект МЕСТО ОБУЧЕНИЯ включает реквизи­ты: код (ключевой реквизит), наименование вуза, факультет, группа. Информационный объект ПРЕПОДАВАТЕЛЬ: код (ключевой рекви­зит), кафедра, фамилия, имя, отчество, ученая степень, ученое звание, должность.

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

Связь один к одному определяет соответствие одному экземпля­ру информационного объекта X не более одного экземпляра инфор­мационного объекта Y, и наоборот.

Пример. Информационные объекты СТУДЕНТ и ЛИЧНОЕ ДЕЛО будут связаны отношением один к одному. Каждый студент имеет определенные уникальные данные в личном деле.

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

Пример. Между информационными объектами МЕСТО ОБУЧЕ­НИЯ и СТУДЕНТ необходимо установить связь один ко многим. Одно и то же место обучения может многократно повторяться для различ­ных студентов.

Связь многие ко многим предполагает соответствие одному экзем­пляру информационного объекта X любое количество экземпляров объекта Y, и наоборот.

Пример. Информационные объекты СТУДЕНТ и ПРЕПОДАВА­ТЕЛЬ имеют связь многие ко многим. Каждый студент обучается у множества преподавателей, а каждый преподаватель учит множество студентов.

  1. Примеры информационным моЗеяей

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

Рассмотрим некоторые универсальные модели.

Базы Эаннын

Базы данных представляют связанную совокупность структуриро-1 ванных данных, относящихся к определенному процессу или явле­нию, в конкретной предметной области.

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

Ядром любой БД является модель представления данных. Модель данных представляет множество структур данных и взаимосвязи меж­ду ними.

Различают иерархическую, сетевую и реляционную модели данных.

Иерархическая модель представляет связи между объектами (дан­ными) в виде дерева.

К основным понятиям иерархической модели относятся:

  • узел — набор атрибутов данных, описывающих объект;

  • связь — линия, связывающая узлы нижнего уровня с одним уз­лом вышележащего уровня. При этом узел вышележащего уровня называют предком для соответствующих ему узлов ниж­него уровня, в свою очередь, узлы нижнего уровня называют потомками связанного с ними вышележащего узла (например, на рис. 5.3. узел В1 - предок для узлов Cl, С2, а узлы С1, С2 — потомки узла В1);

  • Уровень 1 Уровень 2

    Рис. 5.3. Иерархическая модель данных

    Уровень 3

    Количество деревьев в БД определяется числом корневых записей. К каждому узлу существует единственный путь от корня.

    уровень — номер слоя узлов, отсчитанный от корня.

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

Рис. 5.4. Сетевая модель данных

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

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

искусственный интеллект

Идеи моделиррвания человеческого разума известны с древней­ших времен. Впервые об этом упоминается в сочинении философа и теолога Раймунда Луллия (ок.1235 — ок.1315) «Великое искусство», который не только высказал идею логической машины для решения разнообразных задач, исходя из всеобщей классификации понятий (XIV в.), но и попытался ее реализовать. Рене Декарт (1596—1650) и Готфрид Вильгельм Лейбниц (1646—1716) независимо друг от друга раз­вивали учение о прирожденной способности ума к познанию и все­общих и необходимых истин логики И математики, работали над созданием универсального языка классификации всех знаний. Имен­но на этих идеях базируются теоретические основы создания искус­ственного интеллекта. Толчком к дальнейшему развитию модели чело­веческого мышления стало появление в 40-х гг. XX в. ЭВМ. В 1948 г. американский ученый Норберт Винер (1894—1964) сформулировал основные положения новой науки — кибернетики. В 1956 г. в Стен-- фордском университете (США) на семинаре под названием «Artificial intelligence» (искусственный интеллект), посвященном решению ло­гических задач, признано новое научное направление, связанное с машинным моделированием человеческих интеллектуальных функ­ций и названное искусственный интеллект. Вскоре эта отрасль раз­делилась на два основных направления: нейрокибернетику и кибер­нетику «черного ящика».

Нейрокибернетика обратилась к структуре человеческого мозга как единственно мыслящему объекту и занялась его аппаратным моделированием. Физиологи давно выявили нейроны — связанные друг с другом нервные клетки как основу мозга. Нейрокибернетика занимается созданием элементов, аналогичных нейронам, и их объе­динением в функционирующие системы, эти системы называют ней­росетями. В середине 80-х гг. XX в. в Японии был создан первый нейрокомпьютер, моделирующий структуру человеческого мозга. Его основная область применения — распознавание образов.

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

  • Модель лабиринтного поиска (конец 50-х гг.), в которой рассмат­ривается граф состояний объекта и в нем происходит поиск оп­тимального пути от входных данных к результирующим. На практике эта модель не нашла широкого применения.

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

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

С середины 70-х гг. реализуется идея моделирования конкретных знаний специалистов-экспертов. В США появляются первые эксперт­ные системы» Возникает новая технология искусственного интеллек­та, основанная на представлении и использовании знаний. С середи­ны 80-х гг. искусственный интеллект коммерциализируется. Растут капиталовложения в эту отрасль, появляются промышленные эксперт­ные системы, повышается интерес к самообучающимся системам.

Бады знаний

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

Приведем некоторые из определений:

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

Знания — хорошо структурированные данные, или данные о дан­ных, или метаданные.

Знания — совокупность сведений, образующих целостное опи­сание, соответствующее некоторому уровню осведомленности об опи­сываемом вопросе, объекте и т.д.

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

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

Кроме того,' знания делят на процедурные и декларативные. Ис­торически первыми появились процедурные знания, «рассыпанные» н алгоритмах. Они управляли данными. Для их изменения требова­лось вносить изменения в программы. С развитием искусственного интеллекта все большая часть знаний формировалась в структурах* данных: таблицах, списках, абстрактных типах данных, знания все больше становились декларативными.

Декларативные знания — это совокупность сведений о характе­ристиках свойств конкретных объектов, явлений или процессов, представленных в виде фактов и эвристик. Исторически такие зна­ния накапливались в виде разнообразных справочников, с появле­нием ЭВМ приобрели форму баз данных. Декларативные знания Часто называют просто данными, они хранятся в памяти информа­ционной системы (ИС) так, что имеют непосредственный доступ для использования.

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

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

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

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

Исследования процессов принятия решений человеком показа­ли, что рассуждая и принимая решение, человек использует продук­ционные правила (от англ. production — правило вывода, порождающее правило). Продукционная модель, основанная на правилах, позволяет представить знания в виде предложений: ЕСЛИ (список условие), ТО (следует выполнить перечень действий). Условие — это предложение, по которому происходит поиск в базе знаний, а действие есть неко­торая операция, выполняемая при успешно осуществленном поис­ке. Действия могут быть как промежуточными, выступающими далее как условия, так и целевыми, завершающими работу ИС. В продук­ционной модели база знаний состоит из совокупности правил. Программа, управляющая перебором правил, называется машиной вы­вода. Механизм выводов связывает знания и создает из их последо­вательности заключение. Вывод бывает прямой (метод сопоставления, от данных к поиску цели) или обратный (метод генерации гипотезы и ее проверки, от дели — к данным).

Пример. Имеется фрагмент базы знаний, состоящий из двух пра­вил:

Пр. 1: ЕСЛИ «ведение бизнеса» и «знакомство с Интернет»,

ТО «электронная коммерция».

Пр. 2: ЕСЛИ «владеет компьютером»,

ТО «знакомство с Интернет».

В систему поступили данные: «ведение бизнеса» и «владе­ет компьютером».

ПРЯМОЙ ВЫВОД: На основе имеющихся данных получить заклю­чение.

  1. й проход:

Шаг 1. Проверяем Пр. 1, не работает — не хватает данных «знаком­ство с Интернет».

Шаг 2. Проверяем Пр. 2, работает, база дополняется фактом «зна­комство с Интернет».

  1. й проход

Шаг 3. Проверяем Пр. 1, работает, система дает заключение «элек­тронная коммерция».

ОБРАТНЫЙ ВЫВОД: Подтвердить выбранную цель с помощью

имеющихся правил и данных.

  1. й проход:

Шаг 1. Цель — «электронная коммерция»:

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

Шаг 2. Цель — «знакомство с Интернет»:

Пр. 2 подтверждает цель и активизирует ее.

  1. й проход:

Шаг 3. Пр. 1 подтверждает искомую цель.

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

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

Рис. 5.5. Семантическая сеть Достоинствами сетевых моделей являются: большие выразитель-

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

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

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

{ИМЯ ФРЕЙМА: (имя 1-го слота: значение 1-го слота);

(имя 2-го слота: значение 2-го слота);

(имя N-ro слота: значение N-ro слота)}.

Важным свойством фреймов является наследование свойств, за­имствованное из теории семантических сетей. Наследование проис­ходит по АКО-связям (от A Kind Of, что означает «эт.е.»). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно

t

наследуется, т.е. переносятся значения аналогичных слотов. Напри­мер, в сети фреймов на рис. 5.6 «конструктор» наследует свойства фреймов «инженер» и «человек», которые стоят на более высоком^ уровне иерархии.

Рис. 5.6. Сеть фреймов

Модель фрейма достаточно универсальна, позволяет отобразить все многообразие знаний о мире через:

  • фреймы-структуры, для обозначения объектов и понятий (лек­ция, конспект, кафедра);

  • фреймы-роли (студент, преподаватель, декан);

  • фреймы-сценарии (сдача экзамена, празднование именин, полу­чение стипендии);

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

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

Обобщая анализ моделей представления знаний, можно сделать следующие выводы:

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

  • Наиболее мощными являются смешанные модели представления знаний.

Экспертные системы

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

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

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

Современные экспертные системы способны: f — по совокупности признаков заболевания установить диагноз, назначить лечение, дозировать медикаменты, выработать про­грамму курса лечения;

, — выполнять задачи диагностических систем в исследовании явле­ний и процессов (например, для анализа крови; управления про­изводством; изучения состояния недр земли, нефтяных полей, залежей угля и т.п.);

' — распознавать речь, на данном этапе в ограниченной области при­менения;

  • распознавать человеческие лица, отпечатки пальцев и др.

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

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

Решатель

Интеллектуальный редактор базы знаний

Интерфейс

пользователя

База знаний

Подсистема

разъяснений

\—/ Инженер .

по знаниям +


Пользователь



Эксперт

Рис. 5.7. Структура модели экспертной системы

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

Система управления

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

  • планирование (стратегическое, тактическое, оперативное);

  • учет — отображает состояние объекта управления в результате выполнения производственных процессов;

  • контроль — определяет отклонение учетных данных от плановых целей и нормативов;

  • оперативное управление — осуществляет регулирование всех про­цессов с целью исключения возникающих отклонений от пла­новых и учетных данных;

  • анализ — определяет тенденцию в работе системы и резервы, которые учитываются при планировании на следующий времен­ной период.

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

  1. Моделирование инсрормаиионнын проиессоВ

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

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

тодик. Любое ПО имеет свой жизненный цикл — период от начали проектирования и до его модернизации или замены более современ*? ной версией. В конце 60-х гг. появился термин software engineering (ин­женерное проектирования программ), которым обозначали совокупч ность административных и технических методов, процедур й инструментальных средств, необходимых для эффективного написа* ния крупных программных систем. Были разработаны разные под-Г ходы для проектирования алгоритмов и программ, которые появляЛ лись и развивались под влиянием увеличивающейся потребности в скорости и качестве разработки ПО.

  1. Модели розроботки программного обеспечения |

Для инженерного подхода к проектированию ПО были предлЫ жены модели процесса его разработки. Первым по времени и наи­более популярным можно считать метод «водопада». Эта модель иде*| ализирует процесс проектирования, предполагая, что каждый этап проекта завершается до начала следующего и не осуществляется воз-

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

Рис. 5.9. Метод «водопада» с введением временных прототипов

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

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

Один из наиболее популярных методов проектирования ПО — метод нисходящего проектирования. Он предполагает последователь­ное разложение общей функции обработки данных на простые (для данного уровня) функциональные элементы. В результате получает-^ ся иерархическая модель, отражающая состав и взаимоподчиненность отдельных функций. Эта схема носит название функциональной струк-1 туры алгоритма (ФСА) приложения. Недостатком ФСА является to, что каждый ее уровень является единым целым и не может разраба­тываться параллельно группой разработчиков.

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

  • один входной и один выходной поток данных;

  • все операции, необходимые для преобразования входного пото­ка в выходной, выполняются внутри модуля;

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

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

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

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

Для любого метода проектирования ПО очень важным являютг ся документирование и нотация, т.е. запись операций условным стан­дартизованным способом. Для структурного проектирования наибо­лее часто использовалась нотация схем алгоритмов. Для ООП в настоящее время используется нотация UML (Unified Modeling Language) — унифицированный язык моделирования, используя ко­торый в качестве нотации, мы будем моделировать информационные системы с помощью современных средств автоматизации програм­мирования.

  1. УнисрииироВанный «зык моЭелироВониа UIT1L

В начале 90-х гг. из всего множества языков объектно-ориенти­рованного анализа и проектирования выделились три, наиболее ча­сто используемых при разработке систем: Booch, созданный Грейди Нучем, OOSE (Object-Oriented Software Engineering), разработанный A it варом Джекобсоном, и ОМТ (Object Modeling Technique), автором которого является Джеймс Рамбо. Каждый из этих методов является! вполне законченным языком ООП, однако метод ВООСН особенно удобен на этапах проектирования модели, OOSE — на этапе анализа и формулирования требований, а ОМТ - удобен при проектирова­нии СУБД. Создание языка, объединяющего достоинства этих трех методов, началось в начале 1995 г., когда эти три автора объединили свои методы для создания унифицированного языка для фирмы Rational Software. В 1997 г. была принята версия UML 1.1, взятая на вооружение всеми компаниями — производителями систем автома^ тизированного проектирования. В 2001 г. появилась версия 2.0. В настоящее время идет утверждение UML в качестве стандарта ISO.

  1. Кониептуалыная модель UffiL

Словарь UML включает три основных блока:

  • сущности;

  • отношения;

  • диаграммы.

Сущность — это основные структурные блоки языка. UML име­ет четыре типа сущностей:

  • структурные;

  • поведенческие;

  • группирующие;

  • аннотационные.

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

Класс — описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой.

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

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

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

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

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

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

Для вышеперечисленных сущностей существуют разновидности:

  • классы — актеры, сигналы, утилиты;

  • компоненты — приложения, документы, файлы, страницы, таб­лицы.

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

Взаимодействие — поведение, заключающееся в обмене сообще­ниями.

Автомат — алгоритм поведения, определяющий последователь­ность состояний объекта в зависимости от событий и своего теку­щего состояния. Автомат —. это граф, состоящий из состояний и пе­реходов. Переходы - линии с указанием события.

Группирующие сущности являются организующими частями мо­дели. Это блоки, на которые можно разложить модель.

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

Аннотационные сущности используются для дополнительного описания или замечания к любому элементу.

  1. Отношения В UIT1L

В UML определены четыре типа отношений:

  • зависимость;

  • ассоциация;

  • обобщения;

  • реализация.

Отношения являются связующими элементами для объединения сущностей.

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

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

Обобщение — это отношение «родитель — потомок».

Реализация — это семантическое отношение между интерфейса­ми и реализующими их классами или между прецедентами и реали­зующими их кооперациями.

  1. ОиогроАЛАЛы

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

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

Диаграмма объектов — представляет объекты и отношения меж­ду ними. Она дает статический слепок экземпляров сущностей, по­казанных на диаграмме классов.

Диаграмма прецедентов — включает прецеденты и актеров (вне­шние, по отношению к данной системе, лица или другие системы), а также отношения между ними.

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

Диаграмма коопераций — представляет структурную организацию объектов, обменивающихся сообщениями.

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

Диаграмма деятельности — разновидность диаграммы состояния, показывает потоки управления между объектами.

Диаграмма компонентов — представляет организацию компонен­тов и существующих между ними зависимостей. Относится к стати­ческому виду системы.

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

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

Многие продукты, реализующие CASE-технологии (Computer Aided Software Engineering — автоматизированное проектирование и создание программ), в настоящее время поддерживают нотацию UML. Такие пакеты, как Paradigm Plus, System Architect, Microsoft Visual Modeler, Delphi и др., поддерживают нотацию UML. Наиболее мощ­ный пакет проектирования, разработанный компанией Rational SoftwareRational Rose (RR), позволяет использовать при разработ­ке все возможности языка UML.

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

  1. Информатика днях. Каждая стадия является законченным этапом. Она документи­рована и может быть предъявлена заказчику и верифицирована.

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

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

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

Четвертая фаза: ввод в действие. Эта фаза наступает, когда го­товый продукт, откомпилированный в среде выбранного языка вы­сокого уровня, .передают пользователю. В этой фазе RR не исполь­зуется.

6. Основы алгоритмизации и текнологии программирования

6.1. Понятие алгоритма и его сВойстВа

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

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

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

Значение слова «алгоритм» очень схоже со значениями слов «ре­цепт», «метод», «процесс». Однако, в отличие от рецепта или про­цесса, алгоритм характеризуется следующими свойствами: дискрет­ностью, массовостью, определенностью, результативностью, формальностью.

Дискретность (разрывность — противоположно непрерывности)— это свойство алгоритма, характеризующее его структуру: каждый ал­горитм состоит из отдельных законченных действий, говорят: «Де­лится на шаги».

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

Определенность (детерминированность, точность) — свойство ал­горитма, указывающее на то, что каждый шаг алгоритма должен быть строго определен и не допускать различных толкований; также строго должен быть определен порядок выполнения отдельных шагов. По­мните сказку про Ивана-царевича? «Шел Иван-царевич по дороге, дошел до развилки. Видит большой камень, на нем надпись: «Пря­мо пойдешь — голову потеряешь, направо пойдешь — жену найдешь, налево пойдешь — разбогатеешь». Стоит Иван и думает, что дальше делать». Таких инструкций алгоритм содержать не может.

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

Формальность — это свойство указывает на то, что любой испол­нитель, способный воспринимать и выполнять инструкции алгорит­ма, действует формально, т.е. отвлекается от содержания поставлен­ной задачи и лишь строго выполняет инструкции. Рассуждать «что, как и почему?» должен разработчик алгоритма, а исполнитель фор­мально (не думая) поочередно исполняет предложенные команды и получает необходимый результат.

6.2. Способы описания алгоритмов

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

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

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

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

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

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

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

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

( Начало X Конец )

<Действие>

Т

Блок, характеризующий нача­ло/конец алгоритма (для под­программ — вызов/возврат):

Блок - процесс, предназначен­ный для описания отдельных дей­ствий:

Блок — предопределенный про­цесс, предназначенный для обраще­ния к вспомогательным алгоритмам (подпрограммам):

L

7

Блок — ввода/вывода с неопре­деленного носителя:

1

Блок — ввод с клавиатуры:

Блок — вывод на монитор:

Блок — вывод на печатающее устройство:

Блок — решение (проверка уело- нет да

вия или условный блок): " ■

стело цикла>

Блок, описывающий цикл с па­раметром:

Блок — границы цикла, описыва­ющий циклические процессы типа: «цикл с предусловием», «цикл с постусловием»:

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

Соединительные блоки

Программа - описание структуры алгоритма на языке алгорит­мического программирования. С другой стороны, понятие «програм­ма» нельзя трактовать только таким образом, как уже говорилось в главе 5 (п. 5.5.2), программа на языке декларативного программиро­вания представляет собой совокупность описанных знаний и не со­держит явного алгоритма исполнения.

6.3. ОсноВные алгоритмические конструкции

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

  1. Линейная алгоритмическая конструкция

Линейной называют алгоритмичес­кую конструкцию, реализованную в виде последовательности действий

(шагов), в которой каждое действие (шаг) алгоритма выполняется ровно один раз, причем после каждого /-го действия (шага) выполняется (/+1)-е действие (шаг), если /-е дей­ствие - не конец алгоритма.

Пример 6.1.

Опишем алгоритм сложения двух чисел на псевдокоде в виде блок-схе- мы (рис. 6.1).

Псевдокод:

  1. Ввод двух чисел а, Ь.

  2. Вычисляем сумму S — а + Ь.

  3. Вывод iS".

  4. Конец.

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

Рис. 6.2. Полное ветвление

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

Пример 6.2.

Вывести значение наибольшего из двух чисел.

Псевдокод:

  1. Ввод двух чисел а, Ь.

  2. ЕСЛИ а > Ь, ТО «выводим а»,

ИНАЧЕ «выводим Ь».

  1. Конец.

Рис. 6.4. Блок-схема к примеру 6.2

В Данном примере реализовано полное ветвление. ЕСЛИ значе­ния входных данных таковы, что а >Ь, ТО выполняется линейный алгоритм:

  1. Ввод двух чисел а, Ь.

  2. Вывод а.

ИНАЧЕ, когда а<Ь, выполняется линейный алгоритм:

  1. Ввод двух чисел а, Ь.

  2. Вывод Ь.

Вывод: алгоритм является разветвляющимся и состоит из двух ветвей.

Рис. 6.5. Алгоритм поиска наименьшего значения среди трех заданных

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

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

Пример 6.3.

Заданы три числа. Найти значение наименьшего из них.

Заданные числа обозначим:

а, Ь, с; результирующее наимень­шее — mitt. На рис. 6.5 представ­лена блок-схема алгоритма реше­ния данной задачи.

Кол/юнЗа «Выбор»

Часто при выборе одного из возможных вариантов действий при­ходится проверять значение выражения на принадлежность заданно­му набору данных. Для этого, существует команда «Выбор». При ее исполнении сначала вычисляется значение некоторого выражения Z. Затем последовательно проверяются условия VI, V2, ..., Уп относи­тельно Z, начиная с первого, до тех пор, пока не встретится усло­вие, принимающее значение ИСТИНА. Далее выполняется соответ­ствующее этому условию действие (или серия действий), после чего команда выбора завершается. Если ни одно из условий не является истинным, то выполняется действие (или набор действий), идущее по ветви ЛОЖЬ для каждого из условий. На рис. 6.6 представлена блок-схема команды «Выбор» для п = 3.

Рис. 6.6. Команда «выбор»

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

Правило изменения параметра <;

i = ЛС К. h означает

1-й шаг цикла

i = N

2-й шаг цикла

i = N + h

3-й шаг цикла и т.д. •

i = N + 2h

последний шаг

i = К

Рассмотрим три типа циклических алгоритмов: цикл с параметром (который называют арифметическим циклом), цикл с предусловием и цикл с постусловием (их на­зывают итерационными).

Арифметический иикл

В арифметическом цикле число его шагов (повторений) одно­значно определяется правилом изменения параметра, которое зада­ется с помощью начального (N) и конечного (К) значений параметра и шагом (А) его изменения. Т.е., на первом шаге цикла значение па­раметра равно N, на втором — N + h, на третьем — N + 2h и т.д. На последнем шаге цикла значение параметра не больше К, но та­кое, что дальнейшее его изменение приведет к значению, большему, чем К.

Пример 6.4.

Вывести 10 раз слово «Привет!».

Параметр цикла обозначим /, он будет отвечать за количество выведенных слов. При i = 1 будет выведено первое слово, при 1=2 будет выведено второе слова и т.д. Так как требуется вывести 10 слов, то последнее значение параметра / = 10. В заданном примере требу­ется 10 раз повторить одно и то же действие: вывести слово «При-

у

г*<Е <

1, 10.

вет!». Составим алгоритм, ис­пользуя арифметический цикл, в котором правило изменения параметра г ■= 1,10, 1. То есть начальное значение параметра

  1. = 1; конечное значение i = 10; шаг изменения Л = 1. На рис. 6.7 представлена блок-схема алгоритма решения данной за­дачи.

шш

^ Конец J

Привет! =Г

Рис. 6.7. Блок-схема к примеру 6.4