ОСНОВНЫЕ ТИПЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Существует два основных типа программного обеспечения: системное и прикладное. Каждый тип выполняет различные функции.
Системное программное обеспечение (system software) – это набор программ, которые управляют компонентами компьютера, такими как процессор, коммуникационные и периферийные устройства. Программистов, которые создают системное программное обеспечение, называют системными программистами.
К прикладному программному обеспечению (application software) относятся программы, написанные для пользователей или самими пользователями, для задания компьютеру конкретной работы. Программы обработки заказов или создания списков рассылки – примеры прикладного программного обеспечения. Программистов, которые пишут прикладное программное обеспечение, называют прикладными программистами. Оба типа программного обеспечения взаимосвязаны и могут быть представлены в виде диаграммы, изображенной на рисунке. Как видите, каждая область тесно взаимодействует с другой. Системное программное обеспечение обеспечивает и контролирует доступ к аппаратному обеспечению компьютера. Прикладное программное обеспечение взаимодействует с аппаратными компонентами через системное. Конечные пользователи в основном работают с прикладным программным обеспечением. Чтобы обеспечить аппаратную совместимость, каждый тип программного обеспечения разрабатывается для конкретной аппаратной платформы.
СПО (определение – см. выше) Что включают:
А) Операционные системы
Операционная система - комплекс системных программ, расширяющий возможности вычислительной системы, а также обеспечивающий управление её ресурсами, загрузку и выполнение прикладных программ, взаимодействие с пользователями. В большинстве вычислительных систем ОС являются основной, наиболее важной (а иногда единственной) частью системного ПО.
Функции ОС
Основные функции (простейшие ОС):
¾ Загрузка приложений в оперативную память и их выполнение.
¾ Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
¾ Управление оперативной памятью (распределение между процессами, виртуальная память).
¾ Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, компакт-диск и т. д.), организованным в той или иной файловой системе.
¾ Пользовательский интерфейс.
¾ Сетевые операции, поддержка стека протоколов.
Дополнительные функции:
¾ Параллельное или псевдопараллельное выполнение задач (многозадачность).
¾ Взаимодействие между процессами: обмен данными, взаимная синхронизация.
¾ Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
¾ Разграничение прав доступа и многопользовательский режим работы (аутентификация, авторизация).
Понятие операционной системы
Существуют две группы определений ОС: «совокупность программ, управляющих оборудованием» и «совокупность программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который, однако, становится ясен только при более детальном рассмотрении вопроса о том, зачем вообще нужны операционные системы.
Есть приложения вычислительной техники, для которых ОС излишни. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, запускающуюся по включении. И простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без ОС, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее, некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных ОС. В большинстве случаев, это UNIX-подобные системы (последнее особенно верно в отношении программируемого коммутационного оборудования: файрволов, маршрутизаторов).
Основные идеи ОС
Предшественником ОС следует считать служебные программы (загрузчики и мониторы), а также библиотеки часто используемых подпрограмм, начавшие разрабатываться с появлением универсальных компьютеров 1-го поколения (конец 1940-х годов). Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т. п.).
В 1950-60-х годах сформировались и были реализованы основные идеи, определяющие функциональность ОС: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы.
Б) Встроенные программы
Встроенные программы или firmware - это программы, "зашитые" в цифровые электронные устройства. В ряде случаев (например, BIOS IBM-PC совместимых компьютеров) являются по сути частью операционной системы, хранящейся в постоянной памяти. В достаточно простых устройствах вся операционная система может быть встроенной. Многие устройства современных компьютеров имеют собственные "прошивки", осуществляющие управление этими устройствами и упрощающие взаимодействие с ними.
В) Утилиты
Утилиты (англ. utility или tool) — программы, предназначенные для решения узкого круга вспомогательных задач.
Иногда утилиты относят к классу сервисного программного обеспечения
Утилиты используются для
¾ Мониторинга показателей датчиков и производительности оборудования — мониторинг температур процессора, видеоадаптера; чтение S.M.A.R.T. жёстких дисков;
¾ Управления параметрами оборудования — ограничение максимальной скорости вращения CD-привода; изменение скорости вращения вентиляторов.
¾ Контроля показателей — проверка ссылочной целостности; правильности записи данных.
¾ Расширения возможностей — форматирование и/или переразметка диска с сохранением данных, удаление без возможности восстановления.
Типы утилит
Дисковые утилиты
Дефрагментаторы
Проверка диска — поиск неправильно записанных либо повреждённых различным путём файлов и участков диска и их последующее удаление для эффективного использования дискового пространства.
Очистка диска — удаление временных файлов, ненужных файлов, чистка «корзины».
Разметка диска — деление диска на логические диски, которые могут иметь различные файловые системы и восприниматься операционной системой как несколько различных дисков.
Резервное копирование — создание резервных копий целых дисков и отдельных файлов, а также восстановление из этих копий.
Сжатие дисков — сжатие информации на дисках для увеличения вместимости жёстких дисков.
Утилиты работы с реестром
Утилиты мониторинга оборудования
Тесты оборудования
Г) Системы программирования
К этой категории относятся системные программы, предназначенные для разработки программного обеспечения:
¾ ассемблеры — компьютерные программы, осуществляющие преобразование программы в форме исходного текста на языке ассемблера в машинные команды в виде объектного кода.
¾ трансляторы - программы или технические средства, выполняющее трансляцию программы.
¾ компиляторы — Программы, переводящие текст программы на языке высокого уровня, в эквивалентную программу на машинном языке.
¾ интерпретаторы — Программы (иногда аппаратные средства), анализирующие команды или операторы программы и тут же выполняющие их
¾ компоновщики (редакторы связей) — программы, которые производят компоновку — принимают на вход один или несколько объектных модулей и собирают по ним исполнимый модуль.
¾ препроцессоры исходных текстов — это компьютерные программы, принимающие данные на входе, и выдающие данные, предназначенные для входа другой программы, например, такой, как компилятор
¾ Отла́дчик (debugger)- является модулем среды разработки или отдельным приложением, предназначенным для поиска ошибок в программе.
¾ текстовые редакторы — компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.
¾ специализированные редакторы исходных текстов — текстовые редакторы для создания и редактирования исходного кода программ. Специализированный редактор исходных текстов может быть отдельным приложением, или быть встроен в интегрированную среду разработки (IDE).
¾ библиотеки подпрограмм — сборники подпрограмм или объектов, используемых для разработки программного обеспечения.
¾ Редакторы графического интерфейса
|