Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 94
Текст из файла (страница 94)
Это может привести к повышению быстродействия приложения.Система IPC обеспечивает базовый механизм, позволяющий потокам работать в различных заданиях, взаимодействуя друг с другом, и надежную доставку сообщений впорты. Порты представляют собой защищенные каналы связи между заданиями.Каждому заданию, использующему порт, приписывается набор прав на этот порт.Права могут быть различными для разных заданий. Только одно задание может получить какой-либо порт, хотя любой поток внутри задания может выполнять операцию приема. Одно или более заданий могут иметь право посылать информацию впорт. Ядро позволяет заданиям применять систему IPC для передачи друг другуправ на порт. Оно также обеспечивает высокопроизводительный способ передачибольших объемов данных в сообщениях.
Вместо того чтобы копировать данные, сообщение содержит указатель на них, который называется указателем на данные внелинии. Когда ядро передает сообщение от передатчика к приемнику, оно заставляетпамять, передаваемую через указатель, появиться в адресном пространстве приемника и, как вариант, исчезнуть из адресного пространства передатчика. Ядро самоструктурировано как задание с потоками, и большинство системных служб реализованы как механизмы IPC-обращений к ядру, а не как прямые системные вызовы.Для поддержки операций ввода-вывода и доступа к внешним устройствам ядро операционной системы OS/2 обеспечивает доступ к ресурсам ввода-вывода, таким какустройства с отображаемой памятью, порты ввода-вывода и каналы прямого доступа к памяти (Direct Memory Access, DMA), а также возможность отображать прерывания на драйверы устройств, исполняемые в пользовательском пространстве.
Службы ядра позволяют приоритетным программам получать устройства в свое владение:такими программами обычно являются программы, не связанные с заданиями, вроде серверов драйверов устройств, работающих как приложения. Поскольку ядрообязано обслужить все прерывания (в силу того, что прерывания обычно выдаютсяЗдесь термины «задание» и известный нам «процесс» используются как синонимы.Семейство операционных систем OS/2 Warp компании IBM357в приоритетном состоянии компьютера, а также в целях поддержания целостностисистемы), оно имеет логику, которая определяет, должно ли оно обрабатывать прерывание или его следует отобразить на сервер.
Если прерывание следует отобразитьна приложение, это приложение должно быть зарегистрировано в ядре и содержатькод, контролирующий отображение прерывания. Сразу после отображения в приложении запускается поток по обработке прерывания.В соответствии с концепцией микроядерных операционных систем, непосредственноповерх ядра системы OS/2, которое построено с использованием этой архитектуры,располагается ряд служебных приложений, предоставляющих системные службы общего назначения, то есть службы, не зависящие от операционной среды, в которойвыполняется приложение. Эти службы зависят только от ядра, некоторых вспомогательных служб, экспортируемых доминирующей задачей операционной системы, иот самих себя. В числе задачно-нейтральных служб имеются пейджер умолчания, мастер-сервер, который загружает другие задачно-нейтральные серверы в память, служба низкоуровневых имен, служба защиты, службы инициализации, набор драйверовустройств со связанным кодом поддержки, а также библиотечные подпрограммы длястандартной программной среды.
Дополнительные задачно-нейтральные сервисы,например выделенный файловый сервер, могут быть просто добавлены.С помощью ядра операционной системы и задачно-нейтральных сервисов приоритетная задача может обеспечить операционную системную среду типа UNIX. Поскольку приоритетная задача является прикладным сервером, можно добавлятьдругие серверы для различных задач, исполняющих программы, написанные в разных операционных системах, работающих на машине в одно и то же время.Существуют некоторые операционные системные сервисы (вроде трансляции сообщений об ошибках), не обеспечиваемые задачно-нейтральными сервисами. Поскольку лучше не дублировать подобные сервисы, приоритетная задача предоставляет эти сервисы не только своим клиентским приложениям, но и любой другойзадаче, исполняющейся в машине.Особенности интерфейсовВ операционных системах OS/2 Warp в качестве стандартной графической оболочки используется среда Workplace Shell (WPS), организованная логичней и удобней, чем известный Windows-интерфейс.
Оболочка Workplace Shell основана намодели системных объектов (SOM) фирмы IBM — мощной технологии, специально разработанной для решения таких проблем, как жесткая привязка объектовк их клиентам и необходимость использования одного и того же языка программирования. Объекты Workplace Shell работают в среде SOM, доступ в которуюможно реализовать почти на всех языках программирования, где предусмотренывнешние процедуры, в том числе и на языке REXX.В отличие от интерфейса GUI в Windows, где ярлыки (shortcuts) объектов никакне связаны между собой, в WPS объекты, имеющие аналогичные ярлыки (shadow 11Shadow (по-английски «тень») — значок на рабочем столе OS/2, который является частью объекта,то есть имеется постоянная двухсторонняя связь между этим значком и собственно объектом.358Глава 10.
Краткий обзор современных операционных системв терминологии WPS), просто имеют дополнительное свойство — возможностьмногократно отображаться почти как самостоятельные объекты. Можно сделатьнесколько таких ярлыков из уже существующего ярлыка или из объекта. При этомлюбые ярлыки могут перемещаться в любое место и при этом их связи с основнымобъектом не теряются. Вроде бы то же самое происходит в GUI, но в WPS можнопереместить основной объект, и его ярлыки тут же изменят свои параметры, тогдакак в GUI произойдет разрушение связей, поскольку связи являются односторонними.Про SOM можно сказать, что это не связанная ни с одним конкретным языкомобъектно-ориентированная технология для создания, хранения и использованиядвоичных библиотек классов. Ключевые слова здесь «двоичные» и «не связанная ни с одним конкретным языком».
Хотя нынче многие считают OS/2 технологией прошлого, модель SOM на самом деле представляет собой одну изнаиболее интересных разработок в области компьютерной индустрии даже насегодняшний день. По существу, некоторые идеи, реализованные в OS/2 в начале 90-х годов прошлого столетия, сейчас только обещают реализовать в новомпоколении операционных систем Windows с кодовым названием Whistler. Объектно-ориентированное программирование (ООП) заслужило безоговорочное признание в качестве основной парадигмы, однако его применению в коммерческомпрограммном обеспечении препятствуют отсутствие в языках ООП средств обращения к библиотекам классов, подготовленным на других языках, и необходимость поставлять с библиотеками классов исходные тексты.
Многим независимымразработчикам библиотек классов приходится продавать заказчикам исходныетексты, поскольку разные компиляторы по-разному отображают объекты. Настоящий потенциал модели SOM заключается в ее совместимости практически слюбой платформой и любым языком программирования. Технология SOM соответствует спецификации CORBA (Common Object Request Broker Architecture —общая архитектура посредника объектных запросов), которая определяет стандарт условий взаимодействия между прикладными программами в неоднородной сети.Графический интерфейс в системах OS/2 не единственный. Интересно отметитьтот факт, что существует довольно много альтернативных оболочек для операционных систем OS/2, начиная с программы FileBar, которая хотя и кажется примитивной, но зато отлично работает на компьютерах с оперативной памятью объемом4 Мбайт, и кончая мощной системой Object Desktop, которая значительно улучшает внешний вид экрана OS/2 и делает работу более удобной.Помимо оболочек, улучшающих интерфейс операционной системы OS/2, имеется также ряд программ, расширяющих ее функциональность.
В первую очередь,это Xfree86 for OS/2 — полноценная система X-Window, которая может использоваться как графический терминал при работе в сети с UNIX-машинами, а такжедля запуска программ, перенесенных из UNIX в OS/2. К сожалению, таких программ немного, однако большое количество UNIX-программ поставляется вместес исходными кодами, которые, как правило, практически не нужно изменять дляперекомпиляции под Xfree86/OS2.Семейство операционных систем OS/2 Warp компании IBM359Серверная операционная система OS/2 Warp 4.5Серверная операционная система компании IBM, предназначенная для работы наперсональных компьютерах и вышедшая в свет в 1999 году, носит название OS/2WarpServer for e-Business, что подчеркивает ее основное назначение. Однако в процессе ее создания система носила кодовое название Аврора (Aurora), поэтому всеее так теперь и называют.Как известно, предыдущие версии системы OS/2 могли предоставить программисту только 512 Мбайт виртуального адресного пространства для «родных» 32-разрядных приложений.
В свое время это было очень много. Однако хотя задачи, требующие столь большого объема оперативной памяти, встречаются пока еще редко,некоторые считают ограничение в 512 Мбайт серьезным недостатком. Поэтому впоследней версии системы это ограничение снято (напомним, что в операционнойсистеме Windows NT 4.0 объем виртуального адресного пространства для задачпользователя составляет 2 Гбайт), и теперь максимальный объем виртуальнойпамяти для задачи в операционной системе OS/2 v. 4.5 по умолчанию составляет 2 Гбайт, но командой VIRTUALADDRESSLIMIT=3072 в конфигурационном файле CONFIG.SYS он может быть увеличен до 3 Гбайт.В операционной системе OS/2 v.
4.5 разработчики постарались все «остатки» старого 16-разрядого кода, который еще частично оставался в предыдущих версияхсистемы, полностью заменить 32-разрядными реализациями, что повысило быстродействие системы. Прежде всего, обеспечена поддержка 32-раздядных драйверов устанавливаемых файловых систем (IFS), ибо в предыдущих системах работас ними велась через трансляцию вызовов 32bit—>16bit—>32bit. В то же время длясовместимости со старым программным обеспечением помимо 32-раздядного используется и 16-раздядный интерфейс API.Создана новая файловая система JFS (Journaling File System — файловая системас протоколированием), призванная повысить надежность и живучесть файловойподсистемы по сравнению с файловой системой HPFS386.IFS. Файловая системаJFS обеспечивает большую безопасность в структурах данных благодаря технике,разработанной для систем управления базами данных.