Especificando interacción con recursos compartidos (EN CONSTRUCCIÓN: NO IMPRIMIR)
|
|
- Héctor Márquez Escobar
- hace 6 años
- Vistas:
Transcripción
1 Especificando interacción con recursos compartidos (EN CONSTRUCCIÓN: NO IMPRIMIR) Julio Mariño Universidad Politécnica de Madrid Babel research group Concurrencia, marzo 2017 Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
2 motivación: interacción a alto nivel concurrencia en 3 igualdades concurrencia = ejec. simultánea + indeterminismo + interacción interacción = comunicación + sincronización sincronización = exclusión mutua + sincronización por condición hasta ahora, hemos realizado la comunicación mediante compartición de variables entre varios procesos la sincronización la hemos llevado a cabo con mecanismos de bajo nivel, como espera activa o semáforos. la sincronización de exclusión mutua se resuelve trivialmente mediante semáforos, pero la sincronización por condición no siempre es sencilla de programar usando semáforos. en la segunda mitad del curso estudiaremos mecanismos más avanzados de programar sincronización por condición Como quiera que estos mecanismos son relativamente dependientes del lenguaje, necesitamos una manera independiente del lenguaje de especificar en qué consiste la interacción dentro de un sistema concurrente. Esto nos permitirá definir un problema y resolverlo en diferentes lenguajes, guiar la generación de código mediante patrones, estudiar la corrección (o equivalencia) de nuestras soluciones, analizar propiedades de un sistema (riesgos de inanición, interbloqueo, etc.) Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
3 una visión abstracta de la interacción procesos vs. recursos para especificar la interacción entre procesos de una manera completamente independiente de su implementación en un determinado lenguaje debemos modelar el comportamiento observable a lo largo del tiempo del sistema concurrente para ello: especificaremos por separado procesos y puntos de interacción, a los que llamaremos recursos compartidos, de tal manera que toda la interacción visible entre los procesos tendrá lugar a través de dichos recursos compartidos. identificaremos acciones atómicas que los procesos realizan sobre los recursos. Estas acciones atómicas sólo podrán ser observadas en su totalidad y su efecto es serializable, es decir, el efecto de dos o más acciones es equivalente a ejecutarlas en secuencia (sin solape). La comunicación entre procesos tiene lugar a través de las acciones que se realizan sobre un recurso compartido, ya que las acciones pueden devolver valores asociados con el estado interno de un recurso. La sincronización de exclusión mutua está impĺıcita en la atomicidad y serializabilidad mencionada anteriormente. La sincronización por condición viene dada como una restricción sobre el conjunto de todos los entrelazados posibles de las acciones sobre un recurso Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
4 procesos vs. recursos ejemplo: contador compartido incr 1 decr 1 incr 2 contador decr 2 incr 3 decr 3 Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
5 procesos vs. recursos ejemplo: contador compartido incr 1 contador decr 1 incr 2 inc dec decr 2 n incr 3 decr 3 trazas: comunicación: tiene lugar a través de los cambios en el valor del contador: inc dec dec [n = 0] [n = 1] [n = 0] [n = 1] sincronización: al no haber sincronización por condición, todos los entrelazados son válidos: inc; dec; dec; dec; inc; inc; dec; inc; inc; dec; dec; etc. Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
6 procesos vs. recursos ejemplo: aparcamiento parking barr e ent sal barr s n no todos los entrelazados son válidos: si la capacidad del aparcamiento es 3 e inicialmente está vacío: ent; sal; ent; ent; sal; ent; ent; (es válida) ent; ent; ent; sal; ent; ent; (no es válida) Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
7 procesos vs. recursos ejemplo: almacén de un dato prod 1 cons 1 almacen1 prod 2 alm(x) ext cons 2 haydato? d prod 3 cons 3 trazas válidas: alm(1); ext/1; alm(2); ext/2; alm(3); ext/3;... trazas no válidas: ext/42;... alm(1); alm(2);... alm(1); ext/1; ext/1;... Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
8 procesos vs. recursos ejemplo: almacén de n datos prod 1 almacen3 cons 1 prod 2 alm(x) ext cons 2 sec prod 3 cons 3 Algunas trazas no válidas para el caso de 1 dato, lo son si pasamos a más de un dato (p.ej. 2): alm(1);alm(2);ext/1;ext/2;... Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
9 procesos vs. recursos ejemplo: lectores/escritores lect 1 lect/esc escr 1 lect 2 leer escribir escr 2 doc lect 3 escr 3 Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
10 procesos vs. recursos ejemplo: lectores/escritores lect 1 escr 1 lect/esc lect 2 IL IE escr 2 FL l e FE lect 3 escr 3 trazas válidas: IL; FL; IE; FE; IL; IL; FL; FL; IE; FE;... trazas no válidas: IL; IE; FE; IL; IL; FL; FL; IE; FE; FL;... Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
11 sincronización como lenguaje de un autómata contador compartido inc inc inc inc inc dec dec dec dec dec Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
12 sincronización como lenguaje de un autómata aparcamiento ent ent ent sal sal sal Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
13 sincronización como lenguaje de un autómata almacén de un dato alm vacío lleno ext Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
14 sincronización como lenguaje de un autómata almacén de un dato alm(x) x ext / return(x) Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
15 sincronización como lenguaje de un autómata lectores/escritores IE IL IL IL 0/1 0/0 1/0 2/0 3/0... FE FL FL FL Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
16 un lenguaje formal para especificar recursos compartidos CTADs Objetivo: tener una representación compacta, formal y no ambigua para expresar una máquina (posiblemente infinita) de estados Un CTAD contiene una declaración del estado interno del recurso compartido (DOMINIO) y una interfaz con las acciones atómicas permitidas sobre el recurso. La sincronización por condición se especifica declarando una fórmula (CPRE) que debe cumplirse para que una acción se efectúe. La comunicación se especifica mediante el cambio de estado del recurso producido por la ejecución de una acción más el valor retornado a los procesos tras ejecutar la acción. Otra fórmula (POST) especifica formalmente esto. Los CTADs definen, en general, un autómata no determinista. Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
17 ejemplo: contador compartido C-TAD Contador OPERACIONES ACCIÓN inc: ACCIÓN dec: SEMÁNTICA DOMINIO: TIPO: Contador = Z INVARIANTE: cierto INICIAL: self = 0 CPRE: Cierto inc() POST: self = self pre + 1 CPRE: Cierto dec() POST: self = self pre 1 Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
18 ejemplo: aparcamiento C-TAD Parking OPERACIONES ACCIÓN ent: ACCIÓN sal: SEMÁNTICA DOMINIO: TIPO: Parking = Z INVARIANTE: 0 self CAP INICIAL: self = 0 CPRE: self < CAP ent() POST: self = self pre + 1 CPRE: Cierto sal() POST: self = self pre 1 ejercicio: define un CTAD equivalente que cuente huecos en vez de coches. Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
19 ejemplo: almacén de un dato C-TAD Almacén1Dato OPERACIONES ACCIÓN almacenar: Tipo Dato[e] ACCIÓN extraer: Tipo Dato[s] SEMÁNTICA DOMINIO: TIPO: Almacén1Dato = (Dato: Tipo Dato HayDato: B) INVARIANTE: cierto INICIAL: self.haydato CPRE: self.haydato almacenar(e) POST: self.dato = e pre self.haydato CPRE: self.haydato extraer(e) POST: e = self pre.dato self.haydato Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
20 ejemplo: lectores/escritores C-TAD GestorLE OPERACIONES ACCIÓN IL, FL, IE, FE: SEMÁNTICA DOMINIO: TIPO: GestorLE = (l : N e : N) INICIAL: self.l = 0 self.e = 0 INVARIANTE: self.l > 0 self.e = 0 self.e > 0 self.e = 1 self.l = 0 CPRE: self.e = 0 IL() POST: self.e = 0 self.l = self pre.l + 1 CPRE: Cierto FL() POST: self.e = 0 self.l = self pre.l 1 CPRE: self.e = 0 self.l = 0 IE() POST: self.l = 0 self.e = 1 CPRE: Cierto FE() POST: self.l = 0 self.e = 0 Mariño (UPM) Recursos compartidos Concurrencia, marzo / 20
Diseño de sistemas concurrentes
Diseño de sistemas concurrentes Manuel Carro Universidad Politécnica de Madrid Necesidad de diseño Hasta ahora, problemas ya cerrados: Número de procesos, recursos Código de procesos Especificación de
Más detallesSistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
Más detallesExpresiones y sentencias
Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En C, todas las sentencias
Más detallesContenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo
Tutorial Contenido 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo 1. El proceso Fases soportadas por UML Análisis de requisitos de usuario Análisis de requisitos de software Diseño de la plataforma
Más detallesEspecificación de TAD. Lección 2
Especificación de TAD Lección 2 Esquema Características generales de una especificación Especificación algebraica Especificación no formal Lectura recomendada: sección 1.3 del libro de Z.J. Hernández et
Más detallesTeoría de Modelos Finitos: Motivación
Teoría de Modelos Finitos: Motivación IIC3260 IIC3260 Teoría de Modelos Finitos: Motivación 1 / 29 Poder expresivo de una lógica: Caso finito Desde ahora en adelante nos vamos a concentrar en las estructuras
Más detallesTEMA 6: INTRODUCCIÓN A UML
TEMA 6: INTRODUCCIÓN A UML Por qué modelamos? El modelado es una parte central de todas las actividades que conducen a la producción de un software de calidad. Como tal la ingeniería software debe basarse
Más detallesLección 10: Ejemplos de programación con semáforos
Lección 10: Ejemplos de programación con semáforos El problema de la cena de los filósofos El problema de los lectores y escritores Ejercicios Gestión de concurrencia mediante paso de testigo (implementación
Más detalles1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
Más detallesUnidad II: Análisis semántico
Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico
Más detallesAlgoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Más detalles16 Análisis sintáctico I
2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura
Más detallesARQUITECTURAS DE SOFTWARE
ARQUITECTURAS DE SOFTWARE 1. DEFINICIÓN: La arquitectura de software de un programa o de un sistema computacional está definida por la estructura, comprendida por los elementos de software, las propiedades
Más detallesEstructuras Secuénciales
Estructuras Secuénciales Los algoritmos más sencillos de realizar son los que no toman decisiones, tan solo se dedican a realizar o ejecutar instrucción tras instrucción en el orden determinado. Estos
Más detallesTecnología de software para sistemas de tiempo real
1 dit UPM Tecnología de software para sistemas de tiempo real Juan Antonio de la Puente DIT/UPM Motivación Las herramientas y la tecnología de software que se usan para construir otros tipos de sistemas
Más detallesANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Concurrencia. CURSO ACADÉMICO - SEMESTRE Segundo semestre
ANX-PR/CL/001-02 GUÍA DE APRENDIZAJE ASIGNATURA Concurrencia CURSO ACADÉMICO - SEMESTRE 2015-16 - Segundo semestre GA_10II_105000018_2S_2015-16 Datos Descriptivos Nombre de la Asignatura Titulación Centro
Más detallesExpositor: Mauricio Galvez Legua
ó Expositor: Mauricio Galvez Legua mgl10may62@hotmail.com 1 Qué es la ó La Robótica es una ciencia aplicada que se ocupa del estudio, desarrollo y aplicaciones de los robots. El estudio de la robótica
Más detallesMateria: Sistemas Operativos
Carrera: Licenciatura en Sistemas Materia: Sistemas Operativos Docentes: Prof. Hernán Merlino Prof. Pablo Pytel Año: 2016 Cuatrimestre: Primero 1- Fundamentación de la Asignatura y Objetivos del Alumno:
Más detallesUNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO
UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN PRODUCCIÓN INDUSTRIAL. UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 6 Material visual: Diapositivas Unidad de competencia
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 detallesMercedes Granda Departamento de Electrónica y Computadores. Las propiedades de las redes de Petri nos permiten
22//22 REDES DE PETRI: PROPIEDADES Y MÉTODOS DE ANÁLISIS PROGRAMACIÓN CONCURRENTE MASTER EN COMPUTACIÓN DEPARTAMENTO DE ELECTRÓNICA Y COMPUTADORES UNIVERSIDAD DE CANTABRIA CURSO 22/3 REDES DE PETRI: PROPIEDADES
Más detalles2.2 Nombres, Ligado y Ámbito
2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el
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 detallesDiseño arquitectónico 1ª edición (2002)
Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado
Más detallesIngeniería del Software I
- 1 - Ingeniería del Software I 2do. Cuatrimestre 2005 INTRODUCCIÓN... 2 SEMÁNTICA... 2 NOTACIÓN... 3 ESTADO ACCIÓN... 3 Transiciones Simples... 3 Estados Acción Compuestos... 3 Estados Acción Iniciales
Más detallesModelado Básico con Casos de Uso. Diseño de Software Avanzado Departamento de Informática
Modelado Básico con Casos de Uso El Modelo de Casos de Uso La técnica de los casos de uso (inventada por Ivar Jacobson): Objetivo: identificar la funcionalidad de un sistema (requisitos funcionales). Método:
Más detallesESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE
Análisis y costo de algoritmos Algoritmos Un algoritmo es un conjunto de pasos claramente definidos que a partir de un cierta entrada (input) produce una determinada salida (output) Algoritmos y programas
Más detallesLa Máquina de Acceso Aleatorio (Random Access Machine)
La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste de:
Más detallesALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006
ALGORITMOS DIGITALES II Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 OBJETIVOS Conocer los principios básicos de los algoritmos. Establecer paralelos entre los algoritmos, los programas y las
Más detallesGestion y Modelación de Datos Introducción
Gestion y Modelación de Datos Introducción Julio de 2011 Contenido Gestión y Modelación de Datos Descripción del Curso Bases de Datos Definición - Funcionalidades Modelos de Datos DDLs, DMLs Descripción
Más detallesSISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas
Más detallesALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y
Más detallesTipos Abstractos de Datos
Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal
Más detallesEstructura del Computador
Estructura del Computador 1 definiciones preliminares Estructura: es la forma en que los componentes están interrelacionados Función: la operación de cada componente individual como parte de la estructura.
Más detallesExpresiones y sentencias
Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En Java, todas las sentencias
Más detallesLos diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema
Modelado Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Vocabulario del Sistema Distribución de Responsabilidades Semántica de una Clase
Más detallesSolución 1: Funcional. Estilos arquitectónicos. Solución 1: Funcional (2) Key word in context
Solución 1: Funcional Estilos arquitectónicos Se descompone el problema de acuerdo con las funciones básicas: entrada, shift, ordenar, salida. Un programa principal coordina el flujo de control llamando
Más detallesEl Modelo Relacional. Estática
El TEMA III Grupo de Bases de Avanzadas Univ. Carlos III de Madrid Índice PARTE I. CONCEPTO DE MODELO DE DATOS III.1 INTRODUCCIÓN III.2 CONCEPTO DE MODELO DE DATOS III.3 EVOLUCIÓN DE LOS MODELOS DE DATOS
Más detallesProf. Mariano Mancuso. Sistemas de información y control diagrama de clases
Prof. Mariano Mancuso Sistemas de información y control diagrama de clases UML Qué son los modelos? Para qué sirven los modelos? Cuáles son los modelos de UML? Se usan todos...? Qué son los modelos? Un
Más detallesdit UPM Tema 3: Concurrencia /threads (python) Análisis y diseño de software José A. Mañas
Análisis y diseño de software dit UPM Tema 3: Concurrencia /threads (python) José A. Mañas 11.2.2017 referencias Concurrent execution https://docs.python.org/3/library/concurrency.html concurrencia 2 índice
Más detallesINGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño
INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño Univ. Cantabria Fac. de Ciencias Patricia López Introducción al Diseño Modelamos la estructura software del sistema (incluida la arquitectura) para
Más detalles7. Programación Concurrente
7. Programación Concurrente 1. Qué es la programación concurrente? Se conoce por programación concurrente a la rama de la informática que trata de las técnicas de programación que se usan para expresar
Más detallesGrado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre
Sistemas de Tiempo Real Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre GUÍA DOCENTE Nombre de la asignatura: Código: 590008 Titulación en la que se imparte:
Más detallesBases Formales de la Computación
Modal Bases Formales de la Computación Pontificia Universidad Javeriana 3 de abril de 2009 Modal LÓGICAS MODALES Contenido Modal 1 Modal 2 3 Qué es la lógica Modal? Modal Variedad de diferentes sistemas
Más detallesCristian Blanco
UNIDAD DIDÁCTICA 8. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS. DIAGRAMAS DE COMPORTAMIENTO En el siguiente enlace tienes una descripción y algunos ejemplos de todos los diagramas UML.: http://jms32.eresmas.net/tacticos/uml/umlindex.html
Más detallesPontificia Universidad Católica del Ecuador
1. DATOS INFORMATIVOS: MATERIA O MÓDULO: CÓDIGO: CARRERA: NIVEL: Sistemas Operativos IS603.a Sistemas Tercero No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4 CRÉDITOS PRÁCTICA: 0 SEMESTRE / AÑO ACADÉMICO: Segundo Semestre
Más detallesEl Autómata con Pila: Transiciones
El Autómata con Pila: Transiciones El Espacio de Configuraciones Universidad de Cantabria Esquema Introducción 1 Introducción 2 3 Transiciones Necesitamos ahora definir, paso por paso, como se comporta
Más detallesRequerimientos de Software
Requerimientos de Software Ingeniería de Requerimientos Se define como el proceso de establecer los servicios que el consumidor requiere de un sistema y las restricciones sobre las cuales de funcionar
Más detallesActividad 1.2. Cuestionario sobre SGBD (2ª parte)
Actividad 1.2. Cuestionario sobre SGBD (2ª parte) 1.Indica las diferencias existentes entre las funciones de manipulación y de descripción. Función de descripción o de definición: Esta función debe permitir
Más detallesIngeniería a de Software CC51A
Ingeniería a de Software CC51A Clase Auxiliar Auxiliar: Andrés s Neyem Oficina 418 de Doctorado aneyem@dcc.uchile.cl 19 de Marzo de 2007 Aspectos Generales Grupo CC51A Diseño Cliente Requisitos Usuario
Más detallesGuía práctica de estudio 03: Algoritmos
Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:
Más detallesTEMA 1: Algoritmos y programas
TEMA 1: Algoritmos y programas 1.1.-Introducción La razón principal para utilizar un ordenador es para resolver problemas (en el sentido más general de la palabra), o en otras palabras, procesar información
Más detallesUnidad Nº I Revisión de conceptos de. Sistemas Operativos
Instituto Universitario Politécnico Santiago Mariño Unidad Nº I Revisión de conceptos de Sistemas Operativos Definicióm de Sistema Operativo Es un programa que actúa como intermediario entre el usuario
Más detallesIntroducción a la programación
Introducción a la programación Resolución de Problemas El objetivo principal para que las personas aprendan a programar en algún lenguaje de programación en particular es utilizar el computador como una
Más detallesLos Tipos Abstractos de Datos. Estructuras de Datos y Algoritmos 03/04
Los Tipos Abstractos de Datos Estructuras de Datos y Algoritmos 03/04 Qué son los TAD s? Metodología de programación con TAD s Especificación Algebraica de TAD s Qué son los TAD s? Con los lenguajes de
Más detallesIngeniería del Software 2
Análisis de requisitos es la 1ª fase técnica del proceso de ing. del SW Éxito -> Comprensión total de los requisitos Análisis de requisitos -> Tarea de descubrimiento, refinamiento, modelado y especificación
Más detallesDiferentes Perspectivas de un Ordenador
Arquitectura de Ordenadores Programación en ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Diferentes Perspectivas de un Ordenador INT-1
Más detallesEs un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.
Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución
Más detallesDIAGRAMAS DE ACTIVIDAD SESION 9. Cap. 9 Kendall & Kendall Cap 5 Jacobson
DIAGRAMAS DE ACTIVIDAD Cap. 9 Kendall & Kendall Cap 5 Jacobson SESION 9 Ana Mercedes Cáceres mercycaceres@gmail.com Instructora: Carmen Morales Año 2006. OBJETIVOS Representar gráficamente los problemas
Más detallesUML Unifield Modeling Languaje
UML Unifield Modeling Languaje 1 Modelo: Representación abstracta de una especificación, un diseño o un sistema. Generalmente, basada en una visión particular y compuesta por uno o más diagramas. Lenguaje
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 detallesNombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4
I IDENTIFICACION Nombre de la asignatura : Sistemas de Computación Código : 503429 Nivel (semestre de la carrera) : 7 Carrera : Ingeniería Civil Informática Nº de créditos : 4 Duración : Un semestre Pre-requisitos
Más detallesReceta general para resolver problemas de sincronización con semáforos
Receta general para resolver problemas de sincronización con semáforos La primera vez que te enfrentas a la tarea de implementar una solución a un problema de sincronización entre procesos, es normal que
Más detallesTransacciones. Carlos A. Olarte BDII
Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Outline 1 2 Ejecuciones Concurrentes 3 Secuencialidad en Cuanto a Conflictos 4 Secuencialidad en Cuanto a Vistas 5 Recuperabilidad 6 en SQL Transacción Definición
Más detallesTEMA 2: ALGORITMOS Y PROGRAMAS
TEMA 2: ALGORITMOS Y PROGRAMAS TEMA 2: ALGORITMOS Y PROGRAMAS. 1 INTRODUCCIÓN 1 Análisis del problema.. 1 Búsqueda del algoritmo.. 1 Programación del algoritmo. 3 ESTRUCTURAS DE CONTROL. 4 Estructuras
Más detalles2. Números naturales: sistema de numeración y operaciones básicas
INTRODUCCIÓN A LOS COMPUTADORES 2003-2004 Objetivos Formativos Que el alumno sea capaz de: Comprender el funcionamiento y saber diseñar los circuitos digitales combinacionales y secuenciales que se utilizan
Más detallesLenguajes Libres del Contexto
Capítulo 3 Lenguajes Libres del Contexto [LP81, cap 3] n este capítulo estudiaremos una forma de representación de lenguajes más potentes que los regulares. Los lenguajes libres del contexto (LC) son importantes
Más detallesUna Interfaz Grafo-Matriz
Una Interfaz Grafo-Matriz R. Carballo, C. Escribano, M.A. Asunción Sastre Dept. Matemática Aplicada F.Informática. U.P.M. Boadilla del Monte Madrid, 28660-Madrid e-mail: cescribano@fi.uib.es Resumen. El
Más detallesTEMA 2. FUNCIONES REALES DE VARIABLE REAL 2.1. CONCEPTOS BÁSICOS
TEMA 2 FUNCIONES REALES DE VARIABLE REAL 21 CONCEPTOS BÁSICOS 2 FUNCIONES REALES DE VARIABLE REAL 21 CONCEPTOS BÁSICOS 211 Concepto de función Elementos 212 Operaciones con funciones 2 FUNCIONES REALES
Más detallesTema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
Más detallesGuía práctica de estudio 03: Algoritmos
Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:
Más detallesSistemas de E/S. Arquitectura de Computadores 3º Plan 96. Indice. 1. Problemática de la E/S 2. Módulos E/S 3. Instrucciones de E/S 4.
Indice Sistemas de E/S 1. Problemática de la E/S 2. Módulos E/S 3. Instrucciones de E/S 4. Técnicas de E/S 4.1 E/S Programada 4.2 E/S por Interrupciones 4.3 E/S por DMA 1. Problemática de la E/S A pesar
Más detallesIntroducción a la arquitectura de computadores
Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina
Más detalles4.6.- Integridad: Control de concurrencia.
4.6.- Integridad: Control de concurrencia. 4.6.1.- Introducción 4.6.2.- Técnicas de Bloqueo. 4.6.2.1.- Bloqueo (variable cerrojo) Tipos, protocolos Problemas. Interbloqueo Granularidad 4.6.2.2.- Marcas
Más detallesModelo Conceptual de datos. Yenifer Laurens.
Modelo Conceptual de datos Yenifer Laurens. Modelo de datos Es un conjunto de conceptos que pueden servir para describir la estructura de una Base de Datos; tipo de datos, las relaciones y que deben cumplirse
Más detallesINSTITUCIÓN EDUCATIVA SAN CRISTÓBAL
INSTITUCIÓN EDUCATIVA SAN CRISTÓBAL MEDIA TÉCNICA EN PROGRAMACIÓN DE SOFTWARE TEMA: LOS LENGUAJES DE PROGRAMACIÓN Profesora: Beatriz Elena Herrera Legarda Qué es una computadora? Computadora electrónica
Más detalles3 - Arquitectura interna de un up
cei@upm.es 3 - Arquitectura interna un up Componentes básicos Lenguaje ensamblador y código máquina Ciclo básico ejecución una instrucción Algunos ejemplos Universidad Politécnica Madrid Componentes básicos
Más detallesINTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS
INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS Introducción La programación orientada a objetos es un enfoque de programación de los más populares y viene teniendo gran aceptación en el desarrollo
Más detallesUnidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o
Unidad 4 - Procesamiento paralelo. D o c e n t e : E r n e s t o L e a l E q u i p o : J e s s i c a F i e r r o L u i s N a v e j a s Arquitectura de computadoras Introducción Cuestionario Conclusiones
Más detallesConceptos básicos sobre gramáticas
Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos
Más detallesDiagramas de interacción
Tema 6: Diagramas de Interacción Diagramas de interacción Los diagramas de interacción son diagramas que describen cómo grupos de objetos colaboran para conseguir algún fin. Estos diagramas muestran objetos,
Más detallesDISEÑO Y CONSTRUCCION DE MODELOS WEB
DISEÑO Y CONSTRUCCION DE MODELOS WEB UNIDAD II Politécnicos 2.1 DISEÑO DE SITIOS WEB El diseño se desarrollaba de manera ad- hoc y por lo general se efectuaba a medida que se generaba HTML. Después evolucionó
Más detallesSISTEMAS OPERATIVOS Arquitectura de computadores
SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios
Más detallesElementos Diagramas de Clases Clase:
Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.
Más detallesDepartamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial
Departamento de Tecnologías de la Información Tema 4 Máquinas de Turing Ciencias de la Computación e Inteligencia Artificial Índice 4.1 Límites de los autómatas 4.2 Definición de Máquina de Turing 4.3
Más detallesÁrea: INFORMÁTICA. Saber- Saber: Identificar DFD como herramienta para escribir los algoritmos de forma lógica.
Guía No: 2 Subdirección de Educación Departamento de Educación Contratada Colegio CAFAM Bellavista CED GUIA DE APRENDIZAJE Docente: Luz del Carmen Barrera Área: INFORMÁTICA Fecha: II BIMESTRE 2014 Grado:
Más detallesNuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares
Autómata = Lógica Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares Pero antes: Vamos a hacer un breve repaso sobre
Más detallesProgramación 1. Diseño modular de nuevos tipos de datos en un programa. Diseño modular de un tipo de dato con estructura de conjunto
Programación 1 Diseño modular de nuevos tipos de datos en un programa Diseño modular de un tipo de dato con estructura de conjunto 1 1. Objetivo de la lección Presentar una metodología para el diseño modular
Más detallesÍndice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv
Índice de contenido Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv Capítulo 1: La computadora y los niveles de datos Computadora...3 Tipos de dispositivos...4
Más detallesTema 3. Tipos de datos simples
Tema 3. Tipos de datos simples Contenido del tema: Concepto de tipo. Tipos simples. Operadores. Expresiones. Semántica. Tipos y expresiones en lenguaje C++ Francisco J. Veredas Dpto. Lenguajes y Ciencias
Más detallesUniversidad Autónoma del Estado de México Facultad de Medicina
Universidad Autónoma del Estado de México Facultad de Medicina Licenciatura en Bioingeniería Médica Unidad de Aprendizaje: Algoritmos y programación básica Unidad 3: Estructuras de control de flujo en
Más detallesTema 2: Los Autómatas y su Comportamiento
Departamento de Computación Universidade da Coruña Bisimulación y procesos concurrentes Tema 2: Los Autómatas y su Comportamiento Carmen Alonso Montes carmen@dc.fi.udc.es Noelia Barreira Rodríguez noelia@dc.fi.udc.es
Más detallesDistinguir las diferentes estructuras de repetición utilizadas en problemas con bucles: mientras, repetir mientras, para.
ESTRUCTURAS ITERATIVAS 1 ESTRUCTURAS ITERATIVAS OBJETIVOS Aprender a resolver problemas mediante la ejecución repetida de una secuencia de proposiciones llamados bucle o estructuras repetitivas o iterativas.
Más detallesPROGRAMA DE ASIGNATURA DE
Table of contents 1 INFORMACIÓN GENERAL... INTRODUCCIÓN... 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 OBJETIVOS, TEMAS Y SUBTEMAS... 3 5 PLAN TEMÁTICO...7 6 ORIENTACIONES METODOLÓGICAS... 7 7 SISTEMA
Más detallesFundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto
Más detallesAutómatas temporizados
Autómatas temporizados Se usan cuando los disparadores de eventos se inician por el paso del tiempo. Ejemplo: cambio de luz en los semáforos. Para representarlo se agregan variables temporizadoras o relojes.
Más detallesMétodos de Inteligencia Artificial
Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Agentes basados en conocimiento Contenido Sistemas basados en conocimiento
Más detallesÍndice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción
Curso 0: Matemáticas y sus Aplicaciones Tema 5. Lógica y Formalismo Matemático Leandro Marín Dpto. de Matemática Aplicada Universidad de Murcia 2012 1 Proposiciones y Conectores Lógicos 2 Tablas de Verdad
Más detallesTECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL
1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto
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 detalles