Операционные системы и программное обеспечение на платформе zSeries

     

Архитектура ОС Linux


Linux создавалась как UNIX-подобная операционная система, поэтому принципы ее архитектуры мало чем отличаются от стандартной UNIX. Базовым элементом Linux является ядро (kernel), которое непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы от особенностей его архитектуры. Ядро обеспечивает выполнение основных функций операционной системы, включая управление процессами и памятью, поддержку файловой системы и управление вводом-выводом. Напомним, что процессами в Linux называют находящиеся в стадии выполнения программы, которые претендуют на получение имеющихся аппаратных ресурсов и данных.

Управление процессами осуществляется планировщиком процессов (scheduler), который создает процессы и управляет распределением ресурсов между ними. В частности, планировщик управляет выделением квантов процессорного времени и осуществляет диспетчеризацию процессов, выбирая для выполнения процесс с наивысшим приоритетом. Для взаимодействия между процессами поддерживается механизм обмена управляющими сигналами, а также обеспечивается возможность обмена данными между различными процессами.

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

Файловая система Linux обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях и других периферийных устройствах. Файловая система имеет иерархическую организацию, с возможностью объединения файлов в соподчиненные каталоги. Логически данная организация в точности соответствует рассмотренной нами ранее файловой системе HFS UNIX. Файловая система контролирует права доступа к файлу при выполнении различных операций, основываясь на статусе и привилегиях пользователя и запущенных им приложений. Следует отметить, что все периферийные устройства рассматриваются как элементы единой файловой системы Linux.

Управление вводом-выводом заключается в выполнении запросов файловой системы и модуля управления процессами на доступ к различным периферийным устройствам (дискам, принтерам, пользовательским терминалам, сетевым адаптерам и т.п.).
При выполнении операций ввода-вывода организуется разделяемый доступ к устройствам и обеспечивается необходимая буферизация данных. Программную основу ввода-вывода составляют драйверы устройств.

Помимо ядра Linux включает набор утилит и вспомогательных программ, предназначенных для администрирования системы, обслуживания устройств, реализации дополнительных сервисов, разработки приложений и т.д. Особое место здесь занимают средства поддержки пользовательского интерфейса Linux, включающие как традиционные для UNIX-систем версии командного интерпретатора shell, так и графические оболочки (KDE, Gnome). Взаимодействие вспомогательных программ (так же, как и пользовательских приложений) с ядром происходит посредством стандартного интерфейса системных вызовов. Интерфейс системных вызовов (API) представляет собой набор услуг ядра и определяет формат запросов на услуги. Процесс запрашивает услугу посредством системного вызова определенной процедуры ядра, внешне похожего на вызов обычной библиотечной функции.

Сегодня на рынке предлагается несколько различных дистрибутивов Linux от разных поставщиков, предназначенных для установки на различные платформы и в том числе на серверы S/390 и zSeries. IBM рекомендует к использованию три основных дистрибутива [34]:

  • SuSe Linux Enterprise Server
  • Turbolinux Server
  • Red Hat Enterprise Linux


Указанные дистрибутивы используют одно и то же ядро Linux (в настоящее время используется версия 2.6), стандартный набор утилит и компиляторов, общие библиотеки разработки и единый интерфейс системных вызовов (API), а также другие компоненты, характерные для любой версии Linux и независимые от платформы. В частности, дистрибутивы Linux традиционно включают поддержку инфраструктурных сетевых сервисов, таких как DNS, DHCP, NFS, а также установочные пакеты Web-сервера Apache, proxy-сервера Squid, почтового сервера SMTP и др.

В то же время версии, ориентированные на серверы S/390 и zSeries, включают ряд специфических аппаратно-зависимых компонентов и функций.Помимо базовых средств Linux каждый разработчик обычно включает в дистрибутив несколько эксклюзивных "фирменных" компонентов, предназначенных для поддержки дополнительных сервисов и средств администрирования. В приложении 8 представлены основные функциональные компоненты дистрибутива SuSe Linux Enterprise Server. Как было отмечено выше, IBM предлагает практически все свои основные программные продукты промежуточного слоя (middleware) для использования в Linux. Перечень этих продуктов представлен в приложении 9.


Содержание раздела