Equipo4 - WordPress.com

Download Report

Transcript Equipo4 - WordPress.com

2.3 CAPA DE PROCESAMIENTO
DE DATOS.
2.4 INTEGRACIÓN DE SISTEMAS
HEREDADOS.
Luis Reyes López
Blanca Lilia Vázquez Sánchez
Rita Nicte_ja Zains Vargas
Contenido
 Concepto de proceso.
 Procesos ligeros (hilos o threads).
 Llamadas al sistema para la gestión de hilos.
Sistemas operativos: una
visión aplicada
2
© J.
Carretero, F. García, P. de
Miguel, F. Pérez
Que es un proceso
 Un proceso es simplemente, un programa en
ejecución que necesita recursos para realizar
su tarea: tiempo de CPU, memoria, archivos y
dispositivos de E/S. El SO es el responsable
de:
 Crear y destruir los procesos.
 Parar y reanudar los procesos.
 Ofrecer mecanismos para que se comuniquen
y sincronicen.



Procesos ligeros
Un proceso ligeroo
es unthreads
programa en ejecución que comparte la imagen de memoria y
otras informaciones con otros proceso ligeros.
Informaciones por proceso ligero
 Contador de programa, Registros
 Pila
 Procesos ligeros hijos
 Estado (ejecutando, listo o bloqueado)
Información que comparten en el proceso
 Espacio de memoria
 Variables globales
 Ficheros abiertos
 Procesos hijos
 Temporizadores
 Señales y semáforos
 Contabilidad
Proceso
Procesos ligeros
Threads
 Los threads de un mismo proceso comparten el mismo espacio de
direcciones de memoria ( código, datos y pilas de los diferentes procesos
ligeros).
 No existe protección entre los threads, cosa que si ocurre entre los
procesos.
Estado del proceso ligero:
 En ejecución, listo para ejecutar y bloqueado.
 El estado de un proceso será la combinación de los
estados de sus procesos ligeros.
 Los procesos ligeros permiten paralelizar una aplicación.
Así, cuando un programa puede dividirse en
procedimientos que se pueden ejecutar de forma
independiente, el mecanismo de threads permite lanzar
en ejecución simultanea todos ellos.
 La base de este paralelismo estriba en que, mientras un
proceso ligero está bloqueado, otro puede ejecutar.
Estructura de un proceso en
Proceso
Windows
NT
Código
Datos
Recursos (ficheros, ...)
Entorno del proceso
Thread 1
Registros
Pila
......
Thread n
Registros
Pila
Proceso
Bloqueado por comunicación
Bloqueado por acceso a disco
Activo
Estados del proceso
ligero
Procesos ligeros
Paralelización utilizando
procesos ligeros
Procedimiento 1
P
Procedimiento 2
F P
Espera
en E/S
Espera
en E/S
F Ejecución
serie
Procedimiento 1
P
F
Espera
en E/S
Ejecución
paralela
Procedimiento 2
P
Espera
en E/S
F
Procesamiento
Diseño con
procesos ligeros
 P. Ligero






Paralelismo y variables compartidas
Llamadas al sistema bloqueantes por proceso ligero
Permite separación de tareas
Permite división de tareas
Aumenta la velocidad de ejecución del trabajo
Programación concurrente




Simplicidad versus exclusión en el acceso
Imaginar otra llamada al mismo código
Mutex
Variables globales
Paralelismo
 Procesos ligeros:
 Permiten paralelismo y variables compartidas.
 Utilizan llamadas al sistema bloqueantes por proceso ligero.
 Proceso convencional con un solo proceso ligero:
 No hay paralelismo.
 Utiliza llamadas al sistema bloqueantes con perdidas de utilización.
 Proceso con un solo proceso ligero, pero llamadas bloqueante:
 Permite paralelismo.
 Utiliza llamadas al sistema no bloqueantes, lo que lleva a un diseño muy
complejo y difícil de mantener.
 Varios procesos convencionales cooperando:
 Permite paralelismo.
 No comparte variables, por lo que la comunicación de datos a través de
ficheros puede consumir mucho tiempo.
 Mayor sobrecarga en la ejecución
 Ventajas:
Diseño de proceso
ligeros
 Permite la separación de tareas. Cada tarea se puede encapsular en un
proceso ligero independiente.
 Facilita la modularidad, al dividir trabajos complejos en tareas.
 Aumenta la velocidad de ejecución del trabajo aprovechando los
tiempos de bloqueo.
 Permite la programación concurrente:
 Implica el acceso a los datos compartidos de forma correcta.
 Hay variables globales que comparten varios procesos ligeros. Aparición
de accesos incorrectos a esas variables.
 Se emplean mecanismos de sincronización, como mutex para impedir
colisiones.
 Para escribir código correcto hay que imaginar los códigos de otros
procesos en ejecución y la cohexistencia entre ellos.
Diseño de servidores mediante
threads
 Se presentan tres soluciones:
 Thread distribuidor que recibe las ordenes enviándolas a un thread
trabajador (Crear y destruir threads trabajadores). Una variante es
generar un conjunto de threads trabajadores que quedan libres cuando
finalizan la tarea encomendada.
 Disponer de un conjunto de threads iguales, que trabajan cuando
reciben una tarea a medida que llegan solicitudes en puerto.
 Segmentación o pipe-line. Cada trabajo se divide en una serie de fases,
encargándose de cada una de ellas un thread especializado. Se pueden
tratar tantas solicitudes como fases tenga la segmentación, estando
cada thread en un estado del trabajo.
Procesos ligeros en el
diseño de servidores
Núcleo
Puerto
Núcleo
Puerto
Sistemas operativos: una
visión aplicada
14
© J.
Carretero, F. García, P. de
Miguel, F. Pérez
Solicitudes
Puerto
Solicitudes
Núcleo
Solicitudes
Trabajador
Distribuidor
Conclusión
 Los beneficios clave de los hilos se derivan de
las implicaciones del rendimiento: se tarda
menos tiempo en crear un nuevo hilo de un
proceso que ya existe, en terminarlo, y en
hacer un cambio de contexto entre hilos de
un mismo proceso. Al someter a un mismo
proceso a varios flujos de ejecución se
mantiene una única copia en memoria del
código, y no varias.
2.4 Integración de sistemas
heredados.
 Sistema informático que ha quedado obsoleto o
anticuado y que continúa siendo utilizado por el
usuario.
La integración de sistemas
heredados
Se define como la reutilización de sistemas y
aplicaciones existentes, que se logra
mediante la integración con aplicaciones
corporativas desarrolladas recientemente.
Objetivo de los Sistemas
Heredados
Evitar cualquier modificación en los
sistemas heredados que pueda poner
en peligro la entrega de servicios.
 Lo habitual es que los sistemas heredados, los que ya
suponen un problema para una empresa u
organización por la dificultad para sustituirlos, no
sean los mismos sistemas que originalmente se
empezaron a utilizar en la empresa.
 Los sistemas heredados incorporan un gran número
de actualizaciones hechas a lo largo de su vida útil.
 La funcionalidad que un sistema heredado ofrece a
los procesos empresariales puede estar disponible a
través de una tecnología más moderna
Factores que ocasionan
cambios en las organizaciones
 Estado de la economía nacional e internacional
 Los mercados cambiantes
 Los cambios en las leyes
 Los cambios de administración o la
reorganización estructural
Estos cambios generan o modifican los
requerimientos del sistema de
información, por lo que sufren cambios
conforme cambian los negocios.
DESAFÌOS ASOCIADOS
HEREDADOS
CON LOS SISTEMAS
 Falta de interoperabilidad
 Interfaces de usuario incomodas y
anticuadas
 Carencia del acceso en tiempo real a los
datos operacionales
 Uso intensivo de recursos y esfuerzos para
poner al día y extender los sistemas
 Disminución de los conocimientos técnicos
ALGUNAS RAZONES POR LAS QUE LAS
EMPRESAS SE MODERNIZAN
 Proteger las inversiones existentes
 Mejorar rápidamente la eficiencia del servicio
prestado
Seguridad
 Para proteger los datos y recursos de una organización,
la plataforma Power de IBM incorpora características
avanzadas de autenticación y cifrado, así como recursos
de control de gastos y administración, se implementan
políticas de seguridad a nivel de sistema y de usuario.
 Estas herramientas ayudan a las organizaciones a
asegurar sus datos frente a amenazas de seguridad
internas y externas, satisfacer o exceder el alcance de las
regulaciones de seguridad y políticas de cumplimiento, y
apoyar las auditorías de seguridad.
Escalabilidad
 Para adaptarse al crecimiento de un negocio, los
sistemas deben ser escalables. Los sistemas
heredados, como el mainframe, son reconocidos
por su escalabilidad.
Los sistemas escalables pueden adaptarse para
utilizar una cantidad adecuada de recursos de
sistema, como:
 Memoria
 Procesadores
 Almacenamiento
a fin de funcionar eficientemente y con
independencia del tamaño o la complejidad de
la red.
Soporte para la Integración de
Aplicaciones Heredadas 3270 y 5250
 PASSPORT Host Integration Objects (HIO) es
una solución basada en tecnología de
Microsoft para la integración de aplicaciones
heredadas. Ofrece un método programático
para integrar aplicaciones basadas en hosts
IBM que utilicen protocolos 3270 o 5250 con
otras aplicaciones ActiveX o .NET.
PASSPORT HIO : Solución de
integración no intrusiva orientada a la
velocidad y seguridad, que reutilizan
valiosos procesos comerciales que
han ido adaptándose y
perfeccionándose a lo largo de
muchos años. A diferencia de otras
soluciones de screen-scraping,
PASSPORT HIO elimina la necesidad
de tener la emulación de terminal
ejecutándose en la PC de un usuario
final.
Conclusiones:
 Hoy en día, la mayoría de las organizaciones se
encuentran adaptando sus procesos de negocios
a los nuevos escenarios económicos y
tecnológicos, para poder mantenerse
competitivas, en ese sentido, la modernización e
integración de sus Sistemas de Software son
tareas indispensables para lograr ese objetivo.
Debido a que la organizaciones solo se
preocupan por el elevado costo y los cambios
que ocasionara a la empresa pero no ven mas
allá de los grandes beneficios que la renovación
de tecnología y automatización de sistemas
puede aportar hacia la organización.