Операционные системы: архитектура и управление процессами. Макаров П.С. - 50 стр.

UptoLike

Составители: 

50
окнами и для других связанных с GUI действий. Сегодня в типичных програм-
мах 60-80% времени тратится на выполнение функций GUI и других библио-
течных вызовов ОС. Именно это свойство приложений позволяет прикладным
средам компенсировать большие затраты времени, потраченные на покоманд-
ное эмулирование программы. Тщательно спроектированная программная при-
кладная среда имеет в своем составе библиотеки, имитирующие внутренние
библиотеки GUI, но написанные на «родном» коде. Таким образом достигается
существенное ускорение выполнения программ с API другой операционной
системы. Иногда такой подход называют трансляцией для того, чтобы отличать
его от более медленного процесса эмулирования кода по одной команде за раз.
Например, для Windows-программы, работающей на Macintosh, при ин-
терпретации команд процессора Intel 80x86 производительность может быть
очень низкой. Но, когда производится вызов функции GUI открытия окна, мо-
дуль ОС, реализующий прикладную среду Windows, может перехватить этот
вызов и перенаправить его на перекомпилированную для процессора Motorola
680x0 подпрограмму открытия окна. В результате, на таких участках кода ско-
рость работы программы может достичь (а, возможно, и превзойти) скорость
работы на своем «родном» процессоре.
Чтобы программа, написанная для одной ОС, могла быть выполнена в
рамках другой ОС, недостаточно лишь обеспечить совместимость API. Кон-
цепции, положенные в основу разных ОС, могут входить в противоречие друг с
другом. Например, в одной операционной системе приложению может быть
разрешено непосредственно управлять устройствами ввода-вывода, в другой
эти действия являются прерогативой ОС. Каждая операционная система имеет
свои собственные механизмы защиты ресурсов, свои алгоритмы обработки
ошибок и исключительных ситуаций, особую структуру процесса и схему
управления памятью, свою семантику доступа к файлам и графический пользо-
вательский интерфейс. Для обеспечения совместимости необходимо организо-
вать бесконфликтное сосуществование в рамках одной ОС нескольких спосо-
бов управления ресурсами компьютера.