I.3. Interacción entre Procesos Concurrentes.
|
|
|
- Francisca Bustamante Torres
- hace 10 años
- Vistas:
Transcripción
1 PROGRAMACION CONCURRENTE I.3. Interacción entre Procesos Concurrentes. J.M. Drake 1
2 Interacción entre Procesos Concurrentes Modelos de interacción entre procesos. Problemas de sincronización y exclusión mutua. 2 2
3 Tipos básicos de interacción entre procesos Los procesos de una aplicación concurrente pueden interaccionar entre sí de acuerdo con los siguientes esquemas: Independientes entre sí: Interfieren por compartir el procesador. Cooperan entren sí: Uno genera una información o realiza algún servicio que el segundo necesita. Compiten entre sí: Requieren usar recursos comunes en régimen exclusivo. 3 Las relaciones básicas que se pueden presentar entre dos procesos concurrentes de un mismo programa, son: Son independientes entre sí. Son procesos cooperantes. Son procesos competidores. En el primer caso, entre los procesos no se requiere que exista ningún tipo de interrelación. Si embargo, en el segundo y en el tercer caso, se necesita disponer de componentes que hagan posible establecer acciones de sincronización y de comunicación entre los procesos. 3
4 Interacciones entre procesos en programación OO. Dentro de la metodología orientada a objetos, una aplicación resulta de componer tres tipos de objetos: Objetos activos: Tienen capacidad de realizar actividades autónomas propias. Son procesos con thread propio. Objetos neutros: Son objetos que prestan servicios a los objetos activos. Pueden ser usados simultáneamente por los objetivos activos sin representar interacción entre ellos. Son librerías pasivas. Objetos pasivos: Son objetos que prestan servicios a los objetos activos. Cuando varios objetos activos tratan de hacer uso de él simultáneamente arbitran el acceso de acuerdo con una estrategia propia. Representan recursos de interacción entre procesos. 4 Dentro del paradigma de programación orientada al objeto, cualquier aplicación resulta como composición de tres tipos de objetos: Objetos activos: son aquellos entes que requieren tener capacidad de llevar a cabo acciones espontáneas autónomas. En programación concurrente estos objetos corresponden siempre a componentes tipo proceso. Objetos neutros: son aquellos objetos no activos que prestan servicios a los objetos activos que lo requieren, sin necesidad de introducir ningún tipo de actividad especifica por su parte. En programación concurrente, estos objetos se construyen mediante estructuras de datos pasivas, y cuando convenga se las dota con un interfaz de procedimientos que permita abstraer el acceso a ellos. Objetos pasivos: son aquellos objetos no activos que solo prestan servicios a los objetos activos que lo requieren, pero introduciendo por su parte una actividad de control o arbitraje efectivo, entre los sucesivos o simultáneos servicios que le son requeridos. Estos objetos, que se pueden identificar con el concepto de servidor, se introducen los aspectos más significativos de la programación concurrente 4
5 Implementación de objetos pasivos. Los objetos pasivos se construyen en base a procesos internos que implementan su control: El thread de los mismos arbitran el acceso de los objetos activos. No requieren introducir nuevos componentes de programación. Son poco eficientes ya que requieren múltiples cambios de contexto. Los objetos pasivos se construyen a partir de componentes de sincronización pasivos: Requieren la definición de nuevas primitivas de sincronización. Introduce mayor complejidad ya que utiliza componentes de muy diferentes niveles de abstracción. Son muy eficientes. 5 Para construir los objetos pasivos se utiliza una de las dos siguientes estrategias: Los objetos pasivos se implementan como procesos, que incluyen los recursos del objeto, y que con la actividad que le es propia, controlan y arbitran el acceso a los mismos. Es la solución más simple ya que no implica introducir nuevos componentes de programación, sin embargo presenta el inconveniente de que incrementa el número de procesos del programa, así como los cambios de contexto. Introducir nuevos componentes primitivos (tales como semáforos, señales, zonas de exclusión mutua, etc.) que permitan representar explícitamente y directamente los objetos pasivos. Con ellos se consigue que la programación concurrente sea mucho más eficiente, aunque más compleja y proclive a errores. 5
6 Problemas específicos de programación concurrentes. Actualizaciones concurrentes de variables compartidas: Cuando un proceso modifica una misma variable compartida que no es atómica, mientras que otro proceso concurrente la lee o escribe, el resultado que se obtiene no es seguro. Sincronización en la ejecución de tareas: La lógica de la aplicación requiere que un proceso no pueda ejecutar una sentencia determinada hasta que otro proceso haya ejecutado una sentencia de la que depende. 6 En programación concurrente se presentan problemas específicos que pueden conducir a errores que no existen en programación secuencial. Los dos problemas básicos propios de programación concurrente son: La actualización concurrente de variables compartidas. Si dos procesos concurrentes tratan de actualizar una variable compartida, y para ello cada uno de ellos debe realizar múltiples operaciones de lectura y escritura de los campos de la variable la operación no es segura. Puede producirse que la operación concurrente termine corrompiendo la variable que actualizan. Cuando dos procesos concurrentes necesitan colabora de forma sincrona, se necesita poder evitar que un proceso no ejecute una cierta actividad hasta que el otro no haya alcanzado el punto adecuado para que la colaboración sea eficaz. 6
7 Parque público: Actualización concurrente de variable 7 Ejemplo "Control de parque público": Considérese el caso de un parque público que dispone de varias puertas de acceso. El acceso por cada una de las puertas del parque, está controlada por un torno independiente, que envía un evento propio a una aplicación de computador que debe contarlas y proporcionar en cualquier instante el número total de visitantes que han entrado en el parque. La solución concurrente inicial que se propone, se basa en las siguientes ideas: Los eventos que genera cada torno van a ser gestionados por un proceso independiente. Los procesos de control de los tornos se ejecutan de forma concurrente. En el programa existe una variable global entera cuenta" que representa el número el numero de visitantes que ha entrado en el parque. Cuando la actividad de los tornos ha concluido proporciona la información sobre el número de visitantes que se han producidos. 7
8 Descripción de la aplicación parque público Interacción entre procesos Lógica del procedimiento main() 8 El diagrama de secuencias que muestra las interacciones entre los tres objetos que constituyen la aplicación, y el diagrama de actividad que representa las actividades que genera la ejecución del procedimiento main() que lanza la apliacación contienen una misma información: Inicialmente la variable cuanta se inicializa a cero. Se crean y lanzan los dos procesos que gestionan cada uno de los totos. Por cada visitante del parque que llega por un torno el proceso que lo gestiona ejecuta la sentencia cuenta=cuenta+1 sobre una misma variable global. Cuando los procesos que gestionan los tornos terminan (por temporización: ha llegado la ora de cerrar; o por cuenta: el parque está lleno) se imprime el valor de la variable cuenta. El ejemplo presenta problemas porque dos procesos concurrentes actualizan de forma no segura la misma variable global cuenta. 8
9 Código de la aplicación Parque Público. program Control_parque; var Cuenta : integer; process Torno_1; var n: Integer; for n:=1 to 20 do Cuenta:=Cuenta +1; process Torno_2; var n: Integer; for n:=1 to 20 do Cuenta:=Cuenta +1; (* Cuerpo del programa principal Control_parque *) Cuenta:=0; co Torno_1; Torno_2; co writeln ( Total de visitantes:, Cuenta); 9 A continuación se muestra un programa simple que emula el funcionamiento de este programa. Se consideran dos tornos, cada uno de ellos representado mediante un proceso independiente que recibe un número predeterminado (20) de visitantes y por cada uno de ellos incrementa la variable global. Una sentencia writeln final emula la gestión del monitor. Este programa da soluciones erroneas. No siempre escribe 40 como debiera. 9
10 Actualización concurrente de una variable compartida. Proceso P x=x+1 x Proceso Q x=x+1 (X1) Carga x en acumulador (X2) Incrementa acumulador (X3) Almacena acumulador en x Entrelazado de operaciones concurrentes que conduce a error. Valor inicial de x x = 4 (P1) P carga x en su acumulador AcP = 4 x = 4 (Q1) Q carga x en su acumulador AcQ = 4 x = 4 (Q2) Q incrementa su acumulado AcQ = 5 x = 4 (P2) P incrementa su acumulador AcP = 5 x = 4 (Q3) Q almacena el acumulador en x AcQ=5 x = 5 (P3) P almacena el acumulador en x AcP = 5 x = 5 El resultado es incorrecto ya que el resultado debería ser 6 y no Problema de las actualizaciones concurrentes: consideremos el caso de dos procesos P y Q que ejecutan de forma independiente, pero concurrentemente la sentencia x := x +1; Esta sentencia no es atómica. Para su realización, la CPU debe llevar a cabo las siguiente secuencia de instrucciones básicas: (1) Carga el valor de x en un acumulador de la CPU, (2) Incrementa el valor del acumulador y (3) Almacena el valor del acumulador en la variable x. Cuando la sentencias correspondientes a los procesos P y Q se ejecutan concurrentemente, las instrucciones básicas pueden resultar entrelazadas en cualquier combinación. Es fácil en este caso encontrar secuencias validas de entrelazado que no conducen a un incremento en 2 el valor de la variable x, como debe ser en un funcionamiento correcto. Inicialmente: x = 4 (P1) P carga el valor de x en su acumulador P AC. P AC = 4 (Q1) Q carga el valor de x en su acumulador Q AC. Q AB = 4 (Q2) Q Incrementa el valor de su acumulador Q AC. Q AB = 5 (P2) P Incrementa el valor de su acumulador P AC. P AB = 5 (Q3) Q almacena el valor de su acumulador Q AC en x. x = 5 (P3) P almacena el valor de su acumulador Q AC en x. x = 5 Resulta: x = 5 El valor que resulta para la variable x es 5, y no 6 como debería ser si la funcionalidad hubiese sido correcta. 10
11 Sincronización : Problema productor-consumidor. Productor N... 1 Buffer Consumidor Un productor y un consumidor de un dato, lo intercambian a través de un buffer de capacidad limitada a N elementos. En este caso se requieren las dos siguientes condiciones de sincronización: e (producción i consumisión i ) e (consumisión i producción i+n ) 11 En este caso, el problema difiere del problema de "actualización concurrente" en que solo uno de los procesos modifica la variable global, mientras que el otro se reduce a leerlo. Sin embargo, para que este proceso opere correctamente es necesario que entre productor y consumidor exista una sincronización para que el consumidor no lea el dato de buffer, antes de que el consumidor lo haya depositado. 11
12 Ejemplo de código de programa productor consumidor. program Productor_consumidor; var Buffer: integer; process Productor; process Consumidor; var Dato_entregado: Integer; var Dato_recibido: Integer; Buffer:= Dato_Entregado; Dato_recibido:= Buffer; end. co Productor; Consumidor; co end. 12 Problema productor consumidor Ejemplo "Productor consumidor con buffer sencillo": Considérese el caso de dos procesos que denominamos Productor y Consumidor. El primero proceso genera un dato, y se lo transfiere al segundo que debe recibirlo y consumirlo. Se desea que ambos proceso se puedan llevar a cabo de forma concurrente, para lo cual se dispone de un buffer, donde el productor lo deja cuando lo genera, y de donde el consumidor lo recoge cuando esta dispuesto a aceptar un nuevo dato. Considérese que inicialmente el buffer tenga cabida para solo un dato. Este problema no opera razonablemente ya que el proceso Consumidor lee el dato antes de que Productor lo haya generado. 12
13 Necesidad de primitivas para programas concurrentes. Es posible superar los problemas sincronización y exclusión mutua de la programación concurrente utilizando lenguajes de programación secuenciales? La respuesta es si, pero solo de forma poco eficiente. Por ello todos los lenguajes de programación concurrentes introducen primitivas específicas que permiten resolver los problemas de forma mas eficiente
14 Solución del problema de sincronización (mal). program Productor_consumidor_correcto; var Buffer : Integer; Dato_Creado: Boolean; process Productor; process Consumidor; var Dato_producido: Integer; var Dato_recibido: Integer; Buffer:=Dato_producido; while not Dato_Creado do null; Dato_Creado:= True Dato_recibido:= Buffer; Dato_Creado:= False; co Productor; Consumidor; co 14 Solución del problema de sincronización: La necesidad de sincronización del problema productor-consumidor (condición (a)) se puede resolver introduciendo una segunda variable Dato_creado que retrasa al consumidor hasta que el dato está producido. En la solución que se propone,el consumidor permanece en un bucle hasta que la variable Dato_creado, le avisa de que el dato esta disponible. Esta solución es muy poco eficiente, ya que implica que la espera por parte del consumidor consume procesador porque el proceso esta plenamente activo, es muy poco eficiente. La sentencia sleep(0) permite que una política imprevista de planificación dé siempre procesador al consumidor, y en consecuencia el productor no generaría el dato y el programa permanecería permanentemente bloqueado. 14
15 Solución del problema de sincronización. program Productor_consumidor_correcto; var Buffer : Integer; Dato_Creado: Boolean; process Productor; process Consumidor; var Dato_producido: Integer; var Dato_recibido: Integer; Buffer:=Dato_producido; while not Dato_Creado do sleep(0); Dato_Creado:= True Dato_recibido:= Buffer; Dato_Creado:= False; co Productor; Consumidor; co 15 Solución del problema de sincronización: La necesidad de sincronización del problema productor-consumidor (condición (a)) se puede resolver introduciendo una segunda variable Dato_creado que retrasa al consumidor hasta que el dato está producido. En la solución que se propone,el consumidor permanece en un bucle hasta que la variable Dato_creado, le avisa de que el dato esta disponible. Esta solución es muy poco eficiente, ya que implica que la espera por parte del consumidor consume procesador porque el proceso esta plenamente activo, es muy poco eficiente. La sentencia sleep(0) permite que una política imprevista de planificación dé siempre procesador al consumidor, y en consecuencia el productor no generaría el dato y el programa permanecería permanentemente bloqueado. 15
16 Solución de la exclusión mútua La solución de Peterson (1981), presupone: Lecturas concurrentes de una variable son siempre correctas. Si dos procesos P y Q escriben una variable, una de las dos escrituras es correcta (la última que se hizo). Si un proceso escribe y otro lee concurrentemente una variable, se lee el valor escrito o el valor previo a la escritura, pero no una mezcla de ambos. Estas suposiciones son razonables para una variable atómica en un sistema monoprocesador. Esqueleto repeat Protocolo_de_entrada; Sección_crítica; Protocolo_de_salida Sección_no_crítica; forever; 16 Solución de la exclusión mutua: Soportar mediante variables ordinarias la exclusión mutua es más complicado. Se expone la solución de Peterson (1981): Las soluciones que se plantean se basan en las siguientes suposiciones: Operaciones concurrentes de lectura de una variable son siempre correctas. Si dos procesos P y Q realizan concurrentemente una operación de escritura sobre una variable, el resultado es la escritura correcta, bien la correspondiente a P o la correspondiente a Q, pero no una mezcla incorrecta de ambas. Si un proceso escribe una variable y otro concurrentemente lee la misma variable, el valor leído, es o bien el antiguo, o bien el recién escrito, pero no una mezcla incorrecta de ambos. El planteamiento de algoritmo que se busca, es desarrollar dos procesos P1 y P2, que se ejecuten concurrentemente, cada uno de los cuales tenga una zona crítica, en las que bajo ninguna situación pueden estar simultáneamente. El esqueleto de los procesos que se utilizarán es: process P; repeat Protocolo_de_entrada; Sección_critica; Protocolo_de_salida Sección_no_crítica; forever; 16
17 Primer intento (No válido)... var Flag1 : Boolean; (* P1 anuncia su intención de entrar en S.C. *) Flag2 : Boolean; (* P2 anuncia su intención de entrar en S.C. *) process P1; process P2; repeat repeat Flag1:= True; Fallo bloqueo Flag2:= True; while Flag2 do sleep(0); while Flag1 do sleep(0); (Sección crítica) (Sección crítica) Flag1:= False; Flag2:= False; (Sección no crítica) (Sección no crítica) forever; forever; 17 Se introducen dos variables booleanas Flag1 y Flag2 que están inicializada al valor false. Flag1 solo es modificado por P1 y representa el anuncio por parte de P1 de su intención de acceder a la zona crítica. Flag2 guarda la misma relación respecto de P2. Este algoritmo no es válido porque permite que ambos proceso queden en un bloqueo cruzado indefinido. La secuencia que conduce al bloqueo es: P1 establece Flag1:= true P2 establece Flag2 := true P2 chequea el valor de Flag1 y permanece haciendo la sentencia null P1 chequea el valor de Flag2 y permanece haciendo la sentencia null esta situación se mantiene indefinidamente bloqueada. 17
18 Segundo intento (No válido) var Flag1: Boolean:=False; (* P1 anuncia su entrada en S.C.*) Flag2: Boolean:=False; (* P2 anuncia su entrada en S.C.*) process P1; process P2; repeat repeat while Flag2 do sleep(0); while Flag1 do sleep(0); Flag1:= True; Fallo seguridad Flag2:= True; (Sección crítica) (Sección crítica) Flag1:=False; Flag2:= False; (Sección no crítica) (Sección no crítica) forever; forever; 18 Similar al intento 1, salvo que ahora se invierte el orden de las acciones de anunciar el acceso a la sección crítica y comprobar el estado del otro proceso. Este algoritmo falla porque posibilita el acceso de ambos procesos a sus respectivas secciones críticas, si se produce la siguiente secuencia: P1 y P2 están en su sección no crítica ( Flag1 =Flag2 = false) P1 chequea Flag2 (que aún false) P2 chequea Flag1 (que aún es false) P2 pone Flag2 a true P2 entra en su SC P1 pone Flag1 a true P1 entra en su sección crítica el algoritmo ha fallado porque ambos están simultáneamente en su sección crítica. 18
19 Tercer intento (No válido)... var Proc: 1..2; (* Procesador que ha accedido a S.C.*) process P1; process P2; repeat repeat while Proc=2 do sleep(0); while Proc=1 do sleep(0); (Sección crítica) (Sección crítica) Proc:=2; Proc:=1; (Sección no crítica) (Sección no crítica) forever; forever; 19 El problema de los intentos anteriores es que no se puede realizar de forma atómica el chequeo de la situación del otro y la confirmación de acceso propia. Por ello el tercer intento se basa en utilizar una sola variable que sea la que establezca cual es el proceso que puede entrar en la zona crítica. Esta variable la denominamos Proc, y puede tomar los valores Esta solución no es admisible porque exige que el acceso a la sección sea alternativa por parte de los dos procesos. 19
20 Solución de Peterson. Var Flag1: Boolean:= False; (* P1 anuncia su intención de entrar en SC *) Flag2: Boolean:= False; (* P2 anuncia su intención de entrar en SC *) Proc:1..2; (* Procesador que tiene preferencia para acceder a S.C.*) process P1; process P2 repeat repeat Flag1 := True; Flag2 := True; Proc :=2 ; Proc :=1 ; while Flag2 and (Proc = 2) while Flag1 and (Proc = 1) do sleep(0); do sleep(0); (Sección crítica) (Sección crítica ) Flag1:= false; Flag2:= false; (Sección no crítica ) (Sección no crítica) forever; forever; 20 olución de Peterson Se basa en utilizar dos variables booleanas Flag1 y Flag2 que anuncia la intención de entrar en su zona crítica, y una variable Proc que puede tomar los valores 1..2 y que indica el procesador al que se da prioridad de acceso, y que solo es útil cuando hay conflicto en el acceso a la zona crítica. Si solo un proceso desea entrar en la sección crítica, el Flag contrario será false y el acceso es inmediato con independencia del valor de Proc. Si ambos tratan de acceder y ambos Flag son true, solo entra la que indique Proc. 20
21 Algoritmo bakery: Programa principal program ControlParquePublico (* Exclusión mutua utilizando el algoritmo bakery *) const ntornos=50; var ticket: array[1..ntornos] of integer; cogiendoticket: array[1.ntornos] of boolean; cuenta: integer; tornoid: integer; process type TipoTorno(id: integer)... (* Se define en la siguiente transparencia...*) var torno: array[1..ntornos] of TipoTorno; cuenta:=0; (* se inicializa cuenta a 0 *) for tornoid=1 to ntornos do (* Se inicializan las variables asociadas a cada torno*) ticket[tornoid]:=0; choosing[tornoid]:=false; co (* Se ejecutan concurrentemente los procesos torno*) for tornoid:= 1 to ntornos do torno[tornoid](tornoid); co writeln( Total de clientes admitidos:, cuenta); 21 Para el caso general de exclusión mutua, en el que hay que sincronizar a un número ilimitado de cliente, se han propuesto algunos algoritmos (Dijkstra 1968, Eisenberg and McGuire, 1972, etc.) En este ejemplo se muestra el algoritmo de bakery propuesto por Lamport, Un número arbitrario de tornos actualizan concurrentemente una variable cuenta, incrementándola en 1. El algoritmo se basa en que antes de actualizar la variable, el proceso cliente toma un ticket con un entero que es único. El proceso no actualiza la variable si existe algún otro cliente con un número en el ticket inferior al suyo. Como la búsqueda del ticket puede fallar porque no es seguro, en el caso de que tengan igual número se decide por el valor del indentificador del proceso. Esto supone que el algoritmo no es imparcial, sino que favorece al que tiene identificadores mas bajos. Significado de las variables definidas en el programa principal: ntornos: integer=50 Número de tornos que tiene el parque. ticket: Array que contiene el ticket que es establecido por cada proceso torno antes de realizar la actualización concurrente cogiendo: array de booleanos que se utilizan para proteger cada proceso mientras que coge el valor del tickets cuenta: Acumula el número de visitantes que ha tenido el parque. torno: Array de procesos tipo TipoTorno. 21
22 Algoritmo bakery: Proceso TipoTorno (1) process type TipoTorno (id: integer); var otrotorno:integer; tornoid: integer; cliente: integer; function max: integer; function elegido(mio,otro:integer): boolean; (* Retorna el número del ticket *) (* Compara el ticket de los tornos otro y yo *) var i, mayor:integer; if (ticket[mio]=0) or (ticket[mio]>ticket[otro]) mayor:=0; then elegido:=false; for i:=1 to ntornos do else if ticket[i]>mayor if (ticket[mio]<ticket[otro]) then mayor:= ticket[i]; then elegido:=true; max:=mayor+1; else elegido=(mio<otro); Describe los procesos que se instancian por cada torno: function max(): integer => Retorna el entero que corresponde al ticket, buscando el entero mas alto asignado a los ticket actualmente asignados. function elegido(otro,yo:integer): boolean => Retorna True si el torno de identificador yo tiene el ticket mas bajo que el identificado con otro. 22
23 Algoritmo bakery: Proceso TipoTorno (2)... for cliente :=1 to 20 do (* Simula la entrada de 20 visitantes *) eligiendoticket[id]:=true; (* Requiere un ticket *) ticket[id]:=max; eligiendoticket[id]:=false; for otrotorno:=1 to ntornos do (* Espera a que ningún otro torno esté accediendo *) while eligiendoticket[otrotorno] do null; (* Ninguno está cogiendo ticket *) while elegido(otrotorno,id) do null; (* Ningún otro tiene un ticket mas preferente *) cuenta:=cuenta+1; (* Incrementa la variable cuenta *) ticket[id]:=0; (* Anula el ticket *) (* for cliente *) (* TipoTorno *) 23 La actividad que ejecuta cada torno es: El loop simula la entrada de 20 visitante por el bucle. Para cada cliente: Elige un ticket Espera hasta que ningún otro torno esté cogiendo un ticket Espera hasta que ningún otro torno tenga un ticket mas preferente que el propio Incrementa la cuenta Anula el ticket 23
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE II.4 Sincronización basada en memoria compartida: Regiones críticas J.M. Drake 1 Regiones críticas Son bloques de código que al ser declarados como regiones críticas respecto de
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE II.3 Sincronización basada en memoria compartida: Semáforos J.M. Drake 1 Procesos concurrentes y memoria compartida. Si los diferentes procesos de un programa concurrente tienen
Concurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
SISTEMAS OPERATIVOS AVANZADOS
SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3
4. Programación Paralela
4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios
PROGRAMACIÓN CONCURRENTE. Tema 5 Monitores
PROGRAMACIÓN CONCURRENTE Tema 5 Monitores 1 Indice Definición de los monitores Sincronización condicional usando monitores Algunos problemas con monitores 2 Problemas de las regiones críticas condicionales
Gestión de la Configuración
Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de
Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia
Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia
CDI Exclusión mutua a nivel alto. conceptos
conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente
un programa concurrente
Introducción un programa concurrente asumimos que tengamos un programa concurrente que quiere realizar acciones con recursos: si los recursos de los diferentes procesos son diferentes no hay problema,
Concurrencia entre Procesos.
Concurrencia entre Procesos. Sistemas Operativos Tema 3. 1 Procesamiento concurrente. Procesamiento concurrente: base de los sistemas operativos modernos (multiprogramados): Un conjunto de procesos que
SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008
SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 1.- INTRODUCCIÓN A LOS PROCESOS 1.1.- Concepto 1.2.- Composición y estructura 1.3.- Estados y transiciones 2.- COMUNICACIÓN ENTRE PROCESOS
PROGRAMACION CONCURRENTE Y DISTRIBUIDA. II.5 Sincronización basada en memoria compartida: Monitores
PROGRAMACION CONCURRENTE Y DISTRIBUIDA II.5 Sincronización basada en memoria compartida: Monitores J.M. Drake 1 Monitor Son módulos que encierran los recursos o variables compartidas como componentes internos
Concurrencia: Exclusión mutua y Sincronización
Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas
Ejemplos de conversión de reales a enteros
Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print
Sistemas Operativos Práctica 4
Sistemas Operativos Práctica 4 Ing. Andrés Bustamante [email protected] Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que
Introducción a la Firma Electrónica en MIDAS
Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento
Mensajes. Interbloqueo
CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya ([email protected]) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose
Modulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Asignación de Procesadores
INTEGRANTES: Asignación de Procesadores Un sistema distribuido consta de varios procesadores. Estos se pueden organizar como colección de estaciones de trabajo personales, una pila pública de procesadores
INTRODUCCION A LA PROGRAMACION DE PLC
INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes
Práctica 2: El problema de la sección crítica
Práctica 2: El problema de la sección crítica Programación de Sistemas Concurrentes y Distribuidos Grado de Ingeniería Informática Dpto. de Informática e Ingeniería de Sistemas, Escuela de Ingeniería y
Gestión de Oportunidades
Gestión de Oportunidades Bizagi Suite Gestión de Oportunidades 1 Tabla de Contenido CRM Gestión de Oportunidades de Negocio... 4 Elementos del Proceso... 5 Registrar Oportunidad... 5 Habilitar Alarma y
Con esta nueva versión, si un artículo que está incluido dentro de un Paquete de Ventas tiene precio 0,00, significará gratis.
NOVEDADES Y MEJORAS Continuando con nuestra política de mejora, innovación y desarrollo, le presentamos la nueva versión 9.50 de datahotel que se enriquece con nuevas funcionalidades que aportan soluciones
Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan [email protected]
Sistemas de archivos distribuidos Alvaro Ospina Sanjuan [email protected] >Abstracción del sistema operativo para representar y organizar los recursos de almacenamiento >Se debe hacer la
CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA. BizAgi Process Modeler
CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA BizAgi Process Modeler TABLA DE CONTENIDO PROCESO DE MESA DE AYUDA INTERNA... 3 1. DIAGRAMA DEL PROCESO... 4 2. MODELO DE DATOS... 5 ENTIDADES DEL SISTEMA...
8. Sentencia return y métodos
92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente
Mesa de Ayuda Interna
Mesa de Ayuda Interna Documento de Construcción Mesa de Ayuda Interna 1 Tabla de Contenido Proceso De Mesa De Ayuda Interna... 2 Diagrama Del Proceso... 3 Modelo De Datos... 4 Entidades Del Sistema...
Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010
Hilos, comunicación y competencia entre procesos Dr. Alonso Ramírez Manzanares 2-Sep-2010 Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos
Capítulo IV. INTERBLOQUEO E INANICIÓN
Capítulo IV. INTERBLOQUEO E INANICIÓN Interbloqueo: [MAEKAMA] Se define como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros.
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:
Concurrencia. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.
Concurrencia Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J. Concurrencia La mayor parte de los DBMS son sistemas para múltiples usuarios Se permite a cualquier cantidad de transacciones
SINAUTO. (Captura Requirimientos) GRUPO 03
SINAUTO (Captura Requirimientos) GRUPO 03 Iker Jauregi [email protected] Iñigo Arregui [email protected] Javier Arce [email protected] Jorge García. [email protected] Patxi [email protected]
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE
PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,
CLASE # 5 TÉCNICAS DE CAJA BLANCA
CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente
Sistemas de Gestión de Calidad. Control documental
4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4
Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual
Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los
I. T. en Informática de Sistemas. Facultad de Informática
I. T. en Informática de Sistemas. Facultad de Informática Construcción de Software Caso práctico para clase Modelo de casos de uso Objetivos del proyecto Los dos grandes objetivos de este proyecto son
Unidad didáctica: Funcionamiento de un parking. Actividad: Funcionamiento de un parking de vehículos con entrada y salida automática con:
Unidad didáctica: Funcionamiento de un parking Descripción: Actividad: Funcionamiento de un parking de vehículos con entrada y salida automática con: Detección del vehiculo entrante Recogida de ticket
Tema 3: Concurrencia de procesos
Tema 3: Concurrencia de procesos Yolanda Blanco Fernández [email protected] Concurrencia, Tiempo Real y Paralelismo Concurrencia: Convivencia de un conjunto de procesos en un mismo ordenador. Sistemas
Tema 4. Gestión de entrada/salida
Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada
Unidad II: Administración de Procesos y del procesador
Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros
Sistemas Operativos. Curso 2016 Procesos
Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor
NOTAS TÉCNICAS SOBRE EL SIT: Documentos de Gestión
NOTAS TÉCNICAS SOBRE EL SIT: Documentos de Gestión Introducción...2 Tipos de documentos...2 Datos de Cabecera...3 Nuevo Documento... 3 Modificar Documento... 4 Añadir, modificar y eliminar Artículos...5
Capítulo 5. Cliente-Servidor.
Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor
SIIGO PYME PLUS. Proceso de Recuperación. Cartilla I
SIIGO PYME PLUS Proceso de Recuperación Cartilla I Tabla de Contenido 1. Presentación 2. Qué es el Proceso de Recuperación? 3. Cuál es el Objetivo del Proceso de Recuperación? 4. Cuáles son los Pasos que
Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos
Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos 1.- Notas y criterios para los problemas de planificación NOTA GENERAL: Normalmente los enunciados no son rigurosamente completos,
El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.
El soporte del sistema operativo Objetivos y funciones del sistema operativo Comodidad Hace que un computador sea más fácil de usar. Eficiencia Permite que los recursos del computador se aprovechen mejor.
Arquitectura de sistema de alta disponibilidad
Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los
3.2 Operaciones aritmético-lógicas en Pascal
3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES
e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.
Comercio electrónico. (e-commerce) Las empresas que ya están utilizando la red para hacer comercio ven como están cambiando las relaciones de la empresa con sus clientes, sus empleados, sus colaboradores
CAPÍTULO 3 Servidor de Modelo de Usuario
CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes
Técnicas de Desarrollo de Programas Ingeniería Informática Curso 2008 / 2009. Ejercicios de Patrones de Diseño:
Técnicas de Desarrollo de Programas Ingeniería Informática Curso 2008 / 2009 Ejercicios de Patrones de Diseño: Iterator, Composite, Strategy, Observer, Decorator, Visitor Ejercicio 1 (examen de junio año
ARQUITECTURA DE DISTRIBUCIÓN DE DATOS
4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia
MANUAL COPIAS DE SEGURIDAD
MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta
00352.3 KW x hora. on/off
Proyecto HomeControl. Se desea controlar la temperatura de una oficina con un computador de forma que se consiga el máximo ahorro energético y el confort de sus ocupantes. La oficina tiene actualmente
RAZONAMIENTOS LÓGICOS EN LOS PROBLEMAS DE MATEMÁTICAS
RAZONAMIENTOS LÓGICOS EN LOS PROBLEMAS DE MATEMÁTICAS AUTORÍA SERGIO BALLESTER SAMPEDRO TEMÁTICA MATEMÁTICAS ETAPA ESO, BACHILLERATO Resumen En este artículo comienzo definiendo proposición y los distintos
RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Manual del Usuario. Sistema de Help Desk
Manual del Usuario Sistema de Help Desk Objetivo del Manual El siguiente manual tiene como objetivo proveer la información necesaria para la correcta utilización del sistema Help Desk. Describe los procedimientos
MANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE
MANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE PROFESOR: Creación y puesta en marcha de un proceso de aprendizaje Delphi: En esta fase el profesor debe realizar las
2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación.
EJERCICIOS DE PLANIFICACIÓN: 1) Un sistema informático posee los siguientes recursos: - una CPU - tres unidades de almacenamiento UAM1, UAM2 y UAM3. En nuestro sistema tenemos dos tipos de procesos: Tipo
Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación
Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Sistemas Operativos Concurrencia y Sincronización de
LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos
GUÍA METODOLÓGICA PARA LA FORMACIÓN CON E-LEARNING DIRIGIDA A COLECTIVOS SIN ALTA CUALIFICACIÓN CAPÍTULO 4. Dirección Técnica:
LA FORMACIÓN EMPRESARIAL CON E-LEARNING GUÍA METODOLÓGICA PARA LA FORMACIÓN CON E-LEARNING DIRIGIDA A COLECTIVOS SIN ALTA CUALIFICACIÓN CAPÍTULO 4 Dirección Técnica: 4.- EL PLAN DE FORMACIÓN 33 Capítulo
Manual del Investigador de OpenClinica
Manual del Investigador de OpenClinica Índice de Contenidos 1. Introducción... 3 2. Login en OpenClinica... 3 3. Entrada de Datos... 4 3.1. Añadir Pacientes... 4 3.2. Entrada de Datos de las Visitas...
SAQQARA. Correlación avanzada y seguridad colaborativa_
SAQQARA Correlación avanzada y seguridad colaborativa_ Tiene su seguridad 100% garantizada con su SIEM?_ Los SIEMs nos ayudan, pero su dependencia de los eventos y tecnologías, su reducida flexibilidad
comunidades de práctica
1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades
Gestión de la Prevención de Riesgos Laborales. 1
UNIDAD Gestión de la Prevención de Riesgos Laborales. 1 FICHA 1. LA GESTIÓN DE LA PREVENCIÓN DE RIESGOS LABORALES. FICHA 2. EL SISTEMA DE GESTIÓN DE LA PREVENCIÓN DE RIESGOS LABORALES. FICHA 3. MODALIDAD
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Procesos. Planificación del Procesador.
Procesos. Planificación del Procesador. Sistemas Operativos. Tema 2. Concepto de Proceso. Una definición sencilla: Programa en ejecución. Entidad pasiva Programa RECURSOS CPU Memoria Ficheros Dispositivos
Incidencias: Todas las incidencias que ocurrirán durante el apadrinamiento de un niño se deben registrar para poder buscar soluciones.
Apadrinamiento ONG Estudio preliminar: Se desea diseñar una aplicación para la gestión de los apadrinamientos de una asociación ONG. Para ello el sistema proporcionara una interfaz al usuario para poder
RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014
RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 FAMILIA PROFESIONAL: INFORMATICA Y COMUNICACIONES MATERIA: 28. DESARROLLO WEB EN ENTORNO SERVIDOR CURSO: 2º DE CFGS DESARROLLO DE APLICACIONES
TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.
TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.
Edición de Ofertas Excel Manual de Usuario
Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE
Copyright 2011 - bizagi. Gestión de Cambios Documento de Construcción Bizagi Process Modeler
Copyright 2011 - bizagi Gestión de Cambios Bizagi Process Modeler Tabla de Contenido Gestión de Cambios... 4 Descripción... 4 Principales factores en la Construcción del Proceso... 5 Modelo de Datos...
Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática
Manejo básico de base de datos Unas de las capacidades de Excel es la de trabajar con listas o tablas de información: nombres, direcciones, teléfonos, etc. Excel puede trabajar con tablas de información
Manual del Protocolo XML-RPC de Mensajería Negocios
Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...
Actividad 4: Comunicación entre PLC s vía Ethernet
Actividad 4: Comunicación entre PLC s vía Ethernet 1.- Listado de materiales: PC con Tarjeta de red 3com o similar. 2 PLC Omrom CJ1M CPU11 ETN Estos autómatas llevan integrada la tarjeta de comunicaciones
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer
Google Calendar. Google Calendar
Google Calendar Tabla de contenido Tabla de contenido... 2 Introducción... 3 Qué es Google Calendar?... 3 Acceder y crear una cuenta de Google Calendar... 4 Creación de eventos... 11 Envío de invitaciones...
Tema 6. Gestión de la memoria
Tema 6. Índice Introducción Compartición de memoria Memoria virtual Soporte en los procesadores: la MMU en Linux en Windows NT/2000 1 Tema 6. Introducción Necesidad de la gestión de la memoria Requisitos
Tarea 4.2 Memoria Virtual
1 Tarea 4.2 1. Cuál es la diferencia entre paginación simple y paginación en memoria virtual? En memoria virtual no es necesario que todas las páginas estén en marcos de la memoria principal. Las páginas
PROGRAMACION CONCURRENTE. I.2 Recursos para la concurrencia.
PROGRAMACION CONCURRENTE I.2 Recursos para la concurrencia. J.M. Drake 1 Procesos Concurrentes Concepto de proceso. Estructura de los procesos. Estados de un proceso. Gestión de los procesos. 2 2 Plataforma
Capítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
Estructuras de Control - Diagrama de Flujo
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.
MODULO: MERCADEO. Acuerdo de Nivel de Servicio (ANS) Service Level Agreement (SLA) MODELO DE MUESTRA SIN VALOR COMERCIAL
MODULO: MERCADEO Acuerdo de Nivel de Servicio (ANS) Service Level Agreement (SLA) 1 Servicio de Soporte. El presente apartado constituye las condiciones de soporte y mantenimiento por parte de enncloud
Semántica Denotacional
Semántica Denotacional Idea: El significado de un programa es la función denotada por el programa Componentes del metalenguaje para la definición semántica denotacional de un L.P.: Dominios sintácticos
Oficina Online. Manual del administrador
Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal
28.- Manejo de los Feriados
28.- Manejo de los Feriados El feriado anual o vacaciones pagadas es el derecho del trabajador con más de un año de servicios a hacer uso de un descanso anual de 15 días hábiles, con remuneración íntegra,
ORIENTACIONES GENERALES SOBRE EL PROCESO DE TRABAJO DE GRADO
PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD ESTUDIOS AMBIENTALES Y RURALES MAESTRIA EN DESARROLLO RURAL ORIENTACIONES GENERALES SOBRE EL PROCESO DE TRABAJO DE GRADO SOBRE LO QUE ESPERA LA MAESTRÍA DEL TRABAJO
NOTAS TÉCNICAS SOBRE EL SIT: Definición y Configuración de Usuarios
NOTAS TÉCNICAS SOBRE EL SIT: Definición y Configuración de Usuarios Qué es un Usuario?...2 Definición...2 Características...2 Tipos de Usuario...3 Supervisor...3 Privilegios de Acceso...4 Confidenciales...4
COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE
COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE Creado en May/14 Objetivo: Contar con una guía de las actividades que se deben realizar en esta fase,
MANUAL PARA EMPRESAS PRÁCTICAS CURRICULARES
MANUAL PARA EMPRESAS PRÁCTICAS CURRICULARES ÍNDICE 1. Introducción... 3. Registro y Acceso... 3.1. Registro Guiado... 4.1. Registro Guiado Datos Básicos... 5.1. Registro Guiado Contactos... 6 3. Creación
O C T U B R E 2 0 1 3 SOPORTE CLIENTE. Manual de Usuario Versión 1. VERSIÓN 1 P á g i n a 1
SOPORTE CLIENTE Manual de Usuario Versión 1 VERSIÓN 1 P á g i n a 1 Contenido Contenido... 2 INTRODUCCIÓN... 3 DESCRIPCIÓN ACTIVIDADES... 4 1. INICIO... 4 2. REGISTRAR NUEVO CLIENTE... 5 1.1 INGRESO DE
El problema de los Filósofos
El problema de los Filósofos Problemas de Programación Concurrente Solución con Semáforos Para evitar una situación de interbloqueo se limita el número de filósofos en disposición de comer a 4. PROGRAM
Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para.
ESTRUCTURAS DE REPETICIÓN OBJETIVOS Aprender a construir grandes y complejos problemas a través de la ejecución repetida de una secuencia de proposiciones llamados ciclos o estructuras repetitivas. Distinguir
Operación 8 Claves para la ISO 9001-2015
Operación 8Claves para la ISO 9001-2015 BLOQUE 8: Operación A grandes rasgos, se puede decir que este bloque se corresponde con el capítulo 7 de la antigua norma ISO 9001:2008 de Realización del Producto,
SEGURIDAD Y PROTECCION DE FICHEROS
SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD
