
5 Сетевая операционная система Novell NetWare
ОС общего назначения обеспечивают широкий набор сервисов, который удовлетворяет потребностям многих приложений. К тому же, такая ОС обычно очень устойчива к поведению приложений за счет специальных ограничительных мер. В ОС общего назначения проблемы взаимодействия процессов и разделения ресурсов решаются ОС, а не приложениями, что обеспечивает некоторый уровень защиты приложений и ОС.
Но, чем меньше функций выполняет ОС, тем более эффективно можно их реализовать. Поэтому при создании ОС, оптимизированных для выполнения серверных операций, приходится ущемлять или даже полностью отказываться от выполнения некоторых других функции ОС.
Одним из ярких примеров такого подхода является серверная ОС NetWare фирмы Novell - специализированная ОС, оптимизированная для файлового сервиса и сервиса печати. Для этого из данной ОС полностью исключены многие элементы, важные для универсальной ОС - графический интерфейс пользователя, поддержку универсальных приложений, защиту приложений мультипрограммного режима друг от друга, механизм виртуальной памяти.
Однако слишком узкая специализация серверной ОС является одновременно и ее слабой стороной. Например, отсутствие в NetWare 4 универсального интерфейса программирования и средств защиты приложений, не позволяет использовать эту ОС в качестве среды для выполнения приложений, отличных от файлового сервиса и сервиса печати.
Повышение производительности в ОС NetWare обеспечивается с помощью:
Плоской модели памяти
NetWare работает в защищенном режиме центрального процессора и реализует "плоскую" (flat) модель памяти, адресуемую непрерывным диапазоном адресов.
Реализации многозадачности (multitasking) на основе механизма "нитей" (thread).
Кэширования диска
Вся оперативная память, оставшаяся после загрузки ОС и дополнительных модулей, используется для кэширования диска, что существенно повышает скорость обращения к дисковым файлам.
Реализации метода элеваторного поиска (elevator seeking) для обслуживания запросов к файлам.
В ОС NetWare предусмотрен отдельный процесс чтения с диска с жестких дисков сервера и размещения их в кэш-буферах. Этот процесс сортирует запросы на чтение и располагает их в порядке приоритетов, в зависимости от текущего положения головок дисковода, что позволяет значительно увеличить пропускную способность дисковой подсистемы при большой интенсивности запросов.
Параллельного поиска
Если на сервере имеется несколько дисковых каналов, то NetWare может параллельно осуществлять поиск данных на нескольких дисках (по одному диску на канал).