Programación

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 23,39 KB

DESCRIBE BREVEMENTE LAS DIFERENTES ETAPAS DE DESARROLLO DE LA PROGRAMACIÓN CONCURRENTE:

Reto de Hardware: Comparte, en forma eficiente, un procesador con los periféricos lentos.

Crisis de software: Surgió de la necesidad de presentar al usuario una interface secuencial.

Innovación conceptual: Surge para dividir programas concurrentes en pequeños módulos asíncronos con dependientes del tiempo.

Desarrollo de lenguajes: Se caracteriza por el desarrollo de una tecnología y notación precisa de los conceptos recurrentes.

Entendimiento formal: Surge como idea de verificación de programas.

Refinamiento de Hardware: surge como idea de soportar conceptos de proceso y monitor en hardware.

Redes de computadoras: Surge como idea de Redes de computadoras, en las cuales la comunicación no se hace por medio de memoria compartida, si no por E/S.

EXPLICA EL CONCEPTO DE PROCESO Y PROPORCIONA UN EJEMPLO:

El lugar de control de un procedimiento que está siendo ejecutado. Un programa que se está ejecutando.

DESCRIBE LOS DIFERENTES ESTADOS QUE PUEDE TENER UN PROCESO:

En ejecución (running): el procesador está ejecutando las instrucciones del proceso

Listo (ready): El proceso está listo para ser ejecutado, pero el procesador todavía no está

Disponible para dicha ejecución.                                                                                                                                                                                                                           !

Bloqueado (blocked): el proceso no puede ejecutarse debido a la ocurrencia de algún evento externo.

QUE ES EL PCB Y CUÁL ES LA INFORMACIÓN QUE CONTIENE:

Es la manifestación de un proceso en un S.O incluye:

* Estado actual del proceso.

* Identificación única del proceso,

* Prioridad del proceso.

* Apuntadores para localizar la memoria del proceso.

* Apuntadores para asignar recursos.

* Área para preservar registros.

* Cuando el S.O cambia la atención de la cpu entre procesos, utiliza las áreas de preservación del POS para mantener la info.  necesaria para reiniciar el proceso.

MENCIONA LAS OPERACIONES POSIBLES  QUE SE PUEDEN HACER SOBRE LOS PROCESOS:

* Crear

* Destruir

* Suspender

* Reanudar

* Cambiar prioridad

* Bloquear

* Despertar (desbloquear)

* Despachar un proceso.

DESCRIBE CADA UNA DE LAS OPERACIONES DEL PUNTO ANTERIOR:

Crear:

*Dar nombre al proceso.

*Insertar un proceso en lista de sistema de procesos conocidos.

*Determinar prioridad inicial del proceso.

*Crear bloque de control de proceso

*Asignar recursos iníciales dl proceso.

Destruir:

*Borrarlo del sistema.

*Devolver sus recursos al sistema.

*Purgarlo de listas tablas del sistema.

*Borrar su bloque de control de procesos.

Suspender: no puede proseguir hasta que otro proceso lo reanude.

Reanudar: un proceso Implica reiniciarlo al punto donde fue suspendido.

Cambio de prioridad: consiste en modificar el atributo prioridad dentro del PCB

Bloqueo: quita al proceso el procesador. El proceso se inserta en la cola de bloqueados.

Despertar: al ocurrir un evento inesperado, el procesa se inserta en cola de Listos.

Despacho: se asigna al proceso un procesador.

QUE ES EL KERNEL Y CUÁLES SON SUS FUNCIONES:

Es el núcleo del S.O controla todas  las operaciones que implican procesos y representa solo una pequeña porción del código de todo el S.O. Funciones:

*Manipulación de interrupciones.

*Creación y destrucción de procesos.

*Camblo.de estados de procesos.

*Despacho.

*Suspensión y reanudación de procesos.

*Sincronización de procesos.

*Comunicación entre procesos.

*Manipulación de bloques de control de proceso.

*Soporte de las actividades dé Entrada/Salida.

*Soporte de la asignación y des asignación de almacenamiento.

*Soporte del sistema de archivos.

*Soporte de un mecanismo de llamada regreso al procedimiento.

*Soporte de ciertas funciones contables (estadísticas) del sistema



CÓMO INTERACTÚAN LOS PROCESES. EXPLICA LAS DIFERENTES CATEGORÍAS:

Comunicación: los procesos se comunican por medio del paso de mensajes (programación distribuida) o por medio de memoria compartida, que es accesible por diferentes procesos.

Sincronización: Un proceso (Pr1) espera a otro proceso (Pr2) a realizar una terea antes de reanudar su ejecución.

MENCIONA TRES RAZONES DE LA PROGRAMACIÓN CONCURRENTE:

*Uso de arquitecturas paralelas

*Reducción de tiempos de ejecución de procesos

*Desarrollo de sistemas en tiempo real

*Desarrollo de nuevos lenguajes de Programación Concurrente y Distribuida

DESCRIBE LOS DIFERENTES MODELOS DE PROGRAMACIÓN CONCURRENTE:

*Memoria compartida: mediante esta pueden crear zonas de memoria compartida por varios procesos.

*Paso de mensajes asíncronos (sin bloqueo): el proceso enviado no espera  a que el mensaje sea recibido y sigue ejecutándose para enviar más mensajes.

*Paso de mensajes síncronos (con bloqueo): el proceso envía el mensaje y espera a que un proceso lo reciba para seguir ejecutándose.

MENCIONA LAS DIFERENTES FORMAS DE IMPLANTAR LA PROGRAMACIÓN CONCURRENTE:

Pueden ser implantados en arquitecturas uniprocesador, multiprocesador o en procesadores conectados a una red (distribuidos).

DESCRIBE QUE ES MULTIPROGRAMACIÓN Y PROPORCIONA UN EJEMPLO: ejecución de programas concurrentes por tiempo compartido en un solo procesador

DESCRIBE QUE ES MULTIPROCESAMIENTO Y PROPORCIONA UN EJEMPLO: ejecución de procesos concurrentes corriendo en procesadores separados y pueden acceder a una memoria compartida

DESCRIBE QUE ES PROCESAMIENTO DISTRIBUIDO Y PROPORCIONA UN EJEMPLO: ejecución de procesos concurrentes corriendo procesadores separados, que pueden comunicarse por mecanismos de mensajes, cada procesador cuenta con memoria local, pero sin memoria compartida.

REALIZA UN ANÁLISIS DE LAS DIFERENTES FORMAS DE IMPLANTACIÓN DE LA PROGRAMACIÓN CONCURRENTE MENCIONANDO VENTAJAS Y DESVENTAJAS DE CADA UNA:

Multiprogramación. Ventajas – la ejecución de programas es por tiempo compartido. Desventaja – solo un procesador.

Multiprocesamiento. Ventaja -  ejecuta procesos en procesadores separados y pueden acceder a una memoria compartida. Desventaja – carece de tiempo compartido.

Procesamiento Distribuido. Ventaja – ejecución de procesos en procesadores separados, comunicación por mensajes, cada procesador cuneta con memoria local. Desventaja – no existe memoria compartida.

EXPLICA QUE ES LA CONCURRENCIA REAL O FÍSICA: se da cuando hay un proceso en un solo procesador.

EXPLICA QUE ES LA PSEUDOCONCURRENCIA: se da cuando la ejecución de los procesos se hace con un procesador. Características:

*Solo un proceso se ejecuta en un instante dado

*La conmutación de la ejecución entre procesos esta fuera de control de los procesos.

QUE ES LA CUASICONCURRENCIA: en este caso los procesos se ejecutan en un mismo procesadorcaracterísticas:

*Solo un proceso se ejecuta en un tiempo dado

*La conmutación de procesos ocurre a petición de los procesos activos

*El programador transfiere la conmutación entre procesos.

EXPLICA QUE TIPO DE CONCURRENCIA SE PUEDE IMPLANTAR EN UNA ARQUITECTURA UNIPROCESADOR:

EXPLICA QUE TIPO DE CONCURRENCIA SE PUEDE IMPLANTAREN UNA ARQUITECTURA MULTIPROCESADOR:

EXPLICA LOS ESTATUTOS FORK Y JOIN PROPORCIONA UN EJEMPLO Y MENCIONA LOS LENGUAJES QUE LO SOPORTAN:

Fork: específica que una corrutina debe iniciar su ejecución, sin embargo, la rutina llamada y la rutina llamadora se ejecutan en forma concurrente.

Join: retarda la rutina llamadora hasta que la rutina invocada haya terminado.

La ejecución de A2 es iniciada cuando el fork en A1 es ejecutado; A1 y A2 en este momento se ejecutan concurrentemente hasta que A1 ejecute el estatuto Join o A2  termine. Después de que A1 alcanza a Join y A2 termina, A1 continua su ejecución en el estatuto siguiente a Join.UNIX

EXPLICA LOS ESTATUTOS COBEGIN Y COEND PROPORCIONA UN EJEMPLO Y MENCIONA LOS LENGUAJES QUE LO SOPORTAN: es una forma estructurada de denotar la ejecución concurrente de un conjunto dé procesos. La ejecución de: S1/S2/S3

Causa la ejecución concurrente de los proceses SI, S2…. Sn, los cuales pueden ser un estatuto o un conjunto de ellos. La ejecución de un cobegin termina cuando todos los procesos Sj han terminado de ejecutarse.ALGOL, EDISON y Aarhus

EXPLICA QUE ES UNA CORRUTINA Y MENCIONA LOS LENGUAJES QUE SOPORTAN DICHO ESQUEMA: son similares a las subrutinas (Fortran) o procedimientos o funciones (Pascal o C), sin embargo  transfieren el control de una corrutina a otra, dentro de un programa. SIMULA,SL5 y MODULA-2                                                   

DIFERENCIA ENTRE SÍNCRONO Y ASÍNCRONO:

Síncrono  lleva un orden y el asíncrono no.

QUE ES UNA ARQUITECTURA PARALELA: grupo de técnicas usadas para proporcionar tareas simultaneas de procesamiento de datos para aumentar la velocidad de procesamiento.                                                                         


Entradas relacionadas: