Informática III. Concurrencia
|
|
- Álvaro Olivera Gutiérrez
- hace 5 años
- Vistas:
Transcripción
1 Informática III Concurrencia
2 Motivaciones El uso de concurrencia en los programas es relevante para: Aprovechar los avances en hardware y software: multiprocesamiento, soporte de threads a nivel S.O. y lenguaje, etc. Mejorar perfomance superponiendo tareas Mejorar los tiempos de respuesta Simplificar la estructura de los programas
3 Ejemplos Un servidor Web atiende miles de requerimientos simultáneos Un central telefónica cursa múltiples comunicaciones Un control de vuelo supervisa todos los sistemas de un avión
4 Soporte de concurrencia en hardware Multiprocesamiento: SMP, múltiples unidades de ejecución. Multiprogramación: multithreading simultáneo Grids
5 Soporte de concurrencia en software Soporte del sistema operativo: multiprogramación (threading nativo), sincronización, IPC Soporte de threads a nivel de plataforma de desarrollo: POSIX pthreads, Windows dll s, Java Threads Frameworks de objetos activos
6 Definiciones Concurrencia Procesamiento simultáneo lógico No implica múltiples procesadores físicos Paralelismo Procesamiento simultáneo físico Múltiples elementos de procesamiento y/o dispositivos de operación independiente
7 Concurrencia vs. paralelismo Tareas Tareas Plataforma monoprocesador Plataforma SMP
8 Complejidad y concurrencia Competencia por recursos Bloqueos y deadlocks Planificación Optimización de perfomance
9 Objetos Activos EjecutoresDeMetodos <<Interface>> InterfaceCliente manejadorm1() manejadorm2() manejadorm3() Planif ic ador despac har() m1() m2() m3() * 1 Cola 1 insertar() remover() 1 RepresentacionDeRecursos
10 Propiedades requeridas Seguridad Vitalidad Reusabilidad Perfomance
11 Seguridad Ninguna operación debe dejar a un objeto en un estado incoherente que pueda generar comportamientos erróneos o inesperados. Las fallas de seguridad hacen que el objeto funcione mal
12 Vitalidad Una actividad nunca deja de mostrar comportamiento La falta de esta propiedad hace que los objetos no funcionen
13 Reusabilidad Los objetos son utilizables en múltiples contextos cuando se cumple que: Su comunicación externa está restringida Su estructura interna es determinística
14 Perfomance La medida en la cual las actividades se ejecutan a tiempo y rápidamente, y depende de: Potencia Latencia Capacidad Eficiencia Escalabilidad Degradación
15 Aseguramiento de Sistemas Concurrentes Exclusión Inmutabilidad Sincronización
16 Exclusión En un sistema seguro, cada objeto debe autoprotegerse de las violaciones a su integridad. Frecuentemente esto requiere la cooperación de otros objetos y sus métodos. La acción simultánea de múltiples threads sobre un mismo objeto puede generar estados inconsistentes.
17 Exclusión Técnicas de exclusión: Los métodos no alteran el estado del objeto Asegurar dinámicamente que el estado del objeto es accedido por los threads secuencialmente Asegurar estructuralmente que el objeto es usado por un thread a la vez
18 Exclusión Inmutabilidad Sincronización Adaptadores Locks
19 Inmutabilidad El objeto nunca cambia de estado (sólo lectura) Tipos abstractos de datos Representaciones de valores
20 Sincronización Mutex Semáforos Latches
21 Mutex (exclusión mutua) try{ mutex.adquirir(); try{ /* tareas...*/ } finally{ mutex.liberar(); } } catch( InterruptedException e ){... }
22 Semáforos Son un tipo especial de mutexes con un contador de threads: cada vez que un thread adquiere el lock se decrementa en 1 Si un thread invoca adquirir() y el contador está en 0, se bloquea hasta que se libere un lock
23 Latches Son variables de condición que pueden cambiar de estado una única vez, señalando un paso irreversible Son empleadas usualmente para sincronizar el arranque de un sistema, por ejemplo inicializado o listo
24 Control de Estado Fallas y excepciones Guarda Estados y confinamiento Control de concurrencia Transacciones
25 Fallas y Excepciones Precondiciones Mensaje (método + parámetros ) Invariantes + Poscondiciones Respuesta Objeto Excepciones
26 Enfoques para la Ejecución de Operaciones Optimista: se intenta (try) ejecutar la operación. En caso de falla, se tratan las excepciones que aparecen Pesimista: se verifican las precondiciones antes de ejecutar la operación
27 Excepciones y Guarda A veces es muy costoso en términos de perfomance o recursos verificar las precondiciones de una operación. En este caso se intenta la operación (enfoque 'optimista') y si falla se trata la excepción
28 Guarda En contextos donde es posible, un método puede verificar las precondiciones utilizando construcciones de 'guarda' para evitar la ejecución de la operación si puede anticiparse que va a ocurrir una falla.
29 Tratamiento de Fallas Terminación abrupta (muerte súbita) Continuación Rollback Rollforward Reintento
30 Creación de Threads Mensajes unidireccionales Servicios Descomposición paralela Objetos activos
31 Estrategias de creación Por tarea: se crea un thread para ejecutar una tarea asíncronamente, por ejemplo en sistemas con e/s intensiva Por actor: el thread es creado para disparar un objeto activo que ejecuta un proceso generalmente en respuesta a un evento externo, p. ej. en control o sistemas distribuidos
32 Basado en Actores La forma general es: for( ;; ) { aceptar_y_procesar_pedidos(); } Este método crea un objeto activo (actor) que lleva a cabo una serie de tareas diversas
33 Basado en Tareas Manejador de Tarea Servicio for(;;) { aceptar_pedido(); crear_tarea(); } Manejador de Tarea Manejador de Tarea Este método crea un thread por requerimiento que lleva a cabo tareas individuales definidas
34 cliente Mensajes Unidireccionales objeto host Atributos y Conexiones aceptar mensaje Accion(){ actualizarestado(); enviarmensajes(); } helper
35 Mensajes Unidireccionales Eventos: clicks, teclas, etc. Notificaciones: alertas de cambio de estado Postings: mensajes de correo, etc. Activaciones: creacion de procesos Comandos: imprimir, etc. Relays: despacho y ruteo de mensajes
36 Worker Threads La idea central es usar cada WT para ejecutar múltiples tareas secuenciales no relacionadas entre si. Cada WT acepta comandos, almacenándolos en un canal (buffer, cola, pila, etc.) hasta que pueden ejecutarse en un modelo productorconsumidor
37 Worker Threads pedido cliente servidor helper encolar canal tomar worker
38 Colas de Eventos aplicación cola de eventos generarevento();... evento evento evento evento despacho for(;;){ tomarevento(); despachar();... }
39 Polling y E/S dirigida por eventos Polling o encuesta periódica es una técnica basada en la revisión periódica de una condición o estado, señalando el cambio en forma sincrónica Ejemplos: espera de terminación de una operación de E/S, liberación de un lock o sección crítica, etc.
40 Aplicaciones de Polling Cuando el número de condiciones a sondear es limitado o el sistema no tiene gran carga, este enfoque es aceptable, brindando mejor perfomance que el esquema thread por tarea Sin embargo al crecer número de condiciones a sondear puede comprometerse la perfomance. En estos casos se apela a técnicas de serialización y encolamiento
41 E/S por Eventos En tareas con e/s intensiva, asignar un thread por cada tarea puede implicar la creación de un gran número de threads La técnica es asignar threads por eventos, donde cada evento significa disponibilidad de e/s Las interfaces gráficas de usuario son ejemplo de aplicación de esta técnica
42 Servicios Callbacks Join Control de Servicios
43 Callbacks Notificación enviada por el servidor al cliente, indicando la finalización de una tarea Profusamente utilizada, en especial en sistemas donde la finalización de una tarea en el servidor dispara acciones independientes en el cliente Usualmente el cliente provee el mecanismo por el cual es notificado
44 Callbacks Cliente t0: Pedido t2: Notificación Servidor t1: Pedido Helper
45 Join Cuando un thread A debe esperar la finalización de otro B, el método Thread.join() permite sincronizar ambos sucesos
46 Control de Servicios En numerosas aplicaciones un servicio dado puede optimizarse ordenando los requerimientos de los clientes a fin de optimizar perfomance, por ejemplo, en la interface de r/w de discos, aplicando encolamiento y thread pools
47 Descomposición Paralela Son técnicas que permiten aprovechar la existencia de múltiples CPU's para la resolución de problemas de computación intensiva, apuntando a mejorar la potencia y perfomance de la aplicación: Fork/Join Barreras
48 Fork-Join Aplica el principio de división de tareas y paralelismo Es utilizable cuando el algoritmo aplicable es 'descomponible' Plantea nuevos problemas asociados a la descomposición
49 Barreras En la descomposición paralela suelen darse situaciones donde para pasar a otra etapa de procesamiento es imprescindible esperar la terminación de un grupo de threads
50 Barreras sincronización sincronización Etapa1 Etapa2 Etapa3
51 Bibliografia Java Distributed Objects, Doug Lea, Addison-Wesley, segunda edición 1999 El Lenguaje de Programación Java, Arnold y Gosling, Addison-Wesley
Programación Concurrente Recopilación de teoría referente a la materia
UNIVERSIDAD AMERICANA Programación Concurrente Recopilación de teoría referente a la materia Ing. Luis Müller Esta es una recopilación de la teoría referente a la asignatura Programación Concurrente, a
Más detallesProcesos y Threads Procesos y Threads. Rendimiento Rendimiento (paralelismo) (paralelismo) Productividad Productividad
Procesos y Threads Procesos y Threads Procesos Procesos Threads Threads Concurrencia Concurrencia Ventajas Ventajas Modelos Modelos Información Información adicional (PCB) adicional (PCB) Preparado Preparado
Más detallesINFORMATICA III. Cap. I: Plataformas
INFORMATICA III Cap. I: Plataformas Plataformas Código nativo y portable Máquinas virtuales Servidores Estaciones de trabajo Clientes delgados Dispositivos embebidos Dispositivos móviles Plataformas Hardware
Más detallesde Gran Canaria Centro de Tecnología Médica Programación Concurrente
Universidad de Las Palmas de Gran Canaria Centro de Tecnología Médica http://www.ctm.ulpgc.es Tema 1: Introducción a la Escuela Técnica Superior de Ingenieros de Telecomunicación Conceptos Fundamentales
Más detallesGuillermo Román Díez
Concurrencia Creación de Procesos en Java Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Creación de Procesos en Java 1/18 Concurrencia
Más detallesProgramación concurrente
23 de Marzo de 2017 Condiciones generales Docente: Hernán Melgrati (hmelgra@...) Horario: Teóricas: Jueves de 14 a 17 Prácticas: Martes de 14 a 17 Evaluaciones: Un parcial (mediados de mayo) Un trabajo
Más detallesUNIVERSIDAD DE GUADALAJARA
UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS PROGRAMACIÓN CONCURRENTE
Más detallesInformática Electrónica Concurrencia
Informática Electrónica Concurrencia DSI- EIE FCEIA 2015 Que es concurrencia? Ejecución simultánea de dos o mas aplicaciones en una única plataforma de cómputo DSI EIE - FCEIA Informática Electrónica 2
Más detallesArquitectura de Computadoras. Clase 9 Procesamiento paralelo
Arquitectura de Computadoras Clase 9 Procesamiento paralelo Introducción al procesamiento paralelo Sea cual sea el nivel de prestaciones, la demanda de máquinas de mayor rendimiento seguirá existiendo.
Más detallesHilos. Hilos. Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos de Sistemas Operativos Hilos en Linux
Hilos Hilos Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos de Sistemas Operativos Hilos en Linux 1 Objetivos Introducir la noción de hilo una unidad fundamental de la utilización
Más detallesProgramación Concurrente y Paralela. Unidad 1 Introducción
Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el
Más detallesTécnicas de Programac. Concurrente I PLANIFICACIONES Actualización: 2ºC/2018. Planificaciones Técnicas de Programac.
Planificaciones 7559 - Técnicas de Programac. Concurrente I Docente responsable: GARIBALDI JULIA ELENA 1 de 5 OBJETIVOS Familiarizar al estudiante con las técnicas de Programación Concurrente, los conceptos
Más detallesLenguajes de Programación
Lenguajes de Programación Concurrencia Ma. Laura Cobo Departamento de Ciencias e Ingeniería de la Computación 2018 Prof. Ma. Laura Cobo Página 1 Motivación Un programa se dice concurrente si puede tener
Más detallesConcurrencia de Procesos
Concurrencia de Procesos Dos o mas procesos, se dice que son concurrentes o paralelos, cuando se ejecutan al mismo tiempo. Esta concurrencia puede darse en un sistema con un solo procesador (pseudo paralelismo)
Más detallesTEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño
TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño 1 Introducción Aparecen en los 80 Desarrollo de Microprocesadores LAN Sistemas Distribuidos:
Más detallesTEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS
TEMA 9. SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño 1 Introducción Aparecen en los 80 Desarrollo de Microprocesadores LAN Sistemas Distribuidos: Gran nº de procesadores
Más detallesSistemas Distribuidos. Soporte de Sistemas Operativos
Soporte de Sistemas Operativos Soporte de Sistemas Operativos Soporte de Sistemas Operativos Soporte de Sistemas Operativos Tareas principales de un SO: Administrar recursos Proveer abstracciones de los
Más detallesPARADIGMA y LENGUAJES DE PROGRAMACIÓN
CATEDRA CARRERA: PARADIGMA y LENGUAJES DE PROGRAMACIÓN LICENCIATURA EN SISTEMAS DE INFORMACION FACULTAD DE CIENCIAS EXACTAS QUIMICAS Y NATURALES UNIVERSIDAD NACIONAL DE MISIONES Año 2017 2do Cuatrimestre
Más detallesProgramación Concurrente
Programación Concurrente Joaquín EZPELETA Dept. de Informática e Ingeniería de Sistemas Universidad de Zaragoza J. Ezpeleta 1 Programas concurrentes Un programa concurrente se compone de procesos y objetos
Más detallesPROCESOS E HILOS - Hilo
1/6 PROCESOS E HILOS - Hilo! contexto de ejecución que se planifica de forma independiente pero que comparte un mismo espacio de direcciones con otros hilos - Proceso! conjunto de uno o más hilos y los
Más detallesESCUELA DE INGENIERIA Informática Y Sistemas
ESCUELA DE INGENIERIA Informática Y Sistemas ASIGNATURA SISTEMAS OPERATIVOS CODIGO ST0257 SEMESTRE 2013-2 INTENSIDAD HORARIA 64 horas semestral CARACTERÍSTICAS Suficientable CRÉDITOS 4 1. JUSTIFICACIÓN
Más detallesUNIVERSIDAD DE GUADALAJARA
UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS TALLER DE SISTEMAS
Más detallesInterbloqueo. Concurrencia: Interbloqueo e Inanición
Interbloqueo Concurrencia: Interbloqueo e Inanición Capítulo 6 Bloqueo permanente de un conjunto de procesos que compiten por recursos del sistema o por comunicación con los otros No existe una solución
Más detallesProcesos Definición y Estados
Procesos Definición y Estados Profesorado de Informática CeRP del Suroeste, Uruguay Contenidos Qué es un proceso Estructuras de datos para gestionar procesos API para trabajar con procesos Hilos (threads).
Más detallesProgramación de Multitareas utilizando Hilos
Programación de Multitareas utilizando Hilos Enero/2012 Programación de Multitareas utilizando Hilos Origen de los hilos como elementos necesarios en la programación de multitareas Multihilos en un solo
Más detallesSISTEMAS OPERATIVOS Manejo de procesos
SISTEMAS OPERATIVOS Manejo de procesos Amilcar Meneses Viveros ameneses@computacion.cs.cinvestav.mx Universidad de Occidente Presentación Concepto de proceso Despacho de procesos Operaciones sobre procesos
Más detallesInformática I Threads
Informática I Threads 28 de Setiembre 2010 1 Concepto de programación paralela. 2. 3 Concurrencia => Race Conditions. 4. 5 Funciones Concepto de Programación Paralela Computación paralela Técnica de programación
Más detallesIntroducción a los sistemas de tiempo real. Informática III Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica FCEIA - UNR
Introducción a los sistemas de tiempo real Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica FCEIA - UNR 1 Objetivos Introducir conceptos básicos relativos a los sistemas de tiempo
Más detallesFecha de elaboración: Agosto de 2004 Fecha de última actualización: Julio de 2010
PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en ciencias computacionales Integral profesional Programa elaborado por: Programación Concurrente Horas teóricas: 1 Horas prácticas:
Más detallesProcesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)
Procesos y Threads Procesos y Threads Procesos Procesos Threads Threads Concurrencia Concurrencia Ventajas Ventajas Modelos Modelos Información Información adicional () adicional () Preparado Preparado
Más detallesAplicaciones Concurrentes
PROGRAMACIÓN CONCURRENTE TEMA 6 Aplicaciones Concurrentes ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓN PROGRAMACIÓN CONCURRENTE Aplicaciones Concurrentes
Más detallesHilos. Módulo 4. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur
Hilos Módulo 4 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Chapter 4: Threads Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos de
Más detallesINDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos
INDICE Prólogo XV 1. Introducción 1 1.1. Evolución de los sistemas operativos 2 Procesamiento en serie 3 Procesamiento por lotes 4 Multiprogramación 7 1.2. Tipos de Sistemas Operativos 9 Sistemas operativos
Más detallesDiseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso Presentación e introducción
Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso 2016-2017 Presentación e introducción Félix García Carballeira Grupo de Aruitectura de Computadores felix.garcia@uc3m.es
Más detallesPROGRAMACIÓN CONCURRENTE
PROGRAMACIÓN CONCURRENTE Lenguajes de Programación - Progr. Concurrente 1 Introducción El concepto fundamental de la programación concurrente es la noción de Proceso. Proceso: Cálculo secuencial con su
Más detallesCapítulo 3. Procesos concurrentes 3.1. Conceptos de programación concurrente La computación concurrente es la simultaneidad en la ejecución de
Capítulo 3. Procesos concurrentes 3.1. Conceptos de programación concurrente La computación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un
Más detallesConcurrencia. Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada.
Concurrencia Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada. Introducción a Procesos Todas las computadoras moderas realizan varias cosas al mismo tiempo. En cada
Más detallesConcurrencia y paralelismo
Introducción a los Sistemas Operativos Concurrencia y paralelismo 1. Ejecución de programas. Procesos. 2. Multiprogramación Bibliografía Silberschatz and Galvin Sistemas Operativos. Conceptos fundamentales.
Más detallesBases de Datos Paralelas. Carlos A. Olarte BDII
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Contenido 1 Introducción 2 Paralelismo de I/O 3 Paralelismo entre Consultas 4 OPS Introducción Por qué tener bases de datos paralelas? Tipos de arquitecturas:
Más detallesSistemas Operativos. Procesos
Sistemas Operativos Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor de proceso
Más detallesGestión de Transacciones: Concurrencia y Recuperación
Gestión de Transacciones: Concurrencia y Recuperación Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2011 Objetivos
Más detallesCena de filosofos y sincronizacion java
Programación concurrente y Distribuída Curso 2011-12 Miguel Telleria, Laura Barros, J.M. Drake telleriam AT unican.es Computadores y Tiempo Real http://www.ctr.unican.es Objetivos Presentaros la aplicación
Más detallesConcurrencia. Concurrencia
Concurrencia Procesos y hebras Concurrencia Programación concurrente Por qué usar hebras y procesos? Ejecución de procesos Ejecución de hebras Hebras vs. Procesos Creación y ejecución de hebras La prioridad
Más detallesTEMA 1. FUNDAMENTOS DE LA CONCURRENCIA
TEMA 1. FUNDAMENTOS DE LA CONCURRENCIA Ingeniería en Informática Beneficios de la programación Especificación de ejecución Características de los sistemas s Verificación de programas s 2 Bibliografía Programción
Más detallesConcurrencia PLANIFICACIONES Actualización: 1ºC/2013. Planificaciones Concurrencia. Docente responsable: A DESIGNAR.
Planificaciones 7522 - Concurrencia Docente responsable: A DESIGNAR. 1 de 5 OBJETIVOS Conocer y aplicar las técnicas necesarias para la cooperación entre procesos por diseño. Entender los problemas que
Más detallesPlanificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 6
Planificaciones 7508 - Sistemas Operativos Docente responsable: MENDEZ MARIANO 1 de 6 OBJETIVOS 1-Estudiar y conocer en detalle los pilares fundamentales de los sistemas operativos: el Kernel y Proceso,
Más detallesPlanificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 6
Planificaciones 7508 - Sistemas Operativos Docente responsable: MENDEZ MARIANO 1 de 6 OBJETIVOS 1-Estudiar y conocer en detalle los pilares fundamentales de los sistemas operativos: el Kernel y Proceso,
Más detallesHilos. Módulo 4. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco. Hilos
Hilos Módulo 4 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Hilos Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos
Más detallesTema 12: El sistema operativo y los procesos
Tema 12: El sistema operativo y los procesos Solicitado: Tarea 06 Arquitecturas de una computadora y el funcionamiento del software M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx
Más detalles1- UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES. Tecnicatura Universitaria en Programación de Sistemas
1- UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES Carrera: Tecnicatura Universitaria en Programación de Sistemas Materia: Curso: 1 año Curso lectivo: 2018 Carga horaria
Más detallesSISTEMAS EN TIEMPO REAL
SISTEMAS EN TIEMPO REAL Año académico: 2006/07 Centro: Escuela Politécnica Superior Estudios: Ingeniero Técnico en Informática de Sistemas Asignatura: Sistemas en Tiempo real Ciclo: 1º Curso: 3º Cuatrimestre:
Más detallesPlanificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 5
Planificaciones 9503 - Sistemas Operativos Docente responsable: MENDEZ MARIANO 1 de 5 OBJETIVOS 1-Estudiar y conocer en detalle los pilares fundamentales de los sistemas operativos: el Kernel y Proceso,
Más detallesENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda
Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos
Más detallesINFORMATICA III. Capítulo I: Plataformas
INFORMATICA III Capítulo I: Plataformas Plataformas Hardware Modelos de sistemas Sistemas operativos Herramientas de desarrollo Informática III Pág. 2 Plataformas Hardware Modelos de sistemas Sistemas
Más detallesConvivencia Gestión de Procesos
Convivencia Gestión de Procesos Dra. Carolina Mañoso Dpto. Informática y Automática.UNED Índice: Procesos Introducción a los procesos Estados de los procesos Listas de procesos El planificador de procesos
Más detallesUniversidad Autónoma de Baja California Facultad de Ciencias Administrativas Unidad Mexicali
SISTEMAS OPERATIVOS I Clave: 4595 HC: 3 HL: 2 HT: HPC: HCL: HE: CR: 8 Etapa de formación a la que pertenece: Básica Carácter de la Asignatura: Obligatoria PROPÓSITO GENERAL DEL CURSO Proporcionar al estudiante
Más detallesHilos Secciones Stallings:
Capítulo 4 Hilos Secciones Stallings: 4.1 4.3 Contenido Procesos e hilos. Hilos a nivel de núcleo y a nivel de usuario. Multiprocesador simétrico (SMP). Micronúcleos. 1 Proceso Unidad de propiedad de los
Más detallesProcesos. Procesos. Sistemas Operativos Procesos KMC 2017
Procesos Procesos Concepto de Proceso Planificación de Proceso Operaciones sobre Procesos Comunicaciones Interprocesos (IPC) Ejemplos de Sistemas de IPC Comunicación en un Sistema Cliente-Servidor 1 Concepto
Más detallesTema 4: Gestión de Procesos
Tema 4: SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La Mancha Marzo de 2006 Índice Concepto
Más detallesTEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema
Más detallesUn importante problema para sistemas de la nueva generación
Un importante problema para sistemas de la nueva generación J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious Problem for Next Generation Systems, IEEE Computer, October 1988. Manifestar
Más detallesSistemas Distribuidos. Prog. Distribuida bajo Internet
Sistemas Distribuidos Prog. Distribuida bajo Internet Definición Hay muchas definiciones Básicamente, varios computadores o nodos de computación en lazados mediante una red y que comparten datos, procesamiento,
Más detallesThreads, SMP y Microkernels. Proceso
Threads, SMP y Microkernels Proceso Propiedad de los recursos a un proceso se le asigna un espacio de dirección virtual para guardar su imagen Calendarización/ejecución sigue una ruta de ejecución la cual
Más detallesPROCESAMIENTO DISTRIBUIDO
Pág. 1 INTRODUCCIÓN PROCESAMIENTO DISTRIBUIDO Arquitectura de comunicaciones: Software básico de una red de computadoras Brinda soporte para aplicaciones distribuidas Permite diferentes Sistemas Operativos
Más detallesUNIVERSIDAD DE GUADALAJARA
UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS TALLER DE SISTEMAS
Más detallesGranularidad y latencia
Niveles de paralelismo y latencias de comunicación Niveles de paralelismo. Granularidad o tamaño de grano. Latencia de comunicación. Particionado de los programas. Empaquetado de granos. Planificación
Más detallesConceptos generales de sistemas distribuidos
Departament d Arquitectura de Computadors Conceptos generales de sistemas distribuidos Sistema distribuido Un sistema en el que los componentes hardware y/o software ubicados en computadores en red, se
Más detallesAcceso coordinado a recursos compartidos
Programación Concurrente en Linux Acceso coordinado a recursos compartidos Alberto Lafuente, Dep. KAT/ATC de la UPV/EHU, bajo Licencia Creative Commons 1 Contenido 1. Recursos compartidos 2. Mecanismos
Más detallesUNIVERSIDAD DE ORIENTE NÚCLEOS NUEVA ESPARTA-SUCRE COMISIÓN DE CURRICULA PROGRAMA ANALÍTICO DE LA ASIGNATURA
UNIVERSIDAD DE ORIENTE NÚCLEOS NUEVA ESPARTA-SUCRE COMISIÓN DE CURRICULA PROGRAMA ANALÍTICO DE LA ASIGNATURA ESCUELA Hotelería y Turismo-Nva. Esparta Ciencias Sucre CÓDIGO 230-3464 HORAS SEMANALES 6 HORAS
Más detallesUNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL TUCUMAN
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL TUCUMAN Departamento: SISTEMAS Carrera: SISTEMAS DE INFORMACION Área: COMPUTACIÓN Asignatura: SISTEMAS OPERATIVOS Nivel: 2 NIVEL Tipo: ANUAL Contenido
Más detallesSNet. Switch Transaccional NonStop v2.0
Descripción del producto El SNET Switch Transaccional NonStop es un completo switch transaccional diseñado nativamente para plataformas HP NonStop sobre el sistema operativo Guardian, aprovechando todas
Más detallesSistemas Distribuidos: Migración de Procesos
Sistemas Distribuidos: Migración de Procesos Yudith Cardinale Universidad Central de Venezuela Facultad de Ciencias Postgrado en Computación Octubre 2013 Febrero 2014 Objetivos Entender la importancia
Más detallesFacultad de Ingeniería Industrial y de Sistemas v1.0 MA781U PROCESOS DISTRIBUIDOS
PROCESOS DISTRIBUIDOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen El proceso cliente servidor es la clave para comprender el potencial de los sistemas de información y las redes
Más detallesProgramación Concurrente y Distribuída Estado Compartido, 2010
Programación Concurrente y Distribuída Estado Compartido, 2010 Camilo Rueda 1 1 Universidad Javeriana-Cali 9 de abril de 2010 Concurrencia con estado: introducción problema: modelar con puertos un objeto
Más detallesDE SISTEMAS CONCURRENTES
REDES DE PETRI: MODELADO DE SISTEMAS CONCURRENTES PROGRAMACIÓN CONCURRENTE MASTER EN COMPUTACIÓN DEPARTAMENTO DE ELECTRÓNICA Y COMPUTADORES UNIVERSIDAD DE CANTABRIA CURSO 2012/13 1 MODELADO DE SISTEMAS
Más detallesSistemas Operativos. Curso Página Web: Asignaturas de programación en el plan de estudios
Programa de la asignatura Sistemas Operativos 3 er Curso de la Licenciatura en Física Curso 2010-2011 Profesor: J. Javier Gutiérrez (gutierjj@unican.es) Página Web: http://www.ctr.unican.es/asignaturas/so/
Más detallesProgramación Gráfica de Altas Prestaciones
rogramación Gráfica de Altas restaciones lataformas de altas prestaciones para Infomática Gráfica. Máster de Desarrollo de Software Depto. de Lenguajes y Sistemas Informáticos lsi.ugr.es/~jmantas/ga 1.
Más detallesEntornos de programación paralela basados en modelos/paradigmas
Program. paralela/distribuida Entornos de programación paralela basados en modelos/paradigmas Sobre la programación paralela 1 Índice Reflexiones sobre la programación paralela MapReduce Propuesta original
Más detallesAsignaturas antecedentes y subsecuentes
PROGRAMA DE ESTUDIOS Programación Concurrente Área a la que pertenece: Área de Formación Integral Profesional Horas teóricas: 3 Horas prácticas: 2 Créditos: 8 Clave: F0177 Asignaturas antecedentes y subsecuentes
Más detallesMULTIPROCESADORES EL SOFTWARE EN LOS MULTIPROCESADORES
Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público
Más detallesGUÍA DOCENTE CURSO FICHA TÉCNICA DE LA ASIGNATURA. Datos de la asignatura Nombre Sistemas Operativos
GUÍA DOCENTE CURSO 2016-2017 ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA FICHA TÉCNICA DE LA ASIGNATURA Datos de la asignatura Nombre Sistemas Operativos Código ASI20 Titulación Grado en Ingeniería Telemática
Más detallesCOMPUTACIÓN DE ALTA PERFORMANCE
COMPUTACIÓN DE ALTA PERFORMANCE Curso 2010 Sergio Nesmachnow (sergion@fing.edu.uy) Gerardo Ares (gares@fing.edu.uy) Grupo de Procesamiento Paralelo Aplicado Centro de Cálculo COMPUTACIÓN DE ALTA PERFORMANCE
Más detallesDepto. Sistemas I.O. y Computación. informáticos y Computación Univ. La Laguna
Sobre el papel de la programación paralela en los nuevos planes de estudios de informática Francisco Almeida Domingo Giménez José M. Mantas Antonio M. Vidal Depto. Estadística, Depto. Informática y Depto.
Más detallesFundamentos de los Sistemas Operativos. Tema 2. Procesos José Miguel Santos Alexis Quesada Francisco Santana
Fundamentos de los Sistemas Operativos Tema 2. Procesos 1998-2015 José Miguel Santos Alexis Quesada Francisco Santana Contenidos del Tema 2 Qué es un proceso Estructuras de datos para gestionar procesos
Más detallesDATOS DE IDENTIFICACIÓN DEL CURSO
DATOS DE IDENTIFICACIÓN DEL CURSO DEPARTAMENTO: CIENCIAS COMPUTACIONALES ACADEMIA A LA QUE PERTENECE: SOFTWARE DE SISTEMAS NOMBRE DE LA MATERIA: TALLER DE SISTEMAS OPERATIVOS CLAVE DE LA MATERIA: CC301
Más detallesCarrera: ISC. ARM ISC. Erick Dalet Villanueva Mascort. ISC. Arturo Guerra Franco. Asignaturas Temas Asignaturas Temas Sistemas Operativos.
1.- DATOS DE LA ASIGNATURA Nombre de la Asignatura: Carrera: Clave de la asignatura: Horas teoría-horas practica-créditos: Sistemas Distribuidos y Concurrente. ISC. ARM-0702 3-2-8. 2.- HISTORIA DEL PROGRAMA
Más detallesIntroducción a los Sistemas Operativos S.O.
Introducción a los Sistemas Operativos S.O. Contenido 1. Conceptos 2. Evolución de los Sistemas Operativos 3. Administración del Entorno de Hardware 1. CONCEPTOS 1.1. Definición de Sistema Operativo Es
Más detallesSumario Prólogo Unidad didáctica 1. Introducción a los sistemas operativos Objetivos de la Unidad... 12
ÍNDICE SISTEMÁTICO PÁGINA Sumario... 5 Prólogo... 7 Unidad didáctica 1. Introducción a los sistemas operativos... 11 Objetivos de la Unidad... 12 1. Concepto de sistema operativo... 13 2. Servicios de
Más detallesComputación 1. Roles en la interconexión
Computación 1 Roles en la interconexión Contenido Roles en la Interconexión Host y Terminales Servidores y Clientes Arquitectura Cliente-Servidor Servidor y Cliente son programas Protocolo de Servicio
Más detallesSistemas Operativos. Sistemas Operativos II ITS EMT CETP 2014 Prof. L. Carámbula
Sistemas Operativos Sistemas Operativos Es un programa que actúa como intermediario entre el usuario y el hardware de una computadora. Su propósito es: proporcionar un entorno en el cual el usuario pueda
Más detallesClases 02 & 03: Revisión de conceptos
Clases 02 & 03: Revisión de conceptos Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido
Más detallesEjecución serial: las tareas/instrucciones de un programa son ejecutadas de manera secuencial, una a la vez.
Paralelismo Conceptos generales Ejecución serial: las tareas/instrucciones de un programa son ejecutadas de manera secuencial, una a la vez. Ejecución paralela: varias tareas/instrucciones de un programa
Más detallesUniversisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas
Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Introducción y Conceptos Básicos Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería
Más detallesProgramación Concurrente y de Tiempo Real
GUÍA DOCENTE 2014-2015 Programación Concurrente y de Tiempo Real 1. Denominación de la asignatura: Programación Concurrente y de Tiempo Real Titulación Grado en Ingeniería Informática Código 6369 2. Materia
Más detallesTema III. Multihilo. Desarrollo de Aplicaciones para Internet Curso 12 13
Tema III. Multihilo Desarrollo de Aplicaciones para Internet Curso 12 13 Índice 1.Introducción 2.Tipos de Concurrencia 3.Hilos en Java 4.Implementación de un SNB i. Sin Hilos ii. Con Hilos iii.con Pool
Más detallesAnálisis arquitectural y funcional de la maquina virtual en la plataforma J2ME ÍNDICE
ÍNDICE 1. OBJETIVOS.... ERROR! MARCADOR NO 2. INTRODUCCIÓN... ERROR! MARCADOR NO 2.1. ESTRUCTURACIÓN DEL PROYECTO... ERROR! MARCADOR NO 3. INTRODUCCIÓN A LA TECNOLOGÍA JAVA: LA MAQUINA VIRTUAL... ERROR!
Más detallesAfinación y Rendimiento de Bases de Datos
DIPLOMADO Afinación y Rendimiento de Bases de Datos TEMARIO DURACIÓN: 250 hrs. 1. Introducción a los Sistemas de Información y RDBMS (30 hrs.) 1. Sistemas de Información y RDBMS (30 hrs.) 1.1 Introducción
Más detalles