Concurrencia

Páginas: 3 (727 palabras) Publicado: 28 de octubre de 2011
10/10/2011

Semáforos Sistemas Operativos
Concurrencia


Semáforo: es una estructura de datos del SO que tiene asociada un contador y una cola de procesos bloqueados.


Sirve para protegerel acceso a recursos. El contador indica la cantidad de accesos simultáneos que permitimos al recurso que protege i ltá iti l t el semáforo. Sólo es accesible mediante dos primitivas: wait() ysignal().





Productor/Consumidor
Buffer circular de tamaño limitado (N posiciones)
out int buffer[N],in,out; main() { crearFlujo(consumidor); crearFlujo(productor); esperarFinalFlujos(); } inProductor/Consumidor
int buffer[N],in,out; semaforos hay_ele, hay_esp, mutex; main() { sem_init(hay_ele,0); sem_init(hay_esp,N); sem_init(mutex,1); ..... } void consumidor() { while(1) {wait(hay_ele); wait(mutex); acceder_buffer_sacar(ele); signal(mutex); signal(hay_esp); consumir_elemento(ele); } } void productor() { while(1) { ele = producir_elemento(); wait(hay_esp); wait(mutex);acceder_buffer_introducir(ele); signal(mutex); signal(hay_ele); } }

int buffer[N],

void consumidor() { acceder_buffer_sacar(ele); consumir_elemento(ele); } Debe existir como mínimo 1 elemento en elbuffer, sino esperarse

void productor() { ele = producir_elemento(); acceder_buffer_introducir(ele); } Debe existir como mínimo 1 espacio vacío en el buffer, sino esperarse

1

10/10/2011Lectores/Escritores
lector 1 escritor 1 escritor i lector i lector 2 lector n escritor i

Lectores/Escritores
(prioridad lectores)
Mientras existan lectores que quieran acceder a los datos, losescritores se esperaran, independientemente del orden en que se solicite el acceso a los datos
int cont_lect; semaforos esc, mutex; main() { sem_init(esc,1); sem_init(mutex,1); cont_lect = 0; ..... } voidescritor() { wait(esc); escribir(); signal(esc); }

Escritor accede a datos: • solo un escritor simultáneamente • otros escritores se esperan • lectores se esperan

Lector accede a datos: • pueden...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Concurrencia
  • Concurrente
  • concurrencia
  • Concurrencia
  • Concurrente
  • CONCURRENCIA
  • Concurrencia
  • Concurrencia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS