PDF de programación - Sistemas Operativos - Procesos concurrentes - Unidad III

Imágen de pdf Sistemas Operativos - Procesos concurrentes - Unidad III

Sistemas Operativos - Procesos concurrentes - Unidad IIIgráfica de visualizaciones

Publicado el 25 de Junio del 2017
207 visualizaciones desde el 25 de Junio del 2017
284,6 KB
24 paginas
Creado hace 7a (25/11/2011)
SISTEMAS OPERATIVOS

PROCESOS CONCURRENTES – UNIDAD III



Mas Publicaciones | Sala de Prensa - Noticias | Testimonios | Página de Inicio



1





INDICE



Karen Suzely Sandoval Diaz
ID: UB6571SSE13056



No. Página

INTRODUCCIÓN ............................................................................................................ 3
PROCESAMIENTO PARALELO .................................................................................... 4
MULTIPROCESAMIENTO SIMETRICO .................................................................... 6
PROCESAMIENTO MASIVAMENTE PARALELO ..................................................... 7
PROCESAMIENTO PARALELO ESCALABLE .......................................................... 9
EXCLUSIÓN MUTUA ................................................................................................... 11
Cierre de exclusión mutua ........................................................................................ 12
Primitivas y uso ..................................................................................................... 13
ALGORITMO DE DEKKER .......................................................................................... 13
ALGORITMO DE PETERSON ..................................................................................... 15
Algoritmo para dos procesos .................................................................................... 15
LA SINCRONIZACIÓN ................................................................................................. 16
SEMÁFORO ................................................................................................................. 17
Operaciones ............................................................................................................. 17
Usos .......................................................................................................................... 19
Ejemplo de uso ......................................................................................................... 20
MONITOR ..................................................................................................................... 21
Componentes ........................................................................................................... 21
Exclusión mutua en un monitor ................................................................................ 21
Tipos de monitores ................................................................................................... 22
Tipo Hoare ................................................................................................................ 23
Ventajas ................................................................................................................ 23
Desventajas .......................................................................................................... 23
Tipo Mesa ................................................................................................................. 23
BIBLIOGRAFÍAS .......................................................................................................... 24



Mas Publicaciones | Sala de Prensa - Noticias | Testimonios | Página de Inicio


2





INTRODUCCIÓN



El algoritmo de Drekker es un algoritmo de programación concurrente para exclusión
mutua, que permite a dos procesos o hilos de ejecución compartir un recurso sin
conflictos. Fue uno de los primeros algoritmos de exclusión mutua inventados,
implementado por Edsger Dijkstra.

Si ambos procesos intentan acceder a la sección crítica simultáneamente, el algoritmo
elige un proceso según una variable turno. Si el otro proceso está ejecutando en su
sección crítica, deberá esperar su finalización.

En los sistemas operativos multiprogramados surge el concepto de proceso, asociado
a la ejecución de un programa. En general, un proceso es un flujo de ejecución,
representado básicamente por un contador de programa, y su contexto de ejecución,
que puede ser más o menos amplio. Así, un proceso incluye en su contexto el estado
de la pila, el estado de la memoria y el estado de la E/S, mientras que un thread típico
tiene como contexto propio poco más que la pila. En algunos sistemas es posible
determinar el contexto propio de un proceso en el momento de su creación, como
ocurre con la llamada al sistema clone() de Linux. En adelante, sin perder generalidad,
utilizaremos siempre el término proceso, independientemente de cuál sea su contexto.
Uno de los objetivos del sistema operativo es la representación de los procesos y el
soporte de los cambios de contexto entre procesos, que posibilitan la compartición del
recurso CPU. El acceso a otros recursos compartidos y la comunicaciónentre procesos
relacionados (por ejemplo, de una misma aplicación) hacen necesaria la utilización de
mecanismos de sincronización dentro del sistema operativo. Típicamente, un proceso
requiere la CPU durante un periodo de tiempo, realiza alguna operación de E/S, y
vuelve a requerir la CPU, repitiéndose este ciclo hasta la finalización del programa. El
proceso pasa por diversos estados entre los que se definen transiciones, como
representa, en su forma más sencilla, el grafo de la Figura siguiente.

Mas Publicaciones | Sala de Prensa - Noticias | Testimonios | Página de Inicio


3





Cada vez que un proceso pasa al estado preparado, está compitiendo por el recurso
CPU. Un segundo objetivo del sistema operativo multiprogramado es la planificación
del uso del (de los) recurso(s) de proceso. Los criterios que se siguen para la
planificación y las políticas que se usan se estudiarán mas adelante en el desarrollo de
la presente investigación.



PROCESAMIENTO PARALELO

Las arquitecturas paralelas tienen un notable incremento en la velocidad de
procesamiento.

Mas Publicaciones | Sala de Prensa - Noticias | Testimonios | Página de Inicio


4





• En computación, el procesamiento paralelo es la ejecución de diferentes
procesos en dos o mas procesadores al mismo tiempo, donde estos procesos
juntos resuelven un problema completamente.

• Un proceso debe entenderse como un fragmento de código en ejecución que

convive con otros fragmentos.

El procesamiento paralelo ofrece una gran ventaja en cuanto a costos. Sin embargo,
su principal beneficio,
la escalabilidad (crecer hacia arquitecturas de mayor
capacidad), puede ser difícil de alcanzar aún. Esto se debe a que conforme se añaden
procesadores, las disputas por los recursos compartidos se intensifican.

Mas Publicaciones | Sala de Prensa - Noticias | Testimonios | Página de Inicio


5





Algunos diseños diferentes de procesamiento paralelo enfrentan este problema
fundamental:



• Multiprocesamiento simétrico
• Procesamiento masivamente paralelo
• Procesamiento paralelo escalable

Cada diseño tiene sus propias ventajas y desventajas.
MULTIPROCESAMIENTO SIMETRICO



El Multiprocesamiento simétrico (symmetric multiprocessing / SMP) tiene un diseño
simple pero aún así efectivo. En SMP, múltiples procesadores comparten la memoria
RAM y el bus del sistema. Este diseño es también conocido como estrechamente
acoplado (tightly coupled), o compartiendo todo (shared everything).

Debido a que SMP comparte globalmente la memoria RAM, tiene solamente un
espacio de memoria, lo que simplifica tanto el sistema físico como la programación de
aplicaciones. Este espacio de memoria único permite que un Sistema Operativo con
Multiconexión (multithreaded operating system) distribuya las tareas entre varios
procesadores, o permite que una aplicación obtenga la memoria que necesita para
una simulación compleja. La memoria globalmente compartida también vuelve fácil la
sincronización de los datos.

SMP es uno de los diseños de procesamiento paralelo más maduro. Apareció en los
supercomputadores Cray X-MP y en sistemas similares hace década y media (en
1983).

Mas Publicaciones | Sala de Prensa - Noticias | Testimonios | Página de Inicio


6





Sin embargo, esta memoria global contribuye el problema más grande de SMP:
conforme se añaden procesadores, el tráfico en el bus de memoria se satura. Al añadir
memoria caché a cada procesador se puede reducir algo del tráfico en el bus, pero el
bus generalmente se convierte en un cuello de botella al manejarse alrededor de ocho
o más procesadores. SMP es considerada una tecnología no escalable.



PROCESAMIENTO MASIVAMENTE PARALELO



Mas Publicaciones | Sala de Prensa - Noticias | Testimonios | Página de Inicio


7





El Procesamiento masivamente paralelo (Massively parallel processing / MPP) es otro
diseño de procesamiento paralelo. Para evitar los cuellos de botella en el bus de
memoria, MPP no utiliza memoria compartida. En su lugar, distribuye la memoria RAM
entre los procesadores de modo que se semeja a una red (cada procesador con su
memoria distribuida asociada es similar a un computador dentro de una red de
procesamiento distribuido). Debido a la distribución dispersa de los recursos RAM,
esta arquitectura es también conocida como dispersamente acoplada (loosely
coupled), o compartiendo nada (shared nothing).

Para tener acceso a la memoria fuera de su propia RAM, los procesadores utilizan un
esquema de paso de mensajes análogo a los paquetes de datos en redes. Este
sistema reduce el tráfico del bus, debido a que
  • Links de descarga
http://lwp-l.com/pdf4612

Comentarios de: Sistemas Operativos - Procesos concurrentes - Unidad III (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad