IPC: Kolejki komunikatów
|
|
- Aleksander Kaczmarczyk
- 7 lat temu
- Przeglądów:
Transkrypt
1 IPC: Kolejki komunikatów Systemy Operacyjne 2 laboratorium Mateusz Hołenko 7 listopada 2011
2 Plan zajęć 1 Mechanizmy IPC kolejki komunikatów pamięć współdzielona semafory 2 Kolejki komunikatów kolejka komunikat 3 Funkcje systemowe tworzenie kolejki wysyłanie komunikatu odbiór komunikatu zarządzanie kolejką 4 Zadania praktyczne Mateusz Hołenko IPC: Kolejki komunikatów [1/16]
3 Mechanizmy IPC
4 IPC Inter Process Communication Grupa mechanizmów do komunikacji i synchronizacji procesów: 1 Kolejki komunikatów umożliwiają przekazywanie określonych porcji danych między procesami 2 Pamięć współdzielona umożliwia współdzielenie przez wiele procesów tego samego fragmentu wirtualnej przestrzeni adresowej 3 Semafory umożliwiają synchronizację procesów w dostępie do współdzielonych zasobów (np. pamięci współdzielonej) Mateusz Hołenko IPC: Kolejki komunikatów [3/16]
5 IPC Inter Process Communication Grupa mechanizmów do komunikacji i synchronizacji procesów: 1 Kolejki komunikatów umożliwiają przekazywanie określonych porcji danych między procesami 2 Pamięć współdzielona umożliwia współdzielenie przez wiele procesów tego samego fragmentu wirtualnej przestrzeni adresowej 3 Semafory umożliwiają synchronizację procesów w dostępie do współdzielonych zasobów (np. pamięci współdzielonej) Mateusz Hołenko IPC: Kolejki komunikatów [3/16]
6 IPC Inter Process Communication Grupa mechanizmów do komunikacji i synchronizacji procesów: 1 Kolejki komunikatów umożliwiają przekazywanie określonych porcji danych między procesami 2 Pamięć współdzielona umożliwia współdzielenie przez wiele procesów tego samego fragmentu wirtualnej przestrzeni adresowej 3 Semafory umożliwiają synchronizację procesów w dostępie do współdzielonych zasobów (np. pamięci współdzielonej) Mateusz Hołenko IPC: Kolejki komunikatów [3/16]
7 IPC Inter Process Communication Grupa mechanizmów do komunikacji i synchronizacji procesów: 1 Kolejki komunikatów umożliwiają przekazywanie określonych porcji danych między procesami 2 Pamięć współdzielona umożliwia współdzielenie przez wiele procesów tego samego fragmentu wirtualnej przestrzeni adresowej 3 Semafory umożliwiają synchronizację procesów w dostępie do współdzielonych zasobów (np. pamięci współdzielonej) Mateusz Hołenko IPC: Kolejki komunikatów [3/16]
8 Zarządzanie IPC polecenia systemowe z rodziny ipc: ipcs informacje o utworzonych zasobach IPC ipcmk tworzenie nowych zasobów IPC ipcrm usuwanie zasobów IPC funkcje systemowe o nich później Mateusz Hołenko IPC: Kolejki komunikatów [4/16]
9 Zarządzanie IPC polecenia systemowe z rodziny ipc: ipcs informacje o utworzonych zasobach IPC ipcmk tworzenie nowych zasobów IPC ipcrm usuwanie zasobów IPC funkcje systemowe o nich później Mateusz Hołenko IPC: Kolejki komunikatów [4/16]
10 Kolejki komunikatów
11 Kolejki komunikatów pozwalają na przesyłanie komunikatów między procesami komunikaty można wysyłać do kolejek nawet, jeśli brak jest zarejestrowanych odbiorców kolejka przechowuje komunikaty nawet po zakończeniu działania procesu nadawcy nieodebrane komunikaty są buforowane odebrany komunikat jest usuwany z kolejki każdy komunikat musi mieć określoną strukturę (długość) oraz zdefiniowany typ Mateusz Hołenko IPC: Kolejki komunikatów [6/16]
12 Kolejki komunikatów pozwalają na przesyłanie komunikatów między procesami komunikaty można wysyłać do kolejek nawet, jeśli brak jest zarejestrowanych odbiorców kolejka przechowuje komunikaty nawet po zakończeniu działania procesu nadawcy nieodebrane komunikaty są buforowane odebrany komunikat jest usuwany z kolejki każdy komunikat musi mieć określoną strukturę (długość) oraz zdefiniowany typ Mateusz Hołenko IPC: Kolejki komunikatów [6/16]
13 Kolejki komunikatów pozwalają na przesyłanie komunikatów między procesami komunikaty można wysyłać do kolejek nawet, jeśli brak jest zarejestrowanych odbiorców kolejka przechowuje komunikaty nawet po zakończeniu działania procesu nadawcy nieodebrane komunikaty są buforowane odebrany komunikat jest usuwany z kolejki każdy komunikat musi mieć określoną strukturę (długość) oraz zdefiniowany typ Mateusz Hołenko IPC: Kolejki komunikatów [6/16]
14 Kolejki komunikatów pozwalają na przesyłanie komunikatów między procesami komunikaty można wysyłać do kolejek nawet, jeśli brak jest zarejestrowanych odbiorców kolejka przechowuje komunikaty nawet po zakończeniu działania procesu nadawcy nieodebrane komunikaty są buforowane odebrany komunikat jest usuwany z kolejki każdy komunikat musi mieć określoną strukturę (długość) oraz zdefiniowany typ Mateusz Hołenko IPC: Kolejki komunikatów [6/16]
15 Kolejki komunikatów pozwalają na przesyłanie komunikatów między procesami komunikaty można wysyłać do kolejek nawet, jeśli brak jest zarejestrowanych odbiorców kolejka przechowuje komunikaty nawet po zakończeniu działania procesu nadawcy nieodebrane komunikaty są buforowane odebrany komunikat jest usuwany z kolejki każdy komunikat musi mieć określoną strukturę (długość) oraz zdefiniowany typ Mateusz Hołenko IPC: Kolejki komunikatów [6/16]
16 Kolejki komunikatów pozwalają na przesyłanie komunikatów między procesami komunikaty można wysyłać do kolejek nawet, jeśli brak jest zarejestrowanych odbiorców kolejka przechowuje komunikaty nawet po zakończeniu działania procesu nadawcy nieodebrane komunikaty są buforowane odebrany komunikat jest usuwany z kolejki każdy komunikat musi mieć określoną strukturę (długość) oraz zdefiniowany typ Mateusz Hołenko IPC: Kolejki komunikatów [6/16]
17 Komunikat ogólna struktura komunikatu struct msgbuf { long mtype; // typ komunikatu (wartość > 0) char mcontent[1024]; // treść komunikatu } przez rozmiar komunikatu rozumie się rozmiar pola mcontent treść komunikatu może być dowolną strukturą (niekoniecznie tablicą zmiennych typu char) pole mtype określa typ komunikatu; typ ten może zostać wykorzystany do selektywnego oczekiwania na wiadomości w kolejce Mateusz Hołenko IPC: Kolejki komunikatów [7/16]
18 Komunikat ogólna struktura komunikatu struct msgbuf { long mtype; // typ komunikatu (wartość > 0) char mcontent[1024]; // treść komunikatu } przez rozmiar komunikatu rozumie się rozmiar pola mcontent treść komunikatu może być dowolną strukturą (niekoniecznie tablicą zmiennych typu char) pole mtype określa typ komunikatu; typ ten może zostać wykorzystany do selektywnego oczekiwania na wiadomości w kolejce Mateusz Hołenko IPC: Kolejki komunikatów [7/16]
19 Komunikat ogólna struktura komunikatu struct msgbuf { long mtype; // typ komunikatu (wartość > 0) char mcontent[1024]; // treść komunikatu } przez rozmiar komunikatu rozumie się rozmiar pola mcontent treść komunikatu może być dowolną strukturą (niekoniecznie tablicą zmiennych typu char) pole mtype określa typ komunikatu; typ ten może zostać wykorzystany do selektywnego oczekiwania na wiadomości w kolejce Mateusz Hołenko IPC: Kolejki komunikatów [7/16]
20 Komunikat ogólna struktura komunikatu struct msgbuf { long mtype; // typ komunikatu (wartość > 0) char mcontent[1024]; // treść komunikatu } przez rozmiar komunikatu rozumie się rozmiar pola mcontent treść komunikatu może być dowolną strukturą (niekoniecznie tablicą zmiennych typu char) pole mtype określa typ komunikatu; typ ten może zostać wykorzystany do selektywnego oczekiwania na wiadomości w kolejce Mateusz Hołenko IPC: Kolejki komunikatów [7/16]
21 Funkcje systemowe
22 Tworzenie kolejki int msgget(key_t key, int msgflg) key klucz identyfikujący kolejkę IPC_PRIVATE kolejka prywatna msgflg prawa dostępu do kolejki oraz flagi tworzenia kolejki IPC_CREAT utwórz jeśli nie istnieje IPC_EXCL w połączeniu z IPC_CREAT, zgłoś błąd jeśli istnieje Mateusz Hołenko IPC: Kolejki komunikatów [9/16]
23 Wysyłanie komunikatu int msgsnd(int msgid, const void *msgp, size_t msgsz, int msgflg) msgid identyfikator kolejki (uzyskany z funkcji msgget) msgp wskaźnik na obszar pamięci zawierający treść komunikatu msgsz rozmiar treści komunikatu msgflg flagi obsługi kolejki IPC_NOWAIT nie czekaj na zwolnienie miejsca w kolejce Mateusz Hołenko IPC: Kolejki komunikatów [10/16]
24 Odbiór komunikatu int msgrcv(int msgid, void *msgp, size_t msgsz, long msgtyp, int msgflg) msgid identyfikator kolejki (uzyskany z funkcji msgget) msgp obszar pamięci, gdzie zapisany ma zostać komunikat msgsz maksymalny dopuszczalny rozmiar komunikatu msgtyp 0 pierwszy komunikat z kolejki > 0 komunikat o typie zgodnym z msgtyp < 0 komunikat o typie nie większym niż msgtyp msgflg flagi obsługi kolejki IPC_NOWAIT nie czekaj na wiadomość w kolejce MSG_EXCEPT wiadomość typu innego niż msgtyp MSG_NOERROR brak błędu przy przekroczeniu msgsz Mateusz Hołenko IPC: Kolejki komunikatów [11/16]
25 Zarządzanie kolejką int msgctl(int msgid, int cmd, struct msqid_ds *buf) msgid identyfikator kolejki (uzyskany z funkcji msgget) cmd operacja do wykonania IPC_STAT informacja o stanie kolejki komunikatów IPC_SET zmienia ograniczenia kolejki IPC_RMID usuwa kolejkę z sytemu buf parametry operacji Mateusz Hołenko IPC: Kolejki komunikatów [12/16]
26 Zadania praktyczne
27 Zadania Zadanie 1 Napisz program tworzący dwa procesy komunikujące się poprzez kolejkę komunikatów. Komunikacja polega na przesłaniu komunikatu Hello. Zadanie 2 Napisz program tworzący dwa procesy komunikujące się poprzez kolejkę komunikatów. Komunikacja polega na przesłaniu komunikatów różnego typu. Proces odbierający powinien odbierać tylko komunikaty typu podanego jako argument wejściowy (zakładamy że typ komunikatu jest liczbą z przedziału <1,10>). Mateusz Hołenko IPC: Kolejki komunikatów [14/16]
28 Zadania Zadanie 1 Napisz program tworzący dwa procesy komunikujące się poprzez kolejkę komunikatów. Komunikacja polega na przesłaniu komunikatu Hello. Zadanie 2 Napisz program tworzący dwa procesy komunikujące się poprzez kolejkę komunikatów. Komunikacja polega na przesłaniu komunikatów różnego typu. Proces odbierający powinien odbierać tylko komunikaty typu podanego jako argument wejściowy (zakładamy że typ komunikatu jest liczbą z przedziału <1,10>). Mateusz Hołenko IPC: Kolejki komunikatów [14/16]
29 Zadania Zadanie 3 Napisz programy klienta i serwera realizujące następujący scenariusz: Klient przesyła dowolny ciąg znaków do serwera, serwer w odpowiedzi odsyła ten sam ciąg po zamianie wszystkich małych liter na duże. Zadanie 4 Napisz programy klienta i serwera realizujące następujący scenariusz: Serwer sumuje liczby wysyłane przez klienta. Liczby są przesyłane jako komunikat typu M_DATA, a ostatnia z liczb jest wysyłana jako komunikat M_END. Po otrzymaniu tego komunikatu serwer odsyła wynik sumowania komunikatem typu M_RESULT. Mateusz Hołenko IPC: Kolejki komunikatów [15/16]
30 Zadania Zadanie 3 Napisz programy klienta i serwera realizujące następujący scenariusz: Klient przesyła dowolny ciąg znaków do serwera, serwer w odpowiedzi odsyła ten sam ciąg po zamianie wszystkich małych liter na duże. Zadanie 4 Napisz programy klienta i serwera realizujące następujący scenariusz: Serwer sumuje liczby wysyłane przez klienta. Liczby są przesyłane jako komunikat typu M_DATA, a ostatnia z liczb jest wysyłana jako komunikat M_END. Po otrzymaniu tego komunikatu serwer odsyła wynik sumowania komunikatem typu M_RESULT. Mateusz Hołenko IPC: Kolejki komunikatów [15/16]
31 Zadania Zadanie 5 Napisz program (programy) komunikujące się za pomocą kolejki komunikatów. Każdy z programów wysyła wiadomości wpisywane z klawiatury, a po odbiorze komunikatu z kolejki wypisuje jego treść na ekran. Operacje odczytu i zapisu powinny być wykonywane w sposób asynchroniczny. Program kończy się po otrzymaniu wiadomości o treści exit. Mateusz Hołenko IPC: Kolejki komunikatów [16/16]
Mechanizmy z grupy IPC
Mechanizmy z grupy IPC Podobnie jak łącza, IPC (Inter Process Communication) jest grupą mechanizmów komunikacji i synchronizacji procesów działających w ramach tego samego systemu operacyjnego. W skład
Bardziej szczegółowoTemat zajęć: Mechanizmy IPC: kolejki komunikatów.
Temat zajęć: Mechanizmy IPC: kolejki komunikatów. Czas realizacji zajęć: 90 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Tworzenie kolejek komunikatów, wysyłanie i odbieranie komunikatów,
Bardziej szczegółowoPamięć współdzielona
Pamięć współdzielona Systemy Operacyjne 2 Piotr Zierhoffer 17 listopada 2011 Mechanizmy IPC IPC Inter Process Communication kolejki komunikatów, pamięć współdzielona semafory polecenia bash: ipcs, ipcrm
Bardziej szczegółowoMechanizmy z grupy IPC
Mechanizmy z grupy IPC Podobnie jak łącza, IPC (Inter Process Communication) jest grupą mechanizmów komunikacji i synchronizacji procesów działających w ramach tego samego systemu operacyjnego. W skład
Bardziej szczegółowoProgramowanie Współbieżne. Komunikacja między procesowa IPC
Programowanie Współbieżne Komunikacja między procesowa IPC IPC W systemie V są 3 rodzaje komunikacji między procesowej. kolejki komunikatów semafory pamięć wspólna IPC plik nagłówkowy funkcja systemowa
Bardziej szczegółowoKOLEJKI KOMUNIKATÓW IPC
z przedmiotu, prowadzonych na Wydziale BMiI, Akademii Techniczno-Humanistycznej w Bielsku-Białej. Współbieżność procesów (czy wątków) wiąże się często z potrzebą okresowej (asynchronicznej) wymiany komunikatów.
Bardziej szczegółowoShared memory and messages. Functions. process 0. process 1. program 0. program 0. data 0. data 1. program 1. data 0. data 1.
Shared memory and messages Shared memory vs message passing Shared memory - C functions Shared memory - example program Message queues - C functions Message queues - example program process 0 process 1
Bardziej szczegółowoInstrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie czwarte (dwa zajęcia) Temat: Komunikacja IPC kolejki komunikatów Opracowanie: mgr in ż. Arkadiusz Chrobot dr in ż. Grzegorz Łukawski
Bardziej szczegółowoKolejki 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ół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ół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ół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ółowoInstrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie piąte (jedne zajęcia) Temat: Semafory Opracowanie: mgr in ż. Arkadiusz Chrobot dr in ż. Grzegorz Łukawski Wprowadzenie 1. Semafory
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ółowo1. Utwórz blok pamięci współdzielonej korzystając z poniższego kodu:
6 Pamięć współdzielona 6.1 Dostęp do pamięci współdzielonej 1. Utwórz blok pamięci współdzielonej korzystając z poniższego kodu: #include #include #include #include
Bardziej szczegółowoAplikacja Sieciowa wątki po stronie klienta
Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się
Bardziej szczegółowoSemafory w systemie Unix
Semafory w systemie Unix Pakiet IPC wprowadzony w Uniksie Systemu V UR]SRZV]HFKQLáVL ZNROHMQ\FKZDULDQWDFK8QLNVDWDN HZ wydaniach BSD) 8GRVW SQLDWU]\PHFKDQL]P\: kolejki komunikatów semafory VHJPHQW\SDPL
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ółowoFunkcje jadra systemu operacyjnego UNIX
Funkcje jadra systemu operacyjnego UNIX Dariusz Wawrzyniak IIPP 29 września 2009 Plan 1 Wstęp 2 Pliki 3 Procesy 4 Łacza 5 Mechanizmy IPC 6 Sygnały Funkcje jadra systemu operacyjnego UNIX 29 września 2009
Bardziej szczegółowoTryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla
Tryby komunikacji między procesami w standardzie Message Passing Interface Piotr Stasiak 171011 Krzysztof Materla 171065 Wstęp MPI to standard przesyłania wiadomości (komunikatów) pomiędzy procesami programów
Bardziej szczegółowoFunkcje jadra systemu operacyjnego UNIX
Funkcje jadra systemu operacyjnego UNIX Dariusz Wawrzyniak IIPP 29 września 2009 Plan Wstęp Pliki Procesy Łacza Mechanizmy IPC Sygnały Plan Wstęp Pliki Procesy Łacza Mechanizmy IPC Sygnały Funkcje systemowe
Bardziej szczegółowoObsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011
Obsługa plików Systemy Operacyjne 2 laboratorium Mateusz Hołenko 25 września 2011 Plan zajęć 1 Pliki w systemie Linux i-węzły deskryptory plików 2 Operacje na plikach otwieranie i zamykanie zapis i odczyt
Bardziej szczegółowoLaboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach
Laboratorium Systemów Operacyjnych Ćwiczenie 4. Operacje na plikach Wykonanie operacji wymaga wskazania pliku, na którym operacja ma zostać wykonana. Plik w systemie LINUX identyfikowany jest przez nazwę,
Bardziej szczegółowoproblemu producenta i konsumenta z ograniczonym buforem cyklicznym. Wszystkie funkcje dotyczace
37 5 Mechanizmy IPC Mechanizmy IPC (ang. Interprocess Communication) obejmuja pamieć wspó ldzielona, semafory i kolejki komunikatów. Semafory sa raczej mechanizmem synchronizacji, niż komunikacji procesów.
Bardziej szczegółowoSemafory, pamięć dzielona i kolejki komunikatów
Semafory, pamięć dzielona i kolejki komunikatów dr inż. Sławomir Samolej Katedra Informatyki i Automatyki Politechnika Rzeszowska Program przedmiotu oparto w części na materiałach opublikowanych na: http://wazniak.mimuw.edu.pl/
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ół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ół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ółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoProcesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011
Procesy Systemy Operacyjne 2 laboratorium Mateusz Hołenko 9 października 2011 Plan zajęć 1 Procesy w systemie Linux proces procesy macierzyste i potomne procesy zombie i sieroty 2 Funkcje systemowe pobieranie
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ółowoTemat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Bardziej szczegółowoPliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
Bardziej szczegółowoTemat zajęć: Mechanizmy IPC: semafory
Temat zajęć: Mechanizmy IPC: semafory Czas realizacji zajęć: 90 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Zasada działania semaforów binarnych i uogólnionych, tworzenie semaforów,
Bardziej szczegółowo2 Implementacja w systemie Linux 2.4
1 IPC IPC (InterProcess Communication) to udostępniane przez jądro systemu operacyjnego mechanizmy służące komunikacji oraz współdzieleniu zasobów i informacji pomiędzy procesami. IPC Systemu V udostępnia
Bardziej szczegółowoSEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej
SEGMENT TCP CZ. I Numer portu źródłowego (ang. Source port), przeznaczenia (ang. Destination port) identyfikują aplikacje wysyłającą odbierającą dane, te dwie wielkości wraz adresami IP źródła i przeznaczenia
Bardziej szczegółowoProgramowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Bardziej szczegółowoSpecyfikacja instalacji usługi SMS Premium w Przelewy24.pl
Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl wersja.2.9 data 2014-11-21 Opis usług: P24 KOD P24 KLUCZ P24 WAPA SEND SMS Strona 1 z 8 P24 KOD Przebieg transakcji Operacje po stronie Sprzedawcy
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ółowoIteracyjny serwer TCP i aplikacja UDP
Iteracyjny serwer TCP i aplikacja UDP Iteracyjny serwer TCP Funkcje wywoływane przez serwer TCP socket() - bind() - listen() - accept() - read() / write() - close() socket() Creates an endpoint for communication
Bardziej szczegółowoSYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017
Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu
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ół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ółowoProgramowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt
Programowanie obiektowe Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt Operator new, new[] Operator new oraz new[] służy do rezerwacji obszarów z zapasie pamięci
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ółowoDYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
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ółowoSpecyfikacja protokołu zdalnych kolejek RQP Krzysztof Choromański 19 kwietnia, 2008
Specyfikacja protokołu zdalnych kolejek RQP Krzysztof Choromański kc219408@students.mimuw.edu.pl 19 kwietnia, 2008 Spis treści: 1. Cele. 2. ZałoŜenia. 3. Format komunikatów. 3.1 Komunikaty wymieniane w
Bardziej szczegółowoPrzykłady interfejsu TCP i UDP w Javie
Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół
Bardziej szczegółowoĆwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim
Bardziej szczegółowoLekcja 8, 9 i 10. Konspekt lekcji Poczta elektroniczna. Materiał z podręcznika: Rozdział 5. Poczta elektroniczna
Lekcja 8, 9 i 10 Materiał z podręcznika: Rozdział 5. Poczta elektroniczna Konspekt lekcji Poczta elektroniczna Temat: Poczta elektroniczna Czas: 3x45 minut Uczeń powinien znać pojęcia: Uczeń powinien posiadać
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ółowoTemat zajęć: Tworzenie i obsługa wątków.
Temat zajęć: Tworzenie i obsługa wątków. Czas realizacji zajęć: 180 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Tworzenie wątków, przekazywanie parametrów do funkcji wątków i pobieranie
Bardziej szczegółowoProgram 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:
Program 6 Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje: Funkcja pobierz_osobe wczytuje dane osoby podanej jako argument. Funkcja wypisz_osobe
Bardziej szczegółowo51. Metody komunikacji nieblokującej.
51. Metody komunikacji nieblokującej. Funkcje nieblokujace różnia sie od wersji blokujacych przedrostkiem I (immediate) w nazwie oraz jednym dodatkowym argumentem: request, który jest używany do sprawdzenia,
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ół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ółowo5. Algorytm genetyczny przykład zastosowania
5. Algorytm genetyczny przykład zastosowania Zagadnienie magicznych kwadratów Opis działania algorytmu Zagadnienie magicznych kwadratów polega na wygenerowaniu kwadratu n n, w którym elementami są liczby
Bardziej szczegółowo1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.
Bardziej szczegółowoProgramowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Bardziej szczegółowoStałe i zmienne znakowe. Stała znakowa: znak
Stałe i zmienne znakowe. Stała znakowa: znak Na przykład: a, 1, 0 c Każdy znak jest reprezentowany w pamięci przez swój kod. Kody alfanumerycznych znaków ASCII to liczby z przedziału [32, 127]. Liczby
Bardziej szczegółowoObsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli
Bardziej szczegółowoPliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:
Pliki W celu wykonania jakiejkolwiek operacji na istniejącym pliku, plik ten musi zostać otwarty, natomiast jeśli plik jeszcze nie istnieje, to musi zostać utworzony. Plik może zostać otwarty w trybie:
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ół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ółowoPliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną
Bardziej szczegółowoKrótki kurs programowania współbieżnego (2)
Krótki kurs programowania współbieżnego (2) Procesy i sygnały w języku C (to było ostatnio) Wspólny dostęp do plików (to też) Semafory i pamięć dzielona Inne metody komunikowania Kurs systemu UNIX 1 Dzielenie
Bardziej szczegółowo1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Bardziej szczegółowoJęzyki i metodyka programowania. Wskaźniki i tablice.
Wskaźniki i tablice. Zmienna1 Zmienna2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Zmienna to fragment pamięci o określonym rozmiarze identyfikowany za pomocą nazwy, w którym może być przechowywana
Bardziej szczegółowoZadania z podstaw programowania obiektowego
Zadania z podstaw programowania obiektowego 1. Napisać klasę Lista, której zadaniem będzie przechowywanie listy liczb całkowitych. Klasa ta ma mieć następujące pola prywatne: int* liczby; tablica, w której
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
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ół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ółowoWstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
Bardziej szczegółowoProgramowanie w modelu przesyłania komunikatów specyfikacja MPI. Krzysztof Banaś Obliczenia równoległe 1
Programowanie w modelu przesyłania komunikatów specyfikacja MPI Krzysztof Banaś Obliczenia równoległe 1 Model przesyłania komunikatów Paradygmat send receive wysyłanie komunikatu: send( cel, identyfikator_komunikatu,
Bardziej szczegółowoZmienne i struktury dynamiczne
Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest
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ółowoĆwiczenia podstawowe, zestaw 5, część 1
Ćwiczenia podstawowe, zestaw 5, część 1 1 Napisz zestaw funkcji identyfikujących rodzaj znaku Należy napisać funkcje, pozwalające na identyfikowanie typu znaku przekazanego parametrem. Załóżmy, że tworzymy
Bardziej szczegółowoIMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
Bardziej szczegółowoSemafor ustaw_semafor(key_t nazwa, int start); Semafor usun_semafor(semafor sem); void signal(semafor sem); void wait(semafor sem);
Semafory przypomnienie semafory służą ochronie dostępu procesów do sekcji krytycznej; na semaforach dostępne są dwie operacje: podniesienie semafora signal, opuszczenie semafora wait opuszczony semafor
Bardziej szczegółowoKonwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki
Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,
Bardziej szczegółowoTRX API opis funkcji interfejsu
TRX Krzysztof Kryński Cyfrowe rejestratory rozmów seria KSRC TRX API opis funkcji interfejsu Kwiecień 2013 Copyright TRX TRX ul. Garibaldiego 4 04-078 Warszawa Tel. 22 871 33 33 Fax 22 871 57 30 www.trx.com.pl
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ółowoPamięć dzielona i kolejki komunikatów
Pamięć dzielona i kolejki komunikatów dr inż. Sławomir Samolej Katedra Informatyki i Automatyki Politechnika Rzeszowska Program przedmiotu oparto w części na materiałach opublikowanych na: http://wazniak.mimuw.edu.pl/
Bardziej szczegółowoOperacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia
Materiały Operacje na plikach Informatyka Operacje wejścia-wyjścia w C/C++: Podejście proceduralne Podejście obiektowe Standardowe strumienie wejścia i wyjścia stdin - strumień wejściowy (klawiatura) cin
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ółowoStan globalny. Krzysztof Banaś Systemy rozproszone 1
Stan globalny Krzysztof Banaś Systemy rozproszone 1 Stan globalny Z problemem globalnego czasu jest związany także problem globalnego stanu: interesuje nas stan systemu rozproszonego w konkretnej pojedynczej
Bardziej szczegółowoutworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,
Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz
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ółowoJęzyk C zajęcia nr 12. Struktury i unie
Język C zajęcia nr 12 Struktury i unie Struktura jest zgromadzonym pod jedną nazwą zbiorem elementów nazywanych polami lub składowymi. Pola mają swoje odrębne nazwy (podobnie jak zmienne) i mogą przechowywać
Bardziej szczegółowoTCP - receive buffer (queue), send buffer (queue)
BSD sockets c.d. TCP - receive buffer (queue), send buffer (queue) Z każdym gniazdem sieciowym są skojarzone: Bufor do odbierania danych (ang. receive buffer) Przychodzące dane są umieszczane w buforze
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ółowoE S - uniwersum struktury stosu
Temat: Struktura stosu i kolejki Struktura danych to system relacyjny r I r i i I U,, gdzie U to uniwersum systemu, a i i - zbiór relacji (operacji na strukturze danych). Uniwersum systemu to zbiór typów
Bardziej szczegółowoTypy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowo1. Wprowadzanie danych z klawiatury funkcja scanf
1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),
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ółowoLaboratorium z systemów operacyjnych. System plików - funkcje systemowe. Anna Wojak
Laboratorium z systemów operacyjnych System plików - funkcje systemowe Anna Wojak 1 Zagadnienia do samodzielnego przygotowania: podstawowe polecenia linux, podstawy programowania w jezyku C, deskryptor
Bardziej szczegółowo