wyk6 linux sem shm, Studia PŚK informatyka, Semestr 5, semestr 5, Programowanie Współbieżne, Wykłady, wyklady

[ Pobierz całość w formacie PDF ]
Programowanie Współbieżne
Komunikacja między procesowa IPC
Semafory
Semafory
Semafory są pojęciem pierwotnym w zagadnieniach
synchronizacji. Nie służą do wymiany informacji tylko do
synchronizowania dostępu do zasobów
Semafory
Przykład operacji semaforowej P(S) w pseudo kodzie:
for (;;)
{
if (semafor > 0)
semafor--;
break;
}
Tu niestety nie ma zagwarantowanej niepodzielności.
Semafory
Jądro utrzymuje pewną strukturę informacji dla każdego
zbioru semaforów w systemie (przykład struktury).
#include <sys/types.h>
#include <sys/ipc.h> /* tu definicja struktury
ipc_perm */
struct
semid_ds
{
struct
ipc_perm
sem_perm;
struct sem
*sem_base
; /* wskaźnik do pierwszego
semafora w zbiorze */
ushort
sem_nsems
; /* liczba semaforów */
time_t
sem_otime
; /* czas ostatniej operacji */
time_t
sem_ctime
; /* czas ostatniej zmiany */
};
Semafory
sem
jest wewnętrzną strukturą danych
struct
sem
{
ushort
semval
; /* nieujemna wartość semafora */
short
sempid
; /* identyfikator procesu dla
ostatniej operacji */
ushort
semncnt
/* liczba oczekujących wartości
semafora > wartości bieżącej */
ushort
semzcnt
; /* liczba czekających wartości
semafora = 0 */
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • telefongry.keep.pl






  • Formularz

    POst

    Post*

    **Add some explanations if needed