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

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
5. Программные средства реализации информационных процессов
Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и в непрерывном взаимодействии.
Рисунок 5.1 Виды программного обеспечения
Состав программного обеспечения вычислительной системы называют программной конфигурацией. Между программами, как и между физическими узлами и блоками существует взаимосвязь многие программы работают, опираясь на другие программы более низкого уровня, т. е. работают на основе межпрограммного интерфейса. Возможность существования такого интерфейса тоже основана на существовании технических условий и протоколов взаимодействия. На практике интерфейс обеспечивается распределением программного обеспечения на несколько взаимодействующих между собой видов. Существуют следующие виды программного обеспечения (рисунок 5.1):
- Базовое программное обеспечение;
- Системное программное обеспечение;
- Прикладное программное обеспечение;
- Инструментарий технологий программирования.
Базовое программное обеспечение самый низкий уровень программного обеспечения, отвечающее за взаимодействие с базовыми программными средствами. Базовые программные средства непосредственно входят в состав базового оборудования и хранятся в постоянно запоминающих устройствах. Программы и данные записываются («прошиваются») в микросхемы ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации.
В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяют перепрограммируемые постоянные запоминающие устройства (ППЗУ Erasable and Programmable Read Only Memory). В этом случае изменение содержания ПЗУ можно выполнять как непосредственно в составе вычислительной системы (такая технология называется флэш-технологией), так и вне ее, на специальных устройствах, называемых программаторами.
К базовому программному обеспечению относится базовая система ввода-вывода.
BIOS (BIOS Basic Input/Output System) набор программ небольшого размера, в функции которых входят начальное тестирование оборудования и обеспечение взаимодействия компонентов компьютера. Имеется несколько видов BIOS: например, видео-BIOS обеспечивает работу видеоплаты, начиная от ее тестирования в момент включения и заканчивая взаимодействием видеоплаты с процессором, BIOS SCSI-контроллера выполняет роль переводчика между интерфейсом и системной шиной и т. п. Но наиболее важной в компьютере является системная BIOS, в функции которой входят: тестирование компьютера при включении питания с помощью специальных тестовых программ; поиск и подключение к системе других BIOS, расположенных на платах расширения; распределение ресурсов между компонентами компьютера.
Содержимое BIOS доступно процессору без обращения к дискам, что позволяет компьютеру работать даже при повреждении дисковой системы. Содержащиеся в системной BIOS программы обеспечивают взаимодействие процессора, оперативной памяти, кэш-памяти, микросхем чипсета с внешними (периферийными) устройствами, а также друг с другом.
Физически BIOS это набор микросхем постоянной памяти (ROM, Read Memory только для чтения), расположенных на материнской плате.
Системное программное обеспечение (System Software) совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ.
Системное программное обеспечение направлено:
1. На создание операционной среды функционирования других программ;
2. На обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;
3. На проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей;
4. На выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ, баз данных и т.д.).
Данный класс программных продуктов тесно связан с типом компьютера и является его неотъемлемой частью.
Системное программное обеспечение носит общий характер применения, независимо от специфики предметной области. К ним предъявляются высокие требования по надежности и технологичности работы, удобству и эффективности использования.
Системное программное обеспечение состоит из двух частей: минимальный набор программных средств, обеспечивающих работу компьютера; сервисное программное обеспечение программы и программные комплексы, которые расширяют возможности базового программного обеспечения и организует более удобную среду работы пользователя.
Минимальный набор программного обеспечения включает: операционную систему, операционные оболочки, сетевую операционную систему.
Сервисное программное обеспечение включает: программы диагностики работоспособности компьютера, антивирусные программы, программы обслуживания дисков, программы архивации данных, программы обслуживания сети.
Пакеты прикладных программ (application program package) комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.
Пакеты прикладных программ служат программным инструментарием функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку различных предметных областей. Данный класс программных продуктов может быть весьма специфичным для отдельных предметных областей.
Инструментарий технологии программирования совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения программных продуктов.
Инструментарий технологии программирования обеспечивает процесс разработки программ и включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Программные продукты поддерживают все технологические этапы процесса проектирования, программирования, отладки и тестирования создаваемых программ.
Инструментарий технологии программирования делится на следующие группы:
1. Средства для создания приложений, включающие: локальные средства, обеспечивающие выполнение отдельных работ по созданию программ; интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
2. CASE-технологии (Computed Aided Software Engineering) система конструирования программ с помощью компьютера, представляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации процессов разработки и реализации информационных систем. Это программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки и сопровождения сложных программных систем.
5.2. Файлы и файловые системы
Долговременно информация хранится на внешних носителях в виде файлов. При хранении придерживаются определенной организации данных, под которой понимают совокупность правил, определяющих особенности размещения данных на внешних устройствах, методы доступа к ним, средства защиты данных от несанкционированного доступа и т.п. Файловая система (англ. file system) это система, определяющая способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т. п. Файловая система определяет формат содержимого и физического хранения информации, которую принято группировать в виде файлов.
Основными элементами файловой структуры являются: стартовый сектор (загрузочная запись), таблица размещения файлов, корневой каталог и остающееся свободным пространство памяти диска, называемое областью данных, являются элементами файловой структуры диска. Они создаются операционной системой в процессе инициализации диска.
Файлом называется поименованная область дискового пространства, на которой хранится логически связанная совокупность данных определенной длины.
Имена файлов должны удовлетворять следующим требованиям:
- имя файла должно иметь расширение, отделяемое от имени точкой;
- для записи имен файлов используются буквы латинского и русского алфавитов и специальные знаки: (-) минус, ( _ ) подчеркивание, @, $, % др.;
- в качестве имен файлов не должны использоваться следующие буквенные сочетания: AUX, CON, PRN, NUL, COM1, COM2, LPT1, LPT.
Имена файла подбираются таким образом, чтобы по нему можно было легко определить содержимое. Расширение имени, как правило, указывает на тип хранящихся в файле данных. В таблице представлены типовые расширения имен файлов:
Таблица 5.1 Типовые расширения файлов
Типовое расширение |
Содержимое файла |
doc |
Файл документа |
bak |
Резервная копия файла |
bat |
Командный файл |
exe |
Выполняемая программа |
sys |
Драйвер управления устройством |
xls |
Файл, созданный в электронной таблице MS Excel |
rar |
Архивный файл |
html |
Файл web-страницы |
Кроме имени и расширения имени файла операционная система хранит для каждого файла дату его создания (изменения) и несколько флаговых величин, называемых атрибутами файла. Атрибуты файла это дополнительные параметры, определяющие свойства файлов.
Основных атрибутов четыре: только для чтения, скрытый, системный, архивный.
Атрибут «Только для чтения» ограничивает возможности работы с файлом. Его установка означает, что файл не предназначен для внесения изменений.
Атрибут «Скрытый» сигнализирует операционной системе о том, что данный файл не следует отображать на экране при проведении файловых операций. Эта мера защиты против случайного повреждения файла.
Атрибутом «Системный» помечают файлы, обладающие важными функциями в работе самой операционной системы. Его отличительная особенность в том, что средствами операционной системы его изменить нельзя. Как правило, большинство файлов, имеющих установленный атрибут «Системный», имеют также и установленный атрибут «Скрытый».
Атрибут «Архивный» в прошлом использовался для работы программ резервного копирования. Предполагалось, что любая программа, изменяющая файл, должна автоматически устанавливать этот атрибут, а средство резервного копирования должно его сбрасывать. Таким образом, очередному резервному копированию подлежали только те файлы, у которых этот атрибут был установлен. Современные программы резервного копирования используют другие средства для установления факта изменения файла, и данный атрибут во внимание не принимается, а его изменение вручную средствами операционной системы не имеет практического значения.
Жесткие диски характеризуются возможностью предварительного разбиения их на несколько разделов. Поэтому в начальных секторах жесткого диска содержится информация о количестве разделов, их местоположении и размерах. Разделы жесткого диска рассматриваются как автономные виртуальные диски. Каждый из них инициализируются отдельно и имеет собственное имя (С:, D:, E).
Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы табличный. Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения.
Существуют различные виды файловых систем. Наиболее распространенными являются файловые системы FAT32 и NTFS.
Рассмотрим кратко каждую из этих систем.
1. Файловая система FAT32. Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы табличный. Поверхность жесткого диска рассматривается как трехмерная матрица, измерениями которой являются номера поверхности, цилиндра и сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и находящихся на равном удалении от оси вращения. Данные о том, в каком месте диска записан тот или иной файл, хранятся в системной области диска в специальных таблицах размещения файлов (FAT-таблицах).
Поскольку нарушение FAT-таблицы приводит к невозможности воспользоваться данными, записанными на диске, к ней предъявляются особые требования надежности, и она существует в двух экземплярах, идентичность которых регулярно контролируется операционной системой.
Достоинством такой организации является возможность осуществления прямого доступа к данным файла. Недостатком является постепенное фрагментирование диска при активной работе с файловой системой по уничтожению, созданию и изменению объемов файлов. При этом занимаемое файлами пространство «разорвано» по всему диску. Фрагментирование значительно увеличивает время доступа к данным на диске.
Наименьшей физической единицей хранения данных является сектор. Размер сектора равен 512 байт. Поскольку размер FAT-таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры. Кластер является наименьшей единицей адресации к данным. Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска.
Рисунок 5.2 Пример иерархической структуры каталогов и файлов
Каталог представляет собой справочник, содержащий сведения о местоположении, размере, дате и времени обновления файлов. Для каждого файла на диске имеется один элемент в определенном каталоге. Один элемент корневого каталога выделяется для метки диска. Файлы объединяются в каталоги по любому общему признаку, заданному их создателем (по типу, по принадлежности, по назначению, по времени создания и т.п.). Каталоги низких уровней вкладываются в каталоги более высоких уровней и являются для них вложенными, и называются подкаталогами. Верхним уровнем вложенности иерархической структуры является корневой каталог диска.
2. Файловая система NTFS (New Technology File System). С увеличением размеров жесткого диска файловая система FAT16 и FAT32 прекращают работать. На дисках больших объемов применяется файловая система NTFS. Файловая система NTFS условно диск делит на две части в соотношении 12% и 88 %. 12% диска предназначена под MFT зону - пространство, в которое растет метафайл MFT. Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой - это делается для того, чтобы самый главный, служебный файл (MFT) не фрагментировался при своем росте. Остальные 88% диска представляют собой обычное пространство для хранения файлов.
Каждый элемент файловой системы NTFS представляет собой файл, в том числе и служебная информация. Самый главный файл на NTFS называется MFT, или Master File Table - общая таблица файлов. Именно он размещается в MFT зоне и представляет собой централизованный каталог всех остальных файлов диска. MFT поделен на записи фиксированного размера (обычно 1 Кбайт), и каждая запись соответствует какому либо файлу. Первые 16 файлов носят служебный характер и недоступны операционной системе - они называются метафайлами, причем самый первый метафайл - сам MFT. Эти первые 16 элементов MFT - единственная часть диска, имеющая фиксированное положение. Остальной MFT-файл может располагаться, как и любой другой файл, в произвольных местах диска - восстановить его положение можно с помощью его самого, "зацепившись" за самую основу - за первый элемент MFT.
Свободное место диска включает в себя всё физически свободное место. В свободное место диска могут также включаться незаполненные куски MFT-зоны. Механизм использования MFT-зоны таков: когда файлы уже нельзя записывать в обычное пространство, MFT-зона просто сокращается (в текущих версиях операционных систем ровно в два раза), освобождая, таким образом, место для записи файлов. При освобождении места в обычной области MFT зона может снова расширится.
5.3. Назначение и классификация операционных систем
Операционная система (ОС) компьютера представляет собой комплекс взаимосвязанных программ, который действует как интерфейс между приложениями и пользователями с одной стороны, и аппаратурой с другой стороны. В соответствии с этим определением ОС выполняет две группы функций:
- предоставление пользователю или программисту вместо реальной аппаратуры компьютера расширенной виртуальной машины, с которой удобней работать и которую легче программировать;
- повышение эффективности использования компьютера путем рационального управления его ресурсами в соответствии с некоторыми критерием.
Операционная система (ОС) - это программа, которая предназначена для управления всеми физическими и логическими ресурсами компьютера и способная создавать интерфейс между пользователем и компьютером.
Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами.
Операционные системы для персональных компьютеров делятся на:
1. Одно- и многозадачные (в зависимости от числа параллельно выполняемых прикладных процессов);
2. Одно- и многопользовательские ( в зависимости от числа пользователей, одновременно работающих с операционной системой);
3. Непереносимые и переносимые на другие типы компьютеров;
4. Несетевые и сетевые, обеспечивающие работу в локальной вычислительной сети.
Примеры ОС: MS DOS, Windows 98/2000, Windows XP, Lunix и др.
5.4. Операционные системы семейства Windows
Основными характеристиками операционной системы Windows являются:
1. 32-разрядная архитектура означает, что операции выполняются над 32-разрядным данными.
2. Многозадачность - способность "одновременно" (параллельно) выполнять несколько программ. На самом деле процессор может выполнять инструкции только одной программы. ОС настолько оперативно реагирует на потребности той или иной программы, что создается впечатление одновременности их работы.
Многозадачность может быть кооперативной и вытесняющей. При кооперативной многозадачности (cooperative multitasking) операционная система не занимается решением проблемы распределения процессорного времени. Распределяют его сами программы.
При вытесняющей многозадачности распределением процессорного времени между программами занимается операционная система. Она выделяет каждой задаче фиксированный квант времени процессора. По истечении кванта времени система вновь получает управление, чтобы выбрать другую задачу для ее активизации. Если задача обращается к операционной системе до истечения ее кванта времени, то это также служит причиной переключения задач.
3. Многопоточность операционной системы означает, что работающие программы (процессы) могут разделяться на несколько частей, самостоятельно претендующих на процессорное время. Это обеспечивает одновременное выполнение программой нескольких не связанных друг с другом операций. Например, в текстовом процессоре могут одновременно выполняться автоматическая проверка орфографии и редактирование документа.
4. Графический пользовательский интерфейс обеспечивает удобства в запуске и переключении приложений (программ Windows). Основными компонентами пользовательского интерфейса являются рабочий стол и панель задач (обеспечивает запуск и переключение приложений). На рабочем столе размещены графические объекты, соответствующие приложениям, документам, сетевым устройствам. Каждый графический объект имеет поименованный ярлычок. С помощью мыши, ярлычков, главного меню и панели задач пользователь может легко запускать, переключать и управлять приложениями (программами).
5. Подключение новых периферийных устройств по технологии Plug and Play. Система самостоятельно создает и изменяет файлы конфигурации, распознает конкретное техническое устройство, производит его автонастройку. Подобная технология получила название Plug and Play "включай и работай", т. е. эта технология ориентирована на поддержку любого типа устройств, включая мониторы, видеоплаты, принтеры, звуковые карты, модемы, приводы CD, контроллеры магнитных дисков. При ее использовании обеспечиваются следующие вспомогательные функции: распознавание устройств для установки и настройки, динамическое изменение состояния системы, интеграция драйверов устройств, системных компонентов и пользовательского интерфейса.
6. Пользование виртуальной памяти. Виртуальная память расширение адресного пространства задачи, полученное за счет использования части внешней памяти.
В оперативной памяти всегда находится часть виртуального пространства, выделяемого для решения задачи, остальная его часть располагается на дисковой памяти. Если оперативной памяти не хватает для обеспечения работы текущего (активного) приложения, то приложение или его часть, которые не используют в данный момент микропроцессор, выгружаются (вытесняются) из оперативной памяти на диск. На их место в оперативную память загружается (подкачивается) необходимый фрагмент активного приложения. Когда одному из выгруженных приложений передается управление, оно вновь загружается в оперативную память, что может привести к выгрузке на диск другого, пассивного в данный момент приложения. Таким образом, программы циркулируют между диском и оперативной памятью.
Поддержка виртуальной памяти позволяет открыть большое количество приложений одновременно, но выгрузка на диск и загрузка с диска снижают производительность компьютера.
Используемая для этой цели часть внешней памяти называется файлом подкачки. Процесс подкачки известен под названием свопинг. Объем файла подкачки может в несколько раз превышать объем оперативной памяти [13].
Файл подкачки файл на жестком диске, используемый для организации виртуальной памяти.
7. Совместимость с ранее созданным программным обеспечением. Под совместимостью с программным обеспечением понимают способность операционной системы исполнять программные продукты, созданные в другой операционной системе.
8. Наличие коммуникационных программных средств. Важнейшим направлением развития Windows является включение в ее структуру используемых и специальных программных средств для поддержи различных коммуникаций и компьютерных сетей.
9. Наличие средств мультимедиа. Система Windows обеспечивает интерактивную работу с видео- и аудио-программами при помощи специальных аппаратных и программных средств. Атрибутом мультимедиа-компьютера являются звуковая плата, которая обеспечивает преобразование звука в компьютерную форму и обратно, и видеоплата, которая преобразует видеоинформацию в компьютерную форму и обратно. К звуковой плате подключаются различные акустические системы.
10. Интеграция с глобальной сетью Интернет. Операционная система Windows содержит прикладную программу (браузер), позволяющую получать из Internet различные документы, просматривать и редактировать их содержимое
11. Надежность и качества управления.
12. Поддержка длинных имен файлов. В Windows имена файлов могут иметь длину до 255 символов.
Архитектура ОС Windows схематично показана на рисунке 7. 4.
Системная виртуальная машина представляет собой операционную среду, поддерживающую работу всех приложений Windows и подсистема, обеспечивающих интерфейс прикладного программирования.
Приложения Win32 представляют 32-разрядные приложения Windows, использующие 32-разрядную модель процессоров 80386 и выше и подмножество интерфейса прикладного программирования. Каждое приложение Win32 имеет свое адресное пространство, недоступное другим приложениям.
Рисунок 7.4 Архитектура Windows
Оболочка ОС есть 32-разрядное приложение Windows, обеспечивающее взаимодействие пользователя с системой.
Приложения Win16 представляет собой старые 16-разрядные приложения Windows. Эти приложения делят между собой единое адресное пространство и не могут употребляться в соответствии с принципом многозадачности.
Подсистема системного сервиса уровня API (Application Program Interface) интерфейса прикладного программирования обеспечивает совместимость с API с ОС Windows младших версий, а также поддержку 32-разрядного интерфейса прикладного программирования.
Kernel модуль Windows, который поддерживает низкоуровневые функции по работе с файлами и управлению памятью и процессами. Этот модуль обеспечивает сервис для 16- и 32-разрядных приложений.
GDI (Graphics Device Interface) модуль Windows, обеспечивающий реализацию графических функций по работе с цветом, шрифтами и графическими примитивами для монитора и принтеров.
User модуль Windows, который является диспетчером окон и занимается созданием и управлением отображаемыми на экране окнами, диалоговыми окнами, кнопками и другими элементами пользовательского интерфейса.
Виртуальные машины MS DOS обеспечивают выполнение программ MS DOS под управлением Windows. Пользователь может запустить несколько виртуальных машин MS DOS.
Базовая система включает в свой состав ряд важнейших подсистем:
Подсистема управления файлами способна поддерживать различные файловые системы, доступ к которым может осуществлять одновременно. Работает в 32-разрядном режиме, при этом допускает использование драйверов устройства MS DOS, которые могут потребоваться для поддержки конкретных аппаратных устройств.
Сетевая подсистема представляет собой средство поддержки сети. Система осуществляет доступ к удаленным файлам при помощи файловой подсистемы Windows.
Сервис операционной системы включает в свой состав подсистему поддержки самонастраивающейся аппаратуры Plug and Play, а также набор различных прикладных функций, например выдачи текущих даты и времени.
Подсистема управления виртуальной машины реализует все действия по управлению задачами, управлению памятью, загрузкой и завершением программ, а также обслуживанием виртуальных драйверов устройств.
Драйверы устройств могут быть самыми разнообразными, в том числе драйверами реального режима или виртуальными драйверами внешних устройств. Драйверы внешних устройств позволяют нескольким приложениям одновременно использовать одно устройство, например экран монитора.
В операционную систему Windows входит ограниченный набор прикладных и служебных программ, с помощью которых можно решать некоторые простейшие повседневные задачи, пока на компьютере не установлены более мощные программы средства. Такие программы, входящие в поставку Windows, называются стандартные приложения.
Стандартные приложения это комплекс простых программ, поставляемых вместе с ОС Windows. К прикладным программам относятся простой текстовый редактор «Блокнот», графический редактор Paint, простой текстовый процессор WordPad.
Служебные программы предназначены для обслуживания персонального компьютера и самой операционной системы. Они позволяют находить и устранять дефекты файловой системы, оптимизировать настройки программного и аппаратного обеспечения, а также автоматизировать некоторые рутинные операции, связанные с обслуживанием компьютера. Сосредоточены они в Главном меню (Пуск/ Программы/ Стандартные/ Служебные). Перечислим служебные программы ОС.
Архивация данных (Microsoft BackUp) предназначена для автоматизации регулярного резервного копирования наиболее ценных данных на внешние носители.
Буфер обмена предназначен для просмотра текущего содержания буфера обмена Windows. С его помощью можно выполнить сохранение содержимого буфера обмена в виде файла специального формата (.CLP) или его загрузку.
Дефрагментация диска служебное приложение, предназначенное для повышения эффективности работы жесткого диска путем устранения фрагментированности файловой структуры. Программа дефрагментации выполняет перекомпоновку файлов таким образом, что длинные файлы собираются из коротких.
Индикатор системных ресурсов. После запуска этого приложения на панели индикации устанавливается небольшой значок, посредством которого можно получить сведения о состоянии системных ресурсов (модулей памяти, предназначенные для обслуживания многозадачного режима работы).
Преобразование в FAT32 это мастер-программ, которая позволяет автоматически преобразовать формат файловой системы из FAT16 в FAT32, если жестки диск имеет размер более 512Mбайт. Эту операцию можно производить на жестких дисках, уже заполненных информацией. Как правило, при этом высвобождается дополнительно 100-200 Мбайт рабочего пространства на каждый гигабайт емкости жесткого диска. Обратное преобразование в рамках той же программы невозможно. Проверка диска выявляет логические ошибки в файловой системе и физические ошибки, связанные с дефектами поверхности жесткого диска.
Сведения о системе. Эта программа предназначена для повышения плотности записи данных на жесткий диск. В ее основе лежит принцип устранения избыточности информации.
Агент сжатия предназначена для дополнительного уплотнения файла сжатого тома.
Системный монитор программа, предназначенная для визуального или протокольного наблюдения за функционированием компьютера и операционной системы. Она позволяет контролировать загрузку процессора, распределение оперативной памяти, обмен данными между дисками и другие параметры вычислительной системы.
Таблица символов. Программа выводит окно со специальными символьными наборами.
Кроме, прикладных и служебных программ ОС Windows содержит стандартные средства мультимедиа (Пуск/Программы/Стандартные). К стандартным средствам мультимедиа относятся: регулятор громкости, лазерный проигрыватель, универсальный проигрыватель, программа звукозаписи.
5.5. Операционная система Linux
На сегодняшний день наиболее известной операционной системой для компьютеров является не только ОС Microsoft Windows, но и ОС семейства UNIX.
Операционная система UNIX была разработана группой сотрудников Bell Labs под руководством Дениса Ричи, Кена Томпсона и Брайана Кернигана в 1969 году. Говоря об операционной системе UNIX, чаще всего имеют в виду не конкретную ОС, а скорее целое семейство UNIX-подобных операционных систем. Cамо же слово UNIX (заглавными буквами) стало регистрироваться торговой маркой корпорации AT&T.
В конце 70-х годов прошлого века сотрудники Калифорнийского университета в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами семейства TCP/IP. Их разработка стала известна под именем BSD (“Berkley Systems Distribution”). Она распространялась под лицензией, которая позволяла дорабатывать и усовершенствовать продукт, и передавать результат третьим лицам (с исходными кодами или без них) при условии, что будет указано, какая часть кода разработана в Беркли. Операционные системы типа UNIX, в том числе и BSD, изначально разрабатывались для работы на больших многопользовательских компьютерах.
В начале 90-х годов студент Хельсинского университета Линус Торвальдс приступил к разработке UNIX-подобной операционной системы для IBM-совместных персональных компьютеров.
Файлы первого варианта Lunix (версия 0.01) были опубликованы в Интернете 17 сентября 1991 года.
Как было описано выше, в любой операционной системе можно выделить 4 основных части: ядро, файловую структуру, интерпретатор команд пользователя и утилиты. Ядро ОС это основная, определяющая часть ОС, которая управляет аппаратными средствами и выполнением программ. Файловая структура это система хранения файлов на запоминающих устройствах. Интерпретатор команд (оболочка) это программа, организующая взаимодействие пользователя с компьютером. Утилиты это отдельные программы, которые выполняют служебные функции.
Если быть точным, то слово «Linux» обозначает только ядро. Поэтому, когда идет речь об операционной системе, правильнее было бы говорить «операционная система, основанная на ядре Linux». Ядро ОС Linux разрабатывается под общим руководством Линуса Торвальдса и распространятся свободно на основе лицензии GPL (General Public License). Суть лицензии GPL состоит в том, что программное обеспечение, распространяемой под этой лицензией, можно как угодно дорабатывать, модифицировать, передавать другим лицам. Одним следствием свободного распространения программного обеспечения для Linux является то, что большое число разных фирм и компаний, а также просто независимых групп разработчиков стали выпускать называемые дистрибутивы Linux.
Дистрибутив это набор программного обеспечения, включающий все основные 4 составные части ОС (ядро, файловую систему, оболочку и совокупность утилит), а также некоторую совокупность прикладных программ.
В силу того, что исходные коды Linux распространяются свободно и общедоступны, к развитию системы с самого начала подключилось большое число независимых разработчиков. Благодаря этому на сегодняшний день Linux самая современная, устойчивая и быстроразвивающая система, почти мгновенно вбирающая в себя самые последние технологические новшества. Она обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX. Приведем краткий список этих возможностей.
Реальная многозадачность. Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора, поочередно выделяя каждому процессу интервалы времени для выполнения. Это существенно отличается от режима «вытесняющей многозадачности», реализованной в Windows, когда процесс должен сам «уступить» процессор другим процессам (и может сильно задержать их выполнение).
Многопользовательский доступ. Linux не только многозадачная ОС, она поддерживает возможность одновременной работы многих пользователей. При этом Linux может предоставлять все системные ресурсы пользователям, работающих с хостом через различные удаленные терминалы.
Страничная организация памяти. Системная память Linux организована в виде страниц объемом 4 Кбайт. Если оперативная память полностью исчерпана, ОС будет искать давно не использующие страницы памяти для их перемещения из памяти на жесткий диск. Если какие-либо из этих страниц становятся нужны, Linux восстанавливает их с диска.
Загрузка выполняемых модулей «по требованию». Ядро Linux поддерживает выделение страниц памяти по требованию, при котором только необходимая часть кода исполняемой программы находится в оперативной памяти, а не используемые в данный момент части остаются на диске.
Совместное использование исполняемых программ. Если необходимо запустить одновременно несколько копий какого-либо приложения (либо один пользователь запускает несколько идентичных задач, либо разные пользователи запускают одну и ту же задачу), то в память загружается только одна копия исполняемого кода этого приложения, которая используется всеми одновременно исполняющимися идентичными задачами.
Динамическое кэширование диска. Кэширование диска это использование части оперативной памяти для хранения часто используемых данных с диска, что существенно ускоряет доступ к часто используемым программам и задачам. Linux использует более динамичную систему кэширования: память, зарезервированная под кэш, увеличивается, когда память не используется, и уменьшается, если системе или процессу пользователя требуется больше памяти.
Сетевые возможности. Linux можно интегрировать в любую локальную сеть.
Работа на разных аппаратных платформах. Хотя ОС Linux первоначально была разработана для ПК на базе Intel 386/486, сейчас она может работать на всех версиях микропроцессоров от Intel, начиная с 386 и кончая многопроцессорными системами на Pentium III (с Pentium IV возникли определенные трудности, но, судя по сообщениям в Интернете, они были вызваны ошибками в реализации процессора). Так же успешно Linux работает на различных клонах Intel от других производителей; в Интернете встречаются сообщения о том, что на процессорах Athlon и Duron от AMD Linux работает даже лучше, чем на Intel. Кроме того, разработаны версии для других типов процессоров.
5.6. Технологии виртуализации
5.6.1. Основные понятия виртуализации
Информационные технологии принесли в жизнь современного общества множество различных программных и аппаратных средств, технологий и сервисов. В этом параграфе пойдет речь о еще одной перспективной и по-настоящему эффективной технологии, стремительно врывающейся в мир компьютеров технологии виртуализации.
Согласно статистике средний уровень загрузки процессорных мощностей у серверов не превышает 10-20%. Низкая эффективность использования серверов объясняется широко применяемым с начала 90-х годов подходом "одно приложение − один сервер. На практике это ведёт к быстрому увеличению серверного парка и как следствие − возрастание затрат на его администрирование, энергопотребление и охлаждение, а также потребность в дополнительных помещениях для установки всё новых серверов и приобретении лицензий на серверную ОС.
Решить эту проблему позволяет технология виртуализация ресурсов физического сервера, которая гибко распределяет ресурсы между приложениями (реализует подход "один сервер − несколько приложений") без снижения производительности, доступности и безопасности серверных приложений.
Виртуализация представляет собой среду для создания и использования виртуальных машин поверх реального аппаратно-программного комплекса.
Виртуальной машиной будем называть программную или аппаратную среду, которая скрывает настоящую реализацию какого-либо процесса или объекта от его видимого представления.
Виртуальная машина (VM) − это полностью изолированный программный контейнер, который работает с собственной ОС и приложениями, подобно физическому компьютеру. Виртуальная машина действует так же, как физический компьютер, и содержит собственные виртуальные (т.е. программные) ОЗУ, жесткий диск и сетевой адаптер.
ОС не может различить виртуальную и физическую машины. То же самое можно сказать о приложениях и других компьютерах в сети. Даже сама виртуальная машина считает себя "настоящим" компьютером. Несмотря на это, виртуальные машины состоят исключительно из программных компонентов и не включают оборудование. Это дает им ряд уникальных преимуществ над физическим оборудованием.
Система, на которой запускается виртуальная машина и которая предоставляет свои аппаратно-программные ресурсы для виртуальной машины, называется хостовой (host), а сама виртуальная машина называется гостевой (guest). Для обеспечения стабильного функционирования гостевой системы, хостовая система должна быть достаточно надежной, располагать достаточным количеством ресурсов и предоставлять необходимый набор интерфейсов для доступа к ним.
Операционная система (ОС), установленная на физический сервер (хост) называется базой или хостовой ОС (Host OS). Гостевая ОС (Guest OS) ОС, установленная в виртуальной машине.
Основные достоинства технологий виртуализации:
− эффективное использование вычислительных ресурсов и сокращение расходов на инфраструктуру. Виртуализация позволяет сократить количество серверов и связанного с ними IT-оборудования. Вместо нескольких серверов, загруженных на 5-20% можно использовать один, загруженный на 50-70%. Кроме прочего, это экономия электроэнергии и значительное сокращение финансовых вложений.
− снижение затрат на программное обеспечение. Некоторые производители программного обеспечения ввели отдельные схемы лицензирования специально для виртуальных сред. Так, например, покупая одну лицензию на Microsoft Windows Server 2008 Enterprise, вы получаете право одновременно её использовать на 1 физическом сервере и 4 виртуальных (в пределах одного сервера), а Windows Server 2008 Datacenter лицензируется только на количество процессоров и может использоваться одновременно на неограниченном количестве виртуальных серверов.
− несовместимые приложения могут работать на одном компьютере. При использовании виртуализации на одном сервере возможна установка Linux и Windows серверов, шлюзов, баз данных и прочих абсолютно несовместимых в рамках одной не виртуализированной системы приложений.
− возможности легкой архивации. Жесткий диск виртуальной машины представляется в виде файла определенного формата, расположенный на каком-либо физическом носителе, виртуализация дает возможность простого копирования этого файла на резервный носитель как средство архивирования и резервного копирования всей виртуальной машины целиком. Возможность поднять из архива сервер полностью еще одна замечательная особенность. А можно поднять сервер из архива, не уничтожая текущий сервер и посмотреть положение дел за прошлый период.
− повышение управляемости инфраструктуры путём централизованного управления виртуальной инфраструктурой. Это позволяет сократить время на администрирование серверов, обеспечивает балансировку нагрузки и "живую" миграцию виртуальных машин.
5.6.2. Виды виртуализации
Классификация виртуализации носит условный характер, её условно можно разделить на две фундаментально различающиеся категории:
‒ виртуализация платформ. Продуктом этого вида виртуализации являются виртуальные машины ‒ некие программные абстракции, запускаемые на платформе реальных аппаратно-программных систем.
‒ виртуализация ресурсов. Данный вид виртуализации преследует своей целью комбинирование или упрощение представления аппаратных ресурсов для пользователя и получение неких пользовательских абстракций оборудования, пространств имен, сетей и т.п.
5.6.2.1. Виртуализация платформ
В зависимости от степени виртуализации аппаратных ресурсов, виртуализацию платформ делят на следующие виды:
− виртуализация серверов;
− виртуализация на уровне ОС;
− виртуализация приложений;
− виртуализация представлений.
Виртуализация серверов сводится к:
− полной эмуляции (симуляции);
− частичной эмуляции (нативной или встроенной виртуализации);
− частичной виртуализации;
− паравиртуализация.
Полная эмуляция (симуляция). Этот вид виртуализации построен на основе полной эмуляции всего аппаратного обеспечения определенной платформы. Такой подход позволяет эмулировать различные аппаратные архитектуры. Например, на платформе x86 это позволяет запустить операционную систему, разработанную для процессоров IBM PowerPC.
Главным и основным минусом такого подхода является очень низкое быстродействие гостевой системы (в 1001000 раз меньше, чем физического компьютера), так как происходит полная эмуляция всех инструкций виртуального процессора, а инструкции физического процессора совсем не используются.
Полная эмуляция используется исключительно при разработке системного программного обеспечения и в образовательных целях. Например, при разработке программного обеспечения под процессоры, которые еще не реализованы физически; для низкоуровневой отладки операционных систем, так как симуляция позволяют отслеживать все инструкции виртуального процессора, что нельзя сделать в системах, которые частично или полностью используют реальный процессор.
Программные платформы симуляции: VMware Workstation, VMware Server, VMware ESX Server, Virtual Iron, Microsoft Hyper-V Server, Microsoft Virtual PC, Sun VirtualBox, Parallels Desktop и другие.
Частичная эмуляция (нативная виртуализация) базируется на принципе эмуляции только необходимого количества ресурсов, чтобы виртуальная машина могла быть запущена изолировано. Например, при полной эмуляции различных архитектур, гостевая система работает с определенной специфической системой команд процессора, отличной от системы команд процессора хостовой системы. Каждую команду процессору гостевой системы нужно транслировать в соответствующую команду хостовой системы, что невероятно уменьшает быстродействие. При использовании нативной виртуализации никакой трансляции команд не происходит, так как гостевая операционная система разработана под ту же архитектуру, на которой работает хостовая система. Это позволяет значительно повысить быстродействие гостевой системы и максимально приблизить его к быстродействию реальной системы.
Для повышения быстродействия нативной виртуализации применяется специализированная программная прослойка гипервизор. Гипервизор является посредником между гостевой операционной системой и физическим аппаратным обеспечением. Он позволяет гостевой системе напрямую обращаться к аппаратным ресурсам, что и является секретом высокого быстродействия данного вида виртуализации.
Частичная эмуляция является самым распространенным видом виртуализации в наше время. Основным ее недостатком является зависимость виртуальных машин от конкретной аппаратной архитектуры.
Платформы нативной виртуализации: VMware Workstation, VMware Server, VMware ESX Server, Virtual Iron, Virtual PC, VirtualBox, Parallels Desktop и другие.
Частичная виртуализация и виртуализация адресного пространства
Подход частичной виртуализации заключается в симулировании нескольких экземпляров аппаратного обеспечения (особенно часто используется виртуализация адресного пространства). Это позволяет совместно использовать ресурсы и изолировать процессы, но не позволяет создавать экземпляры гостевых систем. Т.е. при частичной виртуализации виртуальные машины не создаются, а происходит изоляция некоторых ресурсов и процессов на уровне хостовой операционной системы. Каждая гостевая система является приложением, запущенным как процесс внутри изолированного адресного пространства.
Недостатком частичной виртуализации является невозможность разделить гостевую и хостовую системы, так как они выполняются внутри ядра хостовой системы.
Платформы частичной виртуализации: UML (User-mode Linux), при котором гостевое ядро запускается внутри основного ядра и выполняется в его контексте.
Паравиртуализация. Этот метод не вынуждает эмулировать аппаратное обеспечение, однако требует от гостевой системы наличия специального программного интерфейса для взаимодействия с хостовой системой. Такой подход требует значительной модификации ядра гостевой, так как все взаимодействие ее с аппаратным обеспечением сводится к совершению специальных вызовов (гипервызововов) к хостовой системе. При этом хостовая система должна иметь гипервизор, который принимает и обрабатывает гипервызовы из гостевой системы. Быстродействие гостевых систем с паравиртуализацией считается максимальным. В отличие от нативной виртуализации, в случае паравиртуализации нет нужды эмулировать BIOS, процессор, жесткие диски и другие устройства. Это и дает выигрыш в производительности паравиртуализированых систем на уровне 5-15% по сравнению с нативными. За такой прирост производительности нужно расплачиваться понижением гибкости (не всегда найдется нужная модифицированная операционная система) и безопасности (в следствии близости гостевых систем к аппаратному уровню могут возникать различные коллизии) таких решений.
С ростом популярности виртуализации, появлением в современных процессорах встроенной поддержки технологий виртуализации Intel VT-x) и AMD-V, решений для паравиртуализации в чистом виде практически не осталось.
Платформы паравиртуализации: VMware ESX Server, Xen, Microsoft Hyper-V. Эти продукты поддерживают паравиртуализацию, частичную виртуализацию и их смесь.
− Виртуализация на уровне ядра операционной системы (ОС). Данный метод позволяет в рамках одной ОС выделить ресурсы для выполнения независимых гостевых ОС. Каждая гостевая система имеет изолированную от хостовой системы среду выполнения, что обеспечивает достаточную безопасность. Данный метод позволяет разбить физические ресурсы компьютера на независимые разделы (контейнеры или песочницами), средствами операционной системы. Такая виртуализация используется при организации систем для хостинга, когда в рамках одной операционной системы необходимо предоставлять клиентам несколько виртуальных серверов.
Платформы виртуализации: Linux-VServer, OpenVZ, Virtuozzo, FreeBSD Jails, Solaris Containers.
− Виртуализация приложений значительно отличается от всех остальных видов. Целевое приложение (а не вся операционная система) помещается в специальный контейнер, которой эмулирует работу операционной системы с данным приложением. Контейнер содержит все необходимые приложению ресурсы: системные файлы, файлы реестра и конфигурационные файлы. При этом в контейнер помещаются исключительно файлы, необходимые для нормальной работы целевого приложения, что делает размеры контейнера минимальными. Использование изолированного контейнера позволяет решать конфликты несовместимости программ между собой или между операционными системами. Например, благодаря виртуализации приложений становится возможным установить и запустить несколько экземпляров одной программы разных версий. Microsoft Office 2003 и Microsoft Office 2007 могут одновременно работать без каких-либо конфликтов, Adobe Photoshop CS2 может работать рядом с Adobe Photoshop CS4. Данный метод также позволяет запускать программные продукты, предназначенные для более поздних версий операционной системы в более ранних версиях с сохранением полной совместимости. Например, программу для Windows Vista становится возможным запустить в Windows 2000.
Платформы виртуализации приложений: Microsoft SoftGrid, VMware ThinApp, Altiris Software Virtualization Solution.
5.6.2.1. Виртуализация ресурсов
Различают следующие виды виртуализации ресурсов:
‒ объединение, агрегация и концентрация компонентов. Под таким видом виртуализации ресурсов понимается организация нескольких физических или логических объектов в пулы (группы) ресурсов, представляющих удобные интерфейсы пользователю. Например, многопроцессорные системы, представляющиеся нам как одна мощная система, виртуальные частные сети и трансляция сетевых адресов, позволяющие создавать виртуальные пространства сетевых адресов и имен.
‒ кластеризация компьютеров и распределенные вычисления включает в себя техники, применяемые при объединении множества отдельных компьютеров в глобальные системы (метакомпьютеры), совместно решающие общую задачу.
‒ разделение ресурсов в процессе виртуализации происходит разделение какого-либо одного большого ресурса на несколько однотипных объектов, удобных для использования. В сетях хранения данных это называется зонированием ресурсов.
‒ инкапсуляция, применительно к виртуализации, это процесс создания системы, предоставляющей пользователю удобный интерфейс для работы с ней и скрывающей подробности сложности своей реализации. Например, использование центральным процессором кэш-памяти для ускорения вычислений не отражается на его внешних интерфейсах.
Виртуализация ресурсов, в отличие от виртуализации платформ, имеет более широкий и расплывчатый смысл и представляет собой массу различных подходов, направленных на повышение удобства обращения пользователей с системами в целом. Далее будем опираться на понятие виртуализации платформ, поскольку технологии, связанные с этим понятием, являются наиболее динамично развивающимися и эффективными.
5.6.3. Обзор настольных платформ виртуализации
В индустрии платформ виртуализации пользователи привыкли к традиционным продуктам, которые развиваются на протяжении нескольких лет и предоставляют необходимый уровень функциональности.
Лидер в области производства ПО для виртуализации, компания VMware, ориентируется в основном на коммерческое использование своих платформю Её мощная платформа виртуализации VMware Workstation 6 является по множеству параметров лучшей на данный момент, у нее есть один неоспоримый минус она не бесплатна. Пользователи могут использовать бесплатный продукт VMware Player, предназначенный для «проигрывания» виртуальных машин, однако создавать их в нем нельзя. Продукт VMware Server направлен на использование в корпоративной среде для виртуализации серверов малых предприятий и не подходит для «домашних» пользователей.
Компания Microsoft предлагает пользователям бесплатный продукт VirtualPC, однако он не обладает необходимым функционалом, удовлетворяющим требованиям всех категорий пользователей. Кроме того Virtual PC доступен только для рабочих станций с ОС семейства Windows, что также отсекает определенный сегмент пользователей.
Компания Parallels предлагает настольные платформы виртуализации Parallels Workstation для Windows и Linux хостов, а также Parallels Desktop для Mac OS X, которые тоже не являются бесплатными. К тому же, в связи с успешными продажами продукта Parallels Desktop, компания Parallels, принадлежащая российской компании SWsoft, несколько приостановила развитие продукта Parallels Workstation.
Рассматривая рынок популярных настольных систем виртуализации, можно сказать, что присутствуют либо неплохие, но платные платформы, либо бесплатные, но недостаточно функциональные продукты, не отвечающие всем требованиям пользователей.
Достойным продуктом среди настольных платформ виртуализации можно считать платформу VirtualBox, созданную немецкой компанией InnoTek. Она предназначена для виртуализации десктопов, имеет с открытый исходный код, в разработке которого (за исключением некоторых компонентов) может принять участие любой желающий.
5.6.4. Настольной платформа виртуализации Virtual Box
Платформа VirtualBox представляет собой настольную систему виртуализации. Компанией InnoTek была разработана ограниченная версия VirtualBox с открытым исходным кодом под лицензией GNU. Полная версия продукта с закрытым исходным кодом также доступна для бесплатного персонального использования. При использовании продукта в производственной среде необходимо приобретение лицензии.
VirtualBox имеет модульную архитектуру с хорошо описанными компонентами и предоставляет удобные интерфейсы доступа к виртуальным машинам, которые позволяют контролировать гостевые системы как через GUI, так и через командную строку. Код платформы открыт, не требуется дополнительных усилий, чтобы написать расширение к системе.
Платформа включает в себя следующие возможности, которые могут быть полезны в различных областях:
‒ кроссплатформенность. Платформа работает на компьютерах с процессорами Intel или AMD под управлением ОС Windows, Mac, Linux или Solaris и расширяет возможности компьютера, позволяя работать множеству ОС одновременно (внутри виртуальных машин). Например, можно запустить Linux на ПК с Windows или запустить Windows Server на Linux сервере и они одновременно будут работать с программами. Таким образом можно установить и запустить несколько виртуальных машин, ограничиваясь только размером свободного дискового пространства и памяти;
‒ простая установка приложений. Поставщики ПО могут использовать виртуальные машины для поставки программных комплексов. Например, установка и настройка почтового сервера на реальном компьютере может занять много времени и ресурсов. С помощью VirtualBox, такие сложные структуры (appliance) могут быть развернуты внутри виртуальной машины. В этом случае, установка и запуск почтового сервера сводится к простому импорту appliance в VirtualBox;
‒ тестирование и восстановление после сбоев. После установки, виртуальная машина и ее виртуальные жесткие диски можно считать "контейнером", который может быть произвольно "заморожен", "поднят", скопирован и перенесен между хостами. А использование функции "снимки состояний", можно сохранить определенное состояние виртуальной машины и "откатиться" к нему в случае необходимости. Возможно создание любого количества снимков. Всё это дает возможность свободно экспериментировать с виртуальной вычислительной средой;
‒ консолидация инфраструктуры. Виртуализация позволяет уменьшить расходы на электроэнергию и аппаратные средства за счёт использования развернутых виртуальные машин на нескольких мощных хостах и распределить нагрузку между ними.
VirtualBox эмулирует следующие компоненты аппаратного обеспечения в виртуальной машине:
‒ жесткие диски эмулируются в специальном формате контейнеров VDI, который не совместим с форматами виртуальных дисков других производителей
‒ видеоадаптер эмулируется как стандартный VESA с 8 Мб видеопамяти, при этом установка Guest VM Additions (только для Windows и Linux хостов) позволяет увеличить производительность виртуального видеоадаптера и динамически менять размер окна виртуальной машины;
‒ сетевой адаптер эмулируется как интерфейс AMD PCNet в издании с закрытым исходным кодом эмулируются также контроллеры USB, при этом USB-устройства, вставленные в разъемы хоста, автоматически подхватываются в гостевой системе. Также если виртуальная машина действует как RDP (Remote Desktop Protocol) сервер, то в клиенте также будут видны USB-устройства
5.7. Сервисное программное обеспечение
Программы сжатия информации. Сжатие информации это процесс преобразования информации, хранящейся в файле, к виду, при котором уменьшается избыточность в ее представлении и соответственно требуется меньший объем памяти для хранения.
Сжатие информации в файлах производится за счет устранения избыточности различными способами, например за счет упрощения кодов, исключения из них постоянных битов или представления повторяющихся символов в виде коэффициента повторения и соответствующих символов. Применяются различные алгоритмы сжатия информации. Сжиматься могут как один, так и несколько файлов, которые в сжатом виде помещают в архивный файл или архив.
Архивный файл это специальным образом организованный файл, содержащий в себе один или несколько файлов в сжатом или несжатом виде и служебную информацию об именах файлов, дате и времени их создания или модификации, размерах и т.п.
Архиваторы применяются:
1. При передаче информации по телефонным линиям (через модемы), с целью сокращения времени и стоимости передачи информации по каналам связи;
2. При создании дистрибутивов программных комплексов;
3. При создании архивов файлов;
4. При размещении информации на гибких носителях.
Степень сжатия зависит от используемой программы, метода сжатия и типа исходного файла. Наиболее хорошо сжимаются файлы графических образов, текстовые файлы и файлы данных, для которых степень сжатия может достигать 5-40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей 60-90 %. Программы для архивации отличаются используемыми методами сжатия, что соответственно влияет на степень сжатия.
Архивация (упаковка) помещение (загрузка) исходных файлов в архив в сжатом или несжатом виде.
Разархивирование (распаковка) процесс восстановления файлов из архива точно в таком виде, какой они имели до загрузки в архив. При распаковке файлы извлекаются из архива и помещаются на диск или в оперативную память.
Архив содержит оглавление, позволяющее узнать, какие файлы в нем содержатся. В оглавлении хранится следующая информация для каждого содержащего в архиве файла: имя файла, сведения о каталоге, в котором содержится файл, размер файла на диске и в архиве, код циклического контроля для каждого файла, используемый для проверки целостности архива.
Программы, осуществляющие упаковку и распаковку файлов, называются программами-архиваторами.
Большие по объему архивные файлы могут быть размещены на нескольких дисках (томах). Такие архивы называются многотомными. Том это составная часть многотомного архива.
Программы архиваторы позволяют создавать и такие архивы, для извлечения из которых содержащихся в них файлов не требуются какие-либо программы, так как сами архивные файлы могут содержать программу распаковки. Такие архивные файлы называются самораспаковывающимися.
Самораспаковывающийся архивный файл это загрузочный, исполняемый модуль, который способен к самостоятельной разархивации находящихся в нем файлов без использования программы-архиватора и имеет расширение *.ехе.
В настоящее время применяются наиболее популярные программы-архиваторы: WinRar, WinZip и др.
WinRAR это 32-разрядная версия архиватора RAR для Windows, мощного средства создания архивов и управления ими. Существует несколько версий RAR для разных операционных систем, в частности, RAR для Windows, Linux, FreeBSD, DOS, OS/2, Mac OS X.
RAR для Windows поставляется в двух вариантах:
- версия с графическим интерфейсом пользователя (GUI) WinRAR.exe;
- консольная версия Rar.exe, запускаемая из командной строки и работающая в текстовом режиме.
Некоторые отличительные особенности WinRAR:
- полная поддержка архивов RAR и ZIP;
- использование оригинального высокоэффективного алгоритма сжатия данных;
- наличие графической оболочки с поддержкой технологии перетаскивания (drag & drop);
- возможность использования интерфейса командной строки;
- управление архивами других форматов (CAB, ARJ, LZH, TAR, GZ, ACE, UUE, BZ2, JAR, ISO);
- поддержка метода непрерывного (solid) архивирования, при котором может быть достигнута на 10 50% более высокая степень сжатия, чем дают обычные методы, особенно если упаковывается значительное количество небольших файлов однотипного содержания;
- поддержка многотомных архивов;
- создание самораспаковывающихся (SFX) обычных и многотомных архивов с помощью стандартного или дополнительных модулей SFX;
- возможность восстановления физически поврежденных архивов;
- возможность создания и использования томов для восстановления, позволяющих воссоздавать недостающие части многотомных архивов.
- поддержка кодировки Unicode в именах файлов;
- наличие других дополнительных функций, например, шифрования данных архиве, добавления архивных комментариев и пр.
Окно архиватора WinRar представлено на рисунке 7.8.
Рисунок 5.3 Окно архиватора WinRar
Программы обслуживания дисков. Основными операциями по обслуживанию магнитных дисков являются следующие операции: устранение дефектов на дисках, оптимизация размещения информации на диске с целью доступа к ней, чистка магнитных дисков от ненужной информации для высвобождения дискового пространства, и как следствие, ускорение доступа к информации.
Дефекты разделяют на логические и физические. Логические дефекты заключаются в нарушении файловой структуры диска или содержимого системной области диска загрузочной записи и таблицы размещения файлов. Причинами появления логических дефектов могут быть сбои в работе компьютера, неправильные действия пользователя или деструктивные действия компьютерных вирусов. При этом возможно появление так называемых потерянных кластеров (недоступных ни из одной папки) или совмещенных файлов (имеющих общие кластеры). В результате логические дефекты приводят к замусориванию дискового пространства, лишают возможности пользователя доступа к элементам файловой структуры диска, также приводят к неправильной обработке информации из-за взаимовлияния файлов. Для устранения логических ошибок может использоваться, например, программа ScanDisk.
Физические дефекты проявляются в невозможности правильного чтения и/или записи данных на отдельных участках магнитного диска из-за механических повреждений, неудовлетворительного качества, воздействия электромагнитных полей или старения магнитного покрытия диска. Вовремя обнаруженные физические дефекты опасности не представляют, поскольку кластеры с дефектными секторами помечаются как дефектные и в дальнейшем не используются. Новые, но не обнаруженные физические дефекты могут привести к потере определенной части данных. Особенно опасны физические дефекты в системной части диска, так как при этом могут оказаться недоступными целые фрагменты файловой структуры.
Если оказывается, что какой-либо файл располагается в таких дефектных секторах или кластерах, то полностью спасти находящуюся информацию не представляется возможным.
Для поиска и устранения дефектов на магнитных дисках применяются специальные утилиты, получившие название дисковых сканер-корректоров. Среди таких утилит широкое распространение получили Microsoft ScanDisk, входящая в состав Windows и Norton Disk Doctor.
Утилиты имеют одинаковую схему работы: сначала выполняется проверка файловой структуры диска для поиска и устранения логических дефектов, затем проводится проверка поверхности диска для поиска и устранения физических дефектов.
Найденные цепочки свободных кластеров в соответствии с реакцией пользователя преобразуются в файлы или объявляются свободными. Совмещенные файлы могут быть переразмещены для разделения. При обнаружении физического дефекта расположенные на дефектном участке данные по возможности перемещаются в другое место. Естественно, при этом часть данных может оказаться утраченной. В среде Windows сканер-корректор Microsoft ScanDisk содержится в файле scandskw.exe, который размещается в основной папке операционной системы.
Для запуска сканер-корректора Microsoft ScanDisk достаточно из главного меню Windows выполнить команду Программы\ Стандартные\ Служебные программы\ Проверка диска (ScanDisk).. В результате открывается, стартовое окно сканер-корректора Microsoft ScanDisk .
Дальнейший порядок работы со сканер-корректором Microsoft ScanDisk следующий:
- в списке диалогового окна сканер-корректора выделяются диски, подлежащие проверке;
- выбирается вариант проверки Стандартная (Standard) или Полная (Thorough). При выборе варианта полной проверки после нажатия кнопки Параметры (Options) уточняются параметры полной проверки (нужно ли проверять системную область и/или область данных);
- нажатием кнопки Дополнительно (Advanced) открывается диалоговое окно Дополнительные параметры и выполняется настройка параметров;
- нажатием кнопки Запуск (Start) инициируется начало проверки.
- Установка флажка Исправлять ошибки автоматически означает автоматическое исправление обнаруженных ошибок сканер-корректором без выдачи запросов пользователю.
После окончания работы сканер-корректора появляется панель, отображающая отчет о результатах.
Ускорение доступа к данным на диске достигается путем дефрагментации (устранения фрагментации) файлов, а также размещения дескрипторов файлов таким образом, чтобы обеспечить более быстрый доступ к наиболее часто используемым файлам.
Фрагментация файлов означает размещение смежных кластеров файла на нескольких несмежных фрагментах экстентах дискового пространства. Причиной, вызывающей фрагментацию, является то обстоятельство, что память под файлы отводится по мере надобности. Поэтому при выделении дополнительных кластеров файлу они могут быть размещены на несмежном участке диска. Суть дефрагментации состоит в таком переразмещении файлов, чтобы они занимали непрерывные участки дисковой памяти. Полезным дополнительным эффектом проведения дефрагментации является повышение безопасности хранения данных поскольку нефрагментированные файлы легче восстанавливаются.
Для ускорения доступа к некоторому файлу его следует переместить в начало папки. В этом случае операционной системе потребуется выполнить меньшее количество операций считывания и анализа дескрипторов. Отсюда следует, что файлы в папках желательно размещать в порядке убывания частот их использования.
Кроме того, для ускорения доступа к магнитным дискам часто используемые компоненты файловой системы размещают в начале, а редко используемые ближе к концу дискового пространства. Это связано с применяемым направлением перемещения блока магнитных головок от внешних цилиндров к цилиндрам у оси вращения диска. К часто используемым компонентам файловой системы относятся, прежде всего, папки и затем часто используемые файлы.
Наибольший вклад в ускорение доступа к магнитным дискам из числа указанных способов вносит устранение фрагментации файлов. Для проведения дефрагментации дисков можно использовать утилиту Speed Disk из комплекта Norton Utilities. В составе Windows имеется дефрагментатор Disk Defragmenter, включенный по соглашению с фирмой Semantec. Данная программа обеспечивает дефрагментацию диска и проверку наличия логических дефектов.
Для запуска программы Disk Defragmenter достаточно из главного меню Windows выполнить команду Программы \ Стандартные \ Служебные программы \Дефрагментация дисков.
Возможные способы дефрагментации:
- полная дефрагментация (дефрагментируются файлы и свободное пространство);
- дефрагментация только файлов. При этом между дефрагментированными файлами могут оставаться пустоты;
- объединение свободных участков. При этом файлы не дефрагментируются, а смещаются к началу дискового пространства.
Чистка магнитных дисков представляет собой процесс удаления различного рода ненужных файлов для высвобождения дискового пространства. К числу ненужных файлов, появляющихся в процессе работы на компьютере, можно отнести временные, резервные, неиспользуемые файлы и файлы-дубликаты. В среде Windows для этих целей можно воспользоваться утилитой Space Wizard (Мастер дискового пространства) из комплекта Norton Utilities.
Утилита Space Wizard оказывает помощь в поиске файлов, являющихся кандидатами на удаление, обеспечивает их пересылку, удаление и архивирование. При поиске могут быть обнаружены следующие группы ненужных файлов: временные файлы, лишние файлы, редко используемые, большие файлы и файлы-дубликаты.
К временным файлам рассматриваемая утилита относит файлы с расширением .tmp и все файлы, размещенные в папках TEMP и ТМР.
К лишним файлам по умолчанию относятся файлы с расширением .bak (файлы резервных копий), а также файлы ряда других типов. При необходимости пользователь может уточнить расширения файлов, относящихся к лишним, а также задать папки, содержимое которых будет также рассматриваться как лишние файлы.
Редко используемые файлы определяются по дате последнего доступа к файлам, временные рамки при этом могут уточняться пользователем.
К большим относятся файлы, превосходящие по размеру заданную, уточняемую пользователем величину.
К файлам-дубликатам относятся копии одного и того же файла, расположенные на одном диске. IIри этом файлы не обязательно должны иметь одинаковые имена. Отыскание их может выполняться по таким характеристикам, как даты создания и модификации файлов и их длина. Файлы с одинаковыми характеристиками сравниваются побитно во избежание ошибок.
5.8. Инструментарий технологий программирования
Языки программирования искусственные языки (формальные) специально созданные для общения человека с компьютером. Каждый язык программирования, равно как и «естественный» язык русский, английский и т.д., имеет алфавит, словарный запас, свои грамматику и синтаксис, а также семантику.
Алфавит фиксированный для данного языка набор основных символов, допускаемых для составления текста программы на этом языке.
Синтаксис система правил, определяющих допустимые конструкции языка программирования из букв алфавита.
Семантика система правил однозначного толкования отдельных языковых конструкций, позволяющих произвести процесс обработки данных.
При описании языка и его применении используют понятия языка. Понятие подразумевает некоторую синтаксическую конструкцию и определяемые ею свойства программных объектов или процесса обработки данных.
Взаимодействие синтаксических и семантических правил определяют те или иные понятия языка, например, операторы, идентификаторы, переменные, функции и процедуры, модули и т.д. В отличие от естественных языков правила грамматики и семантики для языков программирования, как и для всех формальных языков, должно быть явно, однозначно и четко сформулированы.
Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. В данном случае «низкий уровень» не означает «плохой». Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора. Языком низкого уровня является язык ассемблера, который просто представляет каждую команду машинного кода, но не в виде чисел, а с помощью символьных условных обозначений, называемых мнемониками. С помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора. С другой стороны, при этом требуется очень хорошо понимать устройство компьютера, затрудняется отладка больших приложений, а результирующая программа не может быть перенесена на компьютер с другим типом процессора. Подобные языки обычно применяются для написания небольших системных приложений, драйверов устройств, модулей стыковки с нестандартным оборудованием, когда важнейшими требованиями становятся компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
Языки программирования, имитирующие естественные языки, обладающие укрупненными командами, ориентированными на решение прикладных содержательных задач, называются языками программирования высокого уровня. Языки программирования высокого уровня значительно ближе и понятнее человеку, нежели компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому создаваемые программы на уровне исходных текстов легко переносимы на другие платформы, для которых создан транслятор этого языка. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, а ошибок при создании программ допускается гораздо меньше.
Языки программирования высокого уровня имеют следующие достоинства:
- алфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;
- набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;
- конструкции команд (операторов) отражают содержательные виды обработки данных и задаются в удобном для человека виде;
- используется аппарат переменных и действия с ними;
- поддерживается широкий набор типов данных.
В настоящее время насчитывается несколько сотен языков программирования, а если считать и их диалекты, то это число возрастает в несколько раз. Классификация языков программирования представлена в виде схемы на рисунке 5.4.
Рисунок 5.4- Классификация языков программирования
Опишем некоторые языки программирования высокого уровня.
Фортран. Это первый компилируемый язык, созданный Джимом Бэкусом в 50-е годы. Программисты, разрабатывающие программы исключительно на ассемблере, выражали серьезное сомнение в возможности появления высокопроизводительного языка высокого уровня, поэтому основным критерием при разработке компиляторов Фортран являлась эффективность исполняемого кода. Хотя в Фортране впервые был реализован ряд важнейших понятий программирования, удобство создания программ было принесено в жертву возможности получения эффективного машинного кода. Однако для этого языка было создано огромное количество библиотек, начиная от математических, статистических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает активно использоваться во многих организациях. Сейчас ведутся работы над очередным стандартом Фортрана F2k. Имеется стандартная версия Фортрана HPF (High Performance Fortran) для параллельных суперкомпьютеров со множеством процессоров.
Pascal (Паскаль). Язык Паскаль, созданный в конце 70-х годов основоположником множества идей современного программирования Никлауса Виртом, предъявляет ряд требований к структуре программы и предоставляет возможности, позволяющие успешно применять его при создании крупных проектов.
Basic (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в качестве учебного языка и очень прост в изучении.
С (Си). Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора. Си во многом похож на Паскаль и имеет дополнительные средства для прямой работы с памятью (указатели). На этом языке в 70-е годы написано множество прикладных и системных программ и ряд известных операционных систем (Unix).
С++ (Си++). Си++ - это объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость, в результате чего создание сложных и надежных программ потребовало от разработчиков высокого уровня профессиональной подготовки.
Java (Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путём исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка компиляция не в машинный код, а в платформно-независимый байт-код (каждая команда занимает один байт). Этот байт-код может выполняться с помощью интерпретатора виртуальной Java-машины JVM (Java Virtual Machine), версии которой созданы сегодня для любых платформ. Благодаря наличию множества Java-машин программы на Java можно переносить не только на уровне исходных тестов, но и на уровне двоичного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место после Бейсика.
Особое внимание в развитие этого языка уделяется двум направлениям: поддержке всевозможных мобильных устройств и микрокопьютеров, встраиваемых в бытовую технику (технология Jini) и созданию платформно-независимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различными операционными системами (технологиями Java Beans). Пока основной недостаток этого языка невысокое быстродействие, так как язык Ява интерпретируемый.
SQL (Structured Query Language) структурированный язык запросов, созданный для обработки больших массивов информации, выборки записей по определенным признакам в базах данных.
HTML. С активным развитием глобальной сети было создано немало реализаций популярных языков программирования, адаптированных специально для Интернета. Все они отличаются характерными особенностями: являются интерпретируемыми, интерпретаторы для них распространяются бесплатно, а сами программы в исходных текстах. Такие языка называются скрипт-языками. HTML общеизвестный язык для оформления документов. Он очень прост и содержит элементарные команды форматирования текста, добавления рисунков, задания шрифтов и цветов, организации ссылок и таблиц. Все Web-страницы написаны на языке HTML или используют его расширение.
VRML. В 1994 году был создан язык VRML для организации виртуальных трехмерных интерфейсов в Интернете. Он позволяет описывать в текстовом виде трехмерные сцены, освещение и тени, текстуры (покрытия объектов), создавать свои миры, путешествия по ним, «облетать» со всех сторон, вращать в любых направлениях, масштабировать, регулировать освещенность и т. д.
LISP (Лисп). Интерпретируемый язык программирования, созданный в 1960 году Джоном Маккарти. Ориентирован на структуру данных в форме списка и позволяет организовывать эффективную обработку больших объемов текстовой информации.
Prolog (Пролог). Создан в начале 70-х годов Аланом Колмероэ. Программа на этом языке, в основу которого положена математическая модель теории исчисления предикатов, строится из последовательности фактов и правил, а затем формулируется утверждение, которое Пролог будет пытаться доказать с помощью введенных правил. Человек только описывает структуру задачи, а внутренний «мотор» Пролога сам ищет решение с помощью методов поиска и сопоставления.
5.9. Пакеты прикладных программ и их характеристика
Прикладные программы предназначены для того, чтобы обеспечить применение вычислительной техники в различных сферах деятельности человека [14].
Пакеты прикладных программ (ППП) являются наиболее динамично развивающейся частью программного обеспечения: круг решаемых с помощью ППП задач постоянно расширяется. Во многом внедрение компьютеров практически во все сферы деятельности стало возможным благодаря появлению новых и совершенствованию существующих ППП.
Достижения в области микроэлектроники, приводящие к появлению более мощных по своим функциональным возможностям компьютеров, также являются причиной создания новых ППП. В свою очередь, необходимость улучшения характеристик использования пакета при решении конкретных задач пользователя стимулирует совершенствование архитектуры и элементной базы компьютеров и периферийных устройств.
Структура и принципы построения ППП зависят от класса ЭВМ и операционной системы, в рамках которой этот пакет будет функционировать. Наибольшее количество разнообразных ППП создано для IBM PC-совместимых компьютеров с операционными системами MS DOS и Windows.
Каждый пакет реализуется на конкретном языке программирования в соответствии с требованиями, предъявленными к пакету, и возможностям языка.
Один из возможных вариантов классификации программных средств, составляющих прикладное программное обеспечение, отражен на рисунке 5.5. Как и почти всякая классификация, приведенная на рисунке, не является единственно возможной.
Текстовые редакторы (процессоры) специальные программы, предназначенные для работы с документами (текстами), позволяющие компоновать, форматировать, редактировать тексты при создании пользователем документа. Обычно они включают в себя дополнительные функции по работе с блоками текста и объектами.
Настольные издательские системы (desktop publishing) программы, предназначенные для профессиональной издательской деятельности и позволяющие осуществлять электронную верстку широкого спектра основных типов документов, типа информационного бюллетеня, краткой цветной брошюры и объемного каталога или справочника.
Рисунок 5.5 Классификация программного обеспечения
Предусмотренные в пакетах данного типа средства позволяют: компоновать (верстать) текст, использовать всевозможные шрифты и осуществлять полиграфические изображения, осуществлять редактирование текста на уровне лучших текстовых процессоров, обрабатывать графические изображения, обеспечивать вывод документов полиграфического качества, работать в сетях и на разных платформах.
Наилучшими пакетами в этой области для ЭВМ являются: Corel Venture, PageMaker, QuarkXPress, FrameMaker, Microsoft Publisher, Illustrator for Windows и др.
Графические системы пакеты, предназначенные для обработки графической информации.
Компьютерная графика в настоящее время является одной из самых динамично развивающихся областей программного обеспечения. Она включает в себя ввод, обработку и вывод графической информации чертежей, рисунков, картин и т.д. средствами компьютерной техники. Различные типы графических систем позволяют быстро строить изображения, вводить иллюстрации с помощью сканера или видеокамеры, создавать анимационные ролики.
Графические редакторы позволяют пользоваться различным инструментарием художника, стандартными библиотеками изображений, наборами стандартных шрифтов, редактированием изображений, копированием и перемещением фрагментов по страницам экрана и др.
Графические пакеты делятся на пакеты обработки растровой графики и изображений, и пакеты векторной графики.
Графические пакеты растровой графики предназначены для работы с фотографиями и включают в себя набор средств по кодированию фотоизображений и цифровую форму. Признанный лидер среди пакетов данного класса Adobe Photoshop. Известны также пакеты Aldus Photo Styler, Picture Publisher, Photo Works Plus.
Пакеты для работы с векторной графикой предназначены для профессиональной работы, связанной с художественной и технической иллюстрацией с последующей цветной печатью (на рабочем месте дизайнеров, например), занимают промежуточное положение между пакетами для систем автоматизированного проектирования (САПР) и настольными издательскими системами.
Своеобразным стандартом в этом классе является пакет CorelDraw. Можно также отметить такие пакет, как Adobe Illustrator, Aldus Free Hand, Professional Draw.
Пакеты демонстрационной графики являются конструкторами графических образов деловой информации, призванные в наглядной и динамической форме представлять результаты некоторого аналитического исследования.
Работа с пакетами этого типа строится по следующей схеме: разработка общего плана представления, выбор шаблона для оформления элементов, формирование и импорт элементов, таких, как текст, графики, таблицы, диаграммы, звуковые эффекты и видеоклипы. Программы просты в работе и снабжены интерфейсом, почти не требующим дополнительного изучения. К наиболее популярным пакетам данного типа относится PowerPoint, Harvard Graphics, WordPerfect Presentations, Freelance Graphics.
Системы управления базами данных предназначены для автоматизации процедур создания, хранения и извлечения электронных данных. Многие существующие экономические, информационно-справочные, банковские, программные комплексы реализованы с использованием инструментальных средств СУБД. Наиболее распространенными пакетами для ЭВМ типа IBM PC являются dBase, Paradox, MS Access, Oracle.
Интегрированные системы по количеству наименований продуктов немногочисленная, но в вычислительном плане довольно мощная и активно развивающаяся часть программного обеспечения.
Внимание к проблеме создания интегрированных систем объясняется как расширением сферы применения вычислительной техники, так и стремлением фирм-разработчиков программного обеспечения не «потерять» своих клиентов с переходом на более совершенные системы обработки данных.
Традиционные (или полносвязанные) интегрированные комплексы представляют собой многофункциональный автономный пакет, в котором в одно целое соединены функции и возможности различных специализированных пакетов, родственных в смысле технологии обработки данных на отдельном рабочем месте. Типичными представителями таких программ являются пакеты MS Word, Lotus Works и др.
В этих программах происходит интеграция функций редактора текстов, системы управления базами данных и табличного процессора. В целом стоимость такого пакета гораздо ниже суммарной стоимости аналогичных специализированных пакетов.
В рамках интегрированного пакета обеспечивается связь между данными, однако при этом сужаются возможности каждой компоненты по сравнению с аналогичным специализированным пакетом. Интерфейс более ранних программ был перегружен различными средствами обмена данными и описаниями среды работы, что требовало от пользователя определенных навыков и знаний в части переключения режимов пакета, форматов данных, принципов хранения и манипулирования различными типами данных, что, в конечном счете, снижало привлекательность пакетов. В современных пакетах (например, MS Word) этот недостаток изжит: простота интерфейса позволяет легко овладеть основными принципами работы.
В настоящее время активно реализуется другой подход интеграции программных средств: объединение специализированных пакетов в рамках единой ресурсной базы, обеспечение взаимодействия приложений (программ пакета) на уровне объектов и единого упрощенного центра-переключения между приложениями. Интеграция в этом случае носит объектно-связанный характер.
Типичным и наиболее мощным пакетом данного класса является MS Office. В профессиональной редакции этого пакета присутствуют четыре приложения: текстовый редактор, СУБД, табличный процессор, программы демонстрационной графики.
Особенностью нового типа интеграции пакетов является использование общих ресурсов. Здесь можно выделить четыре основных вида совместного доступа к ресурсам:
- использование утилит, общих для всех программ комплекса, так например, утилита проверки орфографии доступа из всех программ пакета;
- применение объектов, которые могут находиться в совместном использовании нескольких программ;
- реализация простого перехода (или запуска) из одного приложения к другому;
- реализация, построенных на единых принципах средств автоматизации работы с приложением (макроязыка), позволяет организовать комплексную обработку информации при минимальных затратах на программирование и обучение программированию на языке макроопределений.
Совместное использование объектов с несколькими приложениями краеугольный камень современной технологии интеграции программ и манипулирования данными. Разработаны два основных стандарта в этой области:
1) динамической компановки и встраивания объектов Object Linking and Embedding OLE фирмы Microsoft;
2) OpenDoc (открытый документ) фирм Apple, Borland, IBM, Novell.
Механизм динамической компоновки объектов дает возможность пользователю помещать информацию, созданной одной прикладной программой, в другой формируемый документ. При этом пользователь может редактировать информацию в новом документе средствами того продукта, с помощью которого этот объект был создан (при редактировании автоматически запускается соответствующее приложение). Запущенное приложение и программа обработки документа-контейнера выводит на экран «согласованное» меню, часть пунктов которого принадлежит одной программе, а другая часть другой программе.
В этой технологии предусмотрена также возможность общего использования функциональных ресурсов программ: например, модуль построения графиков табличного процессора может быть использован в текстовом редакторе.
Недостатком данной технологии является ограничение на размер объекта размером одной страницы.
OpenDoc представляет собой объектно-ориентрованную систему, базирующуюся на открытых стандартах фирм-участников разработки. В качестве модели объекта используется распределенная модель системных объектов (DSOM-Distributed System Object Model), разработанная формой IBM для OS/2. Предполагается совместимость между OLE и OpenDoc.
Авторские системы представляют интегрированную среду с заданной интерфейсной оболочкой, которую пользователь может наполнить информационным содержанием своей предметной области. Такие авторские инструментальные системы разработчики создают по целевому назначению для специалистов в некоторой предметной области.
Экспертная система это программа, которая ведет себя подобно эксперту в некоторой узкой прикладной области. Экспертные системы призваны решать задачи с неопределенностью и неполными исходными данными, требующие для своего решения экспертных знаний.
Кроме того, эти системы должны уметь объяснять свое поведение и свое решение. Принципиальным отличием экспертных систем от других программ является их адаптивность, т.е. изменчивость в процессе самообучения.
Принято выделять в экспертных системах три основных модуля:
- модуль базы знаний;
- модуль логического вывода;
- интерфейс с пользователем.
Экспертные системы, являющиеся основой искусственного интеллекта, получили широкое распространение в науке (классификация животных и растений по видам, химический анализ), в медицине (постановка диагноза, анализ электрокардиограмм, определение методов лечения), в технике (поиск неисправностей в технических устройствах, слежение за полетом космических кораблей и спутников), в политологии и социологии, криминалистике, лингвистике и т.д.
Гипертекстовые системы. В последнее время широкую популярность получили программы гипертекстовой информации. Гипертекст это форма организации текстового материала не в линейной последовательности, а в форме указаний возможных переходов (ссылок), связей между отдельными его фрагментами. В обычном тексте используется обычный линейный принцип размещения информации и доступ к нему осуществляется последовательно. В гипертекстовых системах информация напоминает текст энциклопедии, и доступ к любому выделенному фрагменту текста осуществляется произвольно по ссылке. Организация информации в гипертекстовой форме используется при создании справочных пособий, словарей, контекстной помощи в прикладных программах.
Расширение концепции гипертекста на графическую и звуковую информацию приводит к понятию гипермедиа. Идеи гипермедиа получили распространение в сетевых технологиях, в частности в Интернет-технологиях. Технология WWW (Word Wide Web) позволила структурировать громадные мировые информационные ресурсы посредством гипертекстовых ссылок. Появились программные средства, позволяющие создавать подобные Web-страницы. Стали развиваться механизмы поиска нужной информации в лабиринте информационных потоков.
Мультимедиа это взаимодействие визуальных и аудиоэффектов под управлением интерактивного программного обеспечения. Появление и широкое распространение компакт-дисков (CD-ROM) сделало эффективным использование мультимедиа в рекламной и информационной службе, сетевых телекоммуникационных технологиях, обучении.
Помимо программных средств компьютер при этом должен быть оборудован дополнительными платами, позволяющими осуществлять ввод-вывод аналоговой информации, ее преобразование в цифровую форму.
Среди мультимедиа-программ можно выделить две небольшие группы. Первая включает пакеты для обучения и досуга. Поставляемые на CD-ROMах емкостью от 200 до 700 Мбайт каждый, они содержат аудиовизуальную информацию по определенной тематике. Разнообразие их огромно, и рынок этих программ постоянно расширяется при одновременном улучшении качества видеоматериалов. Так, созданы и продаются электронные энциклопедии по отраслям знаний; электронные учителя в области иностранных языков, бизнеса, политики; деловые и авантюрные игры.
Вторая группа включает программы для подготовки видеоматериалов для создания мультимедиа представлений, демонстрационных дисков и стендовых материалов.
Организаторы работ это пакеты программ, предназначенные для автоматизации процедур планирования использования различных ресурсов (времени, денег, материалов) как отдельного человека, так и всей фирмы или ее структурных подразделений. Целесообразно выделить две разновидности пакетов данного класса: управления проектами и организации деятельности отдельного человека.
Пакеты первого типа предназначены для сетевого планирования и управления пакетами. Достаточно простые и удобные в использовании, эти программные средства позволяют быстро спланировать проект любой величины и сложности, эффективно распределить людские, финансовые и материальные ресурсы, составить оптимальный график работ и проконтролировать его исполнение. К пакетам данного типа относятся: Time Line, MS Project, CA-Super Project.
Пакеты второго типа представляют собой своего рода электронных помощников делового человека. Такие пакеты, как Lotus Organizer, ACTI, выполняют функции электронных секретарей и предназначены для эффективного управления деловыми контактами.
Системы автоматизации рабочего места (АРМ). Системы автоматизации рабочего места это специальные программно-технические комплексы обеспечения рабочего места оператора, диспетчера, конструктора, технолога и др., оснащенное средствами вычислительной техники для автоматизации процессов переработки и отображения информации, необходимой для выполнения производственного задания.
Рисунок 5.6 Типовая структура АСНИ
Автоматизированные системы научных исследований (АСНИ) автоматизированная система научных исследований, каждая из которых «привязана» к определенной области науки, ориентируется на достаточно узкую предметную область, но проникает в нее достаточно глубоко. АСНИ представляют собой программно-аппаратные комплексы, обрабатывающие данные, поступающие от различного рода экспериментальных установок и измерительных приборов, и на основе их анализа облегчающие обнаружение новых эффектов закономерностей (рисунок 5.6).
Блок связи с измерительной аппаратурой преобразует к нужному виду информацию, поступающую от измерительной аппаратуры. В базе данных хранится информация, поступившая из блока связи с измерительной аппаратурой, а также заранее введенная с целью обеспечения работоспособности системы. Расчетный блок, выполняя программы из пакета прикладных программ, производит все математические расчеты, в которых может возникнуть потребность в ходе научных исследований. Расчеты могут выполняться по требованию самого исследователя, или блока имитационного моделирования. При этом на основе математических моделей воспроизводится процесс, происходящий во внешней среде.
Экспертная система моделирует рассуждения специалистов данной предметной области. С ее помощью исследователь может классифицировать наблюдаемые явления, диагностировать течение исследуемых процессов.
АСНИ получили широкое распространение в молекулярной химии, минералогии, биохимии, физике элементарных частиц и многих других науках.
К классу таких программ относится пакет MathCad физико-математический пакет с включенной в последнюю версию системой искусственного интеллекта SmartMath, которая позволяет выполнять математические вычисления не только в числовой, но и в аналитической (символьной) форме.
Системы автоматизированного проектирования (САПР). Другая разновидность пакетов программ, связанная с обработкой графических изображений. Они предназначены для автоматизации проектно-конструкторских работ в машиностроении, автомобилестроении, промышленном строительстве и т. п.
В настоящее время САПР обозначает аппаратно-программный комплекс, поддерживающий процесс проектирования с использованием специальных средств машинной графики, поддерживаемых пакетами программного обеспечения, для решения задач, связанных с проектной деятельностью. В совокупности развитая САПР представляет собой специализированную информационную систему.
Полная система САПР состоит из компонентов аппаратного и программного обеспечения. Общими компонентами аппаратного обеспечения системы САПР являются ЦП (центральный процессор), несколько рабочих станций, разделяемая между станциями периферия.
Состав типичной системы САПР: дисплей, процессор, клавиатура, устройство управления курсором, электронный командный планшет, принтер [24].
Рисунок 5.7 Типовая схема САПР
База данных, блок имитационного моделирования, расчетный блок и экспертная система выполняют функции, аналогичные функциям соответствующих блоков АСНИ. Вместо блока связи с измерительной аппаратурой САПР имеет блок формирования знаний. Проектировщик вводит в блок техническое задание на проектирование, в котором указаны цели, которые необходимо достичь при проектировании, и все ограничения, которые нельзя нарушить. Блок подготовки технической документации облегчает создание технической документации для последующего изготовления изделия.
Пакеты САПР обладают набором инструментальных средств, обеспечивающих реализацию следующих основных функций:
- коллективная работа в сети пользователей с пакетом;
- экспорт-импорт файлов всевозможных форматов;
- масштабирование объектов;
- управление объектами в части их группировки, передвижения с растяжкой, поворота, разрезания, изменение размеров, работа со слоями;
- перерисовка (фоновая, ручная, прерываемая);
- управление файлами в части библиотек и каталогов чертежей;
- использование разнообразных чертежных инструментов, позволяющих рисовать кривые, эллипсы, произвольной формы кривые, многоугольники и т.п., использование библиотеки символов, выполнение надписей и т. д.;
- работа с цветом;
- автоматизация отдельных процедур с использованием встроенного макроязыка.
Ярким представителем САПР является программа AutoCad фирмы Autodesk.
Автоматизированные системы управления (АСУ). АСУ это комплекс технических и программных средств, совместно с организационными структурами (отдельными людьми или коллективом), обеспечивающий управление объектом (комплексом) в производственной, научной или общественной среде.
Цель разработки и внедрения АСУ улучшение качества управления системами различных видов, которое достигается:
- своевременным предоставлением с помощью АСУ полной и достоверной информации управленческому персоналу для принятия решений;
- применение математических методов и моделей для принятия оптимальных решений.
Кроме того, внедрение АСУ обычно приводит к совершенствованию организационных структур и методов управления, более гибкой регламентации документооборота и процедур управления, упорядочению использования и создания нормативов, совершенствованию организации производства. АСУ различают по выполняемым функциям и возможностям информационного сервиса.
АСУ подразделяют по функциям:
- административно-организационные (например, системы управления предприятием - АСУП, отраслевые системы управления ОАСУ);
- технологические (автоматизированные системы управления технологическими процессами АСУТП, в свою очередь подразделяющиеся на гибкие производственные системы ГПС, системы контроля качества продукции АСК, системы управления станками и линиями с числовым программным управлением);
- интегрированные, объединяющие функции перечисленных АСУ в различных комбинациях.
По возможностям информационного сервиса различают информационные АСУ, информационно-советующие, управляющие, самонастраивающиеся и самообучающиеся.
С появлением персональных компьютеров (ПК) и локальных вычислительных сетей основой программно-аппаратного обеспечения АСУ стали распределенные информационные системы в сети ПК с архитектурой клиент-сервер. Такие системы позволяют вести учет событий и документальных форм по месту их возникновения, полностью автоматизировать передачу информации лицам, ответственным за принятие решение, создавая, таким образом, предпосылки для перехода к безбумажным комплексным технологиям управления, охватывающим все участки и подразделения предприятий и учреждений, весь производственный цикл. Управление производством сложный процесс, требующий согласованной деятельности конструкторов, технологов, производственников, экономистов, специалистов по снабжению и сбыту.
В задачи управления входят:
- разработка новых изделий;
- определение технологий изготовления изделий, проектирование оснастки;
- расчет пропускной способности оборудования, потребностей во всех видах ресурсов и производственной программы (плана);
- учет процесса производства, контроль за расходом комплектующих, сырья, ресурсов;
- расчет издержек производства и основных технико-экономических показателей (прибыли, рентабельности, себестоимости др.).
Многие задачи, с которыми приходится сталкиваться АСУП, оказываются не поддающимися четкой формулировке, их решение основывается на неформальных факторах (например, социально-психологический климат, стиль руководства).
Цель внедрения любой АСУ:
- повышение эффективности принимаемых решений, особенно в части наилучшего использования всех видов ресурсов и сокращения потерь, достигаемых за счет обеспечения процесса принятия решений современной, полной и точной информацией, а также применения математических методов оптимизации;
- повышение производительности труда инженерно-технического и управленческого персонала (и его сокращения) за счет выполнения основного объема учетных и расчетных задач на ЭВМ.
Независимо от профиля АСУ обладают однотипной функциональной структурой (рисунок 5.7):
Рисунок 5.7 Функциональная структура АСУ
Блок 1 источники информации. В их роли могут выступать учетчики на различных участках производства, снабжения и сбыта, датчики на рабочих местах. Среди источников информации могут быть и внешние, такие как заказы на поставку продукции, нормативные акты, информации о ценах и другая документация.
Блок 2 выполняет дополнительную обработку данных (проверку и уточнение), а затем передает ее в базу данных (блок 3) или непосредственно для последующей обработки и анализа (блок 4).
Блок 3 база или банк данных. Данные являются результатом сбора информации, измерений характеристик объектов и процессов управления и в таких системах представляются в соответствии с определенными стандартами, образуя базу данных.
Блок 4 обработка и анализ информации центральный блок АСУ. Он решает следующие задачи:
- управления базой данных, в том числе обеспечения ее обновления и целостности, защиты от несанкционированного доступа;
- реагирования в непредвиденных и аварийных ситуаций, требующих быстрого решения;
- финансовых и учетно-бухгалтерских расчетов типа учета состояния фондов, финансовых и налоговых операций, расчета прибыли и рентабельности;
- составления календарных и оперативных планов, обеспечения заказов на материалы и комплектующие, контроля за выполнением договоров, управления сбытом готовой продукции;
- оценки и прогнозирования рынка, анализа работы трудового коллектива;
- проектно-технологических расчетов.
Блок 5 система формирования выходной информации обеспечивает подготовку (обычно в печатном виде) различного рода сводок, справок, форм, технологических карт, чертежей и проектной документации, необходимых на производственных участках.
Автоматизированная система управления может состоять из следующих подсистем управления:
- технической подготовки производства (конструкторской и технологической подготовки);
- технико-экономического планирования;
- бухгалтерского учета;
- управления материально-техническим снабжением;
- оперативного управления основными и вспомогательными производствами;
- управление сбытом;
- управление кадрами;
- управление качеством;
- управление финансами;
- нормативного хозяйства и др.
Педагогические комплексы. Выделяют четыре типа обучающих программ:
- тренировочные и контролирующие;
- наставнические;
- имитационные и моделирующие;
- развивающие игры.
Тренировочные программы предназначены для закрепления умений и навыков. Предполагается, что теоретический материал уже изучен. Эти программы в случайной последовательности предлагают учащемуся вопросы и задачи и подсчитывают количество правильно и неправильно решенных задач.
Наставнические программы предлагают ученикам теоретический материал для изучения. Задачи и вопросы служат в этих программах для организации человеко-машинного диалога, для управления ходом обучения. Так если ответы, даваемые учеником, неверны, программа может вернуться назад для повторного изучения теоретического материала.
Моделирующие программы основаны на графически-иллюстрированных возможностях компьютера, с одной стороны, и вычислительных, с другой, и позволяют осуществлять компьютерный эксперимент. Такие программы предоставляют ученику возможность наблюдать на экране дисплея некоторый процесс, влияя на его ход подачей команды с клавиатуры, меняющей значения параметров.
Развивающие игры предоставляют в распоряжение ученика некоторую воображаемую среду, существующий только в компьютере мир, набор каких-то возможностей и средств их реализации. Использование предоставляемых программой средств для реализации возможностей, связанных с изучением мира игры и деятельностью в этом мире, приводит к развитию обучаемого, формированию у него познавательных навыков, самостоятельному открытию закономерностей, отношений объектов действительности, имеющих всеобщее значение.
5.10. Базы данных
5.10.1. Основные понятия баз данных (БД)
Предметная область это часть реального мира, подлежащего изучению для организации управления и, в конечном счете, автоматизации. Например, в качестве предметной области можно выбрать ВУЗ, бухгалтерию какого-либо предприятия, отдел кадров, банк, магазин и т.д.
База данных (БД) это поименованная совокупность структурированных данных, хранимых в памяти вычислительной системы, отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области. Например, БД «Деканат» (рисунок 5.8).
Рисунок 5.8- пример БД
|
Важным свойством БД является целостность. Целостность означает, что в БД содержится полная, непротиворечивая и адекватно отражающая предметную область информация. Поддержание БД включает проверку целостности данных и ее восстановление в случае обнаружения противоречий.
Система управления базами данных (СУБД) это комплекс программных средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации. Наиболее популярной в настоящее время является СУБД Access.
К функциям СУБД относят:
- управление данными непосредственно в БД - функция, обеспечивающая хранение данных, непосредственно входящих в БД, и служебной информации, обеспечивающей работу СУБД;
- управление данными в памяти компьютера - функция, позволяющая ускорить работу с данными в оперативной памяти компьютера. СУБД работает с БД большого размера, но пользователь СУБД использует только часть БД, нужную для его конкретной задачи, а при необходимости получает новую «порцию» данных;
- управление транзакциями - функция, позволяющая поддерживать целостность БД и выполнять операции как над единым целым. Транзакция- группа последовательных, логически связанных операций над данными в БД. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никаких изменений в БД.
- поддержка языков БД. Для работы с БД используются специальные языки. Наиболее распространенным языком СУБД является язык запросов SQL.
5.2.2. Основные этапы проектирования БД. Определение модели данных, их виды и краткая характеристика
Основные этапы проектирования БД:
1) Инфологическое проектирование: анализируется выбранная предметная область, определяются ее основные объекты и связи между ними. В результате создается инфологическая модель. Основными элементами инфологических моделей являются сущности, связи между ними и их атрибуты (свойства, которые их характеризуют).
Сущность объект любой природы, данные о котором хранятся в БД. Примерами атрибутов для сущности Студент являются ФИО, Специальность, Группа; для сущности Предмет название предмета, преподаватель, кафедра (см. рисунок 5.8)
2) Логическое проектирование и выбор инструментальных средств СУБД, которая поддерживает ту или иную модель данных. Логическая модель данных определяет правила образования структуры данных и возможные операции над ними. Целью проектирования БД является решение проблемы выбора оптимальной логической структуры для заданного набора данных. Например, логическое проектирование включает организацию информации на сайте, построение его структуры и навигацию по разделам.
Модель данных - множество структур данных и операций их обработки. СУБД основывается на использовании иерархической, сетевой или реляционной модели, и на их комбинации.
Иерархическая модель БД - совокупность элементов, расположенных в порядке их подчинения от общего к частному и образующих перевернутое дерево (направленный граф). Данная модель характеризуется параметрами: уровни, узлы, связи. Принцип работы модели: несколько узлов более низкого уровня соединяются при помощи связи с одним узлом более высокого уровня. На схеме иерархического дерева узлы (Ректорат, названия факультетов) представляются вершинами графа (Рисунок 5.9).
Пример 1.
Рисунок 5.9- Пример иерархической модели
|
Пример 2: Иерархической БД является Каталог папок Windows. Верхний уровень занимает папка Рабочий стол. На втором уровне находятся папки Мой компьютер, Мои документы, Сетевое окружение и Корзина. На третьем уровне находятся папки дисков (Диск А:, С:, D: и др.) и системные папки (Принтер, Панель управления и др.), которые находятся внутри папки Мой компьютер и т.д.
В сетевой модели принята свободная связь между элементами разных уровней. Сетевые модели, в отличие от иерархических, реализуют связи всех со всеми или многими. Сетевые модели являются улучшенной иерархической моделью (Рисунок 5.10).
Рисунок 5.10 Пример сетевой модели
Пример. Сетевой базой является Всемирная паутина WWW глобальной компьютерной сети Internet. Гиперссылки связывают между собой миллионы документов в единую сетевую БД.
БД с реляционной моделью (от англ. Отношение) содержит объекты, имеющие одинаковый набор свойств, что позволяет представлять их в виде двумерной таблицы. Таким образом, отношения представлены в виде таблиц. Реляционная БД может состоять из одной или нескольких таблиц, которые связываются между собой. Например, на рисунке 5.8 имеются два отношения СТУДЕНТ (ФИО, Группа, Специальность) и ПРЕДМЕТ (Название_предмета, Преподаватель, Кафедра), которые связаны отношением ОЦЕНКИ (ФИО, Оценка, Название предмета).
Эта модель наиболее проста и имеет развитый математический аппарат, поэтому является стандартной моделью представления данных в СУБД.
Основными элементами реляционной модели БД являются:
поля (домены) столбцы таблицы (атрибуты, представляющие свойства);
записи( кортежи) строки таблицы;
первичный (простой) ключ одно из полей БД, которое однозначно определяют экземпляр объекта (сущности). Например, на рисунке 1, для сущности СТУДЕНТ, простой ключ ФИО; для сущности ПРЕДМЕТЫ Название предмета.
Ключ, состоящий из нескольких полей, называется составным (сложным). Внешний ключ устанавливает связи между таблицами БД.
В отношении ОЦЕНКИ поля ФИО и Название_предмета образуют составной ключ. Эти атрибуты представляются внешними ключами в отношениях СТУДЕНТ и ПРЕДМЕТЫ.
Отношения между таблицами устанавливают связь между данными находящимися в разных таблицах базы данных.
Существует три типа связей:
- связь «один-к-одному»
- связь «один-ко-многим»
- связь «многие-ко-многим».
Связь «один-к-одному» представляет собой простейший вид связи данных, когда первичный ключ таблицы является в то же время внешним ключом, ссылающимся на первичный ключ другой таблицы. Если между двумя таблицами существует отношение один-к-одному, то это означает, что каждая запись в одной таблице А соответствует только одной записи в другой таблице В.
Рисунок 5.11 Связь «один-к-одному»
Связь «один-ко-многим» в большинстве случаев отражает реальную взаимосвязь сущностей в предметной области. Если между двумя таблицами существует отношение один-ко-многим, то это означает, что каждой записи в одной таблице А соответствует несколько записей в другой таблице В.
Связь «один-ко-многим» реализуется уже описанной парой «внешний ключ - первичный ключ», т.е. когда определен внешний ключ, ссылающийся на первичный ключ другой таблицы.
Рисунок 5.12 Связь «один ко многим»
При отношении между двумя таблицами много-ко-многим каждая запись в первой таблице связана с несколькими записями во второй таблице и наоборот, каждая запись во второй таблице связана с несколькими записями в первой таблице. Этот тип связи возможен только с помощью третьей (связующей) таблицы, первичный ключ которой состоит из двух полей, которые являются внешними ключами таблиц A и B. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей.
5.2.3. Системы управления базой данных: определение. Основные понятия реляционной СУБД: структура таблицы и типы данных; определения формы, отчета, запроса. Виды запросов.
Система управления базами данных (СУБД) это комплекс программных и языковых средств, необходимых для создания БД, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Основным компонентом реляционной БД является таблица, в которой хранятся данные. Таблица состоит из столбцов, называемых полями, и строк, называемых записями. Каждая запись таблицы содержит всю необходимую информацию об отдельном элементе базы данных. При разработке структуры таблицы надо определить количество полей и присвоить им уникальные имена, указать типы полей и их размеры. Типы полей соответствуют типам данных: текстовый; числовой; дата/время; денежный; поле МЕМО (текстовое поле произвольной длины); счетчик (имеет уникальное значение, последовательно возрастающее на 1 при добавлении каждой новой записи); логический; поле объекта OLE (хранит изображения); гиперссылка.
Основными объектами СУБД Access являются таблицы, запросы, формы, отчеты, макросы, модули.
Формы являются шаблонами, управляющими отображением информации при вводе и корректировке данных. Форма позволяет отображать одновременно все поля одной или нескольких записей. Можно создать форму-меню для вызова других форм, таблиц, запросов или отчетов. В форме каждое поле можно разместить в точно заданном месте, выбрать для него цвет, заливку, рисунок и добавить элементы управления текстом.
Запросы являются средством обработки данных, хранимых в таблицах. Можно создавать следующие типы запросов:
- запрос на выборку получение новой таблицы, в которой отображаются записи из исходных таблиц, удовлетворяющие условиям запроса;
- запрос с параметрами отбор записей в исходной таблице по введенным параметрам;
- перекрестный запрос отображает результаты в виде, похожем на лист Excel. Перекрестные запросы суммируют значения и затем группируют их по двум наборам фактических данных: один набор вдоль заголовок записей и второй набор вдоль названий столбцов.
- запрос на изменение предназначен для изменения или перемещения данных. Например, запрос на добавление записей, запрос на удаление записей, запрос на обновление.
Отчет - это средство для организации просмотра и распечатки итоговой информации в удобном для пользователя виде. В отчете можно получить результаты сложных расчетов, статистических сравнений, а также поместить в него рисунки и диаграммы.