Совместимость. Существует несколько
«долгоживущих» популярных операционных
систем (разновидности UNIX, MS-DOS, Windows
3.x, Windows NT, OS/2), для которых наработана
широкая номенклатура приложений.
Некоторые из них пользуются
широкой популярностью. Поэтому
для пользователя, переходящего
по тем или иным причинам
с одной ОС на другую, очень
привлекательна возможность запуска
в новой операционной системе
привычного приложения. Если ОС
имеет средства для выполнения
прикладных программ, написанных
для других операционных систем,
то про нее говорят, что она
обладает совместимостью с этими
ОС. Следует различать совместимость
на уровне двоичных кодов и
совместимость на уровне исходных
текстов. Понятие совместимости
включает также поддержку пользовательских
интерфейсов других ОС.
Надежность и отказоустойчивость.
Система должна быть защищена
как от внутренних, так и от
внешних ошибок, сбоев и отказов.
Ее действия должны быть всегда
предсказуемыми, а приложения не
должны иметь возможности наносить
вред ОС. Надежность и отказоустойчивость
ОС прежде всего определяются
архитектурными решениями, положенными
в ее основу, а также качеством
ее реализации (отлаженностью кода).
Кроме того, важно, включает ли
ОС программную поддержку аппаратных
средств обеспечения отказоустойчивости,
таких, например, как дисковые
массивы или источники бесперебойного
питания.
Безопасность. Современная ОС
должна защищать данные и другие
ресурсы вычислительной системы
от несанкционированного доступа.
Чтобы ОС обладала свойством
безопасности, она должна как
минимум иметь в своем составе
средства аутентификации — определения
легальности пользователей, авторизации
— предоставления легальным пользователям
дифференцированных прав доступа
к ресурсам, аудита — фиксации
всех «подозрительных» для безопасности
системы событий. Свойство безопасности
особенно важно для сетевых
ОС. В таких ОС к задаче контроля
доступа добавляется задача защиты
данных, передаваемых по сети.
Производительность. Операционная
система должна обладать настолько
хорошим быстродействием и временем
реакции, насколько это позволяет
аппаратная платформа. На производительность
ОС влияет много факторов, среди
которых основными являются архитектура
ОС, многообразие функций, качество
программирования кода, возможность
исполнения ОС на высокопроизводительной
(многопроцессорной) платформе.
Выводы
ОС — это комплекс взаимосвязанных
программ, предназначенный для повышения
эффективности аппаратуры компьютера
путем рационального управления
его ресурсами, а также для
обеспечения удобств пользователю
путем предоставления ему расширенной
виртуальной машины.
К числу основных ресурсов,
управление которыми осуществляет
ОС, относятся процессоры, основная
память, таймеры, наборы данных, диски,
накопители на магнитных лентах,
принтеры, сетевые устройства и
некоторые другие. Ресурсы распределяются
между процессами. Для решения
задач управления ресурсами разные
ОС используют различные алгоритмы,
особенности которых в конечном
счете и определяют облик ОС.
Наиболее важными подсистемами
ОС являются подсистемы управления
процессами, памятью, файлами и
внешними устройствами, а также
подсистемы пользовательского интерфейса,
защиты данных и администрирования.
Прикладному программисту возможности
ОС доступны в виде набора
функций, составляющих интерфейс
прикладного программирования (API).
Термин «сетевая операционная
система» используется в двух
значениях: во-первых, как совокупность
ОС всех компьютеров сети и,
во-вторых, как ОС отдельного компьютера,
способного работать в сети.
К основным функциональным
компонентам сетевой ОС относятся
средства управления локальными
ресурсами и сетевые средства.
Последние, в свою очередь,
можно разделить на три компонента:
средства предоставления локальных
ресурсов и услуг в общее
пользование — серверная часть
ОС, средства запроса доступа
к удаленным ресурсам и услугам
— клиентская часть ОС (редиректор)
и транспортные средства ОС, которые
совместно с коммуникационной
системой обеспечивают передачу
сообщений между компьютерами
сети.
Совокупность серверной и
клиентской частей, предоставляющих
доступ к конкретному типу
ресурса компьютера через сеть,
называется сетевой службой. Сетевая
служба предоставляет пользователям
сети набор услуг — сетевой
сервис. Каждая служба связана
с определенным типом сетевых
ресурсов и/или определенным способом
доступа к этим ресурсам. Наиболее
важными для пользователей сетевых
ОС являются файловая служба
и служба печати. Сетевые службы
могут быть либо глубоко встроены
в ОС, либо объединены в виде
некоторой оболочки, либо поставляться
в виде отдельного продукта.
В зависимости от того, как распределены
функции между компьютерами сети,
они могут выступать в трех
разных ролях. Компьютер, занимающийся
исключительно обслуживанием запросов
других компьютеров, играет роль выделенного
сервера сети. Компьютер, обращающийся
с запросами к ресурсам другой
машины, исполняет роль клиентского
узла. Компьютер, совмещающий функции
клиента и сервера, является одноранговым
узлом.
Одноранговые сети состоят
только из одноранговых узлов.
При этом все компьютеры в
сети имеют потенциально равные
возможности. Одноранговые ОС
включают как серверные, так
и клиентсткие компоненты сетевых
служб. Одноранговые сети проще
в организации и эксплуатации,
по этой схеме организуется
работа в небольших сетях, в
которых количество компьютеров
не превышает 10-20.
В сетях с выделенными
серверами используются специальные
варианты сетевых ОС, оптимизированные
для работы в роли либо серверов,
либо клиентов. Для серверных
ОС характерны поддержка мощных
аппаратных платформ, в том числе
мультипроцессорных, широкий набор
сетевых служб, поддержка большого
числа одновременно выполняемых
процессов и сетевых соединений,
наличие развитых средств защиты
и средств централизованного
администрирования сети. Клиентские
ОС, в общем случае являясь
более простыми, должны обеспечивать
удобный пользовательский интерфейс
и набор редиректоров, позволяющий
получать доступ к разнообразным
сетевым ресурсам.
В число требований, предъявляемых
сегодня к сетевым ОС, входят:
функциональная полнота и эффективность
управления ресурсами, модульность
и расширяемость, переносимость
и многоплатформенность, совместимость
на уровне приложений и пользовательских
интерфейсов, надежность и отказоустойчивость,
безопасность и производительность.
Задачи и упражнения
1. Поясните определение операционной
системы как расширенной машины.
2. В соответствии с определением
ОС ее главными функциями являются
предоставление удобств пользователю
и эффективное управление ресурсами
компьютера. Какая их этих двух
функций должна была доминировать
в мультипрограммных ОС времен
IBM/360? А в первых ОС для персональных
компьютеров?
3. В чем состоит отличие в
виртуальных машинах, предоставляемых
операционной системой простому
пользователю и прикладному программисту?
4. Сравните интерфейс прикладного
программиста с операционной
системой и интерфейс системного
программиста с реальной аппаратурой.
Что можно сказать о разнообразии
и мощности интерфейсных функций,
имеющихся в распоряжении каждого
из них?
5. Назовите абстрактно сформулированные
задачи ОС по управлению любым
типом ресурса. Конкретизируйте
эти задачи применительно к
процессору, памяти, внешним устройствам.
6. Вставьте пропущенные определения:
«Пользователю... ОС не требуется
знать, на каком из компьютеров
сети хранятся файлы, с которыми
он работает, а пользователю... ОС
эти сведения обычно необходимы».
7. Какие из утверждений верны?
А) «сетевая операционная
система» — это совокупность
операционных систем всех компьютеров
сети;
В) «сетевая операционная
система» — это операционная
система отдельного компьютера,
способного работать в сети;
С) «сетевая операционная
система» — это набор сетевых
служб, выполненный в виде оболочки.
8. Какой минимум функциональных
возможностей надо добавить к
локальной ОС, чтобы она стала
сетевой?
9. Перечислите основные сетевые
службы. Какие из них, как правило,
встроены в операционную систему?
10. Какие из утверждений верны?
А) редиректор — клиентская часть
сетевой службы;
В) редиректор — модуль, входящий
в состав клиентской части
сетевой службы, распознающий и
перенаправляющий запросы к нужному
сетевому серверу или локальной
ОС.
11. Поясните значение следующих
терминов применительно к сетевым
ОС: «сервис», «сервер», «клиент», «служба»,
«оболочка», «услуга», «редиректор». Какие
из них употребляются как синонимы?
12. Может ли сетевая оболочка
работать над сетевой ОС?
13. В каких случаях может оказаться
полезным наличие сразу нескольких
серверных (клиентских) частей файловых
служб?
14. Какие из следующих утверждений
верны?
А) ОС выделенного сервера
никогда не содержит клиентских
частей сетевых служб;
В) в одноранговых ОС всегда
имеются и клиентские, и серверные
части сетевых служб;
С) в сетях с выделенными
серверами могут поддерживаться
одноранговые связи.
15. Может ли выделенный сервер
обращаться с запросами к ресурсам
клиентских станций?
16. Приведите примеры одноранговых
ОС и ОС с выделенным сервером.