ЖУРНАЛ СТА 2/1997
ВСЕГДА в заданное время, возникает проблема определения критериев ус- пешности (нормальности) ее функци- онирования. Вопрос этот совсем не простой, так как в зависимости от функций системы это может быть максимальная задержка в выполнении какихлибо операций, средняя своев- ременность отработки событий и т. п. Более того, эти критерии влияют на то, какой алгоритм планирования задач является оптимальным. Вообще гово- ря, системы «мягкого» реального вре- мени проработаны теоретически да- леко не до конца. ЯДРА И ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Чтобы быстрее перейти к делу, при- мем как очевидные следующие мо- менты. 1. Когдато операционных систем со- всем не было. 2. Через некоторое время после их по- явления возникло направление ОС РВ. 3. Все ОС РВ являются многозадачны- ми операционными системами. За- дачи делят между собой ресурсы вы- числительной системы, в том числе и процессорное время. Четкой границы между ядром (Ker- nel) и операционной системой нет. Различают их, как правило, по набору функциональных возможностей. Ядра предоставляют пользователю такие ба- зовые функции, как планирование и синхронизация задач, межзадачная коммуникация, управление памятью и т. п. Операционные системы в допол- нение к этому имеют файловую сис- тему, сетевую поддержку, интерфейс с оператором и другие средства высо- кого уровня. По своей внутренней архитектуре ОС РВ можно условно разделить на мо- нолитные ОС, ОС на основе микрояд- ра и объектноориентированные ОС. Графически различия в этих подхо- дах иллюстрируются рисунками 1, 2, 3. Преимущества и недостатки различ- ных архитектур достаточно очевидны, поэтому подробно мы на них оста- навливаться не будем. Пользователь, напуганный перспек- тивой изучать новую операционную систему, может здесь вполне резонно спросить: «А нельзя ли вообще обойтись без всей этой заумной канители?» Если отвечать на этот вопрос односложно, то да, МОЖНО. Однако ответ на вопрос о том, когда это НУЖНО делать, оста- ется, конечно, за читателем. Ма- териалы во врезке к статье, воз- можно, дадут некоторую пищу к размышлениям на эту тему. Задачи, процессы, потоки Существуют различные оп- ределения термина «задача» для многозадачной ОС РВ. Мы будем считать задачей набор операций (машинных инструкций), предназначен- ный для выполнения логи- чески законченной функции системы. При этом задача конкурирует с другими зада- чами за получение контроля над ресурсами вычислитель- ной системы. Принято различать две разно- видности задач: процессы и по- токи. Процесс представляет собой от- дельный загружаемый программный модуль (файл), который, как правило, во время исполнения имеет в памяти свои независимые области для кода и данных. В отличие от этого потоки могут пользоваться общими участка- ми кода и данных в рамках единого программного модуля. Хорошим примером многопоточ- ной программы является редактор текста WORD, где в рамках одного ОБЗОР Программное обеспечение 23 2/97 Рис. 1. ОС РВ с монолитной архитектурой Рис. 2. ОС РВ на основе микроядра Рис. 3. Объектно-ориентированная ОС РВ
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy