Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Концепция программной системы



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

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

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

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

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

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

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

- поставщика сервисов

- пользователя сервисов

В качестве поставщика сервисов абстрактный тип данных предоставляет свой интерфейс другим абстрактным типам данных, а в качестве клиента пользуется интерфейсами других типов.

Идеи абстрактного типа данных, экземпляра абстрактного типа данных, интерфейса абстрактного типа данных и состояния экземпляра абстрактного типа данных реализованы в объектно-ориентированных языках программирования. Абстрактные типы данных реализованы в языках как классы, а объекты классов представляют экземпляры абстрактных типов данных.

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

 Для изучения динамики системы (события, в ответ на которые вызываются методы) наряду с объектной моделью потребуется вычислительная модель с понятиями активных элементов (выполняющихся задач), которые в ходе своей работы вызывают методы объектов для выполнения необходимых вычислений. Эти активные элементы могут называться по - разному: процессы, потоки, задачи. Чтобы правильно работать с объектом активный элемент (процесс) должен следовать определенному протоколу (набору правил, определяющим порядок выполнения операций интерфейса этого объекта). Например, протокол для объекта - файла предполагает открытие файла, затем работу с ним (чтение или запись) и затем закрытие файла. Если процесс не будет следовать этому протоколу, то результатом будет ошибка. Таким же образом, попытка процесса выполнить метод выталкивания из пустого объекта-стека приведет к ошибке.

 


Поделиться:



Последнее изменение этой страницы: 2019-03-22; Просмотров: 396; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.008 с.)
Главная | Случайная страница | Обратная связь