• No se han encontrado resultados

Capitulo 9 zOS Basics

N/A
N/A
Protected

Academic year: 2020

Share "Capitulo 9 zOS Basics"

Copied!
26
0
0

Texto completo

(1)

Capítulo 9

(2)

Objetivos

Después de completar este capítulo usted será capaz de: • Listar varios lenguajes de programación comunes para el

mainframe.

• Explicar la diferencia entre un lenguaje compilado y uno interpretado.

• Crear un CLIST ó REXX simple.

• Elegir la organización adecuada de un data set para una aplicación online.

• Comparar las ventajas de un lenguaje de alto nivel con las de un lenguaje ensamblador.

(3)

Introducción a los Lenguajes de

Programación

• Un lenguaje de programación es la forma en la que

el humano se comunica con una computadora.

• Las computadoras sólo entienden el lenguaje de

máquina.

• Los humanos escriben programas en lenguajes de

programación, que luego son convertidos a lenguaje

de máquina para que la computadora los procese.

• Los lenguajes de programación han evolucionado

de lenguaje de máquina a lenguajes más naturales

para los humanos.

(4)

Clasificación de los Lenguajes de

Programación

• 1°generación

– Lenguaje de máquina

– Código directo de máquina (bits y bytes)

• 2°generación

– Lenguaje ensamblador – Específico al hardware – Debe ser ensamblado

– Instrucciones de máquina simbólicas más estructuras de datos correspondientes a los registros de la

(5)

• 3°generación

– Lenguajes procedurales, conocidos como lenguajes de alto nivel (High-Level Languages – HLL– )

– Ejemplo: COBOL, Basic y C.

– Deben ser compilados antes de su ejecución

– Normalmente son portables a otras plataformas al recompilarlos

• 4°generación – 4GL

– Lenguajes no procedurales – Generadores de reportes

– Lenguajes de consultas (Query languages) – Ejemplo: SQL

(6)

• Lenguajes de programación visuales – Utilizan el mouse e íconos

– Ejemplo: Visual Basic, Visual C++

• Lenguajes de marcado de hipertexto – Son usados para crear páginas web – Ejemplo: HTML, XML

• Lenguajes orientados a objetos – Ejemplo: Python, Java

• Otros Lenguajes

– Ejemplo: Para aplicaciones en 3D

• Lenguajes de script

– Ejemplo: REXX, CLIST

(7)

¿Qué lenguaje de programación usar

en z/OS?

• Hay que tomar en cuenta las siguientes

consideraciones:

– ¿Qué tipo de aplicación?

– ¿Cuáles son los requerimientos de tiempo de respuesta?

– ¿Cuáles son las limitaciones de presupuesto para desarrollo y soporte?

– ¿Cuáles son las limitaciones de tiempo del proyecto? – ¿Se necesita escribir algunas de las subrutinas en

diferentes lenguajes por sus fortalezas sobre el lenguaje elegido para toda la aplicación?

(8)

Utilizando Lenguaje Ensamblador en z/OS

• Lenguaje ensamblador

– No usado para el desarrollo de aplicaciones normalmente

– Específico a la máquina

• Usado cuando:

– Se requiere un control del programa a nivel bits y bytes

– Se accesan bloques de control del sistema

– Se necesita eficiencia en la ejecución (desempeño) – Se requieren subrutinas de alto desempeño que

(9)

Utilizando Lenguaje Ensamblador en z/OS

• El lenguaje ensamblador está hecho de enunciados que representan:

– Instrucciones – Comentarios

• Los enunciados de instrucción se dividen en tres grupos:

– Instrucciones de máquina: Es la representación simbólica del lenguaje de máquina

– Instrucciones de ensamblador: Es una solicitud al ensamblador para que haga una operación durante el ensamble de un

módulo, por ejemplo, definir constantes, reservar areas de memoria y definir el final del módulo

– Macro instrucciones: Es una solicitud al programa ensamblador para procesar una secuencia predefinida de instrucciones

(10)

Utilizando Lenguaje Ensamblador en z/OS

Mensajes y Listas

Ensamblador de alto nivel (HLASM)

Binder ó Linker Enunciados fuente

del lenguaje ensamblador

Versión del programa en

lenguaje de máquina

(11)

• Common Business-Oriented Language

(COBOL)

• Es un lenguaje de programación muy

similar al inglés

• Utilizado para aplicaciones orientadas a

negocio

(12)

Proceso de pasar de un programa HLL

a un módulo ejecutable

Código fuente del HLL

Compilador HLL

Mensajes y Listas

Binder ó Linker

Versión del programa en

lenguaje de máquina

(13)

Formato de programa COBOL

• Un programa COBOL se agrupa en las

siguientes cuatro divisiones:

– IDENTIFICATION DIVISION Esta división contiene la información para identificar el programa.

– ENVIRONMENT DIVISION Describe las

características de las fuentes de datos de entrada-salida usadas por el programa.

– DATA DIVISION Todas las variables (datos ó

archivos) usadas por el programa se deben definir en esta división.

(14)

Relación entre los programas HLL y JCL

//MYJOB JOB

//STEP1 EXEC PROGRAM

...

OPEN FILE=INPUT1

OPEN FILE=OUTPUT1

READ FILE=INPUT1

...

WRITE FILE=OUTPUT1

...

CLOSE FILE=INPUT1

CLOSE FILE=OUTPUT1

/*

//INPUT1 DD DSN=MY.INPUT,DISP=SHR

(15)

Programa

JCL para el JOB

DDNAME DSNAME

(16)

Usando PL/I en z/OS

• Lenguaje de programación de alto nivel

HLL de propósito general

• Ideal para:

– Programación de sistemas

– Aplicaciones comerciales

– Aplicaciones de ingeniería

– Aplicaciones de cálculo científico

• Menos detallado que COBOL

(17)

Usando C/C++ en z/OS

• C es un lenguaje de programación multi-propósito

• Ideal para:

– Código a nivel sistema – Procesamiento de texto – Gráficas, etc.

• Contiene un conjunto de enunciados conciso, con

funcionalidad agregada a través de su librería

• C es altamente consistente a través de diferentes

plataformas

(18)

Utilizando Java en z/OS

• Java es un lenguaje de programación

orientado a objetos

• Enterprise COBOL y Enterprise PL/I

proveen interfaces a programas escritos

en Java

• Java Native Interface (JNI) permite a tu

programa llamar a otros programas

escritos en otros lenguajes.

(19)

Usando CLISTs en z/OS

• CLIST command list, son listas de comandos TSO/E • El lenguaje CLIST es interpretado (no necesita ser

compilado ni link-editado)

• CLISTs son fáciles de escribir y probar. • Lenguajes CLIST y REXX:

– Dos lenguajes de comandos disponibles en TSO/E

• El lenguaje de programación CLIST es usado para: – Realizar tareas de rutina

– Invocar otros CLISTs

– Invocar aplicaciones escritas en otros lenguajes

(20)

Usando REXX en z/OS

Restructured Extended Executor (REXX) language es un lenguaje

procedural.

• REXX es un lenguaje interpretado y compilado (Puedes elegir compilarlos antes de ejecutarlo para reducir el tiempo de procesamiento)

• REXX es un lenguaje de funciones más completas que CLIST

• REXX es usado para:

– Realizar tareas de rutina – Invocar otros REXX

– Invocar aplicaciones escritas en otros lenguajes

(21)

• Compilados versus interpretados:

– Esta decisión se toma en la fase de diseño

– Usualmente la decisión de usar un lenguaje interpretado se basa en:

• Restricciones de tiempo en la fase de desarrollo • Facilidad de cambios futuros al programa

• El desempeño en lenguajes interpretados es menor

• Ambos, compilados e interpretados tienen sus fortalezas y debilidades.

• No hay una respuesta simple a cuál es mejor, depende de la aplicación.

• En una sola aplicación, se pueden usar varios lenguajes de programación.

(22)

Ventajas de los Lenguajes Compilados

• Ensamblador, COBOL, PL/I, C/C++ son traducidos ejecutando el código fuente a través de un compilador • Esto resulta en un código muy eficiente que puede ser

ejecutado cualquier número de veces

• Frecuentemente, el tiempo de la traducción sólo se usa una vez, cuando el programa fuente se compila,

después sólo se carga el módulo y se ejecuta. • Los programas compilados son más eficientes • Los lenguajes interpretados son analizados,

interpretados y ejecutados cada vez que el programa se ejecuta, incrementando el costo de ejecución del

(23)

Ventajas de los Lenguajes Interpretados

• Un lenguaje interpretado es relativamente

fácil de codificar, probar y modificar

• Bueno para soluciones de una sola vez

• Bueno para prototipos de desarrollo de

aplicaciones

• Muy adaptable

(24)

¿Qué es el entorno de Lenguajes de z/OS?

• Metas de desarrollo de aplicaciones:

– Modularizar y compartir código

– Desarrollar aplicaciones en un front-end basado en PC

• El z/OS Language Environment es un producto que

provee un ambiente común para todos los lenguajes

de alto nivel:

– Establece un lenguaje de desarrollo común y ambiente de ejecución para los programadores de aplicaciones en z/OS – Consolida en una librería común, eliminando la necesidad de

(25)

Ventajas del Entorno de Lenguajes de z/OS

• Establece un entorno común de ejecución para todos los HLLs

• Combina servicios esenciales de ejecución, como

rutinas para manejo de mensajes de ejecución, manejo de condiciones, y manejo de almacenamiento

• Todos estos servicios están disponibles a través de un conjunto de interfaces que son consistentes entre todos los lenguajes de programación

• Puedes utilizar un ambiente de ejecución para tus

aplicaciones, sin importar el lenguaje de programación de la aplicación

(26)

Componentes del Entorno de Lenguajes

Librería Específica del Lenguaje C/C++ Librería Específica del Lenguaje COBOL Librería Específica del Lenguaje FORTRAN Librería Específica del Lenguaje PL/I

Interfaz del Entorno de Lenguages, servicios comunes y rutinas de soporte Librería

Específica del Lenguaje

Referencias

Documento similar

(1992) Specific speech and language disorders in children.. (1995) The handbook of

12 «Los niños son cómicos por naturaleza, y a todos gusta el arte de la representación en la esce- na; por lo cual, y para que sirva de Escuela de declamación y acción a profesores

primeros por tener el pico mas grueso que la cabe- za, y los segundos por tener la cabeza mas gruesa que el pico, y ser menores que los primeros. Circunstancias que les.. Se

 Restricción taxonómica: tendencia a referir las nuevas palabras a objetos de la misma clase (ej. Utilizar la palabra autobús para nombrar otros.. vehículos:

• Debe destacarse que en el caso de la Comunidad Valenciana se ha obtenido respuesta de los datos de la Ficha A de tan sólo 3 librerías del grupo de establecimientos muy grandes,

Autor: Blanco Brotons, Francisco Prólogo de Juan Carlos Velasco Colección: El Derecho y la Justicia Materia: Filosofía del derecho; Justicia Año de edición: 2021.. Número

Como ya se habló en el capítulo 2 las redes neuronales convolucionales se usan para resolver problemas relacio- nados con clasificación de imágenes, para lo cual cuentan con dos

Para el manejo del Microbot TeachMover se ha utilizado la librería Robot.jar, la cual contiene los métodos que permite realizar los diversos movimientos al robot mediante un