• No se han encontrado resultados

Capitulo 3 zOS Basics

N/A
N/A
Protected

Academic year: 2020

Share "Capitulo 3 zOS Basics"

Copied!
42
0
0

Texto completo

(1)

Capítulo 3

(2)

Objetivos

Después de completar este capítulo usted será capaz de:

• Listar varias características que definen el sistema operativo z/OS

• Dar ejemplos de cómo el z/OS difiere de un sistema operativo monousuario.

• Listar los principales tipos de almacenamiento usados por z/OS.

• Explicar el concepto de almacenamiento virtual y su uso en z/OS.

• Indicar la relación entre páginas, frames y slots.

• Describir varias diferencias y similitudes entre z/OS y UNIX. • Entender conceptos del z/OS Workload Manager.

(3)

¿Qué es un sistema operativo?

• En términos simples es una colección de programas que

administran los trabajos internos de un sistema computacional. Están diseñados para hacer el mejor uso de los recursos de la

computadora, y asegurarse de que se procese la mayor cantidad de trabajo tan eficientemente como sea posible.

• Aunque un sistema operativo no puede aumentar la velocidad de una computadora, puede maximizar su uso, y así hacer parecer a la computadora más veloz permitiéndole hacer más trabajo en un

(4)

¿Qué es z/OS?

• z/OS es un sistema operativo muy utilizado en mainframe, está diseñado para ofrecer un ambiente estable, seguro, con

disponibilidad continua y escalable.

• Es el resultado de décadas de avance tecnológico, evolucionó de ser un sistema operativo que podía procesar sólo un

programa a la vez a un sistema operativo que puede manejar miles de programas y usuarios interactivos concurrentemente. • En los primeros sistemas operativos las peticiones de trabajo

entraban al sistema una a la vez. El sistema operativo procesaba cada petición ó trabajo (job) como una unidad, y no comenzaba el siguiente trabajo hasta terminar de procesar el previo.

• Este arreglo funcionaba bien cuando un trabajo podía ejecutarse continuamente desde el inicio hasta terminar. Pero

frecuentemente un trabajo tenía que esperar por información a ser leída de ó escrita a un dispositivo como una cinta ó

impresora.

(5)

¿Qué es z/OS?

• Encontrar la manera de mantener al procesador trabajando mientras el job esperaba podía incrementar la cantidad total de trabajo que el procesador hacía sin requerir hardware adicional.

• z/OS hace el trabajo dividiéndolo en partes y dándole porciones del job a varios componentes del sistema y subsistemas que funcionan interdependientemente.

• En algún punto en el tiempo, un componente ú otro toma el control del procesador, hace su contribución, y luego pasa el control a un programa de usuario ó a otro componente.

• El z/OS actual es un ambiente de ejecución que comparte

(6)

Mainframe (CPU, memoria) Hardware Master Console

(controla el HW de z)

Operator Console (controla el z/OS)

Almacenamiento en Disco

Controladora de DASD Unidad de Cinta Cartuchos de Cinta

Recursos de HW usados por el z/OS

• El z/OS se ejecuta en un procesador y reside en memoria durante su ejecución.

• También se le conoce como base control

program (BCP).

• El hardware de z consiste en

procesadores y varios periféricos como

discos (direct access storage devices

(7)

Visión simplificada de conceptos de mainframe

• Software: El sistema operativo z/OS consiste de código ejecutable (executable code), también llamado módulos de carga. Durante el proceso de instalación, el system

programmer copia estos módulos de carga a librerías de

carga load libraries (archivos) que residen en DASD

volumes (discos).

• Hardware: El sistema de HW consiste en todos los

canales, dispositivos, control units, y procesadores que constituyen el ambiente mainframe.

• Dispositivos Periféricos: Estos dispositivos incluyen unidades de cinta, DASD, y consolas.

• Memoria: También llamada almacenamiento Central ó Real, aquí es donde el z/OS se ejecuta, todos los

(8)

Multiprogramación y Multiprocesamiento

• Multiprogramación (Multiprogramming): Es la habilidad de ejecutar muchos programas concurrentemente.

– Con multiprogramación, cuando un job no puede usar el procesador, el sistema puede suspenderlo mediante una

interrupción liberado el procesador para trabajar con otro job.

– z/OS hace la multiprogramación capturando y guardando

toda la información relevante sobre el programa interrumpido antes de permitir a otro programa ejecutarse.

– Cuando el programa interrumpido está listo para ejecutarse de nuevo, se resume su ejecución justo donde se quedó. – Esto permite a z/OS ejecutar miles de programas

(9)

• Multiprocesamiento (Multiprocessing): Es la operación simultánea de dos o más procesadores que comparten los recursos de hardware, como memoria y dispositivos de almacenamiento externos.

• Las técnicas de multiprogramación y multiprocesamiento hacen al z/OS ideal para procesar cargas que requieren muchas operaciones de I/O.

• Las típicas cargas de mainframe incluyen aplicaciones que actualizan millones de registros en una base de

datos, y aplicaciones para miles de usuarios interactivos. • Los sistemas monousuario como las PCs comúnmente

tienen todos los recursos a disposición de un solo usuario.

(10)

Módulos y Macros

• z/OS está hecho de instrucciones de programación que controlan la operación del sistema.

• Estas instrucciones aseguran que el HW sea utilizado eficientemente y permiten que las aplicaciones se ejecuten.

• z/OS incluye conjuntos de instrucciones que por ejemplo, aceptan trabajo, convierten trabajo a una forma que la computadora pueda reconocer, dan seguimiento al trabajo, asignan recursos para el

trabajo, ejecutan el trabajo, monitorean el trabajo y manejan la salida. • Rutina ó modulo (routine/module) :Es un conjunto de instrucciones

relacionadas.

Componente del sistema (system component): Es un conjunto de

módulos relacionados que hacen posible una función particular del sistema, ej: El WorkLoad Manager (WLM) es un componente que controla los recursos del sistema, el Recovery Termination Manager

(RTM) maneja la recuperación del sistema.

Macros: También llamadas macro instructions, son agrupaciones de

(11)

Control blocks

• Cuando los programas ejecutan trabajo en un sistema, dan

seguimiento a este trabajo en áreas de memoria llamadas bloques de control (control blocks).

Los Controls blocks contienen información de estado, tablas ó colas. Hay 4 tipos de CBs:

– System-related control blocks: Cada uno de estos bloques de control representa un sistema z/OS y contiene información de todo el sistema como cuántos procesadores están en uso.

– Resource-related control blocks: Cada uno de estos bloques representa un recurso como procesador ó dispositivo de almacenamiento.

– Job-related control blocks: Cada uno de estos representa un job en ejecución en el sistema.

(12)

Control blocks

Los control blocks sirven como vehículos de comunicación a través del z/OS.

• Esta comunicación es posible porque los programas que utilizan un CB conocen su estructura y pueden encontrar la información que necesitan.

Los CB que representan muchas unidades del mismo tipo se

pueden encadenar juntos en colas y cada cb apunta al siguiente en la cadena

• El sistema operativo puede buscar en la fila para encontrar

información sobre una unidad, trabajo ó recurso en particular, que podría ser:

– La dirección de un CB ó una rutina requerida.

– Información tal cuál como un valor, cantidad, parámetro ó nombre. – Banderas de estado (comúnmente son bits en un byte, donde cada bit

(13)

Almacenamiento físico utilizado por el z/OS

• Conceptualmente, los mainframes tienen 2 tipos de almacenamiento físico:

– Almacenamiento físico ubicado en el procesador del mainframe llamado

memoria, almacenamiento de

procesador processor storage, almacenamiento real, ó

almacenamiento central central

storage (CSTOR).

– Almacenamiento físico externo al mainframe, incluyendo dispositivos de acceso directo como unidades de disco y cinta. Para la utilización del z/OS, este almacenamiento es

llamado almacenamiento auxiliar

(14)

• Una diferencia entre los dos tipos de almacenamiento se relaciona al modo en que son accesados:

– El almacenamiento central CSTOR es accesado de manera síncrona con el procesador, esto significa que el procesador debe esperar mientras los datos son recuperados de aquí. – El almacenamiento auxiliar es accesado asíncronamente. El

procesador lo accesa a través de una petición de I/O que es calendarizada para ejecutarse mientras otro trabajo se ejecuta en el sistema.

• Al procesador le toma mucho menor tiempo accesar

información del almacenamiento central que del auxiliar, sin embargo el auxiliar es mucho menos caro que el

central.

(15)

Facilidades del z/OS

Address Spaces

Almacenamiento Físico

Paginación

Comunicación con el operador

RAS

(16)

• Address Space: Es el rango de memoria virtual

direccionable disponible para un usuario ó programa. Es un área de direcciones virtuales contiguas disponibles para un programa y sus requerimientos de datos. Dado que mapea todas las direcciones disponibles, un

address space incluye código y datos de sistema y

código y datos de usuario.

• z/OS despacha trabajo para ejecución, selecciona los programas a ser ejecutados basado en prioridades y la habilidad para ejecutar y luego carga el programa y los datos en almacenamiento central. Todas las

instrucciones del programa y datos deben estar en almacenamiento central cuando se ejecuta.

(17)

Breve historia del direccionamiento en z/OS

1970: El System/370 definía las

direcciones de memoria con una longitud de 24 bits, proveyendo direccionamiento de hasta 16MB de almacenamiento virtual.

1983: El System/370-XA extendió el

direccionamiento de la arquitectura a 31 bits, para hasta 2GB de almacenamiento virtual.

2000: z/Architecture extendió el

(18)

Address Space

• z/OS provee a cada usuario con un address space único y mantiene la distinción entre los programas y los datos pertenecientes a cada address space.

• Dentro de cada address space, el usuario puede empezar múltiples tareas utilizando los task control blocks (TCBs) que permiten multiprogramación.En z/OS un address space es como un proceso en UNIX, y el address

space identifier (ASID) es como el process ID (PID).

z/OS y sus subsistemas requieren address spaces propios para proveer funcionalidad:

– Los System address spaces realizan funciones para todos los otros tipos de address spaces.

– Subsystem address spaces son para las principales funciones de sistema y productos de middleware como DB2, CICS, e IMS.

– TSO/E address spaces son creados para cada usuario que de da log on en z/OS.

(19)

Aislamiento del Address Space

• El uso de address spaces permite a z/OS mantener la diferencia entre los programas y datos

pertenecientes a cada address space. Las áreas privadas en el address space de un usuario están aisladas de las áreas privadas en otros address spaces, esto provee gran parte de la seguridad del

sistema operativo.

• Hay dos áreas privadas:

– Una bajo la línea de 16 MB (para direccionamiento de 24 bits)

– Una sobre la línea de los 16MB (para direccionamiento de 31 bits). • Cada Address Space también

(20)

Comunicación entre Address Spaces

• z/OS provee dos métodos para la comunicación

entre address spaces:

– Calendarizando un service request block (SRB), que es

un proceso asíncrono y se ejecuta independientemente

del programa que lo solicita.

– Utilizando cross-memory services (XM) y accesando

registros, el cual es un proceso síncrono y se utiliza para

accesar directamente al address space de otro usuario. El

programa que lo solicite debe tener autoridad especial.

(21)

Cross Memory (XM)

• Permite al programa proveer servicios coordinado con otros programas.

• En este caso la comunicación es entre el Address Space 2, que obtiene el control del Address Space 1 cuando el

program call (PC) es emitido.

• El Address Space 1 previamente había establecido el ambiente necesario

antes que el PC transfiriera el control al Address Space 2 el cuál provee el

servicio y regresa el control al Address Space 1.

• La XM tiene 3 objetivos:

– Mover datos de manera síncrona entre diferentes address spaces.

– Pasar el control síncronamente entre instrucciones localizadas en diferentes address spaces.

– Ejecutar una instrucción localizada en un address space mientras que sus operandos están en otro address space.

(22)

Memoria Virtual

If you can see it and it's there, then it's real.

If you can see it and it's not there, then it's virtual.

If you can't see it and it's there, then it's transparent.

(23)

Memoria Virtual

• z/OS utiliza los dos tipo de almacenamiento físico (central y auxiliar) para habilitar otro tipo de almacenamiento llamado almacenamiento virtual.

• En z/OS, cada usuario tiene acceso a almacenamiento virtual a través del cuál tiene acceso al físico.

• Almacenamiento Virtual significa que cada programa en ejecución puede asumir que tiene acceso a todo el almacenamiento definido por el esquema de direccionamiento de la arquitectura.

z/OS soporta un direccionamiento de 64-bits, los que permite un address

space para direccionar hasta 16 exabytes de localidades de memoria.

• Para permitir a cada usuario actuar como si todo este almacenamiento

realmente existiera en el sistema, z/OS mantiene sólo las porciones activas de cada programa en almacenamiento central. Mantiene el resto del código y los datos en archivos llamados page data sets en almacenamiento

auxiliar.

• Almacenamiento virtual, es la combinación de almacenamiento real y auxiliar. z/OS utiliza una serie de tablas e índices para relacionar las

(24)

Cómo trabaja la memoria virtual

• La memoria virtual está dividida en segmentos de 1 MB compuestos de páginas de 4 KB.

• La transferencia de páginas entre memoria auxiliar y real se llama paginación.

• Cuando una página requerida no está en memoria real, una interrupción (llamada page fault) se señala y el

sistema la trae a memoria real.

• El z/OS utiliza tablas de segmento, página y región para dar seguimiento a las direcciones virtuales que son

traducidas de forma dinámica a direcciones reales en un proceso llamado Dynamic Address Translation (DAT)

• Los frames y slots son repositorios para una página de información

(25)

Formato de las direcciones virtuales

• Las páginas son referenciadas por su dirección virtual. • z/OS administra los address spaces en unidades de

varios tamaños:

– Página Los address spaces se dividen en unidades de 4 KB de memoria virtual.

– Segmento Los address spaces se dividen en unidades de 1 MB llamadas segmentos, que son bloques de direcciones virtuales secuenciales.

– Región Los address spaces se dividen en unidades de 2 - 8 GB llamadas regiones.

• Una dirección virtual se divide en 4 campos principales:

(26)

Cómo trabaja la memoria virtual

Proceso 1 Proceso 1

Memoria Real

Memoria Auxiliar

(27)

Páginas, Frames y Slots

• Los pedazos de programa en ejecución en

memoria virtual deben ser movidos entre

almacenamiento real y auxiliar:

– Un bloque de almacenamiento real es un frame.

– Un bloque de almacenamiento virtual es una

página.

– Un bloque de almacenamiento auxiliar es un slot.

• Las páginas, frames y slots son todos del mismo

tamaño: 4096 bytes (4 kilobytes).

(28)

Páginas, Frames y Slots

REAL

VIRTUAL

AUXILIAR

FRAMES

PÁGINAS

(29)

Robo de páginas

• z/OS trata de mantener un suministro adecuado de

frames de memoria real disponibles.

• Cuando este suministro disminuye, z/OS usa robo de

páginas para reponerlo.

• Las páginas que no han sido accesadas por algún

tiempo relativamente largo son buenas candidatas para robo de páginas.

• z/OS también utiliza varios administradores de

almacenamiento para dar seguimiento de las páginas, frames y slots en el sistema:

– Auxiliary Storage Manager (ASM) – Real Storage Manager (RSM)

(30)

Swapeo (Swapping)

• Swapping es uno de varios métodos que utiliza el z/OS para balancear la carga de trabajo del sistema y

asegurar que se mantenga el suministro de frames de memoria real.

• El swapeo tiene el efecto de mover un address space entero dentro ó fuera de la memoria real:

– Un address space swapped-in está activo, tiene páginas en frames de memoria real y páginas en slots de memoria auxiliar. – Un address space swapped-out está inactivo; el address space

reside en memoria auxiliar y puede ejecutar hasta que sea swapped in.

– Un address space logically-swapped out está inactivo; sus

(31)

Protección de memoria

• z/OS usa las siguientes técnicas para preservar la integridad del trabajo de cada usuario:

– Un address space privado para cada usuario. – Protección de páginas.

– Llaves de protección de memoria

• Bajo z/OS, la información en memoria real es protegida de uso no autorizado por llaves de protección. Un

campo de control en memoria real llamado llave está asociado a cada frame.

• Cuando se hace una solicitud para modificar el

contenido de una localidad de memoria real, la llave asociada con la solicitud se compara a la llave de

(32)

Llaves de protección de memoria

• z/OS utiliza 16 llaves de protección.

• Las llaves son asignadas de acuerdo al tipo de trabajo que se realice. • La llave se almacena en los bits 8 a 11 del Program Status Word

(PSW).

• Hay un PSW asignado a cada job en el sistema • Las llaves 0 a 7 son utilizadas por el BCP.

• La llave 0 es la master key.

(33)

• Real storage manager (RSM™): Da seguimiento

al contenido de la memoria central.

• Auxiliary storage manager (ASM): Usa los page

data sets del sistema para dar seguimiento a los

slots de memoria auxiliar.

• Virtual storage manager (VSM™): Responde a

peticiones para obtener y liberar memoria

virtual.

(34)

¿Que es Administración de Cargas de

Trabajo y cuáles son sus Objetivos?

WLM (WorkLoad Manager): Administra el

procesamiento de cargas de trabajo en el sistema de acuerdo a las metas de negocio,

• Administra el uso de recursos del sistema, como

procesador y memoria para cumplir con estos goles. • WLM tiene 3 objetivos:

1. goal achievement: Para lograr los objetivos de negocio

definidos por la instalación, asigna automáticamente recursos de un sysplex a cargas de trabajo basado en su importancia y metas.

2. Throughput: Para lograr una utilización óptima de los recursos

del sistema desde el punto de vista del sistema.

3. Response and Turnaround Time: Para lograr una utilización

(35)

WLM Balancea Throughput y Turnaround

• Para balancear rendimiento con tiempo de respuesta, WLM realiza las siguientes acciones:

– Monitorea el uso de recursos por parte de los address spaces. – Monitorea el uso de recursos por parte de todo el sistema para

determinar si están siendo completamente utilizados.

– Determina a qué address spaces hacerles swap out y cuándo. – Inhibe la creación de nuevos address spaces ó hace robo de

páginas cuando escasea la memoria central.

– Cambia la prioridad para despachar las address spaces, lo cuál controla la velocidad en la que los address spaces pueden

consumir recursos del sistema.

(36)

Cuándo se le notifica al WLM para que trabaje

• Otros componentes de z/OS, administradores

de transacciones y administradores de bases de

datos le pueden comunicar al WLM un cambio

de estado de un address space, ó invocarlo.

• El WLM es notificado cuando:

– Se crea un address space. – Se elimina un address space.

– Se inicia ó se completa un swap-out.

– La asignación de rutinas requiere elegir los

dispositivos que serán asignados a cada solicitud. – Una carga de trabajo prioritaria no está cumpliendo

(37)

¿Qué es interrumpir el procesamiento?

• Una interrupción es un evento que altera la secuencia en la que el procesador ejecuta las instrucciones. Las interrupciones pueden ser planeadas (específicamente solicitada por el programa en ejecución) ó no planeada (causada por un evento que puede estar relacionada ó no con el programa que está en ejecución), z/OS utiliza 6 tipos de interrupciones:

1. SuperVisor Calls or SVC: Esta interrupción ocurre cuando el programa

emite una solicitud de SVC para recibir un servicio de sistema. El SVC interrumpe el programa y pasa el control al supervisor para que dé el servicio, como abrir un archivo, obtener almacenamiento ó enviar un mensaje al operador.

2. I/O: Ocurre cuando el CSS señala un cambio de estado, como que se

completó una operación de I/O, ocurrió un error ó un dispositivo está listo para trabajar.

3. Externas: Estas indican varios eventos, como que el operador interrumpió

el programa desde consola, ó el procesador recivió una señal desde otro procesador.

4. Restart: Ocurren cuando el operador selecciona la función restart desde la

consola ó cuando otro procesador envía la señal de restart.

5. Program: Son causadas por errores de programa, como una operación

(38)

¿Cómo se utiliza el PSW (Program

Status Word)?

• El PSW es un área de datos de 128-bit en el procesador que provee información crucial para el HW y SW, incluyendo la dirección de la siguiente instrucción de programa e información de control sobre el programa que está corriendo actualmente. Cada procesador tiene sólo una PSW actual. Por lo que sólo una tarea puede ser ejecutada en un procesador por vez.

• Hay tres tipos de PSW:

– PSW Actual: Indica la siguiente instrucción a ser ejecutada. – PSW Nueva: Hay una asociada con cada uno de los 6 tipos de

interrupciones, tiene la dirección de la rutina que puede procesar esa interrupción.

– PSW Vieja: También hay una asociada con cada uno de los 6 tipos de interrupciones.

• Cómo se switchean las PSWs:

– Se almacena la actual PSW en la vieja asociada con el tipo de interrupción que ocurrió.

(39)

¿Qué hace el despachador (dispatcher)?

• En z/OS el despachador es responsable de rutear el control a la unidad de trabajo con mayor prioridad que esté lista para ejecutarse. El despachador procesa el trabajo en el siguiente orden:

1. Special exits: Son salidas a rutinas que tienen alta prioridad por condiciones específicas en el sistema.

2. Service Request Blocks (SRBs) que tienen prioridad global. 3. Address Spaces listos en orden de prioridad, un address space

(40)

¿Qué hace el despachador (dispatcher)?

• Un address space puede estar en cualquiera de estas 4 filas:

1. IN-READY: En memoria y esperando ser despachada. 2. IN-WAIT: En memoria, pero

esperando algún evento para terminar.

3. OUT-READY: Listo para ejecutarse pero swapped out

4. OUT-WAIT: Swapped out y esperando un evento para terminar.

• Sólo el trabajo en la fila IN-READY puede

(41)

Serializando el uso de recursos

• En un ambiente multitarea, multiprocesamiento la

serialización de recursos es la técnica que se utiliza para coordinar el acceso a los recursos utilizados por más de una aplicación.

• Global Resource Serialization (GRS) Es el componente que serializa el acceso a los recursos para proteger su integridad.

• Enqueuing: Es el medio por el cual un programa solicita el control de un recurso, se realiza con las macros ENQ (enqueue) y DEQ (dequeue).

(42)

Breve comparación de z/OS y UNIX

Término ó concepto z/OS UNIX

Inicio del sistema

operativo IPL Boot

Almacenamiento de

datos Data Sets Archivos

Formato de datos

Orientado a Registros normalmente de 80

bytes

Orientado a bytes

Herramientas interactivas

TSO/E ISPF y z/OS

UNIX shell rlogin telnet

Referencias

Documento similar

a) Supranational Policy of Education: The description and interpretation of specific actions in terms of education and training from the institutions which make up different

En el presente informe se describen los resultados obtenidos durante la práctica realizada en el laboratorio de suelos para le determinación de las propiedades físicas del

Pasamos revista, en este artículo, que tiene unas connotaciones muy personales, a la realidad de la escuela unitaria que viví hace cincuenta y sesenta años, sus elementos y

The first block (sociodemographich information) included years of education; the second (clinical characteristics) included frequency of relapses, positive and negative symptoms,

Un sistema de memoria virtual se implementa utilizando paginación como método de administración de memoria básica y algún mecanismo de intercambio (para descargar páginas de

Non‐English  Languages Otros idiomas  además del inglés.

Para luchar contra este lamenta- ble estado de cosas, que, por otra parte, no es privativo de Italia, pues otros países también lo su- fren con más o menos intensidad, el

CCAA Name Identification Address (Reg 183/2005) Registration/Approval.