Лекции_ Информатика

advertisement
Информатика
Пособие по изучению дисциплины
2
1. ВВЕДЕНИЕ В ИНФОРМАТИКУ
1.1. Основные понятия информатики
1.1.1. Объект и предмет информатики
Информатика – научная дисциплина, изучающая вопросы, связанные с поиском, сбором, хранением,
преобразованием и использованием информации в самых различных сферах человеческой деятельности.
Генетически информатика связана с вычислительной техникой, компьютерными системами и сетями, так
как именно компьютеры позволяют порождать, хранить и автоматически перерабатывать информацию в
таких количествах, что научный подход к информационным процессам становится одновременно
необходимым и возможным.
Объектом информатики выступают как сами ЭВМ (компьютеры), так и основанные на них и
телекоммуникационной технике информационные системы (ИС) различного класса и назначения.
Информатика изучает все стороны их разработки, проектирования, создания, анализа и использования на
практике. Информационные технологии (ИТ) – это машинизированные способы обработки информации,
которые реализуются посредством автоматизированных информационных систем (АИС).
Понятие технологии вообще включает комплекс научных и инженерных знаний, воплощенных в
приемах труда, наборах материальных, технических, энергетических, трудовых факторов производства,
способов их соединения для создания продукта или услуги, отвечающих определенным требованиям,
стандартам. В таком понимании термин технология неразрывно связан с машинизацией производственного
или непроизводственного (социального) процесса. Последнее важно подчеркнуть для обозначения точных
исторических границ информатики: информатики не могло быть в домашинный период обработки и
представления знаний, когда не было ИТ. Переработка информации с помощью ЭВМ и выработка новых
знаний, соотнесенных с целями пользователей, – функциональное назначение ИТ.
Информатизация общества в части материально-технической базы, математического и программного
обеспечения ИТ изучается различными науками: кибернетикой, системотехникой, теорией информации, а в
части формирования функциональных подсистем – различными общественными науками: экономикой,
правоведением, психологией. В формировании ИТ участвуют и науки, относящиеся к той или иной
автоматизируемой области: медицина, когда речь идет о внедрении ЭВМ в здравоохранение; педагогика
(компьютеризация учебного процесса); военные науки (использование ЭВМ в военном деле); экономика и
т.д. Каждая из указанных наук рассматривает компьютеризацию со своей стороны, прилагает к ней свои
законы и принципы.
А какую же сторону рассматриваемого объекта выбирает информатика, делая ее своим предметом?
Она выбирает содержательную, смысловую сторону создания и функционирования информационных
систем и технологий, связанную с их сущностью, социальной отдачей, полезностью, местом в
общественных системах, историческим значением как фактора радикального прогресса и выхода общества
на качественно новые исторические рубежи.
Информационные технологии и выступили новым средством превращения знаний в информационный
ресурс (ИР) общества, его новым движущим фактором, стали средством его эффективного использования.
Информационный ресурс стал основным ресурсом человечества, главной ценностью современной
цивилизации. Но возникли и сложные проблемы, относящиеся к роли, механизму функционирования,
социальным последствиям использования ИР. Для их решения и появилась новая наука – информатика.
Предметом информатики как новой фундаментальной науки выступает ИР – его сущность, законы
функционирования, механизмы взаимодействия с другими ресурсами общества и воздействия на
социальный прогресс. Переход на уровень ИР в его содержательной трактовке означает переход к изучению
внутренних связей и закономерностей социальной динамики, основанной на использовании ИТ.
Таким образом, предметом информатики является информационный ресурс как симбиоз знания и
информации. Он выступает в качестве предмета новой науки и с содержательной, и с формальноматематической, и с технической сторон. Необходимо разграничивать предмет информатики как
фундаментальной науки, ее объект и инструментарий: основанные на ЭВМ вычислительные системы,
программы, сети связи и т.д. Без ЭВМ нет информатики, но нельзя объявлять информатику наукой об ЭВМ.
Конечно, практическая необходимость в информатике возникла в связи с использованием ЭВМ. Но,
“оттолкнувшись от ЭВМ”, информатика во главу угла ставит новые понятия – ИР и его социальную
полезность, отдачу.
Важная особенность информатики – широчайшие приложения, охватывающие почти все виды
человеческой деятельности: производство, управление, науку, образование, проектные разработки,
торговлю, финансовую сферу, медицину, криминалистику, охрану окружающей среды и др. И, может быть,
главное из них – совершенствование социального управления на основе новых информационных
технологий.
Как наука информатика изучает общие закономерности, свойственные информационным процессам (в
самом широком смысле этого понятия). Когда разрабатываются новые носители информации, каналы связи,
приемы кодирования, визуального отображения информации и многое другое, конкретная природа этой
3
информации почти не имеет значения. Для разработчика системы управления базами данных (СУБД) важны
общие принципы организации и эффективность поиска данных, а не то, какие конкретно данные будут
затем заложены в базу многочисленными пользователями. Эти общие закономерности есть предмет
информатики как науки.
Перечислим наиболее важные реализации информационных технологий.
АСУ – автоматизированные системы управления – комплекс технических и программных средств,
которые во взаимодействии с человеком организуют управление объектами в производстве или
общественной сфере. Например, в образовании используются системы АСУ-ВУЗ.
АСУТП – автоматизированные системы управления технологическими процессами. Например, такая
система управляет работой станка с числовым программным управлением (ЧПУ), процессом запуска
космического аппарата и т.д.
АСНИ – автоматизированная система научных исследований – программно-аппаратный комплекс, в
котором научные приборы сопряжены с компьютером, вводят в него данные измерений автоматически, а
компьютер производит обработку этих данных и представление их в наиболее удобной для исследователя
форме.
АОС – автоматизированная обучающая система. Есть системы, помогающие учащимся осваивать
новый материал, производящие контроль знаний, помогающие преподавателям готовить учебные
материалы и т.д.
САПР-система автоматизированного проектирования – программно-аппаратный комплекс, который во
взаимодействии с человеком (конструктором, инженром-проектировщиком, архитектором и т.д.) позволяет
максимально эффективно проектировать механизмы, здания, узлы сложных агрегатов и др.
Упомянем также диагностические системы в медицине, системы организации продажи билетов,
системы ведения бухгалтерско-финансовой деятельности, системы обеспечения редакционно-издательской
деятельности – спектр применения информационных технологий чрезвычайно широк.
С развитием информатики возникает вопрос о ее взаимосвязи и разграничении с кибернетикой. При
этом требуется уточнение предмета кибернетики, более строгое его толкование. Информатика и
кибернетика имеют много общего, основанного на концепции управления, но имеют и объективные
различия. Один из подходов разграничения информатики и кибернетики – отнесение к области
информатики исследований информационных технологий не в любых кибернетических системах
(биологических, технических и т.д.), а только в социальных системах. В то время как за кибернетикой
сохраняются исследования общих законов движения информации в произвольных системах, информатика,
опираясь на этот теоретический фундамент, изучает конкретные способы и приемы переработки, передачи,
использования информации.
1.1.2. Структура современной информатики
Каждая из составных частей информатики может рассматриваться как относительно самостоятельная
научная дисциплина; взаимоотношения между ними примерно такие же, как между алгеброй, геометрией и
математическим анализом в классической математике – все они хоть и самостоятельные дисциплины, но,
несомненно, части одной науки.
Теоретическая информатика – часть информатики, включающая ряд математических разделов. Она
опирается на математическую логику и включает такие разделы, как теория алгоритмов и автоматов, теория
информации и теория кодирования, теория формальных языков и грамматик, исследование операций и
другие. Этот раздел информатики использует математические методы для общего изучения процессов
обработки информации.
Вычислительная техника – раздел, в котором разрабатываются общие принципы построения
вычислительных систем. Речь идет не о технических деталях и электронных схемах (это лежит за пределами
информатики как таковой), а о принципиальных решениях на уровне так называемой архитектуры
вычислительных (компьютерных) систем, определяющей состав, назначение, функциональные возможности
и принципы взаимодействия устройств. Примеры принципиальных, ставших классическими, решений в
этой области – неймановская архитектура компьютеров первых поколений, шинная архитектура ЭВМ
старших поколений, архитектура параллельной (многопроцессорной) обработки информации.
Программирование – деятельность, связанная с разработкой систем программного обеспечения. Здесь
отметим лишь основные разделы современного программирования: создание системного программного
обеспечения и создание прикладного программного обеспечения. Среди системного – разработка новых
языков программирования и компиляторов к ним, разработка операционных систем (пример – общеизвестная операционная оболочка и система Windows). Среди прикладного программного обеспечения общего
назначения самые популярные – системы обработки текстов, электронные таблицы (табличные
процессоры), системы управления базами данных. В каждой области предметных приложений информатики
существует множество специализированных прикладных программ более узкого назначения.
Информационные системы – раздел информатики, связанный с решением вопросов по анализу
потоков информации в различных сложных системах, их оптимизации, структурировании, принципах
хранения и поиска информации. Информационно-справочные системы, информационно-поисковые
4
системы, гигантские современные глобальные системы хранения и поиска информации (включая широко
известный Internet) в последнее десятилетие XX века привлекают внимание все большего круга
пользователей. Без теоретического обоснования принципиальных решений в океане информации можно
просто захлебнуться. Известным примером решения проблемы на глобальном уровне может служить
гипертекстовая поисковая система WWW, а на значительно более низком уровне – справочная система, к
услугам которой мы прибегаем, набрав телефонный номер 09.
Искусственный интеллект – область информатики, в которой решаются сложнейшие проблемы,
находящиеся на пересечении с психологией, физиологией, лингвистикой и другими науками. Как научить
компьютер мыслить подобно человеку? Поскольку мы далеко не все знаем о том, как мыслит человек,
исследования по искусственному интеллекту, несмотря на полувековую историю, все еще не привели к
решению ряда принципиальных проблем. Основные направления разработок, относящихся к этой области, –
моделирование рассуждений, компьютерная лингвистика, машинный перевод, создание экспертных систем,
распознавание образов и другие. От успехов работ в области искусственного интеллекта зависит, в
частности, решение такой важнейшей прикладной проблемы, как создание интеллектуальных интерфейсных
систем взаимодействия человека с компьютером, благодаря которым это взаимодействие будет походить на
межчеловеческое и станет более эффективным.
1.1.3. Информационные ресурсы
Ресурс – запасы, источники чего-нибудь. Такая трактовка приведена в “Словаре русского языка” С.И.
Ожегова.
В индустриальном обществе, где большая часть усилий направлена на материальное производство,
известно несколько основных видов ресурсов, ставших уже классическими экономическими категориями:
· материальные ресурсы – совокупность предметов труда, предназначенных для использования в
процессе производства общественного продукта, например сырье, материалы, топливо, энергия,
полуфабрикаты, детали и т.д.;
· природные ресурсы – объекты, процессы, условия природы, используемые обществом для
удовлетворения материальных и духовных потребностей людей;
· трудовые ресурсы – люди, обладающие общеобразовательными и профессиональными знаниями для
работы в обществе;
· финансовые ресурсы – денежные средства, находящиеся в распоряжении государственной или
коммерческой структуры;
· энергетические ресурсы – носители энергии, например уголь, нефть, нефтепродукты, газ,
гидроэнергия, электроэнергия и т.д.
Одним из ключевых понятий при информатизации общества стало понятие «информационные
ресурсы», толкование и обсуждение которого велось с того момента, когда начали говорить о переходе к
информационному обществу. Этому вопросу посвящено довольно много публикаций, в которых отразились
и разные мнения и определения, и разные научные школы, рассматривающие эти понятия.
Информационные ресурсы – отдельные документы и отдельные массивы документов, документы и
массивы документов в информационных системах (библиотеках, архивах, фондах, банках данных, других
информационных системах).
Надо понимать, что документы и массивы информации не существуют сами по себе. В них в разных
формах представлены знания, которыми обладали люди, создававшие их. Таким образом, информационные
ресурсы – это знания, подготовленные людьми для социального использования в обществе и
зафиксированные на материальном носителе.
Информационные ресурсы общества, если их понимать как знания, отчуждены от тех людей, которые
их накапливали, обобщали, анализировали, создавали и т.п. Эти знания материализовались в виде
документов, баз данных, баз знаний, алгоритмов, компьютерных программ, а также произведений искусства,
литературы, науки.
В настоящее время не разработана методология количественной и качественной оценки
информационных ресурсов, а также прогнозирования потребностей общества в них. Это снижает
эффективность информации, накапливаемой в виде информационных ресурсов, и увеличивает
продолжительность переходного периода от индустриального общества к информационному. Кроме того,
неизвестно, какой объем трудовых ресурсов должен быть задействован в сфере производства и
распространения информационных ресурсов в информационном обществе. Несомненно, в будущем эти
проблемы будут решены.
Информационные ресурсы страны, региона, организации должны рассматриваться как стратегические
ресурсы, аналогичные по значимости запасам сырья, энергии, ископаемых и прочим ресурсам.
1.2. История развития информатики
До настоящего времени толкование термина “информатика” (в том смысле как он используется в
современной научной и методической литературе) еще не является установившимся и общепринятым.
5
Обратимся к истории вопроса, восходящей ко времени появления электронных вычислительных машин.
После второй мировой войны возникла и начала бурно развиваться кибернетика как наука об общих
закономерностях в управлении и связи в различных системах: искусственных, биологических, социальных.
Рождение кибернетики принято связывать с опубликованием в 1948 г. американским математиком
Норбертом Винером ставшей знаменитой книги “Кибернетика или управление и связь в животном и
машине”. В этой работе были показаны пути создания общей теории управления и заложены основы
методов рассмотрения проблем управления и связи для различных систем с единой точки зрения. Развиваясь
одновременно с развитием электронно-вычислительных машин, кибернетика со временем превращалась в
более общую науку о преобразовании информации. Под информацией в кибернетике понимается любая
совокупность сигналов, воздействий или сведений, которые некоторой системой воспринимаются от
окружающей среды (входная информация X), выдаются в окружающую среду (выходная информация Y), а
также хранятся в себе (внутренняя, внутрисистемная информация Z).
Развитие кибернетики в нашей стране встретило идеологические препятствия. Как писал академик
А.И.Берг, “... в 1955–57 гг. и даже позже в нашей литературе были допущены грубые ошибки в оценке
значения и возможностей кибернетики. Это нанесло серьезный ущерб развитию науки в нашей стране,
привело к задержке в разработке многих теоретических положений и даже самих электронных машин”.
Достаточно сказать, что еще в философском словаре 1959 года издания кибернетика характеризовалась как
“буржуазная лженаука”. Причиной этому послужили, с одной стороны, недооценка новой бурно
развивающейся науки отдельными учеными “классического” направления, с другой – неумеренное
пустословие тех, кто вместо активной разработки конкретных проблем кибернетики в различных областях
спекулировал на полуфантастических прогнозах о безграничных возможностях кибернетики, дискредитируя
тем самым эту науку.
Дело к тому же осложнялось тем, что развитие отечественной кибернетики на протяжении многих лет
сопровождалось серьезными трудностями в реализации крупных государственных проектов, например,
создания автоматизированных систем управления (АСУ). Однако за это время удалось накопить
значительный опыт создания информационных систем и систем управления технико-экономическими
объектами. Требовалось выделить из кибернетики здоровое научное и техническое ядро и консолидировать
силы для развития нового движения к давно уже стоящим глобальным целям.
Подойдем сейчас к этому вопросу с терминологической точки зрения. Вскоре вслед за появлением
термина “кибернетика” в мировой науке стало использоваться англоязычное “Computer Science”, а чуть
позже, на рубеже шестидесятых и семидесятых годов, французы ввели получивший сейчас широкое
распространение термин “Informatique”. В русском языке раннее употребление термина “информатика”
связано с узко-конкретной областью изучения структуры и общих свойств научной информации,
передаваемой посредством научной литературы. Эта информационно-аналитическая деятельность,
совершенно необходимая и сегодня в библиотечном деле, книгоиздании и т.д., уже давно не отражает современного понимания информатики. Как отмечал академик А.П.Ершов, в современных условиях термин
информатика “вводится в русский язык в новом и куда более широком значении – как название
фундаментальной естественной науки, изучающей процессы передачи и обработки информации. При таком
толковании информатика оказывается более непосредственно связанной с философскими и общенаучными
категориями, проясняется и ее место в кругу «традиционных» академических научных дисциплин”.
Попытку определить, что же такое современная информатика, сделал в 1978 г. Международный
конгресс по информатике: “Понятие информатики охватывает области, связанные с разработкой, созданием,
использованием и материально-техническим обслуживанием систем обработки информации, включая
машины, оборудование, математическое обеспечение, организационные аспекты, а также комплекс
промышленного, коммерческого, административного и социального воздействия”.
1.3. Место информатики в ряду других фундаментальных наук
Рассмотрим место науки информатики в традиционно сложившейся системе наук (технических,
естественных, гуманитарных и т.д.).
Напомним, что по определению А.П.Ершова информатика – “фундаментальная естественная наука”.
Академик Б.Н.Наумов определял информатику “как естественную науку, изучающую общие свойства
информации, процессы, методы и средства ее обработки (сбор, хранение, преобразование, перемещение,
выдача)”.
Уточним, что такое фундаментальная наука и что такое естественная наука. К фундаментальным
принято относить те науки, основные понятия которых носят общенаучный характер, используются во
многих других науках и видах деятельности. Нет, например, сомнений в фундаментальности столь разных
наук как математика и философия. В этом же ряду и информатика, так как понятия “информация”,
“процессы обработки информации” несомненно имеют общенаучную значимость.
Естественные науки – физика, химия, биология и другие – имеют дело с объективными сущностями
мира, существующими независимо от нашего сознания. Отнесение к ним информатики отражает единство
законов обработки информации в системах самой разной природы – искусственных, биологических,
общественных.
6
Рис. 1.1 К вопросу о месте информатики в системе наук
Однако многие ученые подчеркивают, что информатика имеет характерные черты и других групп наук
– технических и гуманитарных (или общественных).
Черты технической науки придают информатике ее аспекты, связанные с созданием и
функционированием машинных систем обработки информации. Так, академик А.А.Дородницын определяет
состав информатики как “три неразрывно и существенно связанные части: технические средства,
программные и алгоритмические”. Науке информатике присущи и некоторые черты гуманитарной
(общественной) науки, что обусловлено ее вкладом в развитие и совершенствование социальной сферы.
Таким образом, информатика является комплексной, междисциплинарной отраслью научного знания, как
это изображено на рис. 1.1.
1.4. Информационные технологии
Информационная технология – процесс, использующий совокупность средств и методов сбора,
обработки и передачи данных (первичной информации) для получения информации нового качества о
состоянии объекта, процесса или явления (информационного продукта).
Цель информационной технологии – производство информации для ее анализа человеком и
принятия на его основе решения по выполнению какого-либо действия.
Информационная технология является наиболее важной составляющей процесса использования
информационных ресурсов общества. К настоящему времени она прошла несколько эволюционных этапов,
смена которых определялась главным образом развитием научно-технического прогресса, появлением
новых технических средств переработки информации. В современном обществе основным техническим
средством технологии переработки информации служит персональный компьютер, который существенно
повлиял как на концепцию построения и использования технологических процессов, так и на качество
результатной информации.
Внедрение
персонального
компьютера
в
информационную
сферу
и
применение
телекоммуникационных средств связи определили новый этап развития информационной технологии и, как
следствие, изменение ее названия за счет присоединения одного из синонимов: «новая», «компьютерная»
или «современная».
Инструментарий информационной технологии – один или несколько взаимосвязанных
программных продуктов для определенного типа компьютера, технология работы в котором позволяет
достичь поставленную пользователем цель.
В качестве инструментария можно использовать следующие распространенные виды программных
продуктов для персонального компьютера: текстовый процессор (редактор), настольные издательские
системы, электронные таблицы, системы управления базами данных, электронные записные книжки,
электронные календари, информационные системы функционального назначения (финансовые,
бухгалтерские, для маркетинга и пр.), экспертные системы и т.д.
Информационная технология является процессом, состоящим из четко регламентированных правил
выполнения операций, действий, этапов разной степени сложности над данными, хранящимися в
компьютерах. Основная цель информационной технологии – в результате целенаправленных действий по
переработке первичной информации получить необходимую для пользователя информацию.
Информационная технология тесно связана с информационными системами, которые являются для нее
основной средой.
Информационная система является средой, составляющими элементами которой являются
компьютеры, компьютерные сети, программные продукты, базы данных, люди, различного рода
технические и программные средства связи и т.д. Основная цель информационной системы – организация
хранения и передачи информации. Информационная система представляет собой человеко-компьютерную
систему обработки информации.
На рис. 1.2 технологический процесс переработки информации представлен в виде иерархической
7
структуры по уровням.
Рис.1.2. Представление информационной технологии в виде иерархической структуры, состоящей из этапов, действий,
операций
Необходимо понимать, что освоение информационной технологии и дальнейшее ее использование
должны свестись к тому, что вы должны сначала хорошо овладеть набором элементарных операций, число
которых ограничено. Из этого ограниченного числа элементарных операций в разных комбинациях
составляется действие, а из действий, также в разных комбинациях, составляются операции, которые
определяют тот или иной технологический этап. Совокупность технологических этапов образует
технологический процесс (технологию).
Информационная технология, как и любая другая, должна отвечать следующим требованиям:
· обеспечивать высокую степень расчленения всего процесса обработки информации на этапы (фазы),
операции, действия;
· включать весь набор элементов, необходимых для достижения поставленной цели;
· иметь регулярный характер. Этапы, действия, операции технологического процесса могут быть
стандартизированы и унифицированы, что позволит более эффективно осуществлять целенаправленное
управление информационными процессами.
1.5. Социально-экономические аспекты информационных технологий
Термин “социальные аспекты” применительно к большей части наук, тем более фундаментальных,
звучит странно. Вряд ли фраза “Социальные аспекты математики” имеет смысл. Однако информатика – не
только наука. Вспомним цитированное выше определение: “... комплекс промышленного, коммерческого,
административного и социального воздействия”.
И действительно, мало какие факторы так влияют на социальную сферу обществ (разумеется,
находящихся в состоянии относительно спокойного развития, без войн и катаклизмов), как информатизация.
Информатизация общества – процесс проникновения информационных технологий во все сферы жизни и
деятельности общества. Многие социологи и политологи полагают, что мир стоит на пороге
информационного общества. В.А. Извозчиков предлагает следующее определение: “Будем понимать под
термином “информационное” (“компьютеризированное”) общество то, во все сферы жизни и деятельности
членов которого включены компьютер, телематика, другие средства информатики в качестве орудий
интеллектуального труда, позволяющих с огромной скоростью проводить вычисления и перерабатывать
любую информацию, моделировать реальные и прогнозируемые события, процессы, явления, управлять
производством, автоматизировать обучение и т.д.”. Под “телематикой” в приведенной цитате понимаются
службы обработки информации на расстоянии (кроме традиционных телефона и телеграфа).
Последние полвека информатизация является одной из причин перетока людей из сферы прямого
материального производства в так называемую информационную сферу. Промышленные рабочие и
крестьяне, составлявшие в середине XX века более 2/3 населения, сегодня в развитых странах составляют
менее 1/3. Все больше тех, кого называют “белые воротнички”, – людей, не создающих материальные
ценности непосредственно, а занятых обработкой информации (в самом широком смысле): это и учителя, и
банковские служащие, и программисты, и многие другие категории работников. Появились и новые
пограничные специальности. Можно ли назвать рабочим программиста, разрабатывающего программы для
станков с числовым программным управлением? По ряду параметров можно, однако его труд не
8
физический, а интеллектуальный.
Информатизация сильнейшим образом влияет на структуру экономики ведущих в экономическом
отношении стран. Среди лидирующих отраслей промышленности традиционные добывающие и
обрабатывающие отрасли оттеснены максимально наукоемкими производствами электроники, средств связи
и вычислительной техники (так называемой сферой высоких технологий). В этих странах постоянно растут
капиталовложения в научные исследования, включая фундаментальные науки. Темпы развития сферы
высоких технологий и уровень прибылей в ней превышают в 5-10 раз темпы развития традиционных
отраслей производства.
Такая политика имеет и социальные последствия – увеличение потребности в высокообразованных
специалистах и связанный с этим прогресс системы высшего образования. Информатизация меняет и облик
традиционных отраслей промышленности и сельского хозяйства. Промышленные роботы, управляемые
ЭВМ, станки с ЧПУ стали обычным оборудованием. Новейшие технологии в сельскохозяйственном
производстве не только увеличивают производительность труда, но и облегчают его, вовлекают более
образованных людей.
Казалось бы, компьютеризация и информационные технологии несут в мир одну лишь благодать, но
социальная сфера столь сложна, что последствия любого, даже гораздо менее глобального процесса редко
бывают однозначными. Рассмотрим, например, такие социальные последствия информатизации, как рост
производительности труда, интенсификацию труда, изменение условий труда. Все это, с одной стороны,
улучшает условия жизни многих людей, повышает степень материального и интеллектуального комфорта,
стимулирует рост числа высокообразованных людей, а с другой – является источником повышенной
социальной напряженности. Например, появление на производстве промышленных роботов ведет к полному
изменению технологии, которая перестает быть ориентированной на человека. Тем самым меняется
номенклатура профессий. Значительная часть людей вынуждена менять либо специальность, либо место
работы – рост миграции населения характерен для большинства развитых стран. Государство и частные
фирмы поддерживают систему повышения квалификации и переподготовки, но не все люди справляются с
сопутствующим стрессом. Прогрессом информатики порожден и другой достаточно опасный для
демократического общества процесс – все большее количество данных о каждом гражданине сосредоточивается в разных (государственных и негосударственных) банках данных. Это данные о
профессиональной карьере (базы данных отделов кадров), здоровье (базы данных учреждений
здравоохранения), имущественных возможностях (базы данных страховых компаний), перемещении по
миру и т.д. (не говоря уже о тех, которые копят специальные службы). В каждом конкретном случае
создание банка может быть оправдано, но в результате возникает система невиданной раньше ни в одном
тоталитарном обществе прозрачности личности, чреватой возможным вмешательством государства или
злоумышленников в частную жизнь. Одним словом, жизнь в “информационном обществе” легче, повидимому, не становится, а вот то, что она значительно меняется, – несомненно.
1.6. Правовые и этические аспекты информационных технологий
Деятельность программистов и других специалистов, работающих в сфере информатики, все чаще
выступает в качестве объекта правового регулирования. Некоторые действия при этом могут быть
квалифицированы как правонарушения (преступления).
Необходимо отметить, что регулирование в сфере, связанной с защитой информации,
программированием и т.д., является для российского законодательства принципиально новым, еще слабо
разработанным направлением. В 1992 году был принят Закон Российской Федерации “О правовой охране
программ для электронных вычислительных машин и баз данных”, содержащий обширный план приведения
российского законодательства в сфере информатики в соответствие с мировой практикой. Действие этого
Закона распространяется на отношения, связанные с созданием и использованием программ для ЭВМ и баз
данных. Также предусматривалось внести изменения и дополнения в Гражданский кодекс РФ, в Уголовный
кодекс РФ, другие законодательные акты, связанные с вопросами правовой охраны программ для электронных вычислительных машин и баз данных, привести решения Правительства РФ в соответствие с Законом,
обеспечить пересмотр и отмену государственными ведомствами и другими организациями РФ их
нормативных актов, противоречащих указанному Закону, обеспечить принятие нормативных актов в
соответствии с указанным Законом и т.д.
Главное содержание данного Закона – юридическое определение понятий, связанных с авторством и
распространением компьютерных программ и баз данных, таких как Авторство, Адаптация, База данных,
Воспроизведение, Декомпилирование, Использование, Модификация и т.д., а также установление прав,
возникающих при создании программ и баз данных, – авторских, имущественных, на передачу, защиту,
регистрацию, неприкосновенность и т.д.
Авторское право распространяется на любые программы для ЭВМ и базы данных (как выпущенные,
так и не выпущенные в свет), представленные в объективной форме, независимо от их материального
носителя, назначения и достоинства. Авторское право распространяется на программы для ЭВМ и базы
данных, являющиеся результатом творческой деятельности автора. Творческий характер деятельности
автора предполагается до тех пор, пока не доказано обратное.
9
Авторское право на программы для ЭВМ и базы данных возникает в силу их создания. Для признания
и осуществления авторского права на программы для ЭВМ и базы данных не требуется опубликования,
регистрации или соблюдения иных формальностей. Авторское право на базу данных признается при
условии соблюдения авторского права на каждое из произведений, включенных в базу данных.
Автором программы для ЭВМ и базы данных признается физическое лицо, в результате творческой
деятельности которого они созданы.
Автору программы для ЭВМ или базы данных или иному правообладателю принадлежит
исключительное право осуществлять и (или) разрешать осуществление следующих действий:
· выпуск в свет программы для ЭВМ и базы данных;
· воспроизведение программы для ЭВМ и базы данных (полное или частичное) в любой форме,
любыми способами;
· распространение программы для ЭВМ и баз данных;
· модификацию программы для ЭВМ и базы данных, в том числе перевод программы для ЭВМ и базы
данных с одного языка на другой;
· иное использование программы для ЭВМ и базы данных.
В настоящее время уголовное законодательство РФ не в полной мере учитывает все возможные
компьютерные преступления. Вообще же, в законодательной практике многих стран отмечены различные
виды компьютерных преступлений и разработаны методы борьбы с ними.
Компьютерные преступления условно можно разделить на две большие категории:
1) преступления, связанные с вмешательством в работу компьютеров;
2) преступления, использующие компьютеры как необходимые технические средства.
Можно выделить следующие виды компьютерной преступности 1-го вида:
· несанкционированный доступ в компьютерные сети и системы, банки данных с целью шпионажа или
диверсии (военного, промышленного, экономического), с целью так называемого компьютерного хищения
или из хулиганских побуждений;
· ввод в программное обеспечение так называемых “логических бомб”, срабатывающих при
определенных условиях (логические бомбы, угрожающие уничтожением данных, могут использоваться для
шантажа владельцев информационных систем или выполнять новые, не планировавшиеся владельцем
программы, функции при сохранении работоспособности системы; известны случаи, когда программисты
вводили в программы финансового учета команды, переводящие на счета этих программистов денежные
суммы или скрывающие денежные суммы от учета, что позволяло незаконно получать их);
· разработку и распространение компьютерных вирусов;
· преступную небрежность в разработке, изготовлении и эксплуатации программно-вычислительных
комплексов, приведшую к тяжким последствиям;
· подделку компьютерной информации (продукции) и сдачу заказчикам неработоспособных программ,
подделку результатов выборов, референдумов;
· хищение компьютерной информации (нарушение авторского права и права владения программными
средствами и базами данных).
Для современного состояния правового регулирования сферы, связанной с информатикой, в России в
настоящее время наиболее актуальными являются вопросы, касающиеся нарушения авторских прав.
Большая часть программного обеспечения, использующегося отдельными программистами и
пользователями и целыми организациями, приобретена в результате незаконного копирования, т.е. хищения.
Назрела потребность узаконить способы борьбы с этой порочной практикой, поскольку она мешает, прежде
всего, развитию самой информатики.
Далеко не все правила, регламентирующие деятельность в сфере информатики, можно свести к
правовым нормам. Очень многое определяется соблюдением неписаных правил поведения для тех, кто
причастен к миру компьютеров. Впрочем, в этом отношении информатика ничуть не отличается от любой
другой сферы деятельности человека в обществе.
Морально-этические нормы в среде информатиков отличаются от этики повседневной жизни
несколько большей открытостью, альтруизмом. Большинство нынешних специалистов-информатиков
сформировались и приобрели свои знания и квалификацию благодаря бескорыстным консультациям и
содействию других специалистов. Очевидно, поэтому они готовы оказать бескорыстную помощь, дать совет
или консультацию, предоставить компьютер для выполнения каких-либо манипуляций с дискетами и т.д.
Ярким примером особой психологической атмосферы в среде информатиков является расширяющееся
международное движение программистов, предоставляющих созданные ими программные средства для
свободного распространения.
Особую остроту этические проблемы приобретают при работе в глобальных телекоммуникационных
сетях. Вскрыть защиту чужой базы данных – уголовное преступление. А можно ли позволять себе
нецензурные выражения? Коммерческую рекламу в некоммерческой телеконференции? Независимо от того,
предусмотрено за это законом возмездие или нет, порядочный человек этого делать не станет.
Этика – система норм нравственного поведения человека. Порядочный человек не прочтет содержимое
дискеты, забытой соседом на рабочем месте, не потому, что это грозит ему наказанием, а потому, что это
безнравственный поступок. Он не скопирует программу в отсутствие ее хозяина не потому, что на него
10
могут подать в суд, а потому, что этот поступок осудят его коллеги. Всякий раз, собираясь совершить
сомнительный поступок в сфере профессиональной деятельности, человек должен задуматься,
соответствует ли он этическим нормам, сложившимся в профессиональном сообществе.
11
2. ИНФОРМАЦИЯ
2.1. Понятие информации. Носители информации. Сигналы
Термин “информация” имеет много определений. В широком смысле информация – отражение
реального мира. Существует определение термина в узком смысле: информация – любые сведения,
являющиеся объектом хранения, передачи и преобразования. Оба определения важны для понимания
процессов функционирования вычислительной машины.
Все, что нас окружает и с чем мы сталкиваемся ежедневно, относится либо к физическим телам, либо к
физическим полям. Из курса физики мы знаем, что состояния абсолютного покоя не существует и
физические объекты находятся в состоянии непрерывного движении и изменения, которое сопровождается
обменом энергией и ее переходом из одной формы в другую.
Все виды энергообмена сопровождаются появлением сигналов, то есть все сигналы имеют в своей
основе материальную энергетическую природу. При взаимодействии сигналов с физическими телами в
последних возникают определенные изменения свойств – это явление называется регистрацией сигналов.
Такие изменения можно наблюдать, измерять или фиксировать иными способами – при этом возникают и
регистрируются новые сигналы, то есть образуются данные. При этом физический метод регистрации может
быть любым: механическое перемещение физических тел, изменение их формы или параметров качества
поверхности, изменение электрических, магнитных, оптических характеристик, химического состава и (или)
характера химических связей, изменение состояния электронной системы и многое другое. В соответствии с
методом регистрации данные могут храниться и транспортироваться на носителях различных видов.
Самым распространенным носителем данных, хотя и не самым экономичным, по-видимому, является
бумага. На бумаге данные регистрируются путем изменения оптических характеристик ее поверхности.
Изменение оптических свойств (изменение коэффициента отражения поверхности в определенном
диапазоне длин волн) используется также в устройствах, осуществляющих запись лазерным лучом на
пластмассовых носителях с отражающим покрытием (CD-ROM). В качестве носителей, использующих
изменение магнитных свойств, можно назвать магнитные ленты и диски. Регистрация данных путем
изменения химического состава поверхностных веществ носителя широко используется в фотографии. На
биохимическом уровне происходит накопление и передача данных в живой природе.
Носители данных интересуют нас не сами по себе, а постольку, поскольку свойства информации
весьма тесно связаны со свойствами ее носителей. Любой носитель можно характеризовать параметром
разрешающей способности (количеством данных, записанных в принятой для носителя единице измерения)
и динамическим диапазоном (логарифмическим отношением интенсивности амплитуд максимального и
минимального регистрируемого сигналов). От этих свойств носителя нередко зависят такие свойства
информации, как полнота, доступность и достоверность. Так, например, мы можем рассчитывать на то, что в
базе данных, размещаемой на компакт-диске, проще обеспечить полноту информации, чем в аналогичной по
назначению базе данных, размещенной на гибком магнитном диске, поскольку в первом случае плотность
записи данных на единице длины дорожки намного выше. Для обычного потребителя доступность
информации в книге заметно выше, чем той же информации на компакт-диске, поскольку не все
потребители обладают необходимым оборудованием. И, наконец, известно, что визуальный эффект от
просмотра слайда в проекторе намного больше, чем от просмотра аналогичной иллюстрации, напечатанной
на бумаге, поскольку диапазон яркостных сигналов в проходящем свете на два-три порядка больше, чем в
отраженном.
Задача преобразования данных с целью смены носителя относится к одной из важнейших задач
информатики. В структуре стоимости вычислительных систем устройства для ввода и вывода данных,
работающие с носителями информации, составляют до половины стоимости аппаратных средств.
2.2. Измерение информации. Энтропия. Количество информации
Информационные меры, как правило, рассматриваются в трех аспектах: структурном, статистическом
и семантическом.
В структурном аспекте рассматривается строение массивов информации и их измерение простым
подсчетом информационных элементов или комбинаторным методом. Структурный подход применяется
для оценки возможностей информационных систем вне зависимости от условий их применения.
При статистическом подходе используется понятие энтропии как меры неопределенности,
учитывающей вероятность появления и информативность того или иного сообщения. Статистический
подход учитывает конкретные условия применения информационных систем.
Семантический подход позволяет выделить полезность или ценность информационного сообщения.
2.2.1. Структурная мера информации
Информация всегда представляется в виде сообщения. Элементарная единица сообщений – символ.
Символы, собранные в группы, – слова. Сообщение, оформленное в виде слов или отдельных символов,
12
всегда передается в материально-энергетической форме (электрический, световой, звуковой сигналы и т. д.).
Различают информацию непрерывную и дискретную.
Рис. 2.1. Способы представления информации
Функция x(t), изображенная на рис. 2.1, а, может быть представлена в непрерывном (рис. 2.1, б) и
дискретном (рис. 2.1, в) видах. В непрерывном виде эта функция может принимать любые вещественные
значения в данном диапазоне изменения аргумента t, т. е. множество значений непрерывной функции
бесконечно. В дискретном виде функция x(t) может принимать вещественные значения только при
определенных значениях аргумента. Какой бы малый интервал дискретности (т. е. расстояние между
соседними значениями аргумента) ни выбирался, множество значений дискретной функции для заданного
диапазона изменений аргумента (если он не бесконечный) будет конечно (ограничено).
При использовании структурных мер информации учитывается только дискретное строение
сообщения, количество содержащихся в нем информационных элементов, связей между ними. При
структурном подходе различаются геометрическая, комбинаторная и аддитивная меры информации.
Геометрическая мера предполагает измерение параметра геометрической модели информационного
сообщения (длины, площади, объема и т. п.) в дискретных единицах. Например, геометрической моделью
информации может быть линия единичной длины (рис 2.2,а – одноразрядное слово, принимающее значение
0 или 1), квадрат (рис. 2.2,б– двухразрядное слово) или куб (рис 2.2,в – трехразрядное слово). Максимально
возможное количество информации в заданных структурах определяет информационную емкость модели
(системы), которая определяется как сумма дискретных значений по всем измерениям (координатам).
Рис. 2.2. Геометрическая модель информации
В комбинаторной мере количество информации определяется как число комбинаций элементов
(символов). Возможное количество информации совпадает с числом возможных сочетаний, перестановок и
размещений элементов. Комбинирование символов в словах, состоящих только из 0 и 1, меняет значения
слов. Рассмотрим две пары слов 100110 и 001101, 011101 и 111010. В них проведена перестановка крайних
разрядов (изменено местоположение знакового разряда в числе – перенесен слева направо).
Аддитивная мера (мера Хартли), в соответствии с которой количество информации измеряется в
двоичных единицах (битах), наиболее распространена. Вводятся понятия глубины q и длины n числа.
Глубина числа q – количество символов (элементов), принятых для представления информации. В
каждый момент времени реализуется только один какой-либо символ. Глубина числа соответствует
основанию системы счисления.
Длина числа n – количество позиций, необходимых и достаточных для представления чисел заданной
величины. Длина числа соответствует разрядности системы счисления.
При заданных глубине и длине числа количество чисел, которое можно представить, N = q n. Величина
N неудобна для оценки информационной емкости. Хартли ввел аддитивную двоичную логарифмическую
меру, позволяющую вычислять количество информации в двоичных единицах – битах:
I = log2N = n log2 q
(2.1)
13
При n = 1, q = 2 I = log2 2 = 1 бит. Это и есть единица информации по Хартли.
Следовательно, 1 бит информации соответствует одному элементарному событию, которое может
произойти или не произойти. Такая мера количества информации удобна тем, что она обеспечивает
возможность оперировать мерой как числом. Количество информации при этом эквивалентно количеству
двоичных символов 0 или 1. При наличии нескольких источников информации общее количество
информации:
(2.2)
где I(qk) – количество информации от источника k.
Логарифмическая мера информации позволяет измерять количество информации и используется на
практике.
2.2.2. Статистическая мера информации
В статистической теории информации вводится более общая мера количества информации, в
соответствии с которой рассматривается не само событие, а информация о нем. Этот вопрос глубоко
проработан К. Шенноном в работе “Избранные труды по теории информации”. Если появляется сообщение
о часто встречающемся событии, вероятность появления которого близка к единице, то такое сообщение для
получателя малоинформативно. Столь же малоинформативны сообщения о событиях, вероятность
появления которых близка к нулю.
События можно рассматривать как возможные исходы некоторого опыта, причем все исходы этого
опыта составляют полную группу событий. К. Шеннон ввел понятие неопределенности ситуации, возникающей в процессе опыта, назвав ее энтропией. Энтропия полной группы событий есть количественная
мера ее неопределенности и, следовательно, информативности, количественно выражаемая как средняя
функция множества вероятностей каждого из возможных исходов опыта. Иными словами, количество
информации, получаемое в результате проведения опыта, равно снятой во время этого опыта
неопределенности.
Для понимания вероятностного подхода лучше всего рассмотреть несложный пример, связанный с
бросанием правильной игральной кости, имеющей N граней (наиболее распространенным является случай
шестигранной кости: N = 6). Результатом данного опыта может быть выпадение грани с одним из
следующих знаков: 1, 2,... N.
Введем в рассмотрение численную величину, измеряющую неопределенность -энтропию (обозначим
ее Н). Величины N и Н связаны между собой некоторой функциональной зависимостью:
H  f (N )
,
(2.3)
а сама функция f является возрастающей, неотрицательной и определенной (в рассматриваемом нами
примере) для N = 1, 2,... 6.
Рассмотрим процедуру бросания кости более подробно:
1) готовимся бросить кость; исход опыта неизвестен, т.е. имеется некоторая неопределенность;
обозначим ее Н1;
2) кость брошена; информация об исходе данного опыта получена; обозначим количество этой
информации через I;
3) обозначим неопределенность данного опыта после его осуществления через H2.
За количество информации, которое получено в ходе осуществления опыта, примем разность
неопределенностей “до” и “после” опыта:
I  H1  H 2
(2.4)
Очевидно, что в случае, когда получен конкретный результат, имевшаяся неопределенность снята
(H2=0), и, таким образом, количество полученной информации совпадает с первоначальной энтропией.
Иначе говоря, неопределенность, заключенная в опыте, совпадает с информацией об исходе этого опыта.
Заметим, что значение H2 могло быть и не равным нулю, например, в случае, когда в ходе опыта следующей
выпала грань со значением, большим трех.
Следующим важным моментом является определение вида функции f в формуле (2.3). Если
варьировать число граней N и число бросаний кости (обозначим эту величину через М), общее число
исходов (векторов длины М, состоящих из знаков 1, 2,..., N) будет равно N в степени М:
X  NM
(2.5)
Так, в случае двух бросаний кости с шестью гранями имеем: Х=6 2=36. Фактически каждый исход Х
есть некоторая пара (X1, X2), где Х1 и X2 – соответственно исходы первого и второго бросаний (общее
14
число таких пар – X).
Ситуацию с бросанием М раз кости можно рассматривать как некую сложную систему, состоящую из
независимых друг от друга подсистем – “однократных бросаний кости”. Энтропия такой системы в М раз
больше, чем энтропия одной системы (так называемый “принцип аддитивности энтропии”):
f (N M )  M  f (N )
(2.6)
Из приведенных формул выводится мера Хартли:
H  log 2 N
(2.7)
Важным при введении какой-либо величины является вопрос о том, что принимать за единицу ее
измерения. Очевидно, H будет равно единице при N = 2. Иначе говоря, в качестве единицы измерения
информации принимается количество информации, связанное с проведением опыта, состоящего в
получении одного из двух равновероятных исходов (примером такого опыта может служить бросание
монеты при котором возможны два исхода: “орел”, “решка”). Такая единица количества информации
называется бит.
В случае, когда вероятности различных исходов опыта не равновероятны (а имеют вероятности P i),
меру энтропии вычисляют по формуле Шеннона:
N
1
H   Pi  log 2  
i 1
 Pi 
(2.8)
В качестве примера определим количество информации, связанное с появлением каждого символа в
сообщениях, записанных на русском языке. Будем считать, что русский алфавит состоит из 33 букв и знака
“пробел” для разделения слов. По формуле (2.7) получаем: Н » 5 бит.
Однако, в словах русского языка (равно как и в словах других языков) различные буквы встречаются
неодинаково часто. Для учета данного обстоятельства воспользуемся для подсчета Н вероятностными
частотами употребления различных знаков русского алфавита, полученных на основе анализа очень
больших по объему текстов. По формуле (2.8) получаем: Н » 4.72 бит. Полученное значение Н, как и можно
было предположить, меньше вычисленного ранее. Величина Н, вычисляемая по формуле (2.7), является
максимальным количеством информации, которое могло бы приходиться на один знак.
2.2.3. Семантическая мера информации
Вычислительные машины обрабатывают и преобразуют информацию разного содержания – от
числовых данных до сочинения музыки и стихов. Вся эта информация изображается соответствующими
символами. Оценка содержания разнохарактерной информации – весьма сложная проблема.
Среди семантических мер наиболее распространены содержательность, логическое количество,
целесообразность и существенность информации.
Содержательность события i выражается через функцию меры m(i) – содержательности его
отрицания. Оценка содержательности основана на математической логике, в которой логические функции
истинности m(i) и ложности m(о) имеют формальное сходство с функциями вероятностей события p(i) и
антисобытия q(i) в теории вероятностей.
Как и вероятность, содержательность события изменяется в пределах 0?m(i)?1.
Логическое количество информации Inf, сходное со статистическим количеством информации,
вычисляется по выражению:
Inf = log2 [1/m(i)] = – log2 m(о)
Отличие статистической оценки от логической состоит в том, что в первом случае учитываются
вероятности реализации тех или иных событий, что приближает к оценке смысла информации.
Если информация используется в системах управления, то ее полезность целесообразно оценивать по
тому эффекту, который она оказывает на результат управления.
Мера целесообразности информации определяется как изменение вероятности достижения цели при
получении дополнительной информации. Полученная информация может быть пустой, т. е. не изменять
вероятности достижения цели, и в этом случае ее мера равна нулю. В других случаях полученная
информация может изменять положение дела в худшую сторону, т. е. уменьшить вероятность достижения
цели, и тогда она будет дезинформацией, измеряющейся отрицательным значением количества информации. Наконец, в благоприятном случае получается добротная информация, которая увеличивает
вероятность достижения цели и измеряется положительной величиной количества информации.
Мера целесообразности в общем виде может быть аналитически выражена в виде соотношения:
15
(2.9)
где p0 и p1 – начальная (до получения информации) и конечная (после получения информации) вероятности
достижения цели.
Следует различать: существенность самого события; существенность времени совершения события
или его наблюдения (рано–поздно–момент); существенность координаты совершения события.
Измерение некоторого параметра Х можно характеризовать несколькими функциями величины х:
вероятностью р(х), погрешностью измерения е(х) и существенностью с(х). Каждой из этих функций можно
поставить в соответствие определенную меру информации. Мерой Хартли оценивается функция
погрешности е при фиксированных значениях функции вероятности (р = const) и существенности (с = const).
Мерой Шеннона оценивается функция вероятности (р = var) при фиксированных значениях функций
погрешности (е = const) и существенности (с = const). Мера существенности относится к ситуации с
фиксированными функциями погрешности (е = const) и вероятности (р = const).
2.3. Свойства информации
Информация является динамическим объектом, образующимся в момент взаимодействия объективных
данных и субъективных методов. Как и всякий объект, она обладает свойствами (объекты различимы по
своим свойствам). Характерной особенностью информации, отличающей ее от других объектов природы и
общества, является отмеченный выше дуализм: на свойства информации влияют как свойства данных,
составляющих ее содержательную часть, так и свойства методов, взаимодействующих с данными в ходе
информационного процесса. По окончании информационного процесса свойства информации переносятся
на свойства новых данных, то есть свойства методов могут переходить на свойства данных.
Можно привести немало разнообразных свойств информации. Каждая научная дисциплина
рассматривает те свойства информации, которые ей наиболее важны. Рассмотрим наиболее важные свойства
информации с позиций изучаемой дисциплины.
Объективность и субъективность информации. Понятие объективности информации является
относительным. Это понятно, если учесть, что методы являются субъективными. Более объективной
принято считать ту информацию, в которую методы вносят меньший субъективный элемент. Так, например,
принято считать, что в результате наблюдения фотоснимка природного объекта или явления образуется
более объективная информация, чем в результате наблюдения рисунка того же объекта, выполненного
человеком. В ходе информационного процесса степень объективности информации всегда понижается. Это
свойство учитывают, например, в правовых дисциплинах, где по-разному обрабатываются показания лиц,
непосредственно наблюдавших события или получивших информацию косвенным путем (посредством
умозаключений или со слов третьих лиц). В не меньшей степени объективность информации учитывают в
исторических дисциплинах. Одни и те же события, зафиксированные в исторических документах разных
стран и народов, выглядят совершенно по-разному. У историков имеются свои методы для тестирования
объективности исторических данных и создания новых, более достоверных данных путем сопоставления,
фильтрации и селекции исходных данных. Обратим внимание на то, что здесь речь идет не о повышении
объективности данных, а о повышении их достоверности (это совсем другое свойство).
Полнота информации во многом характеризует качество информации и определяет достаточность
данных для принятия решений или для создания новых данных на основе имеющихся. Чем полнее данные,
тем шире диапазон методов, которые можно использовать, тем проще подобрать метод, вносящий минимум
погрешностей в ход информационного процесса.
Адекватность информации – это степень соответствия информации, полученной в информационном
процессе, реальному объективному состоянию дела. Неадекватная информация может образовываться при
создании новой информации на основе неполных или недостоверных данных. Однако и полные, и
достоверные данные могут приводить к созданию неадекватной информации в случае применения к ним
неадекватных методов.
Доступность информации – мера возможности получить ту или иную информацию. На степень
доступности информации влияют одновременно как доступность данных, так и доступность адекватных
методов для их интерпретации. Отсутствие доступа к данным при наличии адекватных методов обработки
данных приводят к одинаковому результату: информация оказывается недоступной. Отсутствие адекватных
методов для работы с данными во многих случаях приводит к применению неадекватных методов, в
результате чего образуется неполная, неадекватная или недостоверная информация.
Актуальность информации – это степень соответствия информации текущему моменту времени.
Нередко с актуальностью, как и с полнотой, связывают коммерческую ценность информации. Поскольку
информационные процессы растянуты во времени, то достоверная и адекватная, но устаревшая информация
может приводить к ошибочным решениям. Необходимость поиска (или разработки) адекватного метода для
работы с данными может приводить к такой задержке в получении информации, что она становится
неактуальной и ненужной. На этом, в частности, основаны многие современные системы шифрования
данных с открытым ключом. Лица, не владеющие ключом (методом) для чтения данных, могут заняться
16
поиском ключа, поскольку алгоритм его работы доступен, но продолжительность этого поиска столь велика,
что за время работы информация теряет актуальность и, соответственно, связанную с ней практическую
ценность.
Точность информации определяется степенью близости получаемой информации к реальному
состоянию объекта, процесса, явления и т.п. Для информации, отображаемой цифровым кодом, известны
четыре классификационных понятия точности:
· формальная точность, измеряемая значением единицы младшего разряда числа;
· реальная точность, определяемая значением единицы последнего разряда числа, верность которого
гарантируется;
· максимальная точность, которую можно получить в конкретных условиях функционирования
системы;
· необходимая точность, определяемая функциональным назначением показателя.
Достоверность информации определяется ее свойством отражать реально существующие объекты с
необходимой точностью. Измеряется достоверность информации доверительной вероятностью необходимой
точности, т.е. вероятностью того, что отображаемое информацией значение параметра отличается от
истинного значения этого параметра в пределах необходимой точности.
Устойчивость информации отражает ее способность реагировать на изменения исходных данных без
нарушения необходимой точности. Устойчивость информации, как и репрезентативность, обусловлена
выбранной методикой ее отбора и формирования.
Своевременность информации означает ее поступление не позже заранее назначенного момента
времени, согласованного со временем решения поставленной задачи.
17
3. Теоретические аспекты обработки информации
3.1. Устройства обработки информации и их характеристики
3.1.1. Краткая история развития устройств обработки информации
Все началось с идеи научить машину считать или хотя бы складывать многоразрядные целые числа.
Еще около 1500 г. великий деятель эпохи Просвещения Леонардо да Винчи разработал эскиз 13-разрядного
суммирующего устройства, что явилось первой дошедшей до нас попыткой решить указанную задачу.
Первую же действующую суммирующую машину построил в 1642 г. Блез Паскаль – знаменитый
французский физик, математик, инженер. Его 8-разрядная машина сохранилась до наших дней.
От замечательного курьеза, каким восприняли современники машину Паскаля, до создания
практически полезного и широко используемого агрегата – арифмометра (механического вычислительного
устройства, способного выполнять 4 арифметических действия) – прошло почти 250 лет. Уже в начале XIX
века уровень развития ряда наук и областей практической деятельности (математики, механики,
астрономии, инженерных наук, навигации и др.) был столь высок, что они требовали выполнения огромного
объема вычислений, выходящих за пределы возможностей человека, не вооруженного соответствующей
техникой. Над ее созданием и совершенствованием работали как выдающиеся ученые с мировой
известностью, так и сотни людей, имена многих из которых до нас не дошли, посвятивших свою жизнь
конструированию механических вычислительных устройств.
Еще в 70-х годах нашего века на полках магазинов стояли механические арифмометры и их
“ближайшие родственники”, снабженные электрическим приводом -электромеханические клавишные
вычислительные машины. Они довольно долго соседствовали с техникой совершенно иного уровня –
автоматическими цифровыми вычислительными машинами (АЦВМ), которые в просторечии чаще
называют ЭВМ (хотя, строго говоря, эти понятия не совсем совпадают). История АЦВМ восходит еще к
первой половине прошлого века и связана с именем замечательного английского математика и инженера
Чарльза Бэббиджа. Им в 1822 г. была спроектирована и почти 30 лет строилась и совершенствовалась
машина, названная вначале “разностной”, а затем, после многочисленных усовершенствований проекта,
“аналитической”. В “аналитическую” машину были заложены принципы, ставшие фундаментальными для
вычислительной техники.
1. Автоматическое выполнение операций.
Для выполнения расчетов большого объема существенно не только то, как быстро выполняется
отдельная арифметическая операция, но и то, чтобы между операциями не было “зазоров”, требующих
непосредственного человеческого вмешательства. Например, большинство современных калькуляторов не
удовлетворяют этому требованию, хотя каждое доступное им действие выполняют очень быстро.
Необходимо, чтобы операции следовали одна за другой безостановочно.
2. Работа по вводимой “на ходу” программе.
Для автоматического выполнения операций программа должна вводиться в исполнительное устройство
со скоростью, соизмеримой со скоростью выполнения операций. Бэббидж предложил использовать для
предварительной записи программ и ввода их в машину перфокарты, которые к тому времени применялись
для управления ткацкими станками.
3. Необходимость специального устройства – памяти – для хранения данных (Бэббидж назвал его
“складом”).
Эти революционные идеи натолкнулись на невозможность их реализации на основе механической
техники, ведь до появления первого электромотора оставалось почти полвека, а первой электронной
радиолампы – почти век. Они настолько опередили свое время, что были в значительной мере забыты и
переоткрыты в следующем столетии.
Впервые автоматически действующие вычислительные устройства появились в середине XX века. Это
стало возможным благодаря использованию наряду с механическими конструкциями электромеханических
реле. Работы над релейными машинами начались в 30-е годы и продолжались с переменным успехом до тех
пор, пока в 1944 г. под руководством Говарда Айкена – американского математика и физика – на фирме IBM
(International Business Machines) не была запущена машина “Марк-1”, впервые реализовавшая идеи
Бэббиджа (хотя разработчики, по-видимому, не были с ними знакомы). Для представления чисел в ней были
использованы механические элементы (счетные колеса), для управления – электромеханические. Одна из
самых мощных релейных машин РВМ-1 была в начале 50-х годов построена в СССР под руководством
Н.И.Бессонова; она выполняла до 20 умножений в секунду с достаточно длинными двоичными числами.
Подлинная революция в вычислительной технике произошла в связи с применением электронных
устройств. Работа над ними началась в конце 30-х годов одновременно в США, Германии, Великобритании
и СССР. К этому времени электронные лампы, ставшие технической основой устройств обработки и
хранения цифровой информации, уже широчайшим образом применялись в радиотехнических устройствах.
Первой действующей ЭВМ стал ENIAC (США, 1945 – 1946 гг.). Его название по первым буквам
соответствующих английских слов означает “электронно-числовой интегратор и вычислитель”. Руководили
18
ее созданием Джон Моучли и Преспер Эккерт, продолжившие начатую в конце 30-х годов работу Джорджа
Атанасова. Машина содержала порядка 18 тысяч электронных ламп, множество электромеханических
элементов. Ее энергопотребление равнялось 150 кВт, что вполне достаточно для обеспечения небольшого
завода.
Практически одновременно велись работы над созданием ЭВМ в Великобритании. С ними связано
прежде всего имя Аллана Тьюринга – математика, внесшего также большой вклад в теорию алгоритмов и
теорию кодирования. В 1944 г. в Великобритании была запущена машина “Колосс”.
Эти и ряд других первых ЭВМ не имели важнейшего с точки зрения конструкторов последующих
компьютеров качества – программа не хранилась в памяти машины, а набиралась достаточно сложным
образом с помощью внешних коммутирующих устройств.
Огромный вклад в теорию и практику создания электронной вычислительной техники на начальном
этапе ее развития внес один из крупнейших американских математиков Джон фон Нейман. В историю науки
навсегда вошли “принципы фон Неймана”. Совокупность этих принципов породила классическую (фоннеймановскую) архитектуру ЭВМ. Один из важнейших принципов – принцип хранимой программы –
требует, чтобы программа закладывалась в память машины так же, как в нее закладывается исходная
информация. Первая ЭВМ с хранимой программой (EDSAC) была построена в Великобритании в 1949 г.
В нашей стране вплоть до 70-х годов создание ЭВМ велось почти полностью самостоятельно и
независимо от внешнего мира. Дело в том, что электронная вычислительная техника с самого момента
своего первоначального создания рассматривалась как сверхсекретный стратегический продукт, и СССР
приходилось разрабатывать и производить ее самостоятельно. Постепенно режим секретности смягчался, но
и в конце 80-х годов наша страна могла покупать за рубежом лишь устаревшие модели ЭВМ (а самые
современные и мощные компьютеры ведущие производители – США и Япония – и сегодня разрабатывают и
производят в режиме секретности).
Первая отечественная ЭВМ – МЭСМ (“малая электронно-счетная машина”) была создана в 1951 г. под
руководством Сергея Александровича Лебедева, крупнейшего советского конструктора вычислительной
техники, впоследствии академика, лауреата государственных премий, руководившего созданием многих
отечественных ЭВМ. Рекордной среди них и одной из лучших в мире для своего времени была БЭСМ-6
(“большая электронно-счетная машина, 6-я модель”), созданная в середине 60-х годов и долгое время
бывшая базовой машиной в обороне, космических исследованиях, научно-технических исследованиях в
СССР. Кроме машин серии БЭСМ выпускались и ЭВМ других серий – “Минск”, “Урал”, М-20, “Мир” и
другие, созданные под руководством И.С.Брука и М.А.Карцева, Б.И.Рамеева, В.М.Глушкова,
Ю.А.Базилевского и других отечественных конструкторов и теоретиков информатики.
3.2. Классическая архитектура ЭВМ
Основы учения об архитектуре вычислительных машин заложил выдающийся американский
математик Джон фон Нейман. Он подключился к созданию первой в мире ламповой ЭВМ ENIAC в 1944 г.,
когда ее конструкция была уже выбрана. В процессе работы во время многочисленных дискуссий со своими
коллегами Г.Голдстайном и А.Берксом фон Нейман высказал идею принципиально новой ЭВМ. В 1946 г.
ученые изложили свои принципы построения вычислительных машин в ставшей классической статье
“Предварительное рассмотрение логической конструкции электронно-вычислительного устройства”. С тех
пор прошло полвека, но выдвинутые в ней положения сохраняют актуальность и сегодня.
В статье убедительно обосновывается использование двоичной системы для представления чисел
(ранее все вычислительные машины хранили обрабатываемые числа в десятичном виде). Авторы
убедительно продемонстрировали преимущества двоичной системы для технической реализации, удобство
и простоту выполнения в ней арифметических и логических операций. В дальнейшем ЭВМ стали
обрабатывать и нечисловые виды информации – текстовую, графическую, звуковую и другие, но двоичное
кодирование данных по-прежнему составляет информационную основу любого современного компьютера.
Еще одной поистине революционной идеей является предложенный Нейманом принцип “хранимой
программы”. Первоначально программа задавалась путем установки перемычек на специальной
коммутационной панели. Это было весьма трудоемким занятием: например, для изменения программы
машины ENIAC требовалось несколько дней (в то время как собственно расчет не мог продолжаться более
нескольких минут – выходили из строя лампы). Нейман первым догадался, что программа может также
храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа.
Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой
формировать для себя программу в соответствии с результатами вычислений.
Фон Нейман не только выдвинул основополагающие принципы логического устройства ЭВМ, но и
предложил ее структуру, которая воспроизводилась в течение первых двух поколений ЭВМ. Основными
блоками, по Нейману, являются устройство управления (УУ) и арифметико-логическое устройство (АЛУ)
(обычно объединяемые в центральный процессор), память, внешняя память, устройства ввода и вывода.
Схема устройства такой ЭВМ представлена на рис. 3.7.
Устройство управления и арифметико-логическое устройство в современных компьютерах объединены
в один блок – процессор, являющийся преобразователем информации, поступающей из памяти и внешних
19
устройств (сюда относятся выборка команд из памяти, кодирование и декодирование, выполнение
различных, в том числе и арифметических, операций, согласование работы узлов компьютера).
Рис. 3.1. Архитектура ЭВМ, построенной на принципах фон Неймана. (Сплошные линии со стрелками указывают
направление потоков информации, пунктирные – управляющих сигналов от процессора к остальным узлам ЭВМ).
Память (ЗУ) хранит информацию (данные) и программы. Запоминающее устройство у современных
компьютеров “многоярусно” и включает оперативное запоминающее устройство (ОЗУ), хранящее ту
информацию, с которой компьютер работает непосредственно в данное время (исполняемая программа,
часть необходимых для нее данных, некоторые управляющие программы), и внешние запоминающие
устройства (ВЗУ) гораздо большей емкости, чем ОЗУ, но с существенно более медленным доступом. На
ОЗУ и ВЗУ классификация устройств памяти не заканчивается – определенные функции выполняют и СОЗУ
(сверхоперативное запоминающее устройство), и ПЗУ (постоянное запоминающее устройство), и другие
подвиды компьютерной памяти.
Внешняя память отличается от устройств ввода и вывода тем, что данные в нее заносятся в виде,
удобном компьютеру, но недоступном для непосредственного восприятия человеком. Так, накопитель на
магнитных дисках относится к внешней памяти, а клавиатура – устройство ввода, дисплей и печать –
устройства вывода.
Для построения запоминающих устройств в качестве физических элементов используют электронные
схемы, ферритовые магнитные материалы, магнитные ленты и диски, оптические запоминающие элементы
и т. д.
В построенной по описанной схеме ЭВМ происходит последовательное считывание команд из памяти
и их выполнение. Номер (адрес) очередной ячейки памяти, из которой будет извлечена следующая команда
программы, указывается специальным устройством – счетчиком команд в УУ. Его наличие также является
одним из характерных признаков рассматриваемой архитектуры.
Подавляющее большинство вычислительных машин на сегодняшний день – фон-неймановские
машины. Исключение составляют лишь отдельные разновидности систем для параллельных вычислений, в
которых отсутствует счетчик команд, не реализована классическая концепция переменной и имеются другие
существенные принципиальные отличия от классической модели (примерами могут служить потоковая и
редукционная вычислительные машины).
3.3. Характеристика основных блоков ЭВМ
ЭВМ включает три основных устройства: системный блок, клавиатуру и дисплей (монитор). Однако
для расширения функциональных возможностей ЭВМ можно подключить различные дополнительные
периферийные устройства, в частности: печатающие устройства (принтеры), накопители на магнитной ленте
(стримеры), различные манипуляторы (мышь, джойстик, трекбол, световое перо), устройства оптического
считывания изображений (сканеры), графопостроители (плоттеры) и др.
ЭВМ, как правило, имеет модульную структуру (рис. 3.8). Все модули связаны с системной
магистралью (шиной).
Системный блок. Главный блок ЭВМ включает в свой состав центральный микропроцессор,
сопроцессор, модули оперативной и постоянной памяти, контроллеры, накопители на магнитных дисках и
другие функциональные модули. Набор модулей определяется типом ЭВМ. Пользователи по своему
желанию могут изменять конфигурацию ЭВМ, подключая дополнительные периферийные устройства.
В системный блок может быть встроено звуковое устройство, с помощью которого пользователю
удобно следить за работой машины, вовремя обращать внимание на возникшие сбои в отдельных
устройствах или на возникновение необычной ситуации при решении задачи на ЭВМ. Со звуковым
20
устройством часто связан таймер, позволяющий вести отсчет времени работы машины, фиксировать
календарное время, указывать на окончание заданного промежутка времени при выполнении той или иной
задачи.
Микропроцессор (МП). Центральный микропроцессор является ядром любой ЭВМ. Он выполняет
функции обработки информации и управления работой всех блоков ЭВМ. В состав МП входят:
· арифметико-логическое устройство,
· центральное устройство управления,
· внутренняя регистровая память,
· кэш-память,
· схема обращения к оперативной памяти,
· схемы управления системной шиной и др.
Рис 3.2. Структурная схема ЭВМ с периферийными устройствами. (АЛУ– арифметико-логическое устройство, УУ–
устройство управления, ПП – постоянная память, ОП – оперативная память, ВУ– внешнее устройство, НГМД –
накопитель на гибких магнитных дисках, НЖМД – накопитель на жестких магнитных дисках, НМЛ – накопитель на
магнитной ленте, ПУ– печатающее устройство).
Рассмотрим структуру и функционирование микропроцессора на примере разработанной модели
фирмы Intel.
Арифметико-логическое устройство (АЛУ) – функциональная часть ЭВМ, которая выполняет
логические и арифметические действия, необходимые для переработки информации, хранящейся в памяти.
Оно характеризуется: временем выполнения элементарных операций; средним быстродействием, т.е.
количеством арифметических или логических действий (операций), выполняемых в единицу времени
(секунду); набором элементарных действий, которые оно выполняет. Важной характеристикой АЛУ
является также система счисления, в которой осуществляются все действия.
АЛУ выполняет логические операции, а также арифметические операции в двоичной системе
счисления и в двоично-десятичном коде, причем арифметические операции над числами, представленными
в форме с плавающей точкой, реализуются в специальном блоке. В некоторых конфигурациях с этой целью
используется арифметический сопроцессор. Он имеет собственные регистры данных и управления, работает
параллельно с центральным МП, обрабатывает данные с плавающей точкой.
Память микропроцессора состоит из функциональных регистров: регистры общего назначения,
указатель команд, регистр флагов и регистры сегментов.
Регистр – внутренне запоминающее устройство процессора для временного хранения обрабатываемой
или управляющей информации и быстрого доступа к ней.
Регистры общего назначения используются для хранения данных и адресов. Они обеспечивают работу
с данными и адресами. Каждый из таких регистров имеет свое имя.
Указатель команд содержит смещение при определении адреса следующей команды.
Регистр флагов указывает признаки результата выполнения команды.
Регистры сегментов содержат значения селекторов сегментов, определяющих текущие адресуемые
сегменты памяти.
Кроме того, регистровая память МП содержит регистры процессора обработки чисел с плавающей
точкой, системные и некоторые другие регистры.
21
Производительность микропроцессора значительно повышается за счет буферизации часто
используемых команд и данных во внутренней кэш-памяти, при этом сокращается число обращений к
внешней памяти. Кэш-память – сверхоперативная буферная память, предназначенная для промежуточного
хранения наиболее часто используемых процессором данных. Внутренняя кэш-память имеет несколько
режимов работы, что обеспечивает гибкость отладки и выполнения рабочих программ.
Устройство управления микропроцессорного типа обеспечивает конвейерную обработку данных с
помощью блока предварительной выборки (очереди команд).
Устройство управления МП обеспечивает многозадачность. Многозадачность – способ организации
работы ЭВМ, при котором в ее памяти одновременно содержатся программы и данные для выполнения
нескольких задач. В составе современных МП имеются аппаратно-программные средства, позволяющие
эффективно организовать многозадачный режим, в том числе системы прерывания и защиты памяти.
Система прерываний обрабатывает запросы на прерывание как от внешних устройств, так и от
внутренних блоков МП. Прерывание – временное прекращение выполнения команд программы с
сохранением информации о ее текущем состоянии и передачей управления специальной программе –
обработчику прерываний. Поступление запроса на прерывание от внутреннего блока МП свидетельствует о
возникновении исключительной ситуации, например о переполнении разрядной сетки. Внешнее прерывание
может быть связано с обслуживанием запросов от периферийных устройств. Требуя своевременного обслуживания, внешнее устройство посылает запрос прерывания МП. МП в ответ приостанавливает нормальное
выполнение текущей программы и переходит на обработку этого запроса, чтобы в дальнейшем выполнить
определенные действия по вводу-выводу данных. После совершения таких действий происходит возврат к
прерванной программе.
Защита памяти от несанкционированного доступа в многозадачном режиме осуществляется с
помощью системы привилегий, регулирующих доступ к тому или иному сегменту памяти в зависимости от
уровня его защищенности и степени важности.
Обмен информацией между блоками МП происходит через магистраль микропроцессора,
включающую шину адреса, двунаправленную шину данных и шину управления. Шина – устройство,
служащее для передачи данных и управляющих сигналов между компонентами компьютера. Шина состоит
из линий электрических соединений.
Шина адреса используется для передачи адресов ячеек памяти и регистров для обмена информацией с
внешними устройствами.
Шина данных обеспечивает передачу информации между МП, памятью и периферийными
устройствами. Шина двунаправленная, т.е. позволяет осуществлять пересылку данных как в прямом, так и в
обратном направлении.
Шина управления предназначена для передачи управляющих сигналов – управления памятью,
управления обменом данных, запросов на прерывание и т.д.
Системная магистраль выполняется в виде совокупности шин (кабелей), используемых для передачи
данных, адресов и управляющих сигналов. Количество линий в адресно-информационной шине определяется разрядностью кодов адреса и данных, а количество линий в шине управления – числом управляющих
сигналов, используемых в ЭВМ.
Внутренняя память ЭВМ состоит из оперативной памяти и постоянной памяти.
Оперативная память (ОП) (или оперативное запоминающее устройство – ОЗУ) – функциональная
часть ЭВМ, предназначенная для хранения и (или) выдачи входной информации, промежуточных и
окончательных результатов, вспомогательной информации. В памяти машины находятся также программы
решения задач, через команды которых осуществляется управление работой всей машины. Каждая ячейка
памяти имеет свой адрес, который выражается числом. Оперативная память является энергозависимой: при
отключении питания информация в ОП теряется.
С точки зрения физического принципа действия различают динамическую память и статическую
память. Ячейки динамической памяти можно представить в виде микроконденсаторов, способных
накапливать заряд на своих обкладках. Недостатком этого типа является то, что заряды ячеек имеют
свойство рассеиваться в пространстве. Для этого в компьютере происходит постоянная регенерация
(освежение, подзарядка) ячеек оперативной памяти. Регенерация осуществляется несколько десятков раз в
секунду и вызывает непроизводительный расход ресурсов вычислительной системы. Ячейки статической
памяти можно представить как электронные микроэлементы – триггеры, состоящие из нескольких
транзисторов. В триггере хранится не заряд, а состояние (включен/выключен), поэтому этот тип памяти
обеспечивает более высокое быстродействие, хотя технологически он сложнее и, соответственно, дороже.
Основные параметры, характеризующие память, – емкость и время обращения к памяти.
Емкость памяти – количество байт информации, которое можно записать в памяти. При этом словом
является упорядоченная последовательность символов алфавита конечной длины. Ячейка памяти – часть
памяти, содержащая слово.
Емкость памяти можно выразить количеством содержащихся в ней слов или ячеек. Длина ячейки
памяти измеряется количеством битов (один бит равен одному двоичному разряду) или байтов (один байт
содержит восемь битов). Ячейка памяти может вмещать информацию разной длины или разного формата.
Формат измеряется словом, двойным словом или полусловом в зависимости от принятого для данной ЭВМ
22
способа представления информации.
Время обращения – интервал времени между началом и окончанием ввода (вывода) информации в
память (из памяти). Оно характеризует затраты времени на поиск места и запись (чтение) слова в память (из
памяти).
Постоянная память (ПП). Эта память предназначена только для чтения. Она не является
энергозависимой, используется для хранения системных программ, в частности так называемой базовой
системы ввода-вывода (BIOS – Basic Input and Output System), вспомогательных программ и т.п. Программы,
хранящиеся в ПП, предназначены для постоянного использования МП.
Контроллеры (К) служат для управления внешними устройствами (ВУ). Каждому ВУ соответствует
свой контроллер. Электронные модули-контроллеры реализуются на отдельных печатных платах, вставляемых внутрь системного блока. Такие платы часто называют адаптерами ВУ (от адаптировать –
приспосабливать). После получения команды от МП контроллер функционирует автономно, освобождая
МП от выполнения специфических функций, требуемых для того или другого конкретного ВУ.
Контроллер содержит регистры двух типов – регистр состояния (управления) и регистр данных. Эти
регистры часто называют портами ввода-вывода. За каждым портом закреплен определенный номер – адрес
порта. Через порты пользователь может управлять ВУ, используя команды ввода-вывода. Программа,
выполняющая по обращению из основной выполняемой программы операции ввода-вывода для конкретного устройства или группы устройств ЭВМ, входит в состав ядра операционной системы ЭВМ.
Для ускорения обмена информацией между МП и внешними устройствами в ЭВМ используется
прямой доступ к памяти (ПДП). Контроллер ПДП, получив сигнал запроса от внешнего устройства,
принимает управление обменом на себя и обеспечивает обмен данными с ОП, минуя центральный МП. В
это время микропроцессор продолжает без прерывания выполнять текущую программу. Прямой доступ к
памяти, с одной стороны, освобождает МП от непосредственного обмена между памятью и внешними
устройствами, а с другой стороны, позволяет значительно быстрее по сравнению с режимом прерываний
удовлетворять запросы на обмен.
3.4. Основной цикл работы ЭВМ
Рассмотрим последовательность действий при выполнении команды в ЭВМ. Рабочий цикл в общем
виде одинаков для всех фон-неймановских машин.
Важной составной частью фон-неймановской архитектуры является счетчик адреса команд. Этот
специальный внутренний регистр процессора всегда указывает на ячейку памяти, в которой хранится
следующая команда программы. При включении питания или при нажатии на кнопку сброса (начальной
установки) в счетчик аппаратно заносится стартовый адрес находящейся в ПЗУ программы инициализации
всех устройств и начальной загрузки. Дальнейшее функционирование компьютера определяется
программой. Таким образом, вся деятельность ЭВМ – это непрерывное выполнение тех или иных программ,
причем программы эти могут в свою очередь загружать новые программы и т.д.
Каждая программа состоит из отдельных машинных команд. Каждая машинная команда, в свою
очередь, делится на ряд элементарных унифицированных составных частей, которые принято называть
тактами. В зависимости от сложности команды она может быть реализована за разное число тактов.
Например, пересылка информации из одного внутреннего регистра процессора в другой выполняется за
несколько тактов, а для перемножения двух целых чисел их требуется на порядок больше. Существенное
удлинение команды происходит, если обрабатываемые данные еще не находятся внутри процессора и их
приходится считывать из ОЗУ.
При выполнении каждой команды ЭВМ проделывает определенные стандартные действия:
1) согласно содержимому счетчика адреса команд, считывается очередная команда программы (ее код
обычно заносится на хранение в специальный регистр УУ, который носит название регистра команд);
2) счетчик команд автоматически изменяется так, чтобы в нем содержался адрес следующей команды
(в простейшем случае для этой цели достаточно к текущему значению счетчика прибавить некоторую
константу, определяющуюся длиной команды);
3) считанная в регистр команд операция расшифровывается, извлекаются необходимые данные и над
ними выполняются требуемые действия.
Затем все описанные действия циклически повторяются.
Рассмотренный основной алгоритм работы ЭВМ позволяет шаг за шагом выполнить хранящуюся в
ОЗУ линейную программу. Если же требуется изменить порядок вычислений для реализации развилки или
цикла, достаточно в счетчик команд занести требуемый адрес.
В современных компьютерах для ускорения основного цикла выполнения команды используется метод
конвейеризации (иногда применяется термин “опережающая выборка”). Идея состоит в том, что несколько
внутренних устройств процессора работают параллельно: одно считывает команду, другое дешифрует
операцию, третье вычисляет адреса используемых операндов и т.д. В результате по окончании команды
чаще всего оказывается, что следующая уже выбрана из ОЗУ, дешифрована и подготовлена к исполнению.
Отметим, что в случае нарушения естественного порядка выполнения команд в программе (например, при
безусловном переходе) опережающая выборка оказывается напрасной и конвейер очищается. Следующая за
23
переходом команда выполняется дольше, так как чтобы конвейер “заработал на полную мощность”,
необходимо его предварительно заполнить. Иными словами, в конвейерной машине время выполнения
программы может зависеть не только от составляющих ее команд, но и от их взаимного расположения.
3.5. Накопители информации
Данные могут храниться и транспортироваться на носителях различных видов. Самым
распространенным носителем данных, по-видимому, является бумага. На бумаге данные регистрируются
путем изменения оптических характеристик ее поверхности. В качестве носителей, использующих
изменение магнитных свойств, можно назвать магнитные ленты и диски. Регистрация данных путем
изменения химического состава поверхностных веществ носителя широко используется в фотографии. На
биохимическом уровне происходит накопление и передача данных в живой природе.
Для хранения программ и данных в персональных компьютерах используют различного рода
накопители, общая емкость которых, как правило, в сотни раз превосходит емкость оперативной памяти. По
отношению к компьютеру накопители могут быть внешними и встраиваемыми (внутренними).
В первом случае такие устройства имеют собственный корпус и источник питания, что экономит
пространство внутри корпуса компьютера и уменьшает нагрузку на его блок питания. Встраиваемые
накопители крепятся в специальных монтажных отсеках (drive bays) и позволяют создавать компактные
системы, которые совмещают в системном блоке все необходимые устройства.
Сам накопитель можно рассматривать как совокупность носителя и соответствующего привода. В
связи с этим различают накопители со сменным и несменным носителями. В зависимости от типа носителя
все накопители можно подразделить на накопители на магнитной ленте и дисковые накопители. Накопители
на магнитной ленте, в свою очередь, бывают двух видов: накопители на полудюймовых девятидорожечных
лентах, работающие в старт-стопном режиме, и стримеры, работающие в потоковом (инерционном) режиме.
Накопители на магнитной ленте называют также устройствами последовательного доступа, так как обратиться к удаленным фрагментам данных можно только после считывания менее удаленных. Накопители
же на дисках, как правило, являются устройствами произвольного доступа, поскольку интересующие
данные могут быть получены без обязательного прочтения им предшествующих.
По способу записи и чтения информации на носитель дисковые накопители можно подразделить на
магнитные, оптические и магнитооптические. Среди дисковых накопителей можно выделить:
- накопители на флоппи-дисках;
- накопители на флоптических дисках;
- накопители на несменных жестких дисках (винчестеры);
- накопители на сменных жестких дисках;
- накопители на магнитооптических дисках;
- накопители на оптических дисках с однократной записью и многократным чтением CD-R;
- накопители на оптических дисках с многократной записью и многократным чтением CD-RW;
- накопители на оптических компакт-дисках CD-ROM (Compact Disk ROM).
Флоппи-диски
Информация на жестком диске может храниться годами, однако иногда требуется ее перенос с одного
компьютера на другой. Несмотря на свое название, жесткий диск является весьма хрупким прибором,
чувствительным к перегрузкам, ударам и толчкам. Теоретически, переносить информацию с одного
рабочего места на другое путем переноса жесткого диска возможно, и в некоторых случаях так и поступают,
но все-таки этот прием считается нетехнологичным, поскольку требует особой аккуратности и
определенной квалификации.
Для оперативного переноса небольших объемов информации используют так называемые гибкие
магнитные диски (дискеты), которые вставляют в специальный накопитель — дисковод. Приемное
отверстие накопителя находится на лицевой панели системного блока. Правильное направление подачи
гибкого диска отмечено стрелкой на его пластиковом кожухе.
Основными параметрами гибких дисков являются: технологический размер (измеряется в дюймах),
плотность записи (измеряется в кратных единицах) и полная емкость.
Первый компьютер IBM PC (родоначальник платформы) был выпущен в 1981 году. К нему можно
было подключить внешний накопитель, использующий односторонние гибкие диски диаметром 5,25 дюйма.
Емкость диска составляла 160 Кбайт. Гибкие диски размером 3,5 дюйма выпускают с 1980 года.
Односторонний диск обычной плотности имел емкость 180 Кбайт, двусторонний — 360 Кбайт, а двусторонний двойной плотности — 720 Кбайт. Ныне стандартными считают диски размером 3,5 дюйма высокой
плотности. Они имеют емкость 1440 Кбайт (1,4 Мбайт) и маркируются буквами HD (high density — высокая
плотность).
С нижней стороны гибкий диск имеет центральную втулку, которая захватывается шпинделем
дисковода и приводится во вращение. Магнитная поверхность прикрыта сдвигающейся шторкой для защиты
от влаги, грязи и пыли. Если на гибком диске записаны ценные данные, его можно защитить от стирания и
24
перезаписи, сдвинув защитную задвижку так, чтобы образовалось открытое отверстие.
Для разрешения записи задвижку перемещают в обратную сторону и перекрывают отверстие. В
некоторых случаях для безусловной защиты информации на диске задвижку выламывают физически, но и в
этом случае разрешить запись на диск можно, если, например, заклеить образовавшееся отверстие тонкой
полоской липкой ленты.
Гибкие диски считаются малонадежными носителями информации. Пыль, грязь, влага, температурные
перепады и внешние электромагнитные поля очень часто становятся причиной частичной или полной
утраты данных, хранившихся на гибком диске. Поэтому использовать гибкие диски в качестве основного
средства хранения информации недопустимо. Их используют только для транспортировки информации или
в качестве дополнительного (резервного) средства хранения.
Сменные диски
Уже давно желанием многих пользователей является возможность размещения больших объемов
данных на малогабаритных носителях. Дискеты долгое время были именно такой «медленной средой» для
запоминания информации. Однако при работе с графикой становится заметно, что для размещения файлов
на дискетах необходимо столько же времени, сколько понадобилось для их создания.
Сменный жесткий диск помог решить эту проблему. Этот носитель обычно используется для двух
целей:
Периодическое сохранение данных на внешнем носителе.
Обмен информацией. Сменные жесткие диски являются надежным, быстрым и комфортабельным
средством обмена информацией.
У сменного винчестера переносным является не только носитель информации, но и фактически весь
дисковод, который вынимается из своих направляющих в корпусе PC. Для извлечения дисковода на
передней панели имеется специальная ручка. С обратной его стороны находится адаптер, который обычно
обеспечивает силовое питание и связь для приема-передачи данных.
Стример
Стример как и сменный жесткий диск, можно приобрести в виде внутреннего или внешнего
периферийного устройства. В качестве носителя информации стример использует магнитную ленту, которая
похожа на ленту в обычной аудиокассете.
Стримеры в основном используются для архивации и резервного копирования больших объемов
данных на компактные носители. Недостатком является малая скорость передачи информации. Она
значительно ниже, чем у винчестеров и сменных жестких дисков. Поэтому стримеры нельзя рекомендовать
для использования в других целях, кроме как для резервного копирования информации.
В качестве стандарта для стримера выбран стандарт QIC (Quarter Inez Cartridge Drive Standard). Только
благодаря этому стандарту стало возможным устанавливать различные ленты на различные приводы и
достигать программной совместимости при работе с ними.
Магнитооптические накопители
Магнитооптические накопители уже получили достаточно широкое распространение. Однако не
настолько широкое, как хотелось бы, из-за их соотношения цена/производительность.
Floptical – составное слово, образованное от слов Floppy-диск и Optical-диск. Принцип работы этого
привода ясен из названия. Floptical имеет размер 3,5" и может быть прочитан или записан на внешнем или
внутреннем дисководе. Емкость таких накопителей достигает нескольких десятков мегабайт. При оптическом чтении дорожек запись осуществляется обычными магнитными средствами, как у дискет.
Накопители Floptical не могут пробить себе «место под солнцем» по двум причинам:
Из-за предварительного оптического форматирования эти диски почти в пять раз дороже, чем
дискеты.
Из-за низкой скорости вращения привода (720 об/мин) данные считываются со скоростью примерно
100 Кбайт/с.
И, кроме того, альтернативные сменные накопители по соотношению цена/ емкость все еще
значительно лучше.
МО-привод (Magneto-Optical— магнитооптический) представляет собой накопитель информации, в
основу которого, как уже ясно из названия, положен магнитный носитель с оптическим (лазерным)
управлением.
Принцип устройства МО-носителя подобен CD-ROM. Но между слоем носителя и рефлектора
нанесено дополнительное напыление, которое реагирует как на оптическое, так и на магнитное воздействие.
В качестве головки записи/чтения служит лазер, который нагревает отдельные участки поверхности до
температуры около 150°С. Благодаря этому элементы промежуточного слоя взаимодействуют друг с другом
и после охлаждения намагничиваются. Этот процесс можно повторять любое количество раз, потому что
25
поверхность и слой носителя защищены. Второй лазер предназачен для чтения информации.
Емкость МО-привода подобна CD-ROM. Время доступа равно 70 мс. Средняя скорость передачи
данных может достигать 700 Кбайт/с.
Единственным недостатком МО-накопителей является их цена. Она все еще достаточно высока.
Накопители на гибких магнитных дисках Zip
К малогабаритным устройствам резервного копирования относятся накопители Zip на сменных гибких
магнитных дисках, разработанные фирмой Iomega. Картридж накопителя Zip содержит гибкие магнитные
диски, обеспечивающие хранение данных объемом до 250 Мбайт. Причем сам накопитель, использующий
такой картридж, может быть внешним или встраиваемым.
Эти устройства базируются на традиционной технологии магнитных носителей, но имеют более
совершенную систему позиционирования головок записи/чтения и надежную механику привода.
Приводы Zip имеют хорошее соотношение цена/производительность и превосходят по своим
характеристикам все имеющиеся сегодня накопители со сменными носителями.
В накопителях Zip предусмотрена функция введения пароля, что позволит хранить конфиденциальную
информацию.
Накопители на оптических компакт-дисках CD-ROM
В период 1994-1995 годах в базовую конфигурацию персональных компьютеров перестали включать
дисководы гибких дисков диаметром 5,25 дюйма, но вместо них стандартной стала считаться установка
дисковода CD-ROM, имеющего такие же внешние размеры.
Аббревиатура CD-ROM (Compact Disc Read-Only Memory) переводится на русский язык как постоянное запоминающее устройство на основе компакт-диска.
Компакт диск – оптический или магнитно-оптический диск, предназначенный для записи и чтения
цифровых данных при помощи лазерного луча.
Принцип действия этого устройства состоит в считывании числовых данных с помощью лазерного
луча, отражающегося от поверхности диска. Цифровая запись на компакт-диске отличается от записи на
магнитных дисках очень высокой плотностью, и стандартный компакт-диск может хранить примерно 650
Мбайт данных.
Большие объемы данных характерны для мультимедийной информации (графика, музыка, видео),
поэтому дисководы CD-ROM относят к аппаратным средствам мультимедиа. Программные продукты,
распространяемые на лазерных дисках, называют мультимедийными изданиями. Сегодня мультимедийные
издания завоевывают все более прочное место среди других традиционных видов изданий. Так, например,
существуют книги, альбомы, энциклопедии и даже периодические издания (электронные журналы), выпускаемые на CD-ROM.
Основным недостатком стандартных дисководов CD-ROM является невозможность записи данных, но
параллельно с ними существуют и устройства однократной записи CD-R (Compact Disk Recorder), и
устройства многократной записи CD-RW.
Основным параметром дисководов CD-ROM является скорость чтения данных. Она измеряется в
кратных долях. За единицу измерения принята скорость чтения в первых серийных образцах, составлявшая
150 Кбайт/с. Таким образом, дисковод с удвоенной скоростью чтения обеспечивает производительность 300
Кбайт/с, с учетверенной скоростью — 600 Кбайт/с и т. д. В настоящее время наибольшее распространение
имеют устройства чтения CD-ROM с производительностью 32х-48х. Образцы устройств однократной
записи имеют производительность 4х-8х, а устройств многократной записи — 4х.
Накопители DVD
Устройства для чтения дисков высокой плотности DVD-ROM по техническим характеристикам,
объемам выпуска и цене достигли, наконец, степени полной готовности к быстрому и массовому внедрению
в компьютеры любого уровня. Основные аргументы в пользу приводов DVD заключаются в том, что они
способны полностью заменить CD-ROM при ненамного более высокой стоимости и дают при этом, кроме
выполнения обычных функций (чтение дисков CD-ROM, CD-R и CD-RW), множество дополнительных
возможностей: чтение дисков DVD-ROM (объем информации от 4.7 Гб до 17 Гб) и видео DVD
(высококачественное видео в формате MPEG-2 и многоканальный звук), а в ближайшей перспективе –
воспроизведение звуковых дисков нового формата DVD Audio. На DVD носителях появились программные
продукты (энциклопедии, игры), не говоря уже об огромном количестве фильмов.
Диск DVD имеет такой же диаметр, как и обычные компакт-диски, однако это уже не одинарный диск
толщиной 1,2 мм. Он состоит из двух отдельных дисков толщиной 0,6 мм каждый, соединенных между
собой своими тыльными сторонами. Благодаря такой структуре информационный слой, с которого
производится считывание данных, удален от внешней поверхности только на 0,6 мм вместо прежних 1,2 мм.
Это обеспечивает более точную фокусировку лазера для чтения более плотно расположенных данных.
26
CD-RW и CD-R
Приводы CD-R позволяют считывать данные с компакт-дисков и делать запись только на одноразовые
(Recordable) диски. Устройства CD-RW (ReWritable) позволяют осуществлять запись на многоразовые,
перезаписываемые диски и более универсальны, чем CD-R.
На диск CD-R можно последовательно добавлять новые файлы или их новые версии, но когда он
заполнится, нельзя удалить старые файлы, чтобы высвободить место. Накопитель типа CD-RW позволяет
работать с диском CD-RW во многом так же, как с любым другим носителем информации, – т.е. обновлять и
удалять файлы по мере необходимости.
Помимо относительно низкой стоимости самого устройства, рост их популярности обусловило то, что
с увеличением объема используемых программ, баз данных, развитием мультимедийных технологий
возникла потребность в архивировании и резервном хранении больших объемов информации (десяткисотни мегабайт).
Скорость записи, перезаписи и чтения указывается в единицах, кратных стандартной скорости
аудиозаписи (153.8 Кб/с), например, 4х. Маркировка CD-RW 4 x 8 x 32 означает, что скорость перезаписи,
записи на одноразовых дисках и чтения равна 4, 8 и 32 соответственно. Иногда встречается маркировка типа
16 х 10 х 40, но всегда наименьшее число обозначает скорость перезаписи (rewrite).
Накопители на жестком диске
Эволюция персональных компьютеров связана с изменениями накопителей на жестких дисках. Первые
ЭВМ не имели таких накопителей.
Наименование диска — жесткий — подчеркивает его отличие от гибкого диска: магнитное покрытие
наносится на жесткую подложку. Термин жесткий диск (hard disk) используется, в основном, в
англоязычных странах. Первый накопитель на жестких дисках был создан в 1973 г. по технологии фирмы
IBM и имел кодовое обозначение «30/30» (двусторонний диск емкостью 30 + 30 Мбайт). Это кодовое
обозначение совпадало с обозначением калибра легендарного охотничьего ружья «винчестер»,
использовавшегося при завоевании Дикого Запада. Такие же намерения были и у разработчиков жесткого
диска; наименование «винчестер» получило широкое распространение. Винчестер – жесткий магнитный
диск, располагающийся внутри центрального блока и предназначенный для долговременного хранения
информации (см. рис. 3.7.).
Рис. 3.7. Основные элементы накопителя на жестких дисках
Взглянув на накопитель на жестком диске, вы увидите только прочный металлический корпус. Он
полностью герметичен и защищает дисковод от частичек пыли, которые при попадании в узкий зазор
между головкой и поверхностью диска могут повредить чувствительный магнитный слой и вывести диск
из строя. Кроме того, корпус экранирует накопитель от электромагнитных помех.
Дисковод – устройство, которое содержит механизмы для вращения магнитного диска и перемещения
головки чтения и записи по его поверхности.
Головка считывания-записи – магнитная головка, позволяющая осуществлять чтение и запись данных
на диск.
Внутри корпуса находятся все механизмы и некоторые электронные узлы.
Механизмы – это сами диски, на которых хранится информация, головки, которые записывают и
считывают информацию с дисков, а также двигатели, приводящие все это в движение.
Диск представляет собой круглую металлическую пластину с очень ровной поверхностью, покрытую
тонким ферромагнитным слоем. Технология его нанесения близка к той, которая используется при
производстве интегральных микросхем.
Количество дисков может быть различным, количество рабочих поверхностей, соответственно, вдвое
больше (по две на каждом диске). Последнее (как и материал, использованный для магнитного покрытия)
определяет емкость жесткого диска. Иногда наружные поверхности крайних дисков (или одного из них) не
27
используются, что позволяет уменьшить высоту накопителя, но при этом количество рабочих поверхностей
уменьшается и может оказаться нечетным.
Магнитные головки считывают и записывают информацию на диски. Принцип записи в общем схож
с тем, который используется в обычном магнитофоне. Цифровая информация преобразуется в переменный
электрический ток, поступающий на магнитную головку, а затем передается на магнитный диск, но уже в
виде магнитного поля, которое диск может воспринять и «запомнить».
Магнитное покрытие диска представляет собой множество мельчайших областей самопроизвольной
(спонтанной) намагниченности. Для наглядности представьте себе, что диск покрыт слоем очень маленьких
стрелок от компаса, направленных в разные стороны. Такие частицы-стрелки называются доменами. Под
воздействием внешнего магнитного поля собственные магнитные поля доменов ориентируются в
соответствии с его направлением.
После прекращения действия внешнего поля на поверхности диска образуются зоны остаточной
намагниченности. Таким образом сохраняется записанная на диск информация. Участки остаточной
намагниченности, оказавшись при вращении диска напротив зазора магнитной головки, наводят в ней
электродвижущую силу, изменяющуюся в зависимости от величины намагниченности.
Пакет дисков, смонтированный на оси-шпинделе, приводится в движение специальным двигателем,
компактно расположенным под ним. Для того чтобы сократить время выхода накопителя в рабочее
состояние, двигатель при включении некоторое время работает в форсированном режиме. Поэтому
источник питания компьютера должен иметь запас по пиковой мощности.
Головки перемещаются с помощью прецизионного шагового двигателя и как бы «плывут» на
расстоянии в доли микрона от поверхности диска, не касаясь его. Держатель головки представляет собой
крыло, парящее над поверхностью, благодаря тому, что поверхность увлекает с собой частицы воздуха,
создавая таким образом, набегающий на крыло поток. На поверхности дисков в результате записи
информации образуются намагниченные участки в форме концентрических окружностей. Они называются
магнитными дорожками.
Дорожка – концентрическое кольцо на поверхности магнитного диска, на которое записываются
данные.
Сектор – деление дисковых дорожек, представляющее собой
основную единицу размера,
используемую накопителем. Секторы обычно содержат по 512 байтов.
Совокупность дорожек, расположенных друг под другом на всех поверхностях, называют цилиндром.
Все головки накопителя перемещаются одновременно, осуществляя доступ к одноименным цилиндрам с
одинаковыми номерами.
Число дисков, головок и дорожек накопителя устанавливается изготовителем исходя из свойств и
качества дисков. Изменить эти характеристики нельзя. Количество секторов на диске зависит от метода
записи. Зная размер сектора, всегда можно рассчитать общий объем накопителя:
V = C х H х S х B,
где: C – количество цилиндров,
H – количество головок,
S – количество секторов на дорожку,
B – размер сектора.
Описанное выше деление называется низкоуровневым (LowLewel) форматированием. Такое
форматирование нижнего уровня чаще всего выполняет изготовитель, используя специальные программные
средства или команды операционной системы. Перед первым использованием дисков необходимо
произвести их логическое форматирование – специальным образом инициализировать их (с помощью
программы format).
Логическая структура диска определяется стандартом той или иной операционной системы. Группы
секторов условно объединяются в кластеры. Кластер – это несколько секторов, рассматриваемых
операционной системой как единое целое. Кластер является наименьшей единицей адресации к данным.
Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска.
Жесткий диск может быть разбит на несколько разделов (partition), которые в принципе затем могут
использоваться либо одной ОС, либо различными ОС. Раздел – раздел памяти, выделяемый на жестком
диске для определенного использования. На каждом разделе может быть организована своя файловая
система. Однако для организации даже одной-единственной файловой системы необходимо определить, по
крайней мере, один раздел.
Логическая структура диска зависит от файловой системы (NTFS, FAT32 и т.д.). Основными
составляющими логической структуры диска являются:
Boot Record (загрузочная запись), отвечающая за загрузку в оперативную память основных модулей
операционной системы. По физическому адресу [0-0-1] на винчестере располагается MBR (master boot
record) – главная загрузочная запись. В загрузочной записи хранится информация о логических дисках и
физические параметры диска.
FAT (File allocation table) – таблица размещения файлов. FAT является линейной табличной
структурой со сведениями о файлах — именами файлов, их атрибутами и другими данными,
28
определяющими местонахождение файлов (или их фрагментов). Элемент FAT определяет фактическую
область диска, в которой хранится начало физического файла. Таблица размещения файлов является очень
важной информационной структурой. Можно сказать, что она представляет собой карту (образ) области
данных, в которой описывается состояние каждого участка области данных – кластера. В таблице FAT
кластеры, принадлежащие одному файлу, связываются в цепочки.
Корневой каталог. Корневой каталог отличается от обычного каталога тем, что он, помимо
размещения в фиксированном месте логического диска, еще имеет и фиксированное число элементов.
Область данных (содержимое всех файлов).
Хранение и извлечение данных с диска требует взаимодействия между операционной системой,
контроллером жесткого диска и электронными и механическими компонентами самого накопителя.
Управление работой жесткого диска выполняет специальное аппаратно-логическое устройство —
контроллер жесткого диска. В прошлом оно представляло собой отдельную дочернюю плату, которую
подключали к одному из свободных слотов материнской платы. В настоящее время функции контроллеров
дисков выполняют микросхемы, входящие в микропроцессорный комплект (чипсет), хотя некоторые виды
высокопроизводительных контроллеров жестких дисков по-прежнему поставляются на отдельной плате.
К основным параметрам жестких дисков относятся емкость и производительность. Емкость дисков
зависит от технологии их изготовления. В настоящее время большинство производителей жестких дисков
используют изобретенную компанией IBM технологию с использованием гигантского магниторезистивного
эффекта (GMR — Giant Magnetic Resistance). Теоретический предел емкости одной пластины, исполненной
по этой технологии, составляет порядка 20 Гбайт. В настоящее время достигнут технологический уровень
6,4 Гбайт на пластину, но развитие продолжается.
С другой стороны, производительность жестких дисков меньше зависит от технологии их
изготовления. Сегодня все жесткие диски имеют очень высокий показатель скорости внутренней передачи
данных, и потому их производительность в первую очередь зависит от характеристик интерфейса, с
помощью которого они связаны с материнской платой.
Кроме скорости передачи данных с производительностью диска напрямую связан параметр среднего
времени доступа. Он определяет интервал времени, необходимый для поиска нужных данных, и зависит от
скорости вращения диска. Для дисков, вращающихся с частотой 5400 об/мин, среднее время доступа
составляет 9-10 мкс, для дисков с частотой 7200 об/мин — 7-8 мкс. Изделия более высокого уровня
обеспечивают среднее время доступа к данным 5-6 мкс.
Накопители на дисковых массивах RAID
В результате изысканий, проведенных различными фирмами, появилось самостоятельное направление
разработки накопителей на жестких магнитных дисках — создание накопителей на дисковых массивах.
Название RAID (Redundant Array of Independent Disks) переводится как “резервирующие массивы
независимых дисков”. Идея RAID проста: несколько дисков, объединенных вместе, могут не только увеличить объем накопителя, но и повысить надежность хранения информации при возросшей скорости
передачи данных. Такие системы целесообразно использовать для хранения огромных массивов данных,
электронных библиотек и т. п. при совместной работе с мощным сервером (или несколькими серверами).
Массив дисков, будучи подключенным к компьютеру, распознается системой как один диск большой
емкости. Отказоустойчивость дискового массива может быть увеличена за счет избыточности хранимой
информации.
RAID-массив строится на основе распределения данных между дисками. Пространство каждого диска
разбивается на сегменты. Дисковое пространство RAID-массива представляет собой объединение сегментов
всех дисков массива.
Архитектура построения и распределения дисковой памяти в устройствах RAID имеет несколько
классов (уровней). На сегодняшний день существует девять уровней RAID-массивов, которые различаются
по скорости, надежности и стоимости изготовления. Наибольшее распространение получили уровни:
нулевой, первый, второй и пятый. В меньшей степени распространены третий, шестой и седьмой уровни.
В системе RAID уровня 0 (часто называемого уровнем чередования данных) информация каждого
файла располагается на нескольких дисках. Однако при такой организации высока вероятность отказа.
Иногда этот уровень называют дисковым массивом без дополнительной отказоустойчивости.
Дисковые массивы уровня 1 (зеркального дублирования дисков) имеют полный дубликат каждого
диска, обеспечивая тем самым надежность хранения информации и быстродействие накопителя, но стоимость таких массивов высока. Достоинства использования массивов RAID 1 состоят в следующем:
скорость записи на зеркальные диски идентична скорости записи на один диск;
скорость чтения данных в два раза выше, чем одного диска;
Высокая скорость восстановления данных вследствие избыточности информации. Восстановление
происходит путем копирования данных с одного диска на другой.
К недостаткам можно отнести низкий коэффициент использования дискового пространства (Кисп =
0.5).
Дисковые массивы уровня RAID 2 основаны на использовании алгоритма Хемминга для
29
проверки/восстановления данных. Поток данных разбивается на отдельные слова, каждое слово, в свою
очередь, разбивается на биты. Биты последовательно записываются на диски. Для каждого слова данных по
алгоритму Хемминга вычисляется значение корректирующего кода. Код Хемминга (назван именем Р. В.
Хемминга) является корректирующим кодом, исправляющим одну ошибку в каждом кодовом слове.
Вычисленные по алгоритму Хемминга контрольные суммы записываются на отдельный диск и
используются для проверки данных при считывании. Достоинствами технологии RAID 2 являются:
оперативное исправление ошибок;
высокая скорость передачи данных, увеличивающаяся с ростом числа дисков в массиве;
возрастание коэффициента использования дискового пространства по мере увеличения числа
дисков;
относительно простое конструктивное исполнение.
Пятый уровень ориентирован на активную работу с дисками и обеспечивает максимальную скорость
доступа к информации за счет использования независимых дисков данных и равномерного распределения
контрольных сумм между дисками. Этот уровень находит наибольшее распространение в тех случаях, когда
требуется достаточно высокая скорость передачи большого количества информационных файлов малого
объема. Для RAID 5 характерно распределение информации контрольных данных, как минимум, по трем
дискам.
3.6. Внешние устройства ЭВМ
Эффективность использования ЭВМ в большой степени определяется количеством и типами внешних
устройств, которые могут применяться в ее составе. Внешние устройства обеспечивают взаимодействие
пользователя с ЭВМ. Широкая номенклатура внешних устройств, разнообразие их техникоэксплуатационных и экономических характеристик дают возможность пользователю выбрать такие
конфигурации ЭВМ, которые в наибольшей мере соответствуют его потребностям и обеспечивают
рациональное решение его задач.
Внешние устройства составляют до 80% стоимости ЭВМ и оказывают значительное (иногда даже
решающее) влияние на характеристики машины в целом.
Конструктивно каждая модель ЭВМ имеет так называемый базовый набор внешних устройств –
клавиатуру и дисплей. Пользователь, как правило, сам подбирает желательное ему печатающее устройство.
В случае необходимости к ЭВМ могут подключаться также дополнительные внешние устройства, например
сканеры, стримеры, плоттеры или диджитайзеры. В последние годы многие фирмы прилагают значительные
усилия для разработки совершенно новых видов внешних устройств, ориентированных на стремительно
растущие запросы пользователей, в частности для приложений в области мультимедиа.
Устройства ввода информации. Клавиатура (клавишное устройство) реализует диалоговое общение пользователя с ЭВМ:
· ввод команд пользователя, обеспечивающих доступ к ресурсам ЭВМ;
· запись, корректировку и отладку программ;
· ввод данных и команд в процессе решения задач.
Центральную часть клавиатуры обычно занимают клавиши букв латинского и русского алфавита,
служебных знаков (!, ”, :, % и др.), а также цифровые клавиши. В большинстве случаев одна клавиша используется для ввода нескольких разных знаков, причем переход между ними производится за счет
одновременного нажатия соответствующей клавиши и одной и/или двух служебных функциональных
клавиш (обычно – клавиш Shift, Alt, Ctrl). В большинстве моделей клавиатуры с правой стороны
размещается дополнительная цифровая клавиатура, что создает удобства при необходимости частого ввода
чисел. По периферии клавиатуры размещаются служебные функциональные клавиши: Enter, Esc, Delete,
Insert, Tab и др., а также “программируемые” функциональные клавиши (F1 – F12). Функциональные
клавиши в программах выполняют в основном специальные операции. К примеру, клавиша Esc обычно
означает “отмену” или “возврат”, клавиша Insert – “вставку” и т.п. Назначение программируемых
функциональных клавиш F1 – F12 более гибко: оно, как правило, определяется в соответствующих
программах и приводится в их документации. Служебные клавиши (Shift, Alt, Ctrl) и индикаторы режимов
(Print Screen, Caps Lock, Break) служат для переключения назначения алфавитно-цифровых клавиш, вывода
“образа экрана дисплея” на принтер, изменения режима работы и прерывания программ. Клавиши
управления (<,>,^,v) необходимы для позиционирования курсора на экране дисплея. Ряд клавиш
обеспечивают перемещение курсора в начальную или конечную позицию на строке экрана дисплея (Home,
End), а также на страницу вперед или назад (PgUp и PgDn).
Клавиатура ЭВМ передает МП не код символа, а порядковый номер нажатой клавиши и
продолжительность времени каждого нажатия. Интерпретация смысла нажатой клавиши выполняется
программным путем. Таким образом, кодировка клавиши оказывается независимой от кодировки символов,
что значительно упрощает работу с клавиатурой.
Общение пользователя с ЭВМ облегчается с помощью различных манипуляторов. Наиболее
распространенным из них является так называемая мышь. Мышь представляет собой небольшую коробочку
с двумя или тремя клавишами и утопленным свободно вращающимся в любом направлении шариком на
30
нижней поверхности. Коробочка подключается к компьютеру при помощи специального кабеля. Пользователь, перемещая мышь по поверхности стола (обычно для этого используются специальные резиновые
коврики), позиционирует указатель мыши (стрелку, прямоугольник) на экране дисплея, а нажатием клавиш
выполняет определенное действие, связанное с соответствующей клавишей (например, выполняет
определенный пункт меню) Мышь требует специальной программной поддержки.
В портативных ЭВМ мышь обычно заменяется особым, встроенным в клавиатуру, шариком на
подставке с двумя клавишами по бокам, называемым трекбол. Позиционирование указателя трекбола на
экране дисплея производится вращением этого шарика. Клавиши трекбола имеют то же значение, что и
клавиши мыши. Несмотря на наличие трекбола, пользователь портативной ЭВМ может использовать и
обычную мышь, подключив ее к соответствующему порту.
Для непосредственного считывания графической информации с бумажного или иного носителя в ЭВМ
применяются оптические сканеры. Сканеры бывают настольные, позволяющие обрабатывать весь лист бумаги или пленки целиком, а также ручные. Ручные сканеры проводят над нужными рисунками или текстом,
обеспечивая их считывание. Введенный при помощи сканера рисунок распознается ЭВМ с помощью
специального программного обеспечения. Рисунок может быть не только сохранен, но и откорректирован по
желанию пользователя соответствующими графическими пакетами программ.
Для той же цели, т.е. для ввода рисунков в ЭВМ, может использоваться также световое перо и
различные диджитайзеры.
К ручным манипуляторам относится и джойстик, представляющий собой подвижную рукоять с одной
или двумя кнопками, при помощи которой можно позиционировать указатель на экране дисплея. Кнопки
имеют то же назначение, что и клавиши мыши. Джойстик используется в первую очередь для игровых
применений.
Устройства вывода информации. Самым популярным из устройств вывода информации является
дисплей – устройство визуального отображения текстовой и графической информации. Дисплей относится к
числу неотъемлемых принадлежностей компьютера. Есть и параллельные термины, обозначающие почти то
же самое, – “видеотерминал”, “видеомонитор” (хотя есть и смысловые оттенки: “монитор” – устройство
управления чем-то, “терминал” – удаленное устройство доступа).
Дисплеи классифицируются по нескольким разным параметрам, отражающим их назначение в
конкретной компьютерной системе и возможности. Бывают дисплеи монохромные и цветные.
Монохромный дисплей производит отображение в двух цветах – черном и белом, либо зеленом и черном и
т.д. Высококачественный цветной дисплей может воспроизводить десятки основных цветов и тысячи
оттенков.
Бывают дисплеи графические и алфавитно-цифровые (последние, способные отображать лишь
ограниченный набор основных символов используемого алфавита, почти исчезли из обычного обихода).
Графический дисплей может отображать как символы, так и любое изображение, которое можно построить
из отдельных точек в пределах разрешающей способности.
По физическим принципам, лежащим в основе конструкций дисплеев, подавляющее большинство их
относится к дисплеям на базе электронно-лучевых трубок и к жидкокристаллическим дисплеям (последние
особенно часто встречаются у портативных компьютеров). У первых формирование изображения
производится на внутренней поверхности экрана, покрытого слоем люминофора – вещества, светящегося
под воздействием электронного луча, генерируемого специальной “электронной пушкой” и управляемого
системами горизонтальной и вертикальной развертки. Жидкокристаллический экран состоит из крошечных
сегментов, заполненных специальным веществом, способным менять отражательную способность под
воздействием очень слабого электрического поля, создаваемого электродами, подходящими к каждому
сегменту.
При выводе на экран любого изображения, независимо от того, в растровом или векторном форматах
оно зафиксировано в графических файлах, в видеопамяти формируется информация растрового типа,
содержащая сведения о цвете каждого пиксела, задающего наиболее мелкую деталь изображения. Каждый
пиксел однозначно связан с долей видеопамяти – несколькими битами, в которых программным путем
задается яркость (и, при цветном экране, цветность) свечения этого пиксела. Специальная системная
программа десятки раз в секунду считывает содержимое видеопамяти и обновляет содержимое каждого
пиксела, тем самым создавая и поддерживая на экране изображение.
Основные характеристики дисплеев с точки зрения пользователя таковы: разрешающая способность,
число воспроизводимых цветов (для цветного дисплея) или оттенков яркости (для монохромного).
В настоящее время начался промышленный выпуск плазменных дисплеев. В основе – возможность
управлять возникновением электрических разрядов в некоторых газах и сопровождающим их свечением.
Такие дисплеи обладают высоким качеством изображения и могут иметь значительно большие, чем у
привычных компьютеров, размеры экранов при небольшой толщине (экран с диагональю около 1 м при
толщине 8-10 см).
Огромную роль при выводе информации играют разнообразные печатающие устройства – принтеры.
Наличие дисплея на современных компьютерах позволяет, работая в интерактивном режиме, экономить
огромное количество бумаги, но все равно наступает, как правило, момент, когда необходима так
называемая “твердая копия” информации – текст, данные, рисунок на бумаге. В процессе эволюции
31
принтеры прошли следующий путь. Первые копировали пишущую машинку, имея ударные клавиши с
буквами, цифрами и т.д. Под управлением процессора та или иная клавиша наносила удар по красящей
ленте, оставляющей след на бумаге. Таких принтеров давно нет, их прямые наследники – точечноматричные принтеры ударного типа – располагают перемещающейся вдоль строки печатающей головкой,
содержащей от 9 до 24 игл, каждая из которых может независимо от остальных наносить удар по ленте. Это
позволяет формировать изображения как букв и цифр, так и любых других символов, а также достаточно
сложные рисунки и чертежи. Для хранения и подачи ленты используют специальную пластмассовую
коробочку – картридж. Принтеры стали “интеллектуальными”, т.е. имеют собственное ОЗУ и электронный
блок управления для того, чтобы разгрузить основное ОЗУ и не отнимать в процессе печати время у
центрального процессора.
Особенность современного принтера – возможность поддержки многих шрифтов. Часть шрифтов
“прошита” в памяти принтера и задается нажатием клавиш на его панели. Еще больше шрифтов являются
“загружаемыми”, т.е. задаются той программой, которая обращается к устройствам печати. При печати
“собственными” шрифтами принтер обычно работает быстрее, так как комбинации ударов игл выбираются
из знакогенератора принтера. Загружаемые шрифты требуют дополнительного времени на загрузку до
начала печати соответствующей программы – знакогенератора; самая медленная печать осуществляется в
графическом режиме, который требует постоянной пересылки в принтер информации о текущем режиме
работы каждой иглы. Последний (графический) режим с появлением системы “Windows” стал очень
распространенным; он не включает предварительной пересылки шрифтов в память принтера.
Приведем названия наиболее распространенных шрифтов, чаще всего “прошитых” в принтерах: roman
– шрифт пишущей машинки, bold-face – полужирный, italic – курсив, condenced – сжатый.
Качество печати текста определяется не только шрифтом и классом принтера, но и числом точек, из
которых формируется символ. Наиболее быстрый режим с минимально возможным числом точек и весьма
невысоким качеством печати – режим черновой печати (draft), наиболее высококачественный – режим SLQ
(Super Letter Quality). На одном и том же принтере соотношение скоростей печати в разных режимах может
достигать 1:10.
Все чаще на рабочих местах пользователей персональных компьютеров появляются вместо точечноматричных струйные или лазерные принтеры. Струйные принтеры вместо головки с иглами имеют головку
со специальной краской и микросоплом, через которую эта краска “выстреливается” струйкой на бумагу (и
быстро сохнет). Для формирования изображения либо струйка краски может отклоняться специально
созданным электрическим полем (так как она электризуется в момент выхода из сопла), либо (чаще) головка
имеет столбец из нескольких сопел – наподобие матрицы игл точечно-матричного принтера.
Струйные принтеры могут быть цветными, они смешивают на бумаге красители, порознь распыляемые
разными соплами. Изображение, формируемое струйными принтерами, по качеству превосходит
аналогичное, получаемое на точечно-матричных. Дополнительное достоинство при этом – меньший уровень
шума при работе.
Самые высококачественные изображения на бумаге на сегодняшний день дают лазерные принтеры.
Один из основных узлов лазерного принтера – вращающийся барабан, на внешней поверхности которого
нанесен специальный светочувствительный материал. Управляемый электронным блоком луч лазера
оставляет на поверхности барабана наэлектризованную “картинку”, соответствующую формируемому
изображению. Затем на барабан наносится специальный мелкодисперсный порошок – тонер, частички
которого прилипают к наэлектризованным участкам поверхности. Вслед за этим к барабану прижимается
лист бумаги, на который переходит тонер, после чего изображение на бумаге фиксируется (“прижигается”) в
результате прохождения через горячие валки. Все это происходит с огромной быстротой, благодаря чему
лазерные принтеры значительно превосходят обсуждавшиеся выше по скорости работы. Лазерные принтеры
– рекордсмены по части количества воспроизводимых шрифтов и качеству рисунков благодаря высочайшей
разрешающей способности. Существуют как черно-белые, так и цветные лазерные принтеры. Лазерный
принтер работает почти бесшумно. Единственный, но, увы, очень важный параметр, по которому они
существенно уступают принтерам ранее описанных типов – стоимость; далеко не всякий может себе
позволить приобрести принтер, по стоимости превосходящий точечно-матричный аналог в несколько раз.
Лидирующая фирма в производстве струйных и лазерных принтеров – “Hewlett-Packard” (HP), США,
хотя в этой области действуют и другие фирмы.
Существуют и принтеры, работающие на других физических принципах, но по распространенности
они значительно уступают тем, которые обсуждались выше.
К принтерам близки по назначению плоттеры – специализированные устройства для вывода на бумагу
чертежей и рисунков. Рисунок исполняется специальным пером, управляемым электронным блоком; для
цветного плоттера необходимо несколько перьев. Плоттер необходим как часть автоматизированного
рабочего
места
(АРМ)
проектировщика,
инженера-конструктора,
архитектора.
В
силу
специализированности и высокой стоимости плоттеры не являются устройствами массового
распространения.
3.2. Технология обработки информации
32
3.2.1. Информация и данные
Развитие вычислительной техники и программирования сопровождалось эволюцией представлений о
роли данных и их организации. Одним из свойств компьютеров является способность хранить огромные
объемы информации и обеспечивать легкий доступ к ней. Информация, подлежащая обработке, в некотором
смысле представляет абстракцию фрагмента реального мира. Мы говорим о данных как об абстрактном
представлении реальности, поскольку некоторые свойства и характеристики реальных объектов при этом
игнорируются (как несущественные для данной задачи). Например, каждый сотрудник в списке
сотрудников некоторого учреждения представлен множеством данных. Это множество может включать
идентифицирующие данные (например, фамилию), данные, относящиеся к тому, что сотрудник делает или к
тому, что делают для него. Однако маловероятно, что будут включены такие сведения, как цвет глаз или
волос, рост и вес.
Решая конкретную задачу, необходимо выбрать множество данных, представляющих реальную
ситуацию. Затем надлежит выбрать способ представления этой информации. Представление данных
определяется исходя из средств и возможностей, допускаемых компьютером и его программным
обеспечением. Однако очень важную роль играют и свойства самих данных, операции, которые должны
выполняться над ними.
С развитием вычислительной техники и программирования средства и возможности представления
данных получили большое развитие и теперь позволяют использовать как простейшие
неструктурированные данные, так и данные более сложных типов, полученные с помощью комбинации
простейших данных. Такие данные называют структурированными, поскольку они обладают некоторой
организацией. Современные средства программирования позволяют оперировать с множествами,
массивами, записями, файлами (очередями).
В более сложных случаях программист может задать динамические структуры данных, память для
хранения которых выделяется прямо в процессе выполнения программы. К таким данным относят линейные
списки (одно- и двунаправленные), стеки, деревья, графы.
В последние годы получило развитие объектно-ориентированное программирование, в котором в
известной мере устранено противостояние данных и программ. Объект – это некое образование, состоящее
не только из данных, но и из процедур их обработки.
Простые (неструктурированные) типы данных
В математике принято классифицировать величины в соответствии с их характеристиками. Различают
целые, вещественные, комплексные и логические величины, величины, представляющие собой отдельные
значения, множества значений или множества множеств. Аналогично этому в информатике любая
константа, переменная, выражение или функция относится к некоторому типу. Фактически тип характеризует множество значений, которые может принимать константа, переменная, выражение или функция.
Широко используется правило, по которому тип явно указывается в описании константы, переменной или
функции. К данным каждого типа применимы определенные операции и их поведение подчиняется
некоторым аксиомам.
Так, над целыми числами могут выполняться операции сложения (+), вычитания (-) и умножения (*).
Существуют две различные операции, связанные с делением и не выводящие за границы множества целых
чисел: 1) определение целой части от деления одного числа на другое; 2) определение остатка от деления
одного числа на другое.
Целые числа, используемые компьютером, имеют те же свойства (подчиняются тем же аксиомам), что
и целые числа в арифметике. Все вычисления с ними выполняются абсолютно точно (не приближенно).
Имеется только одно отличие в свойствах компьютерных целых чисел от тех, которыми оперирует
абстрактная математика, – ограниченность диапазона: для каждой компьютерной системы имеется самое
большое допустимое в ней целое число М+ (и самое малое, отрицательное М-).
Над действительными (или вещественными) числами могут быть выполнены операции сложения (+),
вычитания (-), умножения (*) и деления (/), так же, как и над математическими действительными числами.
Однако, все операции над действительными числами выполняются с точностью, не превосходящей
некоторого фиксированного значения, вследствие того, что представления чисел в памяти компьютера
имеют ограниченную длину (зависящую от конкретного компьютера и используемой системы
программирования). Так, например, в машинной арифметике может быть 1/3 = 0,33333333, тогда как
математически точное десятичное представление дроби 1/3 – бесконечно длинное число.
Главным свойством литерных (символьных) данных является их упорядоченность, т.е. свойство быть
сравнимыми. Обычным признаком значения символьной или текстовой величины являются кавычки, и
справедливо ‘а’ < ‘b’, ‘b’ < ‘с’, ‘с’ < ‘d’ и т.д. Каждый символ имеет определенный числовой код (например,
код символа латинской буквы ‘А’ в большинстве кодировок 63) и упорядочение происходит в соответствии
с этими числовыми кодами. Как правило, имеются функции, позволяющие получить по символу его код и
символ по коду.
33
Для строчных величин единственной выполнимой операцией является конкатенация («сложение»)
строк. Например, ‘abcd’ + ‘efg’ = ‘abcdefg’. В конкретных системах обычно определены функции,
определяющие длину строк, вхождение в них тех или иных подстрок, вырезающие из строк некоторые
фрагменты.
К логическим данным, способным принимать значения «истина» («true») или «ложь» («false»),
применимы основные операции логики высказываний: конъюнкция (логическое «и» – «and»), дизъюнкция
(логическое «или» – «or»), отрицание (логическое «не» – «not»). Эти логические операции определяются
таблицей истинности, табл. 3.1. Иногда можно использовать операции импликации («если»), эквиваленции
(«если и только если») и т.п.
Таблица 3.1.
A
B
И
И
Л
Л
И
Л
И
Л
"и"
(A and B)
И
Л
Л
И
"или"
(A or B)
И
И
И
Л
"не"
(not A)
Л
Л
И
И
Часто при решении задач оказываются полезными определенные разработчиком типы данных,
представляющие собой перечисление некоторых констант или ограниченный с обеих сторон диапазон
определенных ранее данных. Например, создается тип данных из двух символов ‘а’ и ‘b’ или из целых чисел
в диапазоне от 1 до 100 и т.д.
Структурированные типы данных
Описанные выше типы данных называют простыми. Основной признак, по которому можно
определить величину простого типа, таков: одно имя – одно значение.
Значительно большие возможности заключают в себе структурированные данные, определяемые
разработчиком программы (в пределах возможностей используемого им языка программирования). К
структурированию данных разработчика программы толкает как логика прикладной задачи, так и чисто
утилитарное соображение: при наличии в задаче большого количества входных и выходных данных
отдельное именование каждого из них может оказаться практически невозможным.
Разумеется, действия разработчика алгоритма и программы ограничены возможностями того языка
программирования, на который он ориентируется. В разных языках возможности структуризации
переменных на уровне сложных структур не совпадают, но многие структуры давно стали традиционными и
реализованы в большинстве практически используемых языков программирования.
Структурированные типы данных классифицируют по следующим основным признакам: однородная –
неоднородная, упорядоченная – неупорядоченная, прямой доступ – последовательный доступ, статическая –
динамическая. Эти признаки противостоят друг другу лишь внутри пары, а вне этого могут сочетаться.
Если все элементы, образующие структуру, однотипны (например – целые числа или символы), то
структура является однородной; если же в ней «перепутаны» элементы разной природы (например, числа
чередуются с символами), то неоднородной.
Структуру называют упорядоченной, если между ее элементами определен порядок следования.
Примером упорядоченной математической структуры служит числовая последовательность, в которой у
каждого элемента (кроме первого) есть предыдущий и последующий. Наличие индекса в записи элементов
структуры уже указывает на ее упорядоченность (хотя индекс для этого не является обязательным
признаком).
По способу доступа упорядоченные структуры бывают прямого и последовательного доступа. При
прямом доступе каждый элемент структуры доступен пользователю в любой момент независимо от других
элементов. Глядя на линейную таблицу чисел мы можем списать или заменить сразу, допустим, десятый
элемент. Однако, если эта таблица не на бумаге, а, скажем, каким-то образом записана на магнитофонную
ленту, то сразу десятое число нам недоступно – надо сначала извлечь девять предшествующих. В последнем
случае мы имеем дело с последовательным доступом.
Если у структуры размер (длина, количество элементов) не может быть изменен «на ходу», а
фиксирован заранее, то такую структуру называют статической. Программные средства информатики
иногда позволяют не фиксировать размер структуры, а устанавливать его по ходу решения задачи и менять
при необходимости, что бывает очень удобно. Такую структуру называют динамической. Например, при
описании закономерностей движения очереди в магазине мы не знаем заранее, сколько человек в ней будет
в тот или иной момент, и соответствующую структуру данных (например, список фамилий участников
очереди) лучше представлять динамической.
Массивы
34
Самым традиционным и широко известным из структурированных типов данных является массив
(иначе называемый регулярным типом) – однородная упорядоченная статическая структура прямого
доступа.
Массивом называют однородный набор величин одного и того же типа, называемых компонентами
массива, объединенных одним общим именем (идентификатором) и идентифицируемых (адресуемых)
вычисляемым индексом. Это определение подчеркивает, что все однотипные компоненты массива имеют
одно и то же имя, но различаются по индексам, которые могут иметь характер целых чисел из некоторого
диапазона, литер, перечисленных констант. Индексы позволяют адресовать компоненты массива, т.е.
получить доступ в произвольный момент времени к любой из них как к одиночной переменной. Обычный
прием работы с массивом – выборочное изменение отдельных его компонент.
Компонентами массива могут быть не только простейшие данные, но и структурные, в том числе
массивы. В этом случае мы получаем массив массивов – многомерный массив. Для индексации
элементарных компонент в этом случае может потребоваться два, три и более индексов.
Записи, множества, файлы
Обобщением массива является комбинированный тип данных – запись, являющаяся неоднородной
упорядоченной статической структурой прямого доступа. Запись – набор именованных компонент – полей
(часто разного типа), объединенных одним общим именем и идентифицируемых (адресуемых) с помощью
как имени записи, так и имен полей).
И записи, и массивы обладают одним общим свойством – произвольным доступом к компонентам.
Записи более универсальны в том смысле, что для них не требуется идентичности типов их компонент.
Массивы обеспечивают большую гибкость – индексы их компонент можно вычислять в отличие от имен
полей записей.
Существенно иные возможности дает структура данных, моделирующая свойства математического
объекта – множества.
Над множеством могут быть выполнены следующие операции:
1) объединение множеств (операция сложения ‘+’);
2) пересечение множеств (операция умножения ‘*’);
3) теоретико-множественная разность (вычитание множеств ‘-’);
4) проверка принадлежности элемента множеству.
Различия между множеством и массивом очень существенны – размер множества заранее не
оговаривается (хотя и ограничен компьютерной реализацией, например, 255), не существует иного способа
доступа к элементам множества, кроме как проверкой принадлежности множеству.
Более сложной, чем рассмотренные выше, из предусмотренных в современных системах
программирования структур данных является очередь (файл).
Понятие «файл» при всей своей привычности употребляется в информатике в нескольких не совсем
совпадающих смыслах. Здесь мы остановимся лишь на представлении о файле как однородной
упорядоченной динамической структуре последовательного доступа – очереди.
Очередь – это линейно упорядоченный набор следующих друг за другом компонент, доступ к которым
происходит по следующим правилам:
1) новые компоненты могут добавляться лишь в «хвост» очереди;
2) значения компонент могут читаться (извлекаться) лишь в порядке следования компонент от
«головы» к «хвосту» очереди.
Размер очереди заранее не оговаривается и теоретически может считаться бесконечным. Для
запоминания (хранения) компонент очереди часто используют внешние запоминающие устройства большой
емкости – магнитные диски и ленты. Отсюда другое название очереди – файл (в английском языке это слово
имеет несколько значений, в том числе «картотека», «шеренга», «очередь»).
Исторически слово «файл» стало впервые применяться в информатике для обозначения
последовательного набора каких-либо данных или команд (программа), хранящихся на внешнем
запоминающем устройстве. Несколько позже были осознаны абстрактные, не зависящие от магнитных
дисков и лент, свойства очереди как структуры данных, полезные при решении многих задач обработки
информации. Такой принцип извлечения и добавления компонент к очереди часто называется «первым
вошел – первым вышел» (английская аббревиатура -«FIFO»)
В языках программирования существуют и такие разновидности файлов, которые не подчиняются
условию последовательности доступа к его компонентам (так называемые, файлы прямого доступа). Они
уже не являются очередями.
Стек
Существует (и часто используется) и другая структура данных, в которой тот элемент, который первый
в нее помещался, выходит последним и, наоборот, тот, который последним входит, выходит первым
35
(английская аббревиатура «LIFO»). Такая структура получила название стек (или магазин – по сходству с
магазином стрелкового оружия
Иерархическая организация данных
Во всех рассмотренных выше структурах отдельные элементы (компоненты, поля, составляющие)
структуры были формально равноправны. Существует, однако, широкий круг задач, в которых одни данные
естественным образом «подвязаны» к другим. В этом случае возникает соподчиненная (иерархическая)
структура данных. Ограничимся конкретным примером. Представим себе генеалогическое дерево, корень
которого – имя человека, на следующем уровне – имена его родителей, еще на следующем – имена
родителей родителей и т.д. Такая структура называется двоичным деревом
Операции с данными
В ходе информационного процесса данные преобразуются из одного вида в другой с помощью
методов. Обработка данных включает в себя множество различных операций.
В структуре возможных операций с данными можно выделить следующие основные:
сбор данных — накопление информации с целью обеспечения достаточной полноты для принятия
решений;
формализация данных — приведение данных, поступающих из разных источников, к одинаковой
форме, чтобы сделать их сопоставимыми между собой, то есть повысить их уровень доступности;
фильтрация данных — отсеивание «лишних» данных, в которых нет необходимости для принятия
решений; при этом должен уменьшаться уровень «шума», а достоверность и адекватность данных должны
возрастать;
сортировка данных — упорядочение данных по заданному признаку с целью удобства
использования; повышает доступность информации;
архивация данных — организация хранения данных в удобной и легкодоступной форме; служит для
снижения экономических затрат по хранению данных и повышает общую надежность информационного
процесса в целом;
защита данных — комплекс мер, направленных на предотвращение утраты, воспроизведения и
модификации данных;
транспортировка данных — прием и передача (доставка и поставка) данных между удаленными
участниками информационного процесса; при этом источник данных в информатике принято называть
сервером, а потребителя — клиентом;
преобразование данных — перевод данных из одной формы в другую или из одной структуры в
другую. Преобразование данных часто связано с изменением типа носителя, например книги можно хранить
в обычной бумажной форме, но можно использовать для этого и электронную форму, и микрофотопленку.
Приведенный здесь список типовых операций с данными далеко не полон. Миллионы людей во всем
мире занимаются созданием, обработкой, преобразованием и транспортировкой данных, и на каждом
рабочем месте выполняются свои специфические операции, необходимые для управления социальными,
экономическими, промышленными, научными и культурными процессами.
3.2.2. Файлы данных и файловые структуры
Единицы представления данных
Существует множество систем представления данных. С одной из них, принятой в информатике и
вычислительной технике, двоичным кодом, мы познакомились выше. Наименьшей единицей такого
представления является бит (двоичный разряд).
Совокупность двоичных разрядов, выражающих числовые или иные данные, образует некий битовый
рисунок. Практика показывает, что с битовым представлением удобнее работать, если этот рисунок имеет
регулярную форму. В настоящее время в качестве таких форм используются группы из восьми битов,
которые называются байтами (см. табл. 3.2).
Таблица 3.2.
36
Десятичное число Двоичное число
1
1
2
10
…
…
255
11111111
Байт
0000 0001
0000 0010
…
1111 1111
Понятие о байте, как группе взаимосвязанных битов, появилось вместе с первыми образцами
электронной вычислительной техники. Долгое время оно было машинно-зависимым, то есть для разных
вычислительных машин длина байта была разной. Только в конце 60-х годов понятие байта стало
универсальным и машинно-независимым.
Во многих случаях целесообразно использовать не восьмиразрядное кодирование, а 16-разрядное, 24разрядное, 32-разрядное и более. Группа из 16 взаимосвязанных бит (двух взаимосвязанных байтов) в
информатике называется словом. Соответственно, группы из четырех взаимосвязанных байтов (32 разряда)
называются удвоенным словом, а группы из восьми байтов (64 разряда) — учетверенным словом. Пока, на
сегодняшний день, такой системы обозначения достаточно.
Единицы измерения данных
В информатике для измерения данных используют тот факт, что разные типы данных имеют универсальное двоичное представление, и поэтому вводят свои единицы данных, основанные на нем.
Более крупная единица измерения — килобайт (Кбайт). Условно можно считать, что 1 Кбайт равен
примерно 1000 байт. Условность связана с тем, что для вычислительной техники, работающей с двоичными
числами, более удобно представление чисел в виде степени двойки, и потому на самом деле 1 Кбайт равен
210 байт (1024 байт). Однако всюду, где это не принципиально, с инженерной погрешностью (до 3 %)
«забывают» о «лишних» байтах.
В килобайтах измеряют сравнительно небольшие объемы данных. Условно можно считать, что одна
страница неформатированного машинописного текста составляет около 2 Кбайт.
Более крупные единицы измерения данных образуются добавлением префиксов мега- гига-, тера-.
1 Мбайт = 1024 Кбайт
1 Гбайт = 1024 Мбайт
1 Тбайт = 1024 Гбайт
Единицы хранения данных
При хранении данных решаются две проблемы: как сохранить данные в наиболее компактном виде и
как обеспечить к ним удобный и быстрый доступ (если доступ не обеспечен, то это не хранение). Для
обеспечения доступа необходимо, чтобы данные имели упорядоченную структуру, а при этом, как мы уже
знаем, образуется «паразитная нагрузка» в виде адресных данных. Без них нельзя получить доступ к
нужным элементам данных, входящих в структуру.
Поскольку адресные данные тоже имеют размер и тоже подлежат хранению, хранить данные в виде
мелких единиц, таких, как байты, неудобно. Их неудобно хранить и в более крупных единицах (килобайтах,
мегабайтах и т. п.), поскольку неполное заполнение одной единицы хранения приводит к неэффективности
хранения.
В качестве единицы хранения данных принят объект переменной длины, называемый файлом. Файл —
это последовательность произвольного числа байтов, обладающая уникальным собственным именем.
Обычно в отдельном файле хранят данные, относящиеся к одному типу. В этом случае тип данных
определяет тип файла.
В определении файла особое внимание уделяется имени. Оно фактически несет в себе адресные
данные, без которых данные, хранящиеся в файле, не станут информацией из-за отсутствия метода доступа
к ним. Кроме функций, связанных с адресацией, имя файла может хранить и сведения о типе данных,
заключенных в нем. Для автоматических средств работы с данными это важно, поскольку по имени файла
они могут автоматически определить адекватный метод извлечения информации из файла.
Понятие о файловой структуре
Требование уникальности имени файла очевидно – без этого невозможно гарантировать однозначность
доступа к данным. В средствах вычислительной техники требование уникальности имени обеспечивается
автоматически — создать файл с именем, тождественным уже имеющемуся, не может ни пользователь, ни
автоматика.
Хранение файлов организуется в иерархической структуре, которая в данном случае называется
файловой структурой. В качестве вершины структуры служит имя носителя, на котором сохраняются
37
файлы. Далее файлы группируются в каталоги (папки), внутри которых могут быть созданы вложенные
каталоги (папки). Путь доступа к файлу начинается с имени устройства и включает все имена каталогов
(папок), через которые проходит. В качестве разделителя используется символ «\» (обратная косая черта).
Уникальность имени файла обеспечивается тем, что полным именем файла считается собственное имя
файла вместе с путем доступа к нему. Понятно, что в этом случае на одном носителе не может быть двух
файлов с тождественными полными именами.
Пример записи полного имени файла:
<имя носителя>\<имя каталога-1>\...\<имя каталога-N>\<собственное имя файла>.
Вот пример записи двух файлов, имеющих одинаковое собственное имя и размещенных на одном
носителе, но отличающихся путем доступа, то есть полным именем. Для наглядности имена каталогов
(папок) напечатаны прописными буквами:
С:\АВТОМАТИЧЕСКИЕ АППАРАТЫ\ВЕНЕРА\АТМОСФЕРА\Результаты исследований.
С:\РАДИОЛОКАЦИЯ\ВЕНЕРА\РЕЛЬЕФ\Результаты исследований.
Обслуживание файловой структуры
Несмотря на то, что данные о местоположении файлов хранятся в табличной структуре, пользователю
они представляются в виде иерархической структуры — так удобнее, а все необходимые преобразования
берет на себя операционная система. К функции обслуживания файловой структуры относятся следующие
операции, происходящие под управлением операционной системы:
создание файлов и присвоение им имен;
создание каталогов (папок) и присвоение им имен;
переименование файлов и каталогов (папок);
копирование и перемещение файлов между дисками компьютера и между каталогами (папками)
одного диска;
удаление файлов и каталогов (папок);
навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке);
управление атрибутами файлов.
Создание и именование файлов
Файл — это именованная последовательность байтов произвольной длины. Поскольку из этого
определения вытекает, что файл может иметь нулевую длину, то фактически создание файла состоит в
присвоении ему имени и регистрации его в файловой системе – это одна из функций операционной системы.
Даже когда мы создаем файл, работая в какой-то прикладной программе, в общем случае для этой операции
привлекаются средства операционной системы.
По способам именования файлов различают «короткое» и «длинное» имя. До появления операционной
системы Windows 95 общепринятым способом именования файлов на компьютерах IBM PC было
соглашение 8.3. Согласно этому соглашению, принятому в MS-DOS, имя файла состоит из двух частей:
собственно имени и расширения имени. На имя файла отводится 8 символов, а на его расширение — 3
символа. Имя от расширения отделяется точкой. Как имя, так и расширение могут включать только
алфавитно-цифровые символы латинского алфавита. Имена файлов, записанные в соответствии с
соглашением 8.3, считаются «короткими».
С появлением операционной системы Windows 95 было введено понятие «длинного» имени. Такое имя
может содержать до 256 символов. Этого вполне достаточно для создания содержательных имен файлов.
«Длинное» имя может содержать любые символы, кроме девяти специальных: \ / : * ? “ < > |. В имени
разрешается использовать пробелы и несколько точек. Расширением имени считаются все символы, идущие
после последней точки.
Создание каталогов (папок)
Каталоги (папки) — важные элементы иерархической структуры, необходимые для обеспечения
удобного доступа к файлам, если файлов на носителе слишком много. Файлы объединяются в каталоги по
любому общему признаку, заданному их создателем (по типу, по принадлежности, по назначению, по
времени создания и т. п.). Каталоги низких уровней вкладываются в каталоги более высоких уровней и являются для них вложенными. Верхним уровнем вложенности иерархической структуры является корневой
каталог диска.
Все современные операционные системы позволяют создавать каталоги. Правила присвоения имени
каталогу ничем не отличаются от правил присвоения имени файлу, хотя негласно для каталогов не принято
задавать расширения имен.
В иерархических структурах данных адрес объекта задается маршрутом (путем доступа), ведущим от
вершины структуры к объекту. При записи пути доступа к файлу, который проходит через систему
вложенных каталогов, все промежуточные каталоги разделяются между собой определенным символом. Во
38
многих операционных системах в качестве такого символа используется «\» (обратная косая черта) (см. рис.
3.5.1.):
Рис. 3.5.1. Копирование и перемещение файлов
В неграфических операционных системах операции копирования и перемещения файлов выполняются
вводом прямой команды в поле командной строки. При этом указывается имя команды, путь доступа к
каталогу-источнику и путь доступа к каталогу-приемнику.
В графических операционных системах существуют приемы работы с устройством позиционирования,
позволяющие выполнять эти команды наглядными методами.
Удаление файлов и каталогов (папок)
Средства удаления данных не менее важны для операционной системы, чем средства их создания,
поскольку ни один носитель данных не обладает бесконечной емкостью. Существует как минимум три
режима удаления данных: удаление, уничтожение и стирание, хотя операционные системы обеспечивают
только два первых режима (режим надежного стирания данных можно обеспечить лишь специальными
программными средствами).
Удаление файлов является временным. В операционных системах Windows 95 и Windows 98 оно
организовано с помощью специальной папки, которая называется Корзина. При удалении файлов и папок
они перемещаются в Корзину. Эта операция происходит на уровне файловой структуры операционной
системы (изменяется только путь доступа к файлам). На уровне файловой системы жесткого диска ничего не
происходит — файлы остаются в тех же секторах, где и были записаны.
Уничтожение файлов происходит при их удалении в операционной системе MS-DOS или при очистке
Корзины в операционных системах Windows 95/98. В этом случае файл полностью удаляется из файловой
структуры операционной системы, но на уровне файловой системы диска с ним происходят лишь
незначительные изменения. В таблице размещения файлов он помечается как удаленный, хотя физически
остается там же, где и был. Это сделано для минимизации времени операции. При этом открывается
возможность записи новых файлов в кластеры, помеченные как «свободные».
Для справки укажем, что операция стирания файлов, выполняемая специальными служебными
программами, состоит именно в том, чтобы заполнить якобы свободные кластеры, оставшиеся после
уничтоженного файла, случайными данными. Поскольку даже после перезаписи данных их еще можно
восстановить специальными аппаратными средствами (путем анализа остаточного магнитного гистерезиса),
для надежного стирания файлов требуется провести не менее пяти актов случайной перезаписи в одни и те
же сектора. Эта операция весьма продолжительна, и поскольку массовому потребителю она не нужна, то ее
не включают в стандартные функции операционных систем.
Навигация по файловой структуре
Навигация по файловой структуре является одной из наиболее используемых функций операционной
системы. Удобство этой операции часто воспринимают как удобство работы с операционной системой. В
операционных системах, имеющих интерфейс командной строки, навигацию осуществляют путем ввода
команд перехода с диска на диск или из каталога в каталог. В связи с крайним неудобством такой
навигации, широкое применение нашли специальные служебные программы, называемые файловыми
оболочками.
Как и операционные системы, файловые оболочки бывают неграфическими и графическими. Наиболее
известная неграфическая файловая оболочка для MS-DOS — диспетчер файлов Norton Commander, а роль
графической файловой оболочки для MS-DOS в свое время исполняли программы Windows 1.0 и Windows
2.0, которые постепенно развились до понятия операционной среды (в версиях Windows 3.х) и далее до
самостоятельной операционной системы (Windows 95/98).
Управление атрибутами файлов
Кроме имени и расширения имени файла операционная система хранит для каждого файла дату его
создания (изменения) и несколько флаговых величин, называемых атрибутами файла. Атрибуты — это
дополнительные параметры, определяющие свойства файлов. Операционная система позволяет их
39
контролировать и изменять; состояние атрибутов учитывается при проведении автоматических операций с
файлами.
Основных атрибутов четыре:
только для чтения (Read only);
скрытый (Hidden);
системный (System);
архивный (Archive).
Атрибут Только для чтения ограничивает возможности работы с файлом. Его установка означает, что
файл не предназначен для внесения изменений.
Атрибут Скрытый сигнализирует операционной системе о том, что данный файл не следует
отображать на экране при проведении файловых операций. Это мера защиты против случайного
(умышленного или неумышленного) повреждения файла.
Атрибутом Системный помечаются файлы, обладающие важными функциями в работе самой
операционной системы. Его отличительная особенность в том, что средствами операционной системы его
изменить нельзя. Как правило, большинство файлов, имеющих установленный атрибут Системный, имеют
также и установленный атрибут Скрытый.
Атрибут Архивный в прошлом использовался для работы программ резервного копирования.
Предполагалось, что любая программа, изменяющая файл, должна автоматически устанавливать этот
атрибут, а средство резервного копирования должно его сбрасывать. Таким образом, очередному
резервному копированию подлежали только те файлы, у которых этот атрибут был установлен.
Современные программы резервного копирования используют другие средства для установления факта
изменения файла, и данный атрибут во внимание не принимается, а его изменение вручную средствами
операционной системы не имеет практического значения.
40
4. Инструментарии информационных технологий
Всевозможные программные средства, которых насчитывается уже сотни тысяч для компьютеров
различных типов, можно разделить на несколько классов в зависимости от назначения:
– программы и комплексы программ, являющиеся общими
для всех, кто совместно использует технические средства компьютера, и применяемые для организации
выполнения прикладных программ;
программ для компьютера;
полнение необходимых
пользователям работ: редактирование текстов, рисование картинок, обработка информационных массивов и
т.д.
Грани между указанными тремя классами программ весьма условны, например, в состав программы
системного характера может входить редактор текстов, т.е. программа прикладного характера.
4.1. Системное программное обеспечение
Системное программное обеспечение может быть разделено на следующие группы:
1. Операционные системы.
2. Интерфейсные оболочки для взаимодействия пользователя с ОС и программные среды.
3. Утилиты.
Рассмотрим эти группы системных программ.
4.1.1. Операционные системы
Операционная система (ОС) – комплекс программ, организующих вычислительный процесс в
вычислительной системе.
Вычислительная система – совокупность аппаратных и программных средств ЭВМ,
взаимодействующих для решения задач обработки информации.
Операционная система выступает, с одной стороны, как интерфейс между аппаратурой компьютера и
пользователем с его задачами, а с другой — предназначена для наиболее эффективного использования
ресурсов вычислительной системы и организации надежных вычислений. Любой из компонентов
прикладного программного обеспечения обязательно работает под управлением ОС.
Основные функции, которые выполняет ОС, следующие:
прием от пользователя заданий или команд, сформулированных на соответствующем языке — в
виде директив (команд) оператора или в виде указаний (своеобразных команд) с помощью
соответствующего манипулятора (например, с помощью мыши), — и их обработка;
прием и исполнение программных запросов на запуск, приостановку, остановку других программ;
загрузка в оперативную память подлежащих исполнению программ;
инициация программы (передача ей управления, в результате чего процессор исполняет программу);
идентификация всех программ и данных;
обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных
(СУБД), что позволяет резко увеличить эффективность всего программного обеспечения;
обеспечение режима мультипрограммирования, то есть выполнение двух или более программ на
одном процессоре, создающее видимость их одновременного исполнения;
обеспечение функций по организации и управлению всеми операциями ввода/вывода;
распределение памяти;
планирование и диспетчеризация задач;
обеспечение сохранности данных;
обеспечение работы систем программирования, с помощью которых пользователи готовят свои
программы и др.
Проведем классификацию операционных систем.
Прежде всего, различают ОС общего и специального назначения. ОС специального назначения, в свою
очередь, подразделяются на следующие: для переносимых микрокомпьютеров и различных встроенных
систем, организации и ведения баз данных, решения задач реального времени и т. п.
По режиму обработки задач различают ОС, обеспечивающие однопрограммный и мультипрограммный
режимы. Под мультипрограммированием понимается способ организации вычислений, когда на
однопроцессорной вычислительной системе создается видимость одновременного выполнения нескольких
программ. Любая задержка в решении программы (например, для осуществления операций ввода/вывода
данных) используется для выполнения других (таких же, либо менее важных) программ. Иногда при этом
говорят о мультизадачном режиме.
Мультипрограммный и мультизадачный режимы — это не синонимы, хотя и близкие понятия.
Основное принципиальное отличие в этих терминах заключается в том, что мультипрограммный режим
41
обеспечивает параллельное выполнение нескольких приложений и при этом программисты, создающие эти
программы, не должны заботиться о механизмах организации их параллельной работы. Эти функции берет
на себя сама ОС; именно она распределяет между выполняющимися приложениями ресурсы
вычислительной системы, осуществляет необходимую синхронизацию вычислений и взаимодействие.
Мультизадачный режим, наоборот, предполагает, что забота о параллельном выполнении и взаимодействии
приложений ложится как раз на прикладных программистов.
При организации работы с вычислительной системой в диалоговом режиме можно говорить об
однопользовательских (однотерминальных) и многопользовательских (мультитерминальных) ОС. В
мультитерминальных ОС с одной вычислительной системой одновременно могут работать несколько
пользователей, каждый со своего терминала. При этом у пользователей возникает иллюзия, что у каждого из
них имеется своя собственная вычислительная система. В качестве одного из примеров мультитерминальных ОС для ПК можно назвать Linux.
Основной особенностью операционных систем реального времени (ОСРВ) является обеспечение
обработки поступающих заданий в течение заданных интервалов времени, которые нельзя превышать.
Поток заданий в общем случае не является планомерным и не может регулироваться оператором (характер
следования событий можно предсказать лишь в редких случаях), то есть задания поступают в
непредсказуемые моменты времени и без всякой очередности. В ОС, непредназначенных для решения задач
реального времени, имеются некоторые накладные расходы процессорного времени на этапе
инициирования (при выполнении которого ОС распознает все пожелания пользователей относительно
решения своей задачи, загружает в оперативную память нужную программу и выделяет другие
необходимые для ее выполнения ресурсы). В ОСРВ подобные затраты могут отсутствовать, так как набор
задач обычно фиксирован и вся информация о задачах известна еще до поступления запросов.
Для подлинной реализации режима реального времени необходима (хотя этого и недостаточно)
организация мультипрограммирования. Мультипрограммирование является основным средством
повышения производительности вычислительной системы, а для решения задач реального времени
производительность становится важнейшим фактором. Лучшие характеристики по производительности для
систем реального времени обеспечиваются однотерминальными ОСРВ. Средства организации
мультитерминального режима всегда замедляют работу системы в целом, но расширяют функциональные
возможности системы. Одной из наиболее известных ОСРВ для ПК является ОС QNX.
В настоящее время используется много типов различных операционных систем для ЭВМ различных
видов, однако в их структуре существуют общие принципы. В составе многих операционных систем можно
выделить некоторую часть, которая является основой всей системы и называется ядром. В состав ядра
входят наиболее часто используемые модули, такие как модуль управления системой прерываний, средства
по распределению таких основных ресурсов, как оперативная память и процессор. Программы, входящие в
состав ядра, при загрузке ОС помещаются в оперативную память, где они постоянно находятся и
используются при функционировании ЭВМ. Такие программы называют резидентными. К резидентным
относят также и программы-драйверы, управляющие работой периферийных устройств.
Драйверы – программы, предназначенные для обслуживания периферийных устройств, обычно
загружаются в оперативную память при запуске компьютера. Они расширяют возможности операционных
систем по управлению устройствами ввода-вывода компьютера (клавиатурой, жестким диском, мышью и
т.д.), оперативной памятью и т.д. С помощью драйверов возможно подключение к компьютеру новых
устройств или нестандартное использование имеющихся устройств. Важной частью ОС является командный
процессор – программа, отвечающая за интерпретацию и исполнение простейших команд, подаваемых
пользователем, и его взаимодействие с ядром ОС.
По основному архитектурному принципу ОС разделяются на микроядерные и монолитные. В
некоторой степени это разделение тоже условно, однако можно в качестве яркого примера микроядерной
ОС привести ОСРВ QNX, тогда как в качестве монолитной можно назвать Windows 95/98. Ядро ОС
Windows мы не можем изменить, нам не доступны его исходные коды и у нас нет программы для сборки
(компиляции) этого ядра. А вот в случае с Linux мы можем сами собрать ядро, которое нам необходимо,
включив в него те необходимые программные модули и драйверы, которые мы считаем целесообразным
включить именно в ядро (а не обращаться к ним из ядра).
Как правило, все современные ОС включают в себя соответствующие системы управления файлами.
Назначение системы управления файлами — организация более удобного доступа к данным,
организованным как файлы. Именно благодаря системе управления файлами вместо низкоуровневого
доступа к данным с указанием конкретных физических адресов нужной нам записи используется логический доступ с указанием имени файла и записи в нем.
Всем известная файловая система FAT (file allocation table) имеет множество реализаций как система
управления файлами, например FAT-16 для MS-DOS, super-FAT для OS/2, FAT для Windows NT и т. д.
Другими словами, для работы с файлами, организованными в соответствии с некоторой файловой системой,
для каждой ОС должна быть разработана соответствующая система управления файлами; и эта система
управления файлами будет работать только в той ОС, для которой она и создана.
Ряд ОС позволяет работать с несколькими файловыми системами (либо с одной из нескольких, либо
сразу с несколькими одновременно). В этом случае говорят о монтируемых файловых системах
42
(дополнительную систему управления файлами можно установить). Кроме того, можно назвать примеры
простейших ОС, которые могут работать и без файловых систем, а значит, им необязательно иметь систему
управления файлами.
4.1.2. Интерфейсные оболочки
Для удобства взаимодействия с ОС могут использоваться дополнительные интерфейсные оболочки. Их
основное назначение — либо расширить возможности по управлению ОС, либо изменить встроенные в
систему возможности. В качестве классических примеров интерфейсных оболочек и соответствующих
операционных сред выполнения программ можно назвать различные варианты графического интерфейса
Х Window в системах семейства UNIX (например, К Desktop Environment в Linux), PM Shell или Object
Desktop в OS/2 с графическим интерфейсом; можно указать разнообразные варианты интерфейсов для
семейства ОС Windows компании Microsoft, которые заменяют Explorer.
Ряд операционных систем могут организовывать выполнение программ, созданных для других ОС.
Например, в OS/2 можно выполнять как программы, созданные для самой OS/2, так и программы,
предназначенные для выполнения в среде MS-DOS и Windows 3.х. Аналогично, в системе Linux можно
создать условия для выполнения некоторых программ, написанных для Windows 95/98.
Наконец, к этому классу системного программного обеспечения следует отнести и эмуляторы,
позволяющие смоделировать в одной операционной системе какую-либо другую машину или операционную
систему. Так, известна система эмуляции WMWARE, которая позволяет запустить в среде Linux любую
другую ОС, например, Windows. Можно, наоборот, создать эмулятор, работающий в среде Windows,
который позволит смоделировать компьютер, работающий под управлением любой ОС, в том числе и под
Linux.
4.1.3. Утилиты
Под утилитами понимают специальные системные программы, с помощью которых можно как
обслуживать саму операционную систему, так и подготавливать для работы носители данных, выполнять
перекодирование данных, осуществлять оптимизацию размещения данных на носителе и производить
некоторые другие работы, связанные с обслуживанием вычислительной системы.
К утилитам следует отнести и программу разбиения накопителя на магнитных дисках на разделы, и
программу форматирования, и программу переноса основных системных файлов самой ОС. Также к
утилитам относятся и известные комплексы программ от фирмы Symantec, носящие имя Питера Нортона
(создателя этой фирмы и соавтора популярного набора утилит для первых IBM PC). Естественно, что
утилиты могут работать только в соответствующей операционной среде.
Опишем некоторые разновидности утилит.
Программы-упаковщики позволяют за счет применения специальных методов «упаковки» информации
сжимать информацию на дисках, т.е. создавать копии файлов меньшего размера, а также объединять копии
нескольких файлов в один архивный файл. Применение программ-упаковщиков очень полезно при создании
архива файлов, так как в большинстве случаев значительно удобнее хранить на дискетах файлы,
предварительно сжатые программами-упаковщиками. Следует заметить, что различные упаковщики не
совместимы друг с другом — архивный файл, созданный одним упаковщиком, чаще всего нельзя прочесть
другим.
Антивирусные программы предназначены для предотвращения заражения компьютерным вирусом и
ликвидации последствий заражения вирусом. Антивирусная программа – программа, выявляющая вирусную
программу на диске или в оперативной памяти компьютера и обезвреживающая ее. Вирусная программа –
программа, специально предназначенная для копирования себя и выполнения различных действий на
компьютере без санкции пользователя.
Коммуникационные программы предназначены для организации обмена информацией между
компьютерами. Такие программы позволяют удобно пересылать файлы с одного компьютера на другой при
соединении кабелем их последовательных портов (некоторые программы — при соединении параллельных
портов, что обеспечивает большую скорость). Другой вид программ обеспечивает возможность связи
компьютеров по телефонной сети (при наличии модема).
Программы для диагностики компьютера позволяют проверить конфигурацию компьютера
(количество памяти, ее использование, типы дисков и т.д.), а также проверить работоспособность устройств
компьютера (прежде всего жестких дисков). Они позволяют выявить «намечающиеся» дефекты дисков
(возникающие из-за износа магнитной поверхности диска) и предотвратить потерю данных, хранящихся на
диске.
Программы для оптимизации дисков позволяют обеспечить более быстрый доступ к информации на
диске за счет оптимизации размещения данных на диске. Эти программы перемещают все участки каждого
файла друг к другу (устраняют фрагментацию), собирают все файлы в начале диска и т.д., за счет чего
уменьшается число перемещений головок диска (т.е. ускоряется доступ к данным) и снижается износ диска.
Разумеется, многообразие вспомогательных программ для ЭВМ отнюдь не исчерпывается описанными
43
выше типами программ.
4.2. Системы программирования
В самом общем случае для создания программы на выбранном языке программирования нужно иметь
следующие компоненты:
1. Текстовый редактор. Так как текст программы записывается с помощью ключевых слов, обычно
происходящих от слов английского языка, и набора стандартных символов для записи всевозможных
операций, то формировать этот текст можно в любом редакторе, получая в итоге текстовый файл с
исходным текстом программы. Лучше использовать специализированные редакторы, которые
ориентированы на конкретный язык программирования и позволяют в процессе ввода текста выделять
ключевые слова и идентификаторы разными цветами и шрифтами. Подобные редакторы созданы для всех
популярных языков и дополнительно могут автоматически проверять правильность синтаксиса программы
непосредственно во время ее ввода.
2. Исходный текст с помощью программы-компилятора переводится в машинный код. Если
обнаружены синтаксические ошибки, то результирующий код создан не будет. На этом этапе уже возможно
получение готовой программы, но чаще всего в ней не хватает некоторых компонентов, поэтому
компилятор обычно выдает промежуточный объектный код (двоичный файл, стандартное расширение
.OBJ).
3. Исходный текст большой программы состоит, как правило, из нескольких модулей (файлов с
исходными текстами), потому что хранить все тексты в одном файле неудобно – в них сложно
ориентироваться. Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем надо
объединить в одно целое.
Кроме того, к ним надо добавить машинный код подпрограмм, реализующих различные стандартные
функции (например, вычисляющих математические функции sin или ln). Такие функции содержатся в
библиотеках, которые поставляются вместе с компилятором.
Библиотеки подпрограмм составляют существенную часть систем программирования. Наряду с
дружественностью пользовательского интерфейса состав доступных библиотек подпрограмм во многом
определяет возможности системы программирования и ее позиции на рынке средств разработки
программного обеспечения.
В состав системы программирования может входить большое количество разнообразных библиотек.
Среди них всегда можно выделить основную библиотеку, содержащую обязательные функции входного
языка программирования. Эта библиотека всегда используется компилятором, поскольку без нее разработка
программ на данном входном языке невозможна. Все остальные библиотеки необязательны и подключаются
к результирующей программе только по прямому указанию разработчика.
Принципиально новые возможности предоставили только современные ОС, которые позволили подключать к результирующим программам не статические, а динамические библиотеки. Динамические
библиотеки в отличие от традиционных (статических) библиотек подключаются к программе не в момент ее
компоновки, а непосредственно в ходе выполнения, как только программа затребовала ту или иную
функцию, находящуюся в библиотеке. Преимущества таких библиотек очевидны — они не требуют
включать в программу объектный код часто используемых функций, чем существенно сокращают объем
кода.
Сгенерированный код модулей и подключенные к нему стандартные функции надо не просто
объединить в одно целое, а выполнить такое объединение с учетом требований операционной системы, то
есть получить на выходе программу, отвечающую определенному формату. Объектный код обрабатывается
специальной программой — редактором связей или сборщиком, который выполняет связывание объектных
модулей и машинного кода стандартных функций, находя их в библиотеках, и формирует на выходе
работоспособное приложение — исполнимый код для конкретной платформы.
Если по каким-то причинам один из объектных модулей или нужная библиотека не обнаружены
(например, неправильно указан каталог с библиотекой), то сборщик сообщает об ошибке, и готовой
программы не получается.
Исполнимый код — это законченная программа, которую можно запустить на любом компьютере, где
установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл
имеет расширение .ЕХЕ или .СОМ.
Системой программирования называется весь комплекс программных средств, предназначенных для
кодирования, тестирования и отладки программного обеспечения. Системы программирования в
современном мире доминируют на рынке средств разработки. Практически все фирмы-разработчики
компиляторов поставляют свои продукты в составе соответствующей системы программирования в
комплексе всех прочих технических средств. Отдельные компиляторы являются редкостью и, как правило,
служат только узко специализированным целям.
Интегрированная система программирования включает в себя специализированный текстовый
редактор. Почти все этапы создания программы в ней автоматизированы: после того как исходный текст
введен, его компиляция и сборка выполняются одним нажатием клавиши. Это очень удобно, так как не
44
требует ручной настройки множества параметров запуска компилятора и редактора связей, указывания им
нужных файлов вручную и т. д. Процесс компиляции обычно демонстрируется на экране: показывается,
сколько строк исходного текста откомпилировано, или выдаются сообщения о найденных ошибках.
Еще одним модулем системы программирования, функции которого тесно связаны с выполнением
программы, является отладчик. Отладчик — это программный модуль, который позволяет выполнить
основные задачи, связанные с мониторингом процесса выполнения результирующей прикладной
программы. Этот процесс называется отладкой и включает в себя следующие возможности:
последовательное пошаговое выполнение результирующей программы на основе шагов по
машинным командам или по операторам входного языка;
просмотр содержимого областей памяти, занятых командами или данными результирующей
программы и др.
Отладчики в современных системах программирования представляют собой модули с развитым
интерфейсом пользователя, работающие непосредственно с текстом и модулями исходной программы.
Многие их функции интегрированы с функциями текстовых редакторов исходных текстов, входящих в
состав систем программирования.
Для популярных языков программирования на IBM PC существует множество систем
программирования. В качестве примеров таких систем программирования можно назвать Turbo С, Turbo
C++, Turbo Pascal, Microsoft С, Microsoft Basic.
Среди программистов, пишущих программы для персональных компьютеров, наибольшей
популярностью пользуются языки Си, Си++, Паскаль и Бейсик. Приведем краткие сведения об этих языках.
Язык Си был разработан в 1972 г. Денисом Ричи для использования при написании весьма ныне
популярной операционной системы Unix. Си соединяет свойства языка высокого уровня с возможностью
эффективного использования ресурсов компьютера, которое обычно обеспечивается только при
программировании на языке Ассемблера. Си не очень прост в обучении и требует тщательности в программировании, но позволяет писать сложные и весьма высокоэффективные программы. Бьярном
Страустрапом был разработан язык Си++ — расширение языка Си, реализующее популярные в последнее
время концепции объектно-ориентированного программирования и облегчающее создание сложных
программ.
Язык Паскаль был разработан в 1970 г. Никлаусом Виртом как язык для обучения студентов
программированию. Паскаль позволяет писать программы, легко читаемые даже новичком, и содержит в
себе все элементы, необходимые для соблюдения хорошего строгого стиля программирования (называемого
структурным программированием), упрощающего разработку сложных программ. Это обусловило большую
популярность Паскаля. В своем первоначальном виде Паскаль имел довольно ограниченные возможности,
так как был предназначен для учебных целей, но при разработке реализации Паскаля на компьютерах в него
были внесены дополнения, делающие его более пригодным для практического использования. Системы
программирования на Паскале для IBM PC также реализуют расширенные варианты этого языка.
Язык Бейсик был создан в 1964 г. Томасом Куртом и Джоном Кемени как язык для начинающих,
облегчающий написание простых программ. Существуют сотни различных версий Бейсика, которые не
полностью
(а иногда и мало) совместимы друг с другом. Бейсик очень распространен на
микрокомпьютерах, он легок для обучения, но мало подходит для написания больших и сложных программ.
На IBM PC широко используются Quick Basic фирмы Microsoft и Turbo Basic фирмы Borland.
Кардинально облегчило жизнь программистов появление визуального программирования, возникшего
в Visual Basic и нашедшего блестящее воплощение в Delphi и C++Builder фирмы Borland. Визуальное
программирование позволило свести проектирование пользовательского интерфейса к простым и
наглядным процедурам, которые дают возможность за минуты или часы сделать то, на что ранее уходили
месяцы работы.
Интегрированная среда разработки предоставляет программисту формы, на которых размещаются
компоненты. Обычно это оконная форма, хотя могут быть и невидимые формы. На форму с помощью мыши
переносятся и размещаются пиктограммы компонентов, имеющихся в библиотеках системы
программирования. С помощью простых манипуляций программист может изменять размеры и расположение этих компонентов. При этом результаты проектирования видны на экране даже без компиляции
программы, немедленно после выполнения какой-то операции с помощью мыши.
Самое главное достоинство визуального программирования заключается в том, что во время
проектирования формы и размещения на ней компонентов автоматически формируются коды программы. В
программу включаются соответствующие фрагменты, описывающие данный компонент. А затем в соответствующих диалоговых окнах программист может изменить заданные по умолчанию значения каких-то
свойств этих компонентов и, при необходимости, написать обработчики каких-то событий. То есть
проектирование сводится, фактически, к размещению компонентов на форме, заданию некоторых их
свойств и написанию, при необходимости, обработчиков событий.
Благодаря визуальному объектно-ориентированному программированию была создана технология,
получившая название быстрая разработка приложений – RAD. Эта технология характерна для нового
поколения систем программирования.
Сегодня имеется немало систем программирования, выпускаемых различными фирмами и
45
ориентированных на различные модели ПК и операционные системы. Наиболее популярны следующие
визуальные среды быстрого проектирования программ для Windows:
Basic: Microsoft Visual Basic;
Pascal: Borland Delphi;
C++: Borland C++Bulider.
4.3. Пакеты прикладных программ
Пакеты прикладных программ (ППП) обычно строятся на базе специальных систем и являются
дальнейшим их развитием в конкретном направлении. Они поставляются отдельно от программного
обеспечения вычислительных средств, имеют свою документацию и не входят в состав операционных систем. Пакеты прикладных программ являются наиболее динамично развивающейся частью программного
обеспечения: круг решаемых с помощью ППП задач постоянно расширяется.
Структура и принципы построения ППП зависят от класса ЭВМ и операционной системы, в рамках
которой этот пакет будет функционировать. Наибольшее количество разнообразных ППП создано для IBM
PC-совместимых компьютеров с операционными системами MS DOS и Windows. Классификация этих
пакетов программ по функционально-организационному признаку представлена на рис. 4.1.
Проблемно-ориентированные ППП — наиболее развитая в плане реализуемых функций и
многочисленная по количеству созданных пакетов часть ППП. Она включает следующие проблемноориентированные программные продукты: текстовые процессоры, настольные издательские системы (НИС),
графические редакторы, демонстрационную графику, системы мультимедиа, программное обеспечение
систем автоматизированного проектирования (САПР), организаторы работ, электронные таблицы
(табличные процессоры), системы управления базами данных, программы распознавания символов,
финансовые и аналитико-статистические и другие программы.
Интегрированные пакеты программ — по количеству наименований продуктов, немногочисленная, но
в вычислительном плане довольно мощная и активно развивающаяся часть ПО. Традиционные, или
полносвязанные, интегрированные комплексы представляют собой многофункциональный автономный
пакет, в котором в одно целое соединены функции и возможности различных специализированных
(проблемно-ориентированных) пакетов, родственных в смысле технологии обработки данных на отдельном
рабочем месте. Типичными представителями таких программ являются пакеты Framework, Symphony, а
также пакеты нового поколения Microsoft Word, Lotus Works. В этих программах происходит интеграция
функций редактора текстов, системы управления базами данных и табличного процессора. В целом
стоимость такого пакета гораздо ниже суммарной стоимости аналогичных специализированных пакетов.
Рис. 4.1. Классификация ППП
В настоящее время активно реализуется другой подход интеграции программных средств: объединение
46
специализированных пакетов в рамках единой ресурсной базы, обеспечение взаимодействия приложений
(программ пакета) на уровне объектов и единого упрощенного центра-переключения между приложениями.
Интеграция в этом случае носит объектно-связанный характер. Типичные и наиболее мощные пакеты
данного типа: Borland Office for Windows, Lotus SmartSuite for Windows, Microsoft Office. В профессиональной редакции этих пакетов присутствуют четыре приложения: текстовый редактор, СУБД,
табличный процессор, программы демонстрационной графики.
4.4. Системы обработки текстов
Удобство и эффективность применения компьютеров для подготовки текстов привели к созданию
множества программ для обработки документов. Такие программы называются редакторами текстов.
Текстовый редактор – программный продукт, обеспечивающий пользователя ПК средствами создания,
обработки и хранения документов различной степени сложности. Возможности этих программ различны –
от программ, предназначенных для подготовки небольших документов простой структуры, до программ для
набора, оформления и полной подготовки к типографскому изданию книг и журналов (издательские
системы).
Для работы с текстами предназначены два класса прикладных программ (текстовых редакторов):
текстовые процессоры и настольные издательские системы.
Текстовые процессоры — специальные программы, предназначенные для работы с документами
(текстами), позволяющие компоновать, форматировать, редактировать тексты при создании пользователем
документа. Обычно они включают в себя дополнительные функции по работе с блоками текста и объектами.
Признанными лидерами в части текстовых процессоров для ПЭВМ являются Microsoft Word, WordPerfect,
AmiPro.
Настольные издательские системы (НИС) — программы, предназначенные для профессиональной
издательской деятельности и позволяющие осуществлять электронную верстку широкого спектра основных
типов документов, типа информационного бюллетеня, краткой цветной брошюры и объемного каталога или
торговой заявки, справочника.
Предусмотренные в пакетах данного типа средства позволяют:
компоновать (верстать) текст;
использовать всевозможные шрифты и осуществлять полиграфическое изображение;
осуществлять редактирование текста на уровне лучших текстовых процессоров;
обрабатывать графические изображения;
обеспечивать вывод документов полиграфического качества;
работать в сетях и на разных платформах.
Наилучшими пакетами в этой области для ПЭВМ являются: Corel Ventura, PageMaker, QuarkXPress,
FrameMaker, Microsoft Publisher, PagePlus, CompuWork Publisher.
4.5. Системы компьютерной графики
Существует два способа реализации построения изображений на экране дисплея – векторный
(функциональный) и растровый. В первом случае электронный луч поочередно рисует на экране различные
знаки – элементы изображения. На современных персональных компьютерах чаще используется растровый
способ изображения графической информации, в котором изображение представлено прямоугольной
матрицей точек (пикселов), имеющих свой цвет из заданного набора цветов (палитры). Графический режим
осуществляет видеоадаптер, управляющий работой электронной трубки и видеопамятью, в которой
запоминается текущее изображение. Адаптер обеспечивает регулярное отображение видеопамяти на экране
монитора.
Растровое изображение – это совокупность разноцветных точек. Координаты точек определяются
декартовой (прямоугольной) системой с началом координат, как правило, в левом верхнем углу экрана.
Абсцисса х точки увеличивается слева направо, ордината у – сверху вниз. Таким образом, любая
графическая операция сводится к работе с отдельными точками экрана монитора – пикселами. Существуют
специальные графические библиотеки программ, которые предназначены для изображения более сложных
объектов, являющихся объединением группы пикселов; наиболее употребляемые линии, геометрические
фигуры, шрифты и т.п.
В последние годы возрос интерес со стороны пользователей к специальным инструментальным
программам машинной графики: графическим редакторам, издательским системам и т.п. В них
предоставляется удобный интерфейс для пользователей, автоматизируется большое количество
разнообразных действий с графической информацией – от построения простейших рисунков до создания
мультипликационных (анимационных) роликов.
В изобразительной графике условно можно выделить три направления: художественное,
иллюстративное и демонстрационное.
Объектами художественной графики выступают различные узоры, шрифты и другие изображения. При
работе с изображениями широко используют простые мотивы и разнообразный геометрический материал. В
47
частности, простые геометрические фигуры в различных сочетаниях и способах размещения (вложения,
вращения, симметрии) используются в «живых картинках» для получения муарового эффекта. Удачное
сочетание случайного и упорядоченного в любой пропорции с технологиями расположения графических
объектов позволяет создавать художественный дизайн.
Подобные технологии широко используют в иллюстративной графике. В настоящее время
иллюстративная графика, в первую очередь, связана с изображением графического материала в
издательских системах.
Иллюстративный материал – схемы, эскизы, географические карты, чертежи и др. – можно создавать
различными графическими редакторами, системами. Здесь важна легкость и быстрота формирования и
преобразования графических изображений для тех или иных приложений. В последнее время большой
интерес вызывает иллюстративный материал, представленный в демонстрационной, динамической форме.
Демонстрационная графика связана с динамическими объектами. В технологии изображения
динамических объектов используют три основных способа: рисование–стирание, смену кадров (страниц),
динамические образы.
Создать объекты иллюстративной графики, включая динамические ролики, можно средствами
программирования, а также графическими редакторами и системами.
Графический редактор Paint, входящий в комплект стандартных программ Windows 95/98, позволяет,
используя манипулятор «мышь», выполнять черно-белые и цветные рисунки, обрамлять их текстом,
выводить на печать. В Paint можно работать с фрагментами графических изображений: копировать,
перемещать, поворачивать, изменять размеры, записывать на диск и считывать с диска. С помощью Paint
можно обрабатывать графические изображения, а также считывать и записывать в файл полностью или
частично изображение с дисплея, если монитор работает в графическом режиме.
Одним из первых приложений компьютерной графики стало отображение данных экономических
расчетов. Графические представления расчетных и статистических данных удобно представлять в виде
схем, диаграмм, гистограмм и графиков. Различают следующие их виды:
гистограмма – группа столбцов, пропорциональных по высоте определенным числовым значениям;
круговая диаграмма – секторы круга, углы которых пропорциональны элементам данных;
линейный график – отображение исходных величин в виде точек, соединенных отрезками прямых
линий;
временная диаграмма – последовательность операций или процессов определенной длительности
(измерение динамических процессов);
структурная схема – представление сложных объектов в виде дерева;
круговая гистограмма – представление относительных величин объектов, которым на изображении
сопоставляются размеры и расположение кругов в прямоугольной системе координат.
Из числа средств прикладного программного обеспечения общего назначения графическое
представление данных лучше всего развито в электронных таблицах и в СУБД.
Компьютеризацию чертежных и конструкторских работ проводят давно, и в настоящее время
используют различные системы автоматизации проектных работ (САПР). САПР обозначает аппаратнопрограммный комплекс, поддерживающий процесс проектирования с использованием специальных средств
машинной графики, поддерживаемых пакетами программного обеспечения, для решения задач, связанных с
проектной деятельностью.
В совокупности развитая САПР представляет собой специализированную информационную систему.
Сфера применения САПР охватывает такие области приложения, как архитектура, гражданское
строительство, картография, медицина, геофизика, разработка моделей одежды, издательское дело, реклама.
Одним из наиболее давних и популярных средств автоматизированного проектирования является
система АВТОКАД (AutoCad). АВТОКАД – достаточно простая универсальная система. Ее возможности
таковы:
развитая система экранных меню;
высокая точность графической информации;
разбивка информации (расслоение);
прочерчивание на дисплее координатной сетки;
средство захвата графических объектов;
мощное редактирование;
отображение параметров графических характеристик;
полуавтоматическая и автоматическая простановка размеров;
штриховка;
работа с блоками.
Компьютерная графика представляет значительный интерес для научных исследований. В частности,
она выступает как средство формирования научной документации с использованием специальной нотации –
математических знаков, индексов, шрифтов и т.п. В последнее время ученые чаще стали обращаться к
имитационному моделированию на компьютере.
В компьютерной графике большое значение имеют методы и способы геометрического
моделирования. Модели, геометрические преобразования составляют в настоящее время основу теории
48
компьютерной графики и геометрического моделирования. Аналитические модели – это набор чисел,
логических параметров, играющих роль коэффициентов в уравнениях, которые задают графический объект
заданной формы.
Координатные модели – это массивы координат точек, принадлежащих объектам. Например,
поверхность задается массивом точек Z = f(x, у) на координатной сетке {х,у}. Если точки в модели
расположены в том же порядке, что и на линии образа, то модели называют упорядоченными. Помимо
координат в модели могут быть указаны дополнительные характеристики проекции касательных или нормальных векторов.
Используя вышеперечисленные геометрические модели, можно создавать различные демонстрационные картины.
4.6. Базы данных и СУБД
База данных (БД) – поименованная совокупность данных, отражающая состояние объектов и их
отношений в рассматриваемой предметной области.
Предметная область – часть реального мира, подлежащая изучению для организации управления и, в
конечном счете, автоматизации (например, предприятие).
Единицей хранящейся в БД информацией является таблица. Каждая таблица представляет собой
совокупность строк и столбцов, где строки соответствуют экземпляру объекта, конкретному событию или
явлению, а столбцы — атрибутам (признакам, характеристикам, параметрам) объекта, события, явления. В
терминах БД столбцы таблицы называются полями, а ее строки — записями.
В каждой таблице БД может существовать первичный ключ — поле или набор полей, однозначно
идентифицирующий запись. Значение первичного ключа в таблице БД должно быть уникальным, то есть в
таблице не должно существовать двух или более записей с одинаковым значением первичного ключа.
Вторичные ключи (индексы) устанавливаются по полям, которые часто используются при поиске и
сортировке данных: вторичные ключи помогут системе значительно быстрее найти нужные данные. В
отличие от первичных ключей поля для индексов могут содержать неуникальные значения — в этом,
собственно, и заключается главная разница между первичными и вторичными ключами.
Между отдельными таблицами БД могут существовать связи (отношения). Связанные отношениями
таблицы взаимодействуют по принципу главная-подчиненная. Главную таблицу называют родительской, а
подчиненную — дочерней. Одна и та же таблица может быть главной по отношению к одной таблице БД и
дочерней по отношению к другой.
Базы данных, между отдельными таблицами которых существуют связи, называются реляционными.
Кроме того, существуют иерархические базы данных, в которых данные организованы в виде древовидной
структуры, и сетевые базы данных, в основу которых положены сетевые структуры.
Система управления базами данных (СУБД) – комплекс программных и языковых средств,
предназначенных для создания, ведения и совместного применения баз данных многими пользователями.
Одним из важнейших назначений СУБД является обеспечение независимости данных (независимость
данных и использующих их прикладных программ друг от друга в том смысле, что изменение одних не
приводит к изменению других). Подобные системы служат для поддержания базы данных в актуальном
состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках
предоставленных пользователям полномочий.
СУБД предназначена для централизованного управления базой данных в интересах всех работающих в
этой системе.
По технологии обработки данных базы данных подразделяются на централизованные и
распределенные.
Централизованная база данных – база данных, хранящаяся в памяти одной вычислительной системы.
Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к
такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК.
Распределенная база данных – несколько пересекающихся или даже дублирующих друг друга частей,
хранящихся в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью
системы управления распределенной базой данных (СУРБД).
По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы
данных с удаленным (сетевым) доступом.
Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры
подобных систем: файл-сервер и клиент-сервер.
Файл-сервер. Архитектура систем БД с сетевым доступом предполагает выделение одной из машин
сети в качестве центральной (сервер файлов). На такой машине хранится совместно используемая
централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых
поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в
соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и
производится обработка.
49
Клиент-сервер. В этой концепции подразумевается, что помимо хранения централизованной базы
данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема
обработки данных. Запрос на данные, выдаваемые клиентом (рабочей станцией), порождает поиск и
извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к
клиенту.
По степени универсальности различают два класса СУБД: системы общего назначения или
универсальные СУБД; специализированные системы.
СУБД общего назначения – сложные программные комплексы, предназначенные для выполнения всей
совокупности функций, связанных с созданием, обновлением и эксплуатацией базы данных
информационной системы.
СУБД общего назначения не ориентированы на какую-либо предметную область или на
информационные потребности какой-либо группы пользователей. Каждая система такого рода реализуется
как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной
операционной системе и поставляется многим пользователям как коммерческое изделие. Такие СУБД
обладают средствами настройки на работу с конкретной базой данных.
Использование СУБД общего назначения в качестве инструментального средства для создания
автоматизированных информационных систем, основанных на технологии баз данных, позволяет
существенно сокращать сроки разработки, экономить трудовые ресурсы. Этим СУБД присущи развитые
функциональные возможности и даже определенная функциональная избыточность.
Рынок программного обеспечения ПК располагает большим числом разнообразных по своим
функциональным возможностям коммерческих систем управления базами данных общего назначения, а
также средствами их окружения практически для всех массовых моделей машин и для различных
операционных систем.
Среди СУБД общего назначения наиболее известными являются:
- Microsoft Access;
- Microsoft Visual FoxPro;
- Paradox;
- IBM DB2 Universal Database;
- Microsoft SQL Server;
- Oracle.
Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности
использования СУБД общего назначения.
4.7. Электронные таблицы
Как показала практика, решение многих задач экономического характера на языках высокого уровня с
использованием всего арсенала приемов и методов профессионального программирования – сложное и
трудоемкое дело. Понадобился принципиально иной подход, и он был найден и воплощен в виде
электронных таблиц – инструмента, доступного непрофессионалам.
Основная область применения электронных таблиц – это те сферы человеческой деятельности, где
информация представляется в виде прямоугольных таблиц (планово-финансовых и бухгалтерских
документов, учета материальных ценностей и др.), требующих при обработке проведения математических
расчетов, откуда, по-видимому, и возник термин «табличный процессор». Отметим, что реляционные базы
данных, также представляемые с помощью таблиц, к расчетам, как правило, не приспособлены.
В настоящее время известно много вариантов электронных таблиц: SuperCalk, QuattroPro, Excel, Lotus
1-2-3 и др. Принципиально все они представляют табличный процессор и разнятся лишь интерфейсом и
сервисными возможностями.
Электронная таблица (ЭТ) – это прямоугольная матрица, состоящая из ячеек, каждая из которых имеет
свой номер (рис. 2.3).
Рис 4.3. Электронная таблица
Номер ячейки определяется обычным координатным способом, например, ячейка ВЗ и т.д.
Группа ячеек (диапазон) задается через двоеточие, например, ВЗ:D4 (или B3..D4) и образует
прямоугольник, включающий ячейки ВЗ, СЗ, D3, В4, С4, D4.
В каждую из ячеек можно занести число, формулу (арифметическое выражение) или текст. Если в
ячейку ЭТ записана формула, то в исходном состоянии на экране отображается значение этой формулы, а не
50
она сама. Операндами формулы могут быть математические функции, константы, номера ячеек
(содержимое ячейки с указанным номером). Ячейка ЭТ имеет сложную «многослойную» структуру, в ней
может стоять ссылка на другую ячейку, значение которой является результатом вычислений по другой
формуле и т.д.
Примеры функций:
sum(A2:А8) – сумма значений всех ячеек от А2 до А8,
sin(D5) – синус числа из ячейки D5,
cos(F3) – косинус числа из ячейки F3.
Пример формулы:
2.7*A6+cos(sum(D5:F7))
Приведенная формула означает, что мы хотим получить результат следующих вычислений:
произведение числа из ячейки А6 на 2.7 сложить с косинусом угла, который является суммой чисел из ячеек
D5, Е5, F5, D6, Е6, F6, D7, Е7, F7.
Данные, входящие в таблицы, можно автоматически представлять в виде графиков, диаграмм,
гистограмм и т.д.
Пользователь работает в диалоге со специальной программой, которая позволяет заполнять ячейки
нужным ему содержимым (текстами, числами или формулами для расчетов), очищать их, копировать и
удалять, сортировать (т.е. располагать клетки, а также строки и столбцы из них в определенном порядке),
производить вычисления над всей таблицей или ее частью, сохранять таблицу на диске и распечатывать
частично или полностью на бумагу и т.д.
Приведем пример, иллюстрирующий возможности ЭТ.
Формирование зарплатной ведомости. Так выглядят исходные данные для заполнения электронной
таблицы:
Здесь мы имеем дело с тремя типами содержимого ячеек: текст, число, формула. Ввод исходных
данных происходит в командной строке. После заполнения таблицы мы увидим на экране:
Обычно работник бухгалтерии, поправив одну из цифр, вынужден был исправлять весь комплект
взаимосвязанных документов, куда явно или неявно входил исправленный параметр. С помощью ЭТ такое
изменение может быть учтено мгновенно и всюду.
4.8. Офисные программные средства
Помимо рассмотренных выше программных средств для персонального компьютера, исторически
появившихся первыми, в последнее время возникло множество трудно классифицируемых программ,
которые роднит среда их применения – в делопроизводстве, в различных аспектах управления мелкими и
средними предприятиями и учреждениями. Эти программы получили название офисных.
Яркими представителями семейства офисных программ являются:
средства разработки презентаций (типа Power Point из пакета MS Office);
электронные организаторы – средства планирования деятельности (типа Lotus Organizer), системы
хранения и коллективной разработки документов (Lotus Notes);
системы складского и бухгалтерского учета (типа 1C:Торговля, 1C:Бухгалтерия, 1C:Предприятие);
консультационные юридические системы (типа «Консультант+»).
Рассмотрим подробнее некоторые из этих программ.
4.8.1. Средство разработки презентации Power Point
Программная система Power Point входит в программный пакет Microsoft Office, начиная с самых
51
первых его версий. Программные средства подготовки публикаций типа Power Point не только позволяют
оформить представляемую информацию в едином стиле с использованием видеоэффектов, значительно
улучшающих ее восприятие, но и помогают разработать само выступление, сильно сокращают время на его
подготовку.
Типичная презентация, подготовленная в Power Point, представляет собой последовательность слайдов,
содержащих план и основные положения выступления, необходимые таблицы, формулы, схемы, диаграммы
и рисунки.
Рассмотрим этапы подготовки такой презентации.
При запуске Power Point появляется окно, предлагающее создать новую презентацию в одном из
режимов, используя:
мастер автосодержания;
шаблон презентации;
пустую презентацию или открыть существующую презентацию.
Наиболее быстрый способ создания презентации связан с мастером автосодержания, который
предлагает начать с общей концепции и некоторой стандартной структуры презентации.
Вначале необходимо выбрать наиболее подходящий вид презентации. Пусть, например, это будет
описание некоторого проекта. Затем требуется указать способ предъявления информации – предположим,
это будет доклад. Формой выдачи презентации выберем презентацию на экране, причем напечатаем ее
экземпляр на бумаге для контроля. Затем предлагается ввести данные для титульного слайда: заголовок
презентации, имя автора, дополнительные данные для размещения на титульной странице.
Мастер формирует шаблон презентации, предусматривая в ней слайды в порядке, отвечающем
выбранному ранее виду презентации. После титульного слайда последуют слайды с целями проекта, его
описанием, рецензиями и т.д. Можно редактировать все элементы слайдов, наблюдая за внешним видом в
окне миниатюры, где он показывается с использованием стандартной цветовой гаммы. Шаблон презентации
помогает рационально построить доклад, не забыв при этом никаких важных деталей. Всегда можно удалить
лишние слайды, выделив их и нажав на клавиатуре Delete, перенести (или скопировать) с помощью
стандартных действий выделения, вырезания (копирования) и вставки, а также вставить чистый слайд,
предварительно выбрав его разметку (с помощью меню Вставка). Все эти действия выполняются в режиме
Структура.
Изменить оформление конкретного слайда можно, перейдя в режим Слайд с помощью меню Вид. Для
вставки графики в текстовый слайд необходимо изменить его разметку с помощью меню Формат. Следует
выбрать разметку слайда в соответствии с требуемым стилем:
маркированный список;
текст в две колонки;
таблица;
текст и диаграмма;
текст и графика и т.д.
При этом в слайд внедряется объект, который можно непосредственно редактировать, либо вставить из
некоего набора (ClipArt) или файла стандартным для MS Office образом. С помощью меню Формат можно
выбрать или изменить цветовую гамму слайда или его оформление, пользуясь набором, разработанным
профессиональными дизайнерами. Если никакой стандартный вид презентации не подходит, ее можно
разработать, создав новую презентацию и добавляя к ней новые слайды, определяя их оформление,
содержание и т.д.
Можно просматривать созданную презентацию с помощью меню Показ слайдов и команды Показ. Это
же меню позволяет сделать прокрутку презентации автоматической, определив время показа каждого
слайда, внедрить на слайды кнопки навигации, использовать анимационные эффекты.
Сохраняется презентация в файле с расширением .ppt и может быть показана как с помощью самой
программы PowerPoint, так и с помощью небольшой программы прокрутки.
4.8.2. Программы-организаторы
Более высокой ступенью компьютеризации работы офиса и автоматизации управления небольшим
предприятием являются программные средства-организаторы (средства, облегчающие деловое
планирование и выполнение планов), а также средства, обеспечивающие коллективную работу над
документами (автоматизированный документооборот учреждения). Типичными представителями данного
семейства программ являются программные продукты компании Lotus Development. Рассмотрим некоторые
из них.
Широкую известность во всем мире имеет пакет Lotus Smart Suite, являющийся альтернативой MS
Office. Этот пакет включает:
средство управления информацией, Lotus Smart Center, облегчающее запуск остальных приложений
и документоориентированную работу в офисе;
текстовый процессор Lotus Word Pro, более развитый, чем MS Word, в плане верстки оригиналовмакетов сложной структуры и работы с сетью, в том числе Internet и Intranet. Этот текстовый процессор
52
продолжает линию Word Perfect. Представляет интерес наличие средств голосового ввода для Lotus Word
Pro, позволяющих вводить текст (на английском языке), произнося его в микрофон;
табличный процессор Lotus 1-2-3, развиваемый компанией Lotus, начиная с самой первой
электронной таблицы для ПК. Lotus 1-2-3 значительно богаче по возможностям и дружественнее MS Excel
из пакета MS Office; существенным дополнением являются специальные возможности групповой работы с
электронной таблицей, обращение к базам данных для извлечения информации. Данные в электронную
таблицу можно загрузить из базы данных в локальной сети или Internet, после обработки таблицу можно
отправить членам рабочей группы. Важные функции анализа данных включены в командное меню.
Расширены функции оформления таблицы, создания макросов при разработке табличной системы «под
ключ» для решения прикладной задачи;
СУБД Lotus Approach, ориентированная на использование в рабочей группе и работу с данными из
различных баз данных. Это весьма мощная СУБД предоставляет большие возможности и дружественный
интерфейс при работе с базами данных типа ABAST IV. Средствами самой СУДБ легко произвести анализ
данных, расчеты, построить диаграмму, сформировать отчет. Однако отсутствие достаточно продвинутого
формата базы данных в Approach осложняет работу со сложными базами данных с многими связями между
таблицами, и в этом отношении Approach уступает Access;
средство создания графических презентаций Lotus Freelance Graphics, также являющееся более
развитым и дружественным, чем рассмотренный выше MS Power Point, а также средство визуальной
разработки и публикации Web-страниц Lotus Fast Site, развивающее возможности MS Front Page,
ориентированное на работу в группе. Встроенное во Freelance средство Lotus Screen Cam позволяет
фиксировать все действия, выполняющиеся на мониторе, и превращать их в эффектный демонстрационный
ролик;
средство «управления временем» Lotus Organizer. Запустив Lotus Organizer, мы попадаем в среду
ежедневника-организатора. В наиболее подробном режиме ежедневника можно планировать события на
любое время вперед. Открыв с помощью календаря ежедневник на нужной дате, можно создать запись в
каком-либо его поле расписания (в этом случае можно предусмотреть и настроить звуковое
предупреждение), а также определить связь между делами или событиями, записать дела (с указанием
приоритетов, телефонных звонков с указанием номеров для компьютерного дозвона, заметок для
разговоров), просто сделать заметки.
Автоматически отслеживаются конфликты между событиями. На других страницах ежедневника
можно также описывать события, встречи, телефонные звонки, праздники, делать заметки, и они
автоматически будут внесены в расписание. На странице планировщика можно в цвете разметить все дни
года по категориям (отдых, обучение, праздники, встречи, конференции, проекты и т.д.).
Lotus Notes позволяет организовать обмен электронной почтой в офисе, вести совместную групповую
разработку проектов, получать справочные сведения; предоставляет доступ к информации, обеспечивает
возможность вести дискуссии, распределять общие ресурсы, составлять расписания и утверждать
документы.
4.8.3. Системы автоматизации деятельности предприятия
Особый класс офисных программных систем образуют средства автоматизации бухгалтерской
деятельности. К этому классу относятся как простейшие программы для подготовки бухгалтерских
документов и отчетности, например, печатающие платежные поручения и накладные, формирующие
сведения о доходах для налогообложения и пенсионного фонда, так и очень сложные распределенные
системы комплексного бухгалтерского учета: 1C, «Парус», «Галактика», «Инфо-бухгалтер», «Турбобухгалтер» и др. Лидирующей в сфере автоматизации бухгалтерского учета следует признать программную
систему «1C:Предприятие».
Комплекс «1C:Предприятие» является универсальной системой автоматизации деятельности
предприятия и может применяться на различных участках бухгалтерского учета: товарных и материальных
средств, взаиморасчетов с контрагентами, расчета заработной платы, расчета амортизации основных
средств, кадрового учета, расчета налогообложения и т.д.
Система «1C:Предприятие» состоит из откомпилированного ядра и конфигурации, написанной на
объектном макроязыке высокого уровня. Обычно система поставляется с конфигурацией, называемой
«типовой», но она может быть существенно изменена и переработана пользователем.
Система «1C: Предприятие» содержит три основных компонента:
«бухгалтерский учет», отражающий финансовые операции и оперирующий такими понятиями, как
бухгалтерские счета, операции и проводки, а также позволяющий вести учет параллельно в нескольких
планах счетов, вести многомерный и многоуровневый аналитический учет;
«оперативный учет», предназначенный для автоматизированного учета движения и остатков
товарных, материальных, денежных и других средств предприятия в различных разрезах и основанный на
механизме регистров, с помощью которых ведется учет взаиморасчетов с клиентами, учет складских запасов
товаров и т.д.;
«расчет», позволяющий выполнять периодические расчеты различной сложности, в том числе с
53
пересчетом результатов «задним числом», а также вести архив расчетов за прошедшие периоды,
рассчитывать заработную плату.
4.9. Интегрированные программные средства
Идея создания интегрированных программных комплексов не нова и в той или иной мере была
реализована во всех поколениях ЭВМ. Внимание к этой проблеме объясняется как расширением сферы применения вычислительной техники, так и стремлением фирм-разработчиков программного обеспечения не
«потерять» своих клиентов с переходом на более совершенные системы обработки данных.
В рамках интегрированного пакета обеспечивается связь между данными, однако при этом сужаются
возможности каждой компоненты по сравнению с аналогичным специализированным пакетом. Интерфейс
более ранних программ был перегружен различными средствами обмена данными и описаниями среды
работы, что требовало от пользователя определенных навыков и знаний в части переключения режимов
пакета, форматов данных, принципов хранения и манипулирования различными типами данных, что в
конечном счете снижало привлекательность пакетов. В современных пакетах (например, Microsoft Works)
этот недостаток изжит: простота интерфейса позволяет применять его без предварительного обучения
персонала.
Особенностью нового типа интеграции пакетов является использование общих ресурсов. Здесь можно
выделить четыре основных вида совместного доступа к ресурсам:
использования утилит, общих для всех программ комплекса. Так, например, утилита проверки
орфографии доступна из всех программ пакета;
применение объектов, которые могут находиться в совместном использовании нескольких
программ;
реализация простого метода перехода (или запуска) из одного приложения к другому;
реализация построенных на единых принципах средств автоматизации работы с приложением
(макроязыка), что позволяет организовать комплексную обработку информации при минимальных затратах
на программирование и обучение программированию на языке макроопределений.
Совместное использование объектов с несколькими приложениями — краеугольный камень
современной технологии интеграции программ и манипулирования данными. Разработаны два основных
стандарта в этой области: динамической компоновки и встраивания объектов Object Linking and Embedding
(OLE) 2.0 фирмы Microsoft, OpenDoc (открытый документ) фирм Apple, Borland, IBM, Novell и WordPerfect.
Механизм динамической компоновки объектов дает возможность пользователю помещать
информацию, созданную одной прикладной программой, в документ, формируемый в другой. При этом
пользователь может редактировать информацию в новом документе средствами того продукта, с помощью
которого этот объект был создан (при редактировании автоматически запускается соответствующее
приложение). Запущенное приложение и программа обработки документа-контейнера выводит на экран
«согласованные» меню, часть пунктов которого принадлежит одной программе, а другая часть – другой.
Кроме того, данный механизм позволяет переносить OLE-объекты из окна одной прикладной программы в
окно другой.
В этой технологии предусмотрена также возможность общего использования функциональных
ресурсов программ: например, модуль построения графиков табличного процессора может быть
использован в текстовом редакторе.
Недостатком данной технологии является ограничение на размер объекта размером одной страницы.
OpenDoc представляет собой объектно-ориентированную систему, базирующуюся на открытых
стандартах фирм-участников разработки. Предполагается совместимость между OLE и OpenDoc.
4.10. Инструментальные программные средства для решения специальных задач
Описанные выше программные системы – текстовые редакторы и издательские системы, электронные
таблицы и СУБД – являются инструментальными средствами общего назначения, т.е. могут использоваться
для решения наиболее общих задач информационного характера в любой из сфер человеческой
деятельности. Вместе с тем в отдельных сферах деятельности часто возникают задачи менее общего
характера, такие, например, как проведение математических расчетов типа решения систем уравнений,
интегрирования, статистической обработки информации и т.п., которые также требуют использования
инструментальных программных средств. Таких более специальных инструментальных программ в
настоящее время существует огромное количество. Укажем лишь некоторые классы таких
инструментальных средств: универсальные математические пакеты, пакеты статистической обработки
данных, электронные «органайзеры» – программные средства, облегчающие планирование деятельности,
хранение и поиск записей, отслеживающие заданные промежутки времени и т.д.
Особое место на рынке занимают так называемые статистические пакеты общего назначения. Отсутствие прямой ориентации на специфическую предметную область, широкий диапазон статистических
методов, дружелюбный интерфейс пользователя привлекает в них не только начинающих пользователей, но
и специалистов. Универсальность этих пакетов особенно полезна:
54
на начальных этапах обработки, когда речь идет о подборе статистической модели или метода
анализа данных;
когда поведение статистических данных выходит за рамки использовавшейся ранее модели;
в процессе обучения основам статистики.
Именно пакеты общего назначения составляют большинство продаваемых на рынке статистических
программ. К таким пакетам относятся системы STADIA, STATGRAPHICS, STATISTICA, SPSS, SYSTAT, Splus и др.
Одним из последних достижений в области инструментальных средств для решения прикладных задач
является MATHCAD – физико-математический пакет с включенной в последнюю версию системой
искусственного интеллекта SmartMath (разработка NASA), которая позволяет выполнять математические
вычисления не только в числовой, но и в аналитической (символьной) форме.
Важное значение разработчики MATHCAD придавали удобству работы с ним и простоте освоения.
Интерфейс MATHCAD прост и понятен, полностью отвечает стандартам среды Windows. Все графики и
математические объекты могут быть введены щелчком «мыши» с перемещаемых палитр. Обучение
пользователя происходит в процессе работы «на ходу» при помощи многочисленных сообщений системы.
Графическая среда MATHCAD позволяет записывать математические формулы в привычном виде,
гибко и выразительно представлять данные графически.
В системе имеются разнообразные способы ввода числовых данных: с клавиатуры, из других
приложений, например, электронных таблиц, непосредственно из файлов.
Пользователь может просмотреть не только численный результат, но и аналитическое выражение,
упростившее расчеты. Оно заносится в специальный буфер. Оптимизационное выражение можно записать в
переменную, которая будет уже иметь не числовой, а символьный тип. Оптимизация не только ускоряет
расчеты, но и повышает их точность. И не только количественно, но и качественно, за счет исправления
методологических ошибок (промахов) численных методов.
55
5. Вычислительные сети
5.1. Сети: основные понятия
Телематика – это новая научно-техническая дисциплина, предметом которой являются методы и
средства передачи информации на расстояния, существенно превышающие линейные размеры площади,
занимаемой участниками связи. Название дисциплины произошло из частей слов “телекоммуникации” и
“информатика”.
Коммуникационная сеть – система, состоящая из объектов, осуществляющих функции генерации,
преобразования, хранения и потребления продукта, называемых пунктами (узлами) сети, и линий передачи
(связей, коммуникаций, соединений), осуществляющих передачу продукта между пунктами.
Отличительная особенность коммуникационной сети – большие расстояния между пунктами по
сравнению с геометрическими размерами участков пространства, занимаемых пунктами. В качестве
продукта могут фигурировать информация, энергия, масса, и соответственно различают группы сетей
информационных, энергетических, вещественных. В группах сетей возможно разделение на подгруппы. Так,
среди вещественных сетей могут быть выделены сети транспортные, водопроводные, производственные и
др. При функциональном проектировании сетей решаются задачи синтеза топологии, распределения
продукта по узлам сети, а при конструкторском проектировании выполняются размещение пунктов в пространстве и проведение (трассировка) соединений.
Информационная сеть – коммуникационная сеть, в которой продуктом генерирования, переработки,
хранения и использования является информация.
Вычислительная сеть – информационная сеть, в состав кoторой входит вычислительное оборудование.
Компонентами вычислительной сети могут быть ЭВМ и периферийные устройства, являющиеся
источниками и приемниками данных, передаваемых по сети. Эти компоненты составляют оконечное
оборудование данных (ООД, или DTE – Data Terminal Equipment). В качестве ООД могут выступать ЭВМ,
принтеры, плоттеры и другое вычислительное, измерительное и исполнительное оборудование
автоматических и автоматизированных систем.
Терминал – устройство, предназначенное для взаимодействия пользователя с вычислительной
системой или сетью ЭВМ. Состоит из устройства ввода (чаще всего это клавиатура) и одного или
нескольких устройств вывода (дисплей, принтер и т.д.).
Под узлом будем понимать компоненты вычислительной сети, являющиеся источниками и
приемниками данных, передаваемых по сети.
Собственно пересылка данных происходит с помощью сред и средств, объединяемых под названием
среда передачи данных. Объединение в сеть ЭВМ осуществляется с помощью кабелей различного типа.
Кабели подсоединяются к компьютеру через специальное устройство, называемое сетевой картой (сетевым
адаптером), которая вставляется в слот расширения на материнской плате компьютера. Для построения сети
используются и другие сетевые устройства различной сложности.
Подготовка данных, передаваемых или получаемых ООД от среды передачи данных, осуществляется
функциональным блоком, называемым аппаратурой окончания канала данных (АКД, или DCE – Data
Circuit-Terminating Equipment). АКД может быть конструктивно отдельным или встроенным в ООД блоком.
ООД и АКД вместе представляют собой станцию данных, которую часто называют узлом сети. Примером
АКД может служить модем.
Классификация сетей
Вычислительные сети классифицируются по ряду признаков. В зависимости от расстояний между
связываемыми узлами различают вычислительные сети:
· территориальные – охватывающие значительное географическое пространство; среди
территориальных сетей можно выделить сети региональные и глобальные, имеющие соответственно
региональные или глобальные масштабы; региональные сети иногда называют сетями MAN (Metropolitan
Area Network), а общее англоязычное название для территориальных сетей – WAN (Wide Area Network);
· локальные (ЛВС) – охватывающие ограниченную территорию (обычно в пределах удаленности
станций не более чем на несколько десятков или сотен метров друг от друга, реже на 1...2 км); локальные
сети обозначают LAN (Local Area Network);
· корпоративные (масштаба предприятия) – совокупность связанных между собой ЛВС, охватывающих
территорию, на которой размещено одно предприятие или учреждение в одном или нескольких близко
расположенных зданиях.
Особо выделяют единственную в своем роде глобальную сеть Internet. Это всемирная компьютерная
сеть, сеть сетей, объединяющая посредством межсетевых интерфейсов многие сети. Internet охватывает
американский континент, Европу, Азию. Некоторые сети, входящие в состав Internet, сами по себе велики,
другие имеют свои подсети. В настоящее время сеть Internet объединяет более 2,5 млн. компьютеров многих
стран мира и доступна нескольким десяткам миллионов пользователей.
С технической точки зрения Internet – объединение транснациональных компьютерных сетей,
56
работающих по самым разнообразным протоколам, связывающим всевозможные типы компьютеров,
физически передающих данные по телефонным проводам и оптоволокну, через спутники и радиомодемы.
Координацию сети осуществляет Центр информационных сетей при Стенфордском исследовательском
институте в Менло Парк, Калифорния.
На российском рынке глобальных вычислительных сетей
наиболее активно и эффективно
функционируют следующие сетевые структуры: РОСПАК, GLASNET, РЕЛКОМ, ИНФОТЕЛ.
Различают интегрированные сети, неинтегрированные сети и подсети. Интегрированная
вычислительная сеть (интерсеть) представляет собой взаимосвязанную совокупность многих вычислительных сетей, которые в интерсети называются подсетями.
В автоматизированных системах крупных предприятий подсети включают вычислительные средства
отдельных проектных подразделений. Интерсети нужны для объединения таких подсетей, а также для
объединения технических средств автоматизированных систем проектирования и производства в единую
систему комплексной автоматизации. Обычно интерсети приспособлены для различных видов связи:
телефонии, электронной почты, передачи видеоинформации, цифровых данных и т.п., и в этом случае они
называются сетями интегрального обслуживания.
Развитие интерсетей заключается в разработке средств сопряжения разнородных подсетей и
стандартов для построения подсетей, изначально приспособленных к сопряжению.
Подсети в интерсетях объединяются в соответствии с выбранной топологией с помощью блоков
взаимодействия. Топология – геометрическое отображение отношений в сети. В зависимости от топологии
соединений узлов различают сети шинной (магистральной), кольцевой, звездной, иерархической,
произвольной структуры. Топологии сетей будут рассмотрены ниже.
В зависимости от способа управления различают сети:
· “клиент/сервер” – в них выделяется один или несколько узлов (серверы), выполняющих в сети
управляющие или специальные обслуживающие функции, а остальные узлы (клиенты) являются
терминальными, в них работают пользователи;
· одноранговые – в них все узлы равноправны; поскольку в общем случае под клиентом понимается
объект (устройство или программа), запрашивающий некоторые услуги, а под сервером – объект,
предоставляющий эти услуги, то каждый узел в одноранговых сетях может выполнять функции и клиента, и
сервера.
Наконец появилась сетецентрическая концепция, в соответствии с которой пользователь имеет лишь
дешевое оборудование для обращения к удаленным компьютерам, а сеть обслуживает заказы на выполнение
вычислений и получение информации, т.е. пользователю не нужно приобретать программное обеспечение
для решения прикладных задач, ему нужно лишь платить за выполненные заказы. Подобные компьютеры
называют тонкими клиентами или сетевыми компьютерами.
В зависимости от того, одинаковые или неодинаковые ЭВМ применяют в сети, различают сети
однотипных ЭВМ, называемые однородными, и разнотипных ЭВМ – неоднородные (гетерогенные). В
крупных автоматизированных системах, как правило, сети оказываются неоднородными.
В зависимости от прав собственности на сети последние могут быть сетями общего пользования
(public) или частными (private). Среди сетей общего пользования выделяют телефонные сети ТфОП (PSTN –
Public Switched Telephone Network) и сети передачи данных (PSDN – Public Switched Data Network).
Сети также различают в зависимости от используемых в них протоколов и по способам коммутации.
Способы коммутации
Под коммутацией данных понимается их передача, при которой канал передачи данных может
использоваться попеременно для обмена информацией между различными пунктами информационной сети
в отличие от связи через некоммутируемые каналы, обычно закрепленные за определенными абонентами.
Различают следующие способы коммутации данных:
· коммутация каналов – осуществляет соединение ООД двух или более станций данных и обеспечивает
монопольное использование канала передачи данных до тех пор, пока соединение не будет разомкнуто;
· коммутация сообщений – характеризуется тем, что создание физического канала между оконечными
узлами необязательно и пересылка сообщений происходит без нарушения их целостности; вместо
физического канала имеется виртуальный канал, состоящий из физических участков, и между участками
возможна буферизация сообщения;
· коммутация пакетов – сообщение передается по виртуальному каналу, но оно разделяется на пакеты,
при этом канал передачи данных занят только во время передачи пакета (без нарушения его целостности) и
по ее завершении освобождается для передачи других пакетов.
Протоколы
Протокол
–
это
совокупность
соглашений
относительно
способа
представления
данных,
57
обеспечивающего их передачу в нужных направлениях и правильную интерпретацию данных всеми
участниками процесса информационного обмена.
Протоколы определяют порядок обмена информацией между сетевыми объектами. Они позволяют
взаимодействующим ЭВМ посылать друг другу вызовы, интерпретировать данные, обрабатывать
ошибочные ситуации и выполнять множество других различных функций. Суть протоколов заключается в
регламентированных обменах точно специфицированными командами и ответами на них (например,
назначение физического уровня связи – передача блоков данных между двумя устройствами,
подключенными к одной физической среде).
Протокол передачи данных требует следующей информации.
· Синхронизация. Под синхронизацией понимают механизм распознавания начала блока данных и его
конца.
· Инициализация. Под инициализацией понимают установление соединения между взаимодействующими партнерами. При условии, что приемник и передатчик используют один и тот же протокол,
синхронизация устанавливается автоматически.
· Блокирование. Под блокированием понимают разбиение передаваемой информации на блоки данных
строго определенной максимальной длины (включая опознавательные знаки начала блока и его конца).
· Адресация. Адресация обеспечивает идентификацию различного используемого оборудования,
которое обменивается друг с другом информацией во время взаимодействия.
· Обнаружение ошибок. Под обнаружением ошибок понимают установку и проверку контрольных
битов.
· Нумерация блоков. Текущая нумерация блоков позволяет установить ошибочно передаваемую или
потерявшуюся информацию.
· Управление потоком данных. Управление потоком данных служит для распределения и синхронизации информационных потоков. Так, например, если не хватает места в буфере устройства данных или
данные недостаточно быстро обрабатываются в периферийных устройствах, сообщения и/или запросы
накапливаются.
· Методы восстановления. После прерывания процесса передачи данных используют методы
восстановления, чтобы вернуться к определенному положению для повторной передачи информации.
· Разрешение доступа. Распределение, контроль и управление ограничениями доступа к данным вменяются в обязанность пункта разрешения доступа (например, “только передача” или “только прием”).
Поскольку информационный обмен – процесс многофункциональный, то протоколы делятся на
уровни. Каждый уровень подразделяется на две части:
· спецификацию услуг;
· спецификацию протокола.
Спецификация услуг определяет, что делает уровень, а спецификация протокола – как он это делает.
Причем, каждый конкретный уровень может иметь более одного протокола.
Совокупность правил взаимодействия устройств и программ между собой и средств, реализующих это
взаимодействие, называется интерфейсом. Понятие интерфейса включает в себя как сами аппаратные и
программные средства, связывающие различные устройства или программы между собой, так и правила и
алгоритмы, на основе которых эти средства созданы.
Для правильного взаимодействия узлов различных вычислительных сетей их архитектура должна быть
открытой. Этим целям служат унификация и стандартизация в области телекоммуникаций и
вычислительных сетей.
Унификация и стандартизация протоколов выполняются рядом международных организаций, что
наряду с разнообразием типов сетей породило большое число различных протоколов. Наиболее широко
распространенными являются протоколы, разработанные для сети ARPANET и применяемые в глобальной
сети Internet, протоколы открытых систем Международной организации по стандартизации (ISO –
International Standard Organization), протоколы Международного телекоммуникационного союза
(International Telecommunication Union – ITU, ранее называвшегося ССIТТ) и протоколы Института
инженеров по электротехнике и электронике (IEEE – Institute of Electrical and Electronics Engineers).
Протоколы сети Internet объединяют под названием TCP/IP (Transmission Control Protocol/Internet Protocol –
протокол управления передачей /межсетевой протокол). В соответствии с протоколом TCP/IP работает
аппаратное и программное обеспечение, реализующее передачу данных по Интернету. Протоколы ISO
являются семиуровневыми и известны как протоколы базовой эталонной модели взаимосвязи открытых
систем (ЭМВОС).
5.2. Локальные вычислительные сети
5.2.1. Конфигурация ЛВС и организация обмена данными
Локальные вычислительные сети подразделяются на два кардинально различающихся класса:
одноранговые (одноуровневые) сети и иерархические (многоуровневые).
58
Одноранговые сети
Подобные сети не имеют центрального ПК. Некоторые аппаратные средства (винчестеры, приводы
CD-ROM) и, прежде всего, дорогие периферийные устройства (сканеры, принтеры и др.), подключенные к
отдельным ПК, используются совместно на всех рабочих местах.
Каждый пользователь одноранговой сети является администратором на своем ПК. Механизмом
ограничения прав пользователя является возможность блокировки доступа к приводам или периферийным
устройствам, подключенным к какому-либо другому из компьютеров сети.
Достоинства одноранговой сети:
· низкая стоимость (используются все компьютеры, подключенные к сети, и умеренные цены на
программное обеспечение для работы сети);
· высокая надежность (при выходе из строя одной рабочей станции, доступ прекращается лишь к
некоторой части информации).
Недостатки:
· работа сети эффективна только при количестве одновременно работающих станций не более 10;
· трудности организации эффективного управления взаимодействием рабочих станций и обеспечение
секретности информации; трудности обновления и изменения ПО рабочих станций.
Иерархические сети
В иерархических сетях все задачи, связанные с хранением, обработкой данных, их представлением
пользователям, выполняет центральный компьютер, называемый сервером.
Сервер (host-компьютер) – главный компьютер, управляющий работой сети.
Достоинства иерархических систем:
· отработанная технология обеспечения отказоустойчивости, сохранности данных;
· надежная система защиты информации и обеспечения секретности.
Недостаток:
· высокая стоимость аппаратного и программного обеспечения, высокие эксплуатационные расходы.
По организации взаимодействия принято выделять два типа иерархических систем:
· сеть с невыделенным сервером – сеть, где функции рабочей станции и сервера совмещены;
· сеть с выделенным сервером.
Сеть с выделенным сервером – здесь один из компьютеров выполняет функции хранения данных
общего пользования, организации взаимодействия между рабочими станциями, выполнения сервисных
услуг – сервер сети. На таком компьютере выполняется операционная система, и все разделяемые
устройства (жесткие диски, принтеры, модемы и т.п.) подключаются к нему, производится хранение
данных, печать заданий, удаленная обработка заданий. Рабочие станции взаимодействуют через сервер,
поэтому логическую организацию такой сети можно представить топологией “звезда”, где центральное
устройство – сервер.
Достоинства:
· выше скорость обработки данных (определяется быстродействием центрального компьютера, и на
сервер устанавливается специальная сетевая операционная система, рассчитанная на обработку и
выполнение запросов, поступивших одновременно от нескольких пользователей);
· обладает надежной системой защиты информации и обеспечения секретности;
· проще в управлении по сравнению с равноправными.
Недостатки:
· такая сеть дороже из-за отдельного компьютера под сервер;
· менее гибкая по сравнению с равноправной.
Сети с выделенным сервером являются более распространенными. Примеры сетевых операционных
систем такого типа: LAN Server, IBM Corp., VINES, Banyan System Inc., NetWare, Novell Inc.
Технология совместного использования сетевых ресурсов
Под ресурсами ПК будет пониматься любой из следующих элементов:
· логические диски, включая накопители на CD-ROM, ZIP, DVD и другие аналогичные устройства;
· каталоги (папки) с подкаталогами (вложенными папками) или без них, а также содержащиеся в них
файлы;
· подключенные к ПК устройства: принтеры, модемы и др.
Ресурс, доступный только с ПК, на котором он находится, называется локальным. Ресурс ПК,
доступный для других компьютеров сети, называется разделяемым или сетевым (общим, совместно
используемым). Локальный ресурс можно сделать разделяемым, и, наоборот, разделяемому ресурсу можно
вернуть статус локального, т. е. запретить доступ к нему других пользователей сети.
Создание разделяемых сетевых ресурсов и доступ к ним обеспечиваются специальными сетевыми
59
операционными системами. Базовые сетевые возможности сетевых ОС позволяют копировать файлы с
одного ПК сети на другой, с одного компьютера сети обрабатывать данные (вводить, редактировать,
удалять, производить поиск), размещенные на другом. Для некоторых сетевых ОС можно также запустить
программу, размещенную в памяти одного компьютера, которая будет оперировать данными, хранящимися
на другом ПК. Примеры сетевых операционных систем: OS/2, Windows NТ, Windows 95/98, Windows 2000 и
т.д.
Обычно используются один или несколько мощных ПК (выделенные серверы), которые предоставляют
свои ресурсы для совместного использования в сети. Система коллективного доступа работает по принципу
разделения времени работы главного компьютера.
5.2.2.Топологии
Рассмотрим некоторые топологии ЛВС.
Топология “звезда”
Звездообразная топология сети – разновидность сети, где каждый терминал соединен с центральной
станцией (рис.5.1).
hub
(концентратор)
Файловый сервер
Рис 5.1. Топология “звезда”
Эта топология взята из области больших электронных вычислительных машин. Здесь файловый сервер
находится в “центре”.
Достоинства:
· повреждение кабеля является проблемой для одного конкретного компьютера и в целом не
сказывается на работе сети;
· просто выполняется подключение, так как рабочая станция должна соединяться только с сервером;
· механизмы защиты против несанкционированного доступа оптимальны;
· высокая скорость передачи данных от рабочей станции к серверу, так как оба ПК непосредственно
соединены друг с другом.
Недостатки:
· в то время как передача данных от рабочей станции к серверу (и обратно) происходит быстро,
скорость передачи данных между отдельными рабочими станциями мала;
· мощность всей сети зависит от возможностей сервера, если он недостаточно оснащен или плохо
сконфигурирован, то будет являться тормозом для всей системы;
· невозможна коммуникация между отдельными рабочими станциями без помощи сервера.
Топология с сервером в центре практически не реализуется, так как в этом случае сервер должен иметь
много сетевых адаптеров, рабочие станции подключаются к концентратору (хабу).
Кольцевая топология
Сеть типа кольцо – разновидность сети, в которой каждый терминал подключен к двум другим
соседним терминалам кольца (рис.5.2).
60
Файловый сервер
Рис. 5.2. Кольцевая топология
В этом случае все рабочие станции и сервер соединены друг с другом по кольцу, по которому
посылается информация, снабженная адресом получателя. Рабочие станции получают соответствующие
данные, анализируя адрес посланного сообщения.
Достоинства:
· рабочие станции могут коммутироваться друг с другом без помощи сервера.
Недостатки:
· время передачи данных увеличивается пропорционально числу соединенных в кольцо компьютеров;
· каждая рабочая станция причастна к передаче данных, выход из строя одной станции может
парализовать всю сеть, если не используются специальные переходные соединения;
· при подключении новых рабочих станций сеть должна быть кратковременно выключена.
Шинная топология
Сеть шинной топологии – разновидность сети, имеющей центральную линию, к которой подключены
сервер и отдельные рабочие станции. Шинная топология имела широкое распространение в прежние годы,
что, прежде всего, можно объяснить небольшими потребностями в кабеле (рис.3.3).
Файловый сервер
Рис. 5.3. Шинная топология
Достоинства:
· небольшие затраты на кабели;
· рабочие станции в любой момент времени могут быть установлены или отключены без прерывания
работы всей сети;
· рабочие станции могут коммутироваться друг с другом без помощи сервера.
Недостатки:
· при обрыве кабеля выходит из строя весь участок сети от места разрыва;
· возможность несанкционированного подключения к сети, поскольку для увеличения числа рабочих
станций нет необходимости в прерывании работы сети.
Комбинированная структура ЛВС
61
Наряду с известными топологиями вычислительных сетей кольцо, звезда и шина, на практике
применяется и комбинированная (рис.5.4). Она образуется в основном в виде комбинаций вышеназванных
топологий вычислительных сетей.
Файловый сервер
Рис. 5.4. Комбинированная структура
Вычислительные сети с комбинированной структурой применяются там, где невозможно
непосредственное применение базовых сетевых структур в чистом виде. Для подключения большого числа
рабочих станций применяют сетевые усилители и/или коммутаторы. Коммутатор, обладающий
одновременно и функциями усилителя, называют активным концентратором.
Пассивный концентратор обычно используют как разветвитель. Он не нуждается в усилителе.
Предпосылкой для подключения пассивного концентратора является то, что максимальное возможное
расстояние до рабочей станции не должно превышать нескольких десятков метров.
5.2.3 Протоколы передачи данных
В различных сетях существуют различные протоколы обмена данными. Наибольшее распространение
получили конкретные реализации методов доступа в сетях типа Ethernet, Arcnet и Token-Ring.
Метод доступа в сетях Ethernet
Этот метод доступа, разработанный фирмой Xerox в 1975 г., пользуется наибольшей популярностью.
Он обеспечивает высокую скорость передачи данных и надежность.
Сообщение, отправляемое одной рабочей станцией, принимается одновременно всеми остальными.
Сообщение включает в себя адрес станции назначения и адрес станции отправителя. Та станция,
которой предназначено сообщение, принимает его, остальные игнорируют.
Метод доступа в сетях Ethernet является методом множественного доступа с прослушиванием
несущей и разрешением коллизий (конфликтов) (CSMA/CD – Carrier Sense Multiple Access/Collision
Detection).
Перед началом передачи рабочая станция определяет, свободен канал или занят. Если канал свободен,
станция начинает передачу. Ethernet не исключает возможности одновременной передачи сообщений двумя
или несколькими станциями. Аппаратура автоматически распознает такие конфликты, называемые
коллизиями. После обнаружения конфликта станции задерживают передачу на некоторое время, затем
передача возобновляется.
Реально конфликты приводят к уменьшению быстродействия сети только в том случае, если в сети
работают не менее 80–100 станций.
Метод доступа в сетях Arcnet
62
Этот метод доступа разработан фирмой Datapoint Corp. Он также получил широкое распространение, в
основном благодаря тому, что оборудование Arcnet дешевле, чем оборудование Ethernet или Token-Ring.
Технология Arcnet используется в локальных сетях с топологией “звезда”. Один из компьютеров создает
специальный маркер (сообщение специального вида), который последовательно передается от одного
компьютера к другому.
Если станция желает передать сообщение другой станции, она должна дождаться маркера и добавить к
нему сообщение, дополненное адресом отправителя и адресом станции назначения. Когда пакет дойдет до
станции назначения, сообщение будет “отцеплено” от маркера и передано станции.
Метод доступа в сетях Token-Ring
Метод доступа Token-Ring был разработан фирмой IBM и рассчитан на кольцевую топологию сети.
Этот метод напоминает Arcnet, так как тоже использует маркер, передаваемый от одной станции к
другой. В отличие от Arcnet, при методе доступа в сетях Token-Ring имеется возможность назначать разные
приоритеты разным рабочим станциям.
5.3. Структура и функции глобальной сети Internet
5.3.1. Структура сети Internet
Краткая история Internet
Internet возникла из оборонного компьютерного проекта ARPANET конца 60-х – начала 70-х годов,
направленного на создание коммуникационной сети, способной функционировать даже в условиях атомной
войны. Наиболее важным качеством сети, по мнению разработчиков, было отсутствие единого центра
управления, который мог бы стать объектом нападения, с целью прекратить ее функционирование.
Последующее распространение использования Internet в области исследований, коммерции и, наконец,
досуга было неожиданным следствием их работы.
Необходимо подчеркнуть несколько важнейших событий в истории Internet, которые, видимо, и
предопределили ее бурный рост и возрастающее значение в жизни современного общества.
Рост числа компьютерных сетей вне ARPANET создал большие трудности, касающиеся соединения
одной сети с другой, не из-за различий в аппаратной части, а в силу несовместимости протоколов
коммуникации. Для их преодоления был создан новый стандарт коммуникаций, названный TCP/IP
(Transmission Control Protocol/Internet Protocol – протокол управления передачей /межсетевой протокол),
который позволил различным сетям соединяться друг с другом.
Другим важным событием в истории Internet явилось создание “Всемирной паутины” (World Wide
Web, или WWW, или W3) Тимом Бернерс-Ли, физиком Европейской организации ядерных исследований
(ЦЕРН) в Женеве. Идея заключалась в том, чтобы позволить физикам и другим ученым пользоваться
распределенной в сети Internet информацией более простым способом. Существовавшие тогда средства
Internet требовали от пользователей немалых знаний о сети, поэтому был разработан новый метод передачи
и отображения информации. После опубликования ЦЕРН спецификаций (набора правил и требований) для
WWW пользователи стали писать программное обеспечение для клиентов и серверов WWW, что привело к
созданию “Всемирной паутины” в том виде, в каком мы ее знаем сегодня.
И, наконец, третьим важным событием в истории Internet была разработка группой программистов из
Национального центра компьютерных приложений (NCSA) во главе с Марком Андриссеном специальной
программы “Мозаика”, которая окончательно сделала Internet общедоступной. “Мозаика” позволила
пользователям получать и отображать документы простым нажатием кнопки “мыши”. Отпала
необходимость заботиться о переключении программ и преобразовании файлов – “Мозаика” обрабатывала
документы, графики, изображения и звуки автоматически, обеспечивая легкий доступ к “Паутине”. Кроме
того, “Мозаика” обеспечивала доступ и к другим ресурсам Internet.
Предшественница Internet, сеть ARPANET, первоначально состояла всего из четырех больших ЭВМ.
Затем Internet росла гигантскими темпами, достигнув более 4,5 млн. активных компьютеров в июне 1995 г.
Основной рост пришелся на последние десять лет, когда развилась инфраструктура коммуникаций и
возросли возможности компьютеров. Internet превратилась в общедоступное “информационное шоссе”.
Число пользователей на 2000 г. составляет, по разным оценкам, от 30 до 60 млн. человек, в их числе – около
500 тыс. россиян (хотя подавляющее большинство наших соотечественников пользуются лишь одним
ресурсом Internet – электронной почтой; более полно возможности Internet используют примерно 20 тыс.
российских пользователей). Ежемесячно по Internet перемещается более 30 терабит информации (это
примерно 30 млн. книг по 700 страниц каждая).
Таким образом, Internet – это гигантский конгломерат компьютеров, связанных друг с другом в одну
большую сеть. Единственным критерием объединения машин является согласие на коммуникацию по
единому для всех протоколу.
63
Структура Internet
Основной вопрос, который стоял перед создателями Internet, заключался в соединении компьютеров
для передачи информации от одного к другому.
В конце 70-х годов достигла своего расцвета технология локальных сетей. На рынке появилось
огромное количество разных типов локальных сетей. Таким образом, любая компания могла выбрать и
установить необходимую ей сеть в соответствии со своими возможностями. Однако появление огромного
числа независимых технологий локальных сетей привело к тому, что многие из них были попросту
несовместимы.
Параллельно технологии локальных сетей в тот же период получила заметное развитие технология
сетей широкой зоны (WAN— Wide Area Network). В отличие от локальной сети сеть широкой зоны ставила
своей задачей соединить компьютеры, находящиеся географически далеко друг от друга. Сами
коммутируемые компьютеры не имели прямого выхода к кабелю. Вместо этого каждый из них был связан
со специальным компьютером, который имел выход в сеть. При этом задачей последнего являлось лишь
поддержание связи в сети. На другом конце кабеля ситуация была такой же. Следовательно, широкая сеть,
благодаря специальным компьютерам, поддерживалась независимо от коммутируемых компьютеров.
Ситуация в технологиях широких сетей складывалась аналогично ситуации с локальными сетями.
Многие из них не только имели разные физические характеристики (напряжение, модуляция сигнала и т.д.),
но зачастую не могли быть соединены друг с другом.
Чтобы положить конец такому положению дел, министерство обороны США стало субсидировать
исследования для создания технологии по соединению сетей. Так как изменить существующие технологии
не представлялось возможным, было решено найти способ, позволяющий адаптировать друг к другу
объединенные сети. Этот проект получил название Internet.
Глобальная идея, лежащая в основе решения, заключалась в том, что конкретный компьютер мог быть
связан не с одной, а с двумя сетями. Разница лишь в том, что раньше он соединялся с соседними
компьютерами, а теперь с соседними сетями.
Internet использует специальные компьютеры для соединения сетей. Обычно это вполне стандартные
компьютеры с процессором, памятью и коммутационными платами. Единственное различие состоит в том,
что на них установлены специальные программы, ответственные за связь между сетями. Получив пакет
информации от одной сети, этот коммутационный компьютер передает ее другой сети. Этот специальный
компьютер называется маршрутизатором (router).
Таким образом, структуру Internet можно представить следующим образом: Internet – это тысячи
компьютерных сетей, соединенных между собой маршрутизаторами. Каждый компьютер подсоединен к
какой-либо одной сети. Когда компьютер на одной сети связывается с компьютером на другой сети, то
информация проходит через маршрутизатор (и не один). Не имеет значения, с какими сетями связан
маршрутизатор – локальными или широкими. Важно, чтобы передаваемая информация подчинялась
определенным стандартам. Без них маршрутизатор был бы не в состоянии понять и переработать
поступающую информацию.
Однако большинство людей не могут себе позволить прямого подключения в одну из сетей Internet, так
как это дорого, поэтому для выхода в Internet персональный компьютер должен иметь модем, который
подсоединяется к обычной телефонной сети, и специальную программу для управления модемом. При
запуске модема, он через телефонную линию соединяется с модемом, который расположен на компьютере,
включенном в одну из интернетовских сетей.
5.3.2.. Способы доступа к Internet
Первоначально в состав Internet входили большие и мини-компьютеры. К ним присоединялись
устройства, которые обладали возможностью только отображать информацию и/или вводить команды
управления, в то время как все вычисления и программы, с которыми обращались в Internet, выполнялись на
больших основных компьютерах. Такие устройства ввода-вывода называются терминалами. С появлением
недорогих и мощных персональных компьютеров положение дел существенно изменилось, ибо теперь
персональные компьютеры могут сами непосредственно подключаться к Сети, получать из нее
необходимые исходные данные, а вычисления производить самостоятельно. Надо заметить, что под
вычислениями понимается любая работа компьютера, даже игра. Тем не менее, в наследство от тех времен,
когда вычислениями занималась главная вычислительная машина, к которой обращались через терминал,
остались термины терминал (terminal) и хост (host), или главная вычислительная машина. Однако теперь в
термины “хост” и “терминал” вкладывается несколько иное значение. Хост – это любой компьютер,
являющийся постоянной частью Internet, т.е. соединенный по Internet-протоколу с другим хостом, который в
свою очередь, соединен с другими, и так далее. Терминал – это компьютер, не являющийся постоянной
частью Internet, но который может подсоединяться к хосту, который является частью Internet. В качестве
терминала можно использовать персональный компьютер, запустив на нем специальную программу,
которая заставляет его воспринимать те же команды и посылать те же ответные сигналы, что и настоящий
64
терминал. Такая программа называется программа-эмулятор (terminal emulator). Эмулятором также
называется любая программа (или устройство), моделирующая в полном или неполном объеме реакции
какого-либо другого устройства на управляющие сигналы таким образом, что на уровне ответных кодов
эмулятор и эмулируемое устройство неразличимы. В Internet и в программах эмуляции наиболее часто
используется тип терминала VT100 и ANSI. Они были самыми популярными терминалами во времена
рождения Internet, и их возможности поддерживаются большинством эмуляторов.
Для того чтобы решить проблему учета миллионов ПК, соединенных в единую Сеть, Internet
использует уникальные коды – число и имя, которые присваиваются каждому компьютеру. Обычно это
имена, но иногда встречаются и числа (рис. 5.5).
Рис. 5.2. Пример имени домена в сети
Как уже было сказано, TCP/IP – это сетевой протокол, необходимый для полного использования
возможностей Internet и единственный способ для доступа к ним. Каждый компьютер в сети TCP/IP должен
иметь уникальный идентификационный код. Таким образом, каждый компьютер в Internet
идентифицируется по уникальному числовому коду, который называется IP-номер. Этот номер состоит из
четырех чисел со значениями от 0 до 255, разделенных точками – ХХХ.ХХХ.ХХХ.ХХХ. Такая схема
нумерации позволяет иметь в Сети более четырех миллиардов компьютеров.
Когда локальная сеть или отдельный компьютер впервые присоединяются к Internet, специальная
организация присваивает им IP-номера. Это гарантирует уникальность IP-номеров и правильность
подключения.
Первоначально подключение к другим хостам в Internet осуществлялось по IP-номерам, но когда в
1984 г. число машин перевалило за 1000 и этот способ стал неудобным, был принят метод связи имен и IPномеров, который называется сервер имени домена (Domain Name Server, DNS). Сервер DNS поддерживает
список имен локальных сетей и компьютеров и соответствующих им IP-номеров. Так как серверу DNS
приходится работать со списком только локальных сетей и хостов, этот список получается гораздо
меньшим, чем в случае, если бы сервер хранил информацию о каждом компьютере Internet. Благодаря этому
соглашению об именах запомнить адрес компьютера в Internet гораздо легче, чем его IP-номер. Типичное
имя домена (domain-группа ресурсов, управляемых одним узлом) состоит из нескольких частей,
расположенных в определенном порядке и разделенных точками. На рис. 5.2 показаны примеры имени
домена и IP-номера.
Имя домена верхнего уровня указывает на домен конкретного компьютера. Это имя обычно выбирают
так, чтобы отразить тип организации, в которой установлен этот компьютер. И хотя придерживаться
требования об именах необязательно, это считается хорошим тоном. Основные имена доменов верхнего
уровня:
· com – commercial (коммерческие);
· edu – educational (образовательные);
· gov – goverment (правительственные);
· mil – military (военные);
· net – network (организации, обеспечивающие работу сети);
· org – organization (некоммерческие организации).
Следует отметить, что эти имена доменов используются только в США; в других странах используется
немного другая структура наименования – вместо типа организации имя домена верхнего уровня означает
страну, тип организации указывается в секции слева от имени верхнего уровня, причем в разных странах
мира приняты разные имена для типов организаций. Некоторые имена доменов верхнего уровня для стран:
· au – Australia (Австралия);
· by – Belarus (Белоруссия);
· ca – Canada (Канада);
· de – Germany (Германия);
· dk – Denmark;
· fr – France (Франция);
· il – Israel (Израиль);
· jp – Japan (Япония);
· ru – Russia (Россия);
· su – Soviet Union (Советский Союз – поддерживается, но не распределяется);
· ua – Ukraine (Украина);
65
· uk – United Kingdom (Соединенное Королевство Великобритания / Англия).
Имя сети каждый вычислительный центр выбирает для себя самостоятельно, а затем регистрирует его
в той организации Internet, которая обеспечивает подключение. Это имя обычно содержит информацию о
вычислительном центре и в пределах домена верхнего уровня должно быть уникальным. Когда в Internet
вступает новый вычислительный центр, ему назначается “имя сети” и выделяется определенный (в
зависимости от его запросов и размера) диапазон IP-номеров. В Internet входит более 4,5 млн. компьютеров,
и для обеспечения уникальности имя сети, как правило, выбирают соответствующим названию организации,
которой принадлежит сеть. Например, на рис. 4.1 имя сети digital означает принадлежность к известной
компьютерной корпорации DEC (Digital Equipment Corporation).
Имена, находящиеся слева от имени первой сети, могут быть назначены администратором локальной
сети. Если доступ к какому-нибудь хосту осуществляется через другую сеть, имя этой сети располагается
слева от первой сети. Имя машины, занимающее крайнее левое положение, – это имя конкретного хоста.
Пример расширенного имени приведен на рис. 5.3.
Рис. 5.3. Расширенное имя домена
Для конечного пользователя существует в основном два способа подключения к Internet – через
электронные доски объявлений (BBS – Bulletin Board System) и полное подключение по Internet-протоколу.
BBS – обычно состоит из ПК, модема с коммуникационной программой, подсоединенных к телефонной
линии и способных передавать и принимать сообщения. Некоторое время назад в России использовался
только этот способ, который значительно ограничивает возможности Сети, так как обеспечивает
пользователей только услугами электронной почты и подпиской на телеконференции в режиме почтовой
рассылки. В настоящее время в России набирает силу способ полного подключения к Internet по IP-протоколу. Полное подключение по IP-протоколу – это лучший вариант для домашнего компьютера. Для того
чтобы установить этот тип соединения, необходимо договориться с организацией-провайдером услуг
Internet. Провайдер (provider – поставщик сетевых услуг) – лицо или организация, предоставляющая услуги
по подключению к компьютерным сетям. Провайдер будет перенаправлять информацию с помощью
сетевого протокола TCP/IP по телефонным линиям на ваш компьютер. В этом случае домашний компьютер
становится фактически частью Internet (в отличие от простого присоединения к компьютеру, входящему в
Internet через BBS). Такой способ доступа называется Dial-Up и позволяет полностью управлять
выполняемыми программами. При этом пропускная способность данного способа ограничена скоростью
используемого модема и качеством телефонных линий от пользователя до провайдера Internet. Даже самые
скоростные модемы могут использовать лишь часть той пропускной способности, которую обеспечивают
большинство вычислительных центров.
Чтобы пропустить протокол TCP/IP по стандартному телефонному каналу, информационный поток
необходимо преобразовать в форму, которую можно передать через модем. Для решения этой задачи
существуют два способа. Первый, более старый, называется SLIP (Serial Line Internet Protocol) – протокол
Internet для последовательных линий. Более новый метод – РРР (Point to Point Protocol) – протокол передачи
“пункт-пункт” – гораздо эффективнее для современных телефонных систем и модемов. Существует
множество пакетов программ для сети TCP/IP (их часто называют Internet-пакетами – Internet packages),
которые поддерживают использование SLIP и РРР.
Кроме Dial-Up, способа полного подключения к Internet, существует и доступ по выделенным каналам,
который используется обычно только компаниями для подключения своих локальных сетей к Internet,
используя постоянные арендуемые каналы связи (leased line). Хотя по сравнению с Dial-Up, доступом по
обычным телефонным линиям, этот способ не дает новых возможностей, его преимуществами являются
более быстрая связь и наличие постоянного и непрерывного соединения. Для программ Internet не имеет
значения, какой вид доступа вы используете, – это влияет только на скорость приема и передачи
информационного потока. Кроме того, доступ по выделенной линии достаточно дорог из-за стоимости
аренды линии и оборудования для подключения.
Процесс установки на вашем компьютере программного обеспечения может показаться очень
сложным, но в действительности это не так. Обычно провайдеры Internet при регистрации нового абонента
выдают ему специально написанный пакет программ, который автоматически инсталлирует (устанавливает)
необходимые программы на машину абонента. При этом все настройки уже установлены провайдером или
также происходят автоматически.
При регистрации вы получите от своего провайдера установочные параметры:
· IP-адрес (IP-address);
· Сетевая маска (Netmask)’,
· Сервер имени (Nameserver);
· Шлюз по умолчанию (Default Gateway),
66
· Сервер времени (Jimeserver);
· Суффикс (имя) домена (Domain Suffix);
· Номер телефона модема провайдера;
· Скорость работы модема (Baud Rate);
· Последовательность входа в систему.
Рассмотрим эти параметры подробнее.
IP-адрес – это действительный адрес вашего компьютера в Internet, заданный в форме
ХХХ.ХХХ.ХХХ.ХХХ, где каждая группа XXX может быть числом от 0 до 255. Однако в последнее время
провайдеры Internet все чаще используют так называемый DHCP (Dynamic Host Configuration Protocol) –
протокол динамической конфигурации хоста – способ получения каким-либо устройством переменного IPадреса от сервера. Он позволяет управлять распределением IP-адресов и очень гибок – устройство в одном
сеансе может получить один IP-адрес, а в другом сеансе – другой.
Сетевая маска (Netmask). С ее помощью TCP/IP определяет размер локальной сети, что позволяет при
необходимости распространить по ней какие-либо данные. Маска показывает, в каком диапазоне лежат IPадреса компьютеров, входящих в данную локальную сеть, и, следовательно, способных принять эти данные.
Обычно сетевая маска задается в формате 255.255.255.0 или 255.255.0.0, но конкретные числа могут быть
любыми от 0 до 255.
Сервер имени (name server) – это IP-адрес компьютера, который переводит текстовые адреса Internet в
числовую форму. Например, адрес d85.sitek.net он преобразует в 195.212.225.85. Internet использует эти
числовые значения, так как каждой включенной в Сеть машине присваивается единственное число.
Сервер времени (timeserver) – это IP-адрес компьютера, содержащего точное время. Некоторые сетевые
программы могут запрашивать этот сервер, а затем устанавливать полученное время на внутренних часах
персонального компьютера. В этом случае, поле может остаться пустым.
Суффикс (имя) домена (Domain Suffix) – это часть вашего адреса электронной почты, стоящая после
имени пользователя, символа @ и имени хоста. Например, если адрес электронной почты –
askor@mastak.sitek.ru, то суффикс домена – sitek.ru.
Номер телефона модема провайдера – это телефон, по которому ваш модем может позвонить (Dial-Up),
соединиться с модемом провайдера и подключиться к Internet. Обычно он бывает уже установлен
провайдером в ваше программное обеспечение.
Скорость работы модема (Baud Rate) – это максимальная скорость, с которой модем может передавать
данные, обычно указываемая на корпусе модема или его упаковке. В принципе, в этом поле можно
выставить максимально допустимую данной системой или программой скорость. В любом случае реальная
связь установится с максимально возможной при данных условиях скоростью в зависимости от шума
телефонной линии (line noise) между вами и провайдером и скоростей ваших модемов.
Последовательность входа в систему. Подразумеваются определения имени пользователя (userid или
user name или name account или login), пароля для входа (password) в систему, используемого протокола
(SLIP или РРР) и другие ответы на возможные вопросы системы. Обычно провайдером пишется
специальный сценарий (script) входа в систему, в который пользователю необходимо внести только свои
имя и пароль. Этот сценарий можно редактировать обычным текстовым редактором типа Блокнот (Notepad)
из пакета Windows.
5.3.4. Типичные услуги Internet
К основным сервисам телекоммуникационных технологий относят электронную почту, передачу
файлов, телеконференции, справочные службы (доски объявлений), видеоконференции, доступ к
информационным ресурсам (информационным базам) сетевых серверов, мобильную сотовую связь,
компьютерную телефонию.
Электронная почта
Электронная почта (electronic mail, email) – это метод передачи почтовых сообщений (писем)
электронным способом. С помощью электронной почты можно передать сообщение в любой конец света не
более чем за сутки. Чтобы использовать возможности email, необходимо иметь доступ к машине, включенной в Internet. Это можно сделать с помощью коммуникационных программ через почтовую BBS
(электронную доску объявлений) или через домашний компьютер, подключенный к Internet в режиме DialUP.
Существуют два различных методах пересылки почты. Часть электронной почты передается с
использованием метода с промежуточным хранением данных (store-and-forvard). Этот метод обычно
используется, когда хост подключается к Internet периодически. Сообщение ожидает следующего
подключения хоста на вашем почтовом сервере Internet. Если это происходит, производится обмен
входящими и исходящими сообщениями, и весь процесс повторяется. При использовании этого метода сообщение может идти до адресата часы и даже дни.
Более быстрый метод заключается в использовании почтовыми серверами для передачи почты
67
протокола SMPT (Simple Mail Transfer Protocol— простой протокол передачи почты). В этом случае при
создании почтового сообщения почтовый сервер сразу же вступает в контакт с адресатом и отправляет
сообщение. Электронная почта, посылаемая таким методом, может обойти земной шар за секунды. Метод
SMTP используется уже довольно давно, но существует еще множество почтовых серверов, которые
применяют метод с промежуточным хранением. Например, в России большая часть почтовых серверов
работает таким образом. В действительности программы, применяющие SMTP, могут использовать оба
метода передачи почты.
Для отправки сообщения по электронной почте вам необходимо знать только одно – адрес получателя.
Как и любой другой адрес, адрес в электронной почте состоит из двух частей: “кому” и “куда”. “Кому” – это
идентификатор (имя) пользователя, “куда” – имя домена его компьютера. Для разделения этих двух частей
используется символ @ (произносится “эт”, иногда его называют собакой). Если вы отправляете письмо
кому-либо, кто подключен к тому же хосту, что и вы, то имя домена указывать не обязательно, так как хост
автоматически доставит сообщение локальному пользователю с заданным именем. Ниже приведен пример
стандартного формата адреса электронной почты в Internet:
В последнее время получили широкое распространение бесплатные почтовые серверы,
зарегистрировавшись на которых, можно получить в свое распоряжение почтовый ящик и использовать его
по своему усмотрению. В качестве примеров можно привести следующие службы:
www.mail.ru;
www.hotbox.ru;
www.inbox.ru;
www.hotmail.com и др.
Для работы с электронной почтой можно использовать специальные почтовые программы, например,
The Bat, Microsoft Outlook, Outlook Express.
Сетевые новости Usenet
Другим полезным ресурсом Internet являются сетевые телеконференции Usenet (“юзнет”). Это
огромная, базирующаяся на сообщениях электронная доска объявлений, в которой может участвовать
любой пользователь Internet. Эта система позволяет пользователям, живущим в различных частях мира,
участвовать в дискуссиях по тысячам разных тем. Эта технология аналогична электронной почте, где
адресатом является не конкретный пользователь, а телеконференция (newsgroup) на заданную тему.
Обычно доступ к новостям Usenet осуществляется в режиме подписки, т.е. вы посылаете по
специальному email-адресу запрос на сервер, используя всего одну или две команды. Например, команда
LIST заставит сервер прислать вам список доступных телеконференций, а команда HELP – список команд
данного сервера, команд подписки на (или отписки от) требуемую конференцию. После того, как вы
пошлете серверу команду “подписаться” на заданную конференцию, он будет по мере поступления в
конференцию новых статей посылать их в ваш почтовый ящик. Так же по электронной почте и вы можете
послать свою статью на конференцию. Этот способ достаточно громоздок и требует некоторых знаний, поэтому в настоящее время доступ к Usenet можно получить при полном подключении к Internet по TCP/IPпротоколу. Присоединившись к Сети, следует затем подключиться к серверу Usenet и запустить на своем
ПК специальную программу для чтения сообщений. Сервер Usenet общается с другими серверами Usenet и
обменивается с ними любыми новыми входящими и исходящими сообщениями. Программа чтения
сообщений показывает вам список конференций, к которым вы присоединились или из которых уже вышли,
и отмечает, чьи сообщения вы уже просмотрели. Затем программа отображает сообщения на экране и позволяет вам ответить на них. Заметим, что сообщения Usenet всегда общедоступны: миллионы людей во всем
мире могут прочесть ваше сообщение в той конференции, в которую вы его послали.
Телеконференция – это своеобразный журнал, публикующий исключительно письма читателей. Его
авторы являются также его читателями. Конечно, выходит это издание без цензуры и без редакторской
правки. Правда, существуют так называемые модераторы (moderator) – добровольцы, которые проверяют
письма на соответствие заданной теме конференции и перенаправляют их. Автором может стать любой.
Среднестатистическому пользователю Internet доступны 2–3 тысячи различных телеконференций, а всего их
около 10 тысяч. Но если среди многообразия тем нет той, единственной, то можно организовать ее самостоятельно, ведь один из главных моральных принципов Internet звучит примерно так: “Индивидуализм
приветствуется”. А чтобы единомышленникам было легче найти друг друга, конференции делятся на
несколько основных категорий:
· Alt – альтернативные темы;
· Comp – вычислительная техника и смежные области;
68
· Misk – всякая всячина;
· News – полезная информация для новичков в Usenet;
· Rec – развлекательная (музыка, спорт, игры);
· Soc – социальные вопросы (культура, религия и т.д.);
· Talk – дискуссии на общечеловеческие темы;
· Sci – наука и техника (кроме компьютерной сферы).
Каждая из этих широких тем разбивается на несколько более узких направлений, отвечающих какимто конкретным интересам, например REC.MUSIC.ABBA. В Usenet существуют и другие темы, но из их
названий трудно понять, чему они посвящены. Конкретные действия при присоединении к какой-нибудь
конференции зависят от используемой программы, но чаще всего это пункт меню “присоединиться к
конференции (join newsgroup)”, или “добавить конференцию (Add newsgroup)”, или команда серверу
“подписаться на конференцию (subscribe to newsgroup)”. В отличие от других конференций группы ALT
никто не обслуживает. Любой вычислительный центр, имеющий доступ к Usenet, может создать группу
ALT. Из-за отсутствия контроля и огромного количества передаваемых данных (более 45 Мбайт ежедневно)
многие вычислительные центры блокируют пересылку всех групп ALT.
Протокол передачи файлов (FTP)
Еще одним ресурсом Internet является FTP (File Transfer Protocol – протокол передачи файлов),
позволяющий пользователям копировать файлы из одного присоединенного к Internet компьютера в другой.
Программное обеспечение FTP разделено на две части: одна часть выполняется на компьютере, который
содержит файлы (FTP-сервере), а другая на компьютере, которому эти файлы требуются (клиенте). Клиентом может быть любая присоединенная к Internet BBS или даже ваш локальный персональный компьютер.
Две части программы общаются друг с другом и пересылают файлы. Чтобы использовать FTP, вы должны
выдать на FTP-сервер команды UNIX (UNIX – это операционная система, используемая на многих больших
компьютерах). FTP – очень мощное средство, но вы не сможете им пользоваться, не зарегистрировавшись на
FTP-сервере. Однако существует анонимный FTP. Для того чтобы соединиться с сервером анонимного FTP,
вам достаточно войти с именем anonimous. Пароль вводить не требуется, поэтому, когда система попросит
его ввести, желательно набрать свой email-адрес (это считается хорошим тоном). Хотя анонимный доступ
популярен, его работа не гарантируется. Многие вычислительные центры ограничивают количество
анонимных пользователей, которые одновременно могут войти в систему, чтобы обеспечить свободный
доступ к серверу для локальных пользователей.
Муравей (Archie)
Количество файлов, доступных для FTP, – огромно и постоянно растет. Сейчас можно получить
миллионы файлов – от исследовательского отчета до кулинарного рецепта, поэтому найти то, что вам
нужно, может оказаться непростой задачей. В этом и призвано помочь средство, называемое “Муравей”
(Archie – произносится “арчи”). Archie – программа, которая каталогизирует файлы на более чем 1000
серверах Internet. Archie-серверы создают списки файлов, доступных для FTP, и постоянно их обновляют.
Системой Archie можно пользоваться либо подключившись к Archie-серверу, либо запустить на своем
компьютере локальную версию Archie, которая будет общаться с Archie-сервером. Archie-программы ищут
файлы с помощью регулярных выражений – метода поиска, используемого в UNIX.
Telnet
После подключения к Internet вы теоретически можете подсоединиться к любому другому компьютеру
в Сети. Для этого необходимо иметь разрешение и удаленный компьютер должен поддерживать это
соединение. В отличие от FTP, который разрешает только копировать файлы из сервера и на него, Telnet –
это протокол эмуляции терминала, который позволяет подключаться к удаленному компьютеру по Internet и
управлять им. Он позволяет соединяться с удаленным компьютером так, как будто вы работаете
непосредственно с ним. С точки зрения удаленного компьютера ваш персональный компьютер аналогичен
непосредственно подключенному терминалу.
Gopher
Gopher – это управляемая с помощью меню система доступа в Internet, которая была разработана в
университете штата Миннесота в 1989 г. В основе Gopher лежит только меню, поэтому DOSориентированный текстовый гофер ни в чем не уступает Windows-ориентированному графическому. Раньше
пользователям необходимо было помнить, какой хост хранил ту или иную базу данных или коллекцию
файлов. Теперь эти сведения помнят только те люди, которые обслуживают Gopher-серверы. Они связывают
эти ресурсы с пунктами меню, которые доступны остальным пользователям. Все, что должен сделать
пользователь, это выбрать нужный пункт меню. После этого он будет соединен с компьютером (который
69
может находиться на другом полушарии), чья информация ему необходима. За простым интерфейсом
Gopher скрывается очень сложная система доступа к информации. Выбор пункта меню может привести к
подменю, текстовому файлу, бинарному файлу или непосредственно к другому Gopher-серверу на другой
машине. Благодаря этому можно легко просматривать Internet, не запоминая команды, скрытые за пунктами
меню.
WAIS – информационная система широкого пользования
WAIS (Wide Area Information System) была создана для обеспечения несложного последовательного
интерфейса для поиска информации в базах данных, доступных в Internet, – от хранящих бесплатную
информацию до специализированных и дорогостоящих. В отличие от Gopher, где вы должны просмотреть
несколько меню, прежде чем доберетесь до хоста, позволяющего обратиться к нужной базе данных, WAIS
разрешает подключиться непосредственно к WAIS-серверу, причем он будет работать только с
информацией, предоставляемой другими WAIS-серверами. Конечный WAIS-сервер подключится к
выбранной вами базе данных, выполнит ваш запрос и возвратит результаты поиска. WAIS лучше
использовать тогда, когда вы точно знаете, какого рода информация вам нужна. Если вы не вполне уверены,
проще будет воспользоваться Gopher.
IRC (Internet Relay Chat) – “Болтовня по Internet”
“Болтовня по Internet” (IRC) – возможность многопользовательского диалога по Internet в режиме
реального времени посредством текстовых сообщений, набираемых на клавиатуре. Набираемый на клавиатуре текст отправляется в некоторую область Сети, называемую каналом (channel). Этот текст становится
доступным для чтения всем пользователям, которые в данный момент тоже присоединились к этому каналу.
Соответственно текст, набранный другими пользователями в этом канале, доступен для чтения вам. Эти
каналы существуют на специальных IRC-серверах и к ним можно подключиться с помощью бесплатных
программ, которые можно получить через “Всемирную паутину”. Каналов на сервере довольно много –
можно выбрать любой и присоединиться к нему, но там всегда “многолюдно”. Если вы хотите пообщаться
без помех, то можно создать свой собственный канал, а затем договориться с респондентом (по электронной
почте) о названии IRC-сервера, названии канала и времени подключения к нему.
В последнее время появилась возможность использовать Internet для прямого разговора (не через текст
на дисплее, как в IRC, а по принципу телефона). Эта возможность сдерживалась до недавнего времени
низкими скоростями модемов (здесь требуется не менее 14,4 Kбит/с), качеством телефонных линий, а также
оперативной памятью компьютера (в данном случае не менее 16 Мбайт). Но теперь эти трудности
преодолены, существуют также необходимые программы.
“Всемирная паутина” (World Wide Web/ WWW, 3W)
WWW – глобальная система гипертекстовых документов, связанных друг с другом по Internet.
“Паутина” заключает в себе все ресурсы, о которых говорилось раньше. При этом вы можете работать
только с одной программой-клиентом на своем персональном компьютере, называемой браузером, или
просмотрщиком (по-английски browser означает “просмотрщик”). Это программный инструмент, позволяющий работать со всеми ресурсами Internet простым и удобным способом. Браузеры способны связываться
со всеми ресурсами Сети через единый пользовательский интерфейс (common user interface, CUI) и
превращать блуждание по Internet в замечательную игру. Компьютерные фирмы разработали достаточно
большое количество программ-браузеров для Internet. Среди них Netscape Navigator, MS Internet Explorer,
Mosaic, Tango, Ariadna, Cello, Lynx.
“Всемирная паутина”, или World Wide Web, начинает свою историю с набора правил и требований,
разработанных Европейской организацией ядерных исследований (ЦЕРН). Чтобы избежать трудностей,
возникавших тогда при работе с Internet (пользователь должен был быть хорошо подготовленным
программистом), был разработан новый метод передачи и отображения информации. Этот метод называется
HTTP (Hyper Text Transfer Protocol – протокол передачи гипертекстов) и является надстройкой над TCP/IP –
стандартным сетевым протоколом Internet. HTTP работает по стандартной для Internet схеме, когда сервер
выдает данные, а программа-клиент их отображает или выполняет.
Концепция гипертекста, которая лежит в основе “Всемирной паутины”, была предложена в 60-х годах
Тедом Нельсоном. Гипертекст (Hypertext) – это многомерный текст, т.е. такая организация документов, при
которой один документ или текст может включать в себя разнонаправленные ссылки или указатели (адреса)
на другие документы и ссылки. Такие указатели и ссылки, включенные в гипертекст, называются
гипертекстовыми ссылками или гиперссылками (Hypertext links, hyperlinks). Гиперссылка – ссылка на
другой документ – картинка, кнопка, выделенное слово в исходном документе, которые могут быть
выбраны читателем для получения большей информации. Эти ссылки позволяют просматривать документ в
любом необходимом порядке, т.е. не обязательно читать его с начала и до конца. Таким образом,
объединение, или совокупность, одномерных текстов с включенными в них ссылками друг на друга и будет
называться гипертекстом.
Самым простым и известным примером гипертекста является система контекстной помощи Microsoft
70
Windows. В этой системе пользователи могут перескакивать из одной темы в другую, отмечая щелчком
мыши выделенные слова или фразы. Другой щелчок мыши возвращает в исходную позицию или уводит
дальше по другой ссылке.
Гипертекст – это совершенно новая форма по сравнению с традиционными формами документов,
например книга, в которой единственной связью между сходными темами является предметный указатель.
А гипертекст во многих случаях является единственным удобным способом осмысленно изучить документ.
Если, например, с помощью MS Windows использовать отпечатанное на бумаге руководство, то придется
параллельно читать текст и отслеживать ссылки индекса (допустим, что он имеется), т.е. листать
руководство до того места, куда показывает индекс, оставив закладку на первоначальной странице, и возвращаться обратно, прочитав разъяснение по ссылке.
Развитие идеи гипертекста нашло свое отражение в новой форме организации документов, названной
гипермедиа (hypermedia). Гипермедиа позволяет связывать не только слова, но и рисунки, звуки или файлы
любого типа данных, которые можно хранить в компьютере. Например, если вы щелкнули по выделенной
фразе My image на гипермедиа-документе, в зависимости от контекста вам покажут либо фотографию
автора этой страницы, либо прокрутят видеоролик с его же физиономией, говорящего “Привет! Я –
почтальон Печкин”.
Гипермедиа – это метод соединения друг с другом элементов данных (независимо от их формата). И
если ваша программа для работы со “Всемирной паутиной” будет знать, что ей делать с полученными
данными, гипермедиа может стать процессом с почти безграничными возможностями. Гипермедиа-метод в
среде “Всемирной паутины” позволил сформировать множество интересных и разнообразных приложений –
от журналов до фотографий и видеороликов с метеоспутников. Теперь WWW можно сравнить с
телевизором, принимающим миллионы телевизионных каналов.
Для того чтобы создавать гипертекстовые или гипермедиа-документы, был разработан специальный
язык гипертекстовой разметки (HTML – Hypertext Markup Language). HTML – язык, используемый для
разметки текстовых файлов для использования в WWW. HTML–документы представляют собой обычный
текстовой ASCII-файл, который содержит как стандартный текст, так и особые коды форматирования или
разметки. Эти коды указывают, каким образом должен отображаться данный документ, и для правильного
вывода на экран WWW-клиент должен их прочитать.
Гипермедиа-ссылки, которые присутствуют на странице “Всемирной паутины”, описывают
местонахождение документа, который ваша программа-браузер должна отобразить на экране. Такое
описание местонахождения источника называют унифицированным указателем ресурса (URL – Uniform
Resource Locator). URL позволяет браузеру перейти непосредственно к файлу, находящемуся на любом
сервере Сети. Система именования URL – очень простая, но мощная. Стандартный URL состоит из четырех
частей: формат передачи, имя хоста, на котором находится запрашиваемый файл, путь к этому файлу и,
конечно, имя самого файла. Впрочем, имя файла необязательно. Для стандартных страниц “Всемирной
паутины” форматом передачи служит HTTP-протокол, поэтому указатели URL на эти страницы начинаются
с букв http. Чтобы отделить формат передачи от имени хоста, используется двоеточие и два слэша (://). Для
части URL, которая описывает имя хоста, используется стандартное соглашение об именах в Internet. Путь к
файлу соответствует соглашению об именах каталогов UNIX. Пример указателя URL:
Пользоваться WWW исключительно легко и удобно. Достаточно набрать на клавиатуре какой-нибудь
URL (например, http:// www.name.com/homepage.html) – и вы попадаете на соответствующую этому адресу
так называемую “домашнюю страницу” (home page), которая представляет собой написанное с
использованием языка HTML сообщение, которое хочет сделать та или иная организация, служба, база
данных, компания или частное лицо. Некоторые слова текста выделены. Это гиперссылки. Щелкнув
клавишей мыши на таком слове, можно получить комментарий к нему, текст, картинку, фотографию или
отрывок из музыкального произведения, а то и все перечисленное сразу. В этом комментарии тоже могут
быть выделенные слова. И так далее... То, что понравилось, можно загрузить в собственный компьютер или
распечатать.
В последнее время стало престижным иметь страничку в Internet. Виртуальные офисы создаются или
берутся в аренду даже небольшими фирмами. В этом случае первая страничка гипертекста порой бывает и
последней, а для получения дополнительной информации предлагается пользоваться электронной почтой.
Download