Справочник от Автор24
Поделись лекцией за скидку на Автор24

Аппаратное обеспечение информационных технологий

  • ⌛ 2011 год
  • 👀 827 просмотров
  • 📌 775 загрузок
  • 🏢️ ГПС МЧС России
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Аппаратное обеспечение информационных технологий» pdf
МЧС России Санкт-Петербургский университет государственной противопожарной службы –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– УТВЕРЖДАЮ Заместитель начальника кафедры прикладной математики и информационных технологий капитан внутренней службы Т.А. Подружкина ”14” июня 2011 года ЛЕКЦИЯ по дисциплине «Информационные технологии» для обучающихся по направлению подготовки (специальности) 280705.65 «Пожарная безопасность» Тема № 1 «Аппаратное обеспечение информационных технологий» Занятие № 1 «Основные понятия информатики» Обсуждена на заседании ПМК прикладной математики и информационных технологий Протокол № 10 от ”14” июня 2011 года Санкт-Петербург 2 I. Учебные цели 1. 2. 3. 4. 5. 6. 7. Изучить понятия «Информатика», «Информационные технологии», «Информация» Рассмотреть историю и эволюцию создания ЭВМ Изучить классификацию ЭВМ Изучить основы построения центральных устройств компьютера Изучить основы построения периферийных устройств ПК Воспитывать у обучающихся стремление к углубленному изучению учебного материала. Воспитывать у обучающихся стремление к самостоятельному изучению новых информационных технологий II. Расчет учебного времени Содержание и порядок проведения занятия ВВОДНОЯ ЧАСТЬ Время, мин 10 ОСНОВНАЯ ЧАСТЬ Учебные вопросы: 1. Структура учебного курса и науки информатики 2. Понятия информатика, информация 3. Эволюция и классификация ЭВМ 4. Основы построения центральных устройств компьютера 5. Основы построения периферийных устройств ПК ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ 160 35 35 30 30 30 10 III. Литература Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, 3 модернизация. - М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001 IV. Учебно-материальное обеспечение 1. 2. 3. 4. Мультимедийный проектор Набор слайдов Персональные компьютеры Обучающая программа. 4 V. Текст лекции Вводная часть В вводной части лекции после проверки наличия личного состава, объявить тему, цели и учебные вопросы занятия, последовательность их отработки, ориентировочное время выполнения задания. Учебн ые вопросы 1. Структура учебного курса и науки информатики Оставляя в стороне прикладные информационные технологии, опишем составные части «ядра» современной информатики. Каждая из этих частей может рассматриваться как относительно самостоятельная научная дисциплина; взаимоотношения между ними примерно такие же, как между алгеброй, геометрией и математическим анализом в классической математике - все они хоть и самостоятельные дисциплины, но, несомненно, части одной науки. Основные разделы информатики приведены н а рис.1. ИНФОРМАТИКА Теоретическая информатика Вычислительная техника Кибернетика Искусственный интеллект Программирование Информационные системы Теоретическая информатика - часть информатики, включающая ряд математических разделов. Она опирается на математическую логику и включает такие разделы как теория алгоритмов и автоматов, теория информации и теория кодирования, теория формальных языков и грамматик, исследование операций и другие. Этот раздел информатики использует математические методы для общего изучения процессов обработки информации. Вычислительная техника - раздел, в котором разрабатываются общие принципы построения вычислительных систем. Речь идет не о технических деталях и электронных схемах (это лежит за пределами информатики как таковой), а о принципиальных решениях на уровне, так называемой, архитектуры вычислительных (компьютерных) систем, определяющей состав, назначение, функциональные возможности и принципы взаимодействия устройств. Примеры принципиальных, 5 ставших классическими решений в этой области - неймановская архитектура компьютеров первых поколений, шинная архитектура ЭВМ старших поколений, связанная с архитектура параллельной (многопроцессорной) обработки информации. Программирование - деятельность, разработкой систем программного обеспечения. Здесь отметим лишь основные разделы современного программирования: создание системного программного обеспечения и создание прикладного программного обеспечения. Среди системного - разработка новых языков программирования и компиляторов к ним, разработка интерфейсных систем (пример - общеизвестная операционная оболочка и система Windows). Среди прикладного программного обеспечения общего назначения самые популярные - система обработки текстов, электронные таблицы (табличные процессоры), системы управления базами данных. В каждой области предметных приложений информатики существует множество специализированных прикладных программ более узкого назначения. Информационные системы - раздел информатики, связанный с решением вопросов по анализу потоков информации в различных сложных системах, их оптимизации, структурировании, принципах хранения и поиска информации. Информационно-справочные системы, информационно-поисковые системы, гигантские современные глобальные системы хранения и поиска информации (включая широко известный Internet) в последнее десятилетие XX века привлекают внимание все большего круга пользователей. Без теоретического обоснования принципиальных решений в океане информации можно просто захлебнуться. Известным примером решения проблемы на глобальном уровне может служить гипертекстовая поисковая система WWW, а на значительно более низком уровне - справочная система, к услугам которой мы прибегаем, набрав телефонный номер 09'. Информационные системы решают целый ряд задач: − Анализ и прогнозирование потоков разнообразной информации, перемещающихся в обществе. − Исследование способов представления и хранения информации, создание специальных языков для формального описания информации различной природы, разработка специальных приемов сжатия и кодирования информации, аннотирования объемных документов и реферирования их. − Построение процедур, позволяющих автоматизировать процесс извлечения информации из документов. − Создание информационно-поисковых систем, способных воспринимать запросы на естественном языке. Искусственный интеллект - область информатики, в которой решаются сложнейшие проблемы, находящиеся на пересечении с психологией, физиологией, лингвистикой и другими науками. Как научить компьютер мыслить подобно человеку? - Поскольку мы далеко не все знаем о том, как мыслит человек, исследования по искусственному интеллекту, несмотря на полувековую 6 историю, все еще не привели к решению ряда принципиальных проблем. Основные направления разработок, относящихся к этой области - моделирование рассуждений, компьютерная лингвистика, машинный перевод, создание экспертных систем, распознавание образов и другие. От успехов работ в области искусственного интеллекта зависит, в частности, решение такой важнейшей прикладной проблемы как создание интеллектуальных интерфейсных систем взаимодействия человека с компьютером, благодаря которым это взаимодействие будет походить на межчеловеческое и станет более эффективным. Кибернетика возникла в конце 40-х гг., когда Норберт Винер впервые выдвинул идею о том, что системы управления в живых, неживых и искусственных системах обладают многими общими чертами. На настоящий день кибернетика может рассматриваться как прикладная информатика в области создания и использования автоматизированных систем разной сложности. 1.2. Место информатики в системе наук Рассмотрим место науки информатики в традиционно сложившейся системе наук (технических, естественных, гуманитарных и т.д.). В частности, это позволило бы найти место общеобразовательного курса информатики в ряду других учебных предметов. По определению А.П.Ершова информатика- «фундаментальная естественная наука». Академик Б.Н.Наумов определял информатику «как естественную науку, изучающую общие свойства информации, процессы, методы и средства ее обработки (сбор, хранение, преобразование, перемещение, выдача)». Уточним, что такое фундаментальная наука и что такое естественная наука. К фундаментальным принято относить те науки, основные понятия которых носят общенаучный характер, используются во многих других науках и видах деятельности. Нет, например, сомнений в фундаментальности столь разных наук как математика и философия. В этом же ряду и информатика, так как понятия «информация», «процессы обработки информации» несомненно имеют общенаучную значимость. Естественные науки - физика, химия, биология и другие - имеют дело с объективными сущностями мира, существующими независимо от нашего сознания. Отнесение к ним информатики отражает единство законов обработки информации в системах самой разной природы искусственных, биологических, общественных. 7 Рис. 2. К вопросу о месте информатики в системе наук Однако, многие ученые подчеркивают, что информатика имеет характерные черты и других групп наук - технических и гуманитарных (или общественных). Черты технической науки придают информатике ее аспекты, связанные с созданием и функционированием машинных систем обработки информации. Так, академик А.А.Дородницын определяет состав информатики как «три неразрывно и существенно связанные части: технические средства, программные и алгоритмические». Первоначальное наименовании школьного предмета «Основы информатики и вычислительной техники» в настоящее время изменено на «Информатика» (включающее в себя разделы, связанные с изучением технических, программных и алгоритмических средств). Науке информатике присущи и некоторые черты гуманитарной (общественной) науки, что обусловлено ее вкладом в развитие и совершенствование социальной сферы. Таким образом, информатика является комплексной, междисциплинарной отраслью научного знания, как это изображено на рис. 2. Преподаватель делает выводы по первому учебному вопросу. 2. Понятия информатика, информация Слово «информатика» пришло к нам из Франции и не сразу прижилось в нашей стране. Лишь с середины 70-х годов термин «информатика» прочно вошел в обиход. Информатика – это наука о преобразовании информации в существе своем базирующаяся на вычислительной технике. Преобразование информации включает в себя операции по ее сбору, хранению, переработке, передаче и отображению. Тремя основными понятиями информатики являются: информация, компьютер и алгоритм. Для термина «информация» насчитывается более 400 определений. Слово «информация» происходит от латинского слова «informatio», которым первоначально обозначался процесс передачи сообщения. Данные, информация, знание – ступеньки лестницы познания. Одна из этих частей переходит в другую без четких границ между ними, в результате действий над предыдущей частью. Случай, происшествие, или изменения в состоянии мира – это событие. Для его представления вводятся символы – цифры, буквы, линии и др. Организованные по определенным правилам эти представления являются данными. Человек способен воспринимать данные, когда они действуют на органы его чувств. При этом человек становится осведомленным относительно данных этого события. Т.о. информация – это состояние осведомленности представленное в форме данных. Если человек способен манипулировать полученной информацией, извлекать из нее информацию более высокого уровня, он получает определенные знания. Термин «знание» может также относиться к организованной записи человеческого опыта в физическом представлении (отчеты, книги). 8 Фактически вся наша жизнь представляет собой процесс сбора, накопления и переработки информации. По дороге в университет, мы смотрим на прохожих, на проезжающие автомобили и т.д., автоматически мы перерабатываем эту информацию и отбрасываем лишнее. Информация перерабатывается даже во сне. Недаром говорят, что некоторые открытия были сделаны во время сна. Отвечая на вопрос «Что наша жизнь?» Можно ответить, что это не только игра, как говорил герой известного произведения, но и обработка информации. Понятие информации предполагает наличие двух объектов: источника и потребителя. Для потребителя, информация, переносимая сигналом, имеет определенный смысл, т.е. семантика сообщения (семантика – смысловое значение знака, слова, конструкции в языке). Для уяснения сущности информации следует учитывать и другие философские категории, такие как движение, пространство, время, а также проблему первичности материи и вторичности познания. Другим весьма важным условием уяснения сущности информации и правильного решения информационно-познавательных задач, к числу которых относятся и большинство правовых, является использование принципа адекватного отображения отображаемого объекта отображающим его объектом. Мы остановимся еще на одной формулировке понятия «информация». Под информацией понимаются сведения об окружающем мире и протекающих в нем процессов, воспринимаемых человеком или специальными устройствами для обеспечения целенаправленной деятельности. К сказанному добавим, что информация об объекте познания может быть не только воспринята познающим субъектом или техническим устройством (при соответствующей ее обработке), но и как бы отделена от ее первоисточника – отображения объекта познания. Из этого следует, что она может быть перенесена в пространстве, сохранена во времени, передана другому познающему субъекту или техническому устройству, подвергнута иным операциям, совокупность которых называют информационными процессами. Их состав и последовательность определяются в каждом частном случае. В общем виде информационные процессы составляют: создание, синтез, передачу, прием, накопление, хранение, преобразование, систематизацию, анализ, отбор, распространение информации, ее представление в удобном для пользователя виде. Чем определяется ценность информации. Какие свойства информации определяют ее значимость? Если дать почитать учебник по теории вероятностей школьнику третьего класса, то скорее всего результата не будет никакого. Для школьника сложность такой информации слишком велика. Если этот же учебник возьмет в руки профессор, который 30 лет занимается теорией вероятностей, то ему будет не очень интересно знакомиться с фактами, которые он и так прекрасно знает. В то же время данный учебник изучает студент, который учится на 3 курсе университета. Конечно, для себя он найдет много полезного в данной книге. Таким образом, первое от чего зависит ценность информации – это предварительный ее запас у приемника. Называют такой 9 предварительный запас информации – тезаурусом. Кроме этого информации присущи такие свойства, как ее своевременность, объективность и субъективность, полнота, достоверность, адекватность, доступность и актуальность. Своевременность означает получение информации в том момент времени, когда ее обработка может принести максимальный эффект. Понятие объективности информации является относительным. Более объективной принято считать ту информацию, в которую методы вносят меньший субъективный элемент. Так, например, принято считать, что в результате наблюдения фотоснимка природного объекта или явления образуется более объективная информация, чем в результате наблюдения рисунка того же объекта, выполненного человеком. Полнота информации во многом характеризует качество информации и определяет достаточность данных для принятия решений или для создания новых данных на основе имеющихся. Чем полнее данные, тем шире диапазон методов, которые можно использовать, тем проще подобрать метод, вносящий минимум погрешностей в ход информационного процесса. Достоверность информации. Данные возникают в момент регистрации сигналов, но не все сигналы являются «полезными» – всегда присутствует какой-то уровень посторонних сигналов, в результате чего полезные данные сопровождаются определенным уровнем «информационного шума». Если полезный сигнал зарегистрирован более четко, чем посторонние сигналы, достоверность информации может быть более высокой. При увеличении уровня шумов достоверность информации снижается. В этом случае для передачи того же количества информации требуется использовать либо больше данных, либо более сложные методы. Адекватность информации – это степень соответствия реальному объективному состоянию дела. Доступность информации – мера возможности получить ту или иную информацию. На степень доступности информации влияют одновременно как доступность данных, так и доступность адекватных методов для их интерпретации. Актуальность информации – это степень соответствия информации текущему моменту времени. Данные воспринимаются компьютером или человеком, если процесс восприятия проходит успешно, данные становятся информацией. Существует множество систем представления данных. Если данные представлены в виде текста в книге, единицей представления данных является буква. Наименьшей единицей представления данных в вычислительной технике является бит (двоичный разряд). Группа из восьми бит называется байтом. Понятие о байте, как группе взаимосвязанных битов, появилось вместе с первыми образцами вычислительной техники. Группа из двух взаимосвязанных байтов в информатике называется словом. Существует много различных систем и единиц измерения данных. Наименьшей единицей измерения данных в информатике является байт. Одним байтом, как правило, кодируется один символ текстовой информации. Более крупная 10 единица измерения – килобайт (Кбайт). 1 Кбайт равен 2 в 10 степени байт (1024 байт). Это связано с тем, что для вычислительной техники, работающей с двоичными числами, удобнее всего представлять числа в виде степени двойки. 1 Мбайт=1024 Кбайт; 1 Гбайт=1024 Мбайт; 1 Тбайт=1024 Гбайт. Циркулирующая в окружающем мире информация разнообразна и разнородна. Как научная категория информация характеризуется рядом признаков, что позволяет прибегнуть к ее классификации. Классификация информации по видам довольно условна, как любая классификация. Зависит же она от того, какая характеристика, свойство или функция информации принята за классификационный признак. Рассмотрим таблицу 1. Таблица 1 Признак классификации Виды информации Процесс передачи во времени Непрерывная Дискретная Физические свойства носителя Оптическая информации Звуковая Электромагнитная Электрическая Функция и сфера применения Социологическая Экономическая Биологическая Техническая Юридическая В последние годы в мире идет накопление огромных объемов информации. Всего за несколько лет персональные компьютеры стали необходимы миллионам людей. Если в конце 70-х годов общество называли индустриальным, то современное общество постепенно становится информационным. Сегодня любой персональный компьютер может быть включен в мировую сеть передачи данных, объединяющую десятки миллионов абонентов, информационно-вычислительные сети предоставляют нам весь необъятный мир информации. Под предметом информатики будем понимать технологии сбора, обработки и передачи информации с использованием компьютеров. 3. Эволюция и классификация ЭВМ 3.1. Эволюция ЭВМ. 11 Первое в мире автоматическое устройство для выполнения операции сложения было создано на базе механических часов. В 1623 году его разработал Вильгельм Шикард, профессор кафедры восточных языков в университете Тьюбингена (Германия). В наши дни рабочая модель устройства была воспроизведена по чертежам и подтвердила свою работоспособность. Сам изобретатель в письмах называл машину «суммирующими часами». В 1642 году французский механик Блез Паскаль (1623-1662) разработал более компактное суммирующее устройство, которое стало первым в мире механическим калькулятором, выпускавшимся серийно (главным образом для нужд парижских ростовщиков и менял). В 1673 году немецкий математик и философ Г.В.Лейбниц (1646-1717) создал механический калькулятор, который мог выполнять операции умножения и деления путем многократного повторения операций сложения и вычитания. На протяжении XVIII века, известного как эпоха Просвещения, появились новые, более совершенные модели, но принцип механического управления вычислительными операциями оставался тем же. Идея программирования вычислительных операций пришла из той же часовой промышленности. Старинные монастырские башенные часы были настроены так, чтобы в заданное время включать механизм, связанный с системой колоколов. Такое программирование было – жестким – одна и та же операция выполнялась в одно и то же время. Идея гибкого программирования механических устройств с помощью перфорированной бумажной ленты впервые была реализована в 1804 году в ткацком станке Жаккарда, после чего оставался только один шаг до программного управления вычислительными операциями. Этот шаг был сделан выдающимся английским математиком и изобретателем Чарльзом Бэббиджем (1792-1871) в его Аналитической машине, которая, к сожалению, так и не была до конца построена изобретателем при жизни, но была воспроизведена в наши дни по его чертежам, так что сегодня мы вправе говорить об Аналитической машине, как о реально существующем устройстве. Особенностью Аналитической машины стало то, что здесь впервые был реализован принцип разделения информации на команды и данные. Традиционную десятичную систему счисления крайне неудобно использовать в электронных вычислительных устройствах. Возможность представления состояний элементов устройств двоичными цифрами впервые была предложена Готфридом Вильгельмом Лейбницем в 1666 году. В использовании двоичной системы счисления для механических устройств особой необходимости не было, поэтому Лейбниц использовал ее в своем калькуляторе. Лишь с появлением элементной базы, построенной на электронных лампах, двоичная система счисления нашла свое применение в вычислительной технике. В первой половине XIX века, английский ученый Джордж Буль, внес в науку революционные изменения. Занимаясь исследованием законов мышления, он применил в логике систему формальных обозначений и правил, близкую к математической. Впоследствии эту систему назвали логической алгеброй или булевой алгеброй. Основное назначение системы, по замыслу 12 Дж.Буля, состояло в том, чтобы кодировать логические высказывания и сводить структуры логических умозаключений к простым выражениям. Результатом формального расчета логического выражения является одно из двух логических значений: истина или ложь. Значение логической алгебры долгое время игнорировалось, поскольку ее приемы и методы не содержали практической пользы для науки и техники того времени. Однако, когда появилась принципиальная возможность создания средств вычислительной техники на электронной базе, операции, введенные Булем, оказались весьма полезны. Они изначально ориентированы на работу только с двумя сущностями: истина и ложь. Современные компьютеры как раз и работают с двумя сигналами: ноль(ложь), единица (истина). При создании электронно-вычислительных машин была использована не вся система Джорджа Буля, а лишь четыре основные операции: И (логическое умножение), ИЛИ (логическое сложение), НЕ (отрицание), ИСКЛЮЧАЮЩЕЕ ИЛИ (лежит в основе работы всех новых процессоров современных компьютеров). В 1945 году знаменитый математик Фон Нейман сформулировал общие принципы функционирования универсальных вычислительных устройств, на основании которых английским исследователем Морисом Уилксом в 1949 году был построен первый компьютер. Дальнейшее совершенствование элементной базы привело к существенному уменьшению размеров, стоимости и энергопотребления, а также к повышению быстродействия и надежности ЭВМ. Эволюция архитектурных решений способствовала еще большему улучшению последних двух показателей. Первая в Европе ЭВМ была создана в СССР в 1951 г. под руководством академика С.А.Лебедева и называлась Малая Электронная Счетная Машина – МЭСМ. Первая ПЭВМ была сконструирована американской фирмой MITS в 1975 году и названа Altair 880. В 1976 году была создана следующая ПЭВМ (С.Возняк и С.Джобс), получившая название Apple-1. Весной 1977 года теми же авторами был изготовлен относительно дешевый и вместе с тем вполне законченный персональный компьютер Apple-2, вызвавший взрыв в области ПЭВМ. Он был построен по принципу «открытой архитектуры». Этот принцип заключался в том, что пользователь мог без труда открыть компьютер и расширить его возможности, добавляя или заменяя в нем электронные платы. Чем более «открыта архитектура», тем более универсален компьютер. Кроме того, персональный компьютер был предназначен для работы лишь одного пользователя с единственной программой. Идея «открытой архитектуры» пришлась по вкусу многим фирмам, которые стали выпускать дополнительные платы и отдельные элементы ЭВМ, быстро улучшая исходную модель персонального компьютера. В начале 80-х годов в число производителей ПЭВМ влились компьютерные гиганты International Business Machine Corp. (IBM) и Hewlett Packard (НР). Это не могло не привести к структурным изменениям на рынке персональных компьютеров. Так в 1981 году IBM выпустила 13 первую удачную 16 – разрядную модель PC (Personal Computer) и с этого момента стала флагманом в производстве не только больших, но и персональных ЭВМ. В 1983-84 появились новые модели машин этой же фирмы, а именно: PC XT (eXtended Technology) и PC AT (Advanced Technology) соответственно. Они стали неписанными стандартами в области ПЭВМ. Многие фирмыпроизводители освоили выпуск двойников этих изделий, улучшая некоторые из их характеристик или снижая стоимость. Наиболее в этом отношении преуспели компании Compaq и Tandy. В 1987 году на рынке ПЭВМ произошло новое потрясение – фирма IBM объявила о выпуске следующего семейства ПЭВМ –PS/2 (Personal System/2), в которое включены не только 16-ти, но и 32 – разрядные модели машин. Развитие компьютеров типа IBM PC теперь осуществляется многими конкурирующими фирмами, хотя IBM и остается самым крупным производителем этих компьютеров. Наибольшее влияние на развитие компьютеров типа IBM PC теперь оказывает не IBM, а фирма Intel – производитель микропроцессоров, являющихся «мозгом» IBM PC, и фирма Microsoft – разработчик операционной системы MS DOS, Windows и многих других используемых на IBM PC программ. Дальнейшие перспективы развития компьютерной техники связываются с использованием микропроцессоров Pentium, способных обрабатывать несколько команд за один тактовый цикл. Все процессоры Intel Pentium относятся к так называемому семейству x86. Родоначальником этого семейства был 16-разрядный процессор Intel 8086, на базе которого собиралась первая модель компьютера IBM PC. Впоследствии выпускались процессоры Intel 80286, Intel 80386, Intel 80486, Intel Pentium 60, 66, 75, 90, 100, 133; несколько моделей процессоров Intel Pentium MMX, модели Intel Pentium Pro, Intel Pentium II, Intel Celeron, Intel Xeon, Intel Pentium III. Все эти модели, а также модели процессоров компаний AMD и Cyrix относятся к семейству x86 и обладают совместимостью по принципу «сверху вниз». Принцип совместимости «сверху вниз» - это пример неполной совместимости, когда каждый новый процессор «понимает» все команды своих предшественников, но не наоборот. Это естественно, поскольку двадцать лет назад разработчики процессоров не могли предусмотреть систему команд, нужную для современных программ. Благодаря такой совместимости на современном компьютере можно выполнять любые программы, созданные в последние десятилетия для любого из предшествующих компьютеров, принадлежащего той же аппаратной платформе. 14 3.2.Поколение ЭВМ В соответствии с элементной базой и уровнем развития программных средств выделяют четыре реальных поколения ЭВМ, краткая характеристика которых приведена в таблице: Параметры сравнения Поколения ЭВМ первое второе третье четвертое Период времени 1946 - 1959 1960 - 1969 1970 - 1979 с 1980 г. Элементная база (для УУ, АЛУ) Электронные (или электрические) лампы Полупроводники (транзисторы) Интегральные схемы Большие интегральные схемы (БИС) Основной тип ЭВМ Большие Основные устройства ввода Пульт, перфокарточный, перфоленточный ввод Основные устройства вывода Алфавитно-цифровое печатающее устройство (АЦПУ), перфоленточный вывод Графопостроитель, принтер Внешняя память Магнитные ленты, барабаны, перфоленты, перфокарты Добавился магнитный диск Перфоленты, магнитный диск Магнитные и оптические диски Ключевые решения в ПО Универсальные языки программирования, трансляторы Пакетные операционные системы, оптимизирующие трансляторы Интерактивные операционные системы, структурированные языки программирования Дружественность ПО, сетевые операционные системы Пакетный Разделения времени Персональная работа и сетевая обработка данных Режим работы ЭВМ Однопрограммный Добавился алфавитноцифровой дисплей, клавиатура Цель использования Научно-технические Технические и ЭВМ расчеты экономические расчеты Малые (мини) Микро Алфавитноцифровой дисплей, клавиатура Цветной графический дисплей, сканер, клавиатура Управление и экономические расчеты Телекоммуникации, информационное обслуживание I поколение (до 1959 г.) Все ЭВМ I-го поколения были сделаны на основе электронных ламп, что делало их ненадежными - лампы приходилось часто менять. Эти компьютеры были огромными, неудобными и слишком дорогими машинами, которые могли приобрести только крупные корпорации и правительства. Лампы потребляли огромное количество электроэнергии и выделяли много тепла. Притом для каждой машины использовался свой язык программирования. Набор команд был небольшой, схема арифметикологического устройства и устройства управления достаточно проста, программное обеспечение практически отсутствовало. Показатели объема оперативной памяти и быстродействия были низкими. Для ввода-вывода использовались перфоленты, перфокарты, магнитные ленты и печатающие устройства, оперативные запоминающие устройства были реализованы на основе ртутных линий задержки электроннолучевых трубок. Эти неудобства начали преодолевать путем интенсивной разработки средств автоматизации программирования, создания систем обслуживающих программ, упрощающих работу на машине и увеличивающих эффективность её использования. Это, в свою очередь, потребовало значительных 15 изменений в структуре компьютеров, направленных на то, чтобы приблизить её к требованиям, возникшим из опыта эксплуатации компьютеров. Основные компьютеры первого поколения: 1946г. ЭНИАК В 1946 г. американские инженер-электронщик Дж. П. Эккерт и физик Дж.У. Моучли в Пенсильванском университете сконструировали, по заказу военного ведомства США, первую электронно-вычислительную машину - “Эниак” (Electronic Numerical Integrator and Computer). Которая предназначалась для решения задач баллистики. Она работала в тысячу раз быстрее, чем "Марк-1", выполняя за одну секунду 300 умножений или 5000 сложений многоразрядных чисел. Размеры: 30 м. в длину, объём - 85 м3., вес - 30 тонн. Использовалось около 20000 электронных ламп и1500 реле. Мощность ее была до 150 кВт. 1949г. ЭДСАК. Первая машина с хранимой программой - ”Эдсак” - была создана в Кембриджском университете (Англия) в 1949 г. Она имела запоминающее устройство на 512 ртутных линиях задержки. Время выполнения сложения было 0,07 мс, умножения - 8,5 мс. 1951г. МЭСМ В 1948г. году академик Сергей Алексеевич Лебедев предложил проект первой на континенте Европы ЭВМ - Малой электронной счетно-решающей машины (МЭСМ). В 1951г. МЭСМ официально вводится в эксплуатацию, на ней регулярно решаются вычислительные задачи. Машина оперировала с 20разрядными двоичными кодами с быстродействием 50 операций в секунду, имела оперативную память в 100 ячеек на электронных лампах. 1951г. UNIVAC-1. (Англия) В 1951 г. была создана машина “Юнивак”(UNIVAC) - первый серийный компьютер с хранимой программой. В этой машине впервые была использована магнитная лента для записи и хранения информации. 1952-1953г. БЭСМ-2 Вводится в эксплуатацию БЭСМ-2(большая электронная счетная машина) с быстродействием около 10 тыс. операций в секунду над 39-разрядными двоичными числами. Оперативная память на электронно-акустических линиях задержки - 1024 слова, затем на электронно-лучевых трубках и позже на ферритовых сердечниках. ВЗУ состояло из двух магнитных барабанов и магнитной ленты емкость свыше 100 тыс. слов. 16 II поколение (1960-1969) В 1958 г. в ЭВМ были применены полупроводниковые транзисторы, изобретённые в 1948 г. Уильямом Шокли, они были более надёжны, долговечны, малы, могли выполнить значительно более сложные вычисления, обладали большой оперативной памятью. 1 транзистор способен был заменить ~ 40 электронных ламп и работает с большей скоростью. Во II-ом поколении компьютеров дискретные транзисторные логические элементы вытеснили электронные лампы. В качестве носителей информации использовались магнитные ленты ("БЭСМ6", "Минск-2","Урал-14") и магнитные сердечники, появились высокопроизводительные устройства для работы с магнитными лентами, магнитные барабаны и первые магнитные диски. В качестве программного обеспечения стали использовать языки программирования высокого уровня, были написаны специальные трансляторы с этих языков на язык машинных команд. Для ускорения вычислений в этих машинах было реализовано некоторое перекрытие команд: последующая команда начинала выполняться до окончания предыдущей. Появился широкий набор библиотечных программ для решения разнообразных математических задач. Появились мониторные системы, управляющие режимом трансляции и исполнения программ. Из мониторных систем в дальнейшем выросли современные операционные системы. Машинам второго поколения была свойственна программная несовместимость, которая затрудняла организацию крупных информационных систем. Поэтому в середине 60-х годов наметился переход к созданию компьютеров, программно совместимых и построенных на микроэлектронной технологической базе. III поколение (1970-1979) В 1960 г. появились первые интегральные схемы (ИС), которые получили широкое распространение в связи с малыми размерами, но громадными возможностями. ИС - это кремниевый кристалл, площадь которого примерно 10 мм2. 1 ИС способна заменить десятки тысяч транзисторов. 1 кристалл выполняет такую же работу, как и 30-ти тонный “Эниак”. А компьютер с использованием ИС достигает производительности в 10 млн. операций в секунду. В 1964 году, фирма IBM объявила о создании шести моделей семейства IBM 360 (System 360), ставших первыми компьютерами третьего поколения. 17 Машины третьего поколения — это семейства машин с единой архитектурой, т.е. программно совместимых. В качестве элементной базы в них используются интегральные схемы, которые также называются микросхемами. Машины третьего поколения имеют развитые операционные системы. Они обладают возможностями мультипрограммирования, т.е. одновременного выполнения нескольких программ. Многие задачи управления памятью, устройствами и ресурсами стала брать на себя операционная система или же непосредственно сама машина. Примеры машин третьего поколения — семейства IBM-360, IBM-370, ЕС ЭВМ (Единая система ЭВМ), СМ ЭВМ (Семейство малых ЭВМ) и др. Быстродействие машин внутри семейства изменяется от нескольких десятков тысяч до миллионов операций в секунду. Ёмкость оперативной памяти достигает нескольких сотен тысяч слов. 3.3. Классификация ЭВМ Существует достаточно много систем классификации компьютеров. Классификация по назначению – один из наиболее ранних методов классификации (рис.1). Он связан с тем, как компьютер применяется. ЭВМ супер большие мини микро персональные ЭВМ ЭВМ ЭВМ ЭВМ компьютеры Рис.2. Классификация ЭВМ по назначению Супер-ЭВМ – принято называть уникальные ЭВМ или вычислительные системы, предназначенные для решения особо сложных научно-технических и планово-экономических задач, а также задач обработки информации и управления в специальных системах реального времени (например системах противовоздушной обороны, автоматизированных системах управления дорожным движением и т.д.). Производительность таких систем исчисляется десятками и даже сотнями миллионов операций в секунду. Общее количество информации, которое подвергается обработке в супер-ЭВМ, достигает 20 млрд. байт в секунду и более. Такая 18 производительность возможна благодаря использованию принципа многопроцессорной обработки. Обычно супер-ЭВМ включает высокопроизводительных в центральных себя несколько процессоров, (4, а 8 кроме и более) того и универсальных различного рода специализированные процессоры (например для выполнения арифметических операций). Все устройства, входящие в состав супер-ЭВМ, как правило, имеют улучшенные характеристики по всем показателям (быстродействие, объем памяти и.т.д). Супер-ЭВМ производятся лишь в наиболее технически развитых странах мира, а их количество исчисляется единицами, в лучшем случае десятками. В нашей стране супер-ЭВМ общего назначения представлены машинами типа «Эльбрус» производительностью от 10 до 120 млн. операций в секунду. Две наиболее известные серии супер-ЭВМ – Crey (Crey-1, Crey-2,Crey-3 – 16 млрд. команд./сек). Исторически первыми появились большие ЭВМ, элементная база которых прошла путь от электронных ламп до интегральных схем со сверхвысокой степенью интеграции. Большие ЭВМ конструктивно выполнены в виде нескольких стоек, включая устройства ввода-вывода, а таже внешние запоминающие устройства на магнитных дисках и лентах. Для установки машин требуется достаточно большое помещение, оборудованное средствами обеспечения заданного температурного режима. Обслуживание больших ЭВМ трудоемко, зато их производительность лежит в пределах от нескольких сот тысяч до нескольких миллионов команд в секунду. К большим ЭВМ относятся большинство моделей IBM 360/370 и их отечественных аналогов – ЕС ЭВМ. ЕС 1046 – производительность 1,3 млн. команд/сек; занимаемая площадь – 100 - 127 кв.м., ЕС 1066 – производительность 5,5 млн. команд/сек; занимаемая площадь – 200 – 260 кв.м., В 70-е годы появился еще один класс ЭВМ – мини ЭВМ, что обусловлено, с одной стороны, прогрессом в области элементной базы, а с другой – избыточностью ресурсов больших ЭВМ для ряда приложений. Мини-ЭВМ работают в режиме разделения времени, выполнены в виде одной или нескольких малогабаритных стоек и имеют более низкие по сравнению с большими ЭВМ быстродействие и стоимость. ЭВМ данного класса не требуют специально оборудованного помещения. Мини-ЭВМ находят широкое применение в научно-технических и плановоэкономических расчетах невысокой сложности, автоматизации экспериментальных исследований, управлении технологическими процессами и др. Наибольшее распространение в нашей стране получили мини-ЭВМ серии СМ. Средства СМ ЭВМ используются в системах управления технологическими процессами и агрегатами, автоматизации научных исследований и экспериментов, проектирования, для выполнения коммерческих и инженерных расчетов, в локальных и территориально распределенных комплексах сбора и обработки данных, в управлении объектами непромышленной сферы. ЭВМ ЕС и СМ ЭВМ являлись в свое время основными машинами, которыми оснащались вычислительные центры. 19 Изобретение в 1969 году микропроцессора привело к появлению в 70-х годах еще одного класса ЭВМ – микро-ЭВМ. Именно наличие МП служит определяющим признаком микро-ЭВМ. Основная область применения микро-ЭВМ – автоматизация экспериментальных исследований и управленческой деятельности, управление технологическими процессами. В конце 70 гг. большое распространение получила практика встраивания микро-ЭВМ в сложные измерительные приборы и технологическое оборудование. Персональные компьютеры или персональные ЭВМ. Эта категория ЭВМ получила особо бурное развитие в течении последних двадцати лет. Из названия ясно, что такой компьютер предназначен для обслуживания одного рабочего места. Как правило, с персональным компьютером работает один человек. Несмотря на свои небольшие размеры и относительно невысокую стоимость, современные персональные компьютеры обладают немалой производительностью. Многие современные персональные модели превосходят большие ЭВМ 70-х годов, мини-ЭВМ 80-х годов и микро-ЭВМ первой половины 90-х годов. Начиная с 1999 года в области персональных компьютеров начинает действовать международный сертификационный стандарт – спецификация РС99. Он регламентирует принципы классификации персональных компьютеров и оговаривает минимальные и рекомендуемые требования к каждой из этих категорий. Данный стандарт устанавливает следующие категории персональных компьютеров: Consumer PC (массовый ПК): Office PC (деловой ПК): Mobile PC (портативный ПК): Workstation PC (рабочая станция): Entertainmemt PC (развлекательный ПК). Согласно спецификации РС99 большинство персональных компьютеров, присутствующих в настоящее время на рынке, попадают в категорию массовых ПК. Для деловых ПК минимизированы требования к средствам воспроизведения графики, а к средствам работы со тзвуковыми данными требования вообще не предъявляются. Для портативных ПК обязательным является наличие средств для создания соединений удаленного доступа, то есть средств компьютерной связи. В категории рабочих станций повышены требования к устройствам хранения данных, а в категории развлекательных ПК – к средствам воспроизведения графики и звука. Преподаватель делает выводы по третьему учебному вопросу. 4.Основы построения центральных устройств компьютера 4.1. Основы построения центральных устройств персонального компьютера. Для автоматизации обработки информации используются различные по назначению классы компьютеров. 20 Персональный компьютер (ПК) - это не один электронный аппарат, а небольшой комплекс взаимосвязанных устройств, каждое из которых выполняет определенные функции. Часто употребляемый термин “конфигурация ПК” означает, что конкретный компьютер может работать с разным набором внешних (или периферийных) устройств, например, с принтером, модемом, сканером и т.д. Эффективность использования ПК в большой степени определяется количеством и типами внешних устройств, которые могут применяться в его составе. Внешние устройства обеспечивают взаимодействие пользователя с ПК. Наибольшей популярностью в настоящее время пользуются персональные компьютеры фирмы IBM, первые модели которых появились в 1981 г. Существенно им уступают по популярности ПК фирм Apple и DEC (Digital Equipment Corporation) и их аналоги, занимающие по распространенности 2-е место. За рубежом самыми распространенными моделями компьютеров в настоящее время являются IBM PC с микропроцессорами типа Pentium. В настоящее время многочисленные компьютерные фирмы в России занимаются сборкой из зарубежных компонентов в основном IBM-совместимых персональных компьютеров. ПК имеет 4 основные характеристики: 1. память(большую емкость для хранения информации); 2. высокую скорость поиска и обработки информации; 3. Возможность ввод и вывода информации не только в виде чисел, но и в виде текстов, рисунков, чертежей, звука; 4. Возможность быстрой передачи информации на удаленные расстояния по телефонной линии или по специальным каналам связи; Настольные ПК – автономные и сетевые автоматизированные рабочие места (АРМ) экономистов, бухгалтеров, финансистов, менеджеров и других специалистов. Настольные ПК, используемые в ЛВС, называют сетевыми рабочими станциями, клиентскими компьютерами. В зависимости от модели процессора, емкости оперативной памяти (ОП), жесткого магнитного диска (ЖМД) различают офисные ПК, высокопроизводительные ПК и ПК-серверы. Рабочие (графические) станции – системы автоматизированного проектирования, издательские системы, системы для моделирования, анимации. Мощные компьютеры с большой емкостью внешней, оперативной и видеопамяти. Графические станции имеют высококачественные мониторы с размером экрана 19 и более дюймов. Серверы – мощные, надежные компьютеры, используемые в качестве файловых серверов, серверов баз данных, приложений в ЛВС, Web-серверов и др. В АИС используются серверы различной мощности – от однопроцессорных начального уровня для небольших рабочих групп (масштаба отдела, малого предприятия) до многопроцессорных, высоконадежных и 21 высокопроизводительных уровня крупного предприятия. Большинство серверов, применяемых в АИС предприятий, построены на базе CISC-процессоров (Intel, AMD – серверы х86) и RISCпроцессоров. В зависимости от используемой сетевой (серверной) операционной системы (платформы) различают Windows-, Unux- Linux-серверы. Мэйнфреймы (большие ЭВМ) – самые мощные компьютеры, применяемые в наиболее крупных банках, организациях, предприятиях, министерствах, ведомствах. Переносные (портативные) компьютеры (ноутбуки и др.) используются для выполнения различных работ руководителями, менеджерами и другими специалистами, в т.ч. в поездках, командировках, на совещаниях, а также для удаленного мобильного доступа к данным предприятия, Web-cерверам и передачи заказов, сообщений электронной почты. Бездисковые рабочие станции – ПК без ГМД, ЖМД, CD-ROM, устройств записи на магнитную ленту, компакт-диски. Используются, в основном, для ввода данных в системах централизованной обработки данных (например, АРМ операционистов автоматизированных банковских систем). Мультимедийные компьютеры – ПК с высококачественными аудио- и видеокартами, звуковыми колонками. Эти характеристики не важны для АРМ бухгалтеров, менеджеров, экономистов, финансистов, не работающих, как правило, с мультимедийными программами. Для обработки экономической, финансовой информации в большинстве АИС предприятий используются в основном настольные ПК и серверы, в наиболее крупных – мэйинфреймы. Для обеспечения высокой надежности автоматизированных банковских и других информационных систем, работающих круглосуточно 7 дней в неделю 365 дней в году, применяются кластеры из двух серверов. При аварийном сбое одного сервера кластер обеспечивает возврат приложения в рабочее состояние и его восстановление на момент сбоя на втором сервере. Серверы (узлы) кластера могут быть территориально разнесены, соединены оптическим кабелем. Например, в центральном офисе банка установлен основной сервер, а в одном из отделений – резервный. ЭВМ различаются мощностью, производительностью. Мощность ЭВМ – это совокупность характеристик, определяющая возможность использования ЭВМ для выполнения тех или иных функций, задач. Мощность ЭВМ определяют модель, тактовая частота процессора (CPU), объем оперативной памяти (оперативного запоминающего устройства – ОЗУ, RAM), объем жесткого магнитного диска (ЖМД, HDD). Производительность ЭВМ определяется по результатам тестирования с помощью соответствующих программ (времени выполнения расчетов, решения типичных задач обработки информации и т.п.). Производительность ЭВМ определяют модель, тактовая частота процессора, тип системной и локальных шин (PCI, PCI-X и др.), объем, тип оперативной памяти (DRAM, EDO 22 RAM, SDRAM ECC, RDRAM ECC), объем ЖМД, среднее время доступа, скорость обмена данными с оперативной памятью, объем кэш-памяти (cache) второго уровня. Другие характеристики ЭВМ, в т.ч. объем видеопамяти (VRAM), скорость работы привода компакт-дисков (CD-RW/DVD-ROM) в меньшей степени влияют на производительность ЭВМ при решении экономических задач. Наряду с жесткими, гибкими и оптическими дисками для хранения информации используются: стримеры – накопители на магнитной ленте (МЛ), называемые также ленточными накопителями, магнитооптические (МО) устройства с перезаписываемыми МО-дисками, дисковые массивы RAID (объем от десятков Гбайт до нескольких Тбайт), переносные накопители со сменными магнитными дисками (ZIP-накопители 100/250 Мбайт, накопители JAZ 1/2 Гбайт). МО-диски объединяют оптический и магнитный способы записи информации (возможна перезапись информации). Они используются для резервного копирования данных, хранения (накопления) больших массивов информации. Быстродействие современных моделей МОдисководов сопоставимо с накопителями ЖМД. Офисный ПК для автономной работы (автоматизация учета, подготовка документов, решение других экономических задач) имеет, например, следующие характеристики: процессор Intel Celeron 1.7–2.0 ГГц, ОП 128 Мбайт, ЖМД 40 Гбайт. Высокопроизводительный ПК – процессор Intel Pentiun IV 2.4–2.6 ГГц (или AMD Athlon), ОП 256-512 Мбайт, ЖМД 60 Гбайт. При выборе ПК для АИС предприятия учитываются: тип, тактовая частота процессора, объем ОП, ЖМД, срок, условия гарантии, соотношение цены и качества, фирма-сборщик (производитель), фирмы-производители комплектующих (системной платы, ЖМД и других устройств), требования к ресурсам системных, прикладных программ и другие факторы. Выбор ПК, серверов производится с учетом ресурсов, необходимых для достаточно быстрой работы системных и прикладных программ, используемых в АИС предприятия. Например, для обеспечения приемлемой скорости работы сетевой версии системы 1С:Предприятие 7.7. необходим ПК с процессором Intel Celeron с тактовой частотой 500 MГц и выше, 64 Мб оперативной памяти, сервер ЛВС с одним или двумя процессорами Intel Pentium III, оперативной памятью 128 Мб для серверной операционной системы (ОС) Windows NT 4.0 Server, плюс по 16–32 Мб на клиента (ПК пользователя). Двухпроцессорные (и более) серверы перенаправляют большое число сетевых запросов ввода/вывода на наименее загруженный процессор, что повышает скорость обработки данных, масштабирование системы. При создании с помощью промышленных (профессиональных) СУБД типа MS SQL Server относительно больших баз данных (более 500 Мбайт) с интенсивным чтением/записью информации на ЖМД рекомендуется использование высокоскоростных SCSI дисков. На большинстве предприятий используются в основном Intel-серверы различной мощности на базе процессоров Intel (Intel Xeon и др.) и операционных систем (ОС) Windows (платформа 23 Wintel), в т.ч. из-за большого количества прикладных программ, разработанных для этой платформы. В АИС крупных организаций и предприятий применяются также мощные компьютеры на базе других процессоров и ОС, например, Unix-серверы HP SuperDowe (процессор PA-RISC 8700, ОС HP-UX 11i), IBM PSeries P690 – Regatta (процессор Power4, ОС AIX 5L), SunFire 15k (UltraSPARC, OC Solaris 8), серверы IBM eSrwer zSeries (процессор CMOS G7, ОС ZOS), iSeries (процессор Power4, ОС OS/400). Старшие модели двух последних серверов IBM, раньше называвшиеся, соответственно, S/390, AS/400, относят по производительности к мэйнфреймам. Под управлением ОС с открытым кодом Linux работают серверы стандартной архитектуры HP ProLant с процессорами Itanium, Itanium II. Средства и технологии сбора, ввода данных в ЭВМ В АИС предприятий, организаций менеджеры, бухгалтеры, финансисты, экономисты и другие специалисты значительную часть рабочего времени тратят на ручной ввод в компьютеры данных с поступающих товарных, платежных и других документов. Основные блоки персонального компьютера и их назначение Персональный компьютер в своем составе содержит следующие основные элементы: материнская плата микропроцессор; жесткий диск; CD-ROM; Типовая структурная схема персонального компьютера Материнская плата - (англ. motherboard, MB; сленг. мама, мать, материнка) — это сложная многослойная печатная плата, на которой устанавливаются основные компоненты персонального компьютера (центральный процессор, контроллер ОЗУ и собственно ОЗУ, загрузочное ПЗУ, контроллеры базовых интерфейсов ввода-вывода). Как 24 правило, материнская плата содержит разъёмы (слоты) для подключения дополнительных контроллеров, для подключения которых обычно используются шины USB, PCI и PCI-Express. Её основные компоненты: V процессор - основная микросхема, выполняющая большинство математических и логических операций; V микропроцессорный комплект (чипсет) - набор микросхем, управляющих работой внутренних устройств компьютера и определяющих основные функциональные возможности материнской платы; V шины - наборы проводников, по которым происходит обмен сигналами между внутренними устройствами компьютера; V оперативная память (оперативное запоминающее устройство, ОЗУ) набор микросхем, предназначенных для временного хранения данных, когда компьютер включен; V ПЗУ (постоянное запоминающее устройство), микросхемы предназначенная для длительного хранения данньтх, в том числе и когда компьютер выключен; V разъемы для подключения дополнительных устройств (слоты) Материнская плата имеет несколько основных характеристик: Форм-фактор (AT/ATX) – определяет форму, размеры материнских плат, расположение компонент на плате. Важно: форм-фактор платы определяет, в какой тип корпуса вы можете ее поставить. Корпуса соответственно бывают AT/ATX. ATX стоит дороже, но предоставляет дополнительные возможности: программное включение/выключение компьютера, более надежный разъем питания, лучшая вентиляция корпуса. На данный момент применяют форм-фактор ATX. Разъемы USB/Infared/PS мыши: на большинстве плат присутствуют разъемы для подключения USB/Infared/PS мыши, но не у всех есть разъемы и кабели для подключения этих устройств. Обычно USB/Infared необходимо приобретать дополнительно. Chip Set – набор микросхем. Это одна или несколько микросхем, таймеры, систему управления специально разработанных для “обвязки” микропроцессора. Они содержат в себе контроллеры прерываний, прямого доступа к памяти, памятью и шиной – все те компоненты, которые в оригинальной IBM PC были собраны на отдельных микросхемах. Обычно в одну из микросхем набора входят также часы реального времени с CMOS-памятью и иногда – клавиатурный контроллер, однако эти блоки могут присутствовать и в виде отдельных чипов. В последних разработках в состав микросхем наборов для интегрированных плат стали включаться и контроллеры внешних устройств. “Гнездо” для установки процессора: на системных платах, предназначенных для установки процессоров Pentium, Pentium MMX и Cyrix M2, “гнездо” – квадратной формы, с многочисленными дырочками под “ножки” процессора по краю рамки. Такой тип разъема носит название Socket 7. На платах, предназначенных для установки процессора Pentium II, а также нового процессора фирмы AMD под названием К7 вы увидите уже не квадратное гнездо, а длинный “щелевой” разъем – слот (тип Slot 1). На большинстве материнских плат, предназначенных для построения домашних систем, сокет или слот имеется в единственном экземпляре (хотя в продаже имеются и платы для построения двухпроцессорных систем). Разъемы-слоты стандарта PCI: как правило, их четыре (изредка – меньше). Разъемы PCI – обычно самые короткие на плате, белого цвета, разделенные своеобразной “перемычкой” на две неравные части. Разъем Advanced Graphic Port (AGP): (Accelerated Graphics Port – ускоренный графический порт) - интерфейс для подключения видеоадаптера к отдельной магистрали AGP, имеющей выход непосредственно на системную память. В системной памяти размещаются преимущественно параметры трехмерных объектов (текстуры, альфа-канал, z-буфер), требующие быстрого доступа со стороны как процессора, так и видеоадаптера. Интерфейс выполнен в виде отдельного разъема, в который устанавливается AGP-видеоадаптер. Cначала были модемы на 56 кбит/с, затем DVD, а теперь притчей во языцех стал ускоренный графический порт (Accelerated Graphics Port – AGP) фирмы Intel. Список “полуфабрикатов” новых технологий, навязываемых покупателям компьютеров, непрерывно растет. 25 IR Connector: Infrared Connector – разъем для инфракрасного излучателя/приемника. Подключен к одному из встроенных COM-портов (обычно – COM2) и позволяет установить беспроводную связь с любым устройством, снабженным подобным излучателем и приемником. Работает по тому же принципу, что и пульты управления бытовой радиоаппаратурой. Разъемы-слоты типа ISA: шина, как известно, представляет из себя, собственно, набор проводов (линий), соединяющий различные компоненты компьютера для подвода к ним питания и обмена данными. В “минимальной комплектации” шина имеет три типа линий: * линии адресации - используемая центральным процессором или устройствами, способными инициировать сеансы DMA (Прямой доступ к памяти (англ. Direct Memory Access, DMA) — режим обмена данными между устройствами или же между устройством и основной памятью (RAM), без участия Центрального Процессора (ЦП). В результате скорость передачи увеличивается, так как данные не пересылаются в ЦП и обратно), для указания физического адреса слова ОЗУ (или начала блока слов), к которому устройство может обратиться для проведения операции чтения или записи. Основной характеристикой шины адреса является её ширина в битах. Ширина шины адреса определяет объём адресуемой памяти. Например, если ширина адресной шины составляет 20 бит, и размер слова памяти равен одному байту (минимальный адресуемый объём данных), то объём памяти, который можно адресовать, составляет 220 = 1 048 576 байтов (1 МБайт) как в IBM PC/XT. С точки зрения архитектуры микропроцессорной системы, если не применять мультиплексирование, каждый бит в адресе определяется одним проводником (линией) в магистрали, по которой передаётся адрес. Если рассматривать структурную схему микро-ЭВМ, то адресная шина активизирует работу всех внешних устройств по команде, которая поступает с микропроцессора.; * линии данных - предназначенная для передачи информации. В компьютерной технике принято различать выводы устройств по назначению: одни для передачи информации (например, в виде сигналов низкого или высокого уровня), другие для сообщения всем устройствам (шина адреса) — кому эти данные предназначены. * линии управления- по которой передаются сигналы, определяющие характер обмена информацией по магистрали. Сигналы управления определяют, какую операцию (считывание или запись информации из памяти) нужно производить, синхронизируют обмен информацией между устройствами и т. д. Эта шина не имеет такой же четкой структуры, как шина данных или шина адреса. В шину управления условно объединяют набор линий, передающих различные управляющие сигналы от процессора на все периферийные устройства и обратно. В шине управления присутствует линии, передающие следующие сигналы[1]: RD — сигнал чтения; WR — сигнал записи; MREQ — сигнал, инициализации устройств памяти (ОЗУ или ПЗУ); IORQ -сигнал инициализации портов ввода/вывода. Кроме того, к сигналам шины управления относятся: READY — сигнал готовности, RESET — сигнал сброса.; Слоты для установки оперативной памяти: От слотов для установки плат отличаются наличием специальных замочков-”защелок”, На новых платах Pentium MMX, как правило, предусмотрена установка двух типов памяти – более старого формата SIMM (72 контакта) и нового- быстрой 26 памяти типа DIMM (168 контактов). Слоты DIMM значительно короче слотов SIMM, так что путаницы здесь не возникнет. Количество слотов обоих типов может варьироваться от 2 до 4. Возможен вариант, когда на материнской плате вы найдете разъемы под один тип памяти и это будит DIMM так как последнее время стали уходить от SIMMов все потому что наступает эпоха больших скоростей и большой производительности. Контроллеры портов: Под “портами” понимаются разъемы на задней стенке компьютера, предназначенные для подключения таких внешних устройств, как принтер, мобильный дисковод большой емкости (для этого предусмотрен так называемый параллельный порт, или LPT), а также – внешнего модема, манипулятора типа “мышь” (через два последовательных порта – СОМ1 и COM2 с разъемами 9 и 25 штырьков). Параллельный порт (LPT) всегда один, число же портов СОМ может варьироваться от 2 до 4. Во многих платах Pentium II, соответствующих стандарту АТХ, имеются еще и специальные разъемы для подключения мыши и клавиатуры – круглые разъемы типа PS/2. Не забудем и еще одну новинку- последовательный порт USB. USB: (Universal Serial Bus – универсальная последовательная магистраль) - новый интерфейс для подключения различных внешних устройств. Предусматривает подключение до 127 внешних устройств к одному USB-каналу (по принципу общей шины), реализации обычно имеют по два канала на контроллер. Обмен по интерфейсу – пакетный, скорость обмена – 12 Мбит/с. Последнее время, устройств в формате USB (модемов, принтеров, сканеров, мониторов и даже клавиатур) на рынке становится все больше и больше. Кэш: Cache (запас) обозначает быстродействующую буферную память между процессором и основной памятью. Кэш служит для частичной компенсации разницы в скорости процессора и основной памяти – туда попадают наиболее часто используемые данные. Когда процессор первый раз обращается к ячейке памяти, ее содержимое параллельно копируется в кэш, и в случае повторного обращения в скором времени может быть с гораздо большей скоростью выбрано из кэша. При записи в память значение попадает в кэш, и либо одновременно копируется в память, либо копируется через некоторое время. При обратной записи, называемой также буферизованной сквозной записью, значение копируется в память в первом же свободном такте, а при отложенной – когда для помещения в кэш нового значения не оказывается свободной области; при этом в память вытесняются наименее используемая область кэша. Вторая схема более эффективна, но и более сложна за счет необходимости поддержания соответствия содержимого кэша и основной памяти. VRM: Voltage Regulator Module – модуль регулятора напряжения. Служит для формирования нужных напряжений питания процессора. Разработан для того, чтобы существующие системные платы могли поддерживать новые типы процессоров, которые появятся в будущем. На платах, поддерживающих VRM, для него есть специальный двухрядный разъем с пластмассовым обрамлением, расположенный обычно рядом с процессором или его стабилизатором питания. BIOS: (basic input/output system) – базовая система ввода-вывода – это встроенное в компьютер программное обеспечение, которое ему доступно без обращения к диску. На PC BIOS содержит код, необходимый для управления клавиатурой, видеокартой, дисками, портами и другими устройствами. Обычно BIOS размещается в микросхеме ПЗУ (ROM), размещенной на материнской плате компьютера (поэтому этот чип часто называют ROM BIOS). Эта технология позволяет BIOS всегда быть доступным, несмотря на повреждения, например, дисковой системы. Это также позволяет компьютеру самостоятельно загружаться. Поскольку доступ к RAM (оперативной памяти) осуществляется значительно быстрее, чем к ROM, многие производители компьютеров создают системы таким образом, чтобы при включении компьютера выполнялось копирование BIOS из ROM в оперативную память. В настоящее время, почти все материнские платы комплектуются Flash BIOS, BIOSом, который в любой момент может быть перезаписан в микросхеме ROM при помощи специальной программы. BIOS PC стандартизирован, поэтому, в принципе менять его, также как, например, операционные системы нет необходимости. Дополнительные возможности компьютера можно использовать только использованием нового программного обеспечения. BIOS, который поддерживает технологию Plug-and-Play, называется PnP BIOS. При использовании этой технологии BIOS должен быть обязательно прошит во Flash ROM. PnP: Plug And Play – “вставь и играйся”. Обозначает технологию, которая сводит к минимуму усилия по подключению новой аппаратуры. PnP-карты не имеют перемычек конфигурации или особых программ настройки; вместо этого общий для компьтера PnP-диспетчер (отдельная 27 программа либо часть BIOS или ОС) сам находит каждую из них и настраивает на соответствующие адреса, линии IRQ, DMA, области памяти, предотвращая совпадения и конфликты. PnP BIOS обычно обозначает BIOS с поддержкой такой настройки, однако настройка карт на азрличных шинах различается, и PnP BIOS на плате с шинами ISA/PCI, может уметь настраивать только PCI-карты, а для ISA потребуется поддержка со стороны ОС или отдельный настройщик. ATX: AT Extension (расширение AT) – стандарт корпуса и системной платы для настольных компьютеров. Корпус представляет собой доработанный вариант корпуса Slim; плата (стандартный размер – 305 x 244) располагается в нем длинной стороной вдоль задней стенки. Блок питания имеет приточную систему вентиляции, процессор устанавливается в непосредственной близости от него для минимизации длины питающих цепей и охлаждения от встроенного вентилятора (для мощных процессоров все же требуется собственный вентиля- тор). Некоторые блоки имеют автоматическую регулировку скорости вращения вентилятора в зависимости от температуры. Виды материнских плат: • Устаревшие: Baby-AT; Mini-ATX; полноразмерная плата AT; LPX. • Современные: АТХ; microATX; Flex-АТХ; NLX; WTX, CEB. • Внедряемые: Mini-ITX и Nano-ITX; Pico-ITX; BTX, MicroBTX и PicoBTX Baby-AT microATX Nano-ITX Центральный процессор (ЦП, или центральное процессорное устройство — ЦПУ; англ. central processing unit, сокращенно — CPU, дословно — центральное обрабатывающее устройство) — электронный блок либо микросхема — исполнитель машинных инструкций (кода программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором. Конструктивно процессор состоит из ячеек, похожих на ячейки оперативной памяти, но в этих ячейках данные могут не только храниться, но и изменяться. Внутренние ячейки процессора называют: регистрами. Важно также отметить, что данные, попавшие в некоторые регистры, рассматриваются не как данные, а как команды, управляющие обработкой данных в других регистрах. Главными харектиристиками ЦПУ являются: тактовая частота, производительность, энергопотребление, используемый техпроцесс (для микропроцессоров) и архитектура. Тактовая частота - количество выполняемых операций в секунду. Производительность - количество команд, выполняемых за такт. Технологический процесс - каким образом создан процессор (материалы и технология). Архитектура - совместимость с определённым набором команд (например, процессоры, совместимые с командами Intel х86) их структуры (например, систем адресации или организации регистровой памяти) и способа исполнения (например, счетчик команд). Основные марки процессоров: AMD и Intel 28 Современный модельный ряд процессоров Intel для ПК довольно широк и включает несколько семейств: • Intel Core 2 Duo и Intel Core 2 Extreme; • Intel Pentium Processor Extreme Edition; • Intel Pentium D; • Intel Pentium 4; • Intel Celeron D. Конечно, флагманским семейством процессоров Intel является именно Intel Core 2 Duo, на которое в настоящее время имеет смысл ориентироваться, если, конечно, речь не идет о бюджетных или офисных ПК начального уровня. Модельный ряд процессоров AMD, ориентированных на настольные компьютеры, включает следующие серии: • AMD Athlon 64 FX; • AMD Athlon 64 X2 Dual-Core; • AMD Athlon 64; • AMD Sempron. Жесткий диск — основное устройство для долговременного хранения больших объемов данных и программ. На самом деле это не один диск, а группа дисков, имеющих магнитное покрытие и вращающихся с высокой скоростью. Таким образом, этот «диск» имеет не две поверхности, как должно быть у обычного плоского диска, а 2n поверхностей, где n - число отдельных дисков в группе Управление работой жесткого диска выполняет специальное аппаратно- логическое устройство — контроллер жесткого диска. В прошлом оно представляло собой отдельную дочернюю плату, которую подключали к одному из свободных слотов материнской платы. В настоящее время функции контроллеров дисков выполняют микросхемы, входящие в микропроцессорный комплект (чипсет), хотя некоторые виды высокопроизводительных контроллеров жестких дисков по-прежнему поставляются на отдельной плате. К основным параметрам жестких дисков относятся емкость и производительность. Емкость дисков зависит от технологии их изготовления. В настоящее время большинство производителей жестких дисков используют изобретенную компанией ‚БМ технологию с использованием гигантского магниторезистивного эффекта (GMR-Giant Magnetic Resistance ). Теоретический предел емкости одной пластины, исполненной по этой технологии, составляет порядка 80 Гбайт. В настоящее время достигнут технологический уровень б Гбайт на пластину, но развитие продолжается. Кроме скорости передачи данных с производительностью диска напрямую связан параметр среднего времени доступа. Он определяет интервал времени, необходимый для поиска нужных данных, и зависит от скорости вращения диска. Технологии записи данных Принцип работы жёстких дисков похож на работу магнитофонов. Рабочая поверхность диска движется относительно считывающей головки (например, в виде катушки индуктивности с зазором в магнитопроводе). При подаче переменного электрического тока (при записи) на катушку головки возникающее переменное магнитное поле из зазора головки воздействует на ферромагнетик поверхности диска и изменяет направление вектора намагниченности доменов в зависимости от величины сигнала. При считывании перемещение доменов у зазора головки приводит к изменению магнитного потока в магнитопроводе головки, что приводит к возникновению переменного электрического сигнала в катушке из-за эффекта электромагнитной индукции. В последнее время для считывания применяют магниторезистивный эффект и используют в дисках магниторезистивные головки. В них изменение магнитного поля приводит к изменению сопротивления, в зависимости от изменения напряжённости магнитного поля. Подобные головки 29 позволяют увеличить вероятность достоверности считывания информации (особенно при больших плотностях записи информации). Метод продольной записи Биты информации записываются с помощью маленькой головки, которая, проходя над поверхностью вращающегося диска, намагничивает миллиарды горизонтальных дискретных областей — доменов. При этом вектор намагниченности домена расположен продольно, то есть параллельно поверхности диска. Каждая из этих областей является логическим нулём или единицей, в зависимости от намагниченности. Максимально достижимая при использовании данного метода плотность записи составляет около 23 Гбит/см². В настоящее время происходит постепенное вытеснение данного метода методом перпендикулярной записи. Метод перпендикулярной записи Метод перпендикулярной записи — это технология, при которой биты информации сохраняются в вертикальных доменах. Это позволяет использовать более сильные магнитные поля и снизить площадь материала, необходимую для записи 1 бита. Плотность записи у современных образцов — 400 Гбит на кв/дюйм. Метод тепловой магнитной записи Метод тепловой магнитной записи (англ. Heat-assisted magnetic recording, HAMR) на данный момент самый перспективный из существующих, сейчас он активно разрабатывается. При использовании этого метода используется точечный подогрев диска, который позволяет головке намагничивать очень мелкие области его поверхности. После того, как диск охлаждается, намагниченность «закрепляется». На рынке ЖД данного типа пока не представлены, есть лишь экспериментальные образцы, плотность записи которых 150 Гбит/см². Разработка HAMRтехнологий ведется уже довольно давно, однако эксперты до сих пор расходятся в оценках максимальной плотности записи. Дисковод компакт-дисков CD-ROM - аббревиатура СD-RОМ(Compact Disk Read-Only Memory) переводится на русский язык как постоянное запоминающее устройство на основе компакт-диска. Принцип действия этого устройства состоит в считывании числовых данных с помощью лазерного луча, отражающегося от поверхности диска. Цифровая запись на компакт-диске отличается от записи на магнитных дисках очень высокой плотностью, и стандартный компакт-диск может хранить примерно 650 900 Мбайт данных. Большие объемы данных характерны для мультимедийной информации (графика, музыка, видео), поэтому дисководы СD-RОМ относят: к аппаратным средствам мультимедиа. Программные продукты; распространяемые на лазерных дисках, называют мультимедийными изданиями. Сегодня мультимедийные издания завоевывают все более прочное место среди других традиционных видов изданий. Так, например, существуют книги, альбомы, энциклопедии и даже периодические издания (электронные журналы), выпускаемые на СD-RОМ Основным недостатком стандартных дисководов СD-RОМ является невозможность записи данных, но параллельно с ними существуют и устройства однократной записи СD-R (Compact Disk Recorder) и устройства многократной записи СD-RW Основным параметром дисководов СD-RОМ является скорость чтения данных. Она измеряется в кратных долях. За единицу измерения принята скорость чтения в первых серийных образцах, составлявшая 150 Кбайт/с. Таким образом, дисковод с удвоенной скоростью чтения обеспечивает производительность 300 Кбайт/с, с учетверенной скоростью — 600 Кбайт/с и т. д. В настоящее время наибольшее распространение имеют устройства чтения СD-RОМ с производительностью 32х52х. Современные образцы устройств однократной записи имеют производительность 4х-40х, а устройств многократной записи— до 8х. Видеокарта (видеоадаптер) 30 Совместно с монитором видеокарта образует видеоподсистему персонального компьютера. Видеокарта не всегда была компонентом ПК. На заре развития персональной вычислительной техники в общей области оперативной памяти существовала небольшая выделенная экранная область памяти, в которую процессор заносил данные, изображении. Специальный контроллер экрана считывал данные об яркости отдельных точек экрана из ячеек памяти этой области и в соответствии с ними управлял разверткой горизонтального луча электронной пушки монитора. С переходом от черно-белых мониторов к цветным и с увеличением разрешения экрана (количества точек по вертикали и горизонтали) области видеопамяти стало недостаточно для хранения графических данных, а процессор перестал справляться с построением и обновлением изображения. Тогда и произошло выделение всех операций, связанных с управлением экраном, в отдельный блок, получивший название видеоадаптер. Физически видеоадаптер выполнен в виде отдельной дочерней платы, которая вставляется в один из слотов материнской платы и называется видеокартой. Видеоадаптер взял на себя функции видеоконтроллера, видеопроцессора и видеопамяти. Основные характеристики видеокарт: Тактовая частота видеочипа - рабочая частота GPU измеряется в мегагерцах, в миллионах тактов в секунду. Эта характеристика прямо влияет на производительность видеочипа, чем она выше, тем больший объем работы чип может выполнить в единицу времени, обработать большее количество вершин и пикселей. Скорость заполнения (филлрейт) - скорость заполнения показывает, с какой скоростью видеочип способен отрисовывать пиксели. Различают два типа филлрейта: пиксельный (pixel fill rate) и текстурный (texel rate). Пиксельная скорость заполнения показывает скорость отрисовки пикселей на экране и зависит от рабочей частоты и количества блоков ROP (блоков операций растеризации и блендинга), а текстурная - это скорость выборки текстурных данных, которая зависит от частоты работы и количества текстурных блоков. Количество блоков пиксельных шейдеров (или пиксельных процессоров) - пиксельные процессоры - это одни из главных блоков видеочипа, которые выполняют специальные программы, известные также как пиксельные шейдеры. По числу блоков пиксельных шейдеров и их частоте можно сравнивать шейдерную производительность разных видеокарт. Так как большая часть игр сейчас ограничена производительностью исполнения пиксельных шейдеров, то количество этих блоков очень важно! Количество блоков вершинных шейдеров (или вершинных процессоров) - аналогично предыдущему пункту, эти блоки выполняют программы шейдеров, но уже вершинных. Данная характеристика важна для некоторых игр, но не так явно, как предыдущая, так как даже современными играми блоки вершинных шейдеров почти никогда не бывают загружены даже наполовину. И, так как производители балансируют количество разных блоков, не позволяя возникнуть большому перекосу в распределении сил, количеством вершинных процессоров при выборе видеокарты вполне можно пренебречь, учитывая их только при прочих равных характеристиках. Количество унифицированных шейдерных блоков (или универсальных процессоров) унифицированные шейдерные блоки объединяют два типа перечисленных выше блоков, они могут исполнять как вершинные, так и пиксельные программы (а также геометрические, которые появились в DirectX 10). Блоки текстурирования (TMU) - эти блоки работают совместно с шейдерными процессорами всех указанных типов, ими осуществляется выборка и фильтрация текстурных данных, необходимых для построения сцены. Число текстурных блоков в видеочипе определяет текстурную производительность, скорость выборки из текстур. И хотя в последнее время большая часть расчетов осуществляется блоками шейдеров, нагрузка на блоки TMU до сих пор довольно велика, и с учетом упора некоторых игр в производительность блоков текстурирования, можно сказать, что количество блоков TMU и соответствующая высокая текстурная производительность являются одними из важнейших параметров видеочипов. 31 Блоки операций растеризации (ROP) - блоки растеризации осуществляют операции записи рассчитанных видеокартой пикселей в буферы и операции их смешивания (блендинга). Как мы уже отмечали выше, производительность блоков ROP влияет на филлрейт и это - одна из основных характеристик видеокарт всех времен. И хотя в последнее время её значение несколько снизилось, еще попадаются случаи, когда производительность приложений сильно зависит от скорости и количества блоков ROP. Нужно еще раз отметить, что современные видеочипы нельзя оценивать только числом разнообразных блоков и их частотой. Каждая серия GPU использует новую архитектуру, в которой исполнительные блоки сильно отличаются от старых, да и соотношение количества разных блоков может отличаться. Объем видеопамяти - собственная память используется видеочипами для хранения необходимых данных: текстур, вершин, буферов и т.п. Казалось бы, что чем её больше - тем лучше. Но не всё так просто, оценка мощности видеокарты по объему видеопамяти - это наиболее распространенная ошибка! Значение объема памяти неопытные пользователи переоценивают чаще всего, используя его для сравнения разных моделей видеокарт. Оно и понятно — раз параметр, указываемый во всех источниках одним из первых, в два раза больше, то и скорость у решения должна быть в два раза выше, считают они. Реальность же от этого мифа отличается тем, что рост производительности растет до определенного объема и после его достижения попросту останавливается. Ширина шины памяти - ширина шины памяти является важнейшей характеристикой, влияющей на пропускную способность памяти (ПСП). Большая ширина позволяет передавать большее количество информации из видеопамяти в GPU и обратно в единицу времени, что положительно влияет на производительность в большинстве случаев. Теоретически, по 128-битной шине можно передать в два раза больше данных за такт, чем по 64-битной. На практике разница в скорости рендеринга хоть и не достигает двух раз, но весьма близка к этому во многих случаях с упором в пропускную способность видеопамяти. Современные видеокарты используют разную ширину шины: от 64 до 512 бит, в зависимости от ценового диапазона и времени выпуска конкретной модели GPU. Для low-end видеокарт чаще всего используется 64- и (значительно реже) 128-бит, для среднего уровня 128-бит и иногда 256-бит, ну а high-end видеокарты используют шины от 256 до 512 бит шириной. Частота видеопамяти - еще одним параметром, влияющим на пропускную способность памяти, является её тактовая частота. А как мы поняли выше, повышение ПСП прямо влияет на производительность видеокарты в 3D приложениях. Частота шины памяти на современных видеокартах бывает от 500 МГц до 2000 МГц, то есть может отличаться в четыре раза. И так как ПСП зависит и от частоты памяти и от ширины ее шины, то память с 256-битной шиной, работающая на частоте 1000 МГц, будет иметь большую пропускную способность, по сравнению с 1400 МГц памятью с 128-битной шиной. Типы памяти - На видеокарты устанавливают несколько различных типов памяти. Старую SDR память с одинарной скоростью передачи мы рассматривать не будем, её уже почти нигде не встретишь. Все современные типы памяти DDR и GDDR позволяют передавать в два раза большее количество данных на той же тактовой частоте за единицу времени, поэтому цифру её рабочей частоты зачастую указывают удвоенной (умножают на два). Так, если для DDR памяти указана частота 1400 МГц, то эта память работает на физической частоте в 700 МГц, но указывают так называемую «эффективную» частоту, то есть ту, на которой должна работать SDR память, чтобы обеспечить такую же пропускную способность. Когда мы говорим о видеокартах, то в основном имеем в виду, хотя разновидностей, как данных моделей так и других, огромное колличество: 32 NVIDIA GeForce ATI Radeon Звуковая карта явилась одним из наиболее поздних усовершенствований персонального компьютера. Она подключается к одному из слотов материнской платы в виде дочерней карты и выполняет вычислительные операции, связанные с обработкой звука, речи, музыки. Звук воспроизводится через внешние звуковые колонки, подключаемые к выходу звуковой карты. Специальный разъем позволяет отправить звуковой сигнал на внешний усилитель. Имеется также разъем для подключения микрофона, что позволяет записывать речь или музыку и сохранять их на жестком диске для последующей обработки и использования. Основным параметром звуковой карты является разрядность, определяющая количество битов, используемых при преобразовании сигналов из аналоговой в цифровую форму и наоборот. Чем выше разрядность, тем меньше погрешность, связанная с оцифровкой, тем выше качество звучания. Минимальным требованием сегодняшнего дня являются 16 разрядов, а наибольшее распространение имеют 32-разрядные и 64-разрядные устройства. В области воспроизведения звука наиболее сложно обстоит дело со стандартизацией. Отсутствие единых централизованных стандартов привело к тому, что ряд фирм, занимающихся выпуском звукового оборудования, де-факто ввели в широкое использование свои внутрифирменные стандарты. Технические термины Децибел дБ (dB) Логарифмическая единица измерения силы звука. Логарифмическая единица измерения относительного уровня сигнала (отношения двух сигналов). (Вообще, эта величина показывает на сколько громко воспроизводится звук). Отношение Сигнал/Шум (S/N) Отношение уровня сигнала к шуму, в импульсных помехах обычно имеется в виду значения амплитуды, а в случайных помехах имеется в виду среднеквадратичные несущие значения (RMS). (Измерение того, насколько "чистый" звук.) Суммарный коэффициент гармоник (СКГ) (THD) Мера гармонических искажений, получаемая отношением мощности всех гармоник имеющихся на выходе системы, которые происходят из нелинейности, в то время, когда частотный синусоидальный сигнал определенной мощности поступает на вход системы передачи, к мощности основной частоты, получаемой на выходе системы. (Мера, того, как точно воспроизводится звук.) Диапазон частот Верхние и нижние действующие или рабочие диапазоны частот прибора. (На сколько высоко и низко (исчисляется в верхах и низах (басы)) может без потерь воспроизводиться звук). Производителей же данного оборудования огромное количество, поэтому мы не имеем возможности выделить среди них ведущие или особо отличающиеся. Оперативная память (RAM–Random Access Memory) – это массив кристаллических ячеек, способных хранить данные. Существует много различных типов оперативной памяти, но с точки зрения физического принципа действия различают динамическую память (DRAM) и статическую память (SRAM) Конструктивно модули памяти имеют 2 вида – однорядные (SIMM – модули) и двухрядные (DIMM – модули). Основные характеристики модулей ОП являются емкость памяти и время доступа. 33 SIMM – модули проставляются объемами 4,8,16,32 Мбт, а DIMM – модули – 16,32, 64, 128 Мбт. Время доступа к SIMM – модулям 50-70 Нс. Время доступа для DIMM – модулей 7-10 Нс. Преподаватель делает выводы по четвертому учебному вопросу: 5. Основы построения периферийных устройств ПК 5.1. Классификация устройств ввода-вывода данных Для автоматизации ввода данных в ЭВМ используются различные технологии и технические средства. Отчеты, первичные и другие документы могут передаваться на дискетах, по электронной почте или через защищенный канал. Например, предприятия передают в некоторые налоговые инспекции зашифрованные файлы-отчеты с электронной цифровой подписью (ЭЦП), что исключает ручной ввод налоговыми инспекторами данных в ЭВМ. По каналам связи предприятия передают в банки платежные поручения с использованием ЭЦП, освобождая операционистов от набора данных с клавиатуры. Автоматизация ввода данных в ЭВМ достигается при использовании технологии штрихового кодирования. На счетах, платежных документах, выставляемых предприятиями, организациями за услуги, работы физическим и юридическим лицам печатается штрих-код, содержащий необходимую информацию (например, на счетах за коммунальные услуги). После оплаты и возврата в организацию он считывается сканером штрих-кодов. Поставщики товаров наряду с накладными, счетами-фактурами могут предоставлять покупателям соответствующие файлы на дискетах или/и передавать по каналам связи, с использованием XML-стандарта для обмена коммерческой информацией. Этот стандарт описывает структуру XML-документов (каталогов товаров, накладных и т.п.). Используя XML-стандарт, разработчик программного комплекса может написать свои модули импорта-экспорта данных для обеспечения взаимодействия с другими автоматизированными информационными системами. Существенно сократить объем трудоемких учетно-технических работ по вводу данных в ЭВМ позволяют Интернет-технологии, в т.ч. заказ оптовым покупателем товаров на Web-сайте поставщика с автоматическим формированием и пересылкой в электронном виде счета, накладной, счет-фактуры. Современные информационные технологии позволяют не только экономить время квалифицированных специалистов, но и существенно сократить число ошибок, возникающих при ручном вводе данных в ЭВМ. Автоматизированный ввод в ЭВМ текста, таблиц, рисунков, документов и т.п. производится с помощью различных моделей сканеров. Сканер выполняет преобразование 34 изображений и текста с бумаги в электронный (цифровой) вид для последующей обработки на компьютере. Различают монохромные и цветные сканеры – ручные, листопротяжные, планшетные, барабанные. Сканеры имеют формат от 100х300 мм (ручные) до А0 (841х1189 мм), разрешение от 100 (ручные) до 5000 точек/дюйм, скорость сканирования от 1–2 до 100 и более страниц в минуту. Наиболее широко используются планшетные сканеры формата А4 (210х297 мм) с разрешением 600 dpi (точек на дюйм) и выше, скоростью сканирования 3–4 страницы в минуту. Сканер и специальная программа оптического распознавания текста обеспечивают бесклавиатурный (автоматический) ввод в ЭВМ данных с унифицированных документов, к которым относятся, например, платежные поручения, налоговые декларации, страховые анкеты. Расположение полей реквизитов этих документов на листе бумаги форматов А5, А4, установлены с точностью до мм. Технология автоматического считывания данных с платежных документов широко используется в банках. В формах счета-фактуры, накладной и других первичных документов определен состав реквизитов, но точное (до мм) их расположение на листе не установлено. Это затрудняет использование технологии автоматического сканирования данных с подобных документов. Терминалы биометрического контроля доступа (устройства идентификации личности по отпечаткам пальцев) применяются для идентификации: владельцев пластиковых карточек, пользователей программ и баз данных, клиентов банков, персонала организаций, предприятий. Терминалы сбора данных – это портативные мобильные компьютеры, имеющие встроенный сканер штрих-кодов (дальность считывания до 90 см), клавиатуру и ЖК дисплей. Они используются для быстрого и точного сбора информации о материалах, комплектующих, товарах и последующей передачи ее в компьютер через интерфейс RS232, инфракрасный порт или по радиоканалу. Терминалы сбора данных отличаются объемом памяти, типом встроенного сканера, размером дисплея, разным количеством выполняемых функций, условиями эксплуатации. Используются в процессах приема, расхода, перемещения, инвентаризации товарно-материальных ценностей. Терминал может хранить справочник товаров для анализа собираемой информации в автономном режиме. В комплекте с терминалами поставляется программное обеспечение, позволяющее подключить их к программе учета товаров. Для автоматизации учета и контроля поставок, хранения, продажи товаров, совершенствования логистики начали использоваться «интеллектуальные ярлыки», создаваемые с применением технологии идентификации по радиосигналу (RFID). Идентификаторы RFID встраиваются, например, в ярлыки для одежды, куда впечатывается «антенна» и полупроводниковая микросхема. Хранится информация о цвете, количестве комплектов и размерах одежды, дате её выпуска. Информация считывается с помощью специальных устройств. В АИС предприятий, организаций для печати первичных документов, отчетности и другой экономической информации используются в основном лазерные монохромные принтеры и матричные (игольчатые ударного действия). Струйные принтеры применяются для печати 35 товарных, платежных документов реже, в т.ч. из-за относительно высокой стоимости расходных материалов. В системах массового обслуживания (банках, гостиницах, ресторанах и т.п.), в кассах для печати чеков, счетов, билетов, квитанций используются специализированные матричные и термопринтеры сервис-печати. В магазинах применяются принтеры этикеток с прямой термопечатью и с термопереносом красящего вещества (термотрансферные принтеры). На товарные этикетки можно наносить текстовую, графическую информацию, включая штрих-код. Различают персональные, офисные и высокоскоростные сетевые принтеры. Персональный принтер предназначен для вывода данных на печать с одного компьютера, офисный – с нескольких, сетевой – с любого компьютера, подключенного к ЛВС. Например, для нескольких персональных компьютеров отдела, объединенных в сеть, в зависимости от объема одновременно выводимой на печать информации (документов, отчетов и т.п.) может быть использован один офисный или сетевой лазерный принтер. Скорость печати монохромных лазерных принтеров: персональных – 6–8, офисных – 10–16, сетевых – 20 страниц в минуту и выше. Скорость печати лазерных принтеров всех классов постоянно возрастает и, например, для сетевых принтеров составляет несколько десятков страниц в минуту. Для печати многоэкземплярных первичных документов, больших аналитических таблиц важны следующие характеристики матричных принтеров: скорость черновой (200–450 зн./с) и качественной (50–100 зн./с) печати, печать на бумаге формата А3 (297 х 420 мм – широкий принтер), число одновременно печатаемых копий под копирку (до 4–5), емкость буферной памяти, ресурс печатающей головки (100–200 млн. знаков), плотность печати (10, 12, 15, 17, 20 знаков на дюйм), срок службы. Для высокоскоростной печати используются линейно-матричные принтеры, в т.ч. напольные (скорость печати до 1500 линий в минуту). Характеристики монохромных лазерных принтеров: максимальная месячная нагрузка 3– 15 и более тыс. страниц, скорость печати 6–20 и более страниц в мин., объем памяти 4–8 и более Мбайт, разрешение 600 х 600 и более точек на дюйм, цена печати страницы 1–3 цента. Цена печати страницы на различных моделях цветных лазерных принтеров составляет от 6 до 20 центов. Основные факторы, учитываемые при выборе лазерных принтеров: соответствие решаемым задачам (выполняемым работам), формат, скорость, качество печати, качество (плотность) используемой бумаги, ресурс, стоимость расходных материалов, объем памяти, совместимость с операционными системами. Для отображения информации используются мониторы на электронно-лучевой трубке (ЭЛТ) и жидкокристаллические (ЖК, LCD – мониторы). В литературе, периодической печати, нормативных документах устройства отображения информации называют также видеомониторами, дисплеями, видеодисплейными терминалами. Монитор – один из немногих компонентов компьютерных систем, с которым человек взаимодействует непосредственно. При работе за компьютером основная нагрузка приходится на 36 глаза. Экранное изображение, в отличие от естественного, излучает, а не отражает свет, мелькает, а не остается статичным, текст менее контрастен по сравнению с печатным. Работа за монитором, особенно невысокого качества, приводит к быстрому утомлению. Человек больше всего устает при вводе данных с товарных, платежных и других документов из-за того, что приходится перемещать взгляд с экрана монитора на клавиатуру и документ. 5.2. Устройства ввода данных. Для автоматизации ввода данных в ЭВМ используются различные технологии и технические средства. Отчеты, первичные и другие документы могут передаваться на дискетах, по электронной почте или через защищенный канал. Например, предприятия передают в некоторые налоговые инспекции зашифрованные файлы-отчеты с электронной цифровой подписью (ЭЦП), что исключает ручной ввод налоговыми инспекторами данных в ЭВМ. По каналам связи предприятия передают в банки платежные поручения с использованием ЭЦП, освобождая операционистов от набора данных с клавиатуры. Автоматизация ввода данных в ЭВМ достигается при использовании технологии штрихового кодирования. На счетах, платежных документах, выставляемых предприятиями, организациями за услуги, работы физическим и юридическим лицам печатается штрих-код, содержащий необходимую информацию (например, на счетах за коммунальные услуги). После оплаты и возврата в организацию он считывается сканером штрих-кодов. Поставщики товаров наряду с накладными, счетами-фактурами могут предоставлять покупателям соответствующие файлы на дискетах или/и передавать по каналам связи, с использованием XML-стандарта для обмена коммерческой информацией. Этот стандарт описывает структуру XML-документов (каталогов товаров, накладных и т.п.). Используя XML-стандарт, разработчик программного комплекса может написать свои модули импорта-экспорта данных для обеспечения взаимодействия с другими автоматизированными информационными системами. Существенно сократить объем трудоемких учетно-технических работ по вводу данных в ЭВМ позволяют Интернет-технологии, в т.ч. заказ оптовым покупателем товаров на Web-сайте поставщика с автоматическим формированием и пересылкой в электронном виде счета, накладной, счет-фактуры. Современные информационные технологии позволяют не только экономить время квалифицированных специалистов, но и существенно сократить число ошибок, возникающих при ручном вводе данных в ЭВМ. Для автоматизации сбора, регистрации, ввода данных в ЭВМ применяются контрольно-кассовые машины, штрих-сканеры, сканеры, терминалы сбора данных и другие технические средства. 37 Например, для автоматизации регистрации данных о продаже каждого товара и расчетов с покупателями в магазинах используются контрольно-кассовые машины (ККМ). Активная системная ККМ, представляющая собой персональный компьютер в промышленном исполнении с монитором кассира и табло покупателя, клавиатурой, устройством считывания платежных карт, принтером чеков, модулем фискальной памяти и денежным ящиком называется POS-терминалом. POS (point of sale – точка продажи) – обозначение периферийных компьютерных средств для торговли. Могут применяться только те отечественные и зарубежные модели POS-терминалов, которые вместе со специализированными кассовыми программами включены в Государственный реестр ККМ. POS-терминал включает процессор, оперативную память, ЖМД, дисковод ГМД, модуль фискальной памяти, монитор кассира, табло покупателя, специализированную клавиатуру, считыватель (ридер) платежных (магнитных) карт, матричный принтер (или термопринтер) кассовых чеков, порт для сканера штрих-кодов, сетевой адаптер (для работы в ЛВС). Для автоматизации работы продавцов-кассиров, регистрации данных о продаже товаров используются также ПОС-системы на базе фискальных регистраторов. В состав ПОС-системы входит системный блок персонального компьютера, фискальный регистратор, монитор продавцакассира, табло покупателя, клавиатура со считывателем платежных карт. Одно из отличий ПОСсистемы от POS-терминала состоит в том, что модуль фискальной памяти находится в печатающем устройстве (в фискальном регистраторе). У POS-терминала модуль фискальной памяти находится внутри корпуса компьютерного блока. Для ПОС-систем не требуется сертификация программ, т.к. необходимое для фискального учета программное обеспечение записано во внутренней памяти печатающего устройства – фискального регистратора. Сканеры штрих-кода (штрих-сканеры) предназначены для считывания штрихового кода, нанесенного на упаковку товара, и передачи его в POS-терминал, где хранится наименование и цена товара. Используются сканеры с различной технологией, дальностью, скоростью считывания штрих-кода, в т.ч. ручные светодиодные (контактные CCD) и лазерные, проекционные и встраиваемые лазерные, комбинированные лазерные (ручной/стационарный). Сканеры штрих-кода обеспечивают автоматическое распознавание стандартных форматов штрихового кода, в т.ч. EAN13, используемого для товаров. Большинство светодиодных сканеров позволяют считывать штрихкод с небольшого расстояния (от 1 см до 15 см). Лазерные сканеры считывают штрих-код с расстояния до 30 см, обеспечивают высокую скорость и качество считывания. Автоматизированный ввод в ЭВМ текста, таблиц, рисунков, документов и т.п. производится с помощью различных моделей сканеров. Сканер выполняет преобразование изображений и текста с бумаги в электронный (цифровой) вид для последующей обработки на компьютере. Различают монохромные и цветные сканеры – ручные, листопротяжные, планшетные, барабанные. Сканеры имеют формат от 100х300 мм (ручные) до А0 (841х1189 мм), разрешение от 100 (ручные) до 5000 точек/дюйм, скорость сканирования от 1–2 до 100 и более страниц в минуту. 38 Наиболее широко используются планшетные сканеры формата А4 (210х297 мм) с разрешением 600 dpi (точек на дюйм) и выше, скоростью сканирования 3–4 страницы в минуту. Сканер и специальная программа оптического распознавания текста обеспечивают бесклавиатурный (автоматический) ввод в ЭВМ данных с унифицированных документов, к которым относятся, например, платежные поручения, налоговые декларации, страховые анкеты. Расположение полей реквизитов этих документов на листе бумаги форматов А5, А4, установлены с точностью до мм. Технология автоматического считывания данных с платежных документов широко используется в банках. В формах счета-фактуры, накладной и других первичных документов определен состав реквизитов, но точное (до мм) их расположение на листе не установлено. Это затрудняет использование технологии автоматического сканирования данных с подобных документов. Терминалы биометрического контроля доступа (устройства идентификации личности по отпечаткам пальцев) применяются для идентификации: владельцев пластиковых карточек, пользователей программ и баз данных, клиентов банков, персонала организаций, предприятий. Терминалы сбора данных – это портативные мобильные компьютеры, имеющие встроенный сканер штрих-кодов (дальность считывания до 90 см), клавиатуру и ЖК дисплей. Они используются для быстрого и точного сбора информации о материалах, комплектующих, товарах и последующей передачи ее в компьютер через интерфейс RS232, инфракрасный порт или по радиоканалу. Терминалы сбора данных отличаются объемом памяти, типом встроенного сканера, размером дисплея, разным количеством выполняемых функций, условиями эксплуатации. Используются в процессах приема, расхода, перемещения, инвентаризации товарно-материальных ценностей. Терминал может хранить справочник товаров для анализа собираемой информации в автономном режиме. В комплекте с терминалами поставляется программное обеспечение, позволяющее подключить их к программе учета товаров. Для автоматизации учета и контроля поставок, хранения, продажи товаров, совершенствования логистики начали использоваться «интеллектуальные ярлыки», создаваемые с применением технологии идентификации по радиосигналу (RFID). Идентификаторы RFID встраиваются, например, в ярлыки для одежды, куда впечатывается «антенна» и полупроводниковая микросхема. Хранится информация о цвете, количестве комплектов и размерах одежды, дате её выпуска. Информация считывается с помощью специальных устройств. 5.3 Устройства вывода данных В АИС предприятий, организаций для печати первичных документов, отчетности и другой экономической информации используются в основном лазерные монохромные принтеры и матричные (игольчатые ударного действия). Струйные принтеры применяются для печати 39 товарных, платежных документов реже, в т.ч. из-за относительно высокой стоимости расходных материалов. В системах массового обслуживания (банках, гостиницах, ресторанах и т.п.), в кассах для печати чеков, счетов, билетов, квитанций используются специализированные матричные и термопринтеры сервис-печати. В магазинах применяются принтеры этикеток с прямой термопечатью и с термопереносом красящего вещества (термотрансферные принтеры). На товарные этикетки можно наносить текстовую, графическую информацию, включая штрих-код. Различают персональные, офисные и высокоскоростные сетевые принтеры. Персональный принтер предназначен для вывода данных на печать с одного компьютера, офисный – с нескольких, сетевой – с любого компьютера, подключенного к ЛВС. Например, для нескольких персональных компьютеров отдела, объединенных в сеть, в зависимости от объема одновременно выводимой на печать информации (документов, отчетов и т.п.) может быть использован один офисный или сетевой лазерный принтер. Скорость печати монохромных лазерных принтеров: персональных – 6–8, офисных – 10–16, сетевых – 20 страниц в минуту и выше. Скорость печати лазерных принтеров всех классов постоянно возрастает и, например, для сетевых принтеров составляет несколько десятков страниц в минуту. Для печати многоэкземплярных первичных документов, больших аналитических таблиц важны следующие характеристики матричных принтеров: скорость черновой (200–450 зн./с) и качественной (50–100 зн./с) печати, печать на бумаге формата А3 (297 х 420 мм – широкий принтер), число одновременно печатаемых копий под копирку (до 4–5), емкость буферной памяти, ресурс печатающей головки (100–200 млн. знаков), плотность печати (10, 12, 15, 17, 20 знаков на дюйм), срок службы. Для высокоскоростной печати используются линейно-матричные принтеры, в т.ч. напольные (скорость печати до 1500 линий в минуту). Характеристики монохромных лазерных принтеров: максимальная месячная нагрузка 3– 15 и более тыс. страниц, скорость печати 6–20 и более страниц в мин., объем памяти 4–8 и более Мбайт, разрешение 600 х 600 и более точек на дюйм, цена печати страницы 1–3 цента. Цена печати страницы на различных моделях цветных лазерных принтеров составляет от 6 до 20 центов. Основные факторы, учитываемые при выборе лазерных принтеров: соответствие решаемым задачам (выполняемым работам), формат, скорость, качество печати, качество (плотность) используемой бумаги, ресурс, стоимость расходных материалов, объем памяти, совместимость с операционными системами. Для отображения информации используются мониторы на электронно-лучевой трубке (ЭЛТ) и жидкокристаллические (ЖК, LCD – мониторы). В литературе, периодической печати, нормативных документах устройства отображения информации называют также видеомониторами, дисплеями, видеодисплейными терминалами. Монитор – один из немногих компонентов компьютерных систем, с которым человек взаимодействует непосредственно. При работе за компьютером основная нагрузка приходится на 40 глаза. Экранное изображение, в отличие от естественного, излучает, а не отражает свет, мелькает, а не остается статичным, текст менее контрастен по сравнению с печатным. Работа за монитором, особенно невысокого качества, приводит к быстрому утомлению. Человек больше всего устает при вводе данных с товарных, платежных и других документов из-за того, что приходится перемещать взгляд с экрана монитора на клавиатуру и документ. Для решения экономических задач на предприятиях используют в основном ЭЛТ-мониторы 15, 17 дюймов. По мере снижения стоимости ЖК-мониторов ими комплектуются новые компьютеры. ЖК-мониторы занимают значительно меньше места, потребляют относительно мало электроэнергии (20–40 Вт по сравнению с 90–120 Вт 17-дюймового ЭЛТ-монитора), не имеют электромагнитного поля, характерного для ЭЛТ-мониторов. Следует отметить, что ЭЛТ-монитор позволяет изменять разрешение в широком диапазоне, ЖК-монитор может воспроизводить единственный вариант изображения, диапазон регулирования яркости и контраста у ЖК-монитора обычно меньше, чем у ЭЛТ-монитора, границы деталей на ЭЛТ смягчаются, на ЖК-мониторе они точные (видна пиксельная структура, а это утомляет зрение). ЭЛТ- и ЖК-мониторы должны иметь антибликовое покрытие, чтобы не видеть на экране свое отражение, блик от лампы и т.п. Для сравнения совокупной стоимости владения ЭЛТ- и ЖК-мониторами учитываются следующие факторы: закупочная стоимость, эргономика, расходы на электроэнергию, ремонт, вентиляцию и кондиционирование воздуха, амортизация. Основными критериями при выборе монитора, как и других технических средств, служат соотношение цена/качество, надежность, длительность гарантии, доступность сервиса. Основные характеристики мониторов и их расшифровка: 15", 17", 19", 21" 0.28; 0.26; 0.25; 0.24 1024 х 768, 1280 х 1024 – диагональ монитора в дюймах; – размер точки (зерна) в миллиметрах; – разрешение (количество точек–пикселей); MPR II, ТСО 92, ТСО 95, ТСО 99 – соответствие стандартам безопасности. Шведский стандарт безопасности MPR II регламентирует максимально допустимые величины излучения магнитного и электрического полей, а также методы их измерения. ТСО 92 регламентирует более низкие уровни излучений, чем MPR II. ТСО 95 обобщил требования не только к монитору, но и ко всему персональному компьютеру. Регламентированы, например, две стадии энергосбережения: на первой монитор автоматически переключается в режим ожидания с потреблением электроэнергии не более 30 Вт; на второй, если монитор и далее не активирован, он через некоторое время отключается, потребляя не более 8 Вт. Стандарт ТСО 99 по большинству показателей предъявляет более жесткие требования по сравнению с ТСО 95. Регламентируются минимально допустимые частоты регенерации (обновления изображения) в зависимости от используемого разрешения. Например, при диагонали монитора 15 дюймов частота регенерации 41 должна быть не менее 85 Гц, разрешение (в пикселях) не менее 800 х 600, для 17-дюймовых мониторов, соответственно, – 85 Гц и 1024 х 768. Персональные компьютеры, периферийные устройства (принтеры, сканеры, клавиатура, модемы внешние, устройства хранения информации, блоки бесперебойного питания и пр.), условия, организация работы с персональными компьютерами (рабочие места с использованием ПК) должны соответствовать требованиям санитарно-эпидемиологических правил и нормативов СанПиН 2.2.2/2.4.1430-03 «Гигиенические требования к персональным электронно- вычислительным машинам и организации работы», введенным в действие с 30 июня 2003 г. Для ПК и других технических средств установлены допустимые уровни электромагнитных полей, звукового давления и уровней звука (акустического шума), визуальные параметры устройств отображения информации (ВДТ), мощность экспозиционной дозы мягкого рентгеновского излучения ВДТ на ЭЛТ (не должна превышать 1мк3в/час (100 мкР/час) на расстоянии 0.05 м от экрана и корпуса ВДТ). Для дисплеев на ЭЛТ частота обновления изображения должна быть не менее 75 Гц при всех режимах разрешения экрана и не менее 60 Гц для дисплеев на плоских дискретных экранах (жидкокристаллических, плазменных и т.п.). Не допускается реализация и эксплуатация персональных компьютеров, не имеющих санитарно-эпидемиологического заключения. Соответствующие требования установлены к помещениям для работы с ПК, микроклимату, освещению, уровню электромагнитных полей на рабочих местах, оборудованных ПК, к организации и оборудованию рабочих мест с ПК, организации медицинского обслуживания пользователей ПК. Площадь на одно рабочее место пользователей ПК с ЭЛТ-мониторами должна составлять не менее 6 м2, с ЖК-мониторами – 4.5 м2. При использовании ПК с ЭЛТ-мониторами (без принтера, сканера), отвечающих требованиям международных стандартов безопасности компьютеров, с продолжительностью работы менее 4-х часов в день допускается минимальная площадь 4.5 м2 на одно рабочее место пользователя. При размещении рабочих мест с ПК расстояние между рабочими столами с видеомониторами (в направлении тыла поверхности одного видеомонитора и экрана другого видеомонитора) должно быть не менее 2.0 м, а расстояние между боковыми поверхностями видеомониторов – не менее 1.2 м. 5.4.Классификация устройств хранения данных Выпускаемые накопители информации представляют собой гамму запоминающих устройств с различным принципом действия физическими и технически эксплуатационными характеристиками. Основным свойством и назначением накопителей информации является ее хранение и воспроизведение. Запоминающие устройства принято делить на виды и категории в связи с их принципами функционирования, эксплуатационно-техническими, физическими, программными и др. характеристиками. Так, например, по принципам функционирования различают следующие виды устройств: электронные, магнитные, оптические и смешанные – 42 магнитооптические. Каждый тип устройств организован на основе соответствующей технологии хранения воспроизведения/записи цифровой информации. Поэтому, в связи с видом и техническим исполнением носителя информации различают: электронные, дисковые и ленточные устройства. 5.5.Принципы хранения информации на магнитных носителях 5.6.1. Магнитные дисковые накопители Принцип работы магнитных запоминающих устройств основаны на способах хранения информации с использованием магнитных свойств материалов. Как правило, магнитные запоминающие устройства состоят из собственно устройств чтения/записи информации и магнитного носителя, на который, непосредственно, осуществляется запись и с которого считывается информация. Магнитные запоминающие устройства принято делить на виды в связи с исполнением, физико-техническими характеристиками носителя информации и т.д. Наиболее часто различают: дисковые и ленточные устройства. Общая технология магнитных запоминающих устройств состоит в намагничивании переменным магнитным полем участков носителя и считывания информации, закодированной как области переменной намагниченности. Дисковые носители, как правило, намагничиваются вдоль концентрических полей – дорожек, расположенных по всей плоскости дискоидального вращающегося носителя. Запись производится в цифровом коде. Намагничивание достигается за счет создания переменного магнитного поля при помощи головок чтения/записи. Головки представляют собой два или более магнитных управляемых контура с сердечниками, на обмотки которых подается переменное напряжение. Изменение полярности напряжения вызывает изменение направления линий магнитной индукции магнитного поля и, при намагничивании носителя, означает смену значения бита информации с 1 на 0 или с 0 на 1. Дисковые устройства делят на гибкие (Floppy Disk) и жесткие (Hard Disk) накопители и носители. Основным свойством дисковых магнитных устройств является запись информации на носитель на концентрические замкнутые дорожки с использованием физического и логического цифрового кодирования информации. Плоский дисковый носитель вращается в процессе чтения/записи, чем и обеспечивается обслуживание всей концентрической дорожки, чтение и запись осуществляется при помощи магнитных головок чтения/записи, которые позиционируют по радиусу носителя с одной дорожки на другую. Дисковые устройства, как правило, используют метод записи называемый методом без возвращения к нулю с инверсией (Not Return Zero – NRZ). Запись по методу NRZ осуществляется путем изменения направления тока подмагничивания в обмотках головок чтения/записи, вызывающее обратное изменение полярности намагниченности сердечников магнитных головок и соответственно попеременное намагничивание участков носителя вдоль концентрических дорожек с течением времени и продвижением по окружности носителя. При этом, совершенно неважно, происходит ли перемена магнитного потока от 43 положительного направления к отрицательному или обратно, важен только сам факт перемены полярности. Для записи информации, как правило, используют различные методы кодирования информации, но все они предполагают использование в качестве информационного источника не само направление линий магнитной индукции элементарной намагниченной точки носителя, а изменение направления индукции в процессе продвижения по носителю вдоль концентрической дорожки с течением времени. Такой принцип требует жесткой синхронизации потока бит, что и достигается методами кодирования. Методы кодирования данных не влияют на перемены направления потока, а лишь задают последовательность их распределения во времени (способ синхронизации потока данных), так, чтобы, при считывании, эта последовательность могла быть преобразована к исходным данным. 5.6.2.Жесткие диски (винчестеры), физическое устройство. Накопители на жестких дисках объединяют в одном корпусе носитель (носители) и устройство чтения/записи, а также, нередко, и интерфейсную часть, называемую собственно контроллером жесткого диска. Типичной конструкцией жесткого диска является исполнение в виде одного устройства - камеры, внутри которой находится один или более дисковых носителей насаженных на один шпиндель и блок головок чтения/записи с их общим приводящим механизмом. Обычно, рядом с камерой носителей и головок располагаются схемы управления головками, дисками и, часто, интерфейсная часть и/или контроллер. На интерфейсной карте устройства располагается собственно интерфейс дискового устройства, а контроллер с его интерфейсом располагается на самом устройстве. С интерфейсным адаптером схемы накопителя соединяются при помощи комплекта шлейфов. Информация заносится на концентрические дорожки, равномерно распределенные по всему носителю. В случае большего, чем один диск, числа носителей все дорожки, находящиеся одна под другой, называются цилиндром. Операции чтения/записи производятся подряд над всеми дорожками цилиндра, после чего головки перемещаются на новую позицию. Герметичная камера предохраняет носители не только от проникновения механических частиц пыли, но и от воздействия электромагнитных полей. Необходимо заметить, что камера не является абсолютно герметичной т.к. соединяется с окружающей атмосферой при помощи специального фильтра, уравнивающего давление внутри и снаружи камеры. Однако, воздух внутри камеры максимально очищен от пыли, т.к. малейшие частички могут привести к порче магнитного покрытия дисков и потере данных и работоспособности устройства. Диски вращаются постоянно, а скорость вращения носителей довольно высокая (от 4500 до 10000 об/мин), что обеспечивает высокую скорость чтения/записи. По величине диаметра носителя чаще других производятся 5.25, 3.14, 2.3 дюймовые диски. На диаметр носителей несменных жестких дисков не накладывается никакого ограничения со стороны совместимости и 44 переносимости носителя, за исключением форм-факторов корпуса ПК, поэтому, производители выбирают его согласно собственным соображениям. В настоящее время, для позиционирования головок чтения/записи, наиболее часто, применяются шаговые и линейные двигатели механизмов позиционирования и механизмы перемещения головок в целом. В системах с шаговым механизмом и двигателем головки перемещаются на определенную величину, соответствующую расстоянию между дорожками. Дискретность шагов зависит либо от характеристик шагового двигателя, либо задается серво-метками на диске, которые могут иметь магнитную или оптическую природу. Для считывания магнитных меток используется дополнительная серво-головка, а для считывания оптических - специальные оптические датчики. В системах с линейным приводом головки перемещаются электромагнитом, а для определения необходимого положения служат специальные сервисные сигналы, записанные на носитель при его производстве и считываемые при позиционировании головок. Во многих устройствах для серво-сигналов используется целая поверхность и специальная головка или оптический датчик. Такой способ организации серво-данных носит название выделенная запись серво-сигналов. Если серво-сигналы записываются на те же дорожки, что и данные и для них выделяется специальный серво-сектор, а чтение производится теми же головками, что и чтение данных, то такой механизм называется встроенная запись серво-сигналов. Выделенная запись обеспечивает более высокое быстродействие, а встроенная - повышает емкость устройства. Линейные приводы перемещают головки значительно быстрее, чем шаговые, кроме того, они позволяют производить небольшие радиальные перемещения "внутри" дорожки, давая возможность отследить центр окружности серводорожки. Этим достигается положение головки, наилучшее для считывания с каждой дорожки, что значительно повышает достоверность считываемых данных и исключает необходимость временных затрат на процедуры коррекции. Как правило, все устройства с линейным приводом имеют автоматический механизм парковки головок чтения/записи при отключении питания устройства. Парковкой головок называют процесс их перемещения в безопасное положение. Это - так называемое "парковочное" положение головок в той области дисков, где ложатся головки. Там, обычно, не записано никакой информации, кроме серво-данных, это специальная "посадочная зона" (Landing Zone). Для фиксации привода головок в этом положении в большинстве ЖД используется маленький постоянный магнит, когда головки принимают парковочное положение - этот магнит соприкасается с основанием корпуса и удерживает позиционер головок от ненужных колебаний. При запуске накопителя схема управления линейным двигателем "отрывает" фиксатор, подавая на двигатель, позиционирующий головки, усиленный импульс тока. В ряде накопителей используются и другие способы фиксации - основанные, например, на воздушном потоке, создаваемом вращением дисков. В запаркованном состоянии накопитель можно транспортировать при достаточно плохих физических условиях (вибрация, удары, сотрясения), т.к. нет опасности 45 повреждения поверхности носителя головками. В настоящее время на всех современных устройствах парковка головок накопителей производится автоматически внутренними схемами контроллера при отключении питания и не требует для этого никаких дополнительных программных операций, как это было с первыми моделями. Во время работы все механические части накопителя подвергаются тепловому расширению, и расстояния между дорожками, осями шпинделя и позиционером головок чтения/записи меняется. В общем случае это никак не влияет на работу накопителя, поскольку для стабилизации используются обратные связи, однако некоторые модели время от времени выполняют рекалибровку привода головок, сопровождаемую характерным звуком, напоминающим звук при первичном старте, подстраивая систему к изменившимся расстояниям. Плата электроники современного накопителя на жестких магнитных дисках представляет собой самостоятельный микрокомпьютер с собственным процессором, памятью, устройствами ввода/вывода и прочими традиционными атрибутами присущими компьютеру. На плате могут располагаться множество переключателей и перемычек, однако не все из них предназначены для использования пользователем. Как правило, руководства пользователя описывают назначение только перемычек, связанных с выбором логического адреса устройства и режима его работы, а для накопителей с интерфейсом SCSI - и перемычки, отвечающие за управление резисторной сборкой (стабилизирующей нагрузкой в цепи). 5.6.3.Накопитель на гибких магнитных дисках Основные внутренние элементы дисковода - дискетная pама, шпиндельный двигатель, блок головок с пpиводом и плата электpоники. Шпиндельный двигатель - плоский многополюсный, с постоянной скоpостью вpащения 300 об/мин. Двигатель пpивода блока головок - шаговый, с чеpвячной, зубчатой или ленточной пеpедачей. Для опознания свойств дискеты на плате электpоники возле пеpеднего тоpца дисковода установлено тpи механических нажимных датчика: два - под отвеpстиями защиты и плотности записи, и тpетий - за датчиком плотности - для опpеделения момента опускания дискеты. Вставляемая в щель дискета попадает внутpь дискетной pамы, где с нее сдвигается защитная штоpка, а сама pама пpи этом снимается со стопоpа и опускается вниз - металлическое кольцо дискеты пpи этом ложится на вал шпиндельного двигателя, а нижняя повеpхность дискеты - на нижнюю головку (стоpона 0). Одновpеменно освобождается веpхняя головка, котоpая под действием пружины прижимается к верхней стороне дискеты. На большинстве дисководов скорость опускания рамы никак не огpаничена, из-за чего головки наносят ощутымый удар по повеpхностям дискеты, а это сильно сокpащает сpок их надежной pаботы. В некотоpых моделях дисководов (Teac, Panasonic, ALPS) предусмотрен замедлитель-микpолифт для плавного опускания pамы. Для пpодления сpока службы дискет и головок в дисководах без микpо-лифта 46 pекомендуется пpи вставлении дискеты пpидеpживать пальцем кнопку дисковода, не давая pаме опускаться слишком pезко. Hа валу шпиндельного двигателя имеется кольцо с магнитным замком, котоpый в начале вpащения двигателя плотно захватывает кольцо дискеты, одновpеменно центpиpуя ее на валу. В большинстве моделей дисководов сигнал от датчика опускания дискеты вызывает кpатковpеменный запуск двигателя с целью ее захвата и центpиpования. Дисковод соединяется с контpоллеpом пpи помощи 34-пpоводного кабеля, в котоpом четные пpовода являются сигнальными, а нечетные - общими. Общий ваpиант интеpфейса пpедусматpивает подключение к контpоллеpу до четыpех дисководов, ваpиант для IBM PC - до двух. В общем ваpианте дисководы подключаются полностью паpаллельно дpуг дpугу, а номеp дисковода (0..3) задается пеpемычками на плате электpоники; в ваpианте для IBM PC оба дисковода имеют номеp 1, но подключаются пpи помощи кабеля, в котоpом сигналы выбоpа (пpовода 10-16) пеpевеpнуты между pазъемами двух дисководов. Иногда на pазъеме дисковода удаляется контакт 6, игpающий в этом случае pоль механического ключа. Интеpфейс дисковода достаточно пpост и включает сигналы выбоpа устpойства (четыpе устpойства в общем случае, два - в ваpианте для IBM PC), запуска двигателя, пеpемещения головок на один шаг,включения записи, считываемые/записываемые данные, а также инфоpмационные сигналы от дисковода - начало доpожки, пpизнак установки головок на нулевую (внешнюю) доpожку, сигналы с датчиков и т.п. Вся pабота по кодиpованию инфоpмации, поиску доpожек и сектоpов, синхpонизации, коppекции ошибок выполняется контpоллеpом. Дискета или гибкий диск - компактное низкоскоростное малой ёмкости средство хранение и переноса информации. Различают дискеты двух размеров: 3.5”, 5.25”, 8” (последние два типа практически вышли из употребления). Конструктивно дискета представляет собой гибкий диск с магнитным покрытием, заключенный в футляр. Дискета имеет отверстие под шпиль привода, отверстие в футляре для доступа головок записи-чтения (в 3.5” закрыто железной шторкой), вырез или отверстие защиты от записи. Кроме того 5.25” дискета имеет индексное отверстие, а 3.5” дискета высокой плотности отверстие указанной плотности (высокая/низкая). 5.25” дискета защищена от записи, если соответствующий вырез закрыт. 3.5” дискета наоборот - если отверстие защиты открыто. В настоящее время практически только используются 3.5” дискеты высокой плотности. Для дискет используются следующие обозначения: - SS single side - односторонний диск (одна рабочая поверхность). - DS double side - двусторонний диск. - SD single density - одинарная плотность. - DD double density - двойная плотность. - HD high density - высокая плотность. 47 Накопитель на гибких дисках принципиально похож на накопитель на жестких дисках . Скорость вращения гибкого диска примерно в 10 раз медленнее, а головки касаются поверхности диска. В основном структура информации на дискете, как физическая так и логическая, такая же как на жестком диске. С точки зрения логической структуры на дискете отсутствует таблица разбиения диска. 5.7. Устройство и принципы работы накопителей на CD и DVD 5.7.1. CD-ROM В начале 80-х годов голландская фирма «Philips» объявила о совершенной ею революцией в области звуковоспроизведения. Ее инженеры придумали то, что сейчас пользуется огромной популярностью - Это лазерные диски и проигрыватели. За последние несколько лет компьютерные устройства для чтения компакт-дисков (CD), называемые CD-ROM, стали практически необходимой частью любого компьютера (или сети). Это произошло потому, что разнообразные программные продукты (прежде всего игры и базы данных) стали занимать значительное количество места, и поставка их на дискетах оказалась чрезмерно дорогостоящей и ненадёжной. Поэтому их стали поставлять на CD (таких же, как и обычные музыкальные), а большинство современных игр и баз данных работает прямо с CD, не требуя копирования на жёсткий диск. Запись на CD при помощи обычных CD-ROM невозможна (существуют, правда, устройства CDR и CD-RW с помощью которых возможны чтение-однократная запись и чтение-запись-перезапись, соответственно). CD-ROM способны не только считывать компакт-диски с данными, но и проигрывать музыкальные диски. (Впрочем в некоторых моделях её нет, и если вам нужна, проверяйте её наличие.) Для этого у них на передней панели есть выход для наушников, но проигрывание может производиться и через усилитель звуковой карты, если она имеется. Проигрыванием музыкального диска управляет компьютер, но некоторые CD-ROM имеют для этой цели кнопки на передней панели. Качество звука, выдаваемое CD-ROM, ощутимо ниже, чем даже у простеньких переносных CD-плееров. При помощи CD-ROM компьютер также может проигрывать Video- CD и CD-I (не путать с лазерными видеодисками LDV, имеющими гораздо больший диаметр, чем CD). Типовой привод состоит из платы электроники, шпиндельного двигателя, системы оптической считывающей головки и системы загрузки диска. На плате электроники размещены все управляющие схемы привода, интерфейс с контроллером компьютера, разъемы интерфейса и выхода звукового сигнала. Большинство приводов использует одну плату электроники, однако в некоторых моделях отдельные схемы выносятся на вспомогательные небольшие платы. 48 Шпиндельный двигатель служит для приведения диска во вращение с постоянной или переменной линейной скоростью. Сохранение постоянной линейной скорости требует изменения угловой скорости диска в зависимости от положения оптической головки. При поиске фрагментов диск может вращаться с большей скоростью, нежели при считывании, поэтому от шпиндельного двигателя требуется хорошая динамическая характеристика; двигатель используется как для разгона, так и для торможения диска. На оси шпиндельного двигателя закреплена подставка, к которой после загрузки прижимается диск. Поверхность подставки обычно покрыта резиной или мягким пластиком для устранения проскальзывания диска. Прижим диска к подставке осуществляется при помощи шайбы, расположенной с другой стороны диска; подставка и шайба содержат постоянные магниты, сила, притяжения которых прижимает шайбу через диск к подставке. Система оптической головки состоит из самой головки и системы ее перемещения. В головке размещены лазерный излучатель, на основе инфракрасного лазерного светодиода, система фокусировки, фотоприемник и предварительный усилитель. Система фокусировки представляет собой подвижную линзу, приводимую в движение электромагнитной системой voice coil (звуковая катушка), сделанной по аналогии с подвижной системой громкоговорителя. Изменение напряженности магнитного поля вызывают перемещение линзы и пере фокусировку лазерного луча. Благодаря малой инерционности такая система эффективно отслеживает вертикальные биения диска даже при значительных скоростях вращения. Система перемещения головки имеет собственный приводной двигатель, приводящий в движение каретку с оптической головкой при помощи зубчатой либо червячной передачи. Для исключения люфта используется соединение с начальным напряжением: при червячной передаче подпружиненные шарики, при зубчатой - подпружиненные в разные стороны пары шестерней. Система загрузки диска выполняется в двух вариантах: с использованием специального футляра для диска (caddy), вставляемого в приемное отверстие привода, и с использованием выдвижного лотка (tray), на который кладется сам диск. В обоих случаях система содержит двигатель, приводящий в движение лоток или футляр, а также механизм перемещения рамы, на которой закреплена вся механическая система вместе со шпиндельным двигателем и приводом оптической головки, в рабочее положение, когда диск ложится на подставку шпиндельного двигателя. При использовании обычного лотка привод невозможно установить в иное положение, кроме горизонтального. В приводах, допускающих монтаж в вертикальном положении, конструкция лотка предусматривает фиксаторы, удерживающие диск при выдвинутом лотке. На передней панели привода обычно расположены кнопка Eject для загрузки/выгрузки диска, индикатор обращения к приводу и гнездо для подключения наушников с электронным или механическим регулятором громкости. В ряде моделей добавлена кнопка Play/Next для запуска проигрывания звуковых дисков и перехода между звуковыми дорожками; кнопка Eject при этом обычно используется для остановки проигрывания без выбрасывания диска. На некоторых моделях 49 с механическим регулятором громкости, выполненным в виде ручки, проигрывание и переход осуществляются при нажатии на торец регулятора. Большинство приводов также имеет на передней панели небольшое отверстие, предназначенное для аварийного извлечения диска в тех случаях, когда обычным способом это сделать невозможно например, при выходе из строя привода лотка или всего CD-ROM, при пропадании питания и т.п. В отверстие нужно вставить шпильку или распрямленную скрепку и аккуратно нажать - при этом снимается блокировка лотка или дискового футляра, и его можно выдвинуть вручную. Cтандартный диск состоит из трех слоев: подложка из поликарбоната, на которой отштампован рельеф диска, намыленное на нее отражающее покрытие из алюминия, золота, серебра или другого сплава, и более тонкий защитный слой поликарбоната или лака, на который наносятся надписи и рисунки. Hекотоpые диски «подпольных» производителей имеют очень тонкий защитный слой, либо не имеют его вовсе, отчего отражающее покрытие довольно легко повредить. информационный рельеф диска состоит из спиральной дорожки, идущей от центра к периферии, вдоль которой расположены углубления (питы). информация кодируется чередованием питов и пpомежутков между ними. Считывание информации с диска происходит за счёт регистрации изменений интенсивности отражённого от алюминиевого слоя излучения маломощного лазера. Приёмник или фотодатчик определяет, отразился ли луч от гладкой поверхности, был ли он рассеян или поглощен. Рассеивание или поглощение луча происходит в местах, где в процессе записи были нанесены углубления (штрихи). Сильное отражение луча происходит там, где этих углублений нет. Фотодатчик, размещённый в накопителе CD - ROM, воспринимает рассеянный луч, отражённый от поверхности диска. Затем эта информация в виде электрических сигналов поступает на микропроцессор, который преобразует эти сигналы в двоичные данные или звук. Глубина каждого штриха на диске равна 0.12 мкм, ширина - 0.6 мкм. Они расположены вдоль спиральной дорожки, расстояние между соседними витками которой составляет 1.6 мкм, что соответствует плотности 16000 витков на дюйм или 625 витков на миллиметр. Длина штрихов вдоль дорожки записи может колебаться от 0.9 до 3.3 мкм. Дорожка начинается на некотором расстоянии от центрального отверстия и заканчивается примерно в 5 мм от внешнего края. Если на компакт - диске необходимо отыскать место записи определённых данных, то его координаты предварительно считываются из оглавления диска, после чего считывающее устройство перемещается к нужному витку спирали и ждёт появления определённой последовательности битов. В каждом блоке диска, записанного в формате CD - DA (аудиокомпакт - диск), содержится 2352 байт. На диске CD - ROM 304 из них используется для синхронизации, идентификации и коррекции кодов ошибок, а оставшиеся 2048 байт - для хранения полезной информации. Поскольку за секунду считывается 75 блоков, скорость считывания данных с дисков CD - ROM составляет 153 600 байт/с (односкоростной CD - ROM), что равно 150 Кбайт/с. 50 Поскольку на компакт - диске может содержаться максимальный объём данных, который считывается 74 мин, а за секунду считывается 75 блоков по 2048 байт, нетрудно подсчитать, что максимальная ёмкость диска CD - ROM составит 681 984 000 байт (около 650 Мбайт). Алгоритм работы накопителя CD-ROM 1. Полупроводниковый лазер генерирует маломощный инфракрасный луч, который попадает на отражающее зеркало. 2. Серводвигатель по командам встроенного микропроцессора, смещает подвижную каретку с отражающим зеркалом к нужной дорожке на компакт - диске. 3. Отражённый от диска луч фокусируется линзой, расположенной под диском, отражается от зеркала и попадает на разделительную призму. 4. Разделительная призма направляет отражённый луч на другую фокусирующую линзу. 5. Эта линза направляет отражённый луч на фотодатчик, который преобразует световую энергию в электрические импульсы. 6. Сигналы с фотодатчика декодируются встроенным микропроцессором и передаются в компьютер в виде данных. Штрихи, нанесённые на поверхность диска, имеют разную длину. Интенсивность отражённого луча изменяется, соответственно изменяя электрический сигнал, поступающий на фотодатчик. Биты данных считываются как переходы между высокими и низкими уровнями сигналов, которые физически записываются как начало и конец каждого штриха. Поскольку для программных файлов и файлов с данными важен каждый бит, в накопителях CDROM используются весьма сложные алгоритмы обнаружения и коррекции ошибок. Благодаря таким алгоритмам вероятность неправильного считывания данных составляет менее 0.125 . Другими словами, безошибочно считывается два квадриллиона дисков, что соответствует стопке компакт - дисков высотой около двух миллиардов километров. Для реализации этих методов коррекции ошибок к каждым 2048 полезным байтам добавляется 288 контрольных. Это позволяет восстанавливать даже сильно повреждённые последовательности данных (длиной до 1000 ошибочных битов). Использование столь сложных методов обнаружения и коррекции ошибок связано, во- первых, с тем, что компакт - диски весьма подвержены внешним воздействиям, а, во- вторых , потому, что подобные носители изначально разрабатывались лишь для записи звуковых сигналов, требования к точности которых не столь высоки. 5.7.2.DVD DVD - оптические диски, подобные CD. Под таким девизом уже начат выпуск новых устройств, знаменующих переход к 17-гигабайтным носителям данных и цифровому видео. Пора и нам познакомиться с новинкой. 0 том, что обычные диски CD-ROM, рожденные для записи звука, не так уж хорошо подходят для компьютеров, общеизвестно, да и наш журнал рассказывал о 51 сложностях вписывания произвольной информации в структуру диска, соответствующего Красной книге. После нескольких лет обсуждения (и довольно жесткой конкуренции) различных вариантов улучшенных оптических дисков, имевших звучные названия, 15 сентября 1995 года между различными группами разработчиков было наконец достигнуто принципиальное согласие о технических основах создания нового диска. 8 декабря 1995 крупнейшие производители приводов CD-ROM и связанных с ними устройств (Toshiba, Matsushita, Sony, Philips, Time Warner, Pioneer, JVC, Hitachi and Mitsubishi Electric) подписали окончательное соглашение, утвердив не только "тонкости" формата, но и название новинки DVD (Digital Video Disk). HDCD (High Den city CD диск высокой плотности записи), MMCD (MultiMedia CD). SD (Super Density - сверхвысокой плотности). Впрочем, споры вокруг нового стандарта не завершились с принятием соглашения даже название не находит единогласной поддержки. В рядах основателей: весьма распространенной является версия расшифровки аббревиатуры как Digital Versatile Disk - цифровой многофункциональный диск. Более того, экстремисты полагают, что DVD следует рассматривать просто как "новое слово" в английском языке. И, возможно, они правы, если судьба новинки будет так успешна, как предвещают, и вызовет революцию не только в вычислительной технике, но и в бытовой электронике. Отсутствие единого понимания технических, и юридических аспектов нового изделия затрудняет не только подготовку производства, но и наш рассказ. Несмотря на быстро расширяющийся круг участников лицензионных соглашений и начало выпуска первых устройств, прошедший в США 10-11 апреля 1996 года. Перевод не позволяет отразить игру слов вокруг слова Versatile. Его второе значение - "многосторонний" - обыгрывает не только функциональные возможности, но и технологические особенности новинки. Которая может использовать до четырех однотипных "слоев", емкость каждого из которых более 4 ГБ. "Первый DVD форум" также не дал окончательной редакции стандартов нового носителя информации. DVD - сколько, где и как начнем с технических характеристик. DVD может существовать в нескольких модификациях. Самая простая из них отличается от обычного диска только тем, что отражающий слой расположен не на составляющем почти полную толщину (1,2 мм) слое поликарбоната, а на слое половинной толщины (0,6 мм). Вторая половина - это плоский верхний слой. Емкость такого диска достигает 4,7 ГБ и обеспечивает более двух часов видео телевизионного качества (компрессия MPEG-2). Кроме того, без особого труда на диске могут дополнительно сохраняться высококачественный стереозвук (на нескольких языках!) и титры (также многоязычные). Если оба слоя несут информацию (в этом случае нижнее отражающее покрытие полупрозрачное), то суммарная емкость составляет 8,5 ГБ (некоторое уменьшение емкости каждого слоя вызывается необходимостью сократить взаимные помехи при считывании дальнего слоя). Toshiba и Time Warner предлагают использовать также двухсторонний двухслойный диск. В этом случае его емкость составит 17 ГБ! Уже этой характеристики достаточно, чтобы представить себе воздействие, которое может оказать такой диск на кино/видеоиндустрию. Недаром значительная часть споров и задержек с производством устройств 52 DVD вызвана согласованием разнонаправленных способов защиты авторских прав. Цифровые системы, как известно, сохраняют качество сигнала при копировании и уже не служат препятствием для создания нелицензионных копий. Поэтому Ассоциация кинопроизводителей Америки (МРАА - Motion Picture Association of America) совместно с Ассоциацией производителей бытовой электроники (Consumer Electronics Manufacturer's Association) возбужденно обсуждает возможности встраивания защиты от нелицензионного копирования непосредственно в устройства, а также законопроекты, связанные с защитой от копирования. Предлагаются не только исключение возможности прямого копирования диска, но и более серьезные меры, такие как модификация операционной системы с целью недопущения копирования данных, считанных с DVD на другие носители (ожидается появление таких свойств в Windows 98/2000). Радикальная мера модификация архитектуры ПК с целью принципиального исключения возможности попадания DVD-данных на системную шину, откуда они далее могут быть скопированы. Ёмкости самого простого однослойного DVD достаточно для воспроизведения более 2 часов видео телевизионного (студийного) качества, при этом количество информации на диске составляет 4,7 ГБ. Двухслойный диск хранит 8,5 ГБ! Рабочая группа (Technical Working Group), представляющая интересы производителей компьютеров, не остается в стороне, так как сужение функциональных возможностей устройств может оказаться не безболезненным. Оставив для будущих историков подробное рассмотрение юридических баталий, отметим только, что если кино/видеопроизводство примет DVD как носитель, то, учитывая очень низкую стоимость экземпляра диска при многотиражном выпуске, можно ожидать действительно революционных изменений в домашней электронике. Как же достигается столь значительное увеличение объема информации на DVD диске? Для ответа на этот вопрос сравним его со знакомым нам CD-ROM. Главное отличие, конечно, в повышенной плотности записи информации. За счет перевода считывающего лазера из инфракрасного диапазона (длина волны 780 нм) в красный (с длиной волны 650 нм или 635 нм) и увеличения числовой аппаратуры объектива до 0,6 (против 0,45 в CD). Достигается это всё более чем двух кратным уплотнением дорожек и укорочением длины питов (отражающих выступов/впадин), что и видно на рисунке 1. Модифицированная архитектура ПК направляет данные с накопителя DVD на декодер, минуя системную шину. Изменилась не только физическая плотность размещения информации на диске, но и способы ее представления. Так, на смену способу модуляции 8/14 (EFM - eight to fourteen modulation) пришел способ, называемый EFM+. Он отличается несколько иным алгоритмом преобразования и требует ввода на границе следующих друг за другом 14-разрядных кодов не трех, а только двух дополнительных битов, поддерживающих условие ограниченности размеров пита в диапазоне от 3 до 11 битов, т. е. между двумя последовательными единицами после кодирования не менее 2 и не более 10 нулей. Таким образом, из каждого байта получаем не 14+3=17, а 14+2=16 кодовых битов. Изменение метода модуляции - только одно из множества форматных изменений, позволяющих в целом увеличить объем сохраняемых данных. Собственно переход к EFM+ добавляет еще почти 6% к объему диска. 53 Мощный механизм коррекции ошибок RS-PC (Red Solomon Product Code) обещает быть очень устойчивым к возможным ошибкам воспроизведения. Из неназванных еще характеристик отметим номинальную скорость передачи данных - 1108 Кб/с, поддерживаемую при постоянной линейной скорости (CLV - constant lineal velocity) 4 м/с. Не следует особо обольщаться - увеличивается на порядок также и объем данных, которых нам хотелось бы прочитать без ошибок. Кроме того, резкое уменьшение отдельных элементов на отражающей поверхности неизбежно приведет к увеличению количества случайных сбоев при чтении. Пользователи, активно работающие с компакт-дисками, знают, насколько разнообразны и трудно совместимы различные виды этих дисков. Ничего удивительного. Стандарты де-факто на различные виды дисков принимались часто в конкурентной борьбе. С DVD все может быть подругому: это устройство представляется едва ли не единственным высокотехнологичным техническим решением последних десятилетий, стандарты которого обсуждаются столь значительной группой производителей (в альянс еще весной вошло более 10 крупнейших корпораций). Как и стандарты на CD, требования к DVD изложены в "книгах". Но, в отличие от уже знакомых нам "цветных книг", эти "упорядочены по алфавиту". В настоящий момент обсуждаются пять книг - от "А" до "Е". Книга может содержать до трех частей. При этом в первой части описываются физические спецификации, во второй - файловая система, а в третей приложения. Первые три книги определяют, соответственно, ROM, Video и Audio DVD, используя одинаковый физический формат носителя, который изготавливается "штамповкой", и файловую систему. Файловая система этих стандартов переходная (UDF-Bridge). Она обеспечивает комбинацию возможностей уже знакомой пользователям CD-ROM файловой системы ISO-9660 и новой системы Universal Disk Format - UDF, разработанной Optical Storage Technology Association (OSTA) и реализующей рекомендации ISO/IEC 13346. Два других стандарта D и Е распространяются на записываемые DVD-R (recordable) или иначе DVD-WO (write once) и перезаписываемые DVD-RAM, DVD-W (rewritable) или иначе DVD-E (erasable) диски. Да-да! В отличие от CD, диски DVD рождаются сразу с возможностью записи, и даже перезаписи информации. Однако эти стандарты наименее устоявшиеся, и поэтому обсуждение их мы пока отложим, отметив только, что и для тех, и для других предполагается формат файлов UDF. Особо следует сказать о совместимости уже существующими дисками. Такая совместимость стандартами явно не требуется (по имеющимся у меня сведениям). Однако подавляющее большинство производителей готовит устройства способные считывать CD-ROM за счет использования специально сконструированной оптической головки, обладающей возможностью перенастройки, или даже за счет установки дополнительного объектива. Замечательным запоминающим устройством является человеческий мозг, содержащий около (10—15)–109 нейронов — ячеек, совмещающих функции памяти и логической обработки информации. 54 Объём мозга в среднем 1,5 дм3, масса 1,2 кг, потребляемая мощность около 2,5 вт. Лучшие современные электронные запоминающие устройства при такой же ёмкости занимают объём в несколько м3 при массе в десятки и сотни кг, а потребляемая мощность достигает несколько квт. Научно обоснованные прогнозы утверждают, что совершенствование электронной техники и применение новых высокоэффективных накопительных сред в сочетании с широким использованием методов бионики при решении проблем, связанных с синтезом запоминающих устройств, позволят создавать запоминающие устройства, близкие по параметрам памяти человека. Преподаватель делает выводы по пятому учебному вопросу. ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ В заключительной части лекции подвести итоги занятия, дать задания на самостоятельную работу по изучению материала, используя основную и дополнительную литературу. Вопросы для самостоятельного изучения: 1. Основные принципы построения и применения устройств отображения данных 2. Основные принципы построения и применения устройств представления 3. Мультимедийные средства 4. Основы построения и функционирования мультимедийных средств 5. Средства и способы подключения мультимедийных средств к ПК Задание и указания обучающимся по подготовке к практическому занятию. При подготовке к практическому занятию необходимо изучить основную дополнительную литературу, подготовить в учебных аудиториях информатики. Текст лекции разработал ст. преподаватель кафедры ПМ и ИТ капитан внутренней службы Т.Н.Антошина и 55 УТВЕРЖДАЮ Заместитель начальника кафедры прикладной математики и информационных технологий капитан внутренней службы Т.А. Подружкина ”14” июня 2011 года ПЛАН проведения лекции Тема № 1. «Аппаратное обеспечение информационных технологий» Занятие № 1 «Основные понятия информатики» Время: 4 часа Место: учебный класс Учебные вопросы: 1. 2. 3. 4. 5. Структура учебного курса и науки информатики Понятия информатика, информация Эволюция и классификация ЭВМ Основы построения центральных устройств компьютера Основы построения периферийных устройств ПК I. Учебные цели 1. Изучить понятия «Информатика», «Информационные технологии», «Информация» 2. Рассмотреть историю и эволюцию создания ЭВМ 3. Изучить классификацию ЭВМ 4. Изучить основы построения центральных устройств компьютера 5. Изучить основы построения периферийных устройств ПК 6. Воспитывать у обучающихся стремление к углубленному изучению учебного материала. 7. Воспитывать у обучающихся стремление к самостоятельному изучению новых информационных технологий Содержание занятия Вводная часть Время 10 мин ХОД ЗАНЯТИЯ: Действия руководителя и обучаемых 1. Принимаю доклад о готовности группы к занятию 2. Проверяю наличие личного состава. 3. Объявляю тему и цели лекции, последовательность выполняемых действий Основная часть: 160 мин Уч. вопрос №1 35 мин Структура учебного курса и науки информатики При отработке первого учебного вопроса (35 мин) следует определить сущность и структуру учебного курса и науки информатики. Даю под запись основные понятия «Информации», классификацию информации, основные разделы информатики, основные задачи. Подвожу итоги после первого учебного вопроса. Уч. вопрос № 2 При отработке второго учебного вопроса (35 мин) Следует рассмотреть основные понятия информатики, информации. Даю их под запись. Делаю выводы по второму учебному вопросу. Понятия информатика, информация 35 мин Приме ч. 56 Уч. Вопрос № 3 30 мин Эволюция и классификация ЭВМ При отработке третьего учебного вопроса (30 мин) Разобрать эволюция и классификацию ЭВМ. Даю под запись эволюцию и поколения ЭВМ. Рассказываю идею «открытой архитектуры» Делаю выводы по третьему учебному вопросу. Уч. Вопрос № 4 30мин Основы построения центральных устройств компьютера При отработке четвертого учебного вопроса (30 мин) Изучить основы построения центральных устройств компьютера. Даю под запись основы построения центральных устройств персонального компьютера, определения: настольные ПК, рабочие (графические) станции, серверы, мэйнфреймы, переносные (портативные) компьютеры,бездисковые рабочие станции, мультимедийные компьютеры. Записывают производительность ЭВМ: МО-диски. Разбираем офисный ПК Рассматриваем назначение и возможности центрального процессора: основных шин, назначение и возможности оперативной памяти. Делаю выводы по четвертому учебному вопросу. Уч. Вопрос № 5 30 мин Основы построения периферийных устройств ПК При отработке пятого учебного вопроса (30 мин) Рассказываю об устройствах и принципах работы накопителей на CD и DVD. Даю под запись: накопитель на гибких магнитных дисках, жесткие диски (винчестеры), физическое устройство, принципы хранения информации на магнитных носителях, классификация устройств хранения данных, устройства вывода данных, устройства ввода данных. Делаю выводы по пятому учебному вопросу. Подвести итоги занятия, дать задания на самостоятельную работу по изучению материала, используя основную и дополнительную литературу. Дать вопросы на самоподготовку: 1. Основные принципы построения и применения устройств отображения данных 2. Основные принципы построения и применения устройств представления 3. Мультимедийные средства 4. Основы построения и функционирования мультимедийных средств 5. Средства и способы подключения мультимедийных средств к ПК Заключительная часть 10 мин Руководитель занятия: /______________________/ Санкт-Петербургский университет Государственной противопожарной службы МЧС России –––––––––––––––––––––––––––––––––––––––––––––––––––––– Кафедра прикладной математики и информационных технологий Заместитель начальника кафедры прикладной математики и информационных технологий капитан внутренней службы Т.А. Подружкина ”14” июня 2011 года МЕТОДИЧЕСКАЯ РАЗРАБОТКА ДЛЯ ПРОВЕДЕНИЯ ЛЕКЦИИ по учебной дисциплине «Информационные технологии» Тема № 4 «Информационные системы» Занятие № 1 «Общая характеристика информационных систем» Рассмотрена на заседании кафедры прикладной математики и информационных технологий Протокол № 10 от ”14” июня 2011 года Санкт-Петербург 2011 I. Учебные цели 1. Изучить теоретические знания в области информационных систем, закрепить умения и навыки в использовании электронных учебников 2. Получить практические умения и навыки в создании фрагментов баз данных 3. Проверить качество усвоения обучаемыми учебного материала. II. Воспитательные цели 1. 2. Воспитывать у обучаемых стремление к углубленному изучению учебного материала. Привить обучаемым навыки использования элементов теории информационных систем в своей будущей практической деятельности III. Расчет учебного времени Содержание и порядок проведения занятия ВВОДНАЯ ЧАСТЬ ОСНОВНАЯ ЧАСТЬ Учебные вопросы: 1. Понятийный аппарат информационных систем 2. Структура информационной системы 3. Уровни представления данных 4. Содержание и порядок создания баз данных ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ Время, мин 5 80 20 20 20 20 5 IV. Учебно-материальное обеспечение 1. Персональные компьютеры 2. СУБД Access 3. Методический раздаточный материал V. Методические рекомендации преподавателю по подготовке к проведению лекции При подготовке к лекции преподаватель обязан ознакомиться с литературой и методическими рекомендациями, изучить учебные вопросы, структуру и содержание практического занятия. По завершении личной теоретической подготовки необходимо составить план проведения практического занятия с указанием времени, отводимого на отработку учебного вопроса. Разработать и выдать обучаемым задания на подготовку к практическому занятию, дать указания на получение необходимой литературы, учебнометодических материалов и рекомендовать материал для повторения. Вводной части занятия (5 мин) после проверки наличия личного состава, объявить тему, цели и учебные вопросы занятия, последовательность их отработки, ориентировочное время выполнения задания. При отработке первого учебного вопроса (20 мин) определяется понятийный аппарат информационных систем. Приводятся ключевые понятия: информационная система, база данных, система управления базами данных. При изучении вопроса курсанты (студенты) активно пользуются электронным учебником. При отработке второго учебного вопроса (20 мин) приводятся основные элементы структуры информационной системы. Активно используется электронный учебник. При отработке третьего учебного вопроса (20 мин) преподаватель приводит уровни представления баз данных и описывает содержание этих уровней. Курсанты совершенствуют свои навыки работы с электронным учебником. При отработке четвертого учебного вопроса (20 мин) преподаватель рассматривает содержание и порядок создания баз данных. Рассматривает примеры, используя предложения курсантов (студентов). В заключительной части (5 мин) подвести итоги занятия, оценить работу обучаемых, поставить задачи на следующее занятие. VI. Литература Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Издво Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, модернизация. М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001 Разработал текст лекции: ст. преподаватель кафедры ПМиИТ капитан внутренней службы VII. Приложение Т.Н. Антошина ТЕКСТ ЛЕКЦИИ по дисциплине «Информационные технологии» Тема № 4 «Информационные системы» Занятие № 1 «Общая характеристика информационных систем» I. Учебные вопросы 1. Понятийный аппарат информационных систем Во всей истории вычислительной техники можно проследить две основные области ее использования. Первая область - применение вычислительной техники для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную. Развитие этой области способствовало интенсификации методов численного решения сложных математических задач, развитию класса языков программирования, ориентированных на удобную запись численных алгоритмов, становлению обратной связи с разработчиками новых архитектур ЭВМ. Вторая область - это использование средств вычислительной техники в автоматических или автоматизированных информационных системах. В самом широком смысле информационная система представляет собой программно-аппаратный комплекс, функции которого состоят в надежном хранении информации в памяти компьютера, выполнении специфических для данного приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса. Обычно такие системы имеют дело с большими объемами информации, и эта информация имеет достаточно сложную структуру. Классическими примерами информационных систем являются банковские системы, системы резервирования авиационных или железнодорожных билетов, мест в гостиницах и т. д. Вторая область использования вычислительной техники возникла несколько позже первой. Это связано с тем, что на заре вычислительной техники возможности компьютеров по хранению информации были очень ограниченными. Говорить о надежном и долговременном хранении информации можно только при наличии запоминающих устройств, сохраняющих информацию после выключения электрического питания. Оперативная (основная) память компьютеров этим свойством обычно не обладает. В первых компьютерах использовались два вида устройств внешней памяти - магнитные ленты и барабаны. Емкость магнитных лент была достаточно велика, но по своей физической природе они обеспечивали последовательный доступ к данным. Магнитные же барабаны (они больше всего похожи на современные магнитные диски с фиксированными головками) давали возможность произвольного доступа к данными, но были ограниченного размера. Эти ограничения не являлись слишком существенными для чисто численных расчетов. Даже если программа должна обработать (или произвести) большой объем информации, при программировании можно продумать расположение этой информации во внешней памяти (например, на последовательной магнитной ленте), обеспечивающее эффективное выполнение этой программы. Но для информационных систем, в которых потребность в текущих данных определяется конечным пользователем, наличие только магнитных лент и барабанов неудовлетворительно. Представьте себе покупателя билета, который, стоя у кассы, должен дождаться полной перемотки магнитной ленты. Одним из естественных требований к таким системам является удовлетворительная средняя скорость выполнения операций. Именно требования нечисленных приложений вызвали появление съемных магнитных дисков с подвижными головками, что явилось революцией в истории вычислительной техники. Эти устройства внешней памяти обладали существенно большей емкостью, чем магнитные барабаны, обеспечивали удовлетворительную скорость доступа к данным в режиме произвольной выборки, а возможность смены дискового пакета на устройстве позволяла иметь практически неограниченный архив данных. С появлением магнитных дисков началась история систем управления данными во внешней памяти. До этого каждая прикладная программа, которой требовалось хранить данные во внешней памяти, сама определяла расположение каждой порции данных на магнитной ленте или барабане и выполняла обмены между оперативной памятью и устройствами внешней памяти с помощью программно-аппаратных средств низкого уровня (машинных команд или вызовов соответствующих программ операционной системы). Такой режим работы не позволяет или очень затрудняет поддержание на одном внешнем носителе нескольких архивов долговременно хранимой информации. Кроме того, каждой прикладной программе приходилось решать проблемы именования частей данных и структуризации данных во внешней памяти. Информационные системы главным образом ориентированы на хранение, выбор и модификацию постоянно хранимой информации. Структура информации обычно очень сложна, и хотя структуры данных различны в разных информационных системах, между ними часто бывает много общего. На начальном этапе использования вычислительной техники проблемы структуризации данных решались индивидуально в каждой информационной системе. Производились необходимые надстройки (библиотеки программ) над файловыми системами, подобно тому, как это делается в компиляторах, редакторах и т. д. Но поскольку в информационных системах требуется поддержка сложных структур данных, эти индивидуальные средства управления данными составляли существенную часть информационных систем, практически повторяясь (как программные компоненты) от одной системы к другой. Стремление выделить общую часть информационных систем, ответственную за управление сложно структурированными данными явилось первой побудительной причиной создания СУБД, которая могла бы представлять некоторую общую библиотеку программ, доступную каждой информационной системе. Однако очень скоро стало понятно, что невозможно обойтись такой общей библиотекой программ, реализующей над стандартной базовой файловой системой более сложные методы хранения данными. Поясним это на примере. Предположим, что мы хотим реализовать простую информационную систему, поддерживающую учет сотрудников некоторой организации. Система должна выдавать списки сотрудников в соответствии с указанными номерами отделов, поддерживать регистрацию перевода сотрудника из одного отдела в другой, приема на работу новых сотрудников и увольнения работающих. Для каждого отдела должна поддерживаться возможность получения имени руководителя этого отдела, общей численности отдела, общей суммы выплаченной в последний раз зарплаты и т. д. Для каждого сотрудника должна поддерживаться возможность выдачи номера удостоверения по полному имени сотрудника, выдачи полного имени по номеру удостоверения, получения информации о текущем соответствии занимаемой должности сотрудника и о размере зарплаты. Предположим, что мы решили реализовать эту информационную систему на основе файловой системы и пользоваться при этом одним файлом, расширив базовые возможности файловой системы за счет специальной библиотеки функций. Поскольку минимальной информационной единицей в нашем случае является сотрудник, естественно потребовать, чтобы в этом файле содержалась одна запись для каждого сотрудника. Очевидно, что поля таких записей должны содержать полное имя сотрудника (СОТР_ИМЯ), номер его удостоверения (СОТР_НОМЕР), информацию о занимаемой должности (СОТР_ДОЛЖ), размер зарплаты (СОТР_ЗАРП), номер отдела (СОТР_ОТД_НОМЕР). Поскольку мы хотим ограничиться одним файлом, эта же запись должна содержать имя руководителя отдела (СОТР_ОТД_РУК). Для выполнения функций нашей информационной системы требуется возможность многоключевого доступа к этому файлу по уникальным ключам (недублируемым в разных записях) СОТР_ИМЯ и СОТР_НОМЕР. Кроме того, должна обеспечиваться возможность выбора всех записей с общим заданным значением СОТР_ОТД_НОМЕР, т. е. доступ по неуникальному ключу. Чтобы получить численность отдела или общий размер зарплаты, информационная система должна будет каждый раз выбирать все записи о сотрудниках отдела и подсчитывать соответствующие общие значения. Таким образом, для реализации даже такой простой системы на базе файловой системы, во-первых, требуется создание достаточно сложной надстройки, обеспечивающей многоключевой доступ к файлам, и, во-вторых, неизбежны существенная избыточность хранения (для каждого сотрудника данного отдела повторяется имя руководителя отдела) и выполнение массовой выборки и вычислений для получения сводной информации об отделах. Кроме того, если в ходе эксплуатации системы возникнет потребность, например, выдавать списки сотрудников, получающих заданную зарплату, то придется либо полностью просматривать файл, либо реструктуризовывать его, объявляя ключевым поле СОТР_ЗАРП. Первое, что приходит на ум, - начать поддерживать два многоключевых файла СОТРУДНИКИ и ОТДЕЛЫ: первый файл должен содержать поля СОТР_ИМЯ, СОТР_НОМЕР, СОТР_ДОЛЖ, СОТР_ЗАРП и СОТР_ОТД_НОМЕР, а второй - ОТД_НОМЕР, ОТД_РУК, СОТР_ЗАРП (общий размер зарплаты) и ОТД_РАЗМЕР (общее число сотрудников в отделе). Тогда большая часть неудобств, перечисленных в предыдущем абзаце, будет преодолена. Каждый из файлов будет содержать только недублируемую информацию, необходимость в динамических вычислениях сводной информации не возникнет. Но заметим, что после такого перехода информационная система будет обладать некоторыми новыми возможностями, сближающими ее с СУБД. Прежде всего, теперь система должна знать, что она работает с двумя информационно связанными файлами (это шаг в сторону схемы базы данных), ей должны быть известны структура и смысл каждого поля (например, что СОТР_ОТД _НОМЕР в файле СОТРУДНИКИ и ОТД_НОМЕР в файле ОТДЕЛЫ означают одно и то же), а также понимать, что в ряде случаев изменение информации в одном файле должно вызывать модификацию второго файла, чтобы общее содержимое файлов было согласованным. Например, если на работу принимается новый сотрудник, то необходимо добавить запись в файл СОТРУДНИКИ, а также соответствующим образом изменить поля ОТД_ЗАРП и ОТД_РАЗМЕР в записи файла ОТДЕЛЫ, описывающей отдел этого сотрудника. Вообще, согласованность данных является ключевым понятием баз данных. На самом деле, если информационная система (даже такая простая, как в нашем примере) поддерживает согласованное хранение информации в нескольких файлах, можно говорить о том, что она поддерживает базу данных. Если же некоторая вспомогательная система управления данными позволяет работать с несколькими файлами, обеспечивая их согласованность, можно назвать ее системой управления базами данных. Уже только требование поддержания согласованности данных в нескольких файлах не позволяет обойтись библиотекой функций: такая система должна обладать некоторыми собственными данными (метаданными) и даже знаниями, определяющими целостность данных. Но это еще не все, что обычно требуют от СУБД. Во-первых, даже в нашем примере неудобно реализовывать такие запросы, как "выдать общую численность отдела, в котором работает Иван Арутюнович Шепитько". Было бы гораздо проще, если бы СУБД позволяла сформулировать такой запрос на близком пользователям языке. Такие языки называются языками запросов к базам данных. Например, на языке SQL наш запрос можно было выразить в форме SELECT ОТД_РАЗМЕР FROM СОТРУДНИКИ, ОТДЕЛЫ WHERE СОТР_ИМЯ = "ИВАН АРУТЮНОВИЧ ШЕПИТЬКО" AND СОТР_ОТД_НОМЕР = ОТД_НОМЕР При формулировании запроса СУБД позволит не задумываться о том, каким образом будет выполняться этот запрос. Среди ее метаданных будет содержаться информация о том, что поле СОТР_ИМЯ является ключевым для файла СОТРУДНИКИ, а ОТД_НОМЕР - для файла ОТДЕЛЫ и система сама воспользуется этим. Если же возникнет потребность в получении списка сотрудников, занимающих должность инженер, то достаточно предъявить системе запрос SELECT СОТР_ИМЯ, СОТР_НОМЕР FROM СОТРУДНИКИ WHERE СОТР_ДОЛЖ = "инженер", и система сама выполнит необходимый полный просмотр файла СОТРУДНИКИ, поскольку поле СОТР_ДОЛЖ не является ключевым. Далее, представим себе, что в первоначальной реализации информационной системы, основанной на использовании библиотек расширенных методов доступа к файлам, обрабатывается операция регистрации нового сотрудника. Следуя требованиям согласованного изменения файлов, информационная система вставила новую запись в файл СОТРУДНИКИ и собралась модифицировать запись файла ОТДЕЛЫ, но именно в этот момент произошло аварийное выключение электрического питания. Очевидно, что после перезапуска системы ее база данных будет находиться в рассогласованном состоянии. Потребуется выяснить это (а для этого нужно явно проверить соответствие информации в файлах СОТРУДНИКИ и ОТДЕЛЫ) и привести информацию в согласованное состояние. Настоящие СУБД берут такую работу на себя. Прикладная система обязана знать, какое состояние данных является корректным, но всю техническую работу принимает на себя СУБД. Наконец, представим себе, что мы хотим обеспечить параллельную (например, многотерминальную) работу с базой данных сотрудников. Если опираться только на использование файлов, то для обеспечения корректности изменений на все время модификации любого из двух файлов доступ других пользователей к этому файлу будет блокирован (вспомните возможности файловых систем для синхронизации параллельного доступа). Таким образом, зачисление на работу Петра Ивановича Сидорова существенно затормозит получение информации о сотруднике Иване Сидоровиче Петрове, даже если они будут работать в разных отделах. Настоящие СУБД обеспечивают гораздо более тонкую синхронизацию параллельного доступа к данным. Таким образом, СУБД решают множество проблем, которые затруднительно или вообще невозможно решить при использовании файловых систем. При этом существуют приложения, для которых вполне достаточно файлов, приложения, для которых необходимо решать, какой уровень работы с данными во внешней памяти для них требуется, и приложения, для которых безусловно нужны базы данных. Современные системы управления файлами и управления базами данных представляют собой весьма совершенные инструменты, каждый из которых может быть очень успешно применен в соответствующей области деятельности. Но всегда необходимо помнить, что каждый инструмент приносит максимальную пользу именно в той области, для которой он создан. Функции и структура СУБД Как было показано выше, традиционных возможностей файловых систем оказывается недостаточно для построения даже простых информационных систем. Мы выявили несколько потребностей, которые не покрываются возможностями систем управления файлами: поддержание логически согласованного набора файлов; обеспечение языка манипулирования данными; восстановление информации после разного рода сбоев; реально параллельная работа нескольких пользователей. Можно считать, что если прикладная информационная система опирается на некоторую систему управления данными, обладающую этими свойствами, то она является системой управления базами данных (СУБД). Тем не менее, полезно сформулировать эти (и другие) важные функции отдельно. Основные функции СУБД К числу функций СУБД принято относить следующее: Непосредственное управление данными во внешней памяти Эта функция включает обеспечение необходимых структур внешней памяти как для хранения непосредственных данных, входящих в БД, так и для служебных целей, например, для убыстрения доступа к данным в некоторых случаях (обычно для этого используются индексы). В некоторых реализациях СУБД активно используются возможности существующих файловых систем, в других работа производится вплоть до уровня устройств внешней памяти. Но подчеркнем, что в развитых СУБД пользователи в любом случае не обязаны знать, использует ли СУБД файловую систему, а если использует, то как организованы файлы. В частности, СУБД поддерживает собственную систему именования объектов БД (это очень важно, поскольку имена объектов базы данных соответствуют именам объектов предметной области). Существует множество различных способов организации внешней памяти баз данных. Как и все решения, принимаемые при организации баз данных, конкретные методы организации внешней памяти необходимо выбирать в тесной связи со всеми остальными решениями. Управление буферами оперативной памяти СУБД обычно работают с БД значительного размера; по крайней мере этот размер обычно существенно превышает доступный объем оперативной памяти. Понятно, если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Единственным же способом реального увеличения этой скорости является буферизация данных в оперативной памяти. И даже если операционная система производит общесистемную буферизацию (как в случае ОС UNIX), этого недостаточно для целей СУБД, которая располагает гораздо большей информацией о полезности буферизации той или иной части БД. Поэтому в развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов. При управлении буферами основной памяти приходится разрабатывать и применять согласованные алгоритмы буферизации, журнализации и синхронизации. Существует отдельное направление СУБД, которое ориентировано на постоянное присутствие в оперативной памяти всей БД. Это направление основывается на предположении, что в предвидимом будущем объем оперативной памяти компьютеров сможет быть настолько велик, что позволит не беспокоиться о буферизации. Пока эти работы находятся в стадии исследований. Управление транзакциями Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется и СУБД фиксирует (COMMIT) изменения БД, произведенные ею, во внешней памяти, либо ни одно из этих изменений никак не отражается в состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД. В нашем примере информационной системы отдела кадров с файлами СОТРУДНИКИ и ОТДЕЛЫ, то единственным способом не нарушить целостность БД при выполнении операции приема на работу нового сотрудника будет объединение элементарных операций над файлами СОТРУДНИКИ и ОТДЕЛЫ в одну транзакцию. Таким образом, поддержание механизма транзакций - обязательное условие даже однопользовательских СУБД. Но понятие транзакции гораздо существеннее во многопользовательских СУБД. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает очень удобным использование понятия транзакции как единицы активности пользователя по отношению к БД. При соответствующем управлении параллельно выполняющимися транзакциями со стороны СУБД каждый пользователь может в принципе ощущать себя единственным пользователем. С управлением транзакциями в многопользовательской СУБД связаны важные понятия сериализации транзакций и сериального плана выполнения смеси транзакций. Под сериализаций параллельно выполняющихся транзакций понимается такой порядок планирования их работы, при котором суммарный эффект смеси транзакций эквивалентен эффекту их некоторого последовательного выполнения. Сериальный план выполнения смеси транзакций - это такой способ их совместного выполнения, который приводит к сериализации транзакций. Понятно, что если удается добиться действительно сериального выполнения смеси транзакций, то для каждого пользователя, по инициативе которого образована транзакция, присутствие других транзакций будет незаметно (если не считать некоторого замедления работы для каждого пользователя по сравнению с однопользовательским режимом). Существует несколько базовых алгоритмов сериализации транзакций. В централизованных СУБД наиболее распространены алгоритмы, основанные на синхронизационных захватах объектов БД. При использовании любого алгоритма сериализации возможны ситуации конфликтов между двумя или более транзакциями по доступу к объектам БД. В этом случае для поддержания сериализации необходимо выполнить откат (ликвидировать все изменения, произведенные в БД) одной или более транзакций. Журнализация Одно из основных требований к СУБД - надежное хранение данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Примерами программных сбоев могут быть аварийное завершение работы СУБД (из-за ошибки в программе или некоторого аппаратного сбоя) или аварийное завершение пользовательской программы, в результате чего некоторая транзакция остается незавершенной. Первую ситуацию можно рассматривать как особый вид мягкого аппаратного сбоя; при возникновении последней требуется ликвидировать последствия только одной транзакции. Но в любом случае для восстановления БД нужно располагать некоторой дополнительной информацией. Другими словами, поддержание надежного хранения данных в БД требует избыточности хранения данных, причем та их часть, которая используется для восстановления, должна храниться особо надежно. Наиболее распространенный метод поддержания такой избыточной информации - ведение журнала изменений БД. Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая особо тщательно (иногда поддерживаются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД. В разных СУБД изменения БД журнализуются на разных уровнях: иногда запись в журнале соответствует некоторой логической операции изменения БД (например, операции удаления строки из таблицы реляционной БД), а порой запись соответствует минимальной внутренней операции модификации страницы внешней памяти. В некоторых системах одновременно используются оба подхода. Во всех случаях придерживаются стратегии "упреждающей" записи в журнал (так называемого протокола Write Ahead Log - WAL). Грубо говоря, эта стратегия заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД. Известно, если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя. Самая простая ситуация восстановления - индивидуальный откат транзакции. Строго говоря, для этого не требуется общесистемный журнал изменений БД. Достаточно для каждой транзакции поддерживать локальный журнал операций модификации БД, выполненных в этой транзакции, и производить откат транзакции выполнением обратных операций, следуя от конца локального журнала. В некоторых СУБД так и делают, но в большинстве систем локальные журналы не поддерживают, а индивидуальный откат транзакции выполняют по общесистемному журналу, для чего все записи от одной транзакции связывают обратным списком (от конца к началу). При мягком сбое во внешней памяти основной части БД могут находиться объекты, модифицированные транзакциями, не закончившимися к моменту сбоя, и могут отсутствовать объекты, модифицированные транзакциями, которые к моменту сбоя успешно завершились (по причине использования буферов оперативной памяти, содержимое которых при мягком сбое пропадает). При соблюдении протокола WAL во внешней памяти журнала должны гарантированно находиться записи, относящиеся к операциям модификации обоих видов объектов. Целью процесса восстановления после мягкого сбоя является состояние внешней памяти основной части БД, которое возникло бы при фиксации во внешней памяти изменений всех завершившихся транзакций и которое не содержало бы никаких следов незаконченных транзакций. Чтобы этого добиться, сначала производят откат незавершенных транзакций (undo), а потом повторно воспроизводят (redo) те операции завершенных транзакций, результаты которых не отображены во внешней памяти. Этот процесс содержит много тонкостей, связанных с общей организацией управления буферами и журналом. Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД. Грубо говоря, архивная копия - это полная копия БД к моменту начала заполнения журнала. Конечно, для нормального восстановления БД после жесткого сбоя необходимо, чтобы журнал не пропал. Как уже отмечалось, к сохранности журнала во внешней памяти в СУБД предъявляются особо повышенные требования. Тогда восстановление БД состоит в том, что исходя из архивной копии по журналу воспроизводится работа всех транзакций, которые закончились к моменту сбоя. В принципе можно даже воспроизвести работу незавершенных транзакций и продолжить их работу после конца восстановления. Однако в реальных системах это обычно не делается, поскольку процесс восстановления после жесткого сбоя является достаточно длительным. Языки БД Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два - язык определения схемы БД (SDL - Schema Definition Language) и язык манипулирования данными (DML - Data Manipulation Language). SDL служил главным образом для определения логической структуры БД, т.е. той структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные. Ниже мы рассмотрим более подробно языки ранних СУБД . В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language). Перечислим основные функции реляционной СУБД, поддерживаемые на "языковом" уровне (т.е. функции, поддерживаемые при реализации интерфейса SQL). Прежде всего язык SQL сочетает средства SDL и DML, т.е. позволяет определять схему реляционной БД и манипулировать данными. При этом именование объектов БД (для реляционной БД - именование таблиц и их столбцов) поддерживается на языковом уровне в том смысле, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц-каталогов. Внутренняя часть СУБД (ядро) вообще не работает с именами таблиц и их столбцов. Язык SQL содержит специальные средства определения ограничений целостности БД. Опять же ограничения целостности хранятся в специальных таблицах-каталогах, и обеспечение контроля целостности БД производится на языковом уровне, т.е. при компиляции операторов модификации БД компилятор SQL на основании имеющихся в БД ограничений целостности генерирует соответствующий программный код. Специальные операторы языка SQL позволяют определять так называемые представления БД, фактически являющиеся хранимыми в БД запросами (результатом любого запроса к реляционной БД является таблица) с именованными столбцами. Для пользователя представление является такой же таблицей, как любая базовая таблица, хранимая в БД, но с помощью представлений можно ограничить или наоборот расширить видимость БД для конкретного пользователя. Поддержание представлений производится также на языковом уровне. Наконец, авторизация доступа к объектам БД производится на основе специального набора операторов SQL. Идея состоит в том, что для выполнения операторов SQL разного вида пользователь должен обладать различными полномочиями. Пользователь, создавший таблицу БД, обладает полным набором полномочий для работы с этой таблицей. В их число входит полномочие на передачу всех или части полномочий другим пользователям, включая полномочие на передачу полномочий. Полномочия пользователей описываются в специальных таблицах-каталогах, контроль полномочий поддерживается на языковом уровне. Преподаватель делает выводы по первому учебному вопросу. 2. Структура информационной системы Типовая организация современной СУБД Организация типичной СУБД и состав ее компонентов соответствует рассмотренному нами набору функций. Мы выделили следующие основные функции СУБД: управление данными во внешней памяти; управление буферами оперативной памяти; управление транзакциями; журнализация и восстановление БД после сбоев; поддержание языков БД. Логически в современной реляционной СУБД можно выделить наиболее внутреннюю часть - ядро СУБД (часто его называют Data Base Engine), компилятор языка БД (обычно SQL), подсистему поддержки времени выполнения, набор утилит. В некоторых системах эти части выделяются явно, в других - нет, но логически такое разделение можно провести во всех СУБД. Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. Соответственно можно выделить такие компоненты ядра (по крайней мере, логически, хотя в некоторых системах эти компоненты выделяются явно), как менеджер данных, менеджер буферов, менеджер транзакций и менеджер журнала. Функции этих компонентов взаимосвязаны, и для обеспечения корректной работы СУБД все эти компоненты должны взаимодействовать по тщательно продуманным и проверенным протоколам. Ядро СУБД обладает собственным интерфейсом, не доступным пользователям напрямую и используемым в программах, производимых компилятором SQL (или в подсистеме поддержки выполнения таких программ), и утилитах БД. Ядро СУБД является основной резидентной частью СУБД. При использовании архитектуры "клиент-сервер" ядро является основным составляющим серверной части системы. Основная функция компилятора языка БД - компиляция операторов языка БД в некоторую выполняемую программу. Основной проблемой реляционных СУБД является то, что языки этих систем (а это, как правило, SQL) являются непроцедурными, т.е. в операторе такого языка специфицируется некоторое действие над БД, но эта спецификация не процедура, она лишь описывает в некоторой форме условия совершения желаемого действия. Поэтому компилятор должен решить, каким образом выполнять оператор языка, прежде чем произвести программу. Применяются достаточно сложные методы оптимизации операторов, которые мы подробно рассмотрим в следующих лекциях. Результатом компиляции является выполняемая программа, представляемая в некоторых системах в машинных кодах, но более часто в выполняемом внутреннем машинно-независимом коде. В последнем случае реальное выполнение оператора производится с привлечением подсистемы поддержки времени выполнения, представляющей собой, по сути дела, интерпретатор этого внутреннего языка. Наконец, в отдельные утилиты БД обычно выделяют такие процедуры, которые слишком накладно выполнять с использованием языка БД, например, загрузка и разгрузка БД, сбор статистики, глобальная проверка целостности БД и т.д. Утилиты программируются с использованием интерфейса ядра СУБД, а иногда даже с проникновением внутрь ядра. Ранние (дореляционные) СУБД Прежде чем перейти к детальному и последовательному изучению реляционных систем БД, остановимся коротко на ранних (дореляционных) СУБД. В этом есть смысл по трем причинам: во-первых, эти системы исторически предшествовали реляционным и для правильного понимания причин повсеместного перехода к реляционным системам нужно знать хотя бы что-нибудь об их предшественниках; во-вторых, внутренность реляционных систем во многом основана на использовании методов ранних систем; в-третьих, некоторое знание в области ранних систем будет полезно для понимания путей развития постреляционных СУБД. Мы ограничиваемся рассмотрением только общих подходов к организации двух типов ранних систем, а именно, иерархических и сетевых систем управления базами данных. Наиболее общие характеристики ранних систем: a) Эти системы активно использовались в течение многих лет, дольше, чем какая-либо из реляционных СУБД. На самом деле некоторые из ранних систем используются даже в наше время, накоплены громадные базы данных, и одной из актуальных проблем информационных систем является использование их совместно с современными системами. b) Все ранние системы не основывались на каких-либо абстрактных моделях. Понятие модели данных фактически вошло в обиход специалистов в области БД только вместе с реляционным подходом. Абстрактные представления ранних систем появились позже на основе анализа и выявления общих признаков у различных конкретных систем. c) В ранних системах доступ к БД производился на уровне записей. Пользователи этих систем осуществляли явную навигацию в БД, используя языки программирования, расширенные функциями СУБД. Интерактивный доступ к БД поддерживался только путем создания соответствующих прикладных программ с собственным интерфейсом. d) Можно считать, что уровень средств ранних СУБД соотносится с уровнем файловых систем примерно так же, как уровень языка Кобол соотносится с уровнем языка Ассемблера. e) Навигационная природа ранних систем и доступ к данным на уровне записей заставляли производить всю оптимизацию доступа к БД самого пользователя, без какой-либо поддержки системы. f) После появления реляционных систем большинство ранних систем было оснащено "реляционными" интерфейсами. Однако в большинстве случаев это не сделало их понастоящему реляционными системами, поскольку оставалась возможность манипулировать данными в естественном для них режиме. Иерархические СУБД Структура данных. Организация данных в СУБД иерархического типа определяется в терминах: элемент, агрегат, запись (группа), групповое отношение, база данных. Атрибут (элемент данных) - наименьшая единица структуры данных. Обычно каждому элементу при описании базы данных присваивается уникальное имя. По этому имени к нему обращаются при обработке. Элемент данных также часто называют полем. Запись - именованная совокупность атрибутов. Использование записей позволяет за одно обращение к базе получить некоторую логически связанную совокупность данных. Именно записи изменяются, добавляются и удаляются. Тип записи определяется составом ее атрибутов. Экземпляр записи - конкретная запись с конкретным значением элементов Групповое отношение - иерархическое отношение между записями двух типов. Родительская запись (владелец группового отношения) называется исходной записью, а дочерние записи (члены группового отношения) - подчиненными. Иерархическая база данных может хранить только такие древовидные структуры. Корневая запись каждого дерева обязательно должна содержать ключ с уникальным значением. Ключи некорневых записей должны иметь уникальное значение только в рамках группового отношения. Каждая запись идентифицируется полным сцепленным ключом, под которым понимается совокупность ключей всех записей от корневой по иерархическому пути. При графическом изображении групповые отношения изображают дугами ориентированного графа, а типы записей - вершинами (диаграмма Бахмана). Для групповых отношений в иерархической модели обеспечивается автоматический режим включения и фиксированное членство. Это означает, что для запоминания любой некорневой записи в БД должна существовать ее родительская запись (подробнее о режимах включения и исключения записей сказано в параграфе о сетевой модели). При удалении родительской записи автоматически удаляются все подчиненные. Пример: Рассмотрим следующую модель данных предприятия: предприятие состоит из отделов, в которых работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе. Поэтому, для информационной системы управления персоналом необходимо создать групповое отношение, состоящее из родительской записи ОТДЕЛ (НАИМЕНОВАНИЕ_ОТДЕЛА, ЧИСЛО_РАБОТНИКОВ) и дочерней записи СОТРУДНИК (ФАМИЛИЯ, ДОЛЖНОСТЬ, ОКЛАД). Это отношение показано на рис. 1(а) (Для простоты полагается, что имеются только две дочерние записи). Для автоматизации учета контрактов с заказчиками необходимо создание еще одной иерархической структуры : заказчик - контракты с ним - сотрудники, задействованные в работе над контрактом. Это дерево будет включать записи ЗАКАЗЧИК(НАИМЕНОВАНИЕ_ЗАКАЗЧИКА, АДРЕС), КОНТРАКТ(НОМЕР, ДАТА,СУММА), ИСПОЛНИТЕЛЬ (ФАМИЛИЯ, ДОЛЖНОСТЬ, НАИМЕНОВАНИЕ_ОТДЕЛА). Рис. 1 Из этого примера видны недостатки иерархических БД: Частично дублируется информация между записями СОТРУДНИК и ИСПОЛНИТЕЛЬ (такие записи называют парными), причем в иерархической модели данных не предусмотрена поддержка соответствия между парными записями. Иерархическая модель реализует отношение между исходной и дочерней записью по схеме 1:N, т. е. одной родительской записи может соответствовать любое число дочерних. Допустим теперь, что исполнитель может принимать участие более чем в одном контракте (т.е. возникает связь типа M:N). В этом случае в базу данных необходимо ввести еще одно групповое отношение, в котором ИСПОЛНИТЕЛЬ будет являться исходной записью, а КОНТРАКТ дочерней (рис. 1(c)). Таким образом, мы опять вынуждены дублировать информацию. Операции над данными, определенные в иерархической модели: ДОБАВИТЬ в базу данных новую запись. Для корневой записи обязательно формирование значения ключа. ИЗМЕНИТЬ значение данных предварительно извлеченной записи. Ключевые данные не должны подвергаться изменениям. УДАЛИТЬ некоторую запись и все подчиненные ей записи. ИЗВЛЕЧЬ: извлечь корневую запись по ключевому значению, допускается также последовательный просмотр корневых записей; извлечь следующую запись (следующая запись извлекается в порядке левостороннего обхода дерева). В операции ИЗВЛЕЧЬ допускается задание условий выборки (например, извлечь сотрудников с окладом более 1 тыс. руб.) Как видим, все операции изменения применяются только к одной "текущей" записи (которая предварительно извлечена из базы данных). Такой подход к манипулированию данных получил название "навигационного". Ограничения целостности Поддерживается только целостность связей между владельцами и членами группового отношения (никакой потомок не может существовать без предка). Как уже отмечалось, не обеспечивается автоматическое поддержание соответствия парных записей, входящих в разные иерархии. Сетевые СУБД Структура данных На разработку этого стандарта большое влияние оказал американский ученый Ч.Бахман. Основные принципы сетевой модели данных были разработаны в середине 60-х годов, эталонный вариант сетевой модели данных описан в отчетах рабочей группы по языкам баз данных (COnference on DAta SYstem Languages) CODASYL (1971 г.). Сетевая модель данных определяется в тех же терминах, что и иерархическая. Она состоит из множества записей, которые могут быть владельцами или членами групповых отношений. Связь между записью-владельцем и записью-членом также имеет вид 1:N. Основное различие этих моделей состоит в том, что в сетевой модели запись может быть членом более чем одного группового отношения. Согласно этой модели каждое групповое отношение именуется и проводится различие между его типом и экземпляром. Тип группового отношения задается его именем и определяет свойства общие для всех экземпляров данного типа. Экземпляр группового отношения представляется записью-владельцем и множеством (возможно пустым) подчиненных записей. При этом имеется следующее ограничение: экземпляр записи не может быть членом двух экземпляров групповых отношений одного типа (т.е. сотрудник из рассмотренного выше примера, например, не может работать в двух отделах). Иерархическая структура преобразовывается в сетевую следующим: древья (a) и (b) заменяются одной сетевой структурой, в которой запись СОТРУДНИК входит в два групповых отношения (рис. 2); для отображения типа M:N вводится запись СОТРУДНИК_КОНТРАКТ, которая не имеет полей и служит только для связи записей КОНТРАКТ и СОТРУДНИК (отметим, что в этой записи может храниться и полезная информация, например, доля данного сотрудника в общем вознаграждении по данному контракту). Рис. 2 Каждый экземпляр группового отношения характеризуется следующими признаками: способ упорядочения подчиненных записей: произвольный, хронологический /очередь/, обратный хронологический /стек/, сортированный. Если запись объявлена подчиненной в нескольких групповых отношениях, то в каждом из них может быть назначен свой способ упорядочивания; режим включения подчиненных записей: автоматический - невозможно занести в БД запись без того, чтобы она была сразу же закреплена за неким владельцем; ручной - позволяет запомнить в БД подчиненную запись и не включать ее немедленно в экземпляр группового отношения. Эта операция позже инициируется пользователем); режим исключения. Принято выделять три класса членства подчиненных записей в групповых отношениях: Фиксированное. Подчиненная запись жестко связана с записью владельцем и ее можно исключить из группового отношения только удалив. При удалении записи-владельца все подчиненные записи автоматически тоже удаляются. В рассмотренном выше примере фиксированное членство предполагает групповое отношение "ЗАКЛЮЧАЕТ" между записями "КОНТРАКТ" и "ЗАКАЗЧИК", поскольку контракт не может существовать без заказчика. Обязательное. Допускается переключение подчиненной записи на другого владельца, но невозможно ее существование без владельца. Для удаления записи-владельца необходимо, чтобы она не имела подчиненных записей с обязательным членством. Таким отношением связаны записи "СОТРУДНИК" и "ОТДЕЛ". Если отдел расформировывается, все его сотрудники должны быть либо переведены в другие отделы, либо уволены. Необязательное. Можно исключить запись из группового отношения, но сохранить ее в базе данных, не прикрепляя к другому владельцу. При удалении записи-владельца ее подчиненные записи - необязательные члены сохраняются в базе, не участвуя более в групповом отношении такого типа. Примером такого группового отношения может служить "ВЫПОЛНЯЕТ" между "СОТРУДНИКИ" и "КОНТРАКТ", поскольку в организации могут существовать работники, чья деятельность не связана с выполненинем каких-либо договорных обязательств перед заказчиками. Операции над данными. ДОБАВИТЬ - внести запись в БД и, в зависимости от режима включения, либо включить ее в групповое отношение, где она объявлена подчиненной, либо не включать ни в какое групповое отношение. ВКЛЮЧИТЬ В ГРУППОВОЕ ОТНОШЕНИЕ - связать существующую подчиненную запись с записью-владельцем. ПЕРЕКЛЮЧИТЬ - связать существующую подчиненную запись с другой записьювладельцем в том же групповом отношении. ОБНОВИТЬ - изменить значение элементов предварительно извлеченной записи. ИЗВЛЕЧЬ - извлечь записи последовательно по значению ключа, а также используя групповые отношения - от владельца можно перейти к записям - членам, а от подчиненной записи к владельцу набора. УДАЛИТЬ - убрать из БД запись. Если эта запись является владельцем группового отношения, то анализируется класс членства подчиненных записей. Обязательные члены должны быть предварительно исключены из группового отношения, фиксированные удалены вместе с владельцем, необязательные останутся в БД. ИСКЛЮЧИТЬ ИЗ ГРУППОВОГО ОТНОШЕНИЯ - разорвать связь между записьювладельцем и записью-членом. Ограничения целостности. Как и в иерархической модели обеспечивается только поддержание целостности по ссылкам (владелец отношения - член отношения). Преподаватель делает выводы по второму учебному вопросу. 1. Уровни представления данных Базовые понятия реляционных баз данных Основными понятиями реляционных баз данных являются: тип данных, домен, атрибут, кортеж, первичный ключ и отношение. Для начала покажем смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего некоторую информацию о сотрудниках некоторой организации (рис. 3): Рис. 3 Тип данных Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как "деньги"), а также специальных "темпоральных" данных (дата, время, временной интервал). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и "деньги". Домен Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат "истина", то элемент данных является элементом домена. Наиболее правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений данного типа. Например, домен "Имена" в нашем примере определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, такие строки не могут начинаться с мягкого знака). Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов "Номера пропусков" и "Номера групп" относятся к типу целых чисел, но не являются сравнимыми. В большинстве реляционных СУБД понятие домена не используется. Схема отношения, схема базы данных Схема отношения - это именованное множество пар имя атрибута, имя домена (или типа, если понятие домена не поддерживается). Степень, или "арность" схемы отношения,мощность этого множества. Степень отношения СОТРУДНИКИ равна четырем, т. е. оно является 4-арным. Если все атрибуты одного отношения определены на разных доменах, осмысленно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута). Схема БД (в структурном смысле) это набор именованных схем отношений. Кортеж, отношение Кортеж, соответствующий данной схеме отношения, - это множество пар имя атрибута, значение, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень, или "арность" кортежа, т.е. число элементов в нем, совпадает с "арностью" соответствующей схемы отношения. Т. е. кортеж - это набор именованных значений заданного типа. Отношение - это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят "отношение-схема" и "отношение-экземпляр", иногда схему отношения называют заголовком отношения, а отношение как набор кортежей - телом отношения. Понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношенияэкземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных. Обычным житейским представлением отношения является таблица, заголовком которой является схема отношения, а строками - кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят "столбец таблицы", имея в виду "атрибут отношения". Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД. Реляционная база данных - это набор отношений, имена которых совпадают с именами схем отношений в схеме БД. Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно. Фундаментальные свойства отношений Отсутствие кортежей-дубликатов То свойство, что отношения не содержат кортежей-дубликатов, следует из определения отношения как множества кортежей. В классической теории множеств, по определению, каждое множество состоит из различных элементов. Из этого свойства вытекает наличие у каждого отношения так называемого первичного ключа - набора атрибутов, значения которых однозначно определяют кортеж отношения. Для каждого отношения, по крайней мере, полный набор его атрибутов обладает этим свойством. Однако при формальном определении первичного ключа требуется обеспечение его "минимальности", т.е. в набор атрибутов первичного ключа не должны входить такие атрибуты, которые можно отбросить без ущерба для основного свойства,- однозначно определять кортеж. Понятие первичного ключа является исключительно важным в связи с понятием целостности баз данных. Во многих практических реализациях РСУБД допускается нарушение свойства уникальности кортежей для промежуточных отношений, порождаемых неявно при выполнении запросов. Такие отношения являются не множествами, а мультимножествами, что в ряде случаев позволяет добиться определенных преимуществ, но иногда приводит к серьезным проблемам. Отсутствие упорядоченности кортежей Отсутствие упорядоченности кортежей отношения также является следствием определения отношения-экземпляра как множества кортежей. Отсутствие требования к поддержанию порядка на множестве кортежей отношения дает дополнительную гибкость СУБД при хранении баз данных во внешней памяти и при выполнении запросов к базе данных. Это не противоречит тому, что при формулировании запроса к БД, например, на языке SQL можно потребовать сортировки результирующей таблицы в соответствии со значениями некоторых столбцов. Такой результат, это вообще говоря, не отношение, а некоторый упорядоченный список кортежей. Отсутствие упорядоченности атрибутов Атрибуты отношений не упорядочены, поскольку по определению схема отношения есть множество пар имя атрибута, имя домена. Для ссылки на значение атрибута в кортеже отношения всегда используется имя атрибута. Это свойство теоретически позволяет, например, модифицировать схемы существующих отношений не только путем добавления новых атрибутов, но и путем удаления существующих атрибутов. Однако в большинстве существующих систем такая возможность не допускается, и хотя упорядоченность набора атрибутов отношения явно не требуется, часто в качестве неявного порядка атрибутов используется их порядок в линейной форме определения схемы отношения. Атомарность значений атрибутов Значения всех атрибутов являются атомарными. Это следует из определения домена как потенциального множества значений простого типа данных, т.е. среди значений домена не могут содержаться множества значений (отношения). Принято говорить, что в реляционных базах данных допускаются только нормализованные отношения или отношения, представленные в первой нормальной форме. Нормализованные отношения составляют основу классического реляционного подхода к организации баз данных. Они обладают некоторыми ограничениями (не любую информацию удобно представлять в виде плоских таблиц), но существенно упрощают манипулирование данными. Реляционная модель данных Когда мы говорили об основных понятиях реляционных баз данных, мы не опирались на какую-либо конкретную реализацию. Эти рассуждения в равной степени относились к любой системе, при построении которой использовался реляционный подход. Другими словами, мы использовали понятия так называемой реляционной модели данных. Модель данных описывает некоторый набор родовых понятий и признаков, которыми должны обладать все конкретные СУБД и управляемые ими базы данных, если они основываются на этой модели. Наличие модели данных позволяет сравнивать конкретные реализации, используя один общий язык. Хотя понятие модели данных является общим и можно говорить о иерархической, сетевой, некоторой семантической и прочих моделях данных, нужно отметить, что это понятие было введено в обиход применительно к реляционным системам и наиболее эффективно используется именно в этом контексте. Общая характеристика Наиболее распространенная трактовка реляционной модели данных принадлежит Дейту, который воспроизводит ее (с различными уточнениями) практически во всех своих книгах. Согласно Дейту реляционная модель состоит из трех частей, описывающих разные аспекты реляционного подхода: структурной части, манипуляционной части и целостной части. В структурной части модели фиксируется, что единственной структурой данных, используемой в реляционных БД, является нормализованное n-арное отношение. Выше мы рассматривали именно понятия и свойства структурной составляющей реляционной модели. В манипуляционной части модели утверждаются два фундаментальных механизма манипулирования реляционными БД - реляционная алгебра и реляционное исчисление. Первый механизм базируется в основном на классической теории множеств (с некоторыми уточнениями), а второй - на классическом логическом аппарате исчисления предикатов первого порядка. Основной функцией манипуляционной части реляционной модели является обеспечение меры реляционности любого конкретного языка реляционных БД: язык называется реляционным, если он обладает не меньшей выразительностью и мощностью, чем реляционная алгебра или реляционное исчисление. Целостность сущности и ссылок Наконец, в целостной части реляционной модели данных фиксируются два базовых требования целостности, которые должны поддерживаться в любой реляционной СУБД. Первое требование называется требованием целостности сущностей. Объекту или сущности реального мира в реляционных БД соответствуют кортежи отношений. Конкретно требование состоит в том, что любой кортеж любого отношения должен быть отличим от любого другого кортежа этого отношения, т.е. другими словами, любое отношение должно обладать первичным ключом. Это требование автоматически удовлетворяется, если в системе не нарушаются базовые свойства отношений. Второе требование называется требованием целостности по ссылкам и является несколько более сложным. Очевидно, что при соблюдении нормализованности отношений сложные сущности реального мира представляются в реляционной БД в виде нескольких кортежей нескольких отношений. Например, нам требуется представить в реляционной базе данных сущность ОТДЕЛ с атрибутами ОТД_НОМЕР (номер отдела), ОТД_КОЛ (количество сотрудников) и ОТД_СОТР (набор сотрудников отдела). Для каждого сотрудника нужно хранить СОТР_НОМЕР (номер сотрудника), СОТР_ИМЯ (имя сотрудника) и СОТР_ЗАРП (заработная плата сотрудника). При правильном проектировании соответствующей БД в ней появятся два отношения: ОТДЕЛЫ (ОТД_НОМЕР, ОТД_КОЛ) (первичный ключ - ОТД_НОМЕР) и СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ИМЯ, СОТР_ЗАРП, СОТР_ОТД_НОМ) (первичный ключ - СОТР_НОМЕР). Как видно, атрибут СОТР_ОТД_НОМ появляется в отношении СОТРУДНИКИ не потому, что номер отдела является собственным свойством сотрудника, а лишь для того, чтобы иметь возможность восстановить при необходимости полную сущность ОТДЕЛ. Значение атрибута СОТР_ОТД_НОМ в любом кортеже отношения СОТРУДНИКИ должно соответствовать значению атрибута ОТД_НОМ в некотором кортеже отношения ОТДЕЛЫ. Атрибут такого рода называется внешним ключом, поскольку его значения однозначно характеризуют сущности, представленные кортежами некоторого другого отношения (т.е. задают значения их первичного ключа). Говорят, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом. Требование целостности по ссылкам, или требование внешнего ключа, состоит в том, что для каждого значения внешнего ключа, появляющего в ссылающемся отношении, в отношении, на которое ведет ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть полностью неопределенным (т.е. ни на что не указывать). Для нашего примера это означает, что если для сотрудника указан номер отдела, то этот отдел должен существовать. Ограничения целостности сущности и по ссылкам должны поддерживаться СУБД. Для соблюдения целостности сущности достаточно гарантировать отсутствие в любом отношении кортежей с одним и тем же значением первичного ключа. С целостностью по ссылкам дела обстоят несколько более сложно. Понятно, что при обновлении ссылающегося отношения (вставке новых кортежей или модификации значения внешнего ключа в существующих кортежах) достаточно следить за тем, чтобы не появлялись некорректные значения внешнего ключа. Но как быть при удалении кортежа из отношения, на которое ведет ссылка? Здесь существуют три подхода, каждый из которых поддерживает целостность по ссылкам. Первый подход заключается в том, что запрещается производить удаление кортежа, на который существуют ссылки (т.е. сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа). При втором подходе при удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится неопределенным. Наконец, третий подход (каскадное удаление) состоит в том, что при удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи. В развитых реляционных СУБД обычно можно выбрать способ поддержания целостности по ссылкам для каждой отдельной ситуации определения внешнего ключа. Конечно, для принятия такого решения необходимо анализировать требования конкретной прикладной области. Базисные средства манипулирования реляционными данными В манипуляционной составляющей определяются два базовых механизма манипулирования реляционными данными: основанная на теории множеств реляционная алгебра и базирующееся на математической логике (точнее, на исчислении предикатов первого порядка) реляционное исчисление. В свою очередь, обычно рассматриваются два вида реляционного исчисления - исчисление доменов и исчисление предикатов. Все эти механизмы обладают одним важным свойством: они замкнуты относительно понятия отношения. Это означает, что выражения реляционной алгебры и формулы реляционного исчисления определяются над отношениями реляционных БД и результатами вычислений также являются отношения. Как следствие, любое выражение или формула могут интерпретироваться как отношение, что позволяет использовать их в других выражениях или формулах. Алгебра и исчисление обладают большой выразительной мощностью: очень сложные запросы к базе данных могут быть выражены с помощью одного выражения реляционной алгебры или одной формулы реляционного исчисления. По этой причине именно эти механизмы включены в реляционную модель данных. Конкретный язык манипулирования реляционными БД называется реляционно полным, если любой запрос, выражаемый с помощью одного выражения реляционной алгебры или одной формулы реляционного исчисления, может быть выражен с помощью одного оператора этого языка. Механизмы реляционной алгебры и реляционного исчисления эквивалентны, т.е. для любого допустимого выражения реляционной алгебры можно построить эквивалентную (т.е. производящую такой же результат) формулу реляционного исчисления и наоборот. Почему же в реляционной модели данных присутствуют оба эти механизма? Дело в том, что они различаются уровнем процедурности. Выражения реляционной алгебры строятся на основе алгебраических операций (высокого уровня), и подобно тому, как интерпретируются арифметические и логические выражения, выражение реляционной алгебры также имеет процедурную интерпретацию. Другими словами, запрос, представленный на языке реляционной алгебры, может быть вычислен на основе вычисления элементарных алгебраических операций с учетом их старшинства и возможного наличия скобок. Для формулы реляционного исчисления подобная интерпретация, вообще говоря, отсутствует. Формула только устанавливает условия, которым должны удовлетворять кортежи результирующего отношения. Поэтому языки реляционного исчисления являются более непроцедурными или декларативными. Поскольку механизмы реляционной алгебры и реляционного исчисления эквивалентны, то в конкретной ситуации для проверки степени реляционности некоторого языка БД можно пользоваться любым из этих механизмов. Крайне редко алгебра или исчисление принимаются в качестве полной основы какого-либо языка БД. Обычно (как, например, в случае языка SQL) язык основывается на некоторой смеси алгебраических и логических конструкций. Тем не менее, знание алгебраических и логических основ языков баз данных часто бывает полезно на практике. Реляционная алгебра Основная идея реляционной алгебры состоит в том, что коль скоро отношения являются множествами, то средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных некоторыми специальными операциями, специфичными для баз данных. Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации, но, в принципе, они более или менее равносильны. Рассмотрим немного расширенный начальный вариант алгебры, который был предложен Коддом. В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции: объединения отношений; пересечения отношений; взятия разности отношений; Декартова произведения отношений. Специальные реляционные операции включают: ограничение (селекция) отношения; проекцию отношения; соединение отношений; деление отношений. Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения. Общая интерпретация реляционных операций При выполнении операции объединения двух отношений производится отношение, включающее все кортежи, входящие хотя бы в одно из отношений-операндов. Операция пересечения двух отношений производит отношение, включающее все кортежи, входящие в оба отношения-операнды. Отношение, являющееся разностью двух отношений, включает все кортежи, входящие в отношение - первый операнд; такие, что ни один из них не входит в отношение, являющееся вторым операндом. При выполнении прямого произведения двух отношений производится отношение, кортежи которого являются конкатенацией (сцеплением) кортежей первого и второго операндов. Результатом ограничения (селекции) отношения по некоторому условию является отношение, включающее кортежи отношения-операнда, удовлетворяющее этому условию. При выполнении проекции отношения на заданный набор его атрибутов производится отношение, кортежи которого производятся путем взятия соответствующих значений из заданных столбцов кортежей отношения-операнда. При соединении двух отношений по некоторому условию образуется результирующее отношение, кортежи которого являются конкатенацией кортежей первого и второго отношений и удовлетворяют этому условию. У операции реляционного деления два операнда - бинарное и унарное отношения. Результирующее отношение состоит из одноатрибутных кортежей, включающих значения первого атрибута кортежей первого операнда таких, что множество значений второго атрибута (при фиксированном значении первого атрибута) совпадает со множеством значений второго операнда. Операция переименования производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены. Операция присваивания позволяет сохранить результат вычисления реляционного выражения в существующем отношении БД. Поскольку результатом любой реляционной операции (кроме операции присваивания) является некоторое отношение, можно образовывать реляционные выражения, в которых вместо отношения-операнда некоторой реляционной операции находится вложенное реляционное выражение. Замкнутость реляционной алгебры и операция переименования Каждое отношение характеризуется схемой (или заголовком) и набором кортежей (или телом). Поэтому, если действительно желать иметь алгебру, операции которой замкнуты относительно понятия отношения, то каждая операция должна производить отношение в полном смысле, т.е. оно должно обладать и телом, и заголовком. Только в этом случае будет действительно возможно строить вложенные выражения. Заголовок отношения представляет собой множество пар <имя-атрибута, имя-домена>. Если посмотреть на общий обзор реляционных операций, приведенный выше, то видно, что домены атрибутов результирующего отношения однозначно определяются доменами отношений-операндов. Однако с именами атрибутов результата не всегда бывает все так просто. Например, представим себе, что у отношений-операндов операции прямого произведения имеются одноименные атрибуты с одинаковыми доменами. Каким должен был бы быть заголовок результирующего отношения? Поскольку заголовок - это множество, в нем не должны содержаться одинаковые элементы. Но и потерять атрибут в результате недопустимо. А это значит, что в этом случае вообще невозможно корректно выполнить операцию прямого произведения. Аналогичные проблемы могут возникать и в случаях других двуместных операций. Для их разрешения в состав операций реляционной алгебры вводится операция переименования. Ее следует применять в любом случае, когда возникает конфликт именования атрибутов в отношениях,- операндах одной реляционной операции. Тогда к одному из операндов сначала применяется операция переименования, а затем основная операция выполняется уже безо всяких проблем. В дальнейшем будем предполагать применение операции переименования во всех конфликтных случаях. Особенности теоретико-множественных операций реляционной алгебры Хотя в основе теоретико-множественной части реляционной алгебры лежит классическая теория множеств, соответствующие операции реляционной алгебры обладают некоторыми особенностями. Начнем с операции объединения (все, что будет говориться по поводу объединения, переносится на операции пересечения и взятия разности). Смысл операции объединения в реляционной алгебре в целом остается теоретико-множественным. Но если в теории множеств операция объединения осмысленна для любых двух множествоперандов, то в случае реляционной алгебры результатом операции объединения должно являться отношение. Если допустить в реляционной алгебре возможность теоретикомножественного объединения произвольных двух отношений (с разными схемами), то, конечно, результатом операции будет множество, но это множество, состоящее из разнотипных кортежей, т.е. оно не является отношением. Если исходить из требования замкнутости реляционной алгебры относительно понятия отношения, то такая операция объединения является бессмысленной. Все эти соображения приводят к появлению понятия совместимости отношений по объединению: два отношения совместимы по объединению в том и только в том случае, когда обладают одинаковыми заголовками. Более точно, это означает, что в заголовках обоих отношений содержится один и тот же набор имен атрибутов, и одноименные атрибуты определены на одном и том же домене. Если два отношения совместимы по объединению, то при обычном выполнении над ними операций объединения, пересечения и взятия разности результатом операции является отношение с корректно определенным заголовком, совпадающим с заголовком каждого из отношений-операндов. Если два отношения "почти" совместимы по объединению, т.е. совместимы во всем, кроме имен атрибутов, то до выполнения операции типа соединения эти отношения можно сделать полностью совместимыми по объединению путем применения операции переименования. Включение в состав операций реляционной алгебры трех операций объединения, пересечения и взятия разности является очевидно избыточным, поскольку известно, что любая из этих операций выражается через две другие. Тем не менее, Кодд в свое время решил включить все три операции, исходя из интуитивных потребностей потенциального пользователя системы реляционых БД, далекого от математики. Другие проблемы связаны с операцией взятия Декартова (или прямого) произведения двух отношений. В теории множеств прямое произведение может быть получено для любых двух множеств, и элементами результирующего множества являются пары, составленные из элементов первого и второго множеств. Поскольку отношения являются множествами, то и для любых двух отношений возможно получение прямого произведения. Но результат не будет отношением! Элементами результата будут являться не кортежи, а пары кортежей. Поэтому в реляционной алгебре используется специализированная форма операции взятия прямого произведения - расширенное прямое произведение отношений. При взятии расширенного прямого произведения двух отношений элементом результирующего отношения является кортеж, являющийся конкатенацией (или слиянием) одного кортежа первого отношения и одного кортежа второго отношения. Но теперь возникает второй вопрос - как получить корректно сформированный заголовок отношениярезультата? Очевидно, что проблемой может быть именование атрибутов результирующего отношения, если отношения-операнды обладают одноименными атрибутами. Эти соображения приводят к появлению понятия совместимости по взятию расширенного прямого произведения. Два отношения совместимы по взятию прямого произведения в том и только в том случае, если множества имен атрибутов этих отношений не пересекаются. Любые два отношения могут быть сделаны совместимыми по взятию прямого произведения путем применения операции переименования к одному из этих отношений. Следует заметить, что операция взятия прямого произведения не является слишком осмысленной на практике. Во-первых, мощность ее результата очень велика даже при допустимых мощностях операндов, а во-вторых, результат операции не более информативен, чем взятые в совокупности операнды. Как мы увидим немного ниже, основной смысл включения операции расширенного прямого произведения в состав реляционной алгебры состоит в том, что на ее основе определяется действительно полезная операция соединения. По поводу теоретико-множественных операций реляционной алгебры следует еще заметить, что все четыре операции являются ассоциативными, т.е., если обозначить через OP любую из четырех операций, то (A OP B) OP C = A ОР (B OP C), и, следовательно, без введения двусмысленности можно писать A OP B OP C (A, B и C отношения, обладающие свойствами, требуемыми для корректного выполнения соответствующей операции). Все операции, кроме взятия разности, являются коммутативными, т.е. A OP B = B OP A. Специальные реляционные операции В этом подразделе мы несколько подробнее рассмотрим специальные реляционные операции реляционной алгебры: ограничение, проекция, соединение и деление. Операция ограничения требует наличия двух операндов: ограничиваемого отношения и простого условия ограничения. Простое условие ограничения может иметь либо вид (a comp-op b), где а и b имена атрибутов ограничиваемого отношения, для которых осмысленна операция сравнения comp-op, либо вид (a comp-op const), где a - имя атрибута ограничиваемого отношения, а const литерально заданная константа. В результате выполнения операции ограничения производится отношение, заголовок которого совпадает с заголовком отношения-операнда, а в тело входят те кортежи отношения-операнда, для которых значением условия ограничения является true. Пусть UNION обозначает операцию объединения, INTERSECT - операцию пересечения, а MINUS - операцию взятия разности. Для обозначения операции ограничения будем использовать конструкцию A WHERE comp, где A - ограничиваемое отношение, а comp простое условие сравнения. Пусть comp1 и comp2 - два простых условия ограничения. Тогда по определению: A WHERE comp1 AND comp2 обозначает то же самое, что и (A WHERE comp1) INTERSECT (A WHERE comp2); A WHERE comp1 OR comp2 обозначает то же самое, что и (A WHERE comp1) UNION (A WHERE comp2); A WHERE NOT comp1 обозначает то же самое, что и A MINUS (A WHERE comp1). С использованием этих определений можно использовать операции ограничения, в которых условием ограничения является произвольное булевское выражение, составленное из простых условий с использованием логических связок AND, OR и NOT и скобок. На интуитивном уровне операцию ограничения лучше всего представлять как взятие некоторой "горизонтальной" вырезки из отношения-операнда. Операция взятия проекции Операция взятия проекции также требует наличия двух операндов - проецируемого отношения A и списка имен атрибутов, входящих в заголовок отношения A. Результатом проекции отношения A по списку атрибутов a 1 , a 2 , ..., a n является отношение, с заголовком, определяемым множеством атрибутов a 1 , a 2 , ..., a n , и с телом, состоящим из кортежей вида таких, что в отношении A имеется кортеж, атрибут a 1 которого имеет значение v 1 , атрибут a 2 имеет значение v 2 , ..., атрибут a n имеет значение v n . Тем самым, при выполнении операции проекции выделяется "вертикальная" вырезка отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов. Операция соединения отношений Общая операция соединения (называемая также соединением по условию) требует наличия двух операндов - соединяемых отношений и третьего операнда - простого условия. Пусть соединяются отношения A и B. Как и в случае операции ограничения, условие соединения comp имеет вид либо (a comp-op b), либо (a comp-op const), где a и b - имена атрибутов отношений A и B, const - литерально заданная константа, а comp-op - допустимая в данном контексте операция сравнения. Тогда по определению результатом операции соединения является отношение, получаемое путем выполнения операции ограничения по условию comp прямого произведения отношений A и B. Если тщательно осмыслить это определение, то станет ясно, что в общем случае применение условия соединения существенно уменьшит мощность результата промежуточного прямого произведения отношений-операндов только в том случае, когда условие соединения имеет вид (a comp-op b), где a и b - имена атрибутов разных отношений-операндов. Поэтому на практике обычно считают реальными операциями соединения именно те операции, которые основываются на условии соединения приведенного вида. Хотя операция соединения в этой интерпретации не является примитивной (поскольку она определяется с использованием прямого произведения и проекции), в силу особой практической важности она включается в базовый набор операций реляционной алгебры. В практических реализациях соединение обычно не выполняется именно как ограничение прямого произведения. Имеются более эффективные алгоритмы, гарантирующие получение такого же результата. Имеются важные частные случаи соединения - эквисоединение и простое, но важное расширение операции эквисоединения - естественное соединение. Операция соединения называется операцией эквисоединия, если условие соединения имеет вид (a = b), где a и b - атрибуты разных операндов соединения. Этот случай важен потому, что он часто встречается на практике, и для него существуют эффективные алгоритмы реализации. Операция естественного соединения применяется к паре отношения A и B, обладающих (возможно составным) общим атрибутом c (т.е. атрибутом с одним и тем же именем и определенным на одном и том же домене). Пусть ab обозначает объединение заголовков отношений A и B. Тогда естественное соединение A и B - это спроецированный на ab результат эквисоедиения A и B по A.c и B.c. Основной смысл операции естественного соединения возможность восстановления сложной сущности, декомопозированной по причине требования первой нормальной формы. Операция естественного соединения не включается прямо в состав набора операций реляционной алгебры, но имеет очень важное практическое значение. Операция деления отношений Эта операция является наименее очевидной из всех операций реляционной алгебры и поэтому нуждается в более подробном объяснении. Пусть заданы два отношения - A с заголовком {a 1 , a 2 , ..., a n , b 1 , b 2 , ..., b m } и B с заголовком {b 1 , b 2 , ..., b m }. Будем считать, что атрибут b i отношения A и атрибут b i отношения B не только обладают одним и тем же именем, но и определены на одном и том же домене. Назовем множество атрибутов {a j } составным атрибутом a, а множество атрибутов {b j } - составным атрибутом b. После этого будем говорить о реляционном делении бинарного отношения A(a,b) на унарное отношение B(b). Результатом деления A на B является унарное отношение C(a), состоящее из кортежей v таких, что в отношении A имеются кортежи такие, что множество значений {w} включает множество значений атрибута b в отношении B. Предположим, что в базе данных поддерживаются два отношения: ПОСТАВКИ(Шифр_поставщика,Шифр_товара) и ТОВАРЫ(Шифр_товара), причем унарное отношение ТОВАРЫ содержит все товары, по которым производятся поставки. Тогда после выполнения операции реляционного деления отношения ПОСТАВКИ на отношение ТОВАРЫ будет получено унарное отношение, содержащее шифры поставщиков, поставляющих все товары. Реляционное исчисление Предположим, что мы работаем с базой данных, обладающей схемой СОТРУДНИКИ (СОТР_НОМ, СОТР_ИМЯ, СОТР_ЗАРП, ОТД_НОМ) и ОТДЕЛЫ (ОТД_НОМ, ОТД_КОЛ, ОТД_НАЧ), и хотим узнать имена и номера сотрудников, являющихся начальниками отделов с количеством сотрудников больше 50. Если бы для формулировки такого запроса использовалась реляционная алгебра, то мы получили бы алгебраическое выражение, которое читалось бы, например, следующим образом: выполнить соединение отношений СОТРУДНИКИ и ОТДЕЛЫ по условию СОТР_НОМ = ОТД_НАЧ; ограничить полученное отношение по условию ОТД_КОЛ > 50; спроецировать результат предыдущей операции на атрибут СОТР_ИМЯ, СОТР_НОМ. Мы четко сформулировали последовательность шагов выполнения запроса, каждый из которых соответствует одной реляционной операции. Если же сформулировать тот же запрос с использованием реляционного исчисления, которому посвящается этот раздел, то мы получим формулу, которую можно было бы прочитать, например, следующим образом: Выдать СОТР_ИМЯ и СОТР_НОМ для сотрудников таких, что существует отдел с таким же значением ОТД_НАЧ и значением ОТД_КОЛ большим 50. Во второй формулировке мы указываем лишь характеристики результирующего отношения, но ничего не говорим о способе его формирования. В этом случае система должна сама решить, какие операции и в каком порядке нужно выполнить над отношениями СОТРУДНИКИ и ОТДЕЛЫ. Обычно говорят, что алгебраическая формулировка является процедурной, т.е. задающей правила выполнения запроса, а логическая - описательной (или декларативной), поскольку она всего лишь описывает свойства желаемого результата. На самом деле эти два механизма эквивалентны и существуют не очень сложные правила преобразования одного формализма в другой. Кортежные переменные и правильно построенные формулы Реляционное исчисление является прикладной ветвью формального механизма исчисления предикатов первого порядка. Базисными понятиями исчисления являются понятие переменной с определенной для нее областью допустимых значений и понятие правильно построенной формулы, опирающейся на переменные, предикаты и кванторы. В зависимости от того, что является областью определения переменной, различаются исчисление кортежей и исчисление доменов. В исчислении кортежей областями определения переменных являются отношения базы данных, т.е. допустимым значением каждой переменной является кортеж некоторого отношения. В исчислении доменов областями определения переменных являются домены, на которых определены атрибуты отношений базы данных, т.е. допустимым значением каждой переменной является значение некоторого домена. Рассмотрим более подробно исчисление кортежей, а затем коротко опишем особенности исчисления доменов. Необходимые синтаксические конструкции будут вводиться по мере необходимости. В совокупности, используемый синтаксис близок с синтаксисом языка баз данных QUEL, который долгое время являлся основным языком СУБД Ingres. Для определения кортежной переменной используется оператор RANGE. Например, для того, чтобы определить переменную СОТРУДНИК, областью определения которой является отношение СОТРУДНИКИ, нужно употребить конструкцию RANGE СОТРУДНИК IS СОТРУДНИКИ Как мы уже говорили, из этого определения следует, что в любой момент времени переменная СОТРУДНИК представляет некоторый кортеж отношения СОТРУДНИКИ. При использовании кортежных переменных в формулах можно ссылаться на значение атрибута переменной. Например, для того, чтобы сослаться на значение атрибута СОТР_ИМЯ переменной СОТРУДНИК, нужно употребить конструкцию СОТРУДНИК.СОТР_ИМЯ. Правильно построенные формулы (WFF - Well-Formed Formula) служат для выражения условий, накладываемых на кортежные переменные. Основой WFF являются простые сравнения (comparison), представлющие собой операции сравнения скалярных значений (значений атрибутов переменных или литерально заданных констант). Например, конструкция "СОТРУДНИК.СОТР_НОМ = 140" является простым сравнением. По определению, простое сравнение является WFF, а WFF, заключенная в круглые скобки, является простым сравнением. Более сложные варианты WFF строятся с помощью логических связок NOT, AND, OR и IF ... THEN. Так, если form - WFF, а comp - простое сравнение, то NOT form, comp AND form, comp OR form и IF comp THEN form являются WFF. Наконец, допускается построение WFF с помощью кванторов. Если form - это WFF, в которой участвует переменная var, то конструкции EXISTS var (form) и FORALL var (form) представляют WFF. Переменные, входящие в WFF, могут быть свободными или связанными. Все переменные, входящие в WFF, при построении которой не использовались кванторы, являются свободными. Фактически, это означает, что если для какого-то набора значений свободных кортежных переменных при вычислении WFF получено значение true, то эти значения кортежных переменных могут входить в результирующее отношение. Если же имя переменной использовано сразу после квантора при построении WFF вида EXISTS var (form) или FORALL var (form), то в этой WFF и во всех WFF, построенных с ее участием, var это связанная переменная. Это означает, что такая переменная не видна за пределами минимальной WFF, связавшей эту переменную. При вычислении значения такой WFF используется не одно значение связанной переменной, а вся ее область определения. Пусть СОТР1 и СОТР2 - две кортежные переменные, определенные на отношении СОТРУДНИКИ. Тогда, WFF EXISTS СОТР2 (СОТР1.СОТР_ЗАРП > СОТР2.СОТР_ЗАРП) для текущего кортежа переменной СОТР1 принимает значение true в том и только в том случае, если во всем отношении СОТРУДНИКИ найдется кортеж (связанный с переменной СОТР2) такой, что значение его атрибута СОТР_ЗАРП удовлетворяет внутреннему условию сравнения. WFF FORALL СОТР2 (СОТР1.СОТР_ЗАРП >= СОТР2.СОТР_ЗАРП) для текущего кортежа переменной СОТР1 принимает значение true в том и только в том случае, если для всех кортежей отношения СОТРУДНИКИ (связанных с переменной СОТР2) значения атрибута СОТР_ЗАРП удовлетворяют условию сравнения. На самом деле, правильнее говорить не о свободных и связанных переменных, а о свободных и связанных вхождениях переменных. Легко видеть, что если переменная var является связанной в WFF form, то во всех WFF, включающих данную, может использоваться имя переменной var, которая может быть свободной или связанной, но в любом случае не имеет никакого отношения к вхождению переменной var в WFF form. Вот пример: EXISTS СОТР2 (СОТР1.СОТР_ОТД_НОМ = СОТР2.СОТР_ОТД_НОМ) AND FORALL СОТР2 (СОТР1.СОТР_ЗАРП >= СОТР2.СОТР_ЗАРП) Здесь мы имеем два связанных вхождения переменной СОТР2 с совершенно разным смыслом. Целевые списки и выражения реляционного исчисления Итак, WFF обеспечивают средства формулировки условия выборки из отношений БД. Чтобы можно было использовать исчисление для реальной работы с БД, требуется еще один компонент, который определяет набор и имена столбцов результирующего отношения. Этот компонент называется целевым списком (target_list). Целевой список строится из целевых элементов, каждый из которых может иметь следующий вид: var.attr, где var - имя свободной переменной, соответствующей WFF, а attr - имя атрибута отношения, на котором определена переменная var; var, что эквивалентно наличию подсписка var.attr 1 , var.attr 2 , ..., var.attr n , где attr 1 , attr 2 , ..., attr n , включает имена всех атрибутов определяющего отношения; new_name = var.attr; new_name - новое имя соответствующего атрибута результирующего отношения. Последний вариант требуется в тех случаях, когда в WFF используются несколько свободных переменных с одинаковой областью определения. Выражением реляционного исчисления кортежей называется конструкция вида target_list WHERE wff. Значением выражения является отношение, тело которого определяется WFF, а набор атрибутов и их имена - целевым списком. Реляционное исчисление доменов В исчислении доменов областью определения переменных являются не отношения, а домены. Применительно к базе данных СОТРУДНИКИ-ОТДЕЛЫ можно говорить, например, о доменных переменных ИМЯ (значения - допустимые имена) или НОСОТР (значения допустимые номера сотрудников). Основным формальным отличием исчисления доменов от исчисления кортежей является наличие дополнительного набора предикатов, позволяющих выражать так называемые условия членства. Если R - это n-арное отношение с атрибутами a 1 , a 2 , ..., a n , то условие членства имеет вид R (a i1 :v i1 , a i2 :v i2 , ..., a im :v im ) (m <= n), где v ij - это либо литерально задаваемая константа, либо имя доменной переменной. Условие членства принимает значение true в том и только в том случае, если в отношении R существует кортеж, содержащий указанные значения указанных атрибутов. Если v ij - константа, то на атрибут a ij задается жесткое условие, не зависящее от текущих значений доменных переменных; если же v ij - имя доменной переменной, то условие членства может принимать разные значения при разных значениях этой переменной. Во всех остальных отношениях формулы и выражения исчисления доменов выглядят похожими на формулы и выражения исчисления кортежей. В частности, конечно, различаются свободные и связанные вхождения доменных переменных. Для примера сформулируем с использованием исчисления доменов запрос "Выдать номера и имена сотрудников, не получающих минимальную заработную плату" (будем считать для простоты, что мы определили доменные переменные, имена которых совпадают с именами атрибутов отношения СОТРУДНИКИ, а в случае, когда требуется несколько доменных переменных, определенных на одном домене, мы будем добавлять в конце имени цифры): СОТР_НОМ, СОТР_ИМЯ WHERE EXISTS СОТР_ЗАРП1 (СОТРУДНИКИ (СОТР_ЗАРП1) AND СОТРУДНИКИ (СОТР_НОМ, СОТР_ИМЯ, СОТР_ЗАРП) AND СОТР_ЗАРП > СОТР_ЗАРП1) Реляционное исчисление доменов является основой большинства языков запросов, основанных на использовании форм. В частности, на этом исчислении базируется известный язык Query-byExample, который был первым (и наиболее интересным) языком в семействе языков, основанных на табличных формах. Преподаватель делает выводы по третьему учебному вопросу. 4. Содержание и порядок создания баз данных Проектирование реляционных баз данных При проектировании базы данных решаются две основные проблемы: Отображение объектов предметной области в абстрактные объекты модели данных таким образом, чтобы это отображение не противоречило семантике предметной области и было по возможности лучшим (эффективным, удобным и т.д.). Часто эту проблему называют проблемой логического проектирования баз данных. Обеспечение эффективного выполнения запросов к базе данных, т.е. рациональное расположение данных во внешней памяти, создание полезных дополнительных структур (например, индексов) с учетом особенностей конкретной СУБД. Эту проблему называют проблемой физического проектирования баз данных. В случае реляционных баз данных трудно представить какие-либо общие рецепты по части физического проектирования. Здесь слишком много зависит от используемой СУБД. Например, при работе с СУБД Ingres можно выбирать один из предлагаемых способов физической организации отношений, при работе с System R следовало бы прежде всего подумать о кластеризации отношений и требуемом наборе индексов и т.д. Поэтому мы ограничимся вопросами логического проектирования реляционных баз данных, которые существенны при использовании любой реляционной СУБД. Более того, мы не будем касаться очень важного аспекта проектирования - определения ограничений целостности (за исключением ограничения первичного ключа). Дело в том, что при использовании СУБД с развитыми механизмами ограничений целостности (например, SQL-ориентированных систем) трудно предложить какой-либо общий подход к определению ограничений целостности. Эти ограничения могут иметь очень общий вид, и их формулировка пока относится скорее к области искусства, чем инженерного мастерства. Самое большее, что предлагается по этому поводу в литературе, - это автоматическая проверка непротиворечивости набора ограничений целостности. Поэтому будем считать, что проблема проектирования реляционной базы данных состоит в обоснованном принятии решений о том, из каких отношений должна состоять БД и какие атрибуты должны быть у этих отношений. Проектирование реляционных баз данных с использованием принципов нормализации Рассмотрим сначала классический подход, при котором весь процесс проектирования производится в терминах реляционной модели данных методом последовательных приближений к удовлетворительному набору схем отношений. Исходной точкой является представление предметной области в виде одного или нескольких отношений, и на каждом шаге проектирования производится некоторый набор схем отношений, обладающих лучшими свойствами. Процесс проектирования представляет собой процесс нормализации схем отношений, причем каждая следующая нормальная форма обладает свойствами лучшими, чем предыдущая. Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений. Примером является ограничение первой нормальной формы: значения всех атрибутов отношения должны быть атомарными. Поскольку требование первой нормальной формы является базовым требованием классической реляционной модели данных, будем считать, что исходный набор отношений уже соответствует этому требованию. В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм: первая нормальная форма (1NF); вторая нормальная форма (2NF); третья нормальная форма (3NF); нормальная форма Бойса-Кодда (BCNF) (правильнее было бы считать эту нормальную форму третьей, однако по историческим причинам третья ступень оказалась занятой к моменту изобретения BCNF, из-за чего она и получила нестандартное название); четвертая нормальная форма (4NF); пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF). Основные свойства нормальных форм: каждая следующая нормальная форма в некотором смысле улучшает свойства предыдущей; при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются. В основе классического процесса проектирования лежит метод нормализации, который опирается на декомпозицию (на основе проекции) отношения, находящегося в предыдущей нормальной форме, в два или более отношения, удовлетворяющих требованиям следующей нормальной формы. Наиболее важные на практике нормальные формы отношений основываются на фундаментальном в теории реляционных баз данных понятии функциональной зависимости. Для дальнейшего изложения нам потребуется несколько определений. Определение 1: Функциональная зависимость (functional dependence - FD). В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными атрибутами, т.е. реально состоять из нескольких атомарных атрибутов) в том и только в том случае, если в отношении R не может быть двух кортежей, совпадающих по значениям X и не совпадающим по значениям Y: R.X -> R.Y. Термин "функциональная зависимость" в точности соответствует математическому понятию функции. Определение 2: Полная функциональная зависимость. Функциональная зависимость R.X -> R.Y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X (точным подмножеством множества X называется любое его подмножество, не совпадающее с X). Определение 3: Транзитивная функциональная зависимость. Функциональная зависимость R.X -> R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X -> R.Z и R.Z -> R.Y. Определение 4: Возможный ключ (alternative key). Возможным ключом отношения называется его атомарный или составной атрибут, значения которого полностью функционально определяют значения всех остальных атрибутов отношения. Определение 5: Неключевой атрибут. Неключевым атрибутом называется любой атрибут отношения, не входящий в состав первичного ключа. Определение 6: Взаимно независимые атрибуты. Два или более атрибута называются взаимно независимыми, если ни один из этих атрибутов не является функционально зависимым от других атрибутов. Вторая нормальная форма Рассмотрим схему отношения, содержащего данные о поставках товаров поставщиками, адреса и статуса поставщика. Пусть статус поставщика определяется его адресом: ПОСТАВКИ (КОД_ПОСТАВЩИКА, СТАТУС, АДРЕС, КОД_ТОВАРА, КОЛИЧЕСТВО) Первичный ключ: КОД_ПОСТАВЩИКА, КОД_ТОВАРА Функциональные зависимости: КОД_ПОСТАВЩИКА -> СТАТУС, КОД_ПОСТАВЩИКА -> АДРЕС, АДРЕС -> СТАТУС, КОД_ПОСТАВЩИКА, КОД_ТОВАРА -> СТАТУС; КОД_ПОСТАВЩИКА, КОД_ТОВАРА -> АДРЕС; КОД_ПОСТАВЩИКА, КОД_ТОВАРА -> КОЛИЧЕСТВО Как видно, хотя первичным ключом является составной КОД_ПОСТАВЩИКА, КОД_ТОВАРА, атрибуты СТАТУС и АДРЕС функционально зависят от части первичного ключа, т.е. атрибута КОД_ПОСТАВЩИКА. В результате, мы не сможем вставить в отношение ПОСТАВКИ кортеж, описывающий поставщика, который еще не поставляет товары (первичный ключ не может содержать неопределенное значение). При удалении кортежа мы утрачиваем информацию о адресе и статусе поставщика. При изменении адреса поставщика мы будем вынуждены модифицировать все кортежи, содержащие информацию о его поставках, или получим несогласованный результат. Такие неприятные явления называются аномалиями схемы отношения. Они устраняются путем нормализации. Определение 7: Вторая нормальная форма. Отношение R находится во второй нормальной форме (2NF) в том и только в том случае, когда находится в 1NF и каждый неключевой атрибут функционально полно зависит от первичного ключа. Можно произвести следующую декомпозицию отношения ПОСТАВКИ в два отношения ПОСТАВКИ1 и ПОСТАВЩИКИ: ПОСТАВКИ1 (КОД_ПОСТАВЩИКА, КОД_ТОВАРА, КОЛИЧЕСТВО) Первичный ключ: КОД_ПОСТАВЩИКА, КОД_ТОВАРА Функциональная зависимость: КОД_ПОСТАВЩИКА, КОД_ТОВАРА -> КОЛИЧЕСТВО и ПОСТАВЩИКИ (КОД_ПОСТАВЩИКА, СТАТУС, АДРЕС,) Первичный ключ: КОД_ПОСТАВЩИКА Функциональные зависимости КОД_ПОСТАВЩИКА -> СТАТУС; КОД_ПОСТАВЩИКА -> АДРЕС; АДРЕС -> СТАТУС Каждое из этих двух отношений находится в 2NF, и в них устранены отмеченные выше аномалии (легко проверить, что все упомянутые выше операции выполняются без проблем). Третья нормальная форма Рассмотрим еще раз отношение ПОСТАВЩИКИ, находящееся в 2NF. Заметим, что функциональная зависимость КОД_ПОСТАВЩИКА -> СТАТУС является транзитивной; она является следствием (в смысле математической логики) функциональных зависимостей КОД_ПОСТАВЩИКА -> АДРЕС и АДРЕС -> СТАТУС. Другими словами, статус поставщика на самом деле является характеристикой не поставщика, а города, в котором он находится). В результате, мы не сможем занести в базу данных информацию, характеризующую город, до тех пор, пока не появится хотя бы один поставщик из этого города. При удалении кортежа, описывающего последнего поставщика из данного города, мы лишимся информации о статусе поставщиков этого города. Чтобы согласованным образом изменить статус,соответствующий данному городу, мы будем вынуждены предварительно найти все кортежи, описывающие поставщиков этого города. Т.е. в отношении ПОСТАВЩИКИ по-прежнему существуют аномалии. Их можно устранить путем дальнейшей нормализации. Определение 8: Третья нормальная форма. Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа. Эквивалентным является следующее: Определение 9: Третья нормальная форма (альтернативное определение). Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если все неключевые атрибуты R взаимно независимы и функционально полно зависят от первичного ключа. Можно произвести декомпозицию отношения ПОСТАВЩИКИ в два отношения ПОСТАВЩИКИ1 и ГОРОДА: ПОСТАВЩИКИ1 (КОД_ПОСТАВЩИКА, АДРЕС,) Первичный ключ: КОД_ПОСТАВЩИКА Функциональная зависимость: КОД_ПОСТАВЩИКА -> АДРЕС и ГОРОДА (АДРЕС,СТАТУС) Первичный ключ: АДРЕС Функциональная зависимость: АДРЕС -> СТАТУС Каждое из этих двух отношений находится в 3NF и свободно от отмеченных аномалий. На практике третья нормальная форма схем отношений является достаточной в большинстве случаев и приведением к третьей нормальной форме процесс проектирования реляционной базы данных обычно заканчивается. Однако иногда полезно продолжить процесс нормализации. Нормальная форма Бойса-Кодда Рассмотрим следующий пример схемы отношения: ПОСТАВКИ (КОД_ПОСТАВЩИКА, ИМЯ_ПОСТАВЩИКА, КОД_ТОВАРА, КОЛИЧЕСТВО) Возможные ключи (обратите внимание, что на этой стадии нормализации во внимание принимаются существование возможных ключей): КОД_ПОСТАВЩИКА, КОД_ТОВАРА ИМЯ_ПОСТАВЩИКА, КОД_ТОВАРА Функциональные зависимости: КОД_ПОСТАВЩИКА, КОД_ТОВАРА -> КОЛИЧЕСТВО ИМЯ_ПОСТАВЩИКА, КОД_ТОВАРА -> КОЛИЧЕСТВО КОД_ПОСТАВЩИКА -> ИМЯ_ПОСТАВЩИКА ИМЯ_ПОСТАВЩИКА -> КОД_ПОСТАВЩИКА Предполагаем, что имя поставщика уникально. Независимо от того, какой из возможных ключей выбран в качестве первичного ключа, эта схема находится в 3NF. Однако тот факт, что имеются функциональные зависимости атрибутов отношения от атрибута, являющегося частью первичного ключа, приводит к аномалиям. Например, для того, чтобы изменить имя поставщика с данным кодом согласованным образом, потребуется модифицировать все кортежи, включающие его код. Определение 10: Детерминант. Детерминантом называется любой атрибут, от которого функционально полно зависит некоторый другой атрибут. Определение 11: Нормальная форма Бойса-Кодда. Отношение R находится в нормальной форме Бойса-Кодда (BCNF) в том и только в том случае, если каждый детерминант является возможным ключом. Легко заметить, что если в отношении имеется только один возможный ключ (являющийся первичным ключом), то это определение становится эквивалентным определению третьей нормальной формы. Очевидно, что это требование не выполнено для отношения ПОСТАВКИ. Можно произвести его декомпозицию к отношениям ПОСТАВЩИКИ и ПОСТАВКИ1: ПОСТАВЩИКИ (КОД_ПОСТАВЩИКА, ИМЯ_ПОСТАВЩИКА) Возможные ключи: КОД_ПОСТАВЩИКА ИМЯ_ПОСТАВЩИКА Функциональные зависимости: КОД_ПОСТАВЩИКА -> ИМЯ_ПОСТАВЩИКА ИМЯ_ПОСТАВЩИКА -> КОД_ПОСТАВЩИКА и ПОСТАВКИ1 (КОД_ПОСТАВЩИКА, КОД_ТОВАРА, КОЛИЧЕСТВО) Возможный ключ: КОД_ПОСТАВЩИКА, КОД_ТОВАРА Функциональные зависимости: КОД_ПОСТАВЩИКА, КОД_ТОВАРА -> КОЛИЧЕСТВО Возможна альтернативная декомпозиция, если выбрать за основу ИМЯ_ПОСТАВЩИКА. В обоих случаях получаемые отношения находятся в BCNF, и им не свойственны отмеченные аномалии. Четвертая нормальная форма Рассмотрим пример следующей схемы отношения: ЛЕКЦИИ (КУРС, ЛЕКТОР, УЧЕБНИК) Отношение ЛЕКЦИИ содержит названия учебных курсов, фамилии читающих их лекторов и используемые при этом учебники. По каждому курсу может быть несколько лекторов и лектор может использовать несколько учебников. Единственным возможным ключом отношения является составной атрибут КУРС, ЛЕКТОР, УЧЕБНИК, и нет никаких других детерминантов. Следовательно, отношение ЛЕКЦИИ находится в BCNF. Но при этом оно обладает недостатками: если, например, появляется новый лектор по некоторому курсу или новый учебник, необходимо добавить в отношение несколько кортежей. Это обусловлено наличием в схеме отношения многозначных зависимостей. Определение 12: Многозначная зависимость. В отношении R (A, B, C) существует многозначная зависимость (multi-valued dependence - MVD) R.A ->-> R.B в том и только в том случае, если множество значений B, соответствующее паре значений A и C, зависит только от A и не зависит от С. В отношении ЛЕКЦИИ существуют следующие две многозначные зависимости: КУРС ->-> ЛЕКТОР КУРС ->-> УЧЕБНИК В общем случае в отношении R (A, B, C) существует многозначная зависимость R.A ->-> R.B в том и только в том случае, когда существует многозначная зависимость R.A ->-> R.C. Поэтому далее мы употребляем обозначение A ->-> B | C в том смысле, что одновременно существуют MVD A ->-> B и A ->-> C. Дальнейшая нормализация отношений, подобных отношению ЛЕКЦИИ, основывается на следующей теореме: Теорема Фейджина Отношение R (A, B, C) можно спроецировать без потерь в отношения R1 (A, B) и R2 (A, C) в том и только в том случае, когда существует MVD A ->-> B | C. Под проецированием без потерь понимается такой способ декомпозиции отношения, при котором исходное отношение полностью и без избыточности восстанавливается путем естественного соединения полученных отношений. Определение 13: Четвертая нормальная форма. Отношение R находится в четвертой нормальной форме (4NF) в том и только в том случае, если в случае существования многозначной зависимости A ->->B все остальные атрибуты R функционально зависят от A. В нашем примере можно произвести декомпозицию отношения ЛЕКЦИИ в два отношения КУРС-ЛЕКТОР и КУРС-УЧЕБНИК: КУРС-ЛЕКТОР (КУРС, ЛЕКТОР) КУРС-УЧЕБНИК (КУРС, УЧЕБНИК). Оба эти отношения находятся в 4NF и свободны от отмеченных аномалий. Пятая нормальная форма Во всех рассмотренных до этого момента нормализациях производилась декомпозиция одного отношения в два. Иногда это сделать не удается, но возможна декомпозиция в большее число отношений, каждое из которых обладает лучшими свойствами. Рассмотрим, например, отношение СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ (СОТР_НОМЕР, ОТД_НОМЕР, ПРО_НОМЕР) Предположим, что один и тот же сотрудник может работать в нескольких отделах и в каждом отделе принимать участие в нескольких проектах. Первичным ключом этого отношения является полная совокупность его атрибутов, отсутствуют функциональные и многозначные зависимости. Поэтому отношение находится в 4NF. Однако в нем могут существовать аномалии, которые можно устранить путем декомпозиции в три отношения. Определение 14: Зависимость соединения. Отношение R (X, Y, ..., Z) удовлетворяет зависимости соединения * (X, Y, ..., Z) в том и только в том случае, когда R восстанавливается без потерь путем соединения своих проекций на X, Y, ..., Z. Определение 15: Пятая нормальная форма. Отношение R находится в пятой нормальной форме (нормальной форме проекции-соединения - PJ/NF) в том и только в том случае, когда любая зависимость соединения в R следует из существования некоторого возможного ключа в R. Введем следующие имена составных атрибутов: СО = {СОТР_НОМЕР, ОТД_НОМЕР} СП = {СОТР_НОМЕР, ПРО_НОМЕР} ОП = {ОТД_НОМЕР, ПРО_НОМЕР} Предположим, что в отношении СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ существует зависимость соединения: * (СО, СП, ОП) На примерах можно легко показать, что при вставках и удалениях кортежей могут возникнуть проблемы. Их можно устранить путем декомпозии исходного отношения в три новых отношения: СОТРУДНИКИ-ОТДЕЛЫ (СОТР_НОМЕР, ОТД_НОМЕР) СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР) ОТДЕЛЫ-ПРОЕКТЫ (ОТД_НОМЕР, ПРО_НОМЕР) Пятая нормальная форма - это последняя нормальная форма, которую можно получить путем декомпозиции. Ее условия достаточно нетривиальны, и на практике 5NF не используется. Семантическое моделирование данных, ER-диаграммы Широкое распространение реляционных СУБД и их использование в самых разнообразных приложениях показывает, что реляционная модель данных достаточна для моделирования предметных областей. Однако проектирование реляционной базы данных в терминах отношений на основе кратко рассмотренного нами механизма нормализации часто представляет собой очень сложный и неудобный для проектировщика процесс. При этом проявляется ограниченность реляционной модели данных в следующих аспектах: Модель не предоставляет достаточных средств для представления смысла данных. Семантика реальной предметной области должна независимым от модели способом представляться в голове проектировщика. В частности, это относится к проблеме представления ограничений целостности. Для многих приложений трудно моделировать предметную область на основе плоских таблиц. В ряде случаев на самой начальной стадии проектирования проектировщику приходится производить насилие над собой, чтобы описать предметную область в виде одной (возможно даже ненормализованной) таблицы. Хотя весь процесс проектирования происходит на основе учета зависимостей, реляционная модель не предоставляет каких-либо средств для представления этих зависимостей. Несмотря на то, что процесс проектирования начинается с выделения некоторых существенных для приложения объектов предметной области ("сущностей") и выявления связей между этими сущностями, реляционная модель данных не предлагает какого-либо аппарата для разделения сущностей и связей. Семантические модели данных Потребности проектировщиков баз данных в более удобных и мощных средствах моделирования предметной области породили направление семантических моделей данных. При том, что любая развитая семантическая модель данных, как и реляционная модель, включает структурную, манипуляционную и целостную части, главным назначением семантических моделей является обеспечение возможности выражения семантики данных. Прежде чем мы коротко рассмотрим особенности распространенных семантических моделей, остановимся на их возможных применениях. Наиболее часто на практике семантическое моделирование используется на первой стадии проектирования базы данных. При этом в терминах семантической модели производится концептуальная схема базы данных, которая затем вручную преобразуется к реляционной (или какой-либо другой) схеме. Этот процесс выполняется под управлением методик, в которых достаточно четко оговорены все этапы такого преобразования. Менее часто реализуется автоматизированная компиляция концептуальной схемы в реляционную. Известны два подхода: подход, основанный на явном представлении концептуальной схемы как исходной информации для компиляции, и подход, ориентированный на построение интегрированных систем проектирования с автоматизированным созданием концептуальной схемы на основе интервью с экспертами предметной области. И в том, и в другом случае в результате производится реляционная схема базы данных в третьей нормальной форме. Наконец, третья возможность, которая еще не вышла за пределы исследовательских и экспериментальных проектов, - это непосредственная работа с базой данных в семантической модели, т.е. СУБД, основанные на семантических моделях данных. При этом снова рассматриваются два варианта: обеспечение пользовательского интерфейса на основе семантической модели данных с автоматическим отображением конструкций в реляционную модель данных и прямая реализация СУБД, основанная на какой-либо семантической модели данных. Наиболее близко ко второму подходу находятся современные объектноориентированные СУБД, модели данных которых по многим параметрам близки к семантическим моделям. Семантическая модель Entity-Relationship (Сущность-Связь) Одной из наиболее популярных семантических моделей данных является модель "СущностьСвязь" (часто ее называют кратко ER-моделью). На использовании разновидностей модели ER-модели основано большинство современных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных схем баз данных ERмодели получили широкое распространение в системах CASE, поддерживающих автоматизированное проектирование реляционных баз данных. ER-модель не относится к числу моделей данных, использованных в существующих языках определения данных, хотя и тесно связана с некоторыми из них. Она служит для обоснования того, какого рода информацию потребуется хранить в системе базы данных. Модель объектовсвязей выполняет функции моделирования объектов реального мира, где должны применяться системы баз данных. Объекты Термин «объект» не поддается всеобъемлющему определению. Достаточно сказать, что объект — это нечто существующее и различимое, т. е. мы можем отличать один объект от другого. Например, каждый стул есть объект. Объектами являются также конкретные человек и автомобиль. Можно считать объектом любого муравья, если имеется способ отличать его от других муравьев. В противном случае мы не воспринимаем муравья как объект. Объектами могут быть и понятия более высокого уровня, например, паук, грызун, бабуин и растение в биологической базе данных. Если не быть слишком строгими, то к объектам можно отнести и такие понятия, как любовь и ненависть. Группа всех подобных объектов образует набор объектов. Так, наборами объектов могут быть все люди, все автомобили, все животные, все эмоции. Термин «подобные объекты» не является точно определенным, и можно установить бесконечное число различных свойств, которые будут определять набор объектов. Один из ключевых моментов в проектировании модели реального мира, имеющий отношение к конкретной базе данных, —это выбор наборов объектов. Атрибуты и ключи Объекты обладают свойствами, называемыми атрибутами, которые ассоциируют некоторое значение из домена значений данного атрибута с каждым объектом в наборе объектов. Обычно домен атрибута является множеством целых чисел, действительных чисел или строк литер, но мы не исключаем и другие типы значений. Например, можно сказать, что объекты в наборе объектов «люди» имеют такие атрибуты, как имя (строка литер), рост (действительное число) и т. д. Выбор подходящих атрибутов для наборов объектов является вторым ключевым моментом в проектировании модели реального мира. Атрибут или множество атрибутов, значения которых уникально идентифицируют каждый объект в наборе объектов, называется ключом этого набора объектов. В принципе, каждый набор объектов имеет ключ, поскольку мы приняли гипотезу о том, что каждый объект отличим от остальных. Но если для набора объектов мы выбрали совокупность атрибутов, не содержащую ключа, то отличить один объект в наборе от другого окажется невозможным. Часто в качестве атрибута, который служит ключом, предоставляется произвольно выбранный последовательный номер. Например, в наборе объектов, включающем только граждан США, может использоваться в качестве ключа единственный атрибут — «номер социальной безопасности». Возможны случаи, когда объекты в наборе различаются не по атрибутам, а по их связи с объектами другого типа. Наиболее важным видом «встроенных» связей (связи, определенные пользователем, будут описаны позднее) является связь “есть”. Мы говорим A есть В и записываем «A есть B», если набор объектов В является обобщением набора объектов A, или, что равносильно, A есть специальный вид В. Рассмотрим базу данных автомобилей с набором объектов МАРКИ, имеющим атрибуты ТИП и МОДЕЛЬ. Объектом в наборе МАРКИ является, например, «Datsun-280». Мы могли бы рассмотреть и набор объектов АВТОМОБИЛИ с атрибутом СЕРИЙНЫЙ-НОМЕР, который можно было бы считать ключом этого набора. Однако вполне вероятно, что два типа автомобилей используют одни и те же серийные номера. Чтобы сделать объекты в наборе АВТОМОБИЛИ уникальными, нам потребуется связь между наборами АВТОМОБИЛИ и МАРКИ, представляющая тот факт, что любой автомобиль имеет конкретную марку. Тогда каждый экземпляр из набора объектов АВТОМОБИЛИ будет однозначно определяться по его СЕРИЙНОМУ- НОМЕРУ и атрибуту ТИП связанного с ним объекта из набора МАРКИ. Связи Связь между наборами объектов представляет собой просто упорядоченный список наборов объектов. Конкретный набор объектов может появляться в этом списке более одного раза. Если имеется связь REL между наборами объектов Е 1 , Е 2 , ..., E k , то предполагается, что существует множество кортежей размерности k, имя которого REL. Такое множество мы называем набором связей. Каждый кортеж (е 1 , е 2 , ..., е k ) в множестве REL подразумевает, что объекты е 1 , е 2 , ..., е k , где е i принадлежит набору E i , находятся в связи REL друг с другом как группа. Наиболее общим, несомненно, является случай, когда k=2, но иногда списки состоят из трех или более наборов объектов. Допустим, мы имеем набор объектов ЛЮДИ и связь ЯВЛЯЕТСЯ- МАТЕРЬЮ, список наборов объектов которой есть ЛЮДИ, ЛЮДИ. Мы предполагаем, что набор связей ЯВЛЯЕТСЯМАТЕРЬЮ включает все пары (p i , р j ), такие, что человек р i является матерью человека p j . Вид функциональной зависимости Для эффективной реализации базы данных часто оказывается необходимой классификация связей в соответствии с тем, сколько объектов из одного набора может ассоциироваться и со сколькими объектами из другого набора. Простейшей и наиболее редкой формой связи двух наборов объектов является связь «один к одному», при которой для каждого объекта в одном из наборов существует в лучшем случае один ассоциированный с ним объект другого набора. Примером такой ситуации может служить связь ЯВЛЯЕТСЯ-РУКОВОДИТЕЛЕМ между двумя наборами объектов СЛУЖАЩИЕ и ОТДЕЛЫ в базе данных некоторой фирмы. Можно предположить, что эта связь, указывающая руководителя для каждого отдела, является связью вида «один к одному». Заметим, что указанное свойство есть не что иное, как предположение о реальном мире, которое проектировщик базы данных может по своему выбору принять или не принять. В рассматриваемом случае более правдоподобным было бы, вероятно, предположение, что один и тот же человек может руководить двумя отделами или даже что отдел имеет двух руководителей. Однако, если в данной организации принято назначать для каждого отдела своего руководителя, то при проектировании физической базы данных можно воспользоваться тем фактом, что ЯВЛЯЕТСЯ-РУКОВОДИТЕЛЕМ представляет собой связь «один к одному». Заметим также, что этот вид связи не подразумевает обязательного существования для каждого объекта одного набора связанного с ним объекта из другого набора. Например, большинство служащих, конечно, не являются руководителями какого-либо отдела, и могут иметься отделы, которые в настоящее время не имеют руководителя. Гораздо чаще встречается связь вида «многие к одному», при которой каждый объект в наборе Е i ассоциируется с нулем или более объектов в наборе E j , но каждый объект в E j ассоциируется на более чем с одним объектом в Е i . Говорят, что эта связь является связью вида «многие к одному» от E i к Е j , т. е. функцией от E i к E j . Например, если каждый курс ведется одним преподавателем, то имеется связь вида «многие к одному»: ЧИТАЮТСЯ от набора объектов КУРСЫ к набору объектов ПРЕПОДАВАТЕЛИ. Можно обобщить концепцию «многие к одному». Если существует некоторая связь между наборами объектов E 1 , E 2 , .... Е k и для данных объектов из всех наборов, кроме E i , имеется по крайней мере один связанный объект из набора E I , то мы говорим, что эта связь есть связь вида «многие к одному» от E 1 , ..., E i-1 , E i+1 ,...,E k к Е i . Нередко приходится иметь дело также со связью вида «многие ко многим», при которой отсутствуют ограничения на множества пар объектов, принадлежащих набору связей. Но эта форма связи оказывается трудно поддерживаемой в двух основных моделях данных — сетевой и иерархической. Примером связи «многие ко многим» является связь ЭКСПОРТИРУЮТ между наборами объектов СТРАНЫ и ПРОДУКТЫ, поскольку страна обычно экспортирует более одного продукта и несколько продуктов экспортируются одной единственной страной. Диаграммы объектов-связей Весьма полезно суммировать информацию в проекте, используя диаграммы объектов-связей. На таких диаграммах применяются следующие обозначения: 1. Прямоугольники представляют наборы объектов. 2. Овалы представляют атрибуты. Они связываются со своими наборами объектов (ненаправленными) ребрами. 3. Ромбы представляют связи. Они соединяются с составляющими их наборами объектов ненаправленными ребрами. С целью указания порядка наборов объектов в списке для данной связи ребра могут нумероваться, хотя это имеет значение лишь тогда, когда один и тот же набор объектов появляется в списке более одного раза. Однако при связи вида «многие к одному» от А к В мы проводим дугу (направленное ребро) к В. В общем случае, если связь вовлекает три и более наборов объектов и имеет вид «многие к одному» для некоторого набора объектов A, мы проводим дугу к A и ненаправленные ребра к другим наборам объектов. Сложные отображения вида «многие к одному» для нескольких наборов объектов не представляются с помощью такого соглашения о ребрах. При связи вида «один к одному» показывается ребро со стрелками на концах. В виде исключения, если A есть В, мы проводим дугу только к В. Диаграмма для набора объектов ЛЮДИ со связью ЯВЛЯЕТСЯ-МАТЕРЬЮ показана на рис. 4. 2 Люди Является_матерью 1 Рис. 4 Представление данных Совокупность схем отношений, используемых для представления информации, называется схемой реляционной базы данных, а текущие значения соответствующих отношений — реляционной базой данных. Имеется, конечно, возможность создавать отношения с любым множеством атрибутов в схеме отношения и давать любую желаемую интерпретацию кортежам. Однако мы можем представить себе типичный образец использования реляционной базы данных, построенной на основе диаграммы объектов-связей. Данные из диаграммы объектов-связей представляются двумя видами отношений. 1. Набор объектов может быть представлен отношением, схема которого содержит все атрибуты данного набора объектов. Если этот набор таков, что его объекты идентифицируются с помощью связи с некоторым другим набором, то схема отношения содержит, кроме того, атрибуты ключа второго набора, но не его неключевые атрибуты. Каждый кортеж в отношении представляет один объект из набора объектов. 2. Связь между наборами объектов E 1 , E 2 , ..., E k представляется отношением, схема которого состоит из атрибутов ключей каждого из этих наборов. Мы предполагаем, что благодаря переименованию атрибутов, если это необходимо, никакие два набора объектов не будут иметь атрибутов с одинаковыми именами. Кортеж t в таком отношении обозначает список объектов e 1 , e 2 , ..., e k , где e i — элемент набора объектов Е i , для каждого i. Таким образом, е i — единственный объект в E i , значения атрибутов которого, являющихся ключевыми атрибутами Е i , находятся среди компонентов кортежа t. Присутствие кортежа t в отношении указывает, что объекты е 1 , е 2 , ...,е k ассоциируются с помощью связи. Рассмотрим в качестве примера диаграмму объектов-связей системы планирования судоремонта, включающую в себя наборы объектов (рис. 5). Рис. 5 RABOTA – выполняемые работы, атрибуты – номер работы и ее наименование; OBJEKT – объекты выполняемой работы, атрибуты – код объекта, его наименование и единица измерения; MESTO – места выполнения работ, атрибут – название места; NORMDOC – нормативные документы, регламентирующие выполнение работ, атрибуты – код и название документа; MATERIAL – материалы, используемые при выполнении работ, атрибуты – код материала, название, единица измерения и цена; SPECIAL – специалисты, необходимые для выполнения работ, атрибуты – код и название специалиста; RASHOD – нормативный расход материала при выполнении работы, атрибут - расход; VREMJA – нормативное время выполения работы, атрибут - время RAZRJAD – разряд специалиста, необходимого для выполнения работы; TARIF – тарифная ставка специалиста и связи: SRO – работа – объект; SOM – объект – место; SRN – работа – нормативный документ; SRM – работа – место; SRS – работа – специалист; SST – специалист – тариф. Данные этой диаграммы представляются следующими отношениями: RABOTA(Nom,Im) OBJECT(Kodo,Obj,Izm) MESTO(Mesto) NORMDOC(Kodd,Doc) MATERIAL(Kodm,Mat,Cena,Izm) SPECIAL(Kods,Spec) RAZRJAD(Razr) RASHOD(Rash) VREMJA(Vrem) TARIF(Tarif) SRN(Nom,Kodd) SRM(Nom,Kodm,Rash) SOM(Kodo,Mesto) SRO(Nom,Kodo) SRS(Nom,Kods,Razr,Vrem) SST(Kods,Razr,Tarif) Отношения RASHOD, VREMJA и TARIF – унарные отношения, кортежи которых содержат все различные значения соответствующих атрибутов отношений SRM, SRS и SST и могут быть удалены из схемы базы данных. Отношения MESTO и RAZRJAD также могут быть удалены, если они не используются как справочники при работе системы. Существует несколько различных нотаций, используемых при построении диаграмм "сущность-связь". Выше была рассмотрена наиболее простая нотацитя, предложенная Дж. Ульманом. Приведем другие наиболее распространенные нотации. Нотация Чена. Таблица 1 Элемент Обозначает диаграммы независимая сущность зависимая сущность родительская сущность в иерархической связи Связь идентифицирующая связь Атрибут первичный ключ внешний ключ (понятие внешнего ключа вводится в реляционной модели данных) многозначный атрибут получаемый (наследуемый) атрибут в иерархических связях Связь соединяется с ассоциируемыми сущностями линиями. Возле каждой сущности на линии, соединяющей ее со связью, цифрами указывается класс принадлежности. Пример: Рис. 6 Нотация Мартина Элемент диаграммы Таблица 2 Обозначает независимая сущность зависимая сущность родительская сущность в иерархической связи Список атрибутов приводится внутри прямоугольника, обозначающего сущность. Ключевые атрибуты подчеркиваются. Связи изображаются линиями, соединяющими сущности, вид линии в месте соединения с сущностью определяет кардинальность связи: Таблица 3 Обозначение Кардинальность нет 1,1 0,1 M,N 0,N 1,N Имя связи указывается на линии ее обозначающей. Пример: Рис. 7 Нотация IDEF1X. Обозначения сущностей: Элемент диаграммы Таблица 4 Обозначает независимая сущность зависимая сущность Экземпляры независимой сущности могут быть уникально идентифицированы без определения ее связей с другими сущностями; зависимая сущность, наоборот, не может быть уникально идентифицирована без определения ее связей с другими сущностями. Список атрибутов приводится внутри прямоугольника, обозначающего сущность. Атрибуты, составляющие ключ сущности, группируются в верхней части прямоугольника и отделяются горизонтальной чертой. Обозначения связей: Таблица 5 Элемент диаграммы Обозначает идентифицирующая связь неидентифицирующая связь Связь называется идентифицирующей, если экземпляр дочерней сущности идентифицируется через ее связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в первичный ключ дочерней сущности. Дочерняя сущность при идентифицирующей связи всегда является зависимой. Связь называется неидентифицирующей, если экземпляр дочерней сущности идентифицируется иначе, чем через связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в состав неключевых атрибутов дочерней сущности. Допустимость пустых (NULL) значений в неидентифицирующих связях изображается пустым ромбиком на дуге связи со стороны родительской сущности. Обозначение кардинальности связей: Таблица 6 Элемент диаграммы Обозначает 1,1 0,M 0,1 1,M точно N (N - произвольное число) Кроме того, в IDEF1X вводится понятие “отношение категоризации”, по смыслу эквивалентное иерархической связи. Отношение полной категоризации (сущности-категории составляют полное множество потомков родительской сущности) обозначается (рис. 8): Рис. 8 Также может существовать отношение неполной категоризации когда сущности-категории составляют неполное множество потомков общей сущности (рис. 9): Рис. 9 Родительская сущность категории называется супертипом, а дочерние - подтипом. В сущностисупертипе вводится атрибут-дискриминатор, позволяющий различать конкретные экземпляры сущности - подтипа. Пример (рис. 10): Рис. 10 Нотация Баркера. Сущности обозначаются прямоугольниками, внутри которых приводится список атрибутов. Ключевые атрибуты отмечаются символом # (решетка). Связи обозначаются линиями с именами, место соединения связи и сущности определяет кардинальность связи(таблица 10). Таблица 7 Кардинальность Обозначение 0,1 1,1 0,N 1,N Пример (рис. 11, 12): Рис. 11 Для обозначения отношения категоризации вводится элемент "дуга": Рис. 12 Источники: 1. Кузнецов С. Д. Основы современных баз данных. Http://alpha.netis.ru/win/db/toc.html 2. Ульман Дж. Основы систем баз данных.- М.: Финансы и статистика, 1983. – 334 с. 3. Зеленков Ю. А. Введение в базы данных. Http://alpha.netis.ru/win/db/toc.html Преподаватель делает выводы по четвертому учебному вопросу. ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ В заключительной части лнкции подвести итоги занятия, дать задания на самостоятельную работу по изучению материала, используя основную и дополнительную литературу. Вопросы для самостоятельного изучения: 1. Понятийный аппарат информационных систем 2. Структура информационной системы 3. Уровни представления данных 4. Содержание и порядок создания баз данных II. Задание и указания обучающимся по подготовке к практическому занятию При подготовке к практическому занятию необходимо изучить материалы, связанные с созданием и структурой информационных систем. III. Перечень литературы и учебно-методических материалов для подготовки к практическому занятию Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Издво Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, модернизация. М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001 Санкт-Петербургский университет Государственной противопожарной службы МЧС России –––––––––––––––––––––––––––––––––––––––––––––––––––––– Кафедра прикладной математики и информационных технологий УТВЕРЖДАЮ Заместитель начальника кафедры прикладной математики и информационных технологий капитан внутренней службы Т.А. Подружкина ”14” июня 2011 года МЕТОДИЧЕСКАЯ РАЗРАБОТКА ДЛЯ ПРОВЕДЕНИЯ ЛЕКЦИИ по учебной дисциплине «Информационные технологии» Тема № 6 «Работа с ресурсами информационно-вычислительных сетей» Занятие № 1 «Общая характеристика информационно-вычислительных сетей» Рассмотрена на заседании кафедры прикладной математики и информационных технологий Протокол № 10 от ”14” июня 2011 года Санкт-Петербург 2011 I. Учебные цели 1. Изучить общую характеристику программного обеспечения вычислительных сетей. 2. Изучить модель взаимосвязи открытых систем. 3. Изучить организация локальных вычислительных сетей. 4. Изучить организация сети Интернет. информационно- II. Воспитательные цели 1. Воспитывать у обучаемых стремление к углубленному освоению учебного материала. 2. Развивать навыки самостоятельной работы с ресурсами информационновычислительных сетей. III. Расчет учебного времени Содержание и порядок проведения занятия Время, мин ВСТУПИТЕЛЬНАЯ ЧАСТЬ 5 ОСНОВНАЯ ЧАСТЬ Учебные вопросы: 1. Общая характеристика программного обеспечения информационно-вычислительных сетей. 2. Модель взаимосвязи открытых систем. 3. Организация локальных вычислительных сетей. 4. Организация сети Интернет. 165 ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ 45 40 40 40 10 IV. Учебно-материальное обеспечение 1. Мультимедийный проектор. 2. Набор слайдов V. Методические рекомендации преподавателю по подготовке к проведению лекции При подготовке к занятию преподаватель обязан ознакомиться с литературой и методическими рекомендациями, изучить учебные вопросы, структуру и содержание практического занятия. По завершении личной теоретической подготовки необходимо составить план проведения практического занятия с указанием времени, отводимого на отработку учебного вопроса. Разработать и выдать обучаемым задания на подготовку к практическому занятию, дать указания на получение необходимой литературы, учебнометодических материалов и рекомендовать материал для повторения. Во вступительной части лекции (5 мин) после проверки наличия личного состава, объявить тему, цели и учебные вопросы занятия, последовательность их отработки, ориентировочное время выполнения задания. При отработке первого учебного вопроса (45 мин) Изучить и рассмотреть общую характеристику программного обеспечения информационно-вычислительных сетей. При отработке второго учебного вопроса (40 мин) Изучить и рассмотреть модель взаимосвязи открытых сетей. При отработке третьего учебного вопроса (40 мин) Изучить и рассмотреть организация локальных вычислительных сетей. При отработке четвертого учебного вопроса (40 мин) Изучить и рассмотреть организацию сети Интернет. В заключительной части (10 мин) подвести итоги занятия, оценить работу обучаемых, поставить задачи на следующее занятие. VI. Литература Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Издво Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, модернизация. М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001 Разработал текст лекции: ст. преподаватель кафедры ПМиИТ капитан внутренней службы VII. Приложение Антошина Т.Н. ТЕКСТ ЛЕКЦИИ Тема № 6 «Работа с ресурсами информационно-вычислительных сетей» Занятие № 1 «Общая характеристика информационно-вычислительных сетей» I. 1. Общая характеристика вычислительных сетей. Учебные вопросы программного обеспечения информационно- Зачем нужны компьютерные сети? Когда компьютеры были очень большими и их было очень мало, а на один большой компьютер приходилось много пользователей с еще большим числом очень маленьких задач, вопрос о перенесении программ и данных с одного компьютера на другой не играл какой-либо заметной роли. Однако по мере совершенствования компьютеров, увеличения их числа, развития и усложнения средств программного обеспечения, в том числе и прикладного, увеличения объемов баз данных возникла насущная необходимость в соединении компьютеров между собой. Такое связывание компьютеров, позволяющее объединить их ресурсы - процессоры, память (внутреннюю и внешнюю, включая жесткие диски, разнообразные внешние устройства принтеры, факс-аппараты, модемы и др.), каналы связи, и представляет собой вычислительную сеть, в которой каждый компьютер может передать другому компьютеру, подключенному к сети, любой набор данных. Таким образом, вычислительная сеть, объединяющая ресурсы нескольких компьютеров, позволяет каждому их них использовать всю совокупность этих ресурсов. В такой сети отдельные пользователи получают возможность не только обмениваться файлами и сообщениями, пользоваться общим сетевым принтером и другими периферийными устройствами, но и, что важно, использовать информацию, рассредоточенную в сети по отдельным компьютерам, при решении своих задач; этот подход к совместному использованию ресурсов в сети составляет основу технологии открытых сетевых вычислении ONC (Open Network Computing). Преподаватель делает выводы по 1 учебному вопросу. 2. Модель взаимосвязи открытых систем. Вычислительные сети, в зависимости от способов взаимодействия компьютеров в них, можно разделить на две группы - централизованные и одноранговые. Централизованные сети строятся на основе архитектуры "клиент-сервер", которая предполагает выделение в сети так называемых "серверов" и "клиентов". К клиентам относятся рабочие станции (компьютеры) сети, которые не имеют непосредственных контактов друг с другом и могут общаться между собой только через сервер: следовательно, одна станция не может использовать файл, находящийся на другой станции: для этого файл должен находиться на файл-сервере. Все локальные ресурсы рабочих станций так и остаются локальными и, следовательно, не могут быть использованы никакой другой рабочей станцией. Серверы управляют подключенными к ним общими разделяемыми ресурсами сети. Различают: • файл-серверы, служащие для управления передачей, файлов и позволяющие пересылать информацию большого объема, (не обязательно текстовую, но и графическую); • серверы печати (или принт-серверы), служащие для включения в состав сети принтера, доступного для использования пользователям со всех рабочих станций сети; • коммуникационные (связные) серверы, предназначенные для управления и установления связи между компьютерами в сети; • почтовые серверы в системе электронной почты, служащие для пересылки и приема электронных писем; • архивные серверы, предназначенные для архивирования данных и резервного копирования информации в больших многосерверных сетях; • факс-серверы, используемые для отправления пользователями факсимильных сообщений с рабочих станции, для приема и последующей рассылки сообщении в личные боксы пользователей и др. В качестве сервера может быть использован либо обычный персональный компьютер, или же это может быть специализированное устройство, реализующее одну из указанных функций управления. В этом последнем случае специализированный сервер по своему внешнему виду может отличаться от обычного персонального компьютера и в зависимости от назначения иметь различные габариты - от бытового видеомагнитофона до видеокассеты (при этом в его состав, как правило, не входят ни монитор, ни клавиатура). С точки зрения пользователей архитектура "клиент-сервер" предоставляет им быстрый и простой доступ с локальной рабочей станции к информации и функциям, содержащимся где-то в сети. Среди других достоинств, важных для пользователя, можно отметить: повышение производительности, возможность свободного выбора необходимого программного обеспечения, простоту в использовании инструментальных средств. Одноранговые ЛВС основаны на равноправной (peer-to-peer) модели взаимодействия компьютеров. В такой сети каждый компьютер может выступать, смотря по обстоятельствам, и как рабочая станция, и как сервер, предоставляющий возможность доступа другим коллегам ("peer" - коллега) к своим ресурсам: накопителям на жестких или гибких дисках, принтеру, модему и др. В одноранговой сети рабочие станции могут напрямую связываться друг с другом (в отличие от централизованной структуры сети) и совместно использовать те ресурсы (файлы, принтеры, накопители и др.), которые на данном конкретном компьютере определены как разделяемые. Сети подобного типа недороги, поскольку не требуют приобретения дорогостоящего выделенного сервера, просты в эксплуатации и могут быть рекомендованы для малочисленных групп пользователей, которым не требуются большие вычислительные ресурсы. Для соединения компьютеров используют электрические - в виде "витой пары" (двух скрученных экранированных проводов) или коаксиальные (подобные кабелю телевизионной антенны) - провода. Для подключения компьютера к сети необходим так называемый сетевой адаптер, который вставляется в гнездо основной ("материнской") платы компьютера. Адаптер имеет один или два разъема для подключения к кабелю. В других случаях построение сети не требует использования специальных адаптеров - сетевой кабель, соединяющий компьютеры, подключается непосредственно к последовательному порту (подобные сети, однако, используются лишь в простейших случаях, например, при совместном использовании принтера несколькими компьютерами и характеризуются низкой производительностью). Кроме того, необходимы специальные разъемы, разветвители-тройники и терминаторы (оконечные согласующие сопротивления), а также, возможно, повторители (для усиления и формирования сигнала, если длина соединения слишком велика). Для обеспечения межсетевого взаимодействия служат специальные устройства - мосты, маршрутизаторы, коммутаторы и шлюзы. Для организации работы вычислительной сети служат сетевые операционные системы (ОС). При выборе сетевой ОС принимают во внимание несколько факторов: требования к производительности сети, надежности и степени ее информационной безопасности, требуемые ресурсы памяти; функциональная мощность; простота эксплуатации, возможности к объединению с другими сетями; цена. Наиболее популярными сетевыми ОС являются: - NetWare фирмы Novell, используемые в средних по размеру сетях, объединяющих от 20 до 100 находящихся в пределах одного здания пользователей, которым требуется малое время отклика системы и ее высокая отказоустойчивость; - Windows NT фирмы Microsoft, являющаяся сетевой ОС с графическим интерфейсом и также (как и NetWare) поддерживающая архитектуру "клиент-сервер"; - универсальная операционная система UNIX эффективна при создании средних и больших сетей с несколькими десятками и сотнями пользователей и высокими требованиями к производительности, отказоустойчивости, прозрачности сети и возможностям межсетевого взаимодействия. Для создания одноранговых сетей находят применение следующие пакеты программных средств, ориентированные на простые и недорогие решения: Coactive Connector, Desk to Desk, LANLink, LANtastic и др. При выборе решения для создания одноранговой сети нельзя ограничиваться рассмотрением только программного аспекта. Необходимо также решать проблему выбора средств аппаратной поддержки: некоторые сетевые программные средства позволяют использовать действующий промышленный стандарт, обычно Ethernet, в то время как другие ориентированы на использование собственных, аппаратных средств (адаптеров, кабельных соединений и др.). Какая сеть лучше - одноранговая или построенная по типу "клиент-сервер"? Ответ на этот вопрос зависит от потребностей пользователей, финансовых возможностей и опыта разработчиков. Одноранговые ЛВС Сети по типу "клиент-сервер" Пользователи сети имеют доступ к файлам, находящимся на дисковых накопителях других пользователей. свыше 10-20 узлов. средства Ethernet, а свои собственные аппаратные затрудняет межсетевые преобразования и расширение (наращивание) сети. управление хранятся централизованно, что уменьшает вероятность Производительность, как правило, выше Стандарты на аппаратные средства упрощают наращивание (расширение) большой сетью оказаться весьма затруднительным. может сетей и реализацию межсетевых преобразований. Инсталляция Инсталляция (установка) отличается простотой, однако пользования благодаря наличию выделенных серверов. Некоторые сети используют не стандартные что общего их разрушения. Производительность падает при расширении сети средства, Файлы и управление довольно трудоемки и сложны, однако для этих целей созданы достаточно совершенные инструментальные средства. Телекоммуникации Для установления связи между компьютерами в целях дистанционной передачи информации через глобальную сеть необходимы каналы связи - средства телекоммуникаций, модемы и коммуникационное программное обеспечение. Средства телекоммуникаций Когда возникла проблема создания глобальной компьютерной сети, необходимо было решить вопрос о выборе средств связи (телекоммуникаций). Во-первых, нужно было выбрать такой способ связи, который не требовал бы прокладки новых коммуникаций, а использовал уже существующие. Во-вторых, организация связи должна быть простой и открытой (в том смысле, что подключение новых абонентов к сети не должно быть связано с большими трудностями). Из существующих средств коммуникаций лишь две - телефонная и телеграфная сети - удовлетворяли этим требованиям. Впоследствии, однако, стало ясно, что телеграфная сеть с ее относительно невысокой скоростью передачи по ней данных оказалась неподходящей для подобных целей. Что же касается телефонных линий, то для передачи данных в компьютерных сетях их используют как коммутируемые или же как выделенные (т.е. с постоянным соединением) каналы связи. Коммутируемые каналы общего пользования - это обычные телефонные линии, используемые в автоматическом режиме телефонных абонентов через АТС (автоматические телефонные станции). Коммутируемые каналы используются в тех случаях, когда объем передаваемой информации невелик и не предъявляются высокие требования к скорости доставки данных. В тех же случаях, когда необходимо обеспечить высокую скорость и надежность при передаче больших объемов информации, приходится арендовать (или даже покупать) у телефонной сети отдельные - выделенные каналы, обеспечивающие постоянный доступ компьютера к сети передачи данных. Наряду с телефонными каналами в качестве средств телекоммуникаций в региональных и глобальных сетях используются также оптоволоконные линии связи, радио-, инфракрасные и спутниковые каналы. Преподаватель делает выводы по 2 учебному вопросу. 3. Организация локальных вычислительных сетей. Локальные, региональные и глобальные вычислительные сети В зависимости от того, на каком расстоянии друг от друга находятся компьютеры, объединенные в сеть, различают локальные, региональные и глобальные вычислительные сети. В то время, как локальная вычислительная сеть (ЛВС) объединяет, как правило, компьютеры, находящиеся в одном или соседних помещениях, в пределах одного или соседних зданий на расстояниях, не превышающих одного-двух километров, региональная - связывает абонентов, расположенных на значительном расстоянии друг от друга в пределах города, района или области, то глобальная сеть - это сеть, в которой объединены компьютеры, расположенные в различных странах или на различных континентах земного шара (примером может служить сеть Интернет). В свою очередь информационно-вычислительные сети могут быть подразделены на ряд типов, в зависимости от их назначения: • сети передачи пользователям данных базовые общего услуги назначения (доступ к (Public-сети), доскам предоставляющие объявлений, разнообразным справочным службам (горсправка, справочные аэрофлота и железных дорог, различных муниципальных служб), электронную почту, пересылку файлов, телеконференции, а также возможность выхода в другие сети); • информационные центры широкого использования, содержащие различные базы данных, доступ к которым возможен на коммерческой основе; • региональные сети передачи данных (на уровне областей или краев), которые являются подсетями федеральной сети общего пользования, но предназначены для обмена региональной информацией, объем которой достигает 70% от общего объема циркулирующей в региональной сети информации; • информационные системы ограниченного доступа, например, банковские (ориентированные на обслуживание клиентов, кредитных карточек и др.), биржевые, другие подобные системы; • частные сети, например, телекоммуникационная система крупного банка, предназначенная для внутрибанковского обмена информацией между центральным офисом банка и его отделениями в пределах одного города, а также между центральным офисом и филиалами банка в других городах, регионах или даже других странах. Сети трех последних типов относятся к так называемым корпоративным сетям, в которых услуги предоставляются только пользователям, входящим в состав некоторой замкнутой группы (корпорации). Преподаватель делает выводы по 3 учебному вопросу. 4. Организация сети Интернет. Подключение к сети Интернет (Internet) — глобальная международная компьютерная сеть цифровой связи, объединяющая между собой в единую логическую архитектуру множество серверов, на которых находится огромный объем информации по разнообразным темам. К началу третьего тысячелетия в мире насчитывалось более 300 млн. пользователей Интернет, из них более 5,5 млн. — в России. Огромные возможности сети Интернет позволяют широко использовать Сеть в различных сферах деятельности: ♦ всемирное хранилище огромных объемов информации ♦ средство массовой информации ♦ средство общения ♦ способ рекламы своей продукции и услуг ♦ канал связи с любой точкой Земли ♦ источник разнородной информации: справочной, научной, развлекательной и т.д. Доступ к сети Интернет для юридических и частных лиц обеспечивают провайдеры — фирмы-поставщики услуг Интернет. Наиболее распространены следующие виды подключения пользователей к провайдеру Интернет: ♦ через телефонную линию и модем для индивидуальных пользователей; ♦ посредством локальной сети для пользователей организаций. В первом случае вам необходим компьютер с установленным в нем модемом, подключенный к телефонной линии, и необходимые реквизиты связи с провайдером: ♦ номер телефона для соединения с Интернет; ♦ имя пользователя (login); ♦ пароль пользователя (password). Эти данные вы можете найти на карточке доступа в Интернет либо в тексте договора с провайдером. Во втором случае вам необходимо обратиться к администратору локальной сети вашей организации за разъяснением порядка доступа к Интернет. 1. Определите наличие подключения вашего компьютера либо к локальной сети либо телефонной сети через модем. 2. Включите модем, если ваш компьютер укомплектован внешним модемом. 3. Включите компьютер и дождитесь загрузки Windows. 4. Определите, существуют ли необходимые устройства для доступа к Интернет в вашем компьютере: ♦ щелчком правой по значку Мой компьютер вызовите контекстное меню; ♦ щелкните по пункту меню Свойства — появится диалоговое окно Свойства: Система; ♦ перейдите к листу Устройства; ♦ установите флажок выбора Устройства по типу; ♦ определите, имеются ли в наличии устройства: ♦ для подключения по телефонной линии: Модем и Контроллер удаленного доступа в группе Сетевые платы; ♦ для подключения через локальную сеть: устройства с названием, отличным от “Контроллер удаленного доступа”, в группе Сетевые платы; ♦ закройте окно Свойства: Система. В случае отсутствия необходимых устройств рекомендуем вам обратиться в специализированную фирму для настройки вашего компьютера. 5. Для подключения к Интернет по телефонной линии найдите в Интернет-карте либо договоре: ♦ номер телефона провайдера для подключения к Интернет; ♦ Ваше персональное имя пользователя (login); ♦ Ваш секретный пароль доступа (password). 6. Для подключения к Интернет через локальную сеть обратитесь к администратору сети за разъяснением порядка доступа в Интернет. Если ваш компьютер уже подключался к Интернет, то никаких дополнительных настроек обычно не требуется. В противном случае для настройки подключения к Интернет — необходимо воспользоваться специальной программой Мастером подключения к Интернет. Рекомендуем вам в этом случае обратиться за помощью к опытному пользователю. Признаком готовности вашего компьютера для подключения к Интернет является наличие значка Internet Explorer на Рабочем столе вашего компьютера. Итак, ваш компьютер настроен для подключения к Интернет. Необходимо помнить! Ваша работа в Интернет — оплачивается в соответствии с условиями договора с провайдером. При подключении к Интернет через телефонную линию ваш телефон будет занят в период вашей работы в Сети. Чтобы установить соединение с Интернет через локальную сеть необходимо произвести двойной щелчок по значку Internet Explorer. Чтобы установить соединение с Интернет по телефонной линии необходимо: ♦ включить модем, если ваш компьютер оснащен внешним модемом; ♦ произвести двойной щелчок по значку Internet Explorer — появится диалоговое окно Установка связи; ♦ ввести пароль доступа в Интернет с учетом языка ввода и регистра букв, — каждый символ пароля отобразится в виде “звездочки”; ♦ щелкнуть по кнопке Подключиться — начнется процедура подключения к Интернет, сопровождаемая сообщениями в окне Установка связи с …; ♦ Инициализация; ♦ Обращение к модему; ♦ Набор номера; ♦ Проверка имени пользователя и пароля; ♦ Вход в Сеть; ♦ после завершения последнего этапа Вход в Сеть на Панели задач должен появиться Индикатор соединения. Индикатор соединения информирует пользователя о наличии активного соединения по телефонной линии, а также о характере информационного обмена. При подключении к Интернет через локальную сеть Индикатор соединения не появляется. Зажженные лампочки-компьютеры Индикатора соединения соответствуют приему и передаче информации. Если обе лампочки не горят — передачи информации через модем не происходит. Индикатор соединения позволяет также получать дополнительную информацию о скорости соединения, времени соединения, объеме переданной информации, а также разрывать соединение. Чем выше скорость соединения, тем быстрее будет передаваться информация от провайдера на ваш компьютер. При соединении по телефонной линии через электронную АТС максимально возможная скорость соединения составляет — 50 666 бит/с, через аналоговую АТС — 36 600 бит/с (8 бит = 1 байт). Преподаватель делает выводы по 4 учебному вопросу. ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ В заключительной части лекции подвести итоги занятия, дать задания на самостоятельную работу по изучению материала, используя основную и дополнительную литературу. Вопросы для самостоятельного изучения: 1. Общая характеристика программного обеспечения информационно-вычислительных сетей 2. 2.Основы создания локальных вычислительных сетей 3. Программные средства поддержки Web – сайтов 4. Организация сети Интернет II. Задание и указания обучающимся по подготовке к практическому занятию. При подготовке к практическому занятию необходимо изучить основную и дополнительную литературу, подготовить в учебных аудиториях информатики III. Перечень литературы и учебно-методических материалов для подготовки к практическому занятию. Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Издво Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, модернизация. М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001 Санкт-Петербургский университет Государственной противопожарной службы МЧС России –––––––––––––––––––––––––––––––––––––––––––––––––––––– Кафедра прикладной математики и информационных технологий УТВЕРЖДАЮ Заместитель начальника кафедры прикладной математики и информационных технологий капитан внутренней службы Т.А. Подружкина ”14” июня 2011 года МЕТОДИЧЕСКАЯ РАЗРАБОТКА ДЛЯ ПРОВЕДЕНИЯ ЛЕКЦИИ по учебной дисциплине «Информационные технологии» Тема № 7 «Защита информации при применении современных информационных технологий» Занятие № 1 «Информационная безопасность» Рассмотрена на заседании кафедры прикладной математики и информационных технологий Протокол № 10 от ”14” июня 2011 года Санкт-Петербург 2011 I. Учебные цели 1. Изучить понятийный аппарат информационной безопасности 2. Рассмотреть место и роль информационной безопасности в системе национальной безопасности России 3. Освоить правовое регулирование в области информационной безопасности. II. Воспитательные цели 1. Воспитывать у обучаемых стремление к углубленному изучению учебного материала. 2. Воспитывать у обучаемых стремление к самостоятельному изучению новых информационных технологий III. Расчет учебного времени Содержание и порядок проведения занятия Время, мин ВСТУПИТЕЛЬНАЯ ЧАСТЬ 5 ОСНОВНАЯ ЧАСТЬ Учебные вопросы: 1. Понятийный аппарат информационной безопасности 2. Место и роль информационной безопасности в системе национальной безопасности России 3. Безопасность человека и технических средств в информационном пространстве 4. Правовое регулирование в области информационной безопасности ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ 80 20 20 20 20 5 IV. Учебно-материальное обеспечение 1. Мультимедийный проектор 2. Набор слайдов V. Методические рекомендации преподавателю по подготовке к проведению лекции При подготовке к лекции преподаватель обязан ознакомиться с литературой и методическими рекомендациями, изучить учебные вопросы, структуру и содержание лекции. По завершении личной теоретической подготовки необходимо составить план проведения лекции с указанием времени, отводимого на отработку учебных вопросов. Разработать и выдать обучаемым задания на подготовку к практическому занятию, дать указания на получение необходимой литературы, учебно-методических материалов и рекомендовать материал для повторения. Во вступительной части лекции (5 мин) после проверки наличия личного состава, объявить тему, цели и учебные вопросы занятия, последовательность их отработки, ориентировочное время выполнения задания. При отработке первого учебного вопроса (20 мин) следует определить сущность и содержание понятийного аппарата информационной безопасности. При отработке второго учебного вопроса (20 мин) рассмотреть место и роль информационной безопасности в системе национальной безопасности России. При отработке третьего учебного вопроса (20 мин) изучить основы безопасности человека и технических средств в информационном пространстве. При отработке четвертого учебного вопроса (20 мин) ознакомить с правовым регулированием в области информационной безопасности. В заключительной части (5 мин) подвести итоги лекции, поставить задачи на следующее занятие. VI. Литература Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Издво Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, модернизация. М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001 Разработал текст лекции: ст. преподаватель кафедры ПМиИТ капитан внутренней службы VII. Приложение Т.Н. Антошина ТЕКСТ ЛЕКЦИИ по дисциплине «Информационные технологии» Тема № 7 «Защита информации при применении современных информационных технологий» Занятие № 1 «Информационная безопасность» 1. Понятийный аппарат информационной безопасности В теоретическом плане защита информации является прикладной научной дисциплиной, имеющей свой объект и предмет исследования, а также понятийный аппарат. Представляется целесообразным рассмотрение терминологии, принятой для описания этой предметной области. Ряд понятий рекомендован Гостехкомиссией («Руководящий документ. Защита от несанкционированного доступа к информации. Термины и определения» от 30 марта 1992 года). Другие термины сформированы в результате проведения научных и практических проработок вопросов в области защиты средств вычислительной техники и автоматизированных систем от несанкционированного доступа к информации. К основным терминам отнесены следующие: автоматизированная система обработки информации (АС) – организационно-техническая система, представляющая собой совокупность следующих взаимосвязанных компонентов: технических средств обработки и передачи данных (средств вычислительной техники и связи), методов и алгоритмов обработки в виде соответствующего программного обеспечения, массивов (наборов, баз) данных на различных носителях, персонала и пользователей, объединенных по организационно-структурному, тематическому, технологическому или другим признакам для выполнения автоматизированной обработки данных с целью удовлетворения информационных потребностей государственных органов, общественных или коммерческих организаций (юридических лиц), отдельных граждан (физических лиц) и иных потребителей информации; информация в АС – сведения о фактах, событиях, процессах и явлениях в некоторой предметной области, включенные в систему обработки информации, или являющиеся ее результатом в различных формах представления на различных носителях и используемые (необходимые) для оптимизации принимаемых решений в процессе управления объектами данной предметной области; обработка информации в АС – совокупность операций (сбор, накопление, хранение, преобразование, отображение, выдача и т.п.), осуществляемых над информацией (сведениями, данными) с использованием средств АС; субъекты информационных отношений – государство, государственные органы, государственные, общественные или коммерческие организации (объединения) и предприятия (юридические лица), отдельные граждане (физические лица) и иные субъекты, взаимодействующие с целью совместной обработки информации. По отношению к информации, обрабатываемой в АС различные субъекты – участники информационных отношений могут выступать (возможно, одновременно) в качестве: • источников информации; • пользователей (потребителей) информации; • собственников (владельцев, распорядителей) информации; • физических и юридических лиц, о которых собирается и обрабатывается информация; • владельцев АС и участников процессов обработки и передачи информации и т.д.; жизненно важные интересы – совокупность потребностей, удовлетворение которых необходимо для надежного обеспечения существования и возможности прогрессивного развития субъекта (личности, организации, общества или государства); доступность информации – свойство системы, в которой циркулирует информация (средств и технологии ее обработки), характеризующееся способностью обеспечивать своевременный беспрепятственный доступ к информации субъектов, имеющих на это надлежащие полномочия; целостность информации – свойство информации, заключающееся в ее существовании в неискаженном виде (неизменном по отношению к некоторому фиксированному ее состоянию); конфиденциальность информации – субъективно определяемая (приписываемая) информации характеристика (свойство), указывающая на необходимость введения ограничений на круг субъектов, имеющих доступ к данной информации, и обеспечиваемая способностью системы (среды) сохранять указанную информацию в тайне от субъектов, не имеющих полномочий на право доступа к ней. Объективные предпосылки подобного ограничения доступности информации заключены в необходимости защиты законных интересов некоторых субъектов информационных отношений; уязвимость субъекта информационных отношений – потенциальная подверженность субъекта нанесению ущерба его жизненно важным интересам посредством воздействия на критичную для него информацию, ее носители и процессы обработки; уязвимость информации – подверженность информации воздействию различных дестабилизирующих факторов, которые могут привести к нарушению ее конфиденциальности, целостности, доступности, или неправомерному ее тиражированию; угроза интересам субъектов информационных отношений – потенциально возможное событие, действие, процесс или явление, которое посредством воздействия на информацию и другие компоненты АС может привести к нанесению ущерба интересам данных субъектов; угроза безопасности информации – потенциально возможное событие, действие, процесс или явление, которое может привести к нарушению конфиденциальности, целостности, доступности информации, а также неправомерному ее тиражированию; безопасность субъектов информационных отношений – защищенность субъектов информационных отношений от нанесения им материального, морального или иного ущерба путем воздействия на информацию и/или средства ее обработки и передачи; безопасность АС (компьютерной системы) – защищенность АС от несанкционированного вмешательства в нормальный процесс ее функционирования, а также от попыток хищения, незаконной модификации или разрушения ее компонентов; безопасность любого компонента (ресурса) АС складывается из обеспечения конфиденциальности, целостности и доступности: конфиденциальность компонента системы заключается в том, что он доступен только тем субъектам доступа (пользователям, программам, процессам), которым предоставлены на то соответствующие полномочия; целостность компонента предполагает, что он может быть модифицирован только субъектом, имеющим для этого соответствующие права. Целостность является гарантией корректности (неизменности, работоспособности) компонента в любой момент времени; доступность компонента означает, что имеющий соответствующие полномочия субъект может в любое время без особых проблем получить доступ к необходимому компоненту системы (ресурсу); безопасность информационной технологии – защищенность технологического процесса переработки информации; безопасность информации – защищенность информации от нежелательного (для соответствующих субъектов информационных отношений) ее разглашения (нарушения конфиденциальности), искажения (нарушения целостности), утраты или снижения степени доступности информации, а также незаконного ее тиражирования; доступ к информации – ознакомление с информацией (копирование, тиражирование), ее модификация (корректировка) или уничтожение (удаление); правила разграничения доступа – совокупность правил, регламентирующих права доступа субъектов к объектам в некоторой системе; разграничение доступа к ресурсам АС – это такой порядок использования ресурсов системы, при котором субъекты получают доступ к объектам в строгом соответствии с установленными правилами; объект – пассивный компонент системы, единица ресурса автоматизированной системы (устройство, диск, каталог, файл и т.п.), доступ к которому регламентируется правилами разграничения доступа; субъект – активный компонент системы (пользователь, процесс, программа), действия которого регламентируются правилами разграничения доступа; авторизованный субъект доступа – субъект, которому предоставлены соответствующие права доступа к объектам системы (полномочия); доступ к ресурсу – получение субъектом доступа возможности манипулировать (использовать, управлять, изменять характеристики и т.п.) данным ресурсом; несанкционированный доступ (НСД) – доступ субъекта к объекту в нарушение установленных в системе правил разграничения доступа; несанкционированное действие – действие субъекта в нарушение установленных в системе правил обработки информации; нарушитель – это лицо (субъект), которое предприняло (пыталось предпринять) попытку несанкционированного доступа к ресурсам системы (попытку выполнения запрещенных ему действий с данным ресурсом) по ошибке, незнанию или осознанно со злым умыслом (из корыстных интересов) или без такового (ради игры или с целью самоутверждения и т.п.) и использовавшее для этого различные возможности, методы и средства (чисто агентурные методы получения сведений, технические средства перехвата без модификации компонентов системы, штатные средства и недостатки систем защиты, подключение к каналам передачи данных, внедрение программных закладок и использование специальных инструментальных и технологических программ и т.п.); злоумышленник – нарушитель, действующий умышленно из корыстных побуждений; система защиты АС (информации) – совокупность (комплекс) специальных мер правового (законодательного) и административного характера, организационных мероприятий, физических и технических (программных и аппаратных) средств защиты, а также специального персонала, предназначенных для обеспечения безопасности АС (циркулирующей в АС информации); защита информации – непрерывный процесс построения, поддержки нормального функционирования и совершенствования системы защиты информации; цель защиты АС (информации) – предотвращение или минимизация наносимого ущерба (прямого или косвенного, материального, морального или иного) субъектам информационных отношений посредством нежелательного воздействия на компоненты АС, а также разглашения (утечки), искажения (модификации), утраты (снижения степени доступности) или незаконного тиражирования информации; правовые меры защиты информации – действующие в стране законы, указы и другие нормативные акты, регламентирующие правила обращения с информацией и ответственность за их нарушения, препятствующие тем самым неправомерному ее использованию и являющиеся сдерживающим фактором для потенциальных нарушителей; морально-этические меры защиты информации – традиционно сложившиеся в стране или обществе нормы поведения и правила обращения с информацией. Эти нормы большей частью не являются обязательными, как законодательно утвержденные нормы, однако, их несоблюдение ведет обычно к падению авторитета, престижа человека, группы лиц или организации. Морально-этические нормы бывают как традиционно сложившиеся (например, общепризнанные нормы честности, патриотизма и т.п.), так и специально разработанные, то есть оформленные в некоторый свод (устав) правил или предписаний; организационные (административные) меры защиты – это меры, регламентирующие процессы функционирования системы обработки данных, использование ее ресурсов, деятельность персонала, а также порядок взаимодействия пользователей с системой таким образом, чтобы в наибольшей степени затруднить или исключить возможность реализации угроз безопасности циркулирующей в ней информации; физические меры защиты – это разного рода механические, электро- или электронномеханические устройства и сооружения, специально предназначенные для создания физических препятствий на возможных путях проникновения и доступа потенциальных нарушителей к компонентам АС и защищаемой информации, а также технические средства визуального наблюдения, связи и охранной сигнализации; технические (аппаратно-программные) средства защиты – различные электронные устройства и специальные программы, входящие в состав АС, которые выполняют (самостоятельно или в комплексе с другими средствами) функции защиты информации (идентификацию и аутентификацию пользователей, разграничение доступа к ресурсам, регистрацию событий, криптографическое закрытие информации и т.д.); администратор безопасности – лицо или группа лиц, ответственных за обеспечение безопасности системы, за реализацию и непрерывность соблюдения установленных административных мер защиты и осуществляющих постоянную организационную поддержку функционирования применяемых физических и технических средств защиты. 2. Место и роль информационной безопасности в системе национальной безопасности России В современных общественно-политических условиях, характеризующихся высоким уровнем технологизации всех сторон жизни, обеспечение информационной безопасности страны является весьма важной задачей, определяющей ее национальную безопасность в целом. Действенная политика в области информационной безопасности невозможна без соответствующего нормативно-правового регулирования. Руководящие документы в области информационной безопасности Все множество документов этой сферы можно представить в виде нескольких групп Документы в области информационной безопасности Законы Российской Федерации Указы Президента Российской Федерации Постановления Правительства Российской Федерации Решения ГТК при Президенте Российской Федерации Руководящие и нормативнометодические документы ГТК Государственные стандарты Российской Федерации (рис.1.1) Рис.1.1. Классификация руководящих документов по безопасности информации К первой группе относятся Законы Российской Федерации, такие как: «О Государственной тайне» №5151-1 от 21 июля 1993 года; «Об информации, информатизации и защите информации» №24-ФЗ от 20 Февраля 1995 года; «О безопасности» №2446-1 от 5 марта 1992 года; «О связи» №15ФЗ от 16 февраля 1995 года; «Об участии в международном информационном обмене» №85-ФЗ от 4 июля 1996 года. В эту же группу документов принято включать «Доктрину информационной безопасности Российской Федерации» от 9 сентября 2000 года. Вторую группу документов составляют Указы Президента Российской Федерации. В их число входят: «Об утверждении перечня сведений, отнесенных к Государственной тайне» №1203 от 30 ноября 1993 года; «О межведомственной комиссии по защите Государственной тайны» № 1108 от 8 ноября 1995 года; «О защите информационных и телекоммуникационных систем и баз данных от утечки конфиденциальной информации по техническим каналам» № 644 от 8 сентября 1993 года; «Об утверждении перечня сведений конфиденциального характера» № 188 от 6 августа 1997 года и некоторые другие. Третья группа документов состоит из Постановлений Правительства Российской Федерации. Ее образуют: «Положение о Государственной системе защиты информации в Российской Федерации» № 912-51 от 15 сентября 1993 года; «Об утверждении Положения «О порядке обращения со служебной информацией ограниченного распространения в Федеральных органах исполнительной власти» № 1233 от 3 ноября 1994 года; «О лицензировании деятельности предприятий, учреждений и организаций по проведению работ, связанных с использованием сведений, составляющих Государственную тайну, созданием средств защиты информации, а также с осуществлением мероприятий и/или оказанием услуг по защите Государственной тайне» №333 от 15 апреля 1995 года; «О внесении дополнений в Положение «О лицензировании» №513 от 30 апреля 1997 года; «О сертификации средств защиты информации» №608 от 26 июня 1995 года и другие Четвертая группа документов представлена Решениями Государственной технической комиссии (Гостехкомиссии) при Президенте Российской Федерации – основного исполнительного органа в области защиты информации. В эту группу входят: «Основы концепции защиты информации в Российской Федерации» №6 от 16 ноября 1993 года; «Типовое Положение о подразделении по защите информации» № 32 от 14 марта 1995 года; «Типовое Положение о совете (технической комиссии) по защите информации» № 32 от 14 марта 1995 года; «О типовых требованиях к содержанию и порядку разработки руководства по защите информации» №42 от 3 октября 1995 года; «Методические рекомендации по разработке развернутых перечней сведений, подлежащих засекречиванию» № 29 от 3 февраля 1995 года; «Положение о государственном лицензировании деятельности в области защиты информации» №10 от 27.04.1994 года; «О защите информации при вхождении России в международную информационную систему Интернет» №61 от 21 октября 1997 года. В пятой группе представлены следующие Руководящие и Нормативно-методические документы Гостехкомиссии Российской Федерации: «Руководящий документ. Защита от несанкционированного доступа к информации. Термины и определения» от 30 марта 1992 года; «Руководящий документ. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации» от 30 марта 1992 года; «Руководящий документ. Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации» от 30 марта 1992 года; «Концепция защиты средств вычислительной техники и автоматизированных систем от несанкционированного доступа к информации» от 30 марта 1992 года; «Руководящий документ. Временное положение по организации разработки, изготовления и эксплуатации программных и технических средств защиты информации от несанкционированного доступа в автоматизированных системах и средствах вычислительной техники» от 30 марта 1992 года; «Руководящий документ. Средства вычислительной техники. Межсетевые экраны. Защита от несанкционированного доступа к информации. Показатели защищенности от несанкционированного доступа к информации» от 25 июля 1991 года; «Нормативно-методический документ по противодействию средствам разведки» от 12 июня 1990 года; «Нормативно-методический документ по противодействию разведке» от 16 ноября 1993 года; «Нормативно-методический документ по противодействию средствам фото- и оптикоэлектронной разведки» от 12 июня 1990 года; «Нормативно-методический документ по противодействию радиолокационным средствам разведки» от 16 ноября 1993 года; «Нормативно-методический документ по противодействию инфракрасной разведке» от 14 марта 1995 года; «Нормативно-методический документ по противодействию акустической разведке» от 25 июля 1991 года. Шестая группа документов образована Государственными Стандартами Российской Федерации: ГОСТ РВ 50170-92 Противодействие иностранным техническим разведкам. Термины и определения; ГОСТ РВ 50600-93. Защита информации от технической разведки. Система документов. Общие положения; ГОСТ 28147-87. Защита информации от утечки за счет побочных электромагнитных излучений. Общие технические требования; ГОСТ Р 50922-96. Защита информации. Основные термины и определения; ГОСТ Р 50739-95. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Основные технические требования; ГОСТ Р 50752-95 Информационная технология. Защита информации от утечки за счет побочных электромагнитных излучений при ее обработке средствами вычислительной техники. Методы испытаний. Широкий спектр документов подчеркивает важность и многогранность проблемы обеспечения информационной безопасности. Детальное рассмотрение каждого из них является самостоятельной задачей, решаемой в интересах специалистов в области юриспруденции, административного и хозяйственного управления, компьютерной и телекоммуникационной техники. Тем не менее, базовым документом, определяющим стратегию информационной безопасности страны, следует считать «Доктрину информационной безопасности Российской Федерации». О Доктрине информационной безопасности Российской Федерации В 2000 году Президентом России утверждена «Доктрина информационной безопасности Российской Федерации». Этот документ, представляющий собой совокупность официальных взглядов на цели, задачи, принципы и основные направления обеспечения информационной безопасности России, служит основой для формирования государственной политики в сфере информации. Доктрина включает в себя перечень основных видов возможных угроз информации в Российской Федерации. В их число входят: 1) закупка органами государственной власти импортных средств информатизации, телекоммуникации и связи при наличии отечественных аналогов, не уступающих по своим характеристикам зарубежным образцам; 2) вытеснение с отечественного рынка российских производителей средств информатизации, телекоммуникации и связи; 3) неспособность предприятий национальных отраслей электронной промышленности производить на базе новейших достижений микроэлектроники, передовых информационных технологий конкурентоспособную наукоемкую продукцию, позволяющую обеспечить достаточный уровень технологической независимости России от зарубежных стран, что приводит к вынужденному широкому использованию импортных программно-аппаратных средств при создании и развитии в России информационной инфраструктуры; 4) увеличение оттока за рубеж специалистов и правообладателей интеллектуальной собственности; 5) нарушение установленного регламента сбора, обработки и передачи информации, преднамеренные действия и ошибки персонала информационных и телекоммуникационных систем, отказ технических средств и сбои программного обеспечения в информационных и телекоммуникационных системах; 6) использование не сертифицированных в соответствии с требованиями безопасности средств и систем информатизации и связи, а также средств защиты информации и контроля их эффективности; 7) привлечение к работам по созданию, развитию и защите информационных и телекоммуникационных систем организаций и фирм, не имеющих государственных лицензий на осуществление этих видов деятельности. В качестве общих методов обеспечения информационной безопасности Доктриной, в частности, предполагаются: 1) обеспечение технологической независимости Российской Федерации в важнейших областях информатизации, телекоммуникации и связи, определяющих ее безопасность, и в первую очередь, в области создания специализированной вычислительной техники для образцов вооружения и военной техники; 2) законодательное закрепление приоритета развития национальных сетей связи и отечественного производства космических спутников связи. В числе первоочередных мер, направленных на обеспечение информационной безопасности, в Доктрине названы следующие: 1) принятие и реализация федеральных программ, предусматривающих формирование общедоступных архивов информационных ресурсов федеральных органов государственной власти и органов государственной власти субъектов Российской Федерации; 2) повышение правовой культуры и компьютерной грамотности граждан; 3) развитие инфраструктуры единого информационного пространства России; 4) создание безопасных информационных технологий для систем, используемых в процессе реализации жизненно важных функций общества и государства; 5) пресечение компьютерной преступности; 6) создание информационно-телекоммуникационной системы специального назначения в интересах федеральных органов государственной власти и органов государственной власти субъектов Российской Федерации; 7) обеспечение технологической независимости страны в области создания и эксплуатации информационно-телекоммуникационных систем оборонного назначения. К основным организационно-техническим мероприятиям по защите информации в общегосударственных информационных и телекоммуникационных системах отнесены: 1) лицензирование деятельности организаций в области защиты информации; 2) аттестация объектов информатизации по выполнению требований обеспечения защиты информации при проведении работ, связанных с использованием сведений, составляющих государственную тайну; 3) сертификация средств защиты информации и контроля эффективности их использования, а также защищенности информации от утечки по техническим каналам систем и средств информатизации и связи. 3. Безопасность человека и технических средств в информационном пространстве Базовым законом в области защиты информации является принятый в начале 1995 года Федеральный Закон «Об информации, информатизации и защите информации» (далее для краткости — «Закон об информации»). Он регламентирует отношения, возникающие при формировании и использовании информационных ресурсов Российской Федерации на основе сбора, накопления, хранения, распространения и предоставления потребителям документированной информации, а также при создании и использовании информационных технологий, при защите информации и прав субъектов, участвующих в информационных процессах и информатизации. Закон гласит: • информационные ресурсы делятся на государственные и негосударственные (ст.6, ч.1); • государственные информационные ресурсы Российской Федерации формируются в соответствии со сферами ведения как: федеральные информационные ресурсы; информационные ресурсы, находящиеся в совместном ведении Российской Федерации и субъектов Российской Федерации; информационные ресурсы субъектов Российской Федераций (ст.7, ч.1); • государственные информационные ресурсы являются открытыми и общедоступными. Исключение составляет документированная информация, отнесенная законом к категории ограниченного доступа (ст.10, ч.1); • документированная информация ограниченного доступа по условиям ёе правового режима подразделяется на информацию, отнесенную к государственной тайне, и конфиденциальную (ст.10, ч.2). • конфиденциальная информация — документированная информация, доступ к которой ограничивается в соответствии с законодательством Российской Федерации (ст.2); персональные данные о гражданах, включаемые в состав федеральных информационных ресурсов, информационных ресурсов совместного ведения, информационных ресурсов субъектов Российской Федерации, информационных ресурсов местного самоуправления, а также получаемые и собираемые негосударственными организациями, отнесены к категории конфиденциальной информации (ст.11,ч.1). Из этого Закона следует: • информация из любой области знаний и деятельности в принципе является открытой и общедоступной, если законодательством не предусмотрено ограничение доступа к ней в установленном порядке; • категория «конфиденциальная информация», в соответствии с понятием, приведенным выше из ст.2 «Закона об информации», объединяет все виды защищаемой информации (тайн). Это относится и к государственным и к негосударственным информационным ресурсам. При этом исключение составляет информация, отнесенная к государственной тайне: она к конфиденциальной информации не относится, а является составной частью информации с ограниченным доступом (основание — ст.10, ч.2 указанного Закона). Отнесение информации к категориям осуществляется: • к государственной тайне — в соответствии с Законом Российской Федерации «О Государственной тайне»; • к конфиденциальной информации — в порядке, установленном законодательством РФ; • к персональным данным о гражданах — Федеральным законом. Статья 20 Закона определяет, что целями защиты информации являются: 1) предотвращение утечки, хищения, утраты, искажения, подделки информации; 2) предотвращение угроз безопасности личности, общества, государства; 3) предотвращение несанкционированных действий по уничтожению, модификации, искажению, копированию, блокированию информации; предотвращение других форм незаконного вмешательства в информационные ресурсы и информационные системы, обеспечение правового режима документированной информации как объекта собственности; 4) защита конституционных прав граждан на сохранение личной тайны и конфиденциальности персональных данных, имеющихся в информационных системах; 5) сохранение государственной тайны, конфиденциальности документированной информации в соответствии с законодательством; 6) обеспечение прав субъектов в информационных процессах и при разработке, производстве и применении информационных систем, технологий и средств их обеспечения. В статье 21 Закона, в частности, определено, что защите подлежит любая документированная информация, неправомерное обращение с которой может нанести ущерб ее собственнику, владельцу, пользователю и иному лицу. Режим защиты информации устанавливается в отношении следующей информации: • сведений, отнесенных к государственной тайне, - уполномоченными органами на основании Закона Российской Федерации «О государственной тайне»; • конфиденциальной документированной информации - собственником информационных ресурсов или уполномоченным лицом на основании настоящего Федерального закона; • персональных данных - Федеральным законом. Принципиальным здесь является положение, что режим защиты конфиденциальной информации определяет ее собственник, то есть соответствующий орган государственной власти или управления, организация, учреждение, предприятие. • 4. Правовое регулирование в области информационной безопасности Преступления в области компьютерной информации впервые включены в Уголовный Кодекс Российской Федерации, вступивший в действие 1 января 1997 года. Поэтому необходимо определить основные понятия, используемые в данном разделе. Компьютерная информация – в соответствии со ст.2 закона «Об информации информатизации и защите информации» под информацией понимаются – сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы их представления, но в применительно к комментируемым статьям под компьютерной информацией понимаются не сами сведения, а форма их представления в машиночитаемом виде, т.е. совокупность символов, зафиксированная в памяти компьютера, либо на машинном носителе (дискете, оптическом, магнитооптическом диске, магнитной ленте либо ином материальном носителе). При рассмотрении дел следует учитывать, что при определенных условиях и физические поля могут являться носителями информации. Программа для ЭВМ – объективная форма представления совокупности данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств с целью получения определенного результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения; ЭВМ (компьютер) – устройство или система (несколько объединенных устройств) предназначенное (ая) для ввода, обработки и вывода информации. Сеть ЭВМ – совокупность компьютеров, средств и каналов связи, позволяющая использовать информационные и вычислительные ресурсы каждого компьютера включенного в сеть независимо от его места нахождения. База данных – это объективная форма представления и организации совокупности данных (например: статей, расчетов), систематизированных таким образом, чтобы эти данные могли быть найдены и обработаны с помощью ЭВМ; Статья 272. Неправомерный доступ к компьютерной информации. 1. Неправомерный доступ к охраняемой законом компьютерной информации, то есть информации на машинном носителе, в электронно-вычислительной машине (ЭВМ), системе ЭВМ или их сети, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование информации, нарушение работы ЭВМ, системы ЭВМ или их сети, – наказывается штрафом в размере от двухсот до пятисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от двух до пяти месяцев, либо исправительными работами на срок от шести месяцев до одного года, либо лишением свободы на срок до двух лет. 2. То же деяние, совершенное группой лиц по предварительному сговору или организованной группой либо лицом с использованием своего служебного положения, а равно имеющим доступ к ЭВМ, системе ЭВМ или их сети, – наказывается штрафом в размере от пятисот до восьмисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от пяти до восьми месяцев, либо исправительными работами на срок от одного года до двух лет, либо арестом на срок от трех до шести месяцев, либо лишением свободы на срок до пяти лет. Объективную сторону данного преступления составляет неправомерный доступ к охраняемой законом компьютерной информации, который всегда носит характер совершения определенных действий и может выражаться в проникновении в компьютерную систему путем: • использования специальных технических или программных средств позволяющих преодолеть установленные системы защиты; незаконного использования действующих паролей или кодов для проникновения в компьютер, либо совершение иных действий в целях проникновения в систему или сеть под видом законного пользователя; • хищения носителей информации, при условии, что были приняты меры их охраны, если это деяние повлекло уничтожение или блокирование информации. Неправомерным признается доступ к компьютерной информации лица, не обладающего правами на получение и работу с данной информацией, либо компьютерной системой. Причем в отношении этой информации системы должны приниматься специальные меры защиты, ограничивающие круг лиц, имеющих к ней доступ. Под охраняемой законом информацией понимается информация, для которой в специальных законах установлен специальный режим ее правовой защиты, например, государственная, служебная и коммерческая тайна, персональные данные и т.д. Состав данного преступления носит материальный характер и предполагает обязательное наступление одного из следующих последствий: • уничтожения информации, то есть удаление информации на материальном носителе и невозможность ее восстановления на нем; • блокирования информации, то есть совершение действий приводящих к ограничению или закрытию доступа к компьютерной системе и предоставляемым ею информационным ресурсам; • модификации информации, то есть внесение изменений в программы, базы данных, текстовую информацию находящуюся на материальном носителе; • копирования информации, то есть переноса информации на другой материальный носитель, при сохранении неизмененной первоначальной информации; • нарушения работы ЭВМ, системы ЭВМ или их сети, что может выразиться в нарушении работы как отдельных программ, баз данных, выдаче искаженной информации, так и нештатном функционировании аппаратных средств и периферийных устройств, либо нарушении нормального функционирования сети. Важным является установление причинной связи между несанкционированным доступом и наступлением последствий. При функционировании сложных компьютерных систем возможны уничтожение, блокирование и нарушение работы ЭВМ в результате технических неисправностей или ошибок в программных средствах. В этом случае лицо, совершившего неправомерный доступ к компьютерной информации, не подлежит ответственности из-за отсутствия причинной связи между действиями и наступившими последствиями. Данное преступление считается оконченным в момент наступления предусмотренных в данной статье последствий. Субъективная сторона данного преступления характеризуется только прямым умыслом. В случае если в результате неправомерного доступа к системе ЭВМ, управляющей процессами, связанными с повышенной опасностью, например система управления атомной станцией, в результате уничтожения, блокирования, модифицирования информации была нарушена работа реактора, что привело к тяжким последствиям, даже если наступление этих последствий не охватывалось умыслом лица, уголовная ответственность за такие последствия наступает в случае, если лицо предвидело возможность их наступления, но без достаточных к тому оснований самонадеянно рассчитывало на их предотвращение, или в случае, если лицо не предвидело, но должно было и могло предвидеть возможность наступления этих последствий. В целом такое преступление признается совершенным умышленно. Субъектами данного преступления в основном могут являться лица, имеющие опыт работы с компьютерной техникой, и поэтому в силу профессиональных знаний они обязаны предвидеть возможные последствия уничтожения, блокирования, модификации информации либо нарушения работы ЭВМ, системы ЭВМ и их сети. По общему правилу субъектами преступления, предусмотренного ст.272, может быть лицо, достигшее 16-летнего возраста, однако часть • вторая предусматривает наличие специального субъекта совершившего данное преступление с использованием своего служебного положения, а равно имеющим доступ к ЭВМ, системе ЭВМ или их сети. Под доступом в данном случае понимается фактическая возможность использовать ЭВМ, при отсутствии права на работу с защищенной информацией. Например, инженер по ремонту компьютерной техники имеет доступ к ЭВМ в силу своих служебных обязанностей, но вносить какие либо изменения в информацию находящуюся в памяти ЭВМ не имеет права. Статья 273. Создание, использование и распространение вредоносных программ для ЭВМ. 1. Создание программ для ЭВМ или внесение изменений в существующие программы, заведомо приводящих к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети, а равно использование либо распространение таких программ или машинных носителей с такими программами – наказываются лишением свободы на срок до трех лет со штрафом в размере от двухсот до пятисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от двух до пяти месяцев. 2. Те же деяния, повлекшие по неосторожности тяжкие последствия, – наказываются лишением свободы на срок от трех до семи лет. Под вредоносными программами в смысле ст.273 УК РФ понимаются программы специально созданные для нарушения нормального функционирования компьютерных программ. Под нормальным функционированием понимается выполнение операций, для которых эти программы предназначены, определенные в документации на программу. Наиболее распространенными видами вредоносных программ являются «компьютерные вирусы» и «логические бомбы». Компьютерные вирусы – это программы, которые умеют воспроизводить себя в нескольких экземплярах, модифицировать (изменять) программу, к которой они присоединились и тем самым нарушать ее нормальное функционирование. Логические бомбы – это умышленное изменение кода программы, частично или полностью выводящее из строя программу либо систему ЭВМ при определенных заранее условиях, например наступления определенного времени. Принципиальное отличие логических бомб от компьютерных вирусов состоит в том, что они изначально являются частью программы и не переходят в другие программы, а компьютерные вирусы являются динамичными программами и могут распространяться даже по компьютерным сетям. Объективную сторону данного преступления составляет факт создания программ для ЭВМ или внесение изменений в существующие программы, заведомо приводящих к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети (см. комментарий к ст.272 п.1), а равно использование либо распространение таких программ или машинных носителей с такими программами. Под использованием программы понимается выпуск в свет, воспроизведение, распространение и иные действия по их введению в оборот. Использование может осуществляться путем записи программы в память ЭВМ, на материальный носитель, распространение по сетям либо путем иной передачи другим лицам. Данный состав является формальным и не требует наступления каких-либо последствий, уголовная ответственность возникает уже в результате создания программы, независимо от того использовалась эта программа или нет. По смыслу ст.273 наличие исходных текстов вирусных программ уже является основанием для привлечения к ответственности. Однако следует учитывать, что в ряде случаев использование подобных программ не будет являться уголовно наказуемым. Это относится к деятельности организаций, осуществляющих разработку антивирусных программ и имеющих лицензию на деятельность по защите информации, выданную Гостехкомиссией. Формой совершения данного преступления может быть только действие, выраженное в виде создания вредоносных программ для ЭВМ, внесения изменений в уже существующие программы, а равно использование либо распространение таких программ. Распространение машинных носителей с такими программами полностью покрывается понятием распространения. С субъективной стороны преступление, предусмотренное частью 1 ст.273, может быть совершено только с прямым умыслом, так как в статье определено, что создание вредоносных программ заведомо для создателя программы должно привести к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ. Использование или распространение вредоносных программ тоже может осуществляться только умышленно, так как в соответствии со с частью 2 ст.274 УК РФ деяние, совершенное по неосторожности, признается преступлением только в том случае, когда это специально предусмотрено соответствующей статьей Особенной части настоящего Кодекса. Часть 2 ст.272 в отличие от части первой в качестве квалифицирующего признака предусматривает наступление тяжких последствий по неосторожности. Разработка вредоносных программ доступна только квалифицированным программистам, которые в силу своей профессиональной подготовки должны предвидеть возможные последствия использования этих программ. В случае если установлен прямой умысел, охватывающий и наступление тяжких последствий, квалификация данного преступления должна основываться на цели, которая стояла перед виновным, в этом случае создание программы либо внесение изменений в программу будут являться только способом совершения преступления и в этом случае должна применяться ст.17 п.2 УК РФ. Субъектом данного преступления может быть любой гражданин, достигший 16 лет. Статья 274. Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети. 1. Нарушение правил эксплуатации ЭВМ, системы ЭВМ или их сети лицом, имеющим доступ к ЭВМ, системе ЭВМ или их сети, повлекшее уничтожение, блокирование или модификацию охраняемой законом информации ЭВМ, если это деяние причинило существенный вред, – наказывается лишением права занимать определенные должности или заниматься определенной деятельностью на срок до пяти лет, либо обязательными работами на срок от ста восьмидесяти до двухсот сорока часов, либо ограничением свободы на срок до двух лет. 2. То же деяние, повлекшее по неосторожности тяжкие последствия, наказывается лишением свободы на срок до четырех лет. Компьютерные системы в настоящее время все больше влияют на нашу жизнь и выход из строя ЭВМ, систем ЭВМ или их сети может привести к катастрофическим последствиям, поэтому законодателем установлена уголовная ответственность за нарушение правил эксплуатации ЭВМ, систем ЭВМ или их сети. Данная норма является бланкетной и отсылает к конкретным инструкциям и правилам, устанавливающим порядок работы с ЭВМ в ведомстве или организации. Эти правила должны устанавливаться управомоченным лицом, в противном случае каждый работающий с компьютером будет устанавливать свои правила эксплуатации. Применительно к данной статье под сетью понимается только внутренняя сеть ведомства или организации, на которую может распространяться его юрисдикция. В глобальных сетях типа Internet отсутствуют общие правила эксплуатации, их заменяют этические «кодексы поведения», нарушения которых не могут являться основанием для привлечения к уголовной ответственности. Под охраняемой законом информацией понимается информация, для которой в специальных законах установлен специальный режим ее правовой защиты, например, государственная, служебная и коммерческая, банковская тайны, персональные данные и т.д. Объективная сторона данного преступления состоит в нарушении правил эксплуатации ЭВМ и повлекших уничтожение, блокирование или модификацию охраняемой законом информации ЭВМ при условии, что в результате этих действий был причинен существенный вред. Между фактом нарушения и наступившим существенным вредом должна быть установлена причинная связь и полностью доказано, что наступившие последствия являются результатом нарушения правил эксплуатации, а не программной ошибкой либо действиями, предусмотренными в ст.ст.272, 273 УК РФ. Определение существенного вреда, предусмотренного в данной статье, будет устанавливаться судебной практикой в каждом конкретном случае исходя их обстоятельств дела, однако очевидно, существенный вред должен быть менее значительным, чем тяжкие последствия. Субъективную сторону части 1 данной статьи характеризует наличие умысла направленного на нарушение правил эксплуатации ЭВМ. В случае наступления тяжких последствий ответственность по ст.274 наступает только в случае неосторожных действий. Умышленное нарушение правил эксплуатации ЭВМ, систем ЭВМ и их сети влечет уголовную ответственность в соответствии с наступившими последствиями и нарушение правил эксплуатации в данном случае становится способом совершения преступления. Действия специалиста больницы, поставившего полученную по сетям программу без предварительной проверки (что говорит о преступной неосторожности) на наличие в ней компьютерного вируса, повлекшее заражение системы и отказ работы систем жизнеобеспечения реанимационного отделения, что, в свою очередь, привело к смерти больного, должны квалифицироваться по части 2 ст.274. Подобные действия, совершенные умышленно, должны квалифицироваться как покушение на убийство. Субъект данного преступления – специальный, это лицо в силу должностных обязанностей имеющее доступ к ЭВМ, системе ЭВМ и их сети и обязанное соблюдать установленные для них правила эксплуатации. ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ В заключительной части лекции подвести итоги занятия, дать задания на самостоятельную работу по изучению материала, используя основную и дополнительную литературу. II. Задание и указания обучающимся по подготовке к практическому занятию. При подготовке к лекции необходимо изучить основную и дополнительную литературу, подготовить в учебных аудиториях информатики. III. Перечень литературы и учебно-методических материалов для подготовки лекции. Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, модернизация. - М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001 Санкт-Петербургский университет Государственной противопожарной службы МЧС России –––––––––––––––––––––––––––––––––––––––––––––––––––––– Кафедра прикладной математики и информационных технологий УТВЕРЖДАЮ Заместитель начальника кафедры прикладной математики и информационных технологий капитан внутренней службы Т.А. Подружкина ”14” июня 2011 года МЕТОДИЧЕСКАЯ РАЗРАБОТКА ДЛЯ ПРОВЕДЕНИЯ ЛЕКЦИИ по учебной дисциплине «Информационные технологии» Тема № 8 «Основы моделирования и прогнозирования кризисных и чрезвычайных ситуаций» Занятие № 1 «Основы моделирования чрезвычайных ситуаций» Рассмотрена на заседании кафедры прикладной математики и информационных технологий Протокол № 10 от ”14” июня 2011 года Санкт-Петербург 2011 I. Учебные цели 1. 2. 3. 4. 5. Изучить основные понятия моделирования. Классификация моделей. Изучить основы математического моделирования. Изучить вероятностные модели. Воспитывать у обучаемых стремление к углубленному изучению учебного материала. Воспитывать у обучаемых стремление к самостоятельному изучению новых информационных технологий II. Расчет учебного времени Содержание и порядок проведения занятия Время, мин ВСТУПИТЕЛЬНАЯ ЧАСТЬ 5 ОСНОВНАЯ ЧАСТЬ Учебные вопросы: 1. Основные понятия моделирования. Классификация моделей. 2. Основы математического моделирования . 3. Вероятностные модели. 75 ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ 25 25 25 10 III. Учебно-материальное обеспечение 1. Мультимедийный проектор 2. Набор слайдов IV. Методические рекомендации преподавателю по подготовке к проведению лекции При подготовке к лекции преподаватель обязан ознакомиться с литературой и методическими рекомендациями, изучить учебные вопросы, структуру и содержание лекции. По завершении личной теоретической подготовки необходимо составить план проведения лекции с указанием времени, отводимого на отработку учебных вопросов. Разработать и выдать обучаемым задания на подготовку к практическому занятию, дать указания на получение необходимой литературы, учебно-методических материалов и рекомендовать материал для повторения. Во вступительной части лекции (5 мин) после проверки наличия личного состава, объявить тему, цели и учебные вопросы занятия, последовательность их отработки, ориентировочное время выполнения задания. При отработке первого учебного вопроса (25 мин) следует определить сущность и содержание понятия «моделирования чрезвычайных ситуаций», разобрать такие понятия, как «моделирование», «математическое моделирования», «вероятностные модели». При отработке второго учебного вопроса (25 мин) Разобрать основы математического моделирования. При отработке третьего учебного вопроса (25 мин) Разобрать основы вероятностных моделей. В заключительной части (10 мин) подвести итоги практического занятия, поставить задачи на следующее занятие. VI. Литература, рекомендованная преподавателю Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Издво Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, модернизация. М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001 Разработал текст лекции: ст. преподаватель кафедры ПМиИТ капитан внутренней службы VII. Приложение Т.Н. Антошина ТЕКСТ ЛЕКЦИИ по дисциплине «Информационные технологии» 1. Основные понятия моделирования. Классификация моделей. 1.1. Основные понятия моделирования Прежде, чем проводить классификацию математических методов решения информационно-аналитических задач, определим основную терминологию в области моделирования операций и рассмотрим основы моделирования информационноаналитических задач. Моделирование информационно-аналитических задач предполагает свободное владение терминологией теории принятия решений и моделирования. Центральное место в теории принятия решений занимают понятия: операция, цель, свойство, решение и связанные с ними термины. Рассмотрим их, обратив особое внимание на уяснение сущности формулировок и сопоставление уже имеющихся у вас понятий с вновь вводимыми. Желательно каждому из вас вначале ввести свою трактовку того или иного из рассматриваемых терминов, а затем сопоставить ее с предлагаемой на лекции. Рассмотрим основные термины теории принятия решений. Операция - этап функционирования системы, ограниченный выполнением определенной цели. Пока не задана цель, об операции говорить нельзя. Примеры операций: следственный эксперимент; проведение профилактических мероприятий; обезвреживание преступника и др. Цель - ситуация (область ситуаций), которая должна быть достигнута при функционировании системы (т.е. это результат, подлежащий достижению). Свойство - сторона объекта, обусловливающая его различие или сходство с другими объектами и проявляющаяся во взаимодействии с ними. Характеристика - то, что отражает некоторое свойство объекта. Параметр - количественная характеристика. Неуправляемые характеристики (y=(y1 ,y 2 ,...,y n ) - та часть характеристик, которые управляющий объект не в силах изменить с помощью объекта управления, но должен учитывать при выборе решения ( характер местности, скорость ветра, температура воздуха и др.). Управляемые характеристики - (x=(x 1 ,x 2 ,...,x m ) - характеристики системы, которые могут меняться управляющим объектом (количество личного состава, участвующего в обезвреживании преступника; количество задействованных транспортных средств и др.). Решение (управляющее воздействие) - множество значений управляемых характеристик. Принятие решения - задание значений управляемых характеристик. Допустимое решение - решение, удовлетворяющее наложенным ограничениям. Оптимальное решение - решение, которое с точки зрения достижения цели операции предпочтительнее других решений. Оптимизация - процесс поиска оптимального решения. Найти решение определить значения управляемых параметров с учетом значений неуправляемых параметров. Реализация того или иного решения приводит к различным исходам операции. Исход операции - ситуация, сложившаяся (прогнозируемая) на момент завершения операции. Для оценки исходов операции относительно поставленной цели вводится показатель исхода операции. В качестве показателя исхода операции может выступать один или несколько параметров, либо величина, функционально связанная с ними r=W(x,y)). Показатель - числовая характеристика определенного свойства альтернативы. Эффективность - качество функционирования системы (правильно относить понятие эффективность к процессу функционирования системы, а не к самой системе, к выполняемой ею операции). Эффективность решения - свойство решения соответствовать цели операции. Критерий эффективности решения - характеристика (мера), которая выражает количественно эффективность каждого рассматриваемого решения и служит основой для выбора одного из них (т.е. это то, по чему сравниваются решения при выборе). Так как эффективность решения отражает в конечном счете соответствие исхода операции поставленной цели, то критерий эффективности решения x (U(x)) должен прямо или косвенно выражаться через показатели исхода операции (r), т.е.: U(x) = F(r 1 ,r 2 ,...,r n ) , i=1,n. Таким образом, для формирования критерия эффективности решения в операции необходимо: 1)определить поставленную цель; 2)найти множество управляемых и реализующей операцию; 3)определить показатели исхода операции; неуправляемых параметров системы, 4)выбрать и сформировать критерий эффективности. Показатель эффективности - показатель исхода операции (либо функция показателей), на основе которых формируется критерий эффективности. Операции могут быть: 1) детерминированными (каждому решению соответствует один исход); 2) вероятностными (каждому решению соответствует не один, а множество исходов с известными вероятностями появления); 3) неопределенными (известен класс возможных распределений вероятностей неуправляемых параметров, но неизвестно, какой из них в любой момент времени имеет место). К настоящему времени существует довольно большое количество определений (трактовок) понятия "модель": модель - это объект, вторичный по отношению к прототипу (оригиналу); модель - это средство изучения прототипа; модель - это средство, находящееся с прототипом в отношении сходства и др. Обобщая множество трактовок, можно определить понятие "модель" следующим образом: модель - это объект, который имеет сходство в некоторых отношениях с другим объектом и служит средством фиксирования известной и получения новой информации о нем. Модели выступают средством познания окружающего нас мира. Они появились в результате необходимости раскрытия свойств объектов, обнаружить которые при непосредственном познании не удается (рис.1). Субъект познания Модель (Средство познания) Объект познания Рис.1. Модель, как средство познания Модели используются при проведении мысленного или технического эксперимента для получения свойств реальной системы, способов ее применения и преобразования. С понятием "модель" тесно связано понятие моделирование". Моделирование - это процесс исследования моделируемой системы, включающий построение модели, изучение ее и перенос полученных сведений на моделируемую систему. Моделирование направлено на получение новой информации, но только при наличии априорной информации о моделируемой системе. Техническое моделирование, несмотря на определенную ограниченность, обладает рядом преимуществ по сравнению с умственным моделированием. Среди таких преимуществ следует выделить следующие: 1) устойчивость получаемых результатов относительно исходных данных; 2) высокая точность; 3) возможность многократного повторения процесса моделирования; 4) высокая скорость моделирования. Модель строится субъектом так, чтобы отразить свойства объекта, которые являются для него существенными. Практическое значение модель может иметь лишь при условии, что результаты моделирования более доступны, чем непосредственное изучение объекта. Модель в большинстве случаев дает упрощенный образ объекта, поэтому она более доступна. Определим основные цели моделирования: 1) поиск оптимальных решений или близких к ним; 2) оценка эффективности решений; 3) определение аналитических свойств системы (чувствительности оптимального решения к изменениям значений параметров и др.); 4) установление в явном виде взаимосвязей между параметрами системы; 5) перенос информации во времени. Обобщить изложенное можно тремя положениями: 1) объект А может быть моделью объекта В, а не моделью вообще; 2) объект А может быть моделью объекта В только в каком-то смысле; 3) модель А можно построить только при наличии достаточной априорной информации об объекте В. Можно определить три основные области применения моделей в деятельности сотрудников органов внутренних дел: 1) научные исследования (в том числе и в научной работе слушателей); 2) обучение; 3) управление органами внутренних дел. В научных исследованиях модели служат средством получения, фиксирования и упорядочивания новой информации, обеспечивая развитие теории и практики органов внутренних дел. При обучении с помощью моделей достигается высокая наглядность отображения различных объектов и облегчается передача знаний о них. В практике управления органами внутренних дел модель используется для обоснования решений. 1.2. Классификация моделей Ограничимся частичной классификацией моделей, главным образом, по признаку реализации. Модели могут быть реализованы с помощью: 1) физических объектов; 2) абстрактных объектов; 3) сочетания физических и абстрактных объектов (смешанные модели). Физические модели находятся в отношении физического подобия к моделируемым системам. При физическом моделировании воспроизводится изучаемый оригинал с сохранением его физической природы. Примерами физических моделей могут являться: манекен человека (используется на кафедре криминалистики академии при изучении вопроса проведения следственного эксперимента); следовая дорожка (у учебного корпуса №1 академии); макет места преступления и др. Абстрактные модели - это знаковые модели, причем со знаками, которые входят в алфавиты естественных и искусственных языков (фотографии, чертежи и рисунки нельзя считать абстрактными моделями - это вещественные модели). Основные преимущества абстрактных моделей перед физическими - это более простая реализация. Абстрактные модели выступают очень удобными и компактными средствами передачи информации во времени. Абстрактные модели подразделяются на: словесные модели; графические модели; математические модели. Словесные универсальностью, модели - широкой это обычные доступностью описания. и Они характеризуются неоднозначностью. Используются словесные модели, как правило, на начальном этапе исследования системы (операции). Графические модели - это различные номограммы, графики, диаграммы. Они отражают количественные соотношения и позволяют проводить прогнозирование изменений параметров. Математические модели представляются совокупностью математических соотношений, описывающих изучаемую систему (операцию) и позволяют проводить исследования математическими методами. Для построения математических моделей могут использоваться любые математические средства: дифференциальное и интегральное исчисление, теория множеств, теория вероятностей, математическая статистика и др. При исследовании различных систем, в том числе и социального плана, математические модели выступают основным инструментом количественного обоснования решений. Они позволяют оценивать решения и обеспечивать поиск оптимальных решений на операцию, не прибегая к ее практической реализации. При помощи математических моделей можно получать результаты, обладающие высокой точностью. С внедрением в практику органов внутренних дел персональных компьютеров, математические модели находят все более широкое применение. Проведем классификацию математических моделей по ряду признаков. По признаку "характер связи между параметрами и показателями исхода операции" математические модели, по аналогии с делением самих операций, могут быть: детерминированными; вероятностными; неопределенными. По признаку "предоставляемые возможности" математические модели могут быть: оценочными; оптимизационными. В оценочных моделях решения предполагаются заданными. Они обеспечивают только оценку эффективности решений, но не обеспечивают поиск оптимального решения. Пример оценочной модели - модель массового обслуживания. Оптимизационные модели, наряду с оценкой эффективности решения, позволяют находить оптимальное решение. Пример оптимизационной модели - все модели математического программирования. По признаку "способ воспроизведения моделируемой ситуации" математические модели могут быть: аналитическими; статистическими (имитационными). В аналитических моделях зависимости между параметрами системы и критерием эффективности имеют аналитический вид, т.е. в виде алгебраических уравнений, дифференциальных уравнений и др. Аналитические модели удается построить только для сравнительно простых операций. В сложных операциях, как правило, нужны значительные упрощения. В статистических моделях многократно имитируется последовательность элементарных операций системы с использованием выборок значений переменных в соответствии со своими законами распределения. Затем производится определение по ним показателя исходов операции и осуществляется статистическая обработка полученных результатов. Статистические модели, по отношению к аналитическим, позволяют учитывать большое количество факторов и не требуют грубых упрощений. Недостатком этого класса моделей является их трудная стандартизация. Обычно для каждой конкретной операции разрабатывается своя модель и используется свой метод оптимизации. Смешанные модели - это сочетание физических и абстрактных моделей. Та часть операции, которая не поддается математическому описанию, моделируется физически, остальная - абстрактно. Примерами смешанных моделей могут быть учения, проводимые на картах: работа штабов органов внутренних дел проигрывается на картах, а действия личного состава отображаются только в документах. Выбор того или иного типа модели определяется целями исследования, характером исходных данных, уровнем изученности моделируемого объекта и возможностями ее практической реализации. Из всех типов моделей наиболее широкое применение находят математические модели. 2. Основы математического моделирования. 2. 1. Классификация математических методов. Математические модели, о которых шла речь на предыдущей лекции, позволяют найти допустимые решения и оценить их эффективность, но не указывают прямо, как их найти и оценить. Отыскание решения задачи заключается в определении значений управляемых параметров, удовлетворяющих определенным ограничениям и требованиям по значению критерия эффективности. Поиск решений и их оценок предполагает использование определенного метода. Наличие хорошо алгоритмизируемых методов, позволяющих за приемлемое время найти оптимальное решение, является главным условием практической реализуемости моделей. Рассмотрим классификацию математических методов, применяемых для решения социально-правовых задач (таблица 1). Таблица 1. Классификация методов оптимизации Наименование признака Значение признака Точность получаемых решений Точные Приближенные Вид получаемых решений Аналитические Численные Способ поиска решений + Математические + Эвристические По признаку "Точность получаемых решений" математические методы отыскания решений можно классифицировать как точные и приближенные. Точные методы обеспечивают нахождение оптимального решения за конечное число шагов. Приближенные методы после конечного числа шагов приводят к решению, в какойто степени отличному от оптимального. По признаку "Вид получаемых решений" выделяют две группы методов: аналитические и численные. Аналитические методы обеспечивают отыскание решения в виде функции параметров, известных непосредственно из постановки задачи, причем безотносительно к конкретным значениям этих параметров. Численные методы позволяют найти решение только для конкретных значений параметров. Численные методы могут быть точными и приближенными. К точным численным методам математического программирования: следует отнести: методы методы линейного программирования; методы нелинейного программирования; методы дискретного программирования; методы стохастического программирования; методы теории игр; методы теории массового обслуживания; методы теории принятия решений. К приближенным численным методам относят методы эвристического поиска (например, метод экспертных оценок). Для отыскания решений на моделях необходимо иметь средства, позволяющие обеспечить поиск, анализ и выбор необходимых управляемых и неуправляемых параметров. Для этих целей используются методы многомерного статистического анализа, широко применяемых при исследовании социальных процессов. Классификация методов многомерного статистического анализа приведена в таблице 2. Таблица 2. Классификация методов многомерного статистического анализа Наименование признака Значение признака Возможность классификационного анализа Кластерный анализ Дискриминантный анализ Распознавание образов Возможность показателей выбора "весомых" Факторный анализ Многомерное шкалирование Возможность исследования зависимостей между показателями Корреляционный анализ Регрессионный анализ Дисперсионный анализ Естественно, что в рамках одного занятия трудно изучить сущность каждого из выделенных выше методов возможного решения информационно-аналитических задач. Поэтому остановимся на уяснении возможностей только тех методов, которые в таблицах 1 и 2 отмечены знаком "+". Рассмотрение математических методов решения информационно-аналитических задач невозможно без уяснения основных понятий теории вероятностей математической статистики. Поэтому дальнейший план занятия будет следующий: 1) изучение основ теории вероятностей и математической статистики; и 2) изучение методов многомерного статистического анализа; 3) изучение методов оптимизации. 2. 2. Методы теории вероятностей и математической статистики. 2.1. Теория вероятностей. В практической деятельности сотрудники ОВД повседневно встречаются со случайными событиями и явлениями, а также с необходимостью их оценки. Изучением закономерностей в случайных процессах и явлениях занимается специальная наука "Теория вероятности". Основным понятием теории вероятности является "событие". Событие - это факт, о котором можно утверждать, что он произойдет или не произойдет в определенных условиях. Событие может "наступить" или "не наступить" в зависимости от различных случайных факторов. Событие является результатом испытания: опыта или наблюдения. Испытание - это совокупность условий и действий, при которых может произойти или не произойти событие. Пример. Стрельба по мишени: Испытание - стрельба по мишени. Событие - попадание в цель или промах. Проведем классификацию событий (таблица 3). Таблица 3. Классификация событий Наименование признака Возможность наступления Значение признака Достоверные события Невозможные события Случайные события Неопределенные события Связь между событиями Совместные события Несовместные события Взаимосвязь между событиями Зависимые события Независимые события Сложность события Простые события Сложные события Достоверные события - это такие события, которые при определенных условиях наступают обязательно. Невозможные события - это такие события, которые при определенных условиях не могут произойти. Случайные события - это события, которые могут произойти или не произойти. Неопределенные события - это события, исход которых не может быть предсказан. Совместные события - это такие события, при которых появление события А не исключает возможности наступления события В. Несовместные события - это такие события, при которых появление события А исключает возможность наступления события В. Зависимые события - это такие события, при которых наступление или ненаступление события А влияет на возможность наступления события В. Независимые события - это такие события, при которых наступление события А не влияет на возможность наступления события В. Простые события - это события, которые не разлагаются на элементы. Сложные события - это события, которые могут быть декомпозированы по элементам. С событиями могут производиться математические действия, их можно складывать, перемножать. Суммой событий А (например, раскрытие преступления на объекте А) и В (например, раскрытие преступления на объекте В) может быть сложное событие С (например, раскрытие преступления на одном из объектов: А или В). В математической форме эта сумма может быть представлена в виде формулы: А+В=С. Произведение событий А (например, правонарушение на объекте А) и В (например, правонарушение на объекте В) вызывает новое сложное событие С (например, правонарушения на объектах А и В). Записывается произведение событий по правилам математики в виде следующей формулы: А*В=С (или А^В=С). Измеряется событие с помощью числового значения - вероятности события : Р(А), Р(В), Р(С). Значение вероятности события измеряется в пределах от 0 до 1. Например, 0<=Р(А)<=1. Чем ближе значение вероятности события к единице, тем оно достовернее. Существуют теоретический и статистический способы определения вероятности события. При теоретическом способе вероятность события определяется по формуле: Р(А)=m/n, где: m - число случаев, благоприятствующих наступлению события А; n общее число случаев. Пример. Определить вероятность того, что что стрелок выбьет 7 очков из одного выстрела: Р(А)= m/n = 1/11 = 0.091 (т.к. может быть разное количество очков: 0,1,2,3,...,10, всего - 11 событий). При статистическом способе предварительно проводится большое число испытаний и определяется частота (h) появления определенного события (например, события А) - h(А): h(А)= k/l, где: k - количество появлений события А (частость события А); l - количество испытаний. При значительном количестве испытаний значение h(А) стабилизируется и приближается к величине вероятности Р(А). Из практики известно, что для появления Р(А) необходимо проведение не менее одного-нескольких десятков испытаний. В теории вероятностей широко применяется сложение и умножение вероятностей. Так: Р(А 1 +А 2 +А 3 +...+А m ) = Р(А 1 )+Р(А 2 )+Р(А 3 )+...+Р(А m ). Р(А 1 *А 2 *А 3 *...*А m ) = Р(А 1 )*Р(А 2 )*Р(А 3 )*...*Р(А m ). Р(А+В) = Р(А)+Р(В)-Р(А)*Р(В). В теории вероятностей широко используются условные вероятности: вероятность появления события А при условии, что произошло событие В, т.е. Р(А/В) = Р(А*В)/Р(В). Другими важными понятиями теории вероятностей являются: математическое ожидание, дисперсия, среднеквадратическое отклонение. 3. Вероятностные модели. 3.1 При одной независимой переменной На практике часто приходится сталкиваться с задачей о сглаживании экспериментальных зависимостей или задачей аппроксимации. Аппроксимацией называется процесс подбора эмпирической формулы для установленной из опыта функциональной зависимости y=f(x). Эмпирические формулы служат для аналитического представления данных. Обычно задача аппроксимации распадается на две части. Сначала устанавливают вид зависимости y =f(x) и соответственно, вид эмпирической формулы, то есть решают, является ли она квадратичной, логарифмической или какой – либо другой. После этого определяются численные значения неизвестных параметров выбранной эмпирической формулы, для которых приближение к заданной функции оказывается наилучшим. Если нет каких-либо теоретических соображений для подбора вида формулы, обычно выбирают функциональную зависимость из числа наиболее простых, сравнивая их графики с графиком заданной функции. После выбора вида формулы определяют ее параметры. Для наилучшего выбора параметров задают меру близости аппроксимации экспериментальных данных. Во многих случаях, в особенности если функция f(x) задана графиком или таблицей (на дискретном множестве точек), для оценки степени приближения рассматривают разности для точек x между значениями эмпирической формулы и значениями функции. В MS Excel аппроксимация экспериментальных данных осуществляется путем построения их графика с последующим подбором подходящей функции. Возможны следующие варианты функций: 1. Линейная y = ax + b. Обычно применяется в простейших случаях, когда экспериментальные данные возрастают или убывают с постоянной скоростью. 2. Полиномиальная y = a0 + a1 x + a 2 x + ... + a n x 2 т до шестого порядка включительно, где a- константы Используется для описания экспериментальных данных, попеременно возрастающих и убывающих. Степень полинома определяется количеством экстремумов (максимумов и минимумов) кривой. Полином второй степени может описывать только один максимум или минимум. Полином третьей степени может иметь один или два экстремума, четвертой степени – не более трех экстремумов и.т.д. 3. Логарифмическая. Функция применяется для описания экспериментальных данных, которые сначала быстро растут или убывают, а затем постепенно стабилизируются. 4. Степенная. Аппроксимация степенной функции используется для экспериментальных данных с постоянно увеличивающейся скоростью роста. Данные не должны иметь отрицательных и нулевых значений. 5. Экспоненциальная. Применяется для описания экспериментальных данных, которые быстро растут или убывают, а затем постепенно стабилизируются. Степень близости аппроксимации экспериментальных данных выбранной функции оценивается коэффициентом детерминации R 2 Таким образом, если есть несколько подходящих вариантов типов аппроксимирующих функций, можно выбрать функцию с большим значением коэффициента детерминации, стремящимся к 1 Для осуществления аппроксимации на диаграмме экспериментальных данных необходимо щелчком правой кнопки мыши вызвать выплывающее контекстное меню и выбрать пункт Добавить линию тренда. Тренд - основная тенденция, свободная от влияния случайных факторов. В появившемся диалоговом окне Линия тренда на вкладке Тип выбирается вид аппроксимирующей функции, а на вкладке Параметры задаются дополнительные параметры, влияющие на отображение аппроксимирующей кривой. ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ В заключительной части лекции подвести итоги занятия, дать задания на самостоятельную работу по изучению материала, используя основную и дополнительную литературу. Вопросы для самостоятельного изучения: 1. Основные понятия моделирования. Классификация моделей. 2. Основы математического моделирования . 3. Вероятностные модели. II. Задание и указания обучающимся по подготовке к практическому занятию. При подготовке к лекции необходимо изучить основную и дополнительную литературу, подготовить в учебных аудиториях информатики. III. Перечень литературы и учебно-методических материалов для подготовки лекции. Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, модернизация. - М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001 Санкт-Петербургский университет Государственной противопожарной службы МЧС России –––––––––––––––––––––––––––––––––––––––––––––––––––––– Кафедра прикладной математики и информационных технологий УТВЕРЖДАЮ Заместитель начальника кафедры прикладной математики и информационных технологий капитан внутренней службы Т.А. Подружкина ”14” июня 2011 года МЕТОДИЧЕСКАЯ РАЗРАБОТКА ДЛЯ ПРОВЕДЕНИЯ ЛЕКЦИИ по учебной дисциплине «Информационные технологии» Тема 10. Основы программирования 1. Понятие алгоритма. Классы языков программирования Рассмотрена на заседании кафедры прикладной математики и информационных технологий Протокол № 10 от ”14” июня 2011 года Санкт-Петербург 2011 I. Учебные цели Понятие алгоритма и его свойства. Способы задания алгоритма. Воспитывать у обучаемых стремление к углубленному изучению учебного материала. Воспитывать у обучаемых стремление к самостоятельному изучению новых информационных технологий 1. 2. 3. 4. II. Расчет учебного времени Содержание и порядок проведения занятия Время, мин ВСТУПИТЕЛЬНАЯ ЧАСТЬ 5 ОСНОВНАЯ ЧАСТЬ Учебные вопросы: 80 30 25 25 1. Понятие алгоритма и его свойства. 2. Языки компилируемые и интерпретируемые 3. Процедурное программирование и его сущность ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ 5 III. Учебно-материальное обеспечение 1. Мультимедийный проектор 2. Набор слайдов 3. Персональные компьютеры IV. Методические рекомендации преподавателю по подготовке к проведению лекции При подготовке к лекции преподаватель обязан ознакомиться с литературой и методическими рекомендациями, изучить учебные вопросы, структуру и содержание темы. По завершении личной теоретической подготовки необходимо составить план проведения лекции с указанием времени, отводимого на отработку учебных вопросов. Разработать и выдать обучаемым задания на подготовку к практическому занятию, дать указания на получение необходимой литературы, учебно-методических материалов и рекомендовать материал для повторения. Во вступительной части лекции (5 мин) после проверки наличия личного состава, объявить тему, цели и учебные вопросы занятия, последовательность их отработки, ориентировочное время выполнения задания. При отработке первого учебного вопроса (30 мин) следует определить сущность и содержание понятия «алгоритм» и его свойства. При отработке второго учебного вопроса (25 мин) Разобрать языки компилируемые и интерпретируемые . При отработке третьего программирование и его сущность учебного вопроса (25 мин) Разобрать процедурное В заключительной части (5 мин) подвести итоги практического занятия, поставить задачи на следующее занятие. VI. Литература, рекомендованная преподавателю Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, модернизация. - М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001 Разработал текст лекции: ст. преподаватель кафедры ПМиИТ капитан внутренней службы VII. Приложение Т.Н. Антошина ТЕКСТ ЛЕКЦИИ по дисциплине «Информационные технологии» 1. Понятие алгоритма и его свойства. Рассматривается общее понятие алгоритма и дается краткий обзор существующих алгоритмических языков. Вводится неформальный алгоритмический язык - псевдокод, максимально приближенный к естественному языку. Рассматриваются основные конструкции алгоритмического языка - алгоритм, ветвление, цикл; приводятся простейшие примеры программ на псевдокоде. Определяется понятие переменной. Общее понятие алгоритма Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от Algorithmi – латинского написания имени Мухаммеда аль-Хорезми (787 – 850) выдающегося математика средневекового Востока. В своей книге "Об индийском счете" он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, - процесс творческий. Он доступен исключительно живым существам, а долгое время считалось, что только человеку. В XII в. был выполнен латинский перевод его математического трактата, из которого европейцы узнали о десятичной позиционной системе счисления и правилах арифметики многозначных чисел. Именно эти правила в то время называли алгоритмами. Алгоритм - это последовательность команд, предназначенная исполнителю, в результате выполнения которой он должен решить поставленную задачу. Алгоритм записывается на формальном языке, исключающем неоднозначность толкования. Исполнитель - это человек, компьютер, автоматическое устройство и т.п. Он должен уметь выполнять все команды, составляющие алгоритм, причем механически, "не раздумывая". Запись алгоритма на формальном языке называется программой. Иногда само понятие алгоритма отождествляется с его записью, так что слова "алгоритм" и "программа" - почти синонимы. Небольшое различие заключается в том, что при упоминании алгоритма, как правило, имеют в виду основную идею его построения, общую для всех алгоритмических языков. Программа же всегда связана с записью алгоритма на конкретном формальном языке. В математике рассматриваются различные виды алгоритмов - программы для машин Тьюринга, алгоритмы Маркова (нормальные алгоритмы), частично рекурсивные функции и т.п. Знаменитый тезис Чёрча утверждает, что все виды алгоритмов эквивалентны друг другу, т.е. классы задач, решаемых разными типами алгоритмов, всегда совпадают. Тезис этот недоказуем (можно лишь доказать совпадение для двух конкретных типов алгоритмов, например, машин Тьюринга и нормальных алгоритмов), но никто в его верности не сомневается. Так что все языки программирования эквивалентны друг другу и различаются лишь тем, насколько они удобны для решения конкретных классов задач. Например, объектно-ориентированные языки оптимальны для программирования в оконных средах, а язык Фортран успешно применяется в научных и инженерных расчетах. Большинство используемых в программировании алгоритмических языков имеют общие черты. В то же время, при изложении идеи алгоритма, например, при публикации в научной статье, не всегда целесообразно пользоваться каким-либо конкретным языком программирования, чтобы не загромождать изложение несущественными деталями. В таких случаях применяется неформальный алгоритмический язык, максимально приближенный к естественному. Язык такого типа называют псевдокодом. Для специалиста не составляет труда переписать программу с псевдокода на любой конкретный язык программирования. Запись алгоритма на псевдокоде зачастую яснее и нагляднее, она дает возможность свободно выбирать уровень детализации, начиная от описания в самых общих чертах и кончая подробным изложением. Псевдокод объединяет существенные черты множества алгоритмических языков. Для записи алгоритмов в данном курсе будет использоваться как псевдокод, так и конкретные языки: Си, C++ и C#. Данное выше определение алгоритма нельзя считать строгим – не вполне ясно, что такое «точное предписание» или «последовательность действий, обеспечивающая получение требуемого результата». Поэтому обычно формулируют несколько общих свойств алгоритмов, позволяющих отличать алгоритмы от других инструкций. Такими свойствами являются: • Дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего. • Определенность – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче. • Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов. • Массовость – алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма. Понятие “массовость” относится не к алгоритмам как к таковым, а к математическим методам в целом. Решение поставленных практикой задач математическими методами основано на абстрагировании – мы выделяем ряд существенных признаков, характерных для некоторого круга явлений, и строим на основании этих признаков математическую модель, отбрасывая несущественные признаки каждого конкретного явления. В этом смысле любая математическая модель обладает свойством массовости. Если в рамках построенной модели мы решаем задачу и решение представляем в виде алгоритма, то решение будет “массовым” благодаря природе математических методов, а не благодаря “массовости” алгоритма. 1.2. Способы описания алгоритма Алгоритмы можно записывать не только при помощи слов. В настоящее время различают несколько способов описания алгоритмов: 1. Словесный, т.е. записи на естественном языке, описание словами последовательности выполнения алгоритма. Например: Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел. Алгоритм может быть следующим: задать два числа; если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма; определить большее из чисел; заменить большее из чисел разностью большего и меньшего из чисел; повторить алгоритм с шага 2. Формульно-словесный, аналогично пункту 1, плюс параллельная демонстрация используемых формул. В качестве примера можно привести ведение лекций преподавателем (словесный способ) с одновременной записью формул на доске (формульный). 3. Графический, т.е. с помощью блок-схем. Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным. При графическом исполнении алгоритм изображается в виде последовательности связанных между собой блочных символов, каждый из которых соответствует выполнению одного из действий. Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. Символы, наиболее часто употребляемые в блок-схемах. 4. Программный, т.е. тексты на языках программирования. cls input a, b c=a+b print c 1.3. Язык блок - схем Одним из способов описания алгоритма является графический способ. Этот способ поможет увидеть алгоритм целиком, со всеми его ветвлениями и возвратами. Такое представление называют блок - схемами. Блок схема состоит из отдельных геометрических фигур. Схе́ма — графическое представление определения, анализа или метода решения задачи, в котором используются символы для отображения операций, данных, потока, оборудования и т. д. (ГОСТ 19.701-90[1]). Блок-схема — распространенный тип схем, описывающий алгоритмы или процессы, изображая шаги в виде блоков различной формы, соединенных между собой стрелками. Правила выполнения схем определяются следующими документами: − ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. Для программной документации: − ГОСТ 19.002-80. Схемы алгоритмов и программ. Правила выполнения. − ГОСТ 19.003-80. Схемы алгоритмов и программ. Обозначения условные графические. Данные документы в частности регулируют способы построения схем и внешний вид их элементов. Название символа Процесс Решение Модификация Предопределенный процесс Ввод - Вывод Начало - Конец Обозначение Пояснение Вычислительное действие последовательность действий или Проверка условий Начало цикла Вычисления по подпрограмме, стандартной подпрограмме Ввод-вывод в общем виде Начало, конец алгоритма, вход и выход в подпрограмму Документ Вывод результатов на печать "Процесс" применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно. "Решение" используется для обозначения переходов управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет. "Модификация" используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения. "Предопределенный процесс" используется для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам. 1.4. Виды алгоритмов. Существует 4 вида алгоритмов: линейный, циклический, разветвляющийся, вспомогательный. Линейный (последовательный) алгоритм — описание действий, которые выполняются однократно в заданном порядке. Линейными являются алгоритмы отпирания дверей, заваривания чая, приготовления одного бутерброда. Линейный алгоритм применяется при вычислении арифметического выражения, если в нем используются только действия сложения и вычитания. Алгоритмический язык Действие 1 Действие 2 Действие ... Действие n Язык блок - схем Циклический алгоритм — описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие. Перечень повторяющихся действий называется телом цикла. Многие процессы в окружающем мире основаны на многократном повторении одной и той же последовательности действий. Каждый год наступают весна, лето, осень и зима. Жизнь растений в течение года проходит одни и те же циклы. Подсчитывая число полных поворотов минутной или часовой стрелки, человек измеряет время. Условие — выражение, находящееся между словом «если» и словом «то» и принимающее значение «истина» или «ложь». Виды циклов: Цикл типа "пока" Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока. Алгоритмический язык нц пока (условие) тело цикла (последовательность действий) кц Язык блок - схем Цикл типа "для" Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне. Алгоритмический язык Язык блок - схем нц для i от i1 до i2 Тело цикла (последовательность действий) кц Примеры команд для цикла "пока" и "для" Алгоритмический язык Язык блок - схем нц пока i < = 5 S:= S+A[i] i := i+1 кц нц для i от 1 до 5 X[i]:= i*i*i Y[i]:= X[i]/2 кц Также циклы бывают итерационными. Их особенность в том, что число повторений операторов цикла заранее неизвестно. Для его организации используют оператор пока Выход их итерационного цикла осуществляется в результате выполнения условия. На каждом шаге вычислений происходит последовательное приближение и проверка условия достижения искомого результата. Возможны случаи, когда внутри тела цикла необходимо повторять некоторую последовательность операторов, т. е. организовать внутренний цикл. Такая структура получила название цикла в цикле или вложенных циклов. Глубина вложения циклов (то есть количество вложенных друг в друга циклов) может быть различной. При использовании такой структуры для экономии машинного времени необходимо выносить из внутреннего цикла во внешний все операторы, которые не зависят от параметра внутреннего цикла. Пример вложенных циклов "для" Задача: вычислить сумму элементов заданной матрицы А(5,3). Алгоритмический язык Язык блок - схем нц для i от 1 до 5 нц для j от 1 до 3 S : = S + A [ i , j ] кц кц Пример вложенных циклов "пока" Задача: вычислить произведение тех элементов заданной матрицы A(10,10), которые расположены на пересечении четных строк и четных столбцов. Алгоритмический язык Язык блок - схем i : = 2; P : = 1 нц пока i < = 10 j:= 2 нц пока j < = 10 P:=P*A[i,j] j:=j+2 кц i:=i+2 кц Разветвляющийся алгоритм — алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий. Примеры разветвляющих алгоритмов: если пошел дождь, то надо открыть зонт; если болит горло, то прогулку следует отменить; если билет в кино стоит не больше десяти рублей, то купить билет и занять свое место в зале, иначе (если стоимость билета больше 10 руб.) вернуться домой. В общем случае схема разветвляющего алгоритма будет выглядеть так: «если условие, то..., иначе...». Такое представление алгоритма получило название полной формы. Неполная форма, в которой действия пропускаются: «если условие, то...». т.е. разветвленная структура существует в четырех основных вариантах: − если - то; − если - то - иначе; − выбор; − выбор - иначе. Вспомогательный алгоритм — алгоритм, который можно использовать в других алгоритмах, указав только его имя. Например: вы в детстве учились суммировать единицы, затем десятки, чтобы суммировать двузначные числа содержащие единицы вы не учились новому методу суммирования, а воспользовались старыми методами. Для того, чтобы посмотреть каждый шаг в алгоритме, рассмотрим несколько задач. Каждая задача относится к конкретной алгоритмической конструкции: Линейная структура Задание: Вычислить значение y по формуле у = (7x - 4) / (5x + 3). Язык блок - схем На языке программирования CLS INPUT "Введите переменную", X Y=(7*X-4)/(5*X+3) PRINT "Вывести Y", Y END Разветвленная структура Задание: Решить систему уравнений: Y= Язык блок - схем 5X + B, если X > 5 X2 + 1, если X < 5 X + B, если X = 5 На языке программирования CLS INPUT "Введите X"; X INPUT "Введите B"; B IF X=5 THEN Y=X^2+1 IF X>5 THEN Y=5*X+B ELSE Y=X+B PRINT "Вывести Y"; Y END Циклическая структура Задание: Вычислить множество значений функции y = x2 + b для x, изменяющегося от 10 до 10 с шагом 2, при b = 5. Язык блок - схем На языке программирования CLS INPUT "Введите Xn, Xk, Dx, B" , Xn, Xk, Dx, B X: = Xn Y:= X2 +B PRINT X, Y X: =X+Dx X< = Xk END 1. Языки компилируемые и интерпретируемые. Язык программирования — формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах. Со времени создания первых программируемых машин человечество придумало уже более двух с половиной тысяч языков программирования (См. Список языков программирования(англ.)). Каждый год их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования. Создатели языков по-разному толкуют понятие язык программирования. Среди общих мест, признаваемых большинством разработчиков, находятся следующие: Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами. Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека компьютеру, в то время, как естественные языки используются для общения людей между собой. В принципе, можно обобщить определение "языков программирования" - это способ передачи команд, приказов, четкого руководства к действию; тогда как человеческие языки служат также для обмена информацией. Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений. Особенности языков программирования Каждый язык программирования может быть представлен в виде набора формальных спецификаций, определяющих его синтаксис и семантику Эти спецификации обычно включают в себя описание: Типов и структур данных Операционную семантику (алгоритм вычисления конструкций языка) Семантические конструкции языка Библиотеки примитивов (например, инструкции ввода-вывода) Философии назначения и возможностей языка Для многих широко распространённых языков программирования созданы международные комитеты по стандартизации, которые выполняют регулярное обновление и публикацию спецификаций и формальных определений соответствующего языка. В рамках таких комитетов продолжается разработка и модернизация языков программирования и решаются вопросы о расширении или поддержке уже существующих и новых языковых конструкций. Типы данных Во внутреннем представлении все данные в современных цифровых компьютерах сохраняются просто как нули и единицы (в двоичном виде). Данные, которые представляют информацию из реального мира (имена, банковские счета, измерения и др.) — это низкоуровневые двоичные данные, которые преобразуются языками программирования в эти высокоуровневые концепции. Особая система, по которой данные организуются в программе, — это система типов языка программирования; разработка и изучение систем типов известна под названием теория типов. Языки могут быть классифицированы как системы со статической типизацией и языки с динамической типизацией. Статически-типизированные языки могут быть в дальнейшем подразделены на языки с обязательной декларацией, где каждая переменная и объявление функции имеет обязательное объявление типа, и языки с выводимыми типами. Иногда динамическитипизированные языки называются латентно типизированными. Структуры данных Системы типов в языках высокого уровня позволяют определять сложные, составные типы, так называемые структуры данных. Как правило, структурные типы данных образуются как декартово произведение базовых (атомарных) типов и ранее определённых составных типов. Основные структуры данных (списки, очереди, хэш-таблицы, двоичные деревья и пары) часто представлены особыми синтаксическими конструкциями в языках высокого уровня. Такие данные структурируются автоматически. Операционная семантика Для большинства языков строго специфицирован алгоритм выполнения программ. Формально этот алгоритм часто описывается в виде конечного автомата. Основные семантики, или модели вычислений: императивная строгая функциональная ленивая функциональная Компилируемые и интерпретируемые языки Языки программирования делятся на два класса — компилируемые и интерпретируемые. Программа на компилируемом языке при помощи специальной программы компилятора преобразуется (компилируется) в набор инструкций для данного типа процессора (машинный код) и далее записывается в исполняемый файл, который может быть запущен на выполнение как отдельная программа. Другими словами, компилятор переводит программу с языка высокого уровня на низкоуровневый язык, понятный процессору. Если программа написана на интерпретируемом языке, то интерпретатор непосредственно выполняет (интерпретирует) ее текст без предварительного перевода. При этом программа остается на исходном языке и не может быть запущена без интерпретатора. Можно сказать, что процессор компьютера — это интерпретатор машинного кода. Кратко говоря, компилятор переводит программу на машинный язык сразу и целиком, создавая при этом отдельную программу, а интерпретатор переводит на машинный язык прямо во время исполнения программы. Разделение на компилируемые и интерпретируемые языки является несколько условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление (например, с разыменованием переменных и раскрытием макросов). Для любого интерпретируемого языка можно создать компилятор — например, язык Лисп, изначально интерпретируемый, может компилироваться без каких бы то ни было ограничений. Создаваемый во время исполнения программы код может так же динамически компилироваться во время исполнения. Как правило, скомпилированные программы выполняются быстрее и не требуют для выполнения дополнительных программ, так как уже переведены на машинный язык. Вместе с тем при каждом изменении текста программы требуется ее перекомпиляция, что создает трудности при разработке. Кроме того, скомпилированная программа может выполняться только на том же типе компьютеров и, как правило, под той же операционной системой, на которую был рассчитан компилятор. Чтобы создать исполняемый файл для машины другого типа, требуется новая компиляция. Интерпретируемые языки обладают некоторыми специфическими дополнительными возможностями (см. выше), кроме того, программы на них можно запускать сразу же после изменения, что облегчает разработку. Программа на интерпретируемом языке может быть зачастую запущена на разных типах машин и операционных систем без дополнительных усилий. Однако интерпретируемые программы выполняются заметно медленнее, чем компилируемые, кроме того, они не могут выполняться без дополнительной программы-интерпретатора. Некоторые языки, например, Java и C#, находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машиннонезависимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation, JIT). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine, JVM), для C# — Common Language Runtime. Подобный подход в некотором смысле позволяет использовать плюсы как интерпретаторов, так и компиляторов. Следует упомянуть также оригинальный язык Форт(Forth), который является как бы одновременно интерпретируемым и компилируемым. Используемые символы Современные языки программирования рассчитаны на использование ASCII, т. е. доступность всех графических символов ASCII является необходимым и достаточным условием для записи любых конструкций языка. Управляющие символы ASCII используются ограниченно: допускаются только возврат каретки CR, перевод строки LF и горизонтальная табуляция HT (иногда также вертикальная табуляция VT и переход к следующей странице FF). См. также переносимый набор символов. Ранние языки, возникшие в эпоху 6-битных символов, использовали более ограниченный набор. Например, алфавит Фортрана включает 49 символов (включая пробел): ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789=+-*/().,$': Заметным исключением является язык APL, в котором используется очень много специальных символов. Использование символов за пределами ASCII (например, символов KOI8-R или символов Юникода) зависит от реализации: иногда они разрешаются только в комментариях и символьных/строковых константах, а иногда и в идентификаторах. В СССР существовали языки, где все ключевые слова писались русскими буквами, но большую популярность подобные языки пока не завоевали (см. Русские языки программирования). Расширение набора используемых символов сдерживается тем, что многие проекты по разработке софта являются международными. Очень сложно было бы работать с кодом, где имена одних переменных записаны русскими буквами, других арабскими, а третьих китайскими иероглифами. Классы языков программирования: − Функциональные − Императивные − Процедурные − Языки векторного программирования − Аспектно-ориентированные − Декларативные − Языки динамического программирования − Учебные − Описания интерфейсов − Прототипные − Объектно-ориентированные − Рефлексивные − Языки логического программирования − Языки параллельного программирования − Сценарные, или скриптовые − Эзотерические 1. Процедурное программирование и его сущность Одним из важнейших признаков классификации языков программирования является принадлежность их к одному из стилей, основными из которых являются следующие стили: − процедурный, − функциональный, − логический, − объектно-ориентированный. 3.1. Процедурное программирование Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах. Теоретической моделью процедурного программирования служит алгоритмическая система под названием «машина Тьюринга». Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи. Основным является оператор присваивания, служащий для изменения содержимого областей памяти. Концепция памяти как хранилища значений, содержимое которого может обновляться операторами программы, является фундаментальной в императивном программировании. Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты. Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет содержимое последней. Процедурные языки характеризуются следующими особенностями: − необходимостью явного управления памятью, в частности, описанием переменных; − малой пригодностью для символьных вычислений; − отсутствием строгой математической основы; − высокой эффективностью реализации па традиционных ЭВМ. Одним из важнейших классификационных признаков процедурного языка является его уровень. Уровень языка программирования определяется семантической (смысловой) емкостью его конструкций и степенью его ориентации на программиста. Язык программирования частично ликвидирует разрыв между методами решения различного рода задач человеком и вычислительной машиной. Чем более язык ориентирован на человека, тем выше его уровень. Дадим краткую характеристику реализованным на ПЭВМ языкам программирования в порядке возрастания их уровня. Двоичный язык является непосредственно машинным языком. В настоящее время такие языки программистами практически не применяются. Язык Ассемблера — это язык, предназначенный для представления в удобочитаемой символической форме программ, записанных на машинном языке. Он позволяет программисту пользоваться мнемоническими кодами операций, присваивать удобные имена ячейкам и областям памяти, а также задавать наиболее удобные схемы адресации. Язык Макроассемблера является расширением языка Ассемблера путем включения в него макросредств. С их помощью в программе можно описывать последовательности инструкций с параметрами — макроопределения. После этого программист может использовать снабженные аргументами макрокоманды, которые в процессе ассемблирования программы автоматически замещаются макрорасширениями. Макрорасширение представляет собой макроопределение с подставленными вместо параметров аргументами. Другими словами, язык Макроассемблера представляет средства определения и использования новых, более мощных команд как последовательности базовых инструкций, что несколько повышает его уровень. Языки Ассемблера и Макроассемблера применяются системными программистами- профессионалами с целью использования всех возможностей оборудования ЭВМ и получения эффективной по времени выполнения и по требуемому объему памяти программы. На этих языках обычно разрабатываются относительно небольшие программы, входящие в состав системного программного обеспечения: драйверы, утилиты и другие. Язык программирования С (Си) первоначально был разработан для реализации операционной системы UNIX в начале 70-х годов. В последующем приобрел высокую популярность среди системных и прикладных программистов. В настоящее время этот язык реализован па большинстве ЭВМ. В С сочетаются достоинства современных высокоуровневых языков в части управляющих конструкций и структур данных с возможностями доступа к аппаратным средствам ЭВМ на уровне, который обычно ассоциируется с языком низкого уровня типа языка Ассемблера. Язык С имеет синтаксис, обеспечивающий краткость программы, а компиляторы способны генерировать эффективный объектный код. Одна из наиболее существенных особенностей С состоит в нивелировании различий между выражениями и операторами, что приближает его к функциональным языкам. В частности, выражение может обладать побочным эффектом присваивания, а также может использоваться в качестве оператора. Нет также четкой границы между процедурами и функциями, более того, понятие процедуры не вводится вообще. Синтаксис языка затрудняет программирование и восприятие составленных программ. Отсутствует и строгая типизация данных, что предоставляет дополнительные возможности программисту, но не способствует написанию надежных программ. Basic (BeginnersAll-purposeSymbolicInstructionCode) — многоцелевой язык символических инструкций для начинающих) представляет собой простой язык программирования, разработанный в 1964 году для использования новичками. Он был разработан как простейший язык для непосредственного общения человека с вычислительной машиной. Поэтому первоначально работа велась в интерактивном режиме с использованием интерпретаторов. В настоящее время для этого языка имеются также и компиляторы. Согласно концепциям, заложенным в Basic, этот язык в смысле строгости и стройности является антиподом языка Pascal. В частности, в нем широко распространены различные правила умолчания, что считается плохим тоном в большинстве языков программирования подобного типа. Basic широко распространен на ЭВМ различных типов и очень популярен в среде программистов, особенно начинающих. Существует множество диалектов этого языка, мало совместимых между собой. Basic активно поглощает многие концепции и новинки из других языков. Поэтому он достаточно динамичен, и нельзя однозначно определить его уровень. Pascal является одним из наиболее популярных среди прикладных программистов процедурным языком программирования, особенно для ПЭВМ. Разработанный в 1970 году швейцарским специалистом в области вычислительной техники профессором Н. Виртом, язык назван в честь французского математика и по замыслу автора предназначался для обучения программированию. Однако язык получился настолько удачным, что стал одним из основных инструментов прикладных и системных программистов при решении задач вычислительного и информационнологического характера. В 1979 году был подготовлен проект описания языка — Британский стандарт языка программирования PascalBS6192, который стал также и международным стандартом ISO 7185. В языке Pascal реализован ряд концепций, рассматриваемых как основа «дисциплинированного» программирования и заимствованных впоследствии разработчиками многих языков. Одним из существенных признаков языка Pascal является последовательная и достаточно полная реализация концепции структурного программирования. Причем это осуществляется не только путем упорядочивания связей между фрагментами программы по управлению, но и за счет структуризации данных. Кроме того, в языке реализована концепция определения новых типов данных на основе уже имеющихся. Этот язык, в отличие от языка С, является строго типизированным. Pascal характеризуется: − высоким уровнем; − широкими возможностями; − стройностью, простотой и краткостью; − строгостью, способствующей написанию эффективных и надежных программ; − высокой эффективностью реализации на ЭВМ. Pascal реализован на ЭВМ различных типов, но наиболее распространен и развит для ПЭВМ. В настоящее время широко используются такие версии этого языка для ПЭВМ, как BorlandPascal и TurboPascal. 3. 2. Функциональное программирование Сущность функционального (аппликативного) программирования определена А. П. Ершовым как «... способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы па части является введение имени для функции, а единственным правилом композиции — оператор суперпозиции функции. Никаких ячеек памяти, ни операторов присваивания, ни циклов, ни, тем более, блок-схем, ни передачи управления». Роль основной конструкции в функциональных языках играет выражение. К выражениям относятся скалярные константы, структурированные объекты, функции, тела функций и вызовы функций. Функция трактуется как однозначное отображение из Х^ в X, где Х — множество выражений. Аппликативный язык программирования включает следующие элементы: − классы констант, которыми могут манипулировать функции; − набор базовых функций, которые программист может использовать без предварительного объявления и описания; − правила построения новых функций из базовых; − правила формирования выражений на основе вызовов функций. Программа представляет собой совокупность описаний функций и выражения, которые необходимо вычислить. Данное выражение вычисляется посредством редукции, то есть серии упрощений, до тех пор, пока это возможно по следующим правилам: вызовы базовых функций заменяются соответствующими значениями; вызовы внебазовых функций заменяются их телами, в которых параметры замещены аргументами. Функциональное программирование не использует концепцию памяти как хранилища значений переменных. Операторы присваивания отсутствуют, вследствие чего переменные обозначают не области памяти, а объекты программы, что полностью соответствует понятию переменной в математике. В принципе, можно составлять программы и вообще без переменных. Кроме того, нет существенных различий между константами и функциями, то есть между программами и данными. В результате этого функция может быть значением вызова другой функции и может быть элементом структурированного объекта. Число аргументов при вызове функции не обязательно должно совпадать с числом параметров, указанных при ее описании. Перечисленные свойства характеризуют аппликативные языки как языки программирования очень высокого уровня. Первым таким языком был LISP (LISTProcessing — обработка списков), созданный в 1959 году. Цель его создания состояла в организации удобства обработки символьной информации. Существенная черта этого языка — унификация программных структур и структур данных: все выражения записываются в виде списков. 3.3. Логическое программирование Новую область — логическое, или реляционное программирование, — открыло появление языка PROLOG {Пролог} (PROgramminginLOGic — программирование в терминах логики). Этот язык был создан французским ученым А. Кольмероэ в 1973 году. В настоящее время известны и другие языки, однако наиболее развитым и распространенным языком логического программирования является именно Пролог. Так, имеется свыше 15 различных его реализации на ПЭВМ. Языки логического программирования, в особенности Пролог, широко используются в системах искусственного интеллекта, рассматриваемых в данном учебном пособии. Центральным понятием в логическом программировании является отношение. Программа представляет собой совокупность определений отношений между объектами (в терминах условий или ограничений) и цели (запроса). Процесс выполнения программы трактуется как процесс общезначимости логической формулы, построенной из программы по правилам, установленным семантикой используемого языка. Результат вычисления является побочным продуктом этого процесса. В реляционном программировании нужно только специфицировать факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Это свидетельствует о декларативности языка логического программирования. Она метко выражена в формуле Р. Ковальского: «алгоритм = логика + управление». Языки логического программирования характеризуются: − высоким уровнем; − строгой ориентацией на символьные вычисления; − возможностью инверсных вычислений, то есть переменные в процедурах не делятся на входные и выходные; − возможной логической неполнотой, поскольку зачастую невозможно выразить в программе определенные логические соотношения, а также невозможно получить из программы все выводы правильные. Логические программы, в принципе, имеют небольшое быстродействие, так как вычисления осуществляются методом проб и ошибок, поиском с возвратами к предыдущим шагам. 3.4. Объектно-ориентированое программирование Прототипом объектно-ориентированного программирования послужил ряд средств, входящих в состав языка SIMULA-67. Но в самостоятельный стиль оно оформилось с появлением языка SMALLTALK, разработанного А. Кеем в 1972 году и первоначально предназначенного для реализации функций машинной графики. В основе объектно-ориентированного стиля программирования лежит понятие объекта, а суть его выражается формулой: «объект = данные + процедуры». Каждый объект интегрирует в себе некоторую структуру данных и доступные только ему процедуры обработки этих данных, называемые методами. Объединение данных и процедур в одном объекте называется инкапсуляцией и присуще объектно-ориентированному программированию. Для описания объектов служат классы. Класс определяет свойства и методы объекта, принадлежащего этому классу. Соответственно, любой объект можно определить как экземпляр класса. Программирование рассматриваемого стиля заключается в выборе имеющихся или создании новых объектов и организации взаимодействия между ними. При создании новых объектов свойства объектов могут добавляться или наследоваться от объектов-предков. В процессе работы с объектами допускается полиморфизм — возможность использования методов с одинаковыми именами для обработки данных разных типов. К наиболее современным объектно-ориентированным языкам программирования относятся C++ и Java. Язык C++ был разработан в начале 80-х годов Б. Страуструпом, сотрудником лаборатории Bell корпорации AT&T. Им была создана компактная компилирующая система, в которой за основу был взят язык С, дополненный элементами языков BCPL,Simula-67 и Algol-68. К июлю 1983 года появился язык С с классами, а чуть позднее — C++. К 1990 году была выпущена третья версия языка C++, принятая комитетом ANSI в качестве исходного материала для его стандартизации. В 1990 году сотрудник корпорации Sun Д. Гослинг на основе расширения C++ разработал объектно-ориентированный язык Oak, основным достоинством которого было обеспечение сетевого взаимодействия различных по типу устройств. Новая интегрируемая в Internet версия языка, получила название Java. Первый броузер, который поддерживал язык Java, разработан программистом корпорации Sun П. Нафтоном и получил название HotJava. С января 1995 года Java получает распространение в Internet. Согласно официальному ориентированным обеспечивающим и определению авторов, архитектурно-нейтральным надежность, безопасность и Java языком является простым объектно- интерпретирующего переносимость, обладающим типа, высокой производительностью в сочетании с многопоточностью и динамичностью. Принципиальной разницей между Java и C++ является то, что первый из них является интерпретируемым, а второй — компилируемым. Синтаксис языков практически полностью совпадает. С точки зрения возможностей собственно объектно-ориентированных средств язык Java обладает рядом преимуществ перед языком C++. Так, язык Java демонстрирует более гибкую и мощную систему инкапсуляции информации. Механизм наследования, реализованный в Java, обязывает к более строгому подходу к программированию, что улучшает надежность и понимаемость кода. Язык же C++ обладает сложной, неадекватной и трудной для понимания системой наследования. Возможности динамического связывания объектов одинаково хорошо представлены в обоих языках, однако, синтаксическая избыточность C++ заставляет и здесь отдать предпочтение языку Java. В силу своей конструктивности идеи объектно-ориентированного программирования используются во многих универсальных процедурных языках. Так, например, в состав интегрированной системы программирования на языке PASCAL (корпорации BorlandInternational) версии 5.5 входит специальная библиотека объектно-ориентированного программирования TurboVision. В последнее время многие программы, в особенности объектно-ориентированные, реализуются как системы визуального программирования. Отличительной особенностью таких систем является мощная среда разработки программ из готовых «строительных блоков», позволяющая создать интерфейсную часть программного продукта в диалоговом режиме, практически без кодирования программных операций. К числу объектно-ориентированных систем визуального программирования относятся: VisualBasic, Delphi, C++ Builder и Visual C++. ЗАКЛЮЧИТЕЛЬНАЯ ЧАСТЬ В заключительной части лекции занятия подвести итоги занятия, дать задания на самостоятельную работу по изучению материала, используя основную и дополнительную литературу. Вопросы для самостоятельного изучения: Понятие алгоритма и его свойства. Языки компилируемые и интерпретируемые Процедурное программирование и его сущность Простая итерация Метод половинного деления 6. Метод секущих 1. 2. 3. 4. 5. III. Перечень литературы и учебно-методических материалов для подготовки к практическому занятию Основная: 1. Информатика. Базовый курс. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Издво Питер, 2006 2. Microsoft Office System 2007. Русская версия. Серия «Шаг за шагом / Кокс Дж., Фрай К.Д., Ламберт С. и др. – М.: ЭКОМ 2007 Дополнительная: 1. Теоретические основы информатики. Учебное пособие. – М.: Горячая линия – Телеком, 2002 2. Аппаратные средства IBM PC. Энциклопедия, Изд-во Питер, 2006 3. Вычислительные системы, сети и телекоммуникации: Учебник для вузов. 2-е изд. / В.Л. Бройдо СПб.: Питер, 2004 4. Иванов А.Ю. Информатика. Учебное пособие / Под ред. В.С. Артамонова. СПб.: СПб ИГПС МЧС России, 2003. 5. Леонтьев В.П. Персональный компьютер 2000-2001.Выбор, устройство, модернизация. - М.: Олма-Пресс. 2000. - 248 с. 6. Приказ МЧС № 536 от 19.11.2002 «О повышении эффективности и организации деятельности системы МЧС России» 7. http://www.mail.ru/ Ведение в информатику. 8. С.Симонович, В Мураховский, Г. Евсеев. Новые возможности Интернента. Необходимый самоучитель. – СПб.: Питер, 2007. – 479 с.: ил. 9. Информатика для юристов и экономистов. Под ред. С.Симоновича. Гриф МО. Учебное пособие, Изд-во Питер, 2001
«Аппаратное обеспечение информационных технологий» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot