Программное обеспечение (ПО) - это совокупность всех программ и соответствующей документации, обеспечивающая использование ЭВМ в интересах каждого ее пользователя.
Различают системное и прикладное ПО. Схематически программное обеспечение можно представить так:
Системное ПО – это совокупность программ для обеспечения работы компьютера. Системное ПО подразделяется на базовое и сервисное. Системные программы предназначены для управления работой вычислительной системы, выполняют различные вспомогательные функции (копирования, выдачи справок, тестирования, форматирования и т. д).
Базовое ПО включает в себя:
операционные системы;
оболочки;
сетевые операционные системы.
Сервисное ПО включает в себя программы (утилиты):
диагностики;
антивирусные;
обслуживания носителей;
архивирования;
обслуживания сети.
Прикладное ПО – это комплекс программ для решения задач определённого класса конкретной предметной области. Прикладное ПО работает только при наличии системного ПО.
Прикладные программы называют приложениями. Они включает в себя:
текстовые процессоры;
табличные процессоры;
базы данных;
интегрированные пакеты;
системы иллюстративной и деловой графики (графические процессоры);
экспертные системы;
обучающие программы;
программы математических расчетов, моделирования и анализа;
игры;
коммуникационные программы.
Особую группу составляют системы программирования (инструментальные системы), которые являются частью системного ПО, но носят прикладной характер. Системы программирования – это совокупность программ для разработки, отладки и внедрения новых программных продуктов. Системы программирования обычно содержат:
трансляторы;
среду разработки программ;
библиотеки справочных программ (функций, процедур);
отладчики;
редакторы связей и др.
Операционная система — комплекс программ, обеспечивающий управление аппаратными средствами компьютера, организующий работу с файлами и выполнение прикладных программ, осуществляющий ввод и вывод данных.
На сегодняшний день, операционная система — это первый и основной набор программ, загружающийся в компьютер. Помимо вышеуказанных функций ОС может осуществлять и другие, например предоставление общего пользовательского интерфейса.
Сегодня наиболее известными операционными системами являются ОС семейства Microsoft Windows и UNIX-подобные системы.
К современным операционным системам предъявляются следующие требования:
совместимости - ОС должна включать средства для выполнения приложений, подготовленных для других ОС;
переносимости - обеспечение возможности переноса ОС с одной аппаратной платформы на другую;
надежности и отказоустойчивости - предполагает защиту ОС от внутренних и внешних ошибок, сбоев и отказов;
безопасности - ОС должна содержать средства защиты ресурсов одних пользователей от других;
расширяемости - ОС должна обеспечивать удобство внесения последующих изменений и дополнений;
производительности - система должна обладать достаточным быстродействием.
По числу одновременно выполняемых задач выделяют ОС однозадачные (MS DOS, ранние версии PC DOS) и многозадачные (OS/2, UNIX, Windows).
Однозадачные ОС предоставляют пользователю виртуальную машину и включают средства управления файлами, периферийными устройствами и средства общения с пользователем. Многозадачные ОС дополнительно управляют разделением между задачами совместно используемых ресурсов. Многозадачность бывает невытесняющая (NetWare, Windows3/95/98) и вытесняющая (Windows NT, OS/2, UNIX). В первом случае активный процесс по окончании сам передает управление ОС для выбора из очереди другого процесса. Во втором - решение о переключении процессора с одного процесса на другой принимает ОС.
По числу одновременно работающих пользователей ОС делятся на однопользовательские (MS DOS, Windows 3x, ранние версии OS/2) и многопользовательские (UNIX, WINDOWS NT). В многопользовательских системах присутствуют средства защиты информации пользователей от несанкционированного доступа.
В сетевой ОС присутствуют средства передачи данных между компьютерами по линиям связи и реализация протоколов передачи данных.
Кроме ОС, ориентированных на определенный тип аппаратной платформы, существуют мобильные ОС, легко переносимые на разные типы компьютеров (UNIX). В таких ОС аппаратно-зависимые места локализованы и при переносе системы переписываются. Аппаратно-независимая часть реализуется на языке программирования высокого уровня, как правило, на языке Си, и перекомпилируется при переходе на другую платформу.
В настоящий момент большинство персональных компьютеров используют ОС Windows. Более широкий класс ОС ориентирован для использования на серверах. К этому классу относятся ОС семейства Unix, ОС разработки фирмы Microsoft, сетевые продукты Novell, Apple и корпорации IBM.