MONITORES INTEGRANTES: Arias Marcelo Tnt. Espín Roberto Tnt. Rosero Santiago.

Slides:



Advertisements
Presentaciones similares
INSTITUTO TECNOLOGICO SUPERIOR DE TAMAZUNCHALE INTEGRANTES: MAXIMO HERNANDEZ BAUTISTA CLAUDIA JIMENEZ PROCOPIO ANA LUZ RODRIGUEZ JONGUITUD LEONEL AQUINO.
Advertisements

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
CICLOS CONDICIONALES DINÁMICOS Y CICLOS CONDICIONALES FIJOS Aixa Sosa Colón NE: Programación 2250 – 3240 ONL Profesora. Rebecca Acevedo Rivera.
Universidad Pedagógica Francisco Morazán Tema: SISTEMA DE BASE DE DATOS Grupo: 5 Integrantes: Danilo Hernán Lagos Avilés Erlinda Yohanna Díaz Elvir Indira.
Unidad 1: Conceptos fundamentales Instituto Tecnológico de Toluca Ing. Sistemas Computacionales Asignatura: Programación Lógica y Funcional Presentan Nieto.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
UNIVERSIDAD NACIONAL DE HUANCAVELICA. EVOLUCIÓN HISTÓRICA DE SISTEMA OPERATIVO 1ª GENERACIÓN ( ):  Sistema operativo: constituye como un conjunto.
ALGORITMOS Y TIPOS DE DATOS Un algoritmo es un método para resolver un problema. Para la creación de un programa (resolver un problema) en un lenguaje.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Figure: Algoritmos. Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Funciones en lenguaje C 2 Funciones Definición: – Las funciones son los bloques de construcción básicos de C. Dentro de ellas se da toda la actividad.
Ingreso , proceso y salida de datos
Clases y Objetos.
Estructuras de Control en Visual Basic.net
Repaso Programacion en C
SEGURIDAD SQL Usuarios, privilegios y perfiles.
PROGRAMACIÓN (1).
Procesos Concurrentes
Comunicación, Sincronización y Concurrencia de procesos
Programación Orientada a Objetos
U.T. 11: Introducción A Las Bases De Datos
Fundamentos de la programación orientada a objetos
MANEJO DE ARRELOGS EN C Clase 8: Arreglos.
LENGUAJE DE PROGRAMACIÓN Y SOFTWARE PROPIETARIO
BASES DE DATOS.
ADMINISTRACíON DE LA MEMORIA EN SISTEMAS RECIENTES
Exclusión mutua de secciones
Introducción a programación web Martin Esses
Definición y Conversión de datos
Introducción a programación web Martin Esses
APLICACIONES DE WINDOWS
Programación orientada a objetos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Monitores Mecanismo sincronización de nivel más alto que semáforos Construcción a nivel de lenguaje de programación que controla el acceso a datos compartidos.
Sonia Rueda Herencia y Polimorfismo
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Introducción a las estructuras de datos
PROCESOS COMENZAR.
Algoritmo Capitulo Cinco.
CONCEPTOS PRELIMINARES (Cont)
Introducción al lenguaje de programación. Introducción  Los lenguajes de programación son aplicaciones específicas que han sido pensadas y diseñadas.
Java – programación orientada a objetos programación ii – iee
Universidad Nacional de Colombia - Leguajes de Programación
Programación Orientada a Objetos. ¿Qué es un ordenador? “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de.
Programación lógica y funcional Unidad I Conceptos fundamentales.
UNIVERSIDAD SAN FRANCISCO DE ASÍS INGENIERÍA DE SISTEMAS DOCENTE: ING. FRANCISCO SOLORZANO UNIVERSITARIO: ALAN TORREZ LOAYZA AÑO 2018.
FUDAMENTOS BÀSICOS computación
Fundamentos de la Programación I
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Diagrama de Clases Un diagrama de clases esta compuesto por los siguientes elementos: Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición,
Concurrencia: exclusión mutua y sincronización Capítulo 5.
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Programación Modular Programación de Computadoras - Hugo Vega Grupo2: Reina Rodríguez Miriam Salluca.
Lenguaje de Programación II
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
CARRERA DE INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN SISTEMAS OPERATIVOSMONITORES INTEGRANTES: BIT SOLARIS KALI Sangolquí, Mayo del 2019.
Fundamentos Algorítmicos 1
Fundamentos Algorítmicos 1
EVOLUCIÓN DE LOS PARADIGMAS DE PROGRAMACIÓN Integrantes: Christian Abad, Kevin Colcha.
Estructura de los sistemas operativos
UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA FILIAL CHINCHA ESCUELA PROFESIONAL DE INGENIERÍA DE COMPUTACIÓN Y SISTEMAS Por: Nestares Torres Luis Jesús Enrique.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Estructura de Sistemas Operativos
Estructura de los Sistemas Operativos por: Omar Saravia Tasayco
FIGURE: Algoritmos. CONCEPTOS BÁSICOS. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Transcripción de la presentación:

MONITORES INTEGRANTES: Arias Marcelo Tnt. Espín Roberto Tnt. Rosero Santiago

¿Qué son los Monitores? ■Un monitor es un mecanismo de alto nivel de Software para control de concurrencia que contiene una colección de datos y los procedimientos necesarios para realizar la asignación de un determinado recurso o grupo de recursos compartidos por varios procesos.

Un poco de Historia……….. ■La idea de un Monitor fue presentada primero por Dijkstra en 1971 donde hizo una propuesta de una unidad de programación denominada “Secretary” para encapsular datos compartidos, junto con los procedimientos para acceder a ellos. ■Luego ésto fue mejorado por Hoare y en 1974 fue quien acuñó el nombre de “Monitor”. Posteriormente, Hansen incorpora los monitores al lenguaje Pascal concurrente en el año 1975.

Los Monitores se caracterizan: ■Porque proveen sincronización de procesos con exclusión mutua, es decir, que sólo se permite que un proceso puede estar activo. ■Los procesos no pueden usar directamente la representación de un tipo Monitor por lo tanto un procedimiento definido dentro de un monitor sólo tiene acceso a las variables declaradas localmente y a los parámetros formales.

Resumiendo las Características básicas de un Monitor son: ■Es un Módulo de software. ■Tipo Abstracto de Dato (TAD). ■Mecanismo de alto nivel (impuesto por el compilador). ■Estructura Fundamental de Sincronización. ■Variables de datos locales sólo se acceden a través de los procedimientos del Monitor. ■Un proceso entra al monitor invocando uno de sus procedimientos.

Estructura: ■Los monitores tiene distintas formas de declaración y creación según el lenguaje de programación utilizado, así que a continuación utilizamos la siguiente notación genérica: Estructura Datos (privados) Recurso compartido Colas (“condition variable” = assertion) Variables internas Procedimientos (públicos) entry() signal() wait() Secuencia de inicio

Sintaxis de un monitor: El tipo de dato "Monitor" contiene la declaración de variables compartidas cuyos valores definen el estado de una instancia de dicho tipo. Tiene un cuerpo de procedimientos o funciones que operan dichas variables.

Importante destacar! ■Asegura que sólo un proceso a la vez puede estar activo dentro del Monitor. ■El programador no necesita codificar explícitamente. ■Se agrega el constructor condition para sincronización.

Ventajas del uso de Monitores: ■Exclusión mutua automática: Al ejecutar un “wait” (dormir) al proceso que está dentro del monitor, inmediatamente se permite que entre otro proceso que esté en la cola esperando a entrar. ■Ejecución simultánea o concurrencia modular: Evitando conflictos de compartición de recursos al existir exclusión mutua. ■Modularidad: Sólo en el Monitor se tiene visibilidad sobre los objetos que están declarados en él. ■Facilidad de mantención: La sincronización de procesos se realiza en el interior del Monitor, por lo que es más fácil de verificar, y por ende se facilita su mantenimiento.

Desventajas del uso de Monitores: ■Sincronización depende del programador: Razón por la cual existe la probabilidad de errores. ■Probabilidades de starvation: Es decir, que se tengan procesos de baja prioridad que nunca lleguen a ejecutarse. ■Muy costoso: Al bloquearse muchos procesos, se produce una pérdida de eficiencia. ■Riesgo de thrashing o hiperpaginación: sucede cuando se utiliza una gran cantidad de recursos de manera creciente para hacer una cantidad cada vez más baja de trabajo.