Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники 6066.doc
Скачиваний:
5
Добавлен:
01.05.2022
Размер:
484.86 Кб
Скачать

2.2. Понятие операционной среды

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

Любая программа имеет дело с некоторыми исходными данными, которые она обрабатывает, и порождает в конечном итоге некоторые выходные данные, резуль­таты вычислений. Очевидно, что в абсолютном большинстве случаев исходные данные попадают в оперативную память (с которой непосредственно работает процессор, выполняя вычисления по программе) с внешних (периферийных) устройств. Аналогично и результаты вычислений, в конце концов, должны быть выведены на внешние устройства. Следует заметить, что программирование опе­раций ввода/вывода относится, пожалуй, к наиболее сложным и трудоемким за­дачам. Дело в том, что при создании таких программ без использования совре­менных систем программирования, как говорится, «по старинке», нужно знать не только архитектуру процессора (его состав, назначение основных регистров, систему команд процессора, форматы данных и т. п.), но и архитектуру подсис­темы ввода/вывода (соответствующие интерфейсы, протоколы обмена данными, алгоритм работы контроллера устройства ввода/вывода и т. д.). Именно поэто­му развитие системного программирования и самого системного программного обеспечения пошло по пути выделения наиболее часто встречающихся операций и создания для них соответствующих программных модулей, которые можно в дальнейшем использовать в большинстве вновь создаваемых программ.

Например, в пятидесятые годы, на заре развития вычислительных сис­тем, при разработке первых систем программирования прежде всего создавали программные модули для подсистемы ввода/вывода, а уже затем - вычисления часто встречающихся математических операций и функций. Благодаря этому при создании прикладных программ программисты могли просто обращаться к соот­ветствующим функциям ввода/вывода и иным функциям и процедурам, что из­бавляло их от необходимости каждый раз создавать все программные компоненты «с нуля» и от необходимости знать во всех подробностях особенности работы контроллеров ввода/вывода и соответствующих интерфейсов.

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

Параллельное существование терминов «операционная система» и «операцион­ная среда» вызвано тем, что ОС в общем случае может поддерживать несколько операционных сред.

Операционная среда может включать несколько интерфейсов: пользовательские и программные. Если говорить о пользовательских, то, например, система Linux имеет для пользователя как интерфейсы командной строки (можно использо­вать различные «оболочки» - shell), интерфейс наподобие Norton Commander - Midnight Commander, так и графические интерфейсы - X-Window с различны­ми менеджерами окон - KDE, Gnome и т. д. Если же говорить о программных интерфейсах, то в той же ОС Linux программы могут обращаться как к операци­онной системе за соответствующими сервисами и функциями, так и к графиче­ской подсистеме (если она используется).

С точки зрения архитектуры процес­сора (и всего ПК в целом) двоичная программа, созданная для работы в среде Linux, использует те же команды и форматы данных, что и программа, создан­ная для работы в среде Windows NT. Однако в первом случае мы имеем обраще­ние к одной операционной среде, а во втором - к другой. И программа, создан­ная для Windows непосредственно, не будет выполняться в Linux; однако если в ОС Linux организовать полноценную операционную среду Windows, то наша Windows-программа сможет быть выполнена. Можно сказать, что операционная среда - это то системное программное окружение, в котором ты «с нуля» и от необходимости знать во всех подробностях особенности работы контроллеров ввода/вывода и соответствующих интерфейсов.

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

Параллельное существование терминов «операционная система» и «операцион­ная среда» вызвано тем, что ОС в общем случае может поддерживать несколько операционных сред.

Операционная среда может включать несколько интерфейсов: пользовательские и программные. Если говорить о пользовательских, то, например, система Linux

имеет для пользователя как интерфейсы командной строки (можно использо­вать различные «оболочки» - shell), интерфейс наподобие Norton Commander - Midnight Commander, так и графические интерфейсы X-Window с различны­ми менеджерами окон - KDE, Gnome и т. д. Если же говорить о программных интерфейсах, то в той же ОС Linux программы могут обращаться как к операци­онной системе за соответствующими сервисами и функциями, так и к графиче­ской подсистеме (если она используется). С точки зрения архитектуры процес­сора (и всего ПК в целом) двоичная программа, созданная для работы в среде Linux, использует те же команды и форматы данных, что и программа, создан­ная для работы в среде Windows NT. Однако в первом случае мы имеем обраще­ние к одной операционной среде, а во втором - к другой.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]