Обеспечивает ли z/OS защиту памяти между процессами одного и того же пользователя?

Часто отмечают, что каждый пользователь имеет собственное (виртуальное) адресное пространство в z/OS; это сказано так, как будто это что-то хорошее, и я полагаю, что это сравнивают с реальным режимом. Но в большинстве современных систем я привык к тому, что большинство процессов (или заданий, на языке z/OS, я полагаю) имеют собственное адресное пространство. На первый взгляд этот подход Unix кажется более безопасным.

Тем не менее, я слышал утверждение , что каждое задание z/OS также имеет собственное адресное пространство, но я не видел никакой официальной документации по этому поводу. Конечно, если пользователь может одновременно запускать только одно задание (я это не проверял), то это определенно не будет проблемой. (Кроме того: традиционно z/OS должна была использоваться для пакетной обработки, так что это может быть разумным предположением. Но сейчас 2021 год, и все, возможно, изменилось, поэтому было бы полезно знать об ограничениях работы для каждого пользователя. .)

1 ответ

Ваш первый абзац неясен, поскольку кажется противоречивым.

В IBM Z у вас есть оборудование, а затем операционная система. Аппаратное обеспечение имеет набор функций, которые позволяют использовать отдельные адресные пространства, а виртуальное хранилище каждого из них защищено от доступа к данным других пользователей. Есть некоторые предостережения, поскольку оборудование IBM Z использует ключ защиты хранилища для дальнейшего определения способа защиты хранилища. Клавиши могут находиться в диапазоне от 0 до 15 (F), а клавиши ниже 8 зарезервированы для ОС. z/OS использует эту функцию таким образом, что состояние проблемы (пользовательские программы) запускается в ключе 8 в z/OS. Аппаратное обеспечение также обеспечивает защиту хранилища, так что некоторые хранилища доступны для чтения во всех адресных пространствах (обычно память ОС), а некоторые защищены от выборки, что означает, что вам нужен правильный ключ для чтения данных. В целом это довольно обширный набор возможностей.

В z/OS существуют адресные пространства, имеющие собственную виртуальную память, независимую и недоступную (контролируемым образом) от других процессов. В адресных пространствах может размещаться задание (управляемое JES) или системная задача (запущенная задача). В каждом адресном пространстве может быть несколько потоков выполнения.

Тем не менее, вся эта сложность основана на том, что z/OS представляет собой общую модель системных ресурсов, отличную от Linux. Linux блокирует свое ядро ​​и контролирует доступ через системные вызовы. Это на самом деле делает z/OS очень эффективной, но также является ее ахиллесовой пятой, поскольку когда дела идут плохо, это может привести к ухудшению всех процессов.

Платформа достаточно безопасна с точки зрения аппаратного обеспечения и операционных систем для защиты данных и доступа. Тем не менее, операционные системы (все они) написаны людьми, способными ошибаться, и любую из них можно взломать. z/OS, вероятно, более сложная система, поскольку она не так распространена, как Linux или Windows.

Другие вопросы по тегам