Автор работы: Пользователь скрыл имя, 16 Октября 2014 в 18:37, реферат
Программное обеспемчение (произношение обеспечемние не рекомендуется) -- наряду с аппаратными средствами, важнейшая составляющая информационных технологий, включающая компьютерные программы и данные, предназначенные для решения определённого круга задач и хранящиеся на машинных носителях. Программное обеспечение представляет собой алгоритм, реализованный в виде последовательности инструкций для процессора. В компьютерном жаргоне часто используется слово «софт» от английского software. По назначению программное обеспечение разделяется на системное, прикладное и инструментальное.
Программное обеспемчение (произношение обеспечемние не рекомендуется) -- наряду с аппаратными средствами, важнейшая составляющая информационных технологий, включающая компьютерные программы и данные, предназначенные для решения определённого круга задач и хранящиеся на машинных носителях. Программное обеспечение представляет собой алгоритм, реализованный в виде последовательности инструкций для процессора. В компьютерном жаргоне часто используется слово «софт» от английского software. По назначению программное обеспечение разделяется на системное, прикладное и инструментальное.
Классификация программного обеспечения.
Инструментальное ПО предназначено для использования в ходе проектирования, разработки и сопровождения программ. Это: интегрированные среды разработки, SDK, компиляторы, интерпретаторы, линковщики, ассемблеры, отладчики и т.п. Прикладное ПО (приложения) -- программы, предназначенные для выполнения определенных пользовательских задач и рассчитанные на непосредственное взаимодействие с пользователем. К прикладному ПО относятся: банковские и бухгалтерские программы, игры, текстовые и графические редакторы, Интернет-клиенты и т. п.
Системное ПО используется для обеспечения работы компьютера самого по себе и выполнения прикладных программ. Конкретные виды системного программного обеспечения включают загрузчики, операционные системы, драйверы устройств, утилиты (сервисные программы). Наиболее общая часть системного программного обеспечения - операционная система. Операционная система, ОС (OS - operating system) -- базовый комплекс компьютерных программ, обеспечивающий: обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит. При включении компьютера операционная система загружается в память раньше остальных программ и затем служит платформой и средой для их работы. С 1990-х наиболее распространёнными операционными системами являются ОС семейства Microsoft Windows и системы класса UNIX (особенно Linux).
Основные функции ОС:
- Загрузка приложений в оперативную память и их выполнение;
- Стандартизованный доступ к периферийным устройствам (устройствам ввода-вывода);
- Управление оперативной памятью;
- Управление энергонезависимой памятью (жесткий диск, компакт-диски и т.д.), как правило, с помощью файловой системы;
- Пользовательский интерфейс.
Дополнительные функции ОС:
- Параллельное или
- Взаимодействие между процессами;
- Межмашинное взаимодействие (компьютерная сеть).
Наиболее древняя из успешных операционных систем - UNIX (1969 г.). Она до сих пор остается одной из основных систем на компьютерах, которые мощнее персональных и от нее порождено множество UNIX-подобных ОС. В 1981 г. фирма IBM выпустила персональный компьютер (IBM PC), архитектура которого стала стандартом в мире. Все персональные компьютеры принято разделять на IBM-совместимые (абсолютное большинство) и IBM-несовместимые, например компьютер Macintosh, производимый фирмой Apple. Компьютеры Macintosh работают под управлением операционной системы MacOS.
В 1982 г. - фирма Microsoft выпустила ставшую на долгие годы самой популярной для IBM-совместимых ПК операционную систему MS-DOS (Disc Operating System). В 1985 г.- все та же Microsoft выпустила первую версию Windows, которая развилась и на сегодня является самой распространенной операционной системой с самыми популярными прикладными программами. А 1991 г. - год рождения операционной системы Linux - основного конкурента Windows, получающего все более широкое распространение. Кроме того, можно перечислить много названий операционных систем различных производителей, например: Netware (Novell), OS/2 (IBM), SunOS (Sun Microsystems), Java Desktop System (Sun Microsystems), FreeBSD (одно из open source ответвлений UNIX) и т.п.
Говоря о создании и распространении программного обеспечения, следует отметить две основных стратегии, применяемых в этой области.
Собственническое или проприетамрное программное обеспечение (proprietary software) -- это программное обеспечение, которое имеет ограничения на его использование и копирование, обычно требуемые собственником. Предотвращение использования, копирования или модификации могут быть достигнуты правовыми или техническими средствами. Технические средства включают в себя выпуск только машинно-читаемых двоичных файлов, и сокрытия читаемого человеком исходного кода. Правовые средства могут включать в себя лицензирование ПО, копирайт (copyright, ©) и патенты.
Но, по мнению многих, программирование - это такая же наука, как и химия, физика, математика. Все достижения в этих областях обнародованы. Не нужно открывать еще раз теорему Пифагора и изобретать заново колесо. Если человек живет в обществе, то все его открытия должны стать достоянием этого общества, ведь именно так происходит прогресс. То же можно сказать и о программном обеспечении.
В семидесятых годах 20 века программное обеспечение зачастую разрабатывалось свободными объединениями программистов и бесплатно передавалось другим нуждающимся в нем пользователям. Нередко этим занимались даже крупные фирмы. К 1983 году положение изменилось - наступила эра персональных компьютеров, коммерческие программы и операционные системы (в частности, DOS от Microsoft) начали свое победное шествие по миру. Чуть позже идея коммерциализации проникла и в мир «больших» машин и «серьезного» программирования.
Ричард Столлмен, один из основателей ОС Unix в1983 году, основал проект GNU, целью которого было вернуть прежние взаимоотношения производителей и потребителей программного обеспечения. GNU (рекурсивный акроним от англ. GNU is Not Unix -- «GNU -- это не Unix») -- проект по созданию свободной UNIX-подобной операционной системы. В рамках проекта GNU в 1988 г Столлмен совместно с юристами разработал лицензию GNU General Public License (Открытое лицензионное соглашение GNU) для программного обеспечения. Её также сокращённо называют GNU GPL или даже просто GPL, если из контекста понятно, что речь идёт именно о данной лицензии.
В манифесте GNU отличию свободных программ от бесплатных уделено очень много места - по-русски же это можно сказать гораздо короче, поскольку эти понятия не обозначаются, как в английском, одним словом free. Получив в пользование или купив свободную программу, вы легально, не нарушая ничьих авторских прав, можете:
- сколько угодно копировать,
как угодно широко ее
- изменять или совершенствовать
ее исходный код (программа, распространяемая
по публичной лицензии GNU, всегда
поставляется вместе с
- и, наконец, свободно распоряжаться измененной версией - хоть раздавать ее даром, хоть запрашивать за нее миллиард.
Только на одну вещь пользователь такого программного обеспечения не имеет права ни в коем случае. Он не может при дальнейшем распространении скрыть исходный код программы, объявив себя его владельцем, и остановить, таким образом, ее, программы, свободное совершенствование и развитие. Специально для таких программ проект GNU ввел в обиход понятие copyleft (в отличие от copyright), когда создатель продукта сохраняет на него практически все авторские и имущественные права при любых обстоятельствах - даже если и распространяет его совершенно бесплатно.
Итак, свобода программного обеспечения состоит из:
- свободы читать (изучать) код;
- свободы писать (модифицировать) код;
- свободы распространять (публиковать, тиражировать) код.
Программное обеспечение с открытым исходным кодом (Open source) -- способ разработки ПО, при котором создаваемый исходный код программ открыт, то есть, общедоступен для просмотра и изменения. Это позволяет всем желающим использовать уже созданный код для своих нужд и, возможно, помочь в разработке открытой программы.
«Открытая» лицензия не требует, чтобы ПО всегда предоставлялось бесплатно. Но многие из наиболее успешных проектов «открытого» ПО, тем не менее, бесплатны.
Подавляющее большинство открытых программ является одновременно свободными (GNU GPL) и наоборот, ибо определения открытого и свободного ПО близки, а большинство лицензий соответствуют обоим.
Отличие между движениями открытого ПО и свободного ПО заключается в основном в приоритетах. Сторонники открытого ПО делают упор на эффективность открытых исходных кодов программ как метода разработки. Сторонники свободного ПО исходят из идеологических соображений, и считают, что именно права на распространение, модификацию и изучение программ являются главным достоинством свободного ПО.
Вся информация в компьютере хранится в файлах, с которыми и работает операционная система. Файл (file) -- это поименованная последовательность байтов, место постоянного хранения различных видов информации. Файлы организованы в каталоги, также называемые директориями (directory) или папками (folder). Каталог - это файл, который хранит сведения о других файлах: имя, размер, дату создания, адрес файла на диске. Любой каталог может содержать произвольное число подкаталогов, в каждом из которых могут храниться файлы и другие каталоги.
На каждом диске существует главный или корневой каталог, в котором располагаются все остальные каталоги, называемые подкаталогами и некоторые файлы. Таким образом, создается иерархическая структура. Каталог, с которым в настоящий момент работает пользователь, называется текущим. Файлы и каталоги являются самыми важными объектами файловой системы. Файловая система -- регламент, определяющий способ организации, хранения и именования данных на носителях. Она определяет формат физического хранения файлов. Конкретная файловая система определяет размер имени файла, максимально возможный размер файла, набор атрибутов файла.
Способ, которым данные организованы в байты, называется форматом файла. Для того чтобы прочесть файл, например, электронной таблицы, необходимо знать, каким образом байты представляют числа (формулы, текст) в каждой ячейке; чтобы прочесть файл текстового редактора, надо знать, какие байты представляют символы, а какие шрифты или поля, а также другую информацию. Все файлы условно можно разделить на две части - текстовые и двоичные. Текстовые файлы - наиболее распространенный тип данных в компьютерном мире. Для хранения каждого символа чаще всего отводится один байт, а кодирование текстовых файлов выполняют с помощью специальных кодировочных таблиц. Но чисто текстовые файлы встречаются все реже. Люди хотят, чтобы документы содержали рисунки и диаграммы и использовали различные шрифты. В результате появляются форматы, представляющие собой различные комбинации текстовых, графических и других форм данных.
Двоичные файлы, в отличие от текстовых, не так просто просмотреть и в них, обычно, нет знакомых нам слов - лишь множество непонятных символов. Эти файлы не предназначены непосредственно для чтения человеком. Примерами двоичных файлов являются исполняемые программы и файлы с графическими изображениями. Каждый файл на диске имеет обозначение (полное имя), которое состоит из 2 частей: имени и расширения, разделенных точкой. Расширение имени файла -- необязательная последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которого пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле. В ранних операционных системах длина расширения была ограничена тремя символами, в современных операционных системах это ограничение отсутствует. Операционная система или менеджер файлов могут устанавливать соответствия между расширениями файлов и приложениями. Когда пользователь открывает файл с зарегистрированным расширением, автоматически запускается соответствующая этому расширению программа. Некоторые расширения показывают, что файл сам является программой. Зачастую расширение файла отображается для пользователя пиктограммой.
Архиваторы - это программы, позволяющие создавать, за счет специальных методов сжатия, копии файлов меньшего размера и объединять копии нескольких файлов в один архивный файл, а также распаковывать архивы (извлекать файлы из архива). Существуют различные алгоритмы архивации данных без потери информации, т.е. при разархивации данные будут восстановлены в исходном виде. Самый простой алгоритм сжатия данных основан на замене повторяющихся битов (в тексте может иметься последовательность одинаковых символов, в графическом файле - закрашенная одним цветом область и т.д.). Например, в тексте подряд идут 10 пробелов, которые кодируются 10-тью байтами. При архивации они заменяются 3-мя байтами (первый байт - кодирует заменяемый символ; второй байт - специальный байт "флажка" архивации, который указывает на необходимость развернуть первый байт в последовательность байтов; третий байт указывает количество повторяющихся байтов). Алгоритм кодирования одинаковых последовательностей символов ищет в текстовых файлах одинаковые слова, а в графических - одинаковые «узоры». Каждый такой фрагмент файла представляется определенным кодом (последовательностью бит) и в процессе архивации при повторных появлениях заменяется ссылкой на первичный код.
Наиболее популярные форматы архивов
ZIP - еще со времен ОС
DOS один из самых популярных
и распространенных архивных
форматов, основанный на алгоритмах
сжатия предложенных в 80-х годах
прошлого столетия
RAR - разработан российским
программистом Евгением
CAB - применяется в продуктах Microsoft как стандартный для упаковки файлов, причем его алгоритм, нигде не опубликованный, представляет собой достаточно совершенный продукт, имеющий высокий коэффициент сжатия.
GZIP, TAR - получили наибольшее распространение в системах на базе Unix и ее самой популярной разновидности Linux.
ACE - достаточно новый формат с высокой степенью сжатия, завоевывающий все большую популярность.
Многие программы, являющиеся достаточно популярными в мире архиваторов базируются на том или ином формате и носят аналогичные названия. Например, для ОС Windows наиболее популярными являются архиваторы WinRAR, WinZIP, WinACE. Кроме этого все они имеют инструменты для работы с другими форматами архивов. Несмотря на это, могут возникнуть проблемы с совместимостью форматов архивов в различных программах. Во многих случаях удачным решением проблемы совместимости архивов различных типов является создание архивов в виде самораспаковывающихся программ (EXE-файлов), в состав которых входят все необходимые механизмы для извлечения информации из архива, таким образом, отпадает необходимость иметь на компьютере соответствующую программу-распаковщик архива.