12.07.2015 Views

Spis treœci - Patrz

Spis treœci - Patrz

Spis treœci - Patrz

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

{}buf[i].sem_num = sem_num;buf[i].sem_op = sem_op;buf[i].sem_flg = sem_flg;void wejście (void){przygotuj(0, W, -1, 0); /* przygotowanie do P(W) */semop(sem, buf, 1); /* wykonanie */}void wait (void){przygotuj(0, W, 1, 0); /* przygotowanie do V(W) */przygotuj(l, L, 1, 0); /* przygotowanie do V(L) */semop(sem, buf, 2); /* jednoczesne wykonanie */przygotuj(0, C, -1, 0); /* przygotowanie do P(C) */semop(sem, buf, 1); /* wykonanie */}void signal (void){przygotuj(0, L, -1, IPC_NOWAIT); /* przygotowanie do nP(L) */przygotuj(l, C, 1, 0); /* przygotowanie do V(C) */if (!semop(sem, buf, 2)) /*jednoczesne wykonanie */{przygotuj(0, W, 1, 0); /* przygotowanie do V(W) */semop(sem, buf, 1); /* wykonanie */}}int empty (void){/* ostatni parametr nie ma */return /* znaczenia */!semctl(sem,L,GETVAL,0); /* wart(L) */}void wyjście (void){przygotuj(0, W, 1, 0); /* przygotowanie do V(W) */semop(sem, buf, 1); /* wykonanie */}8.3 ZadaniaRozwiązania poniższych zadań podajemy nżywając abstrakcyjnej notacji. Czytelnikazachęcamy do zapisania ich również w języku C, z wykorzystaniem funkcji systemu Unix.8.3.1 Implementacja semafora binarnegoZapisz operacje PB \ VB na semaforze binarnym za pomocą operacji semaforowych wsystemie Unix.218

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!