12.07.2015 Views

Spis treœci - Patrz

Spis treœci - Patrz

Spis treœci - Patrz

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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

mechanizmowi selektywnego wyboru umożliwiającemu sięganie do przestrzeni krotek tylko potę informację, która jest potrzebna.PotokiTak jak semafor wymyślono, by maksymalnie uprościć rozwiązanie problemuwzajemnego wykluczania, tak pojęcie potoku stworzono, by uprościć rozwiązanie problemuproducenta i konsumenta. Potok jest dla procesów czymś w rodzaju bufora, do którego możnawstawiać komunikaty i z którego można je pobierać. W rzeczywistości jest to plik, na którymwiele procesów może jednocześnie wykonywać operacje pisania i czytania odpowiadającewkładaniu do bufora i wyjmowaniu z niego.Potoki po raz pierwszy użyto w systemie operacyjnym Unix (rozdz. 9). Ich szczególnapostać, potoki nienazwane, umożliwia utożsamienie wyjścia jednego procesu z wejścieminnego. Dzięki nim można więc tworzyć całe ciągi współpracujących procesów, kolejnoprzetwarzających informacje na podobnej zasadzie jak wykonuje się montaż na taśmieprodukcyjnej. Tego typu przetwarzanie nazywa się przetwarzaniem potokowym. Dośćniefortunnie ciąg procesów połączonych potokami nazywa się także potokiem. Mechanizmpotoków jest dostępny także w systemie MS-DOS (rozdz. 11).Komunikaty i kanałyPotoki umożliwiają jednokierunkowe przekazywanie informacji. W nowszych wersjachsystemu Unix wprowadzono mechanizm komunikatów przekazywanych przez specjalnekanały (rozdz. 9), dzięki któremu można przesyłać między procesami informacje o dowolnejstrukturze i w obie strony. W kanałach wyróżnia się podkanały, z których każdy pełni rolęodrębnego bufora. W rezultacie kanał przypomina szafę z przegródkami, w której możnazostawiać różne wiadomości różnym osobom. Potok jest szczególnym przypadkiem kanału,który ma tylko jeden podkanał i przez który przesyła się jedynie ciąg bajtów.Zdalne wywalanie proceduryAsymetryczne spotkania użyto także w mechanizmie językowym zwanym zdalnymwywalaniem procedury lub w skrócie RPC (Remote Procedure Call) (rozdz. 10).Proces potrzebujący wykonania pewnej usługi przez inny proces wywołuje jegowewnętrzną procedurę wysyłając, mu odpowiednie parametry, po czym czeka na wynik.Mechanizm zdalnego wywołania procedury jest powszechnie używany w rozproszonychsystemach operacyjnych.Inne mechanizmyPotoki i zdalne wywołanie procedury to właściwie już standard, ale jest wiele innychmechanizmów umożliwiających komunikację między procesami na poziomie systemuoperacyjnego, np. skrzynki pocztowe (mailboxes, mailslots), łącza (links), porty (ports),gniazda (sockets), rozgłaszanie (broadcasting), sygnały (signals). Ich definicje mogą byćjednak różne w różnych systemach (por. np. [Gosc91]). O niektórych wspominamy przy okazjiomawiania systemu Unix. Mechanizmy te wspomagają realizację językowych mechanizmówprogramowania współbieżnego.27

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

Saved successfully!

Ooh no, something went wrong!