Инструментальные системы программирования
Комплекс средств, включающих в себя входной язык программирования, транслятор, машинный язык, библиотеки стандартных программ, средства отладки оттранслированных программ и компоновки их в единое целое, называется системой программирования. Входной язык программирования называется языком высокого уровня по отношению к машинному языку, называемому языком низкого уровня. Особое место в системе программирования занимают ассемблеры, представляющие собой комплекс, состоящий из входного языка программирования ассемблера и ассемблер-компилятора. Ассемблер представляет собой мнемоническую (условную) запись машинных команд и позволяет получить высокоэффективные программы на машинном языке. Однако его использование требует высокой квалификации программиста и больших затрат времени на составление и отладку программ. Наиболее распространенными языками программирования являются: Pascal, Basic, C++, Fortran и др. Тенденции развития - появление языков четвертого поколения типа Visual Basic. Транслятором языка программирования называется программа, осуществляющая перевод текста программы с языка программирования в (как правило) машинный код. В системе программирования транслятор переводит программу, написанную на входном языке программирования, на язык машинных команд конкретной ЭВМ. В зависимости от способа перевода с входного языка (языка программирования) трансляторы подразделяются на компиляторы и интерпретаторы. В компиляции процессы трансляции и выполнения программы разделены во времени. Сначала компилируемая программа преобразуется в набор объектных модулей на машинном языке, которые затем собираются (компонуются) в единую машинную программу, готовую к выполнению и сохраняемую в виде файла на магнитном диске. Эта программа может быть выполнена многократно без повторной трансляции. Интерпретатор осуществляет пошаговую трансляцию и немедленное выполнение операторов исходной программы: каждый оператор входного языка программирования транслируется в одну или несколько команд машинного языка, которые тут же выполняются без сохранения на диске. Таким образом, при интерпретации программа на машинном языке не сохраняется и поэтому при каждом запуске исходной программы на выполнение ее нужно (пошагово) транслировать заново. Главным достоинством интерпретатора по сравнению с компилятором является простота. Библиотека стандартных программ организованная на машинном носителе совокупность компьютерных программ, доступ к которым осуществляется по их именам (или индексам). Библиотека стандартных программ ускоряет и облегчает процесс создания пользовательской программы, позволяя применять в качестве составных частей уже готовые функции (подпрограммы), для чего достаточно указать имя соответствующей функции. Благодаря библиотеке стандартных программ процесс программирования становится более технологичным, а сама пользовательская программа легче для восприятия. Существенной частью программного обеспечения библиотеки стандартных программ является набор сервисных программ (утилит), обеспечивающих создание библиотеки, включение и исключение функций (подпрограмм), вывод оглавления и др. Драйверы C компьютером могут сопрягаться разнообразные устройства: видеокарта, звуковая карта, принтер, сканер, манипуляторы, дисководы, цифровые фотоаппараты, сотовые телефоны. Каждое из них имеет свой набор команд – свой "язык". Чтобы конкретная операционная система могла управлять конкретным устройством, прибегают к помощи программ – "переводчиков", знающих с одной стороны язык команд конкретного устройства, а с другой – язык конкретной операционной системы, под управлением которой должно работать это устройство. Такая программа называется драйвером (driver) и поставляется вместе с устройством его производителем. Производители аппаратного ПО, как правило, также размещают драверы, созднных ими устройств, на своих web-сайтах. Архиваторы Архиватор - это программа, которая сжимает файл или группу файлов в один архивный файл с целью уменьшения их размера. При этом не теряется ни бита информации, и любой файл можно из архива извлечь. Что дает архивация? Во-первых, экономия места на диске, во-вторых, на носителе можно перенести большой объем информации, в-третьих, есть возможность пересылать большие файлы по электронной почте. Наиболее популярные архиваторы ZIP - еще со времен ОС DOS один из самых популярных и распространенных архивных форматов, основанный на алгоритмах сжатия предложенных в 80-х годах прошлого столетия израильскими математиками Лемпелем и Зивом. Он отличается приемлемой степенью сжатия информации и достаточно высоким быстродействием. Сегодня он является стандартом де-факто в Интернете, и его поддерживают практически все программы-архиваторы. RAR - разработан российским программистом Евгением Рошалем и позволяет получить размер сжатого файла гораздо меньший, чем ZIP, ценой этому является более продолжительный процесс обработки архива. В целом формат RAR значительно лучше других оптимизирован для решения сложных задач с использованием большого количества файлов и гигабайтных дисковых пространств. CAB - применяется в продуктах Microsoft как стандартный для упаковки файлов, причем его алгоритм, нигде не опубликованный, представляет собой достаточно совершенный продукт, имеющий высокий коэффициент сжатия. GZIP, TAR - получили наибольшее распространение в системах на базе Unix и ее самой популярной разновидности Linux. ACE - достаточно новый формат с высокой степенью сжатия, завоевывающий все большую популярность. Архив, созданный тем или иным архиватором, имеет расширение, соответствующее названию архиватора. Например, расширение файла archive.rar говорит о том, что он был создан с помощью архиватора RAR. Архиваторы различаются возможностями и качеством сжатия, которое зависит также и от типа сжимаемых данных. Некоторые архиваторы лучше работают с одними типами данных, но плохо показывают себя с другими. Создать универсальный архиватор невозможно. К важным функциям архиваторов относят создание многотомных архивов и самораспаковывающихся архивов. Многотомные архивы - это архивы, разбитые на несколько отдельных файлов. Их применяют, когда необходимо перенести большой объём информации на дискетах: на каждую дискету помещается отдельный том архива. При извлечении данных из многотомного архива архиватор будет последовательно обрабатывать том за томом, и запрашивать смену дискеты. Самораспаковывающиеся архивы используются в тех случаях, когда необходимо перенести информацию на другой компьютер, но неизвестно, установлен ли там соответствующий архиватор. Самораспаковывающийся архив представляет собой исполняемый (.EXE) файл, который включает в себя заархивированные данные и программу для их распаковки. Как иллюстрацию сжатия информации рассмотрим пример одного из способов сжатия. Допустим, есть такая строчка символов: "АААААААБББББВВВВВВВВВВГГГГГГ". Длина такой строчки - 28 символов. Но в ней есть повторяющиеся одинаковые символы, поэтому можно просто записать количество повторений и сам повторяющийся символ, в результате получится следующее: "7А5Б10В6Г". Строчка стала занимать всего 9 символов, т.е. сократилась более чем в три раза! Разумеется, такой метод сжатия будет работать не для всех данных, например, возьмём такую строчку: "АБВБГАБГВАВГБАГ". Её длина - 15 символов. Если мы применим к ней тот же метод, то её длина увеличится вдвое: "1А1Б1В1Б1Г1А1Б1Г1В1А1В1Г1Б1А1Г". Отсюда следует важный вывод: один и тот же алгоритм сжатия для одних исходных данных сокращает их размер, а для других может и увеличить. Алгоритмов сжатия данных существует великое множество. Некоторые алгоритмы подходят для одних типов данных, другие - для других. Хорошо сжимаются простые растровые изображения, не содержащие большого количества деталей (.BMP, .PSD и др.). Коэффициент сжатия во многом зависит от используемого алгоритма и сложности изображения. Например, чёрно-белое изображение чертёжного качества может быть сжато даже в сотню раз, цветные рисунки - в пять-десять раз, а цветные изображения высокого фотографического качества сжимаются менее чем в два раза. Хорошо сжимаются текстовые файлы (.TXT, .DOC, .PAS и др.). Если файл содержит текст, написанный на естественном языке, например, повесть или рассказ, то коэффициент сжатия будет равен двум-трём, а если в файле записан текст программы, то коэффициент сжатия может достигать пяти и выше. Коэффициент сжатия исполняемых файлов(.EXE, и др.) также сильно колеблется, однако, в среднем он равен примерно трём. В отношении звука (.WAV, .AU), использование универсальных методов сжатия редко даёт хорошие результаты - звуковой файл сокращается всего на 20-40%. То же самое касается и высококачественных изображений, имеющих много деталей. Поэтому для этих типов изображений используются специальные методы сжатия, особо хорошие результаты дают так называемые алгоритмы сжатия с потерями. Одна из идей этих алгоритмов состоит в том, что человеческий глаз и ухо не очень восприимчивы к некоторым мелким деталям изображения или звука, поэтому лишнюю информацию можно просто отбросить. Разумеется, кроме отбрасывания лишней информации, используются и другие алгоритмы, в результате чего достигается несравнимый коэффициент сжатия при минимальных потерях качества (с точки зрения восприятия человека). Такой подход используется в файлах формата JPEG, предназначенного для хранения статичных изображений и MPEG, предназначенного для хранения видео- и аудиоинформации. Сегодня особенно популярны такие форматы, как MPEG-3 (или MP3), предназначенный для хранения аудиоинформации и позволяющий достигнуть десятикратного сжатия почти без потери качества, и MPEG-4, используемый для хранения видеофильмов. Плохо архивируются, либо вообще увеличиваются в размере файлы, данные в которых уже сжаты, в том числе архивы (.RAR, .ZIP, .ARJ и др.), графические файлы тех форматов, которые имеют собственное сжатие (.GIF, .JPG, .PNG и др.), аудиофайлы (.MP3), видеофайлы (.MPG, .AVI и др.), самораспаковывающиеся архивы (.EXE). ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|