Archivo de la etiqueta: concurrencia

Sistemas Distribuidos: Características, Ventajas y Desventajas

Redes Distribuidas

Es una topología de red caracterizada por la ausencia de un centro individual o colectivo donde los nodos se vinculan unos a otros de modo que ninguno de ellos tiene poder de filtro sobre la información que se transmite en la red.

Sistemas Distribuidos

Son sistemas cuyos componentes de hardware y software, que están en ordenadores conectados en red, se comunican por sus acciones mediante el paso de mensajes. Para el logro de su objetivo se establece la comunicación mediante un Seguir leyendo “Sistemas Distribuidos: Características, Ventajas y Desventajas” »

Gestión de Procesos y Memoria en Sistemas Operativos

1. Máquina Virtual

El objetivo es presentar al usuario una versión simplificada de la máquina, denominada máquina virtual o máquina extendida, que abstrae al usuario de las particularidades físicas del equipo.

2. Complejidad O(1)

Implica una complejidad constante.

3. Cambio de Contexto

Es el intercambio del proceso activo con uno preparado para ejecutarse. Implica:

  1. Salvar el estado del proceso en ejecución.
  2. Cargar los registros del próximo proceso.

4. Estados de un Proceso

Conceptos Fundamentales de Programación Orientada a Objetos

Funciones

Una función es una parte de un programa con un nombre, que puede ser invocada desde otra parte tantas veces como se desee. Es un bloque de código que puede ser ejecutado como una unidad funcional que puede recibir valores, se ejecuta y puede devolver un valor.

Arreglos

Un arreglo es un conjunto de datos que se almacenan en memoria de manera contigua con el mismo nombre.

Concurrencia

La concurrencia es una propiedad que distingue a un objeto activo de uno no activo, y permite que varios objetos Seguir leyendo “Conceptos Fundamentales de Programación Orientada a Objetos” »

Desarrollo de sistemas empotrados y concurrencia en programación

Etapas del desarrollo

Analisis, Diseño (UML: Unified Modeling Language), Programación, Testeo y Mantenimiento.

Paradigmas del desarrollo

Metodo en cascada, Metodo en espiral, Metodo de prototipos, Métodos ágiles

Sistema Empotrado

Sistema informático específicamente diseñado para resolver un problema concreto. Un sistema empotrado es un sistema con procesador que no es de propósito general.

Hardware en Empotrados

En unos casos HW es el de un PC: cajeros automático o PC-104. Pero en la mayoría Seguir leyendo “Desarrollo de sistemas empotrados y concurrencia en programación” »

Problemas comunes en programación concurrente

Pregunta 1B:
El principio de la bandera es un teorema que podemos usar para comprobar si está garantizado la exclusión mutua para dos procesos en un código concreto. Si dos procesos primero levantan sus banderas y después miran al otro lado por lo menos uno de los procesos ve la bandera del otro levantado.

Se puede comprobar con contradicción:

Asumimos P0 era el último en mirar

Entonces la bandera de P0 está levantada

Asumimos que P0 no ha visto la bandera de P1

Entonces P1 ha levantado la bandera Seguir leyendo “Problemas comunes en programación concurrente” »