Министерство образования Российской Федерации Пензенский государственный университет
А. Е. Хохлов
ОСНОВЫ ИНФОРМАТИКИ К...
4 downloads
96 Views
854KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Министерство образования Российской Федерации Пензенский государственный университет
А. Е. Хохлов
ОСНОВЫ ИНФОРМАТИКИ Конспект лекций
Наградной логотип вуза Издательство Пензенского государственного университета Пенза 2003
УДК 004 (075.8) Х 86 Р е ц е н з е н т ы: Кафедра «Вычислительные системы и моделирование» Пензенского государственного педагогического университета Кандидат технических наук, доцент кафедры «Прикладная информатика» Российского университета инновационных технологий и предпринимательства С. П. Пискарев
Х 86
Хохлов А. Е. Основы информатики: Конспект лекций. – Пенза: Изд-во Пенз. гос. ун-та, 2003. – 103 с: 19 ил., библиогр. 8 назв.
Согласно требованиям Государственных образовательных стандартов, рассматриваются основные понятия и определения информатики, методы и единицы измерения информации, формы представления информации в ЭВМ. Приводится функционально-структурная организация компьютера, основные этапы компьютерного решения задач, программные средства информационных технологий. Анализируется сетевые технологии обработки данных, основы и методы защиты информации, назначение и основы использования систем искусственного интеллекта. Работа подготовлена на кафедре «Информационно-вычислительные системы» и предназначена для студентов специальностей 351400 «Прикладная информатика в экономике» и 220200 «Автоматизированные системы обработки информации и управления».
УДК 004 (075.8) © ©
Издательство Пензенского государственного университета, 2003 Хохлов А. Е., 2003
2
Введение К началу XXI века объём знаний человечества увеличился в два раза, относительно начала XX века, поток информации увеличился в 30 раз. Информация стала главной ценностью земной цивилизации. В развитых странах формируются национальные информационные ресурсы, и происходит переход от индустриальной экономики к экономике, основанной на информации. Более половины трудового населения развитых стран в той или иной мере занято в информационной сфере. Информация стала основным предметом труда. Понятие «информационные ресурсы» (другими словами «информационный потенциал») охватывает широкий круг технических и организационных средств обработки и передачи данных, знания и навыки людей, и конечно сами данные. Можно выделить следующие группы информационных ресурсов: - информация на физических носителях, а также средства её обработки, - средства передачи и коммуникации, включая навыки и приемы их использования, - средства обработки информации, - ученые и специалисты – «производители» информации в разных сферах деятельности, - органы и службы, занимающиеся сбором, обработкой и хранением информации. Наблюдается резкий количественный рост и снижение уровня квалификации рядовых пользователей ЭВМ. Это приводит к необходимости упрощения интерфейса с ЭВМ вплоть до написания программ на естественном языке и речевого общения. Весьма перспективны нейросистемы способные к самообучению при распознавании образов. Особое значение приобретает факт широкого распространения персональных компьютеров и всемирной сети Internet. Это многократно усиливает природные возможности человеческого разума. Философам, социологам и психологам ещё предстоит осознать, глубоко исследовать идею компьютера, как духовного инструмента творческой деятельности, а также оценить все социальные последствия процесса внедрения компьютеров в социальную сферу.
3
До сих пор царило убеждение, что ЭВМ даёт только то, что в ней заложено. Но теперь ясно, что от ЭВМ можно получить нечто новое, а именно знания. Оперируя знаниями ЭВМ могут прийти к решениям, которые ускользают от человеческого разума. Индустриальное общество развитых стран перерастает в информационное общество, основанное на индустрии услуг и информации. Суть информационного общества может быть охарактеризована следующими признаками: 1. Большинство населения в таком обществе занято в сфере услуг и информации. 2. Любой гражданин может получить любую информацию, кроме государственных тайн, коммерческих и личных секретов. 3. Наличие сети гигантских накопителей информации – общедоступных банков знаний и данных, а также необходимых технологических средств (компьютеров, программного обеспечения, сетей). 4. Информация становится товаром и вместе с информационными технологиями занимает ключевое место в экономике страны. Информатизация общества – грандиозная научно-техническая проблема. Она имеет значительные социальные последствия, оказывает влияние на облик цивилизации в целом. Научным фундаментом процесса информатизации общества является научная дисциплина — информатика. В широком смысле информатика — это наука об информационной деятельности, информационных процессах и их организации в человеко-машинных системах. Основными разделами информатики являются исследование и разработка информационных средств и технологий, программных средств и моделирование предметных областей.
4
1. Основные понятия и определения информатики 1.1. Информация и информатика Термин информация имеет множество определений. В «Энциклопедии кибернетики» «информация (лат. informatio – разъяснение, изложение, осведомленность) – одно из наиболее общих понятий науки, обозначающее некоторые сведения, совокупность каких-либо данных, знаний и т.п.». В широком смысле «информация» – это отражение реального мира; в узком смысле «информация» – это любые сведения, являющиеся объектом хранения, передачи и преобразования. В России 25.01.95 принят Федеральный закон «Об информации, информатизации и защите информации». Согласно этому закону: информация – сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы их представления. С практической точки зрения информация всегда представляется в виде сообщения. Общая схема передачи информации представлена на рис.1. Исто чник сооб щен.
Кодир уст-во
Кан. связ
Декодир устр-во
Получ. сообщ.
Рис.1 Сообщения от источника к приемнику передаются в материальноэнергетической форме (электрический, световой, звуковой сигналы). Человек воспринимает сообщения посредством органов чувств. Приемники информации в технике – с помощью различной измерительной и регистрирующей аппаратуры. В любом случае, с приемом информации связано изменение во времени какой-либо величины, характеризующей состояние приемника. В этом смысле информационное сообщение можно представить функцией x(t), характеризующей изменение во времени параметров физической среды. Если эта функция непрерывна, то передаваемая информация называется аналоговой. Её источником обычно являются различные природные объекты (температура, давление, влажность воздуха и т.д.),
5
объекты технологических процессов (нейтронный поток в реакторе, давление и температура теплоносителя и пр.) и др. Если функция x(t) дискретна, то информация имеет характер дискретных сообщений (сигналы тревоги, языковые сообщения письменные, звуковые или на языке жестов и т.д.) В современном мире инструментом информатики является электронная вычислительная машина (ЭВМ) или computer. Это устройство преобразования информации при выполнении последовательности операций под управлением программы. По виду информации ВМ делятся на аналоговые и цифровые. АВМ оперирует информацией, представленной в виде непрерывных изменений некоторых физических величин. Например, напряжения или силы тока. Многие явления в природе описываются одинаковыми уравнениями, поэтому АВМ позволяют с помощью одного физического процесса моделировать различные природные процессы. ЦВМ – машина, оперирующая информацией, представленной в дискретном виде. В настоящее время разработаны методы численного решения многих видов уравнений, что дало возможность решать на ЦВМ различные задачи с помощью набора простых арифметических и логических операций. АВМ являются специализированными машинами, ЦВМ – универсальными. В ЭВМ для представления дискретной информации применяется алфавитный способ, основанный на использовании конечного набора символов. Этот набор называется алфавитом. Примеры алфавитов, алфавиты естественных языков, десятичные цифры и т.д. Символы из набора алфавита называются буквами, а любая конечная последовательность букв – словом. При этом не требуется, чтобы слово имело языковое смысловое значение. Процесс преобразования информации часто требует представлять буквы одного алфавита средствами (буквами, словами) другого алфавита. Такое представление называется кодированием. Процесс обратного преобразования – декодированием. Широко используется термин: данные (data). Этот термин применяют в отношении информации, представленной в виде, позволяющем хранить, передавать или обрабатывать её с помощью технических средств. Рассмотрим теперь смысл понятия «информатика».
6
Одно из направлений трактовок информатики, связанное с трудами В.И. Сифорова, сводит её к учению об информации вообще – информологии. Это направление, по существу, развивает теорию информации К. Шеннона, его учение об источнике информации, канале, шуме, кодировании, релевантности (существенности) и т.д. Второе направление толкования понятия информатики, изложенное в работах Бернштейна Э. С. и Шрейдера Ю.А., ставит в центр внимания семантические (содержательные) стороны информации, соотношение понятий информация и знание, их функций в общественных системах. Семантическое направление в трактовках информатики нельзя считать удовлетворительным, поскольку оно оставляет в стороне такой важный аспект информационного процесса, как практическое использование знаний (информации). Для нас с вами, как специалистов в области обработки информации наиболее приемлем подход, выдвинутый основоположником отечественной вычислительной техники академиком Глушковым Виктором Михайловичем (1923-82) в 1979 году и утвержденном в 1983 году на годичном собрании АН СССР по предложению Михалевича В. С., Каныгина Ю.М., Гриценко В.И. В их трактовке: Информатика – это комплексная научная и инженерная дисциплина, которая изучает все аспекты разработки, проектирования, создания, оценки, функционирования основанных на ЭВМ систем переработки информации, их применения и воздействия на различные области социальной практики. Из определения Глушкова следует выделить два аспекта. Вопервых, информатика есть следствие развития ЭВМ, во-вторых, объектом исследований в информатике является не просто ЭВМ, а система «человек – ЭВМ – общество». Часто возникает путаница в понятиях «информатика» и «кибернетика». Основная концепция, заложенная Норбертом Винером в кибернетику, связана с разработкой теории управления сложными динамическими системами в разных областях человеческой деятельности. Кибернетика существует независимо от наличия или отсутствия компьютеров. Кибернетика и информатика, внешне очень похожие дисциплины, различаются в расстановке акцентов: - в информатике – на свойствах информации и аппаратно-программных средствах её обработки, 7
- в кибернетике – на разработке концепций и построении моделей объектов с использованием, в частности, информационного подхода. 1.2. Информационные технологии Объектом информатики являются автоматизированные информационные системы (ИС), основанные на ЭВМ и телекоммуникационной технике. Информатика изучает все стороны их разработки, проектирования, создания, анализа и использования на практике. Информационные технологии – это основанные на ЭВМ способы обработки семантической информации – данных и знаний, которые реализуются посредством автоматизированных информационных систем. В качестве признаков классификации АИС используются: направление деятельности, охватываемая территория, организация информационных процессов, область применения. Классификация по направлению деятельности: Отраслевые АИС Промышленная сфера АИС объединением, крупной фирмой АСУ ТП Непрерывными Дискретными Периодическими АСУП АСУ цехом Непромышленная сфера АИС на транспорте АИС в торговле АИС банков АИС социальными процессами Научная сфера, образование, культура АСНИ САПР Экспертные системы (ЭС) АИС «Библиотека» 8
В зависимости от организации информационных процессов АИС делятся на два больших класса: управляющие и информационные. В информационных АИС управление отсутствует (АСНИ, САПР, «Библиотека», ЭС). Классификация по территориальному признаку: АИС области АИС города АИС района Геоинформационные системы По сфере применения различают: Административные Производственные Учебные Медицинские Военные Метеорологические Экологические Криминалистические Классификация АИС на предприятии (исторически один из первых классов): Подсистемы управления производством Оперативного управления АСУ ТП Контроля качества Диагностики Стратегического прогнозирования и планирования Подсистемы организации хозяйственной деятельности Бухучета Финансов Транспорта Снабжения Складов Кадров 9
Информационные технологии (ИТ) включают два основных элемента – машинный и человеческий (социальный). Социальный элемент является главным. В отличие от производственных, энергопреобразующих технологий ИТ как объект информатики относятся к социальным, знаниепреобразующим технологиям. 1.3. Информационный ресурс и его составляющие Один и тот же объект может изучаться разными науками. Объект познания – это некий фрагмент реального мира, а его предмет – это выбранная для исследования методами данной науки сторона, грань, аспект объекта. ИТ выступили новым средством превращения знаний в информационный ресурс (ИР) общества. ИР стал основным ресурсом человечества, главной ценностью современной цивилизации Предметом информатики как новой фундаментальной науки выступает ИР – его сущность, законы функционирования, механизмы взаимодействия с другими ресурсами общества и воздействия на социальный прогресс. ИР – это знание, ставшее информацией. Поэтому знание обладает всеми характеристиками ИР: достоверностью, надежностью, релевантностью (релевантность - нужность, существенность). ИР выступает в пассивной и активной формах. К пассивной относятся такие формы существования знаний, когда они не связаны или слабо связаны с конкретными предметными областями (книги, статьи, патенты, банки данных). Активные формы существования ИР: модель, алгоритм, программа, проект. Каждая из этих четырех активных форм ИР имеет разные степени общности, научно-технический уровень и завершенность (комплектность). Теоретическая информатика рассматривает все аспекты разработки АИС: их проектирования, создания и использования с технической и а также комплекс экономического, содержательной стороны, политического и культурного воздействия на социальную динамику. Теоретическая информатика занимается анализом и традиционных систем преобразования информации: СМИ, кино, театры, справочные службы и т.д. Но рассматривает их с позиций получения и использования ИР, возможной их технологизации. Теоретическая информатика изучает общие свойства всех разновидностей ИТ, процессов и сред их протекания. Всем им характерны 10
такие понятия, как носители информации, каналы связи, информационные контуры, сигналы, прямые и обратные связи, данные, сведения и т. д. Все они описываются такими характеристиками, как надежность, эффективность, релевантность, информационный шум, избыточность и др. Все они делятся на различные фазы и процессы: прием, кодированиедекодирование, хранение, извлечение, отображение информации. Прикладная информатика изучает конкретные разновидности ИТ, которые формируются с помощью специальных ИС (управленческих, медицинских, военных, обучающих, криминалистических и др.) 1.4. История развития информатики и мировоззренческие аспекты информационных технологий Для развития любого человеческого общества необходимы материальные, инструментальные, энергетические и информационные ресурсы. Более того, информация и ее высшая форма — знания являются решающим фактором, определяющим развитие технологии и инструментальных ресурсов в целом. Без них использование материальных и энергетических ресурсов для поддержания жизнедеятельности и развития общества невозможно. Можно поэтому утверждать, что информация ставит предел технологии, а следовательно, и возможностям человечества в освоении мира и дальнейшем прогрессирующем адаптивном развитии. Этот тезис подводит нас к концепции информационно-инструментальной природы генезиса и развития человеческого общества. К. Маркс ввел концепцию социальных революций, ведущих к смене формаций, т. е. определенным образом организованных человеческих сообществ с более или менее четкой социальной структурой. В истории человечества известны три великие технологические революции — аграрная, индустриальная и информационная. Однако и социальные, и технологические революции в значительной мере детерминированы революциями информационными. Первая информационная революция связана с изобретением и освоением человечеством языка (по разным оценкам 1-2 млн. лет назад). Язык, точнее устная речь, сразу выделил человека из мира животных, позволив ему хранить, передавать, совершенствовать, наращивать и трансформировать приобретенную информацию, и прежде всего знания. Изобретение языка позволило создать племенные объединения и союзы, т. е. сообщества, в которых циркулировало и использовалось примерно 109 бит информации. Этим определялся уровень технологических 11
возможностей человечества и класс задач, которые оно могло решать, а также уровни внутри межплеменного взаимодействия. Вторая информационная революция заключалась в изобретении письменности. Символом и, так сказать, гиперконцентратором этой революции была Александрийская библиотека (3 в до н.э. -– 4 в н.э., 500 тыс. свитков). Она, по приблизительным подсчетам, содержала 1011 бит информации. Именно этим определялся информационный максимум, который могло освоить и использовать человечество вплоть до следующей информационной революции. Зафиксированное в письменных текстах знание было ограничено количественно и крайне дорого стоило. Это определяло меру его доступности. Так как человек делал то, что он умеет, а умеет он то, что знает, то объем знаний, аналогичный объему Александрийской библиотеки, ограничивал технологический, социальный и общий духовно-культурный потенциал человечества, доступный для освоения каждым последующим поколением, вплоть до изобретения книгопечатания. Книгопечатание знаменовало собой третью информационную революцию. В книгопечатании наиболее очевидна связь информации и технологии. Технологическим механизмом первой революции был речевой, акустический аппарат человека. Механизмом второй — технология папируса и глиняных табличек, механизмом третьей — печатный станок. Но каждый из этих механизмов, создававший особую информационную технологию, сам зависел от объема и качества информации. Книгопечатание, создало особый мир — вселенную Гуттенберга. Колумб вряд ли открыл бы Америку, если бы не изучил перед этим книги, посвященные географии и сферическому строению Земли. Но сын генуэзского ткача никогда не прочитал бы их, если бы существовали только дорогостоящие рукописи. Печатный станок удешевил книгу, сделал информацию и знания доступными. Мировоззрение человечества изменилось благодаря первым двум тиражам знаменитой книги Коперника. Оба они едва ли превышали 500 экземпляров, но при старой рукописной технологии для их появления понадобилось бы столетие. В печатном же исполнении они распространились буквально за несколько лет. Поразительный промышленный переворот, называемый индустриальной революцией, был бы просто невозможен без предшествующей информационной революции, порожденной книгопечатанием. Третья информационная революция позволила
12
человечеству оперировать объемами 1017 бит единовременно доступной информации. Четвертая революция, плавно переходящая в пятую, связана с созданием современных информационных технологий, которые сами явились результатом развития научных знаний в сфере физики, математики, логики, лингвистики и технологии. Телеграф, телефон, радио и телевидение, а также скоропечатающие устройства колоссально увеличили потоки информации, облегчили ее распространение, накопление, передачу и доступ к ней. Но самым поразительным шагом этой новой революции явилось создание современных компьютеров и новейших средств телекоммуникации. Впервые появилась возможность создания информационной технологии, не только передающей, хранящей информацию и знания, но и продуцирующей их. По самым общим оценкам, каждая новая информационная революция увеличивает объем информации, доступной индивиду и обществу, на два-три порядка. Нынешняя информационная революция может доставить в наше распоряжение колоссальный объем информации, определяемый в 1025 бит. По существу, информационно-компьютерная революция позволяет создать и включить в систему социального обращения такие потоки информации, которых в настоящее время достаточно для того, чтобы обеспечить максимально рациональное природопользование, демографическое, экономическое, индустриальное, аграрное и духовнокультурное развитие человечества. Этой информации в принципе, хватит, чтобы сконструировать знания, необходимые для разрешения большинства глобальных и региональных конфликтов. Разумеется, было бы наивно думать, что одной информации довольно для того, чтобы решить все болевые проблемы человечества. К счастью или к несчастью, люди руководствуются не только и не столько разумом, сколько страстями и интересами, и прежде всего интересами корыстными, властными, предметно ориентированными. Но с этой существенной оговоркой информационные ресурсы человечества сейчас таковы, что, будь они доступны и умей мы правильно ими пользоваться, многие из нынешних трудностей, личных, социальных, экономических, политических, глобальных и региональных, были бы преодолены с минимальными потерями или даже вообще без потерь.
13
1.5. Экономические и правовые аспекты информационных технологий Важнейшим аспектом социальной информатизации является формирование и развитие индустрии информатики – весьма специфической отрасли экономики. Здесь необходимо учитывать влияние следующих факторов. 1. Наличие и дальнейшее развитие всех звеньев переработки информации: ВЦ и их сети, фонды алгоритмов и программ, БД и БЗ, исследовательские и проектные институты по созданию ИС, организации по обслуживанию ВЦ и т.д. Все это представляет собой особую инфраструктуру, обслуживающую сферу хозяйства. 2. Создание производств по выпуску средств ВТ и автоматизации: ЭВМ, элементной базы, средств телекоммуникации, периферийного оборудования, магнитных носителей и т.п. 3. Создание предприятий по выпуску вспомогательного оборудования и материалов, мебели для ВЦ, средств магнитной записи и т.д. 4. Создание организаций и предприятий по разработке программного обеспечения на промышленной основе. 5. Разработка и внедрение коммуникационных сетей. Рост индустрии информатики резко опережает рост других отраслей экономики. По числу занятых, объемам продукции она уже в ряде стран выдвинулась на одно из первых мест. Этой динамичной и наукоемкой сфере придается стратегическое значение. Особенность индустрии информатики состоит в том, что она является инфраструктурной отраслью, обслуживающей другие отрасли материального производства и непроизводственной сферы, такие как связь или транспорт. Хотя её функции гораздо сложнее. Конечно, развитие технической базы информатизации очень важно, но все же основные её проблемы лежат в области социальных преобразований. И главным из них является развитие интеллектуального рынка. Информация превращается в обыкновенный товар, объект массовой купли-продажи. Информационный рынок по масштабам (обороту) и темпам роста в большинстве развитых стран далеко опередил рынок материальных продуктов и услуг. На первое место по своему экономическому значению выдвинулся рынок знаков, отодвинув на задний план рынок вещей. В данном случае рынок знаков трактуется широко: это рынок закодированных в той или иной форме знаний, их материальных носителей и средств переработки и применения. 14
К рынку знаков относятся: 1. Традиционная бумажная информация: книги, журналы, патенты, лицензии, ноу-хау, проектная документация, рецепты. 2. Опытные образцы, имеющие информационное значение и лишь потенциальное экономическое значение: опытные партии товаров, оборудования, препаратов, технологических комплексов. 3. Современная машинная информатика: алгоритмы, модели, программы, видеофильмы, игры и т.п. 4. Техника создания всей «знаковой продукции» и её использования: компьютерная техника, интегральные схемы, средства связи. 5. Основные материалы производства и использования знаковой продукции: бумага, магнитные носители и т. п. 6. Вспомогательные материалы и оборудование, например, мебель для ВЦ, оргтехника. 7. Реклама и рынок зрелищ, оборот которого связан с внутренним и международным туризмом (ведь туризм в основном связан с информационными целями). Но и это далеко не все. Есть еще информационный рынок, относящийся к бытовой сфере. Речь идет о широком классе платной информации, в частности коммерческих услуг: электронная почта, электронные газеты, услуги городских справочных бюро, телефонные справочники, сведения о вакантных рабочих местах, расписание движения транспорта, данные бюро по обмену и продаже квартир, заказы билетов на транспорт, распределение мест в гостиницах, театрах, предоставление учебно-воспитательной информации, дневник новостей, полезные советы (рецепты, мода, реклама, рекомендации врача), прогноз погоды и т. д. и т.п. Мы вступаем в период глобальной информатизации. Известно, что товар как вещь годная для потребления и обмена, явился исходным пунктом возникновения капитала, а рынок выступил основой формирования индустриального общества. Точно так же интеллектуальный (информационный) товар выступает фактором формирования информационного общества с его информационным рынком. Развитие рыночных отношений в информационной деятельности поставило вопрос о защите информации как, объекта интеллектуальной собственности и имущественных прав на нее. В Российской Федерации принят ряд указов, постановлений, законов, таких, как: "Об информации, информатизации и защите информации". "Об авторском праве и смежных правах". 15
"О правовой охране программ для ЭВМ и баз данных". "О правовой охране топологий интегральных схем". Рассмотрим основные положения закона "Об информации, информатизации и защите информации", который является базовым юридическим документом информационного общества. С его помощью удалось частично решить вопросы правового регулирования на информационном рынке ряда проблем: защиты прав и свобод личности, от угроз и ущерба, связанных с искажением, порчей, уничтожением "персональной" информации. Закон состоит из 25 статей, сгруппированных по пяти главам: - Общие положения. - Информационные ресурсы. - Пользование информационными ресурсами. - Информатизация, информационные системы, технологии и средства их обеспечения. - Защита информации и прав субъектов в области информационных процессов и информатизации. В законе определены цели и основные направления государственной политики в сфере информатизации. Информатизация определяется как важное новое стратегическое направление деятельности государства. Указано, что государство должно заниматься формированием и реализацией единой государственной научно-технической и промышленной политики в сфере информатизации. Закон создает условия для включения России в международный информационный обмен, предотвращает бесхозяйственное отношение к информационным ресурсам и информатизации, обеспечивает информационную безопасность и права юридических и физических лиц на информацию. В нем определяются комплексное решение проблемы организации информационных ресурсов, правовые положения по их использованию и предлагается рассматривать информационные ресурсы в двух аспектах: - как материальный продукт, который можно покупать и продавать; - как интеллектуальный продукт, на который распространяется право интеллектуальной собственности, авторское право. Закон закладывает юридические основы гарантий прав граждан на информацию. Он направлен на урегулирование важнейшего вопроса экономической реформы — формы, права и механизма реализации собственности на накопленные информационные ресурсы. 16
2. Количество и качество информации 2.1. Формы адекватности информации При работе с информацией всегда имеется ее источник и потребитель (получатель). Пути и процессы, обеспечивающие передачу сообщений от источника информации к ее потребителю, называются информационными коммуникациями. Для потребителя информации очень важной характеристикой является ее адекватность. Адекватность информация — это уровень соответствия образа, создаваемого с помощью полученной информации, реальному объекту, процессу, явлению и т.п. В реальной жизни вряд ли возможна ситуация, когда вы сможете рассчитывать на полную адекватность информации. Всегда присутствует некоторая степень неопределенности. От степени адекватности информации реальному состоянию объекта или процесса зависит правильность принятия решений человеком. Адекватность информации может выражаться в трех формах: синтаксической, семантической, прагматической. Синтаксическая адекватность. Она отображает формальноструктурные характеристики информации и не затрагивает ее смыслового содержания. На синтаксическом уровне учитываются тип носителя и способ представления информации, скорость передачи и обработки, размеры кодов представления информации, надежность и точность преобразования этих кодов и т.п. Информацию, рассматриваемую только с синтаксических позиций, обычно называют данными, так как при этом не имеет значения смысловая сторона. Эта форма способствует восприятию внешних структурных характеристик, т.е. синтаксической стороны информации. Семантическая (смысловая) адекватность. Эта форма определяет степень соответствия образа объекта и самого объекта. Семантический аспект предполагает учет смыслового содержания информации. На этом уровне анализируются те сведения, которые отражает информация, рассматриваются смысловые связи. В информатике устанавливаются смысловые связи между кодами представления информации. Эта форма служит для формирования понятий и представлений, выявления смысла, содержания информации и ее обобщения. 17
Прагматическая (потребительская) адекватность. Она отражает отношение информации и ее потребителя, соответствие информации цели управления, которая на ее основе реализуется. Проявляются прагматические свойства информации только при наличии единства информации, пользователя и цели управления. Прагматический аспект связан с ценностью, полезностью использования информации при выработке потребителем решения для достижения своей цели. С этой точки зрения анализируются потребительские свойства информации. Эта форма адекватности непосредственно связана с практическим использованием информации. 2.2. Информация и энтропия, измерение информации Для измерения информации вводятся два параметра: количество информации I и объем данных VД. Эти параметры имеют разные выражения и интерпретацию в зависимости от рассматриваемой формы адекватности. Каждой форме адекватности соответствует своя мера количества информации и объема данных. Синтаксическая мера информации. Эта мера количества информации оперирует с обезличенной информацией, не выражающей смыслового отношения к объекту. Объем данных в сообщении измеряется количеством символов (разрядов) в этом сообщении. В различных системах счисления один разряд имеет различный вес и соответственно меняется единица измерения данных: • в двоичной системе счисления единица измерения — бит (bit – binary digit - двоичный разряд); в современных ЭВМ наряду с минимальной единицей измерения данных "бит" широко используется укрупненная единица измерения "байт", равная 8 бит. • в десятичной системе счисления единица измерения — дит (десятичный разряд). Сообщение в двоичной системе в виде восьмиразрядного двоичного кода 10111011 имеет объем данных VД =8 бит. Сообщение в десятичной системе в виде шестиразрядного числа 275903 имеет объем данных VД =6 дит. Количество информации I на синтаксическом уровне определяется с помощью понятия неопределенности состояния системы (энтропии системы). Получение информации о какой-либо системе всегда связано с 18
изменением степени неосведомленности получателя о состоянии этой системы. Пусть до получения информации потребитель имеет некоторые предварительные (априорные) сведения о системе α. Мерой его неосведомленности о системе является функция H(α), которая в то же время служит и мерой неопределенности состояния системы. После получения некоторого сообщения β получатель приобрел некоторую дополнительную информацию Iβ(α), уменьшившую его априорную неосведомленность так, что апостериорная (после получения сообщения β) неопределенность состояния системы стала Hβ(α). Тогда количество информации Iβ(α) о системе, полученной в сообщении β, определится как Iβ(α)= H(α) - Hβ(α), т.е. количество информации равно уменьшению неопределенности состояния системы. Если конечная неопределенность Hβ(α) обратится в нуль, то первоначальное неполное знание заменится полным знанием и количество информации Iβ(α)= H(α). Иными словами, энтропия системы H(α) может рассматриваться как мера недостающей информации. Энтропия системы H(α) имеющая N возможных состояний, согласно формуле Шеннона, равна: N
H ( α ) = −∑ Pi log Pi i =1
где Pi - вероятность того, что система находится в i-м состоянии. Для случая, когда все состояния системы равновероятны, т.е. их вероятности равны Pi =
1 , ее энтропия определяется соотношением N N
H (α ) = −∑ i =1
1 1 log N N
Часто информация кодируется числовыми кодами в той или иной системе счисления, особенно это актуально при представлении информации в компьютере. Естественно, что одно и то же количество разрядов в разных системах счисления может передать разное число состояний отображаемого объекта, что можно представить в виде соотношения N = mn
где
N - число всевозможных отображаемых состояний; 19
m - основание системы счисления (разнообразие символов алфавита); n - число разрядов (символов) в сообщении. Рассмотрим пример. По каналу связи передается n-разрядное сообщение, использующее m различных символов. Так как количество N = mn , то при всевозможных кодовых комбинаций будет равновероятности появления любой из них количество информации, приобретенной абонентом в результате получения сообщения, будет I = log N = n log m . Это формула Хартли. Если в качестве основания логарифма принять m, то I=n. В данном случае количество информации (при условии полного априорного незнания абонентом содержания сообщения) будет равно объему данных I=VД, полученных по каналу связи. Для неравновероятных состояний системы всегда I
I , причем 0 < Y ≤ 1. VД
С увеличением Y уменьшаются объемы работы по преобразованию информации (данных) в системе. Поэтому стремятся к повышению информативности, для чего разрабатываются специальные методы оптимального кодирования информации. Семантическая мера информации. Для измерения смыслового содержания информации, т.е. ее количества на семантическом уровне, наибольшее признание получила тезаурусная мера, которая связывает семантические свойства информации со способностью пользователя принимать поступившее сообщение. Для этого используется понятие тезаурус пользователя. Тезаурус — это совокупность сведений, которыми располагает пользователь или система. В зависимости от соотношений между смысловым содержанием информации S и тезаурусом пользователя Sp изменяется количество семантической информации Iс, воспринимаемой пользователем и включаемой им в дальнейшем в свой тезаурус. Характер такой зависимости показан на рисунке. Рассмотрим два предельных случая, когда количество семантической информации Iс равно 0: 20
при Sp=0 пользователь не воспринимает, не понимает поступающую информацию; при Sp → ∞ пользователь все знает, и поступающая информация ему не нужна. На рис.2 показана зависимость количества семантической информации, воспринимаемой потребителем, от его тезауруса I c = f ( S p )
Рис.2 Максимальное количество семантической информации Ic потребитель приобретает при согласовании ее смыслового содержания S со своим тезаурусом Sp (Sp =Sp opt) когда поступающая информация понятна пользователю и несет ему ранее не известные (отсутствующие в его тезаурусе) сведения. Следовательно, количество семантической информации в сообщении, количество новых знаний, получаемых пользователем, является величиной относительной. Одно и то же сообщение может иметь смысловое содержание для компетентного пользователя и быть бессмысленным (семантический шум) для пользователя некомпетентного. При оценке семантического (содержательного) аспекта информации необходимо стремиться к согласованию величин S и Sp. Относительной мерой количества семантической информации может служить коэффициент содержательности С, который определяется как отношение количества семантической информации к ее объему: C=
Ic VД
21
Прагматическая мера информации. Эта мера определяет полезность информации (ценность) для достижения пользователем поставленной цели. Эта мера также величина относительная, обусловленная особенностями использования этой информации в той или иной системе. Ценность информации целесообразно измерять в тех же самых единицах (или близких к ним), в которых измеряется целевая функция. Например, в экономической системе прагматические свойства (ценность) информации можно определить приростом экономического эффекта функционирования, достигнутым благодаря использованию этой информации для управления системой: I пβ( γ ) = П ( γ / β) − П ( γ ) , где I пβ( γ ) - ценность информационного сообщения β для системы управления γ , П( γ)
априорный ожидаемый экономический функционирования системы управления γ ,
эффект
П ( γ / β) - ожидаемый эффект функционирования системы γ при
условии, что для управления будет использована информация, содержащаяся в сообщении β . 2.3. Качество информации Возможность и эффективность использования информации обусловливаются такими основными ее потребительскими показателями качества, как репрезентативность, содержательность, достаточность, доступность, актуальность, своевременность, точность, достоверность, устойчивость. Репрезентативность информации связана с правильностью ее отбора и формирования в целях адекватного отражения свойств объекта. Важнейшее значение здесь имеют: - правильность концепции, на базе которой сформулировано исходное понятие; - обоснованность отбора существенных признаков и связей отображаемого явления. Нарушение репрезентативности информации приводит нередко к существенным ее погрешностям.
22
Содержательность информации отражает семантическую емкость, равную отношению количества семантической информации в сообщении к объему обрабатываемых данных, т.е. C=
Ic VД
С увеличением содержательности информации растет семантическая пропускная способность информационной системы, так как для получения одних и тех же сведений требуется преобразовать меньший объем данных. Наряду с коэффициентом содержательности С, отражающим семантический аспект, можно использовать и коэффициент информативности, характеризующийся отношением количества синтаксической информации (по Шеннону) к объему данных Y =
I . VД
Достаточность (полнота) информации означает, что она содержит минимальный, но достаточный для принятия правильного решения состав (набор показателей). Понятие полноты информации связано с ее смысловым содержанием (семантикой) и прагматикой. Как неполная, т.е. недостаточная для принятия правильного решения, так и избыточная информация снижает эффективность принимаемых пользователем решений. Доступность информации восприятию пользователя обеспечивается выполнением соответствующих процедур ее получения и преобразования. Например, в информационной системе информация преобразовывается к доступной и удобной для восприятия пользователя форме. Это достигается, в частности, и путем согласования ее семантической формы с тезаурусом пользователя. Актуальность информации определяется степенью сохранения ценности информации для управления в момент ее использования и зависит от динамики изменения ее характеристик и от интервала времени, прошедшего с момента возникновения данной информации. Своевременность информации означает ее поступление не позже заранее назначенного момента времени, согласованного с временем решения поставленной задачи. Точность информации определяется степенью близости получаемой информации к реальному состоянию объекта, процесса, явления и т.п. Для информации, отображаемой цифровым кодом, известны четыре классификационных понятия точности: 23
- формальная точность, измеряемая значением единицы младшего разряда числа; - реальная точность, определяемая значением единицы последнего разряда числа, верность которого гарантируется; - максимальная точность, которую можно получить в конкретных условиях функционирования системы; - необходимая точность, определяемая функциональным назначением показателя. Достоверность информации определяется ее свойством отражать реально существующие объекты с необходимой точностью. Измеряется достоверность информации доверительной вероятностью необходимой точности, т.е. вероятностью того, что отображаемое информацией значение параметра отличается от истинного значения этого параметра в пределах необходимой точности. Устойчивость информации отражает ее способность реагировать на изменения исходных данных без нарушения необходимой точности. Устойчивость информации, как и репрезентативность, обусловлена выбранной методикой ее отбора и формирования.
24
3. Представление информации в ЭВМ 3.1. Позиционные системы счисления В привычной для нас десятичной системе счисления используют 10 цифр: 0,1,2,…,9 и каждое число представлено как : N =
m −1
∑ ai10i
i =− s
где i – номер разряда, a – одна из цифр от 0 до 9, s – количество разрядов в дробной части числа, m - количество разрядов в целой части числа. Например, 405.35=4*102+0*101+5*100+3*10-1+5*10-2 Но десятичная система счисления далеко не единственно возможная. В общем случае число N в некоторой позиционной системе счисления с основанием P записывается как N =
m −1
∑ ai P i ,
i =− s
где a –цифра от 0 до P-1, P – основание системы счисления. Позиционными системами счисление называются такие, у которых вес каждой цифры a зависит от позиции в изображении числа. Так римская система счисления непозиционная. Максимальное целое число, которое может быть представлено в m разрядах: N max = P m − 1.
Минимальное значащее (не равное 0) число, которое можно записать в s разрядах дробной части: N min = P − s .
Для представления информации в ЭВМ используется двоичная или двоично-десятичная система счисления. В двоичной системе только две цифры 0 и 1. Важное достоинство двоичной системы счисления – удобство физического представления цифр. Любой носитель компьютерной 25
информации (триггер, магнитный сердечник, домен) может принимать двоичное значение «есть сигнал / нет сигнала». Любое число в двоичной системе представляет несколькими двоичными разрядами, каждый разряд несет информацию равную 1 биту. Поэтому каждый разряд и называют просто битом. Пример двоичного числа с дробной частью: 1010.0012=1*23+0*22+1*21+0*20+0*2-1+0*2-2+1*2-3=10.12510. Недостаток двоичной системы – слишком громоздкая запись. Например, 17310=10101101. Поэтому она используется «внутри» ЭВМ, а для представления двоичных кодов человеку часто применяют восьмеричную и шестнадцатеричную системы счисления. В восьмеричной используют цифры от 0 до 7. Например, 2578=2*82+5*81+7*80=17510. В шестнадцатеричной используют цифры от 0 до 9 и добавляются новые цифры: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Например, 3E5A116=3*164+E*163+5*162+A*161+1*160=3*164+14*163+5*162+10*161+1* 160 =25539310 Чем больше основание СС, тем компактнее запись чисел. Итак, выше приведены примеры перевода чисел из двоичной, восьмеричной и шестнадцатеричной систем счисления в десятичную. Алгоритм обратного перевода заключается в следующем. Число в десятичной системе счисления последовательно делится на основание системы счисления, в которую надо переводить. В качестве цифр нового представления берутся остатки от деления в обратном порядке, начиная с младшего остатка. На рис.3 приведен пример перевода 1010 в двоичную систему. 10 0
2 5 1
2 2 0
2 1 1
2
Рис.3 26
0
Таким образом 1010=10102 . Для перевода дробных частей десятичных чисел используют следующий алгоритм. Число в десятичной системе счисления необходимо последовательно умножать на основание системы счисления, в которую надо переводить. Причем умножать надо только очередную дробную часть, игнорируя возникающие целые части. В качестве цифр берутся целые части результатов умножения. Так происходит до тех пор, пока дробная часть не станет равной нулю или не достигается заданная точность. На рис.4 приведен пример перевода 0.62510 в двоичную систему счисления. 0.625 * 2 1.250 * 2 0.500 * 2 1.000
Рис.4 Таким образом, 0.62510=0.1012. Для перевода из двоичной в восьмеричную систему счисления число в двоичной системе необходимо разбить по три цифры (на триады) справа налево, и вместо каждой триады записать восьмеричную цифру соответствующую двоичному коду триады. Например, необходимо перевести 11011110112 в восьмеричную систему счисления, тогда 001 101 111 011 1 5 7 3 Таким образом, 11011110112=15738. Аналогично, при переводе в шестнадцатеричную систему счисления двоичное число разбивается по четыре цифры (на тетрады). Например, переведем 11011110112 в шестнадцатеричную систему счисления. 0011 0111 1011 3 7 11 Таким образом, 11011110112=37В16 . Обратный перевод из восьмеричной или шестнадцатеричной системы счисления в двоичную очень прост, каждая цифра записывается в двоичном коде по триадам или тетрадам. 27
1238 = 1 010 0112 А1716 = 1010 0001 01112 . Для изображения двоичных чисел часто используют двоичнодесятичную систему счисления. В этой системе для изображения каждой десятичной цифры отводится тетрада. Например, десятичное число 925 в двоично-десятичной системе запишется в виде 1001 0010 0101. Следует обратить внимание, что эта запись отличается от двоичного изображения данного числа. Например, приведенный выше код в двоичной системе изображает число 234110. 3.2. Форматы представления чисел В вычислительных машинах применяются две формы представления двоичных чисел: • естественная форма или форма с фиксированной запятой (точкой); • нормальная форма или форма с плавающей запятой (точкой). С фиксированной запятой все числа изображаются в виде последовательности цифр с постоянным для всех чисел положением Например, пусть запятой, разделяющей целую часть от дробной. десятичной системе счисления имеются 5 разрядов в целой части числа (до запятой) и 5 разрядов в дробной части числа (после запятой); числа, записанные в такую разрядную сетку, имеют вид: +00721,35500; +00000,00328; -10301,20260. Эта форма наиболее проста, естественна, но имеет небольшой диапазон представления чисел и поэтому не всегда приемлема при вычислениях. Диапазон значащих чисел N в системе счисления с основанием Р при наличии m разрядов в целой части и s разрядов в дробной части числа (без учета знака числа) будет: P-s ≤ N ≤ Pm-1. При P=2, m=10 и s=6: 0,015625 ≤ N ≤ 1023. При P=2, m=16 и s=0: 0 ≤ N ≤ 65535. При P=2, m=0 и s=15: 0,000030517578125 ≤ N ≤ 0. Если в результате операции получится число, выходящее за допустимый диапазон, происходит переполнение разрядной сетки, и дальнейшие вычисления теряют смысл. В современных ЭВМ естественная 28
форма представления используется как вспомогательная и только для целых чисел. С плавающей запятой каждое число изображается в виде двух групп цифр. Первая группа цифр называется мантиссой, вторая – порядком, причем абсолютная величина мантиссы должна быть меньше 1, а порядок — целым числом. В общем виде число в форме с плавающей запятой может быть представлено так: N = ±MP ±
r
где
М — мантисса числа (│М│ < 1); r — порядок числа (r - целое число); Р—основание системы счисления. Приведенные выше числа в нормальной форме запишутся так: +0,721355*103; +0,328•10-2; - 0,103012026*105. Нормальная форма представления имеет огромный диапазон отображения чисел и является основной в современных ЭВМ. Диапазон значащих чисел в системе счисления с основанием Р при наличии m разрядов у мантиссы и s разрядов у порядка (без учета знаковых разрядов порядка и мантиссы) будет: P −m P −( P
s
−1)
≤ N ≤ ( 1 − P −m ) P ( P
s
−1)
При P=2, m=10 и s=6: 10-22
1 мегабайт (Мбайт или Мб или М) = 220 байт = 1024 Кбайт = 1 048 576 байт, 1 гигабайт (Гбайт или Гб или Г) = 230 байт = 1024 Мбайт = 220 Кбайт = 1 073 741 824 байт, 1 терабайт (Тбайт или Тб или Т) = 240байт = 1024 Гбайт = 220 Мбайт = 1 099 511 627 776 байт. Последовательность нескольких битов или байтов часто называют полями данных. Биты в числе (в слове, в поле и т.п.) нумеруются справа налево, начиная с 0-го разряда. В ПК могут обрабатываться поля постоянной и переменной длины. Поля постоянной длины: слово — 2 байта двойное слово — 4 байта расширенное слово—8 байт Числа с фиксированной запятой чаще всего имеют формат слова и байта, числа с плавающей запятой—формат двойного слова (Single), слова из 6 байт (Real), расширенного слова (Double) и слова из 10 байт (Extended). Поля переменной длины могут иметь любой размер от 0 до 256 байт, но обязательно равный целому числу байтов. Запись числа –19310= -110000012 в разрядной сетке ПК в формате с фиксированной запятой приведена на рис.5.
№ разр
Знак числ. 15 14
Чис 1 ло
0
13
12
11
10
Абсолютная величина числа 9 8 7 6 5 4
3
2
1
0
0
0
0
0
0
0
0
0
1
0
Рис.5
30
1
1
0
0
Это же число с плавающей запятой формата двойного слова показано на рис.6. Зн.
Порядок
Мантисса
№ 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 раз.
15
... 1
0
Чис 1 ло
0
... 0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
Рис.6 Двоично-кодированный десятичные числа могут быть представлены в ПК полями переменной длины, в так называемых, упакованном и распакованном форматах. В упакованном формате для каждой десятичной цифры отводится по 4 двоичных разряда (полбайта), при этом знак числа кодируется в крайнем правом полубайте числа (1100 — знак "+" и 1101— знак "-"). Структура поля упакованного формата показана на рис.7. ЦФ
ЦФ
ЦФ
ЦФ Рис.7
...
ЦФ
Знак Байт
Здесь и далее: «ЦФ»—цифра, «Знак»—знак числа. Упакованный формат используется обычно в ПК при выполнении операций сложения и вычитания двоично-десятичных чисел. В распакованном формате для каждой десятичной цифры отводится по целому байту, при этом старшие полубайты (зона) каждого байта (кроме самого младшего) в ПК заполняются кодом 0011, а в младших (правых) полубайтах обычным образом кодируются десятичные цифры. Старший полубайт (зона) самого младшего (правого) байта используется для кодирования знака числа. Структура поля распакованного формата показана на рис.8. Зона ЦФ Зона ЦФ ... Знак ЦФ
Рис.8 31
Байт
Распакованный формат используется в ПК при вводе-выводе информации в ПК, а также при выполнении операций умножения и деления двоично-десятичных чисел. Пример. Число –19310 = –000110010011(2-10) в ПК будет представлено: в упакованном формате : 0001 1001 0011 1101 в распакованном формате: 0011 0001 0011 1001 1101 0011 3.3. Представление текстовой информации Распакованный формат представления двоично-десятичных чисел (иногда его называют "зонный") является следствием использования в ПК ASCII-кода для представления символьной информации. Код ASCII (American Standard Coding for Information Interchange) — американский стандартный код для обмена информацией имеет основной стандарт и его расширение. Основной стандарт для кодирования символов использует шестнадцатеричные коды 00 – 7F (десятичные 0 – 127), расширение стандарта — 80 – FF (десятичные коды 128 – 255). Основной стандарт является международным и используется для кодирования управляющих символов, цифр и букв латинского алфавита; в расширении стандарта кодируются символы псевдографики и буквы национального алфавита (естественно, в разных странах разные). В России в качестве стандарта принята кодовая страница 866. Чтобы получить код какого-либо символа с помощью Паскаля необходимо использовать оператор writeln(ord(readkey)), программа остановится на этом операторе, и будет ожидать нажатие клавиши. Коды символов можно узнать и из литературы. Коды можно использовать, например, для красивого вывода таблиц путем использования символов псевдографики в операторах вывода writeln. Это делается следующим образом. Нажимается и удерживается клавиша Alt и при этом на правой цифровой клавиатуре набирается трехзначный код необходимого символа, при отпускании клавиши Alt на экране появляется желаемый символ.
32
4. Функциональная и структурная организация компьютера 4.1. Принцип программного управления Большинство современных ЭВМ строится на базе принципов, сформулированных американским ученым Дж. фон Нейманом в 1945 году. Эти принципы сводятся к следующему: 1) Основными блоками фон-неймановской машины являются блок управления, арифметико-логическое устройство, память и устройство ввода-вывода. 2) Информация кодируется в двоичной форме и разделяется на единицы, называемые словами. 3) Алгоритм представляется в форме последовательности управляющих слов, которые определяют смысл операции. Эти управляющие слова называются командами. Совокупность команд называется программой. Команда состоит из кода операции, определяющего выполняемые действия, и нескольких адресных полей, содержащих указания на места расположения операндов команды. Способ вычисления адреса называется режимом адресации. Множество команд, выполняемых в конкретном типе ЭВМ, образуют её систему команд. 4) Программы и данные хранятся в одной и той же памяти. Слова программы и данных различаются только по способу использования, но не по способу кодирования. 5) Устройство управления и арифметическое устройство обычно объединяются в одно, называемое центральным процессором. Они определяют действия, подлежащие выполнению, путем считывания команд из оперативной памяти. Обработка информации, предписанная алгоритмом, сводится к последовательному выполнению команд в порядке, однозначно определяемом программой. Функционирование ЭВМ можно описать следующим обобщенным алгоритмом. 1) Инициализация. После включения ЭВМ в регистры ЦП заносятся некоторые начальные значения. В память ЭВМ помещается программа – первичный загрузчик (в ПК это BIOS). Его основное 33
2)
3)
4)
5)
6)
назначение – загрузить в память операционную систему с устройства внешней памяти (в ПК с НЖМД). Первичный загрузчик обычно размещается в ПЗУ (постоянном запоминающем устройстве). После запуска программы пользователя на выполнение операционная система обеспечивает перезапись программы из внешней памяти (НЖМД) в ОЗУ (оперативное запоминающее устройство) и в программном счетчике устройства управления ЦП устанавливает адрес первой команды программы пользователя. После этого автоматически начинается выполнение команд программы. Каждая команда требует обычно несколько тактов работы ЭВМ. В первом такте ЦП производит считывание команды из памяти по указанному в программном счетчике адресу. Содержимое считанной ячейки помещается в регистр команд УУ ЦП. По коду операции из первого слова команды УУ определяет её длину и, если это необходимо, организует дополнительные операции считывания операндов на втором и последующих тактах пока вся команда полностью не будет прочитана процессором. Вычисленная длина команды прибавляется к программному счетчику и таким образом он содержать адрес следующей команды. УУ и АЛУ выполняют операцию, указанную в поле кода операции. Во флаговом регистре ЦП запоминаются признаки результата операции (равенство нулю, знак, наличие переполнения и т.д.) Если это необходимо, УУ выполняет запись в память результата выполнения команды. Кроме того, УУ анализирует код операции и флаговый регистр и в зависимости от установленных признаков может заменить в программном счетчике адрес следующей выполняемой команды. Таким образом, происходит безусловный (go to) или условный переход (if) на команду отличную от следующей команды. Если последняя команда не была командой остановки процессора, то последовательность шагов со 2 по 5 повторяется. Эта последовательность называется циклом процессора.
34
4.2. Основные блоки ПК и их назначение Рассмотрим состав и назначение основных блоков ПК (рис.9). ОП
Д
НЖМД
НГМД
А
А
А СШ МП УУ
А РГ
Т
ПР
АЛУ
А
СА
Г
КС
КЛ
Рис.9. На рис.9 приняты следующие обозначения: ОП – основная память, Д – дисплей (монитор), НЖМД – накопитель на жестких магнитных дисках, НГМД – накопитель на гибких магнитных дисках, А – адаптеры дисплея, накопителей, принтера, клавиатуры, МП – микропроцессор, УУ – устройство управления МП, РГ – регистровая память МП, АЛУ – арифметико-логическое устройство МП, КЛ – клавиатура, Г – генератор тактовых импульсов, ПР – принтер, СА – сетевой адаптер, Т – таймер, КС – канал связи. 35
Микропроцессор (МП). Это центральный блок ПК, предназначенный для управления работой всех блоков машины и для выполнения арифметических и логических операций над информацией. В состав микропроцессора входят: • устройство управления (УУ) получает опорную последовательность импульсов от генератора тактовых импульсов и подает во все блоки машины в нужные моменты времени определенные сигналы управления (управляющие импульсы), а также формирует адреса ячеек памяти, используемых выполняемой операцией и передает эти адреса в соответствующие блоки ЭВМ; • арифметико-логическое устройство (АЛУ) предназначено для выполнения всех арифметических и логических операций над числовой и символьной информацией • регистровая память (микропроцессорная, Кэш-память) служит для информации, кратковременного хранения, записи и выдачи непосредственно используемой в вычислениях в ближайшие такты работы машины. Эта память строится на регистрах и используется для обеспечения высокого быстродействия машины, ибо основная память (ОП) не всегда обеспечивает скорость, необходимую для эффективной работы быстродействующего микропроцессора. Регистры — быстродействующие ячейки памяти различной длины (в отличие от ячеек ОП, имеющих стандартную длину 1 байт и более низкое быстродействие); • интерфейсная система микропроцессора реализует сопряжение и связь с другими устройствами ПК; включает в себя внутренний интерфейс МП, буферные запоминающие регистры и схемы управления портами вводавывода (ПВВ) и системной шиной. Интерфейс — совокупность средств сопряжения и связи устройств компьютера, обеспечивающая их эффективное взаимодействие. Порт ввода-вывода — аппаратура сопряжения, позволяющая подключить к микропроцессору другое устройство ПК. Генератор тактовых импульсов генерирует последовательность электрических импульсов; частота генерируемых импульсов определяет тактовую частоту машины. Промежуток времени между соседними импульсами определяет время одного такта работы машины или просто такт работы машины. Частота генератора тактовых импульсов является одной из основных характеристик персонального компьютера и во многом определяет скорость его работы, ибо каждая операция выполняется за определенное количество тактов. Системная шина. Это основная интерфейсная система компьютера, обеспечивающая сопряжение и связь всех его устройств между собой. 36
Системная шина включает в себя: • шину данных (ШД), содержащую провода и схемы сопряжения для параллельной передачи всех разрядов числового кода (машинного слова) операнда; • шину адреса (ША), включающую провода и схемы сопряжения для параллельной передачи всех разрядов кода адреса ячейки основной памяти или порта ввода-вывода внешнего устройства; • шину управления (ШУ), содержащую провода и схемы сопряжения для передачи инструкций (управляющих сигналов, импульсов) во все блоки машины; • шину питания, имеющую провода и схемы сопряжения для подключения блоков ПК к системе энергопитания. Системная шина обеспечивает три направления передачи информации: 1) между микропроцессором и основной памятью; 2) между микропроцессором и портами ввода-вывода внешних устройств; 3) между основной памятью и портами ввода-вывода внешних устройств (в режиме прямого доступа к памяти). Все блоки, а точнее их порты ввода-вывода, через соответствующие унифицированные разъемы (стыки) подключаются к шине единообразно: непосредственно или через контроллеры (адаптеры). Управление системной шиной осуществляется микропроцессором либо непосредственно, либо, что чаще, через дополнительную микросхему — контроллер шины, формирующий основные сигналы управления. Обмен информацией между внешними устройствами и системной шиной выполняется с использованием ASCII-кодов. Основная память (ОП). Она предназначена для хранения и оперативного обмена информацией с прочими блоками машины. ОП содержит два вида запоминающих устройств: постоянное запоминающее устройство (ПЗУ) и оперативное запоминающее устройство (ОЗУ). ПЗУ служит для хранения неизменяемой (постоянной) программной и справочной информации, позволяет оперативно только считывать хранящуюся в нем информацию (изменить информацию в ПЗУ нельзя). ОЗУ предназначено для оперативной записи, хранения и считывания информации (программ и данных), непосредственно участвующей в информационно-вычислительном процессе, выполняемом ПК в текущий период времени. Главными достоинствами оперативной памяти являются ее высокое быстродействие и возможность обращения к каждой ячейке памяти отдельно (прямой адресный доступ к ячейке). В качестве
37
недостатка ОЗУ следует отметить невозможность сохранения информации в ней после выключения питания машины (энергозависимость). Внешняя память. Она относится к внешним устройствам ПК и используется для долговременного хранения любой информации, которая может когда-либо потребоваться для решения задач. В частности, во внешней памяти хранится все программное обеспечение компьютера. Внешняя память содержит разнообразные виды запоминающих устройств, но наиболее распространенными, имеющимися практически на любом компьютере, являются накопители на жестких (НЖМД) и гибких (НГМД) магнитных дисках. Назначение этих накопителей — хранение больших объемов информации, запись и выдача хранимой информации по запросу в оперативное запоминающее устройство. Различаются НЖМД и НГМД лишь конструктивно, объемами хранимой информации и временем поиска, записи и считывания информации. В качестве устройств внешней памяти используются также запоминающие устройства на кассетной магнитной ленте (стримеры), накопители на оптических дисках (CD-ROM — компакт-диск с памятью, только читаемой) и др. Источник питания. Это блок, содержащий системы автономного и сетевого энергопитания ПК. Таймер. Это внутримашинные электронные часы, обеспечивающие при необходимости автоматический съем текущего момента времени (год, месяц, часы, минуты, секунды и доли секунд). Таймер подключается к автономному источнику питания — аккумулятору и при отключении машины от сети продолжает работать. Внешние устройстве (ВУ). Это важнейшая составная часть любого вычислительного комплекса. Достаточно сказать, что по стоимости ВУ иногда составляют 50 - 80% всего ПК. ВУ ПК обеспечивают взаимодействие машины с окружающей средой: пользователями, объектами управления и другими ЭВМ. ВУ весьма разнообразны и могут быть классифицированы по ряду признаков. Так, по назначению можно выделить следующие виды ВУ: • внешние запоминающие устройства (ВЗУ) или внешняя память ПК; • диалоговые средства пользователя; • устройства ввода информации; • устройства вывода информации; • средства связи и телекоммуникации.
38
Диалоговые средства пользователя включают в свой состав видеомониторы (дисплеи) и устройства речевого ввода-вывода информации. Видеомонитор (дисплей) —устройство для отображения вводимой и выводимой из ПК информации. Устройства речевого ввода — это различные микрофонные акустические системы со сложным программным обеспечением. Это ПО позволяет распознавать произносимые человеком буквы и слова, идентифицировать их и кодировать. Устройства речевого вывода — это различные синтезаторы звука, выполняющие преобразование цифровых кодов в буквы и слова, воспроизводимые через звуковые колонки. К устройствам ввода информации относятся: • клавиатура — устройство для ручного ввода числовой, текстовой и управляющей информации в ПК; • графические планшеты (диджитайзеры)—для ручного ввода графической информации путем перемещения по планшету специального указателя (пера), при перемещении пера автоматически выполняются считывание координат его местоположения и ввод этих координат в ПК; • сканеры (читающие автоматы) — для автоматического считывания с бумажных носителей и ввода в ПК машинописных текстов, графиков, рисунков, чертежей, в сканере в текстовом режиме считанные символы после сравнения с эталонными контурами преобразуются в коды ASCII, а в графическом режиме считанные графики и чертежи преобразуются в последовательности двухмерных координат; • манипуляторы (устройства указания): джойстик — рычаг, мышь, трекбол—шар в оправе, световое перо и др. — для ввода графической информации на экран дисплея путем управления движением курсора по экрану с последующим кодированием координат курсора и вводом их в ПК; • сенсорные экраны —для ввода отдельных элементов изображения, программ или команд с полиэкрана дисплея в ПК. К устройствам вывода информации относятся: • принтеры — печатающие устройства для регистрации информации на бумажный носитель; • графопостроители (плоттеры) — для вывода графической информации (графиков, чертежей, рисунков) из ПК на бумажный носитель; плоттеры бывают векторные с вычерчиванием изображения с помощью пера и растровые: термографические, электростатические, струйные и лазерные. 39
Средства связи и телекоммуникации используются для связи с приборами и другими средствами автоматизации (согласователи интерфейсов, адаптеры, цифро-аналоговые и аналого-цифровые преобразователи и т.п.) и для подключения ПК к каналам связи, к другим ЭВМ и вычислительным сетям (сетевые интерфейсные платы, "стыки", мультиплексоры передачи данных, модемы). В частности, сетевой адаптер является внешним интерфейсом ПК и служит для обмена информацией с другими ЭВМ в составе вычислительной сети. В глобальных сетах функции сетевого адаптера выполняет модулятор-демодулятор (модем). Конструктивно ПК выполнен в виде системного блока, к которому через разъемы подключаются внешние устройства: клавиатура, дисплей, принтер и др. Системный блок обычно включает в себя системную плату, блок питания, накопители на дисках, разъемы для дополнительных устройств и платы расширения с контроллерами — адаптерами внешних устройств. На системной плате (часто ее называют материнской платой — Mother Board, “мамка”), как правило, размещаются: микропроцессор; генератор тактовых импульсов; блоки (микросхемы) ОЗУ и ПЗУ; адаптеры клавиатуры, НЖМД и НГМД контроллер прерываний и др. 4.3. Характеристики основных устройств ПК Системная шины (bus). В основном сейчас используются системные шины PCI и AGP с 32-разрядными шинами адреса и данных и тактовой частотой обмена от 133 МГц до 533 МГц. (Все количественные характеристики приводятся на конец 2002 года – начало 2003 года). Регистровая Кэш-память (cache – «тайник») бывает двух видов: встроенная в процессор Кэш-память и дополнительная, размещаемая на материнской плате. Основная характеристика – объем, сейчас от 128 до 512 Кб. Микропроцессоры (CPU, «камень»). Основной производитель фирма Intel (торговая марка P-4). Более дешевыми процессорами являются процессоры марок AMD, Celeron. Основные характеристики: тактовая частота от 1000 до 2000 МГц, внутренняя разрядность - 64, 40
стоимость 30$ - 200$. Основная память. Распространены модули памяти типа DIMMSDRAM торговых марок NCP, Spec Tec, Samsung. Характеристиками ОП являются время выборки и объём. Время выборки – это минимальный промежуток, через который ЦП может обращаться к ОП, сейчас эта величина составляет менее 10 нс. Объем основной памяти конкретного ПК является наращиваемой характеристикой. Предельный объем определяется разрядностью адресной шины и составляет 4Гб=232. Для работы с современными приложениями необходим минимальный объем в 128 Мб. Цена ОП зависит от объёма и технологии изготовления и составляет от 15 до 20$ за каждые 64 Мб. Магнитные носители и накопители. (FDD и НDD) Сейчас выпускаются дискеты (флоппи-диски) размером 3.5” объёмом 1.44 Мб и 2.88 Мб торговых марок Sony, NEC, Samsung и т.д. Время доступа НГМД – около 65 мс, скорость вращения от 7200 об/мин, скорость считывания 150 Кб/сек. Цена дискет около 0.5$, НГМД около 10$. Накопители на жестких магнитных дисках производятся фирмами IBM, Maxtor, Seagate и др. Объём НЖМД от 20 до 80 Гб. Время доступа менее 6 мс, скорость вращения от 7200 об/мин, скорость считывания от 15 Мб/сек. Цена винчестеров от 80 до 140$. Оптические диски и дисководы. Наибольшее распространение получили диски только для чтения CD-ROM и дисководы для них торговых марок NEC, Panasonic, LG, Acer, TEAC. Оптические диски переносимы так же, как и дискеты, в то же время обладают большей скоростью чтения (время доступа 30 – 300 мс) и большим объёмом (до 1,5 Гб). CD-ROM характеризует его скорость, то есть во сколько раз быстрее он вращает диск, чем стандартный проигрыватель аудиодисков (от 9600 об/мин до 26000 об/мин). Одинарная скорость считывания информации равна 150 Кбайт/с. Соответственно двухскоростной CD-ROM считывает информацию со скоростью 300 Кбайт/с, четырехскоростной — 600 Кбайт/с. Сейчас в основном выпускаются 48 и 52 скоростные дисководы компакт-дисков. Цена лазерного диска около 1$. Дисковода CD ROM от 20 до 30$. Дисководы CD-RW позволяют не только читать компакт диски, но записывать на них информацию. Они бывают 10, 12, 40, 32 и 48 скоростные, по цене от 60 до 80$. В конце 1990-х годов появились компакт-диски нового поколения — DVD (Digital Versatile Disc — цифровой многоцелевой диск) с большой емкостью, которые применяются для записи полнометражных фильмов,
41
звука сверхвысокого качества и компьютерных программ. Существует несколько вариантов DVD, отличающихся по емкости от 4,7 Гб до 17 Гб. Видеосистема состоит из монитора (торговые марки Hyundai, Samsung, LG) и видеоадаптера (видеокарты) (GeForce, RIVA и др.). Принцип работы монитора настольного ПК такой же, как в ЭЛТ телевизоров. Характеристики видеосистемы следующие: - разрешающая способность – количество элементов по горизонтали и вертикали в пикселях (от 640х480 до 1600х1200); - частота кадровой развертки (50 – 120 Гц); - палитра – количество одновременно отображаемых цветов (16 – 65000); - размер монитора по диагонали (15 – 21 дюйм); - объем видеопамяти (16 – 128 Мб). Цена видеоадаптеров колеблется от 30$ до 100$. Цена мониторов от 140$ до 500$. Переносные ПК оборудуются плоскими мониторами на жидких кристаллах (LCD). Клавиатура. (Марки Chicony, Genius и пр.) предназначена для ввода алфавитно-цифровой информации. Цена её колеблется от 7$ до 17$. Манипулятор мышь. Наиболее популярны механические мыши торговых марок Genius, A4Tech по цене от 2$ до 11$. Выпускаются также оптические мыши ценой 15$ - 25$. Принтеры отличаются способами нанесения красителя (тонера) на бумагу. Матричные принтеры - ударного типа с красящей лентой. Печатающая головка состоит из вертикального ряда игл – pin (обычно 24) и за несколько проходов поперек листа создаёт изображение. Качество изображения измеряется в dpi – количество точек на дюйм. Эта характеристика называется разрешающей способностью принтеров. Основной производитель фирма Epson. Для матричных принтеров разрешающая способность составляет около 400 dpi. Скорость печати в графическом режиме – от 2 до 15 страниц в минуту. Цена от 150 до 300$. Более дорогой и качественный вид принтеров – лазерные принтеры. Принцип действия – электризация печатающего барабана лазерным лучом, управляемым командами программы. Участки барабана с измененной полярностью притягивают порошок (тонер) и затем наносят его на бумагу. Наиболее популярная марка HP Laser-Jet. Разрешающая способность лазерных принтеров от 1200 dpi. Скорость от 10 до 20 страниц в минуту. Цена от 200$ (черно-белые) до 1000$ (цветные). Струйные принтеры по качеству занимают промежуточное положение между матричными и лазерными. Изображение в них получается путем нанесения на бумагу жидкого тонера. Основная марка – Epson Stylus Color. Разрешающая 42
способность 500 – 2880 dpi, скорость работы относительно низкая - около 3 страниц в минуту, цена 60 – 140 $. Сканер. Это устройство для создания электронной копии изображения с бумаги. Торговые марки Mustek, HP, Canon и др. Цена сканеров колеблется от 50$ до 100$. Коммуникационное оборудование. Для эффективного использования общего периферийного оборудования и для хранения общих данных производят соединение нескольких ПК в локальную вычислительную сеть (LAN) в пределах одной организации. Для этого каждый ПК оборудуется сетевым адаптером (торговые марки 3COM, COMPEX и др.) Цены на адаптеры зависят от типа сети, пропускной способности, количества ПК и колеблются в широких приделах от 6$ до 40$. Локальные сети могут быть подключены к глобальным сетям, например к всемирной сети Internet. Такое подключение производится по телефонной сети или по выделенным линиям с помощью модемов. Они преобразуют цифровой двоичный код в посылки синусоидальных колебаний разной частоты и выполняют обратное преобразование (частотная модуляция). Разновидность модемов – факс-модемы служат для передачи и приема изображений. Торговые марки Acorp, Zyxel, USR, DLink и др. Цена от 30 до 100$. Интересно отметить особенность ценообразования на персональные компьютеры. С начала широкого распространения ПК (с середины 80 годов), цена на ПК стандартной комплектации с наилучшими характеристиками (без принтера) практически не меняется, и составляет около 1000$, при стремительном улучшении характеристик новых моделей и падении цен на старые модели.
43
5. Основные этапы компьютерного решения задач 5.1. Жизненный цикл программного обеспечения Жизненный цикл программного обеспечения включает в себя шесть этапов: 1) Анализ требований, 2) Определение спецификаций, 3) Проектирование, 4) Кодирование, 5) Тестирование, 6) Сопровождение. Анализ требований. На этом этапе должны быть получены четкие ответы на следующие вопросы: Что представляют собой входные данные ? Что должна делать программа ? Какими должны быть выходные данные ? Часто при этом строится математическая модель объекта или явления. Модель отражает лишь существенные стороны объекта, но не тождественна ему. Степень соответствия модели объекту проверяется практикой, экспериментом. В случае необходимости модель уточняется. Примером простейшей модели является модель равноускоренного движения S=vt. Определение спецификаций. В определенной степени этот этап можно рассматривать как формулировку выводов, следующих из результатов предыдущего этапа. Спецификации отражают требования к программе и оформляются в виде технического задания. Техническое задание согласовывается и утверждается исполнителем и заказчиком программного продукта, в нем, в частности, оговариваются требования к функциональным характеристикам, составу и параметрам технических средств, информационной и программной совместимости, программной документации, порядку контроля и приемки. Проектирование. На этом этапе выбирается метод решения, составляется общий проект программы, выделяются основные части, их взаимодействие (интерфейс), уточняются входные и выходные данные. 44
Затем разрабатывается общий алгоритм решения, который постепенно детализируется. Кодирование. Детализация алгоритма должна быть закончена тогда, когда есть возможность реализовать его блоки средствами языка программирования. Кодирование заключается в переводе на язык программирования конструкций алгоритма. Во время кодирования могут быть, чисто визуально, обнаружены ошибки, неточности в алгоритме, что может потребовать уточнения алгоритма. Тестирование (отладка). Для перевода текста программы с языка высокого уровня на машинный язык служат специальные программы трансляторы. Помимо трансляторов разработаны и другие программы, облегчающие работу человека на ЭВМ (загрузчики, отладчики и т.п.). Эти программы объединяются в системы программирования, их ещё называют средами программирования (например, среда Турбо-Паскаля, среда Делфи). Во время трансляции происходит синтаксический анализ исходного текста, и выявляются синтаксические ошибки. Поэтому, в принципе, этап трансляции можно считать частью процесса отладки. Процесс отладки имеет 3 основные цели: 1) обнаружение ошибок, 2) локализация ошибок, 3) исправление ошибок. Всегда надо помнить золотое правило программистов: «Каждая программа содержит как минимум одну ошибку». Ошибки весьма условно можно разделить на три группы. 1) алгоритмические, 2) ошибки программирования, 3) синтаксические ошибки кодирования. Синтаксические ошибки исправляются и программа перетранслируется. Содержательные ошибки (алгоритма и программы) выявить труднее. Для этого готовят систему тестов. Каждый тест – набор исходных данных, для которых известен результат. Если результат прогона теста не совпадает с ожидаемым, то это означает, что в программе есть ошибка. Тесты необходимо готовить так, чтобы они не только устанавливали факт ошибки, но локализовали бы эту ошибку, т.е. суживали бы подозреваемую часть программы. Сопровождение. Программные продукты разрабатываются с учетом их длительного использования, превращаются в интеллектуальный 45
ресурс общества. Большое значение, в связи с этим, имеет сопровождение программ. Во время сопровождения происходит настройка программы на конкретные цели, обучение пользователей, устранение мелких неточностей и анализ результатов эксплуатации программы. Если программа перестает удовлетворять растущим требованиям пользователя, то тогда опять повторяется цикл проектирования и разработки новой версии программы. Качественное проведение этапа сопровождения в большой степени определяет коммерческий успех программного продукта. 5.2. Понятие и свойства алгоритма Алгоритмизация - важнейший этап в процессе решения задач на ЭВМ. Но понятие алгоритма возникло задолго до появления ЭВМ. Слово «алгоритм» произошло от имени среднеазиатского математика альХорезми (IX в) и использовалось вначале только в математике. Алгоритм – это понятное и точное предписание (указание) исполнителю совершить определенную последовательность действий над исходной информацией для решения поставленной задачи. Сейчас понятие алгоритма используется на только в математике и программировании, но и в других областях. Алгоритм обладает пятью важнейшими свойствами. 1) Дискретность. Это свойство означает, то что алгоритм должен быть разбит на отдельные достаточно простые действия, причем выполнение каждого шага начинается после завершения предыдущего. 2) Определенность. Однозначность выполнения каждого шага. Алгоритм не должен допускать произвольной трактовки исполнителем. 3) Результативность (выполнимость). Алгоритм должен предоставлять возможность получения решения за конечное число шагов. 4) Массовость. Это пригодность для решения многих или даже всех задач данного типа при различных исходных данных. 5) Инвариантность. Алгоритм должен быть составлен таким образом, чтобы он, в идеальном случае, мог быть выполнен разными исполнителями: разными ЭВМ, в разных средах, разными людьми.
46
5.3. Способы записи алгоритмов Словесная запись ориентирована на исполнителя-человека. При таком способе команды записываются на естественном языке и нумеруются. Например, рассмотрим алгоритм Евклида для поиска наибольшего общего делителя. 1) Задать два числа. 2) Если числа равны, то ответ равен одному из чисел, иначе перейти к п. 3. 3) Определить большее из двух чисел. 4) Заменить большее число на разность большего и меньшего чисел. 5) Перейти к п. 2. Основное достоинство такого способа представления – понятность. Недостатки: неоднозначность, избыточность, отсутствие наглядности связей. Схемы программ. Это графическое отображение алгоритма согласно утвержденным стандартам. При таком способе каждое действие записывается внутри блоков. Блоки соединяются линиями, которые указывают последовательность действий. Линии могут оканчиваться стрелками, но обычно стрелки не ставят, если линии отражают естественную последовательность действий. Естественная последовательность: сверху вниз и слева направо. В противном случае стрелки обязательны. Рассмотрим наиболее употребительные блоки (рис.10).
47
Начало или конец алгоритма Процесс Решение (проверка условия)
Ввод-вывод
Начало и конец цикла с заданным числом повторений
А
Разрыв линии
А
Предопределенный процесс (вызов модуля неописанного в данном документе) Вызов модуля описанного на указанной странице
Рис. 10 Каждый блок должен иметь размеры, позволяющие вписать его в, так называемое, основное поле размером a на b, кроме блоков начала/конца и разрыва линий, которые имеют меньший размер. Высота основного поля a выбирается как любое значение кратное 5 мм, а длина b=2а или b=1.5а (рис.11). 0,5a
0,5a
a b 45o
0,25a
30o
<ИМЯ>
Рис. 11
48
Достоинство представления алгоритмов в виде схем программ наглядность. Недостаток - большая трудоемкость выполнения. Псевдокоды. Они занимают промежуточное место между естественным и формальным языком. Единого стандарта на псевдокод не существует. Псевдокод использует некоторые служебные слова (они подчеркиваются), но в то же время допускает утверждения и на естественном языке. Приведем примеры служебных слов псевдокода. алг – название алгоритма, нач ... кон – начало и конец алгоритма для i от 1 до 10 вып - указание на серию действий если а>0 то с:=0 иначе с:=1 конесли пока i <10 нц i:=i+1 вывод i кц
- проверка условия
- команда повторения
Языки программирования. Во всех перечисленных способах представления алгоритмов допускается определенная свобода, они ориентированы на человека. На практике же основной исполнитель алгоритмов – ЭВМ. Для ЭВМ запись алгоритма должна быть абсолютно точна, т.е. язык для записи алгоритмов должен быть формализован. Такой язык называется языком программирования, а запись на таком языке называется программой. Языки программирования по синтаксису можно разделить на классы: - машинные языки (computer language) — языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды), именно в машинных кодах в конечном итоге представляется программа в оперативной памяти, написанная на любом другом языке, запись на машинном языке чрезвычайно затруднена, поскольку каждая команда этого языка представляется несколькими двоичными кодами, поэтому пользуются языками более высокого уровня; 49
- машинно-ориентированные языки (computer-oriented language) — языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры); - алгоритмические языки (algorithmic language) — не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.); программа на таких языках транслируется с языка высокого уровня на машинный язык, а затем уже исполняется; - процедурно-ориентированные языки (procedure-oriented language) языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм); - проблемно-ориентированные языки (universal programming language) – языки программирования, предназначенные для решения определенного класса задач (Пролог и др.). 5.4. Классификация алгоритмов Линейные алгоритмы. Команды в таких алгоритмах выполняются в естественном порядке, так как они записаны сверху вниз. На рис. 12 представлен линейный алгоритм решения задачи обмена значениями двух переменных. Начало
Ввод XиY
Z:=X X:=Y Y:=Z
Вывод XиY
Конец
Рис. 12
50
Разветвленные алгоритмы. В этих алгоритмах в зависимости от некоторых условия выполняются те или иные действия. Ниже приведен пример ветвления алгоритма на псевдокоде. алг решение квадратного уравнения вещ a, b, c, x1, x2, D стр y нач D:=b*b – 4*a*c если D<0 y:=’нет решения’ то x1:=(-b+√D)/(2a) иначе x2:=(-b - √D)/(2a) y:=’корни уравнения’ вывод x1,x2 конесли вывод y кон Команда ветвления иногда записывается в сокращенной форме, не с двумя, а с одной альтернативой. Например, суммирование только положительных чисел (рис.13). Нет X >0 Да S:=S + X
Рис. 13
Циклические алгоритмы. Для многократно повторяемых действий используют специальную конструкцию – цикл. Команды цикла содержат условие для определения количества повторений. Существуют три типа
51
циклов. Рассмотрим их на примере суммирования и подсчета количества положительных чисел из 10 введенных чисел. В цикле с предусловием сначала проверяется условие, и если оно выполняется, то затем выполняются действия в теле цикла. Если условие не выполняется, то цикл завершается, и будет выполняться оператор следующий за циклом. При невыполнении условия цикл может вообще не выполниться ни разу. В словесной форме это выглядит следующим образом 1) Обнулить значения суммы s, счетчика всех чисел i и счетчика положительных чисел k. 2) Пока i меньше 10 выполнять действия 3 – 5. 3) Ввести очередное число x. 4) Увеличить счетчик i на единицу. 5) Если x положительное, то к значению суммы s прибавить x и увеличить счетчик k на единицу. 6) Вывести сумму положительных чисел s и их количество k. В цикле с постусловием условие проверяется после действий в теле цикла. И если это условие выполняется, то происходит выход из цикла. Такой цикл выполнится хотя бы один раз (рис.14). i:=0, k:=0 s:=0 Ввод x i:=i + 1 Нет x>0 Да k:=k+1 s:=s+x Нет i=10 Да
Рис.14 52
В цикле с заданным числом повторений в заголовке цикла явным образом задается количество повторений тела цикла, а параметр цикла (в примере i) изменяется автоматически внутри тела цикла. алг суммирование и подсчет положительных чисел вещ s, x цел i,k нач s:=0 i:=0 k:=0 для i от 1 до 10 вып нц ввод x если x>0 s:=s+x то k:=k+1 конесли кц вывод s,k кон
53
6. Программные средства информационных технологий 6.1. Структура программного обеспечения с точки зрения пользователя Нижний уровень. У каждого устройства системного блока есть свои логические адреса – порты ввода-вывода. На нижнем уровне происходит чтение/запись информации из ячеек памяти в порты или наоборот. Для этого программист должен включить в программу на языке ассемблера команды типа MOV A, B , что означает переслать содержимое из А в В. Программирование на ассемблере достаточно трудоемкое и требует высокой квалификации программиста. Уровень BIOS. В языках программирования высокого уровня (Бейсик, Паскаль, Си) есть средства вызова подпрограмм операционной системы (ОС) и базовой системы ввода-вывода (BIOS), обслуживающих частые ситуации, такие как, например, ввод символа с клавиатуры, вывод его на экран. Происходит это через механизм прерываний. BIOS хранится в ПЗУ. Уровень ОС. Этот уровень предоставляет больший сервис. Здесь подпрограммы обработки прерываний загружаются с диска. На этом уровне пользователь уже может взаимодействовать с ЭВМ непосредственно в диалоговом режиме, без написания программ (например, копировать файлы). Операционные системы играют важнейшую роль во всей иерархии взаимодействия человека и ЭВМ. ОС – часть общего программного обеспечения для планирования и организации процесса обработки, ввода-вывода и управления данными, распределения ресурсов, подготовки и отладки программ. По сути, это главная часть интерфейса между программами пользователя и самим пользователем, с одной стороны и аппаратной частью с другой стороны. Многие годы доминирующее положение среди ОС занимали различные версии MS DOS фирмы Microsoft. Сейчас наступила эпоха графических оболочек Windows, которые выполняют все функции ОС. Не теряет своих позиций и мобильная ОС UNIX, ориентированная на суперкомпьютеры и на мощные рабочие станции для научных исследований. Уровень инструментальных систем. Сюда относятся системы программирования типа Турбо-Паскаль, С++ и т. д. Т.е., это средства создания прикладных программ и систем.
54
Уровень прикладных систем. Прикладные системы создаются для конкретной предметной области. Например, FoxPro для управления базами данных, PCAD для автоматизации проектирования электронных устройств. Уровень программ пользователя. Как правило, прикладные системы имеют свой внутренний язык программирования. Пользователь создает свои программы для решения конкретных задач, используя эти языки или языки инструментальных систем. 6.2. Методы проектирования программных продуктов Проектирование алгоритмов и программ может основываться на различных подходах, среди которых наиболее распространены: - структурное проектирование программных продуктов, - информационное моделирование предметной области и связанных с ней приложений, - объектно-ориентированное проектирование программных продуктов. В основе структурного проектирования лежит последовательная декомпозиция общего алгоритма на отдельные составляющие. Подробнее методы структурного проектирования рассматриваются в следующем параграфе. Информационное моделирование предметной области связано с использованием СУБД. В этом походе можно выделить следующие составляющие: - информационный анализ предметной области, - информационное моделирование – построение комплекса моделей данных, - системное проектирование функций обработки данных, - детальное конструирование процедур обработки данных. - Первоначально строятся информационные модели различных уровней представления: - информационно-логическая модель, не зависящая от средств программной реализации хранения и обработки данных, отражающая интегрированные структуры данных предметной области, - даталогические модели, ориентированные на среду хранения и обработки. 55
Даталогические модели имеют логический и физический уровни представления. Логический уровень данных применительно к СУБД реализуется в виде концептуальной модели базы данных и внешних моделей данных. Физический уровень соответствует организации хранения данных в памяти компьютера. Объектно-ориентированный подход к проектированию программных продуктов основан на: выделении классов объектов, установлении характерных свойств объектов и методов их обработки, создание иерархии классов, наследовании свойств объектов и методов их обработки. Каждый объект объединяет как данные, так и программу обработки этих данных и относится к определенному классу. С помощью класса один и тот же программный код можно использовать для различных объектов относящихся к этому классу. 6.3. Структурное проектирование и программирование Нисходящее проектирование. Метод нисходящего проектирования предполагает последовательное разложение общего алгоритма на простые функциональные элементы ("сверху- вниз"). В результате строится иерархическая схема, отражающая состав и подчиненность отдельных функций. Она называется функциональной структурой алгоритма (ФСА). Последовательность действий по разработке ФСА: • определяются цели автоматизации предметной области и их иерархия (цель-подцель); • устанавливается состав приложений (задач обработки), обеспечивающих реализацию поставленных целей; • уточняется характер взаимосвязи приложений и их основные характеристики (информация для решения задач, время и периодичность решения, условия выполнения и др.); • определяются необходимые для решения задач функции обработки данных; • выполняется декомпозиция функций обработки до необходимой сложности, реализуемой предполагаемым языком структурной программирования. 56
Подобная структура приложения отражает наиболее важное — состав и взаимосвязь функций обработки информации для реализации приложений, хотя и не раскрывает логику выполнения каждой отдельной функции, условия или периодичность их вызовов. (На рис.15 Ц — цель; пЦ — подцель; П — приложение; Ф — функция). Ц1
ПЦ11
Ц1
...
ПЦ1s
ПЦ21
П1
П2
...
Пn
Ф1
Ф2
...
Фm
Ф11
...
Фm1
Ф1k
...
Фm2
ПЦ2n
...
Фmp
Рис. 15 Разложение должно носить строго функциональный характер, т.е. отдельный элемент ФСА описывает законченную содержательную функцию обработки информации, которая предполагает определенный способ реализации на программном уровне. Функции ввода-вывода информации рекомендуется отделять от функций вычислительной или логической обработки данных. Степень детализации функций может быть различной, но иерархическая схема должна давать представление о составе и структуре взаимосвязанных функций и общем алгоритме обработки данных. Широко используемые функции приобретают ранг стандартных (встроенных) функций при проектировании внутренней структуры программного продукта. Некоторые функции, например Ф2, далее неразложимы на составляющие: они предполагают непосредственную программную реализацию. Другие функции, например Ф1, Фm, могут быть представлены в виде структурного объединения более простых функций, например Ф11, 57
Ф12 и т.д. Для всех функций-компонентов осуществляется самостоятельная программная реализация; составные функции (типа Ф1, Фm) реализуются как программные модули, управляющие функциями-компонентами, например, в виде программ-меню. Модульное программирование подразумевает составление программы из отдельных достаточно независимых модулей Модуль характеризуют: • один вход и один выход — на входе программный модуль получает определенный набор исходных данных, выполняет содержательную обработку и возвращает один набор результатных данных; • функциональная завершенность — модуль выполняет полный набор операций для реализации конкретной функции; • логическая независимость – результат работы модуля зависит только от исходных данных, но не зависит от работы других модулей; • слабые информационные связи с другими программными модулями — обмен информацией между модулями должен быть по возможности минимизирован, причем этот обмен лучше производить через базу данных или с помощью параметров, не рекомендуется использовать для обмена глобальные переменные; • обозримый по размеру текст, например на одном листе формата А4 или на одном экране (20-24 строки). Каждый модуль состоит из спецификации и тела. Спецификации определяют правила использования модуля, а тело — способ реализации процесса обработки. Принципы модульного программирования программных продуктов во многом сходны с принципами нисходящего проектирования. Сначала определяются состав и подчиненность функций, а затем — набор программных модулей, реализующих эти функции. На каждом шаге проектирования модуль рассматривается как «черный ящик» с одним, заранее известным входом и известным выходом. Т.е. определен только интерфейс модуля. Затем модуль разбивается на более мелкие конструкции из числа разрешенных. И так до тех пор, пока не придем к уровню операторов языка программирования. Параллельно на каждом шаге уточняются все новые детали. Однотипные функции реализуются одними и теми же модулями. Функция верхнего уровня обеспечивается главным модулем; он управляет выполнением нижестоящих функций, которым соответствуют подчиненные модули.
58
При определении набора модулей, реализующих функции конкретного алгоритма, необходимо учитывать следующее: • каждый модуль вызывается на выполнение вышестоящим модулем и, закончив работу, возвращает управление вызвавшему его модулю; • принятие основных решений в алгоритме выносится на максимально "высокий" по иерархии уровень; • для использования одной и той же функции в разных местах алгоритма создается один модуль, который вызывается на выполнение по мере необходимости. В результате дальнейшей детализации алгоритма создается функционально-модульная схема (ФМС) алгоритма приложения, которая является основой для программирования Алгоритмы большой сложности обычно представляются с помощью схем двух видов: • обобщенной схемы алгоритма, она раскрывает общий принцип функционирования алгоритма и основные логические связи между отдельными модулями на уровне обработки информации (ввод и редактирование данных, вычисления, печать результатов и т.п.); • детальной схемы алгоритма, она представляет содержание каждого элемента обобщенной схемы с использованием управляющих структур в блок-схемах алгоритма, псевдокода либо алгоритмических языков высокого уровня. Наиболее часто детально проработанные алгоритмы изображаются в виде блок-схем согласно требованиям структурного программирования; при их разработке используются условные обозначения согласно ГОСТам. Структурное программирование. В каждом языке высокого уровня есть оператор GO TO, который передает управление на некоторый помеченный оператор в любое место программы. Бессистемное использование GO TO существенно затрудняет отладку программ, ухудшает ясность и читабельность текстов программ. В 1965 году Дейкстра выдвинул предположение, а затем и доказал, что оператор GO TO может быть исключен из языков программирования. Дейкстра доказал, что любую программу можно написать используя лишь три стандартные конструкции алгоритмов: 1) Следование функциональных блоков (линейный алгоритм), причем каждый блок должен иметь только один вход и один выход. 2) Развилка. 3) Цикл с предусловием. 59
Кроме этих конструкций допускается ещё три дополнительные: 1) Цикл с постусловием. 2) Неполная развилка. 3) Множественный выбор (в Паскале - оператор CASE) 6.4. Организация и средства дружественного интерфейса пользователя Большинство программных продуктов работают в диалоговом режиме взаимодействия с пользователем таким образом, что ведется обмен сообщениями, влияющими на обработку данных. процессы, Системы, поддерживающие диалоговые классифицируются на: • системы с жестким сценарием диалога—стандартизированное представление информации обмена; • дескрипторные системы – формат ключевых слов сообщений; • тезаурусные системы — семантическая сеть дескрипторов, образующих словарь системы (аналог — гипертекстовые системы); • системы с языком деловой прозы — представление сообщений на языке, естественном для профессионального пользования. Наиболее просты для реализации и распространены диалоговые системы с жестким сценарием диалога, которые представлены в виде: • меню — диалог инициируется программой; пользователю предлагается выбор альтернативы функций обработки из фиксированного перечня; меню может быть иерархическим и содержать вложенные подменю следующего уровня; • действия запрос-ответ — фиксирован перечень возможных значений, выбираемых из списка, или ответы типа Да/Нет; • запрос по формату — с помощью ключевых слов, фраз или путем заполнения экранной формы. В составе многих инструментальных средств содержатся построители меню, с помощью которых создается ориентированная на конечного пользователя совокупность режимов и команд в виде главного меню и вложенных подменю. Конструктор экранных форм используется для разработки форматов экранного ввода и редактирования данных базы данных и входной информации, управляющей работой программного продукта. Графический интерфейс пользователя (GUI) является обязательным компонентом большинства современных программных продуктов, 60
ориентированных на работу конечного пользователя. К графическому интерфейсу пользователя предъявляются высокие требования как с чисто инженерной, так и с художественной стороны разработки, при его разработке ориентируются на возможности человека. Стандартный графический интерфейс должен отвечать ряду требований: - содержать привычные и понятные пользователю пункты меню, соответствующие функциям обработки, расположенные в естественной последовательности использования; - удовлетворять правилу "шести" — в одну линейку меню включать не более 6 понятий, каждое из которых содержит не более 6 опций; - графические объекты сохраняют свое стандартизованное назначение и по возможности местоположение на экране. 6.5. Критерии качества программ Программные продукты имеют многообразие показателей качества, которые отражают следующие аспекты: • насколько хорошо (просто, надежно, эффективно) можно использовать программный продукт; • насколько легко эксплуатировать программный продукт; • можно ли использовать программный продукт при изменении условия его применения и др. Дерево характеристик качества программных продуктов представлено на рис.16.
Рис. 16.
61
Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п. Мобильный (многоплатформный) продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких- либо изменений. Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, сложностью диагностики возникающих в процессе работы программ ошибок. Эффективность программного продукта оценивается как с позиций прямого назначения — требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации. Расход вычислительных ресурсов оценивается через объем внешней памяти для размещения программ и объем оперативной памяти для запуска программ. Учет человеческого фактора означает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстнозависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др. Модифицируемость программных продуктов означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п. Коммуникативность программных продуктов основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.). В условиях существования рынка программных продуктов важными характеристиками являются: стоимость; количество продаж; время нахождения на рынке (длительность продаж); известность фирмы-разработчика и программы; наличие программных продуктов аналогичного назначения. 62
7. Сетевые технологии обработки данных 7.1. Понятие об информационных технологиях на сетях Принцип централизованной обработки данных не отвечал высоким требованиям к надежности процесса обработки, затруднял развитие систем и не мог обеспечить необходимые временные параметры при диалоговой обработке данных в многопользовательском режиме. Выход из строя центральной ЭВМ приводил к необратимым последствиям для системы в целом, поэтому приходилось дублировать функции центральной ЭВМ, значительно увеличивая затраты на создание и эксплуатацию систем обработки данных. Появление малых ЭВМ, микроЭВМ и, наконец, персональных компьютеров привело к переходу к распределенной обработке данных. Распределенная обработка данных выполняется на независимых, но связанных между собой компьютерах, представляющих распределенную систему. Компьютерная (вычислительная) сеть — совокупность компьютеров и терминалов, соединенных с помощью каналов связи в единую систему, удовлетворяющую требованиям распределенной обработки данных. Компьютерные сети являются высшей формой многомашинных ассоциаций. Выделим основные отличия компьютерной сети от многомашинного вычислительного комплекса. Первое отличие — размерность. В состав многомашинного вычислительного комплекса входят обычно две, максимум три ЭВМ, расположенные преимущественно в одном помещении. Вычислительная сеть может состоять из десятков и даже сотен ЭВМ, расположенных на расстоянии друг от друга от нескольких метров до десятков, сотен и даже тысяч километров. Второе отличие — разделение функций между ЭВМ. Если в многомашинном вычислительном комплексе функции обработки данных, передачи данных и управления системой могут быть реализованы в одной ЭВМ, то в вычислительных сетях эти функции распределены между различными ЭВМ. Третье отличие — необходимость решения в сети задачи маршрутизации сообщений. Сообщение от одной ЭВМ к другой в сети может быть передано по различным маршрутам в зависимости от состояния каналов связи, соединяющих ЭВМ друг с другом. 63
Объединение в один комплекс средств вычислительной техники, аппаратуры связи и каналов передачи данных требует формирования специальной терминологии. Абоненты сети — объекты, генерирующие или потребляющие информацию в сети. Абонентами сети могут быть отдельные ЭВМ, комплексы ЭВМ, терминалы, промышленные роботы, станки с числовым программным управлением и т.д. Любой абонент в сети подключается к станции. Станция — аппаратура, которая выполняет функции, связанные с передачей и приемом информации. Совокупность абонента и станции принято называть абонентской системой. Для организации взаимодействия абонентов необходима физическая передающая среда. Физическая передающая среда — линии связи или пространство, в котором распространяются электрические сигналы, и аппаратура передачи данных. На базе физической передающей среды строится коммуникационная сеть которая обеспечивает передачу информации между абонентскими системами. В зависимости от территориального расположения абонентских систем вычислительные сети можно разделить на три основных класса: • глобальные сети (WAN – Wide Area Network); • региональные сети (MAN – Metropolitan Area Network); • локальные сети (LAN – Local Area Network). Глобальная вычислительная сеть объединяет абонентов, расположенных в различных странах, на различных континентах. Взаимодействие между абонентами такой сети может осуществляться на базе телефонных линий связи, радиосвязи и систем спутниковой связи. Глобальные вычислительные сети позволят решить проблему объединения информационных ресурсов всего человечества и организации доступа к этим ресурсам. Региональная вычислительная сеть связывает абонентов, расположенных на значительном расстоянии друг от друга. Она может включать абонентов внутри большого города, экономического региона, отдельной страны. Обычно расстояние между абонентами региональной вычислительной сети составляет десятки - сотни километров. Локальная вычислительная сеть объединяет абонентов, расположенных в пределах небольшой территории. В настоящее время не существует четких ограничений на территориальный разброс абонентов локальной вычислительной сети. Обычно такая сеть привязана к конкретному месту. К классу локальных вычислительных сетей относятся 64
сети отдельных предприятий, фирм, банков, офисов и т.д. Протяженность такой сети можно ограничить пределами 2 - 2,5 км. Объединение глобальных, региональных и локальных вычислительных сетей позволяет создавать многосетевые иерархии. Они обеспечивают мощные средства обработки огромных информационных массивов и доступ к неограниченным информационным ресурсам. 7.2. Режимы передачи данных Любая коммуникационная сеть должна включать следующие основные компоненты: передатчик, сообщение, средства передачи, приемник. Передатчик — устройство, являющееся источником данных. Приемник — устройство, принимающее данные. Приемником могут быть компьютер, терминал или какое-либо цифровое устройство. Сообщение — цифровые данные определенного формата, предназначенные для передачи. Это может быть файл базы данных, таблица, ответ на запрос, текст или изображение. Средства передачи — физическая передающая среда и специальная аппаратура, обеспечивающая передачу сообщений. Для передачи сообщений в вычислительных сетях используются различные типы каналов связи. Наиболее распространены выделенные телефонные каналы и специальные каналы для передачи цифровой информации. Применяются также радиоканалы и каналы спутниковой связи. В ЛВС в качестве передающей среды используются витая пара проводов, коаксиальный кабель и оптоволоконный кабель. Существуют три режима передачи: симплексный, полудуплексный и дуплексный. Симплексный режим — передача данных только в одном направлении. Примером симплексного режима передачи является система, в которой информация, собираемая с помощью датчиков, передается для обработки на ЭВМ. В вычислительных сетях симплексная передача практически не используется. Полудуплексный режим — попеременная передача информации, когда источник и приемник последовательно меняются местами. Дуплексный режим — одновременные передача и прием сообщений. Дуплексный режим является наиболее скоростным режимом работы и позволяет эффективно использовать вычислительные 65
возможности быстродействующих ЭВМ в сочетании с высокой скоростью передачи данных по каналам связи. Пример дуплексного режима— телефонный разговор. Для передачи информации по каналам связи используются специальные коды. Коды эти стандартизованы и определены рекомендациями ISO (International Organization for Standardization) — Международной организации по стандартизации (МОС) или Международного консультативного комитета по телефонии и телеграфии (МККТТ). Наиболее распространенным кодом передачи по каналам связи является код ASCII, принятый для обмена информацией практически во всем мире (отечественный аналог — код КОИ-7). ЭВМ могут быть объединены в комплекс с помощью интерфейсного кабеля и с помощью двухпроводной линии связи. Интерфейсный кабель — это набор проводов, по которым передаются сигналы от одного устройства компьютера к другому. Для передачи кодовой комбинации используется столько линий, сколько битов эта комбинация содержит. Каждый бит передается по отдельному проводу. Это параллельная передача или передача параллельным кодом. Такая передача используется при организации локальных МВК, для внутренних связей ЭВМ и для небольших расстояний между абонентами сети. Передача параллельным кодом обеспечивает высокое быстродействие, но требует повышенных затрат на создание физической передающей среды и обладает плохой помехозащищенностью. В вычислительных сетях передача параллельными кодами, как правило, не используется. Для передачи кодовой комбинации по двухпроводной линии группа битов передается по одному проводу бит за битом. Это передача информации последовательным кодом. Она медленнее, так как требует преобразования данных в параллельный код для дальнейшей обработки в ЭВМ, но экономически более выгодна для передачи сообщений на большие расстояния. Процессы передачи или приема информации в вычислительных сетях могут быть привязаны к определенным временным отметкам, т.е. один из процессов может начаться только после того, как получит полностью данные от другого процесса. Такие процессы называются синхронными. В то же время существуют процессы, в которых нет такой привязки и они могут выполняться независимо от степени полноты переданных данных. Такие процессы называются асинхронными. 66
Синхронизация данных — согласование различных процессов во времени. В системах передачи данных используются два способа передачи данных: синхронный и асинхронный. При синхронной передаче информация передается блоками, которые обрамляются специальными управляющими символами. В состав блока включаются также специальные синхросимволы, обеспечивающие контроль состояния физической передающей среды, и символы, позволяющие обнаруживать ошибки при обмене информацией. В конце блока данных при синхронной передаче в канал связи выдается контрольная последовательность, сформированная по специальному алгоритму. По этому же алгоритму формируется контрольная последовательность при приеме информации из канала связи. Если обе последовательности совпадают — ошибок нет. Блок данных принят. Если же последовательности не совпадают — ошибка. Передача повторяется до положительного результата проверки. Если повторные передачи не дают положительного результата, то фиксируется состояние аварии. Синхронная передача — высокоскоростная и почти безошибочная. Она используется для обмена сообщениями между ЭВМ в вычислительных сетях. Синхронная передача требует дорогостоящего оборудования. При асинхронной передаче данные передаются в канал связи как последовательность битов, из которой при приеме необходимо выделить байты для последующей их обработки. Для этого каждый байт ограничивается стартовым и стоповым битами, которые и позволяют произвести выделение их из потока передачи. Иногда в линиях связи с низкой надежностью используется несколько таких битов. Дополнительные стартовые и стоповые биты несколько снижают эффективную скорость передачи данных и соответственно пропускную способность канала связи. В то же время асинхронная передача не требует дорогостоящего оборудования и отвечает требованиям организации диалога в вычислительной сети при взаимодействии персональных ЭВМ. 7.3. Модуляция сигналов Цифровые данные по проводнику передаются путем смены текущего напряжения: нет напряжения — "0", есть напряжение — 1. Существуют два способа передачи информации по физической передающей среде: цифровой и аналоговый.
67
Если все абоненты компьютерной сети ведут передачу данных по каналу на одной частоте, такой канал называется узкополосным (пропускает одну частоту). Если каждый абонент работает на своей собственной частоте по одному каналу, то такой канал называется широкополосным (пропускает много частот). Использование широкополосных каналов позволяет экономить на их количестве, но усложняет процесс управления обменом данными. При цифровом или узкополосном способе передачи (рис. 17) данные передаются в их естественном виде на единой частоте. Узкополосный способ позволяет передавать только цифровую информацию, обеспечивает в каждый данный момент времени возможность использования передающей среды только двумя пользователями и допускает нормальную работу только на ограниченном расстоянии (длина линии связи не более 1000 м). В то же время узкополосный способ передачи обеспечивает высокую скорость обмена данными — до 10 Мбит/с и позволяет создавать легко конфигурируемые вычислительные сети. Подавляющее число локальных вычислительных сетей использует узкополосную передачу.
Рис. 17. Цифровой способ передачи Аналоговый способ передачи цифровых данных (рис. 18) обеспечивает широкополосную передачу за счет использования в одном канале сигналов, различных несущих частот. При аналоговом способе передачи происходит управление параметрами сигнала несущей частоты для передачи по каналу связи цифровых данных. Сигнал несущей частоты представляет собой гармоническое колебание, описываемое уравнением: X = X max sin( ωt + ϕ0 ) , где
Xmax — амплитуда колебаний; ω — частота колебаний; 68
t — время; φ0 —начальная фаза колебаний. Передать цифровые данные по аналоговому каналу можно, управляя одним из параметров сигнала несущей частоты: амплитудой, частотой или фазой. Так как необходимо передавать данные в двоичном виде (последовательность единиц и нулей), то можно предложить следующие способы управления (модуляции): амплитудный, частотный, фазовый. Проще всего понять принцип амплитудной модуляции: "0"— отсутствие сигнала, т.е. отсутствие колебаний несущей частоты; "1" — наличие сигнала, т.е. наличие колебаний несущей частоты. Есть колебания — единица, нет колебаний — нуль (рис. 18а). Частотная модуляция предусматривает передачу сигналов 0 и 1 на разной частоте. При переходе от 0 к 1 и от 1 к 0 происходит изменение сигнала несущей частоты (рис. 18б). Наиболее сложной для понимания является фазовая модуляция. Суть ее в том, что при переходе от 0 к 1 и от 1 к 0 меняется фаза колебаний, т.е. их направление (рис. 18в).
Сигнал основной частоты в канале
1
0
1
0
1
0
1
Цифровой сигнал на выходе сетевого адаптера
Результирующий сигнал в канале связи Рис.18 а)
69
0
1
1
0
1
0
1
Цифровой сигнал на выходе сетевого адаптера
Результирующий сигнал в канале связи Рис.18 б)
1
0
1
1
0
0
1
Цифровой сигнал на выходе сетевого адаптера
Результирующий сигнал в канале связи Рис.18 в)
В сетях высокого уровня иерархии — глобальных и региональных используется также, и широкополосная передача, которая предусматривает работу для каждого абонента на своей частоте в пределах одного канала. Это обеспечивает взаимодействие большого количества абонентов при высокой скорости передачи данных. Широкополосная передача позволяет совмещать в одном канале передачу цифровых данных, изображения и звука, что является необходимым требованием современных систем, мультимедиа. Пример. Типичным аналоговым каналом является телефонный канал. Когда абонемент снимает трубку, то слышит равномерный звуковой сигнал — это и есть сигнал несущей частоты. Так как он лежит в диапазоне звуковых частот, то его называют тональным сигналом. Для передачи по телефонному каналу речи необходимо управлять сигналом несущей частоты — модулировать его. Воспринимаемые микрофоном звуки преобразуются в электрические сигналы, а те, в свою очередь, и модулируют сигнал несущей частоты. При передаче цифровой информации управление производят информационные байты— последовательность единиц и нулей.
70
7.4. Каналы передачи данных и их характеристики Чтобы обеспечить передачу информации из ЭВМ в коммуникационную среду, необходимо согласовать сигналы внутреннего интерфейса ЭВМ с параметрами сигналов, передаваемых по каналам связи. При этом должно быть выполнено как физическое согласование (форма, амплитуда и длительность сигнала), так и кодовое. Технические устройства, выполняющие функции сопряжения ЭВМ с каналами связи, называются сетевыми адаптерами. Один адаптер обеспечивает сопряжение с ЭВМ одного канала связи. Кроме одноканальных адаптеров используются и многоканальные устройства - мультиплексоры. Мультиплексор передачи данных — устройство сопряжения ЭВМ с несколькими каналами связи. Мультиплексоры передачи данных использовались в системах телеобработки данных — первом шаге на пути к созданию вычислительных сетей. В дальнейшем при появлении сетей со сложной конфигурацией и с большим количеством абонентских систем для реализации функций сопряжения стали применяться специальные связные процессоры. Как уже говорилось ранее, для передачи цифровой информации по каналу связи необходимо поток битов преобразовать в аналоговые сигналы, а при приеме информации из канала связи в ЭВМ выполнить обратное действие — преобразовать аналоговые сигналы в поток битов, которые может обрабатывать ЭВМ. Такие преобразования выполняет специальное устройство — модем. Модем — устройство, выполняющее модуляцию и демодуляцию информационных сигналов при передаче их из ЭВМ в канал связи и при приеме в ЭВМ из канала связи. Наиболее дорогим компонентом вычислительной сети является канал связи. Поэтому при построении ряда вычислительных сетей стараются сэкономить на каналах связи, коммутируя несколько внутренних каналов связи на один внешний. Для выполнения функций коммутации используются специальные устройства — концентраторы. Концентратор — устройство, коммутирующее несколько каналов связи на один путем частотного разделения. В ЛВС, где физическая передающая среда представляет собой кабель ограниченной длины, для увеличения протяженности сети используются специальные устройства — повторители. Повторитель — устройство, обеспечивающее сохранение формы и амплитуды сигнала при передаче его на большее, чем предусмотрено 71
данным типом физической передающей среды, расстояние. Существуют локальные и дистанционные повторители. Локальные повторители позволяют соединять фрагменты сетей, расположенные на расстоянии до 50 м, дистанционные—до 2000 м. Для оценки качества коммуникационной сети можно использовать следующие характеристики: • скорость передачи данных по каналу связи; • пропускную способность канала связи; • достоверность передачи информации; • надежность канала связи и модемов. Скорость передачи данных по каналу связи измеряется количеством битов информации, передаваемых за секунду. Скорость передачи данных зависит от типа и качества канала связи, типа используемых модемов и принятого способа синхронизации. Так, для асинхронных модемов и телефонного канала связи диапазон скоростей составляет 300 - 9600 бит/с, а для синхронных — 1200 - 19200 бит/с. Для пользователей вычислительных сетей значение имеют не абстрактные биты в секунду, а информация, единицей измерения которой служат байты или знаки. Поэтому более удобной характеристикой канала является его пропускная способность, которая оценивается количеством знаков, передаваемых по каналу за секунду. При этом в состав сообщения включаются и все служебные символы. Теоретическая пропускная способность определяется скоростью передачи данных. Реальная пропускная способность зависит от ряда факторов, среди которых и способ передачи, и качество канала связи, и условия его эксплуатации, и структура сообщений, Существенной характеристикой коммуникационной системы любой сети является достоверность передаваемой информации. Достоверность передачи информации оценивают как отношение количества ошибочно переданных знаков к общему числу переданных знаков. Требуемый уровень достоверности должны обеспечивать как аппаратура, так и канал связи. Для вычислительных сетей этот показатель должен лежать в пределах 10-6 – 10-7 ошибок/знак, т.е. допускается одна ошибка на миллион переданных знаков или на десяти миллионов переданных знаков. Надежность коммуникационной системы определяется либо долей времени исправного состояния в общем времени работы, либо средним временем безотказной работы. Вторая характеристика позволяет более эффективно оценить надежность системы. Для вычислительных сетей
72
среднее время безотказной работы должно быть достаточно большим и составлять, как минимум, несколько тысяч часов. 7.5. Архитектура компьютерных сетей Для решения проблемы объединения различных сетей ISO (МОС) разработала модель архитектуры открытых систем. Открытая система — система, взаимодействующая с другими системами в соответствии с принятыми стандартами. Предложенная модель архитектуры открытых систем представляет собой самые общие рекомендации для производителей при разработке совместимого сетевого оборудования и сетевых программных продуктов. В настоящее время модель взаимодействия открытых систем (ВОС) является наиболее популярной сетевой архитектурной моделью. Модель рассматривает общие функции, а не специальные решения, поэтому не все реальные сети абсолютно точно ей следуют. Модель взаимодействия открытых систем состоит из семи уровней (рис. 19).
Рис. 19 7-й уровень — прикладной — обеспечивает поддержку прикладных процессов конечных пользователей. Этот уровень определяет круг прикладных задач, реализуемых в данной вычислительной сети. Он также содержит все необходимые элементы сервиса для прикладных программ пользователя. На прикладной уровень могут быть вынесены некоторые задачи сетевой операционной системы. 6-й уровень — представительный — определяет синтаксис данных в модели, т.е. представление данных. Он гарантирует представление 73
данных в кодах и форматах, принятых в данной системе. В некоторых системах этот уровень может быть объединен с прикладным. 5-й уровень — сеансовый — реализует установление и поддержку сеанса связи между двумя абонентами через коммуникационную сеть. Он позволяет производить обмен данными в режиме, определенном прикладной программой, или предоставляет возможность выбора режима обмена. Сеансовый уровень поддерживает и завершает сеанс связи. Эти три верхних уровня объединяются под общим названием — процесс или прикладной процесс. Эти уровни определяют функциональные особенности вычислительной сети как прикладной системы. 4-й уровень — транспортный — обеспечивает интерфейс между процессами и сетью. Он устанавливает логические каналы между процессами и обеспечивает передачу по этим каналам информационных пакетов, которыми обмениваются процессы. Логические каналы, устанавливаемые транспортным уровнем, называются транспортными каналами. Пакет — группа байтов, передаваемых абонентами сети друг другу. 3-й уровень — сетевой — определяет интерфейс оконечного оборудования данных (абонентские ЭВМ и терминалы) пользователя с сетью коммутации пакетов. Он также отвечает за маршрутизацию пакетов в коммуникационной сети и за связь между сетями — реализует межсетевое взаимодействие. 2-й уровень — канальный — уровень звена данных — реализует процесс передачи информации по информационному каналу. Информационный канал — логический канал, он устанавливается между двумя ЭВМ, соединенными физическим каналом. Канальный уровень обеспечивает управление потоком данных в виде кадров, в которые упаковываются информационные пакеты, обнаруживает ошибки передачи и реализует алгоритм восстановления информации в случае обнаружения сбоев или потерь данных. 1-й уровень — физический — выполняет все необходимые процедуры в канале связи. Его основная задача — управление аппаратурой передачи данных и каналом связи. При передаче информации от прикладного процесса в сеть происходит ее обработка уровнями модели взаимодействия открытых систем. Смысл этой обработки заключается в том, что каждый уровень добавляет к информации процесса свой заголовок — служебную информацию, которая необходима для адресации сообщений и для некоторых контрольных функций. Канальный уровень кроме заголовка 74
добавляет еще и концевик — контрольную последовательность, которая используется для проверки правильности приема сообщения из коммуникационной сети. Физический уровень заголовка не добавляет. Сообщение, обрамленное заголовками и концевиком, уходит в коммуникационную сеть и поступает на абонентские ЭВМ вычислительной сети. Каждая абонентская ЭВМ, принявшая сообщение, дешифрирует адреса и определяет, предназначено ли ей данное сообщение. При этом в абонентской ЭВМ происходит обратный процесс — чтение и отсечение заголовков каждым уровнем модели. Каждый уровень реагирует только на свой заголовок. Заголовки верхних уровней нижними уровнями не воспринимаются и не изменяются — они "прозрачны " для нижних уровней. Так, перемещаясь по уровням модели ВОС, информация, наконец, поступает к процессу, которому она была адресована. Основное достоинство семиуровневой модели ВОС в том, что в процессе развития и совершенствования любой системы возникает потребность изменять ее отдельные компоненты. Иногда это вызывает необходимость изменять и другие компоненты, что существенно усложняет и затрудняет процесс модернизации системы. Здесь и проявляются преимущества семиуровневой модели. Если между уровнями определены однозначно интерфейсы, то изменение одного из уровней не влечет за собой необходимости внесения изменений в другие уровни. Таким образом, существует относительная независимость уровней друг от друга. Функции, описываемые уровнями модели, должны быть реализованы либо в аппаратуре, либо в виде программ. Функции физического уровня всегда реализуются в аппаратуре. Это адаптеры, мультиплексоры передачи данных, сетевые платы и т.д. Функции остальных уровней реализуются в виде программных модулей — драйверов. В ЛВС, для учета требований физической передающей среды была произведена некоторая модернизация семиуровневой. Необходимость такой модернизации была вызвана тем, что для организации взаимодействия абонентских ЭВМ в ЛВС используются специальные методы доступа к физической передающей среде. Верхние уровни модели ВОС не претерпели никаких изменений, а канальный уровень был разбит на два подуровня. Подуровень LLC (Logical Link Control) обеспечивает управление логическим звеном, т.е. выполняет функции собственно канального уровня. Подуровень MAC (Media Access Control) обеспечивает управление доступом к среде.
75
Как было показано ранее, при обмене информацией в сети каждый уровень модели ВОС реагирует на свой заголовок. Иными словами, происходит взаимодействие между одноименными уровнями модели в различных абонентских ЭВМ. Такое взаимодействие должно выполнятся по определенным правилам. Протокол — набор правил, определяющий взаимодействие двух одноименных уровней модели взаимодействия открытых систем в различных абонентских ЭВМ. Сам протокол — это не программа, но правила и последовательность выполнения действий при обмене информацией, определенные протоколом, должны быть реализованы в программе. Обычно функции протоколов различных уровней реализуются в драйверах. В соответствии с семиуровневой структурой модели можно говорить о необходимости существования протоколов для каждого уровня. Концепция открытых систем предусматривает разработку стандартов для протоколов различных уровней. Легче всего поддаются стандартизации протоколы трех нижних уровней модели архитектуры открытых систем, так как они определяют действия и процедуры, свойственные для вычислительных сетей любого класса. Труднее всего стандартизовать протоколы верхних уровней, особенно прикладного, из-за множественности прикладных задач и в ряде случаев их уникальности. Если по типам, структур, методам доступа к физической передающей среде, используемым сетевым технологиям можно насчитать примерно десяток различных моделей вычислительных сетей, то по их функциональному назначению пределов не существует. Проще всего представить особенности сетевых протоколов на примере протоколов канального уровня, которые делятся на две основные группы: байт-ориентированные и бит-ориентированные. протокол обеспечивает передачу Байт-ориентированный сообщения по информационному каналу в виде последовательности байтов. Кроме информационных байтов в канал передаются и служебные байты. Такой тип протокола удобен для ЭВМ, так как она ориентирована на обработку данных, представленных в виде двоичных байтов. Для коммуникационной среды байт-ориентированный протокол менее удобен, так как разделение информационного потока в канале на байты требует использования дополнительных сигналов, что в конечном счете снижает пропускную способность канале связи. Наиболее известным и распространенным байт-ориентированным протоколом является протокол двоичной синхронной связи BSC, разработанный фирмой IBM. Протокол обеспечивает передачу двух типов кадров: управляющих и информационных. В управляющих кадрах 76
передаются управляющие и служебные символы, в информационных — сообщения (отдельные пакеты, последовательность пакетов). Работа протокола BSC осуществляется в три фазы: установление соединения, поддержание сеанса передачи сообщений, разрыв соединения. Протокол требует на каждый переданный кадр посылки квитанции о результате его приема. Кадры, переданные с ошибкой, передаются повторно. Протокол определяет максимальное число повторных передач. Квитанция представляет собой управляющий кадр, в котором содержится подтверждение приема сообщения (положительная квитанция) или отказ от приема из-за ошибки (отрицательная квитанция). Передача последующего кадра возможна только тогда, когда получена положительная квитанция на прием предыдущего. Это существенно ограничивает быстродействие протокола и предъявляет высокие требования к качеству канала связи. Бит-ориентированный протокол предусматривает передачу информации в виде потока битов, не разделяемых на байты. Поэтому для разделения кадров используются специальные последовательности — флаги. В начале кадра ставится флаг открывающий, а в конце—флаг закрывающий. Бит-ориентированный протокол удобен относительно коммуникационной среды, так как канал связи как раз и ориентирован на передачу последовательности битов. Для ЭВМ он не очень удобен, потому что из поступающей последовательности битов приходится выделять байты для последующей обработки сообщения. Впрочем, учитывая быстродействие ЭВМ, можно считать, что эта операция не окажет существенного влияния на ее производительность. Потенциально биториентированные протоколы являются более скоростными по сравнению с байт-ориентированными, что обусловливает их широкое распространение в современных вычислительных сетях.
7.6. Локальные вычислительные сети Локальную вычислительную сеть можно рассматривать как совокупность серверов и рабочих станций. Сервер — компьютер, подключенный к сети и обеспечивающий ее пользователей определенными услугами. Серверы могут осуществлять хранение данных, управление базами данных, удаленную обработку 77
заданий, печать заданий и ряд других функций, потребность в которых может возникнуть у пользователей сети. Сервер — источник ресурсов сети. Рабочая станция — персональный компьютер, подключенный к сети, через который пользователь получает доступ к ее ресурсам. Рабочая станция сети функционирует как в сетевом, так и в локальном режиме. Она оснащена собственной операционной системой, обеспечивает пользователя всеми необходимыми инструментами для решения прикладных задач. Особое внимание следует уделить одному из типов серверов — файловому серверу. Для него принято сокращенное название — файлсервер. Файл-сервер хранит данные пользователей сети и обеспечивает им доступ к этим данным. Это компьютер с большой емкостью оперативной памяти и жесткими дисками большой емкости. Он работает под управлением специальной операционной системы, которая обеспечивает одновременный доступ пользователей сети к расположенным на нем данным. Компьютерные сети реализуют распределенную обработку данных. Обработка данных в этом случае распределена между двумя объектами: клиентом и сервером. Клиент — задача, рабочая станция или пользователь компьютерной сети. В процессе обработки данных клиент может сформировать запрос на сервер для выполнения сложных процедур, чтение файла, поиск информации в базе данных и т. д. Сервер выполняет запрос, поступивший от клиента. Результаты выполнения запроса передаются клиенту. Сервер обеспечивает хранение данных общего пользования, организует доступ к этим данным и передает данные клиенту. Клиент обрабатывает полученные данные и представляет результаты обработки в виде, удобном для пользователя. В принципе обработка данных может быть выполнена и на сервере. Для подобных систем приняты термины — системы клиент-сервер или архитектура клиентсервер. Архитектура клиент-сервер может использоваться как в одноранговых локальных вычислительных сетях, так и в сети с выделенным сервером. Одноранговая сеть. В такой сети нет единого центра управления взаимодействием рабочих станций и нет единого устройства для хранения данных. Сетевая операционная система распределена по всем рабочим станциям. Каждая станция сети может выполнять функции как клиента, 78
так и сервера. Она может обслуживать запросы от других рабочих станций и направлять свои запросы на обслуживание в сеть. Пользователю сети доступны все устройства, подключенные к другим станциям (диски, принтеры). Достоинства одноранговых сетей: низкая стоимость и высокая надежность. Недостатки одноранговых сетей: зависимость эффективности работы сети от количества станций; сложность управления сетью; сложность обеспечения защиты информации; трудности обновления и изменения программного обеспечения станций. Сеть с выделенным сервером. В сети с выделенным сервером один из компьютеров выполняет функции: - хранения данных, предназначенных для использования всеми рабочими станциями, - управления взаимодействием между рабочими станциями, - сервисные. На сервере устанавливается сетевая операционная система, к нему подключаются все разделяемые внешние устройства — жесткие диски, принтеры и модемы. Взаимодействие между рабочими станциями в сети, как правило, осуществляется через сервер. Логическая организация такой сети может быть представлена топологией звезда. Роль центрального устройства выполняет сервер. Но существует и возможность обмена информацией между рабочими станциями, минуя файл-сервер. Достоинства сети с выделенным сервером: - надежная система защиты информации, - высокое быстродействие; - отсутствие ограничений на число рабочих станций; - простота управления по сравнению с одноранговыми сетями. Недостатки сети: - высокая стоимость из-за выделения одного компьютера под сервер; - зависимость быстродействия и надежности сети от сервера; - меньшая гибкость по сравнению с одноранговой сетью. Сети с выделенным сервером являются наиболее распространенными у пользователей компьютерных сетей.. Физическая передающая среда ЛВС представлена тремя типами кабелей: витая пара проводов, коаксиальный кабель, оптоволоконный кабель. Витая пара состоит из двух изолированных проводов, свитых между собой. Скручивание проводов уменьшает влияние внешних 79
электромагнитных полей на передаваемые сигналы. Самый простой вариант витой пары — телефонный кабель, Витые пары имеют различные характеристики, определяемые размерами, изоляцией и шагом скручивания. Дешевизна этого вида передающей среды делает ее достаточно популярной для ЛВС. Основной недостаток витой пары — плохая помехозащищенность и низкая скорость передачи информации — 0,25 - 1 Мбит/с. Технологические усовершенствования позволяют повысить скорость передачи и помехозащищенность (экранированная витая пара), но при этом возрастает стоимость этого типа передающей среды. Коаксиальный кабель по сравнению с витой парой обладает более высокой механической прочностью, помехозащищенностью и обеспечивает скорость передачи информации до 10-50 Мбит/с. Для промышленного использования выпускаются два типа коаксиальных кабелей: толстый и тонкий. Толстый кабель более прочен и передает сигналы нужной амплитуды на большее расстояние, чем тонкий. В то же время тонкий кабель значительно дешевле. Коаксиальный кабель так же, как и витая пара, является одним из популярных типов передающей среды для ЛВС. Оптоволоконный кабель — идеальная передающая среда. Он не подвержен действию электромагнитных полей и сам практически не имеет излучения. Последнее свойство позволяет использовать его в сетях, требующих повышенной секретности информации. Скорость передачи информации по оптоволоконному кабелю более 50 Мбит/с. По сравнению с предыдущими типами передающей среды он более дорог, менее технологичен в эксплуатации. Топология ЛВС — это усредненная геометрическая схема соединений узлов сети. Топологии вычислительных сетей могут быть самыми различными, но для локальных вычислительных сетей типичными являются всего три: кольцевая, шинная, звездообразная. Любую компьютерную сеть можно рассматривать как совокупность узлов. Узел — любое устройство, непосредственно подключенное к передающей среде сети. Кольцевая топология предусматривает соединение узлов сети замкнутой кривой — кабелем передающей среды. Выход одного узла сети соединяется со входом другого. Информация по кольцу передается от узла к узлу. Каждый промежуточный узел между передатчиком и приемником ретранслирует посланное сообщение. Принимающий узел распознает и получает только адресованные ему сообщения. Кольцевая топология является идеальной для сетей, занимающих сравнительно небольшое 80
пространство. В ней отсутствует центральный узел, что повышает надежность сети. Ретрансляция информации позволяет использовать в качестве передающей среды любые типы кабелей. Последовательная дисциплина обслуживания узлов такой сети снижает ее быстродействие, а выход из строя одного из узлов нарушает целостность кольца и требует принятия специальных мер для сохранения тракта передачи информации. Шинная топология — одна из наиболее простых. Она связана с использованием в качестве передающей среды коаксиального кабеля. Данные от передающего узла сети распространяются по шине в обе стороны. Промежуточные узлы не транслируют поступающих сообщений. Информация поступает на все узлы, но принимает сообщение только тот, которому оно адресовано. Дисциплина обслуживания параллельная. Это обеспечивает высокое быстродействие ЛВС с шинной топологией. Сеть легко наращивать и конфигурировать, а также адаптировать к различным системам. Сеть шинной топологии устойчива к возможным неисправностям отдельных узлов. Она наиболее распространены в настоящее время. Звездообразная топология базируется на концепции центральной узла, к которому подключаются периферийные узлы. Каждый периферийный узел имеет свою отдельную линию связи с центральным узлом. Воя информация передается через центральный узел, который ретранслирует, переключает и маршрутизирует информационные потоки в сети. Звездообразная топология значительно упрощает взаимодействие узлов ЛВС друг с другом, позволяет использовать более простые сетевые адаптеры. В то же время работоспособность ЛВС со звездообразной топологией целиком зависит от центрального узла. В реальных вычислительных сетях могут использоваться более сложные топологии, - представляющие в некоторых случаях сочетания рассмотренных. Выбор той или иной топологии определяется областью применения ЛВС, географическим расположением ее узлов и размерностью сети в целом. Передающая среда является общим ресурсом для всех узлов сети. Чтобы получить возможность доступа к этому ресурсу из узла сети, необходимы специальные механизмы — методы доступа. 7.7. Глобальная сеть Internet Internet представляет собой глобальную компьютерную сеть. Само ее название означает "между сетей". Это сеть, соединяющая отдельные сети. 81
Логическая структура Internet представляет собой некое виртуальное объединение, имеющее свое собственное информационное пространство. Internet обеспечивает обмен информацией между всеми компьютерами, которые входят в сети, подключенные к ней. Тип компьютера и используемая им операционная система значения не имеют. Соединение сетей обладает громадными возможностями. Internet предоставляет в распоряжение своих пользователей множество всевозможных ресурсов. Основные ячейки Internet — локальные вычислительные сети. Это значит, что Internet не просто устанавливает связь между отдельными компьютерами, а создает пути соединения для более крупных единиц — групп компьютеров. Если некоторая локальная сеть непосредственно подключена к Internet, то каждая рабочая станция этой сети также может подключаться к Internet. Существуют также компьютеры, самостоятельно подключенные к Internet. Они называются хост-компьютерами. Каждый подключенный к сети компьютер имеет свой адрес, по которому его может найти абонент из любой точки света. Важной особенностью Internet является то, что она, объединяя различные сети, не создает при этом никакой иерархии — все компьютеры, подключенные к сети, равноправны. Internet самостоятельно осуществляет передачу данных. К адресам станций предъявляются специальные требования. Адрес должен иметь формат, позволяющий вести его обработку автоматически, и должен нести некоторую информацию о своем владельце. С этой целью для каждого компьютера устанавливаются два адреса: цифровой IР-адрес (IP — Internetwork Protocol - межсетевой протокол) и доменный адрес. Оба эти адреса могут применяться равноценно. Цифровой адрес удобен для обработки на компьютере, а доменный адрес — для восприятия пользователем. Цифровой адрес имеет длину 32 бита. Для удобства он разделяется на четыре блока по 8 бит, которые можно записать в десятичном виде. Адрес содержит полную информацию, необходимую для идентификации компьютера. Два блока определяют адрес сети, а два другие — адрес компьютера внутри этой сети. Существует определенное правило для установления границы между этими адресами. Поэтому IP-адрес включает в себя три компонента: адрес сети, адрес подсети, адрес компьютера в подсети. Доменный адрес определяет область, представляющую ряд хосткомпьютеров. В отличие от цифрового адреса он читается в обратном порядке. Вначале идет имя компьютера, затем имя сети, в которой он 82
находится. Чтобы абонентам Internet можно было достаточно просто связаться друг с другом, все пространство ее адресов разделяется на области — домены. Возможно также разделение по определенным признакам и внутри доменов. В системе адресов Internet приняты домены, представленные географическими регионами. Они имеют имя, состоящее из двух букв. Географические домены некоторых стран: Франция — fr; Канада — са; США — us; Россия — ru. Существуют и домены, разделенные по тематическим признакам. Такие домены имеют трехбуквенное сокращенное название. Учебные заведения — edu. Правительственные учреждения — gov. Коммерческие организации — com. Компьютерное имя включает, как минимум, два уровня доменов. Каждый уровень отделяется от другого точкой. Слева от домена верхнего уровня располагаются другие имена. Все имена, находящиеся слева, — поддомены для общего домена. Пример. Существует имя tutor.sptu.edu. Здесь edu — общий домен для школ и университетов. Tutor — поддомен sptu, который является поддоменом edu. Для пользователей Internet адресами могут быть просто их регистрационные имена на компьютере, подключенном к сети. За именем следует знак @. Все это слева присоединяется к имени компьютера. Пример. Пользователь, зарегистрировавшийся под именем victor на компьютере, имеющем в Internet имя tutor.sptu.edu, будет иметь адрес: victor@ tutor.sptu.edu. В Internet могут использоваться не только имена отдельных людей, но и имена групп. Для обработки пути поиска в доменах имеются специальные серверы имен. Они преобразовывают доменное имя в соответствующий цифровой адрес. Локальный сервер передает запрос на глобальный сервер, имеющий связь с другими локальными серверами имен. Поэтому пользователю просто нет никакой необходимости знать цифровые адреса. Рассмотрим способы организации передачи информации. Электронная почта (e-mail) выполняет функции обычной почты. Она обеспечивает передачу сообщений из одного пункта в другой. Главным ее преимуществом является независимость от времени. Электронное письмо приходит сразу же после его отправления и хранится в почтовом ящике до получения адресатом. Кроме текста оно может содержать графические и звуковые файлы, а также двоичные файлы — программы. 83
Электронные письма могут отправляться сразу по нескольким адресам. Пользователь Internet с помощью электронной почты получает доступ к различным услугам сети, так как основные сервисные программы Internet имеют интерфейс с ней. Суть такого подхода заключается в том, что на хост-компьютер отправляется запрос в виде электронного письма. Текст письма содержит набор стандартных формулировок, которые и обеспечивают доступ к нужным функциям. Такое сообщение воспринимается компьютером как команда и выполняется им. Для работы с электронной почтой создано большое количество программ. Эти программы выполняют следующие функции: подготовку текста; чтение и сохранение корреспонденции; удаление корреспонденции; ввод адреса; комментирование и пересылку корреспонденции; импорт (прием и преобразование в нужный формат) других файлов. Сообщения можно обрабатывать собственным текстовым редактором программы электронной почты. Из-за ограниченности его возможностей обработку текстов большого размера лучше выполнять внешним редактором. При отправке такого текста программа электронной почты дает возможность его обработать. Обычно программы электронной почты пересылают тексты в коде ASCII и в двоичном формате. Код ASCII позволяет записывать только текст и не дает возможности передавать информацию об особенностях национальных шрифтов. В двоичных файлах сохраняется любая информация. Поэтому для передачи комбинированных сообщений (графика и текст), а также для передачи программ используются двоичные файлы. При отправлении сообщений по электронной почте необходимо указывать в адресе не только имя хост-компьютера, но и имя абонента, которому сообщение предназначено. Формат адреса электронной почты должен иметь вид: имя пользователя@адрес хост-компьютера Для каждого пользователя на одном хост-компьютере может быть заведен свой каталог для получения сообщений по электронной почте. Специальный стандарт МIМЕ (многоцелевое расширение почты Internet) позволяет вкладывать в символьные сообщения любые двоичные файлы, включая графику, аудио- и видеофайлы. 84
Пользователь, имеющий выход в Internet, может также отправлять электронную почту и по адресам других сетей, подключенных к ней с помощью шлюзов. В этом случае необходимо учитывать, что различные сети применяют различную адресацию пользователей. Отправляя сообщение по электронной почте в другую сеть, следует использовать принятую там систему адресов. World-Wide-Web (WWW - Всемирная информационная сеть) является одной из самых популярных информационных служб Internet. Две основные особенности отличают WWW: использование гипертекста и возможность клиентов взаимодействовать с другими приложениями Internet. Гипертекст — текст, содержащий в себе связи с другими текстами, графической, видео- или звуковой информацией. Внутри гипертекстового документа некоторые фрагменты текста четко выделены. Указание на них с помощью, например, мыши позволяет перейти на другую часть этого же документа, на другой документ в этом же компьютере или даже на документы на любом другом компьютере, подключенном к Internet. Все серверы WWW используют специальный язык HTML (язык разметки гипертекста). HTML - документы представляют собой текстовые файлы, в которые встроены специальные команды. WWW обеспечивает доступ к сети как клиентам, требующим только текстовый режим, так и клиентам, предпочитающим работу в режиме графики. Отображенный на экране гипертекст представляет собой сочетание алфавитно-цифровой информации в различных форматах и стилях и некоторые графические изображения — картинки. Связь между гипертекстовыми документами осуществляется с помощью ключевых слов. Найдя ключевое слово, пользователь может перейти в другой документ, чтобы получить дополнительную информацию. Новый документ также будет иметь гипертекстовые ссылки. Работая с Web-сервером, можно выполнить удаленное подключение Telnet, послать абонентам сети электронную почту, получить файлы с помощью FTP-анонима и выполнить ряд других приложений Internet. Это дает возможность считать WWW интегральной службой Internet. Так как создание собственного сервера WWW является сложным и дорогостоящим, то многие пользователи сети Internet могут размещать свою информацию на уже существующих серверах. Собственные страницы WWW можно создавать с помощью специальных редакторов страниц.
85
Система телеконференций Usenet была разработана для перемещения новостей между компьютерами по всему миру. В дальнейшем она практически полностью интегрировалась в Internet, и теперь Internet обеспечивает распространение всех ее сообщений. Серверы Usenet имеют средства для разделения телеконференций по темам. Телеконференции организованы по иерархическому принципу, и для верхнего уровня выбраны семь основных рубрик. В свою очередь, каждая из них охватывает сотни подгрупп. Образуется древовидная структура, напоминающая организацию файловой системы. Из числа основных рубрик следует выделить: • comp — темы, связанные с компьютерами; • sci — темы из области научных исследований; • news — информация и новости Usenet; • soc — социальная тематика; • talk — дискуссии. Существуют, кроме того, специальные рубрики и региональное разделение телеконференций. Управляют доступом к службе Usenet специальные программы, позволяющие выбирать телеконференции, работать с цепочками сообщений и читать сообщения и ответы на них. Эти программы выполняют такую функцию, как подписка на телеконференции. Если пользователь не вводит никаких ограничений, то по умолчанию производится подписка на все телеконференции, с которыми имеет связь его хост-компьютер. Программа также позволяет сделать тематический выбор и обеспечит пользователя сообщениями по интересующему его направлению. При участии в какой-либо телеконференции любой абонент может направить свое сообщение по интересующей его теме. Существуют два способа выполнения этой процедуры: • посылка непосредственного ответа автору статьи по адресу его электронной почты; • предоставление своего сообщения в распоряжение всех участников телеконференции. Передача файлов с помощью протокола FTP. Назначение электронной почты — прежде всего обмен текстовой информацией между различными компьютерными системами. Не меньший интерес для пользователей сети Internet представляет обмен отдельными файлами и целыми программами.
86
Для того чтобы обеспечить перемещение данных между различными операционными системами, которые могут встретиться в Internet, используется протокол FTP, работающий независимо от применяемого оборудования. Протокол обеспечивает способ перемещения файлов между двумя компьютерами и позволяет абоненту сети Internet получить в свое распоряжение множество файлов. Пользователь получает доступ к различным файлам и программам, хранящимся на компьютерах, подключенных к сети. Программа, реализующая этот протокол, позволяет установить связь с одним из множества FTP-серверов в Internet. FTP-сервер — компьютер, на котором содержатся файлы, предназначенные для открытого доступа. Программа FTP-клиент не только реализует протокол передачи данных, но и поддерживает набор команд, которые используются для просмотра каталога FTP-сервера, поиска файлов и управления перемещением данных. Если связь установлена, появится приглашение ввести имя пользователя. Пользователь, не зарегистрированный на сервере, может представиться именем "anonymus" и получить доступ к определенным файлам и программам. Если будет запрошен пароль, можно ввести свой адрес электронной почты. Поступившее после выполнения этих процедур приглашение позволяет работать с FTP-сервером.
87
8. Основы и методы защиты информации 8.1.Организационные и организационно - технические меры защиты информации Существует достаточно много возможных направлений утечки информации и путей несанкционированного доступа в системах и сетях. В том числе: чтение остаточной информации в памяти системы после выполнения санкционированных запросов, копирование носителей информации и файлов информации с преодолением мер защиты, маскировка под зарегистрированного пользователя, маскировка под запрос системы, использование программных ловушек, использование недостатков операционной системы, незаконное подключение к аппаратуре и линиям связи, злоумышленный вывод из строя механизмов защиты, внедрение и использование компьютерных вирусов. Обеспечение безопасности информации в вычислительных сетях и в компьютерах достигается комплексом автономно работающих организационных, организационно-технических и программных мер. К организационным мерам защиты относятся: ограничение доступа в помещения, в которых происходит подготовка и обработка информации, доступ к обработке и передаче конфиденциальной информации только проверенных должностных лиц, хранение магнитных носителей в сейфах, закрытых для доступа посторонними лицами, использование криптографических кодов при передаче по каналам связи ценной информации, уничтожение красящих лент, бумаги и иных материалов, содержащих фрагменты ценной информации.
88
Организационно-технические меры включают: осуществление питания оборудования от независимого источника или через специальные сетевые фильтры, установку на дверях помещений кодовых замков, использование для отображения информации жидкокристаллических дисплеев, а для получения твердых копий – струйных принтеров и термопринтеров, поскольку дисплей дает такое высокочастотное излучение, что изображение с его экрана можно принимать на расстоянии несколько сотен километров, уничтожение информации, хранящейся в ПЗУ и на НЖМД, при списании или отправке компьютеров в ремонт, установка клавиатуры и принтеров на мягкую поверхность с целью снижения возможности снятия информации акустическим способом, ограничение электромагнитного излучения путем экранирования помещений листами из металла или специальной пластмассы. Технические средства защиты – это система охраны территорий и помещений с помощью экранирования машинных залов и организации контрольно-пропускных систем. Защита информации в вычислительных средствах с помощью технических средств реализуется на основе организации доступа к памяти с помощью: контроля доступа к различным уровням памяти компьютеров, блокировки данных и ввода ключей, выделения контрольных битов записи с целью идентификации и др. 8.2. Основные понятия о защите программных продуктов Программные продукты и компьютерные базы данных являются предметом интеллектуального труда специалистов высокой квалификации. Поэтому необходимо принятия мер по защите интересов разработчиков программ и баз данных. Программное обеспечение является объектом защиты также и в связи со сложностью и трудоемкостью восстановления его работоспособности, значимостью программного обеспечения для работы информационной системы. 89
Защита программного обеспечения преследует следующие цели: - ограничение несанкционированного доступа к программам или их преднамеренное разрушение и хищение; - исключение несанкционированного копирования. Программный продукт и базы данных должны быть защищены по нескольким направлениям от воздействия: 1) человека — хищение машинных носителей и документации программного обеспечения; нарушение работоспособности программного продукта и др.; 2) аппаратуры — подключение к компьютеру аппаратных средств для считывания программ и данных или их физического разрушения; 3) специализированных программ — приведение программного продукта или базы данных в неработоспособное состояние (например, вирусное заражение), несанкционированное копирование программ и базы данных и т.д. Самый простой и доступный способ защиты программных продуктов и базы данных— ограничение доступа. Контроль доступа к программному продукту и базе данных строится путем: парольной защиты программ при их запуске; использования ключевой дискеты для запуска программ; ограничения программ или данных, функций обработки, доступных пользователям, и др. Могут также использоваться и криптографические методы защиты информации базы данных или головных программных модулей. 8.3. Программные методы защиты программных продуктов Данные системы предотвращают нелицензионное использование программных продуктов и баз данных. Программа выполняется только при опознании некоторого уникального некопируемого ключевого элемента. Таким ключевым элементом могут быть: дискета, на которой записан не подлежащий копированию ключ; определенные характеристики аппаратуры компьютера; специальное устройство (электронный ключ), подключаемое к компьютеру и предназначенное для выдачи опознавательного кода. Программные системы защиты от копирования программных продуктов: идентифицируют среду, из которой будет запускаться программа; 90
устанавливают соответствие среды, из которой запущена программа, той, для которой разрешен санкционированный запуск; вырабатывают реакцию на запуск из несанкционированной среды; регистрируют санкционированное копирование; противодействуют изучению алгоритмов и программ работы системы. Для идентификации запускающих дискет применяются следующие методы: 1) нанесение повреждений на поверхность дискеты ("лазерная дыра"), которая с трудом может быть воспроизведена в несанкционированной копии дискеты; 2) нестандартное форматирование запускающей дискеты. Идентификация среды компьютера обеспечивается за счет: 1) закрепления месторасположения программ на жестком магнитном диске (так называемые неперемещаемые программы), 2) привязки к номеру BIOS (расчет и запоминание с последующей проверкой при запуске контрольной суммы системы); 3) привязки к аппаратному (электронному) ключу, вставляемому в порт ввода-вывода, и др. 8.4. Правовые методы защиты программных продуктов и баз данных Правовые методы защиты программ включают: • патентную защиту; • закон о производственных секретах; • лицензионные соглашения и контракты; • закон об авторском праве. Различают две категории прав: • экономические права, дающие их обладателям право на получение экономических выгод от продажи или использования программных продуктов и баз данных; • моральные права, обеспечивающие защиту личности автора в его произведении. Во всех цивилизованных странах несанкционированное копирование программ в целях продажи или бесплатного распространения рассматривается как государственное преступление, карается штрафом или 91
тюремным заключением. Но, к сожалению, само авторское право не обеспечивает защиту новой идеи, концепции, методологии и технологии разработки программ, поэтому требуются дополнительные меры их защиты. Патентная защита устанавливает приоритет в разработке и использовании нового подхода или метода, примененного при разработке программ, удостоверяет их оригинальность. Статус производственного секрета для программы ограничивает круг лиц, знакомых или допущенных к ее эксплуатации, а также определяет меру их ответственности за разглашение секретов. Например, используется парольный доступ к программному продукту или базе данных, вплоть до паролей на отдельные режимы (чтение, запись, корректировку и т.п.). Программы, как любой материальный объект большой стоимости, необходимо охранять от кражи и преднамеренных разрушений. Лицензионные соглашения распространяются на все аспекты правовой охраны программных продуктов, включая авторское право, патентную защиту, производственные секреты. Наиболее часто используются лицензионные соглашения на передачу авторских прав. Лицензия — договор на передачу одним лицом (лицензиаром) другому лицу (лицензиату) права на использование имени, продукции, технологии или услуги. Лицензиар увеличивает свои доходы сбором лицензионных платежей, расширяет область распространения программного продукта или базы данных; лицензиат извлекает доходы за счет их применения. В лицензионном соглашении оговариваются все условия эксплуатации программ, в том числе создание копий. На каждой копии программы должны быть те же отметки, что и на оригинале: • знак авторского права (обычно ©) и название разработчика, года выпуска программы, прочих ее атрибутов; • знак патентной защиты или производственного секрета; • торговые марки, соответствующие использованным в программе другим программным изделиям (обычно — ™ и название фирмы-разработчика программного продукта); • символ зарегистрированного права на распространение программного продукта (обычно®). Существует несколько типов лицензий на программные продукты. Исключительная лицензия — продажа всех имущественных прав на программный продукт или базу данных, покупателю лицензии 92
предоставляется исключительное право на их использование, а автор или владелец патента отказывается от самостоятельного их применения или предоставления другим лицам. Это самый дорогой вид лицензии, к нему прибегают для монопольного владения с целью извлечения дополнительной прибыли либо с целью прекращения существования на рынке данного программного продукта. Простая лицензия — лицензиар предоставляет право лицензиату использовать программный продукт или базу данных, оставляя за собой право применять их и предоставлять на аналогичных условиях неограниченному числу лиц (лицензиат при этом не может сам выдавать сублицензии, может лишь продать копии приобретенного программного продукта или базы данных). Такой вид лицензии приобретают дилер (торговец) либо фирмыпроизводители, использующие купленные лицензии как сопутствующий товар к основному виду деятельности. Например, многие производители и фирмы, торгующие компьютерной техникой, осуществляют продажу вычислительной техники с установленным лицензионным программным обеспечением (операционная система, текстовый редактор, электронная таблица, графические пакеты и т.д.). Этикеточная лицензия — лицензия на одну копию программного продукта или базы данных. Данный тип лицензии применяется при розничной продаже. Каждый официальный покупатель заключает лицензионное соглашение с продавцом на их использование, но при этом сохраняется авторское право разработчика. Экономические отношения между лицензиаром и лицензиатом могут строиться различным образом. За право пользования программным продуктом или базой данных выплачивается единовременное вознаграждение (паушальный платеж), которое и является фактической ценой лицензии. Возможны и периодические отчисления лицензиару за право пользования в виде роялти — фиксированная ставка в определенные интервалы времени в течение действия лицензионного соглашения, как правило, процент от стоимости программных продуктов или баз данных. Закон об охране программных продуктов и компьютерных баз данных автором признает физическое лицо, в результате творческой деятельности которого они созданы. Автору независимо от его имущественных прав принадлежат личные авторские права: авторство, имя, неприкосновенность (целостность) программ или баз данных. Авторское право действует с момента создания программного продукта
93
-
или базы данных в течение всей жизни автора и 50 лет после его смерти. Автор может: выпускать в свет; воспроизводить в любой форме, любыми способами; распространять; модифицировать; осуществлять любое иное использование программного продукта или базы данных. Авторское право не связано с правом собственности на материальный носитель. Имущественные права на программный продукт или базу данных могут быть переданы частично или полностью другим физическим или юридическим лицам по договору. Имущественные права относятся к категории наследуемых. Если программный продукт или база данных созданы в порядке выполнения служебных обязанностей, имущественные права принадлежат работодателю. Программные продукты и базы данных могут использоваться третьими лицами - пользователями на основании договора с правообладателем. Лицо, правомерно владеющее экземпляром программы или базы данных, вправе, без получения дополнительного разрешения правообладателя, осуществлять любые действия связанные с функционированием программного продукта или базы данных в соответствии ее назначением, в том числе: • устанавливать один экземпляр, если не предусмотрено иное соглашение с правообладателем, программного продукта или базы данных на компьютер; • исправлять явные ошибки; • адаптировать программный продукт или базу данных; • изготавливать страховые копии.
94
9. Назначение и основы использования систем искусственного интеллекта Развитие искусственного интеллекта как научного направления стало возможным после создания ЭВМ в 40 гг. ХХ в. В это же время Н. Винер создал свои основополагающие работы по новой науке – кибернетике. Термин искусственный интеллект предложен в 1956 г. на семинаре в Станфордском университете (США). Вскоре произошло разделение искусственного интеллекта на два основных направления: нейрокибернетику и кибернетику «черного ящика». Основная идея нейрокибернетики заключается в следующем: единственный объект, способный мыслить, – это человеческий мозг. Поэтому любое «мыслящее» устройство должно каким-то образом воспроизводить его структуру. Нейрокибернетика ориентирована на аппаратное моделирование работы головного мозга. Основой мозга человека является большое количество (до 1021) связанных между собой нервных клеток – нейронов. В рамках нейрокибернетики создаются нейроноподобные элементы с целью их объединения в функционирующие системы. Эти системы называются нейронными сетями. На базе нейронных сетей появились нейрокомпьютеры, моделирующие структуру мозга человека. Основная область применения нейрокомпьютеров – распознавание образов. В настоящее время используются три подхода к созданию нейросетей: - аппаратный – создание специальных компьютеров, плат расширения, наборов микросхем, реализующих все необходимые алгоритмы, - программный – создание программ и инструментариев, рассчитанных на высокопроизводительные компьютеры. Сети создаются в памяти компьютера, всю работу выполняют его собственные процессоры, - гибридный – комбинация первых двух. Часть вычислений выполняют специальные платы расширения (сопроцессоры), часть – программные средства. В основу кибернетики «черного ящика» лег принцип, противоположный нейрокибернетике. Не имеет значение, как устроено «мыслящее» устройство. Главное, чтобы на заданные входные воздействия оно реагировало так же, как человеческий мозг.
95
Это направление ориентировано на поиски алгоритмов решения интеллектуальных задач на существующих моделях компьютеров. Были созданы и опробованы различные подходы. В 50-х годах родилась модель лабиринтного поиска. Этот подход представляет задачу как некоторый граф, отражающий пространство состояний. В этом графе проводится поиск оптимального пути от входных данных к результирующим. Начало 60-х годов – эпоха эвристического программирования. Эвристика – теоретически не обоснованное правило, но это правило позволяет сократить количество переборов в пространстве поиска. Эвристическое программирование – разработка стратегии действий на основе известных, заранее заданных эвристик. В конце 60-х годов к решению задач стали подключать методы математической логики. На основе метода резолюций, позволившего автоматически доказывать теоремы при наличии набора исходных аксиом, в 1973 году создается язык Пролог. Существенный прорыв в области искусственного интеллекта произошел в середине 70-х годов, когда на смену поискам универсального алгоритма мышления пришла идея моделировать конкретные знания специалистов-экспертов. В США появились первые системы, основанные на знаниях, или экспертные системы. Возник новый подход к решению задач искусственного интеллекта – представления знаний. Дадим современное определение понятия искусственного интеллекта. Искусственный интеллект — это одно из направлений информатики, цель которого разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать свои задачи, традиционно считающиеся интеллектуальными, общаясь с ЭВМ на ограниченном подмножестве естественного языка. Перечислим основные направления развития искусственного интеллекта . Представление знаний и разработка систем, основанных на знаниях. Это главное направление искусственного интеллекта. Оно связано с разработкой моделей представления знаний, созданием баз знаний, образующих ядро экспертных систем (ЭС). В последнее время включает в себя модели и методы извлечения и структурирования знаний и сливается с инженерией знаний. Игры и творчество. Традиционно искусственный интеллект включает в себя игровые интеллектуальные задачи — шахматы, шашки, го. В основе лежит один из ранних подходов — лабиринтная модель плюс эвристики. Сейчас это скорее коммерческое направление, так как в научном плане эти идеи считаются тупиковыми. 96
Разработка естественно-языковых интерфейсов и машинный перевод. В 50-х гг. одной из популярных тем исследований искусственного интеллекта являлась область машинного перевода. Первая программа в этой области — переводчик с английского языка на русский. Первая идея — пословный перевод, оказалась неплодотворной. В настоящее время используется более сложная модель, включающая анализ и синтез естественно-языковых сообщений, которая состоит из нескольких блоков. Для анализа это: • морфологический анализ — анализ слов в тексте; • синтаксический анализ — анализ предложений, грамматики и связей между словами; • семантический анализ — анализ смысла каждого предложения на основе некоторой предметно-ориентированной базы знаний; • прагматический анализ —анализ смысла предложений в окружающем контексте на основе собственной базы знаний. Синтез включает аналогичные этапы, но несколько в другом порядке. Распознавание образов. Традиционное направление искусственного интеллекта, берущее начало у самых его истоков. Каждому объекту ставится в соответствие матрица признаков, по которой происходит его распознавание. Это направление близко к машинному обучению, тесно связано с нейрокибернетикой. Новые архитектуры компьютеров. Это направление занимается разработкой новых аппаратных решений и архитектур, направленных на обработку символьных и логических данных. Создаются Пролог- и Лиспмашины, компьютеры V и VI поколений. Последние разработки посвящены компьютерам баз данных и параллельным компьютерам. Интеллектуальные роботы. Роботы — это электромеханические устройства, предназначенные для автоматизации человеческого труда. Роботы с жесткой схемой управления. Практически все современные промышленные роботы принадлежат к первому поколению. Фактически это программируемые манипуляторы. Адаптивные роботы с сенсорными устройствами. Есть образцы таких роботов, но в промышленности они пока не используются. Самоорганизующиеся, или интеллектуальные, роботы. Это конечная цель развития робототехники. Основная проблема при создании интеллектуальных роботов — проблема машинного зрения. Специальное программное обеспечение. В рамках этого направления разрабатываются специальные языки для решения задач невычислительного плана. Эти языки ориентированы на символьную 97
обработку информации — LISP, PROLOG, SMALLTALK, РЕФАЛ и др. Помимо этого создаются пакеты прикладных программ, ориентированные на промышленную разработку интеллектуальных систем, или программные инструментарии искусственного интеллекта. Достаточно популярно создание так называемых пустых экспертных систем, или "оболочек", в которых можно наполнять базы знаний, создавая различные системы. Обучение и самообучение. Активно развивающаяся область искусственного интеллекта. Включает модели, методы и алгоритмы, ориентированные на автоматическое накопление знаний на основе анализа и обобщения данных. Включает обучение по примерам (или индуктивное), а также традиционные подходы распознавания образов.
98
Заключение Современное общество живет в период, характеризующийся небывалым ростом объема информационных потоков. Это относится как к экономике, так и к социальной сфере. Наибольший объем информации наблюдается в промышленности, торговле, финансово-банковской деятельности. В промышленности рост объема информации обусловлен увеличением объема производства, усложнением вы пускаемой продукции, используемых материалов, технологической оборудования, расширением в результате концентрации и специализации производства внешних и внутренних связей экономических объектов. Рыночные отношения предъявляют повышенные требования к своевременности, достоверности, полноте информации. Использование ЭВМ приводит к коренной перестройке технологии производства практически во всех отраслях промышленности, коммерческой и финансово-кредитной деятельности и, как следствие, к повышению производительности и улучшению условий труда людей. Именно поэтому современный специалист должен владеть теоретическими знаниями в области информатики и практическими навыками использования вычислительной техники, техники связи и других средств управления. В условиях перехода от системы жесткого командного распределения ресурсов к рыночным отношениям интенсивно развиваются новые формы организации труда, производственных и межличностных отношений, растет потребность в разнообразной информации и, в частности, в оперативных сведениях коммерческого и правового характера. Все эти изменения требуют, чтобы будущие специалисты с высшим образованием (как профессионалы, так и неквалифицированные пользователи ЭВМ), являясь основными пользователями компьютерных информационных систем, были готовы к работе в новых условиях, владели основами информационной технологии, умели оценивать действия информационных систем, качество обработки, точность, полноту информации, закладываемой в основу принимаемых управленческих решений. Развитие современной микропроцессорной вычислительной техники, интегральных сетей связи, новых информационных технологий привело к бурному подъему индустрии переработки информации появлению новой науки — информатики. Информатика — наука о совокупности процессов получения, передачи, обработки, хранения представления и распространения информации во всех сферах человеческого общества. 99
Основная задача информатики — создание материально-технической базы для удовлетворения информационных потребностей промышленной и деловой сфер, органов государственного управления и других областей человеческой деятельности. Наука «информатика» охватывает как теоретический аспект — методологию информационной деятельности в условиях массовой компьютеризации, так и практический — информационную технологию эффективного применения комплекса технических средств для конкретных приложений. Современный инженер, экономист, юрист, врач должен владеть знаниями в области информатики и практическими навыками использования вычислительной техники, систем связи и передачи информации, знать основы новых информационных технологий, уметь оценивать точность и полноту информации, влияющей на принятие управленческих решений.
100
Список литературы 1. 2. 3. 4. 5. 6.
7.
8.
Ахметов К.С. Курс молодого бойца. - М.: Изд-во Microsoft , 2001. Безбородов Ю. М. Индивидуальная отладка программ. – М.: Наука. Главная редакция физико-математической литературы, 1982. Информатика: Учебник / Под ред. Н.В. Макаровой. – М.: Финансы и статистика, 2000. Острейковский В.А. Информатика: Учеб. для вузов. – М.: Высш. шк., 2000. Проблемы информатизации: Теоретический и научно-практический журнал. – М.: Миннауки, 1993-1997. Пройдаков Э., Теплицкая Л. Англо-русский толковый словарь по вычислительной технике, Интернету и программированию. - М.: Изд-во Microsoft , 2002. Советов Б.Я. Информационная технология: Учеб. для вузов по спец. "Автоматизиров. системы обработки информ. и упр." - М.:Высш. шк., 1994. Федеральный закон «Об информации, информатизации и защите информации» // Российская газета. 1995. – 22 февраля.
101
Содержание Введение ……………………………………………………………….3 1. Основные понятия и определения информатики …………………3 1.1. Информация и информатика ………………………………..5 1.2. Информационные технологии ……………………………...8 1.3. Информационный ресурс и его составляющие …...……...10 1.4. История развития информатики и мировоззренческие аспекты информационных технологий ………………………..11 1.5. Экономические и правовые аспекты информационных технологий ………………………………………………………14 2. Количество и качество информации ……………………………..17 2.1. Формы адекватности информации ………………………..17 2.2. Информация и энтропия, измерения информации ………18 2.3. Качество информации ……………………………………..22 3. Представление информации в ЭВМ ……………………………...25 3.1. Позиционные системы счисления ………………………...25 3.2. Форматы представления чисел ……………………………28 3.3. Представление текстовой информации …………………..32 4. Функциональная и структурная организация компьютера ……..33 4.1. Принцип программного управления ……………………...33 4.2. Основные блоки компьютера и их назначение …………..35 4.3. Характеристики основных устройств компьютера ……...40 5. Основные этапы компьютерного решения задач …………………44 5.1. Жизненный цикл программного обеспечения …………...44 5.2. Понятие и свойства алгоритма ……………………………46 5.3. Способы записи алгоритма ………………………………..47 5.4. Классификация алгоритмов ……………………………….50 6. Программные средства информационных технологий …………..54 6.1. Структура программного обеспечения с точки зрения пользователя ……..……………………………………………..54 6.2. Методы проектирования программных продуктов ……...55 6.3. Структурное проектирование и программирование …….56
102
6.4. Организация и средства дружественного интерфейса пользователя …………………………………………………….60 6.5. Критерии качества программ ……………………………...61 7. Сетевые технологии обработки данных ………………………….63 7.1. Понятие об информационных технологиях на сетях ……63 7.2. Режимы передачи данных …………………………………65 7.3. Модуляция сигналов ……………………………………….67 7.4. Каналы передачи данных и их характеристики ………….71 7.5. Архитектура компьютерных сетей ……………………….73 7.6. Локальные вычислительные сети …………………………77 7.7. Глобальная сеть Internet …………………………………...81 8. Основы и методы защиты информации ………………………….88 8.1. Организационные и организационно - технические меры защиты информации ……………………………………………88 8.2. Основные понятия о защите программных продуктов ….89 8.3. Программные методы защиты программных продуктов .90 8.4. Правовые методы защиты программных продуктов …….91 9. Назначение и основы использования систем искусственного интеллекта ……………………………………………………………...95 Заключение …………………………………………………………….99 Список литературы …………………………………………………..101
103