lunes, 1 de junio de 2015
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
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.
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. A1 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.
Ejemplo:
1. A1 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
Suscribirse a:
Comentarios (Atom)


