Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек_1 Введение Структура СПО_2011.doc
Скачиваний:
2
Добавлен:
21.09.2019
Размер:
80.9 Кб
Скачать

7

Введение

Назначением ЭВМ является выполнение программ, которые содержат команды, определяющие порядок действий компьютера. Совокупность программ для компьютера образует программное обеспечение (ПО). Программное обеспечение − это общий термин для обозначения "неосязаемых" , в отличие от физических, составных частей компьютерной системы. Термин охватывает как программы в символической записи (исходные модули), так и исполняемые формы этих программ (исполнительные модули).

По функциональному назначению программное обеспечение можно разделить на две основные категории: прикладное программное обеспечение (ППО) и системное программное обеспечение (СПО).

ППО помогает конечным пользователям в выполнении различных функций.

СПО контролирует функционирование самой компьютерной системы, а не удовлетворяет непосредственно потребности пользователя. Говорят, что СПО управляет ресурсами компьютерной системы. Кроме того, исторически сложилось так, что к разряду системного относится и программное обеспечение, которое позволяет пользователям создавать новое ПО, программировать в более выразительных языках, чем машинных язык компьютера. Такое ПО (т.е. это ещё и инструментальные средства).

При построении классификации ПО нужно учитывать тот факт, что стремительное развитие вычислительной техники и расширение сферы приложения компьютеров резко ускорили процесс эволюции программного обеспечения. Если раньше можно было по пальцам перечислить основные категории ПО — операционные системы, трансляторы, пакеты прикладных программ, то сейчас ситуация коренным образом изменилась.

Развитие ПО пошло как вглубь (появились новые подходы к построению операционных систем, языков программирования и т.д.), так и вширь (прикладные программы перестали быть узкоспециализированными и приобрели дополнительную ценность).

На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения:

  • операционные системы и оболочки

  • инструментальные средства (трансляторы, библиотеки подпрограмм, отладчики и т.д.) и интегрированные системы программирования;

  • утилиты (программы диагностики и технического обслуживания компьютера, архивирования, борьбы с вирусами и т.п.);

  • прикладное программное обеспечение (как правило, пакеты программ);

  • системы машинной графики и мультимедиа;

  • системы управления базами данных (СУБД);

Разумеется, эту классификацию нельзя считать исчерпывающей, но она более или менее наглядно отражает направления совершенствования и развития программного обеспечения.

Системное программное обеспечение − компьютерные программы, которые контролируют функционирование самого компьютера, а не удовлетворяют непосредственно потребности пользователя. Прежде всего, это операционные системы (ОС) и так называемые утилиты, которые выполняют такие задачи, как копирование файлов, проверку состояния магнитных дисков и т.д. Исторически сложилось так, что программы, участвующие в создании прикладного программного обеспечения (например, компиляторы и интерпретаторы), также принято относить к системному программному обеспечению, т.к. первые ОС обязательно комплектовались средствами разработки программ.

При разделении программирования на системное и прикладное возникло и разделение в языках − одни их них, например, Фортран, Алгол-60, Кобол были предназначены для прикладного программирования, другие (ПЛ/360, Блисс, BCPL) − для системного. В настоящее время существует ряд языков, предназначенных для создания программных систем как системного, так и прикладного программирования, например Си, С++, Ада, Модула-2.

Системное программирование

Разработка системного ПО имеет свои особенности по в сравнению с разработкой прикладных программ. Системное программирование (или программирование систем) ‑ род деятельности, заключающийся в работе над системным программным обеспечением. Основная отличительная черта системного программирования по сравнению с прикладным программированием заключается в том, что результатом последнего является выпуск программного обеспечения, предлагающего определённые услуги пользователям (например, текстовый процессор). В то время как результатом системного программирования является выпуск программного обеспечения, предлагающего сервисы по взаимодействию с аппаратным обеспечением (например, дефрагментация жёсткого диска), что подразумевает сильную зависимость таких программ от аппаратной части.

Термин системное программирование непосредственно связан с термином системный программист. Это программист, работающий (создающий, отлаживающий, диагностирующий и т. п.) над системным программным обеспечением. В отличие от прикладного программиста, системный программист должен в одинаковой степени владеть и программным, и аппаратным обеспечением компьютера. Если прикладной программист, как правило, не работает напрямую с аппаратурой, пользуясь сервисом операционной системы, то одна из основных задач системного программиста − организация обслуживания устройств ввода/вывода. Системный программист должен учитывать специфику аппаратной части и другие свойства системы, в которой функционирует программа, использовать эти свойства, например, применяя специально оптимизированный для данной архитектуры алгоритм.

Изначально, ОС писали на языке ассемблера. Эксперименты с поддержкой оборудования в языках высокого уровня (1960-е гг. привели к появлению таких языков, как BLISS и BCPL). Однако, язык программирования Си, сыгравший значительную роль в создании UNIX, завоевал большую популярность и распространился повсеместно к 1980-м годах.

В настоящее время некоторое применение нашлось для встраиваемого C++. Реализация основных частей в операционной системе и при использовании сетей нуждается в разработчиках системного ПО. Например, реализация постраничности (через виртуальную память) или драйверы устройств.

В некоторых типах систем прикладное и системное программное обеспечение практически неразделимо, как, например, в случае встроенного ПО (англ. embedded system) — это специализированная компьютерная система, в которой сам компьютер обычно встроен в устройство, которым он управляет.

Примерами встроенных систем могут служить банкоматы, авионика, КПК, телекоммуникационное оборудование и тому подобные устройства.

Машинная зависимость является одной из характеристик, которая обычно отличает системное ПО от прикладного. Прикладная программа интересует нас главным образом с точки зрения решения некоторой задачи. При этом ЭВМ используется как инструмент, и основное внимание сосредоточено на предметной стороне дела, а не на вычислительной системе. С другой стороны, системные программы предназначены скорее для обеспечения управления собственно ЭВМ, чем для решения какой-то конкретной задачи. Вследствие этого они обычно тесно связаны со структурой машины, для которой созданы.

Операционные системы

Операционные системы являются важнейшей и центральной частью программного обеспечения ЭВМ, предназначенной для эффективного управления вычислительным процессом, планирования работы и распределения ресурсов ЭВМ, автоматизации процесса подготовки программ и организации их выполнения при различных режимах работы машины, облегчения общения оператора с машиной.

Пользователи и операторы не имеют прямого доступа к устройствам ЭВМ. Связь пользователей и операторов с ЭВМ (точнее, с ее аппаратурными средствами) производится при помощи операционной системы, обеспечивающей определенный уровень общения человека с машиной. Уровень общения в первую очередь определяется уровнем языка, на котором оно происходит, или, иными словами, уровнем пользовательского интерфейса системы (интерфейс командной строки, графический интерфейс, голосовой или речевой интерфейс).

Основные функции операционных систем заключаются в управлении ресурсами (физическими и логическими) и процессами вычислительных систем. Физическими ресурсами являются: оперативная память, процессор, монитор, печатающее устройство, магнитные и оптические диски. К логическим ресурсам можно отнести программы, файлы, события и т. д.

Под процессом понимается некоторая последовательность действий, предписанная соответствующей программой и используемыми ею данными. Операционная система − это комплекс программ, предназначенная для управления устройствами ЭВМ, управления обработкой и хранением данных, обеспечения пользовательского интерфейса.

Современные операционные системы для ПЭВМ отличаются друг от друга, прежде всего ориентацией на машины определенного класса, поддерживаемыми ими режимами обработки, предоставляемыми сервисными возможностями.