Metody komunikacji międzyprocesowej w systemach lokalnych i rozproszonych
|
|
- Justyna Kaczmarczyk
- 7 lat temu
- Przeglądów:
Transkrypt
1 Metody komunikacji międzyprocesowej w systemach lokalnych i rozproszonych 1. Co to jest komunikacja międzyprocesowa? Komunikacja międzyprocesowa (ang. Inter-Process Communication IPC) umowna nazwa zbioru sposobów komunikacji pomiędzy procesami systemu operacyjnego, uruchomionymi na jednym komputerze lub kilku połączonych w sieci. Metody IPC dzielą się na: przekazywanie komunikatów synchronizację współdzielenie pamięci zdalne wywoływanie procedur (RPC) Procesy mogą używać różnych sposobów komunikacji, a najpowszechniejsze z nich to: pliki i blokady najprostsza i najstarsza forma IPC sygnały (ang. signals) w niektórych systemach (jak np. DOS) znane jako przerwania programowe łącza nienazwane (ang. pipes) znane też jako łącza komunikacyjne łącza nazwane (ang. named pipes) znane też jako nazwane łącza komunikacyjne kolejki komunikatów (ang. message queues) pamięć dzieloną (ang. shared memory) znane też jako segmenty pamięci dzielonej (ang. shared memory segments) semafory (ang. semaphores) gniazda dziedziny Uniksa (ang. Unix domain sockets) Ponieważ procesy mogą komunikować się nie tylko w obrębie jednego systemu, możemy wyróżnić też: gniazda (ang. sockets) RPC 2. Systemy lokalne i rozproszone System lokalny - jest to system składający się z jednego komputera oraz środowiska na nim uruchomionego. Systemu rozproszony - Wiele autonomicznych komputerów (lub systemów automatyki) komunikujących się poprzez sieć komputerową (lub magistralę komunikacyjną), oddziałujacych ze sobą w celu osiągnięcia wspólnego celu. Programam roproszony, rozproszone programowanie. Oprogramowanie pośredniczące: gniazda, RPC, DCE, CORBA, RMI, DCOM. Cechy systemów rozproszonych: Dzielenie zasobów (ang. resource sharing) (np. drukarek, plików, usług, itp.).
2 Otwartość (ang.openness) podatność na rozszerzenia, możliwość rozbudowy systemu sprzętowo, jak i pod względem oprogramowania. Współbieżność (ang.concurrency) zdolność do przetwarzania wielu zadań jednocześnie Skalowalność (ang. scalability) zachowanie podobnej wydajności systemu przy zwiększaniu skali systemu (np. liczby procesów, komputerów, itp.). Tolerowanie awarii (ang. fault tolerance) działania systemu mimo pojawiania się błędów i (lub) uszkodzeń (np. przez utrzymywanie nadmiarowego sprzętu). Przezroczystość (ang. transparency) postrzeganie systemu przez użytkownika jako całości, a nie poszczególnych składowych. 3. Łącza nienazwane Najprostsza metoda komunikacji. Możliwa jest ona dla procesów pozostających w relacji macierzysty-potomny. Łącze tworzy jednokierunkowy kanał komunikacyjny pomiędzy dwoma procesami, zwykle standardowe wyjście jednego procesu łączone jest ze standardowym wejściem drugiego. W uniksowych powłokach systemowych można użyć pionowej linii aby połączyć dwa lub więcej procesów. Przykład: $ ps -a sort uniq grep -v sh Powyższa konstrukcja zwróci listę uruchomionych procesów (ps -a), posortowaną alfabetycznie (sort), niezawierającą powtórzeń (uniq), oraz bez linii zawierających wzorzec sh (grep -v sh). Tworzenie łącza za pomocą funkcji pipe(): #include <unistd.h> int pipe(int fildes[2]) Po wywolaniu funkcji pipe() otrzymujemy dwa deskryptory plikow: fildes[0] - deskryptor strumienia do czytania fildes[1] - deskryptor strumienia do pisania Nieużywany w procesie deskryptor musi być zamknięty (funkcją close). Deskryptory łącz utworzonych przy pomocy funkcji pipe są dziedziczone przez proces potomny utworzony przez funkcje fork(). Jeden z procesów może zapisywać bajty do łącza za pomocą funkcji write, podczas gdy drugi z procesów może je odczytywać korzystając z funkcji read. 4. Łącza nazwane Gdy procesy nie pozostają w relacji macierzysty - potomny komunikacja przy pomocy łącz nienazwanych nie może być zastosowana. Należy zastosować wtedy łącza nazwane zwane inaczej plikami FIFO. Pliki FIFO są plikami specjalnymi. Posiadają takie atrybuty zwykłych plików jak nazwa, właściciel, grupa i prawa dostępu. Pliki FIFO różnią się tym od zwykłych plików tym, że element odczytany jest z pliku usuwany. Pliki FIFO tworzy się przy pomocy funkcji mkfifo lub mknod. int mkfifo(char *name, mode_t mode, int flags) int mknod(const char *path, mode_t mode, dev_t dev);
3 W Uniksie do tworzenia potoków nazwanych stosuje się program mkfifo lub mknod. 5. Funkcja select Funkcja select powoduje zablokowanie procesu bieżącego do czasu wystąpienia gotowości lub błędu na którymś z deskryptorów. Odblokowuje się również wtedy, gdy upłynie zadany okres oczekiwania (timeout). int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval * timeout) Gdzie: nfds - liczba deskryptorów plików (maksymalne FD_SETSIZE) readfds - maska deskryptorów plików do odczytu (gotowość odczytu) writefds - maska deskryptorów plików do zapisu (gotowość zapisu) errorfds - maska deskryptorów plików dotyczących błędów timeout - maksymalny okres zablokowania Deskryptor jest uważany za dostępny, jeżeli możliwe jest wykonanie na nim określonej operacji, np. wykonanie odczytu bez blokowania. 6. Kolejki komunikatów Kolejki komunikatów POSIX są wygodnym mechanizmem komunikacji międzyprocesowej działającym w obrębie jednego węzła. Są jest asynchronicznym protokołem komunikacyjnym, co oznacza, że odbiorca i nadawca wiadomości nie muszą łączyć się z kolejką w tym samym czasie. Komunikaty przesłane kolejce są przechowywane aż do czasu odebrania przez inny proces (jeżeli proces się kończy, to wszystkie otwarte przez niego kolejki są zamykane, nie zostają one jednak usunięte). Kolejka komunikatów posiada następujące własności: Posiada nazwę, którą procesy mogą zidentyfikować. Więcej niż jeden proces może czytać lub pisać z/do kolejki. Komunikaty odczytywane z kolejki zachowują strukturę są separowane. W kolejce mogą znajdować się komunikaty różnej długości. Własności tej nie mają kolejki FIFO. Można zadać maksymalną długość kolejki komunikatów. Gdy zostanie ona przekroczona, proces piszący do kolejki komunikatów będzie zablokowany. Można testować status kolejki (np. liczbę komunikatów w kolejce). Nie jest to możliwe w przypadku kolejek FIFO. Komunikatom można nadać priorytet. Komunikaty o wyższym priorytecie będą umieszczane na początku kolejki. Kolejkę komunikatów tworzy się za pomocą funkcji mq_open(char *name, int oflag, int mode, mq_attr *attr). Pozostałe funkcje obsługi kolejki: mq_send() - Zapis do kolejki komunikatów mq_receive() - Odczyt z kolejki komunikatów
4 mq_close() - Zamykanie kolejki komunikatów. mq_unlink() - Kasowanie kolejki komunikatów 7. Pamięć dzielona i semafory Pamięć dzielona - Sposób wymiany danych pomiędzy procesami uruchomionymi jednocześnie. Jeden proces tworzy obszar w pamięci RAM, do którego pozostałe procesy mają dostęp. Procesy muszą wykonywac się na maszynie jednoprocesorowej lub wieloprocesorowej ze wspólną pamięcią, należy zadbać o zachowanie spójności danych zawartych w dzielonym obszarze pamięci, synchronizację dostępu. Funkcje wykorzystywane do obsługi pamięci współdzielonej: shm_open() - Utworzenie wspólnego segmentu pamięci ftruncate() - Ustalenie rozmiaru segmentu map() - Ustalenie odwzorowanie segmentu munmap() - Cofnięcie odwzorowanie segmentu mprotect() - Zmiana trybu dostępu shm_unlink() - Skasowanie segmentu pamięci Semafory - nazwane/nienazwane(odwolanie przez adres, szybsze), abstrakcyjne obiekty służące do kontrolowania dostępu do ograniczonego zasobu. Semafory są szczególnie przydatne w środowisku gdzie wiele procesów lub wątków komunikuje się przez wspólną pamięć. Rodzaje semaforów: Semafor binarny (wartości 0 i 1) Semafor ze zbiorem procesów oczekujących (nie zapewnia spełnienia warunku zagłodzenia) Semafor z kolejką procesów oczekujących FIFO Licznik zasobu L oraz operacje atomowe: sem_open(), Sem_close(), Sem_unlink sem_init(s,n) - inicjalizacja semafora S na wartośc N sem_wait(s) - zajmowanie semafora L=L-1 lub zablokowanie (sem_trywait() nieblokujące) sem_post(s) - sygnalizajca L=L+1 8. Sygnały Sygnały są reprezentacja asynchronicznych i zwykle awaryjnych zdarzeń zachodzących w systemie w systemie. Sygnały mogą być generowane: przez system operacyjny, gdy wystąpi zdarzenie awaryjne, w programie za pomocą funkcji kill(), alarm() i raise(), z konsoli za pomocą polecenia kill.
5 Sygnał może być obsłużony przez program aplikacyjny. Funkcja systemowa signal() pozwala na zainstalowanie procedury obsługi sygnału: signal(int sig, void(*funct) (int)) Gdzie: sig - Numer sygnału funct - Nazwa funkcji obsługującej sygnał lub akcja zdefiniowana w systemie (SIG_DFL lub SIG_IGN) Procedura void funct(int) wykonana będzie gdy pojawi się sygnał sig. W systemie pierwotnie zdefiniowane są dwie funkcje obsługi sygnałów: SIG_DFL - akcja domyślna, powoduje zwykle zakończenie procesu, SIG_IGN - zignorowanie sygnału (nie zawsze jest to możliwe). 9. RPC, RMI, CORBA RPC - remote procedure call (zdalne wywoływanie procedur) jest to protokół komunikacji pomiędzy procesami w systemach rozproszonych. Z założenia polega to na komunikacji klient - serwer, w przypadku której program klienta wywołuję jakąś procedurę znajdującą się na serwerze. Problemem mogą być różnice w reprezentacji danych przekazywanych parametrów lub lokalizacja procedur serwera. Ich rozwiązaniem jest kodowanie danych oraz korzystanie z łącznika (usługa RPC tłumacząca nazwy na porty procedur). Korzystanie z RPC jest dużym ułatwieniem dla programistów ponieważ wywołanie procedury przebiega tak jakby znajdowała się ona w systemie lokalnym. CORBA Standard opracowany przez Object Management Group mający na celu umożliwienie współpracy procedur napisanych w różnych językach programowania oraz znajdujących się na różnych komputerach. Jedną z wad architektury CORBA jest brak standardowego i szeroko zaimplementowanego mechanizmu bezpieczeństwa. Popularne implementacje standardu CORBA to np. ORBit, OMNIOrb. Z technologii CORBA korzysta m.in. GNOME. Obiekty mają swoje adresy IOR (ang. Interoperable Object Reference). Są to kilkusetznakowe adresy kodujące wiele informacji o obiekcie, m.in. adres komputera, adres programu na komputerze, informacje o kolejności zapisu bajtów (czy jest to big endian, czy little endian), numer obiektu, typ obiektu, itd. RMI - remote metod invocation. Standard opracowany przez firmę Sun. Wykorzystywany w języku java. Obiekty zdalne rejestrowane są pod wybranymi nazwami w serwisie RMI Registry. Aplikacja kliencka ściąga z RMI Registry tzw. stub tego obiektu, który umożliwia komunikację z obiektem zdalnym przy użyciu wyeksportowanych metod w ten sam sposób, jakby chodziło o obiekt lokalny. Rola RMI Registry w tym miejscu kończy się - nie pośredniczy on w komunikacji pomiędzy aplikacją kliencką a obiektem zdalnym. Parametry metod będące obiektami przy wywołaniu zdalnym są serializowane. (Zasada działania bardzo podobna do RPC) Gniazdo w telekomunikacji (ang. socket) pojęcie abstrakcyjne reprezentujące dwukierunkowy punkt końcowy połączenia. Dwukierunkowość oznacza możliwość wysyłania i przyjmowania danych. Wykorzystywane jest przez aplikacje do
6 komunikowania się przez sieć w ramach komunikacji międzyprocesowej. W systemach typu Unix obsługa gniazd jest implementowana w jądrze, a wykonywanie na nich operacji umożliwiają funkcje systemowe podobne do tych, jakich używa się w stosunku do plików. Asocjacja następuje jeżeli znamy oba adresy IP i porty oraz typ gniazda. Gniazdo posiada trzy główne właściwości: 1. typ gniazda identyfikujący protokół wymiany danych 2. lokalny adres (np. adres IP, IPX, czy Ethernet) 3. opcjonalny lokalny numer portu identyfikujący proces, który wymienia dane przez gniazdo (jeśli typ gniazda pozwala używać portów) Gniazdo może posiadać (na czas trwania komunikacji) dwa dodatkowe atrybuty: 1. adres zdalny (np. adres IP, IPX, czy Ethernet) 2. opcjonalny numer portu identyfikujący zdalny proces (jeśli typ gniazda pozwala używać portów) 10. Komunikacja połączeniowa i bezpołączeniowa Komunikacja bezpołączeniowa (przykład - protokół UDP) polega na przesyłaniu ciągu oddzielnych porcji informacji. Każda z nich jest zaopatrzona w konkretny, unikalny adres odbiorcy i może wędrować do celu niezależnie od pozostałych, brak potwierdzenia odbioru. Drogi przebywane przez poszczególne przesyłki mogą być różne, czasy osiągania celu też mogą być różne (przesyłki mogą docierać do odbiorcy w innej kolejności, niż zostały wysłane). Zawodna (przesyłki mogą być gubione na trasie, duplikowane lub mogą przychodzić w zmienionej kolejności). Aby była niezawodna należy: numerowac przesyłki, wysyłać potwierdzenia odbioru (positive/negative acknowledgement), odbiorca powinien układać przesyłki według numeracji. Należy podkreślić, że wiadomość zostanie odebrana tylko wtedy, gdy adresat oczekuje na odbiór datagramu. Datagram max 500bajtów. Komunikacja połączeniowa (przykład - protokół TCP) polega na przesyłaniu strumienia informacji o (teoretycznie) nieograniczonej długości przez otwarty przedtem kanał komunikacyjny. W przypadku takiej komunikacji elementy informacji docierają do odbiorcy w niezmienionej kolejności. Trzy fazy: nawiązania połączenia (nadanie uniklnego numeru sesji), przesyłania informacji, rozwiązania połączenia. Niezawodna (dopóki trwa, zapewnia przekazywanie informacji bez zniekształceń). Potwierdzenia odbioru. Komunikacja: full-duplex, half-duplex, simplex, unicast, multicast, broadcast, klient-serwer. Protokól komunikacyjny - zbiór reguł określających ciąg czynności, jakie trzeba wykonać, aby przekazać porcję informacji. Narzut - suma czynności nie będących samym przekazywaniem informacji.
7 11. Źródła /SSOKolejKomPOSIX-10.pdf Programowanie aplikacji współbieżnych i rozproszonych w systemie Linux - materiały do ćwiczeń laboratoryjnych, Jędrzej UŁASIEWICZ
Kolejki FIFO (łącza nazwane)
Kolejki FIFO (łącza nazwane) Systemy Operacyjne 2 laboratorium Mateusz Hołenko 6 listopada 2011 Plan zajęć 1 Łącza w systemie Linux kolejki FIFO vs. potoki specyfika łączy nazwanych schemat komunikacji
Bardziej szczegółowoMechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Bardziej szczegółowo5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Bardziej szczegółowoSystemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..
Bardziej szczegółowoKomunikacja za pomocą potoków. Tomasz Borzyszkowski
Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania
Bardziej szczegółowo4. Komunikacja pomiędzy procesami przez łącza nienazwane i nazwane
Jędrzej Ułasiewicz Łącza nienazwane, nazwane, funkcja select 1 4. Komunikacja pomiędzy procesami przez łącza nienazwane i nazwane Łącza nienazwane (ang. Unnamed Pipes) i nazwane (ang. Named Pipes) - jedna
Bardziej szczegółowoKlient-Serwer Komunikacja przy pomocy gniazd
II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu
Bardziej szczegółowoSystemy rozproszone System rozproszony
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.
Bardziej szczegółowowspółbieżność - zdolność do przetwarzania wielu zadań jednocześnie
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.
Bardziej szczegółowoSieciowe Systemy Operacyjne
1 Sieciowe Systemy Operacyjne 1. Etapy rozwoju systemów komputerowych System scentralizowany System sieciowy System rozproszony 1.1 System scentralizowany Zastosowane duże komputery (mainframes ) Użytkownicy
Bardziej szczegółowoInstrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie trzecie (jedne zajęcia) Temat: Potoki i łącza nazwane w Linuksie. Opracowanie: dr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja
Bardziej szczegółowoŁącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.
Przykład: $ ls more Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Tworzenie łącza #include int pipe(int filedes[2]); Przykład: int
Bardziej szczegółowo76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Bardziej szczegółowoWprowadzenie. Dariusz Wawrzyniak 1
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak
Bardziej szczegółowoInstrukcja do laboratorium Systemów Operacyjnych (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) wiczenie trzecie Temat: Potoki i ł cza nazwane w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja z wykorzystaniem
Bardziej szczegółowoIPC: Kolejki komunikatów
IPC: Kolejki komunikatów Systemy Operacyjne 2 laboratorium Mateusz Hołenko 7 listopada 2011 Plan zajęć 1 Mechanizmy IPC kolejki komunikatów pamięć współdzielona semafory 2 Kolejki komunikatów kolejka komunikat
Bardziej szczegółowoWywoływanie procedur zdalnych
Mechanizm wywołania Wywoływanie procedur zdalnych main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) int zabij_proces (int pid){ int stat; stat = kill(pid,
Bardziej szczegółowoOd uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.
Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać
Bardziej szczegółowoJ. Ułasiewicz Łącza nienazwane, nazwane, select 1
J. Ułasiewicz Łącza nienazwane, nazwane, select 1 4. Komunikacja pomiędzy procesami przez łącza nienazwane i nazwane Łącza nienazwane (ang. Unnamed Pipes) i nazwane (ang. Unnamed Pipes) - jedna z historycznie
Bardziej szczegółowoSieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 7: Transport: protokół TCP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 7 1 / 23 W poprzednim odcinku Niezawodny transport Algorytmy
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 6 dr inż. Komunikowanie się procesów Z użyciem pamięci współdzielonej. wykorzystywane przede wszystkim w programowaniu wielowątkowym. Za pomocą przesyłania
Bardziej szczegółowoZwielokrotnianie wejścia wyjścia
Zwielokrotnianie wejścia wyjścia Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 21 marca 2006 Wstęp Zwielokrotnianie wejścia wyjścia informowanie przez jądro procesu użytkownika
Bardziej szczegółowoWywoływanie procedur zdalnych
Wywoływanie procedur zdalnych Mechanizm wywołania main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces (int pid){ int stat; stat
Bardziej szczegółowoSYSTEMY CZASU RZECZYWISTEGO - VxWorks
WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()
Bardziej szczegółowo2.1 Pojęcie wątku... 13 2.2 Modele wielowątkowości... 15 2.3 Wybrane zagadnienia wielowątkowości... 16 2.4 Wątki POSIX... 18
Spis treści Spis treści 1 Procesy 1 1.1 Definicja procesu............................................. 1 1.2 Operacje na procesach.......................................... 3 1.3 Planowanie procesów...........................................
Bardziej szczegółowoInstrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie dziesiąte Temat: Gniazda BSD protokoły internetowe Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Usługi sieciowe w
Bardziej szczegółowoMiddleware wprowadzenie października 2010
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak/middleware
Bardziej szczegółowoOpis protokołu RPC. Grzegorz Maj nr indeksu:
Opis protokołu RPC Grzegorz Maj nr indeksu: 236095 1 Streszczenie Niniejszy dokument opisuje specyfikację protokołu RQP (Remote Queues Protocol). W jego skład wchodzą: opis celów protokołu; opis założeń
Bardziej szczegółowoProgramownie współbieżne i rozproszone Jędrzej Ułasiewicz 1. Komunikacja. Model procesów komunikujących się poprzez pamięć dzieloną
Programownie współbieżne i rozproszone Jędrzej Ułasiewicz 1 Komunikacja 1 Podstawowe modele przetwarzania Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów
Bardziej szczegółowoZdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1
Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego
Bardziej szczegółowoMiddleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl poznan pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak/middleware
Bardziej szczegółowo1. Etapy rozwoju systemów komputerowych
1 Sieciowe Systemy Operacyjne Wprowadzenie do wykładu, podstawowe definicje, rola 1 systemu operacyjnego Procesy POSIX, zarządzanie procesami 2 Pliki, komunikacja przez pliki, blokowanie 1 Łącza nazwane
Bardziej szczegółowoSieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 5: Warstwa transportowa: TCP i UDP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 5 1 / 22 Warstwa transportowa Cechy charakterystyczne:
Bardziej szczegółowoSystemy Operacyjne 1 Laboratorium 3 Potoki i łącza nazwane w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot
Systemy Operacyjne 1 Laboratorium 3 Potoki i łącza nazwane w Linuksie (jeden tydzień) dr inż. Arkadiusz Chrobot 15 października 2016 Wstęp W tej instrukcji zawarte są informacje na temat jednych z podstawowych
Bardziej szczegółowoKolejki komunikatów POSIX
Jędrzej Ułasiewicz IIAiR Politechnika Wrocławska 1 Kolejki komunikatów POSIX 1 Wstęp Kolejka komunikatów Q posiada następujące własności: - Posiada określoną pojemność N komunikatów (długość bufora komunikatów).
Bardziej szczegółowoProtokoły sieciowe - TCP/IP
Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy
Bardziej szczegółowo1. Kolejki komunikatów POSIX
Jędrzej Ułasiewicz IIAiR Politechnika Wrocławska 1 1. Kolejki komunikatów POSIX 1.1 Podstawowe własności Kolejki FIFO maja następujące wady: Komunikaty pozbawione struktury Nie można testować stanu kolejki
Bardziej szczegółowoSystem operacyjny MACH
Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów
Bardziej szczegółowoProgramowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
Bardziej szczegółowoWywoływanie procedur zdalnych
Mechanizm wywołania Wywoływanie procedur zdalnych main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces (int pid){ int stat; stat
Bardziej szczegółowoZdalne wywoływanie procedur RPC. Dariusz Wawrzyniak 1
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij_proces (int
Bardziej szczegółowoProjektowanie oprogramowania systemów KOMUNIKACJA MIĘDZYPROCESOWA
Projektowanie oprogramowania systemów KOMUNIKACJA MIĘDZYPROCESOWA plan Informacje ogólne Mechanizmy IPC Pliki i blokady Sygnały Gniazda i potoki Nazwane potoki Pamięć współdzielona i pliki mapowane w pamięci
Bardziej szczegółowoIBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003
IBM DCE/DFS Mikołaj Gierulski 17 stycznia 2003 1 Spis treści 1 IBM DCE 3 2 DCE/Distributed File Service 3 2.1 Rozwiązanie podstawowych problemów rozproszonych systemów plików.... 3 2.1.1 Nazewnictwo................................
Bardziej szczegółowoMODEL WARSTWOWY PROTOKOŁY TCP/IP
MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych
Bardziej szczegółowoZdalne wywoływanie procedur RPC
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces
Bardziej szczegółowoProgramowanie rozproszone w języku Java
Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz
Bardziej szczegółowoZdalne wywoływanie procedur RPC
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij_proces (int
Bardziej szczegółowoAkademia Techniczno-Humanistyczna w Bielsku-Białej
Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.
Bardziej szczegółowoSYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
Bardziej szczegółowoOd uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.
Kod szkolenia: Tytuł szkolenia: PS/WIN Programowanie systemowe w Windows Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemach z rodziny Microsoft Windows,
Bardziej szczegółowoKomunikacja międzyprocesowa. Krzysztof Banaś Systemy rozproszone 1
Komunikacja międzyprocesowa Krzysztof Banaś Systemy rozproszone 1 Komunikacja międzyprocesowa Dla funkcjonowania systemów rozproszonych konieczna jest sprawna komunikacja pomiędzy odległymi procesami Podstawowym
Bardziej szczegółowoDokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV
Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium
Bardziej szczegółowoZdalne wywoływanie procedur RPC 27. października Dariusz Wawrzyniak (IIPP) 1
Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij proces (int pid){ int stat; stat = kill(pid,
Bardziej szczegółowoRPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )
III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego
Bardziej szczegółowo4.2 Sposób korzystania z l acza
4.2 Sposób korzystania z l acza 31 Opis programu: Program procesu potomnego (linie 16 19) jest taki sam, jak w przyk ladzie na listingu 3. W procesie macierzystym nastepuje z kolei przekierowanie standardowego
Bardziej szczegółowoZdalne wywoływanie procedur RPC 27. października 2010
Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_ proces (int pid){ int stat; stat
Bardziej szczegółowoPrzesyłania danych przez protokół TCP/IP
Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności
Bardziej szczegółowoZadanie 2: transakcyjny protokół SKJ (2015)
Zadanie 2: transakcyjny protokół SKJ (2015) 1 Wstęp Zadanie polega na zaprojektowaniu niezawodnego protokołu transakcyjnego bazującego na protokole UDP. Protokół ten ma być realizowany przez klasy implementujące
Bardziej szczegółowoProjektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI
Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoSystemy operacyjne System sieciowy UNIX-a
Systemy operacyjne 29.10.2010 System sieciowy UNIX-a System sieciowy UNIX-a używa potoku umożliwiającego przepływ strumienia bajtów między dwoma procesami i przepływ gniazdek (sockets) dla procesów powiązanych
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Bardziej szczegółowoJ. Ułasiewicz Łącza nienazwane, nazwane, select 1
J. Ułasiewicz Łącza nienazwane, nazwane, select 1 4. Komunikacja pomiędzy procesami przez łącza nienazwane i nazwane Łącza nienazwane (ang. Unnamed Pipes) i nazwane (ang. Unnamed Pipes) - jedna z historycznie
Bardziej szczegółowoTransport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski
Transport część 2: protokół TCP Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP SMTP DNS NTP warstwa transportowa TCP UDP warstwa sieciowa IP warstwa łącza danych
Bardziej szczegółowoWątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego
Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować
Bardziej szczegółowoTworzenie aplikacji rozproszonej w Sun RPC
Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki
Bardziej szczegółowoUniwersalny Konwerter Protokołów
Uniwersalny Konwerter Protokołów Autor Robert Szolc Promotor dr inż. Tomasz Szczygieł Uniwersalny Konwerter Protokołów Szybki rozwój technologii jaki obserwujemy w ostatnich latach, spowodował że systemy
Bardziej szczegółowoTechnika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego
System operacyjny czasu rzeczywistego (RTOS Real Time Operating System) jest programem bazowym ułatwiającym tworzenie programu użytkowego systemu mikroprocesorowego. System operacyjny czasu rzeczywistego
Bardziej szczegółowoTransport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski
Transport część 2: protokół TCP Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP warstwa transportowa SMTP TCP warstwa sieciowa warstwa łącza danych warstwa fizyczna
Bardziej szczegółowoProcesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoStan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.
Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoGniazda UDP. Bartłomiej Świercz. Łódź, 3 kwietnia Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda UDP
Gniazda UDP Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 3 kwietnia 2006 Wstęp ZewzględunaróżnicewprotokołachTCPiUDPsposób korzystania z gniazd UDP różni sie znacznie od
Bardziej szczegółowoJądro systemu operacyjnego
Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między
Bardziej szczegółowo2013-04-25. Czujniki obiektowe Sterowniki przemysłowe
Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej
Bardziej szczegółowoŁącza nienazwane(potoki)
8. Łącza nienazwane(potoki) Łącze (potok, ang. pipe) jest to urządzenie komunikacyjne pozwalające na przesyłanie informacji w jedną stronę. Jeden proces wysyła dane do łącza za pomocą funkcji write, zaś
Bardziej szczegółowoSieci Komputerowe Modele warstwowe sieci
Sieci Komputerowe Modele warstwowe sieci mgr inż. Rafał Watza Katedra Telekomunikacji AGH Al. Mickiewicza 30, 30-059 Kraków, Polska tel. +48 12 6174034, fax +48 12 6342372 e-mail: watza@kt.agh.edu.pl Wprowadzenie
Bardziej szczegółowoProcesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoPrezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Bardziej szczegółowo1. Procesy i współbieżność
1. Procesy i współbieżność Opracował: Sławomir Samolej Politechnika Rzeszowska, Katedra Informatyki i Automatyki, Rzeszów, 2013. 1.1. Wprowadzenie Proces to przestrzeń adresowa i pojedynczy wątek sterujący,
Bardziej szczegółowoPROTOKOŁY WARSTWY TRANSPORTOWEJ
PROTOKOŁY WARSTWY TRANSPORTOWEJ Na bazie protokołu internetowego (IP) zbudowane są dwa protokoły warstwy transportowej: UDP (User Datagram Protocol) - protokół bezpołączeniowy, zawodny; TCP (Transmission
Bardziej szczegółowo13. Kolejki komunikatów POSIX
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 13. POSIX 13.1 Wstęp (mailboxy, bufory) są bardzo popularnym mechanizmem komunikacji międzyprocesowej. Występują w prawie każdym systemie operacyjnym.
Bardziej szczegółowoProgramowanie Sieciowe 1
Programowanie Sieciowe 1 dr inż. Tomasz Jaworski tjaworski@iis.p.lodz.pl http://tjaworski.iis.p.lodz.pl/ Cel przedmiotu Zapoznanie z mechanizmem przesyłania danych przy pomocy sieci komputerowych nawiązywaniem
Bardziej szczegółowoKomunikacja z użyciem gniazd aplikacje klient-serwer
Programowanie obiektowe Komunikacja z użyciem gniazd aplikacje klient-serwer Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Architektura
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoProcesy, wątki i zasoby
Procesy, wątki i zasoby Koncepcja procesu i zasobu, Obsługa procesów i zasobów, Cykl zmian stanów procesu i kolejkowanie, Klasyfikacja zasobów, Wątki, Procesy i wątki we współczesnych systemach operacyjnych.
Bardziej szczegółowoSieci komputerowe Warstwa transportowa
Sieci komputerowe Warstwa transportowa 2012-05-24 Sieci komputerowe Warstwa transportowa dr inż. Maciej Piechowiak 1 Wprowadzenie umożliwia jednoczesną komunikację poprzez sieć wielu aplikacjom uruchomionym
Bardziej szczegółowo1. Model klient-serwer
1. 1.1. Model komunikacji w sieci łącze komunikacyjne klient serwer Tradycyjny podziała zadań: Klient strona żądająca dostępu do danej usługi lub zasobu Serwer strona, która świadczy usługę lub udostępnia
Bardziej szczegółowoKolejkowanie wiadomości Standard MQ (JMS)
Kolejkowanie wiadomości Standard MQ (JMS) Kolejkowanie wiadomości Standard wymiany informacji wiadomości (ang. message) między procesami (mogą być rozproszone) Przykładowe rozwiązania: - RabbitMQ - ActiveMQ
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Bardziej szczegółowoInstytut Teleinformatyki
Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Dziedzina Unix laboratorium: 06 Kraków, 2014 06. Programowanie Usług Sieciowych
Bardziej szczegółowoStos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)
Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) W latach 1973-78 Agencja DARPA i Stanford University opracowały dwa wzajemnie uzupełniające się protokoły: połączeniowy TCP
Bardziej szczegółowo1. Kolejki komunikatów POSIX
Jędrzej Ułasiewicz IIAiR Politechnika Wrocławska 1 1. Kolejki komunikatów POSIX 1.1 Podstawowe własności Kolejki FIFO maja następujące wady: Komunikaty pozbawione struktury Nie można testować stanu kolejki
Bardziej szczegółowoSkąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta
Sieci komputerowe 1 Sieci komputerowe 2 Skąd dostać adres? Metody uzyskiwania adresów IP Część sieciowa Jeśli nie jesteśmy dołączeni do Internetu wyssany z palca. W przeciwnym przypadku numer sieci dostajemy
Bardziej szczegółowoSieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP
Sieci komputerowe Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP Zadania warstwy transportu Zapewnienie niezawodności Dostarczanie danych do odpowiedniej aplikacji w warstwie aplikacji (multipleksacja)
Bardziej szczegółowoĆwiczenie nr: 9 Obliczenia rozproszone MPI
Ćwiczenie nr: 9 Temat: Obliczenia rozproszone MPI 1. Informacje ogólne MPI (Message Passing Interface) nazwa standardu biblioteki przesyłania komunikatów dla potrzeb programowania równoległego w sieciach
Bardziej szczegółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD 3 Jan Kazimirski 1 Współbieżność 2 Współbieżność Wielozadaniowość - zarządzanie wieloma procesami w ramach jednego CPU Wieloprocesorowość - zarządzanie wieloma zadaniami w
Bardziej szczegółowoInstytut Teleinformatyki
Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych IPC Systemu V laboratorium: 08 Kraków, 2014 08. Programowanie Usług Sieciowych
Bardziej szczegółowoW systemie monolitycznym podstawowe funkcje systemu umieszczone są w pojedynczym module programowym zwanym jądrem.
1 1 SYSTEM QNX 6 Neutrino 1.1 Wiadomości ogólne o systemach operacyjnych Funkcje systemu operacyjnego: Zarządzanie zasobami systemu o zarządzanie procesami, o obsługa urządzeń, o obsługa pamięci wirtualnej
Bardziej szczegółowoDziałanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania
Bardziej szczegółowo