При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу.
К таким базовым концепциям относятся:
- Способы построения ядра системы - монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС - серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой - ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
- Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно: аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, структуризованность системы, состоящей из набора хорошо определенных объектов.
- Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.
- Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. Враспределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.
10.Структура ПО (Программное обеспечение).
Программное обеспечение по выполняемым функциям делится на системное и прикладное.
Системным ПО называется совокупность программ, необходимых для выполнения персональным компьютером стандартного минимального набора функций, без которого ПК будет недееспособным.
Наряду с системным программным обеспечением, существует пакет прикладного программного обеспечения, которое в целом не влияет на работу ПК и никак не сказывается на способности ПК выполнять основные функции. Данный пакет состоит из отдельных программ, каждая из которых предназначена для решения определенной поставленной задачи или нескольких задач. Например, выполнение статистических расчетов, работа с графическими изображениями, подготовка макета книги для издания и так далее.
Рис. 21. Структура программного обеспечения
Инструментарий технологии программирования позволяет пользователю самостоятельно разрабатывать специальные программы посредством программного инструментария - специализированных программных продуктов. Результат
деятельности - разработка, отладка и внедрение создаваемых новых программных продуктов.
Рассмотрим более подробно составные части системного ПО (рис. 22).
Структурно-системное ПО состоит из элементов:
- базового ПО (поставляется вместе с ПК и представляет собой «минимум» программных средств, обеспечивающих работу компьютера);
- сервисного ПО (расширяет возможности базового
программного обеспечения, а также создает более удобные условия работы пользователя).
В базовое программное обеспечение входят операционная система и операционные оболочки (текстовые и графические).
Рис. 22. Структура системного программного обеспечения
Операционные системы являются главным программным обеспечением ЭВМ, обеспечивая:
- запуск программ на выполнение
- взаимодействие между структурными «органами» ПК;
- взаимодействие пользователя с компьютером.
11.Системное программное обеспечение.
уществует два основных типа программного обеспечения: системное (называемое также общим) и прикладное (называемое специальным). Каждый тип программного обеспечения выполняет различные функции. Системное программное обеспечение – это набор программ, которые управляют компонентами компьютера, такими как процессор, коммуникационные и периферийные устройства. Программистов, которые создают системное программное обеспечение, называют системными программистами. К прикладному программному обеспечению относятся программы, написанные для пользователей или самими пользователями, для задания компьютеру конкретной работы. Программы обработки заказов или создания списков рассылки – примеры прикладного программного обеспечения. Программистов, которые пишут прикладное программное обеспечение, называют прикладными программистами.
Оба типа программного обеспечения взаимосвязаны и могут быть представлены в виде диаграммы, изображенной на рис.2.1. Как видно, каждая область тесно взаимодействует с другой. Системное программное обеспечение обеспечивает и контролирует доступ к аппаратному обеспечению компьютера. Прикладное программное обеспечение взаимодействует с аппаратными компонентами через системное. Конечные пользователи в основном работают с прикладным программным обеспечением. Чтобы обеспечить аппаратную совместимость, каждый тип программного обеспечения разрабатывается для конкретной аппаратной платформы.
Рис. 2.1. Структура и назначение программного обеспечения
Системное ПО, в состав которого входят операционная система, трансляторы языков и обслуживающие программы, управляет доступом к аппаратному обеспечению. Прикладное ПО, такое как языки программирования и различные пользовательские приложения, работает с аппаратным обеспечением через слой системного ПО. Пользователи, в свою очередь, взаимодействуют с прикладным программным обеспечением.
Программные системы можно классифицировать по различным признакам. Рассмотрим классификацию, в которой основополагающим признаком является сфера (область) использования программных продуктов:
· аппаратная часть автономных компьютеров и сетей ЭВМ;
· функциональные задачи различных предметных областей;
· технология разработки программ.
Для поддержки информационной технологии в этих областях выделяют соответственно три класса программных продуктов, представленных на рис.2.2:
· системное программное обеспечение;
· прикладное программное обеспечение;
· инструментальное программное обеспечение.
Системное программное обеспечение (System Software) – совокупность программ и программных комплексов, предназначенная для обеспечения работы компьютера и сетей ЭВМ. Системное программное обеспечение выполняет следующие задачи:
· создание операционной среды функционирования других программ;
· обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;
· проведение диагностики, локализации сбоев, ошибок и отказов и профилактики аппаратуры компьютера и вычислительных сетей;
· выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ и баз данных и т.д.).
Рис. 2.2. Классы программных продуктов
Данный класс программных продуктов тесно связан с типом компьютера и является его неотъемлемой частью. Программные продукты в основном ориентированы на квалифицированных пользователей – профессионалов в компьютерной области: системного программиста, администратора сети, прикладного программиста, оператора. Однако знание базовой технологии работы с этим классом программных продуктов требуется и конечным пользователям персонального компьютера, которые самостоятельно не только работают со своими программами, но и выполняют обслуживание компьютера, программ и данных.
Программные продукты данного класса носят общий характер применения, независимо от специфики предметной области. К ним предъявляются высокие требования по надежности и технологичности работы, удобству и эффективности использования.
Прикладное программное обеспечение представляет собой комплекс взаимосвязанных программ, предназначенный для решения задач определенного класса конкретной предметной области. Пакеты прикладных программ (ППП) общего назначения служат программным инструментарием решения функциональных задач и являются самым многочисленным классом программных продуктов. В данный класс входят программные продукты, выполняющие обработку информации различных предметных областей.
Установка пакетов прикладных программ на компьютер выполняется системными администраторами, системными программистами, а также (в некоторых случаях) квалифицированными пользователями. Непосредственную эксплуатацию программных продуктов осуществляют, как правило, конечные пользователи – потребители информации, во многих случаях деятельность которых весьма далека от компьютерной области. Данный класс программных продуктов может быть весьма специфичным для отдельных предметных областей.
Инструментарий технологии программирования представляет собой совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов [12].
Инструментарий технологии программирования включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Программные продукты данного класса поддерживают все технологические этапы процесса проектирования, программирования (кодирования), отладки и тестирования создаваемых программ. Пользователями технологии программирования являются системные и прикладные программисты.