lunes, 4 de mayo de 2015


Paralelismo

El paralelismo se basa en la informática, es una función que realiza el procesador para ejecutar varias tareas al mismo tiempo. Es decir, puede realizar varios cálculos simultáneamente, basado en el principio de dividir los problemas grandes para obtener varios problemas pequeños, que son posteriormente solucionados en el paralelo.

Desventajas
*      Requieren de un gran número de ciclos de procesamiento o acceso a una gran cantidad de datos.
*      Encontrar un hardware y un software que permitan brindar estas utilidades comúnmente proporciona inconvenientes de costos, seguridad y disponibilidad.
Ventajas
Ø  Brinda a las empresas, instituciones y usuarios en general el beneficio de la velocidad
Ø  Ventajas competitiva, parvee una mejora de los tiempos para la producción de nuevos productos y servicios.
Ø  Colaboración y flexibilidad operacional

Tipos de paralelismo Informática
v  Nivel bit
v  Nivel instrucción
v  Nivel de Datos 
v  Nivel tarea



Semaforo




SEMÁFOROS



Los semáforos se emplean para permitir el acceso a diferentes partes de programas (llamados secciones críticas) donde se manipulan variables o recursos que deben ser accedidos de forma especial. Según el valor con que son inicializados se permiten a más o menos procesos utilizar el recurso de forma simultánea.
Ejemplo de uso
Los semáforos pueden ser usados para diferentes propósitos, entre ellos:
·         Implementar cierres de exclusión mutua o locks
·         Barreras
·         Permitir a un máximo de N threads (hilos) acceder a un recurso, inicializando el semáforo en N
·         Notificación. Inicializando el semáforo en 0 puede usarse para comunicación entre threads sobre la disponibilidad de un recurso

En el siguiente ejemplo se crean y ejecutan n procesos que intentarán entrar en su sección crítica cada vez que puedan, y lo lograrán siempre de a uno por vez, gracias al uso del semáforos inicializado en 1. El mismo tiene la misma función que un lock.


Vídeo de Complemento







Hilos y Hebras


Procesos ligeros (Hilos o hebras).

Procesos ligeros

Los procesos ligeros son programas en ejecución son básicamente procesos pero a diferencia de éstos últimos que solo tienen un hilo de ejecución los primeros tienen el hilo principal más hilos secundarios o hijos, en éste caso todos los procesos hijos comparten la información del hilo principal pero además puede cada hilo tener su información privada.
Dentro de la información propia tenemos:

·                     Contador de programa
·                     Pila
·                     Registros.
·                     Estado del proceso ligero.
·                     Dentro de la información compartida tenemos:
·                     Variables globales.
·                     Archivos abiertos
·                     Señales
·                     Semáforos.
·                     Contabilidad.          Vídeo de Complemento





viernes, 1 de mayo de 2015

Bloqueo Mutuo

Que es Bloqueo?


Es el bloqueo permanente  de un conjunto de procesos
Que compiten por los recursos del sistema  o se comunican

unos con otros.

Condiciones Necesarias para el Bloqueo Mutuo

Exclusión Mutua: La sincronización asegura que solo un
 proceso  esta haciendo algo en un instante determinado.

Retención Espera: Cada proceso deberá pedir todos los
Recursos al mismo tiempo y no podrá seguir hasta obtenerlos
 todos
No apropiación: El S.O esta  autorizado para quitar a un recurso
Asignado a un proceso para dárselo a otro que lo necesita

Espera Circular : A los recursos se les asigna un ordenamiento
Lineal(Numeración única ascendente). Los números asignados
A los recursos deben reflejar el orden natural en que son
solicitados.


CASOS DE BLOQUEOS

Caso # 1: Bloqueos Mutuos En Solicitudes de Archivo:
 Es cuando se permite que los procesos soliciten y conserven archivos que necesitan ser usados por otros procesos.
Ejemplo tenemos
tres procesos P1, P2,P3 y lo recursos R1, R2

Este un tipo caso de bloqueo mutuo en forma circular ya que se espera un recurso y este se
asigno.


CASO # 2 Bloqueo Mutuos en Bases de Datos:
Ocurre cuando dos procesos acceden y bloquean los registros de una base de datos, aunque el bloqueo es una técnica para garantizar la integridad de la base de datos a través de la cual un usuario bloquea a otro usuario mientras esta trabajando con la base de. datos 


CASO # 3: Bloqueo Mutuo En la asignación de Dispositivos Dedicados:
 Es cuando hay varios  dispositivos del sistema y son usados por varios procesos y permanecen bloqueados por que esperan que se desocupen y allí permanecen en esa espera.
Ejemplo:
1. A
1 solicita la unidad de disco1 y la obtiene.
2.
A2 pide la unidad de disco 2 y la obtiene.
3.
A1 solicita la unidad de disco 2 pero esta bloqueada.
4.
A2 pide la unidad de disco 1 más esta bloqueada.

CASO # 4 Bloqueos En la Asignación Múltiple de Dispositivos:
 se presenta cuando varios dispositivos compiten por el mismo tipo de dispositivo; y se presenta cuando varios procesos solicitan y se quedan con dispositivos dedicados, en tanto que otros procesos actúan igual. 
P1 solicita y obtiene la unidad de cinta.
P2 pide y obtiene la impresora.
P3 solicita y obtiene gratificador.
P1 pide la impresora pero se encuentra bloqueada.
P2 solicita el gratificador pero está bloqueado.
P3 pide la unidad de cinta pero se encuentra bloqueada

Tres procesos Mostrados como Círculos, esperan un dispositivo asignado a otro proceso, con lo que se genera un Bloqueo mutuo.

CASO # 5 Bloqueos Mutuos En Operaciones Periféricas Simultaneas en Línea
Este tipo de bloqueo ocurre cuando usamos lo que se llama “spooling”. Spooling significa que las tareas a realizar por un dispositivo (ej.: una impresora) se almacenan en una parte del disco. Estas van llegando y la impresora las realiza cuando tiene la información completa. Sin spooling sólo una tarea podría ser realizada por la impresora y las demás estarían bloqueadas esperando. Pero el spool también se puede bloquear. Si muchas tareas comienzan a llegar y el espacio en disco disponible se llena sin que ninguna de las tareas esté completa la impresora no va a imprimir hasta que una de éstas se complete, pero ninguna se puede completar porque no hay más espacio en disco.

CASO # 6 BLOQUEO DISCO COMPARTIDO: Los discos están diseñados para ser compartidos por lo que no es raro que 2 procesos diferentes usen áreas diferentes del mismo disco. Son controles para regular el uso de la unidad  de disco, los procesos en competencia podrían enviar comandos conflictivos y bloquear el sistema. 
vEjemplo:
Cuando dos usuarios intentan  acceder al mismo archivo.
CASO # 7 Bloqueos Mutuos En una red:
Una red congestionada o que ha llenado un porcentaje de su buffer de entrada y salida, se puede bloquear totalmente sino tiene protocolos para controlar el flujo de mensajes a trabes de la red. 

ADMINISTRACIÓN DE PROCESOS