Mechanizmy komunikacyjne w systemach Windows i Windows XP. Przemysław Musiał, Artur Zezula

Wielkość: px
Rozpocząć pokaz od strony:

Download "Mechanizmy komunikacyjne w systemach Windows i Windows XP. Przemysław Musiał, Artur Zezula"

Transkrypt

1 Mechanizmy komunikacyjne w systemach Windows i Windows XP. Przemysław Musiał, Artur Zezula 14 grudnia 2002

2 Spis treści 1 Wstęp Mechanizmy systemów Windows Mechanizmy proste Schowek (Clipboard) Formaty i ich rejestracja Operacje Kopiowanie Wklejanie Właściciel schowka Podglad schowka Generowanie na żadanie Pamięć Data Copy File Mapping (Pamięć współdzielona) Obiekt mapowania pliku Widoku pliku Mailslots Potoki (Pipes) Named Pipes Nazwa potoku Synchronizacja Anonymous Pipes NetBIOS Mechanizmy rozbudowane COM (COM+) COM od podszewki Kompatybilność binarna Dostępność Object Linking and Embedding (OLE) DDE (DDEML) Ogólnie o DDE

3 SPIS TREŚCI SPIS TREŚCI DDEML Inicjalizacja Funkcja zwrotna DdeCallback Wykorzystanie stringów Nawiazywanie połaczenia - konwersacje Zarzadzanie danymi Transakcje RPC Windows Sockets Windows Sockets Podsumowanie 31 5 Bibliografia 34 2

4 Rozdział 1 Wstęp Większość obecnie używanych systemów posiada mechanizmy ułatwiajace komunikację i wymianę danych między programami. Zespół wszystkich tych mechanizmów określany jest mianem Interprocess Communication w skrócie IPC. Zakres użycia każdego z mechanizmów jest odmienny - jedne specjalizowane sa do wymiany danych lokalnie, pomiędzy procesami, inne natomiast pomiędzy komputerami w sieci. Aplikacje używajace IPC podlegaja hierarchii klient-serwer w przypadku pojedynczego połaczenia. Aplikacja nadrzędna serwer udostępnia zasób/serwis, przetwarza żadania, a aplikacja podrzędna klient - korzystaja z zasobu/serwisu, przekazuje własne żadania. Aplikacja może korzystać z wielu mechanizmów i występować w każdej z ról. Różnorodność mechanizmów IPC powoduje, iż często trudno wybrać jest ta właściwa. W wielu przypadkach będziemy zmuszeni do wykorzystania kilku mechanizmów celem uzyskania jak najlepszego efektu. Przed wyborem mechanizmu warto odpowiedzieć sobie na następujace pytania: Czy aplikacja będzie komunikowała się tylko z lokalnymi aplikacjami, czy również będzie zachodziła konieczność wymiany danych przez sieć? Czy w przypadku wymiany danych przez sieć komputery sa pod kontrola tych samych czy różnych systemów operacyjnych? Czy użytkownik będzie miał możliwość wyboru z którymi aplikacjami ma zajść wymiana danych, czy raczej aplikacja będzie miała określona z góry grupę kooperantów? Czy komunikacja ma odbywać się między wieloma różnymi aplikacjami w ogólnej formie (n.p. kopiowanie), czy raczej będzie to wymiana konkretnych danych ograniczajaca się do określonego zbioru wzajemnych interakcji? Jak ważna jest wydajność? Czy używane aplikacje maja GUI? - cześć mechanizmów pracuje tylko z takimi. 3

5 ROZDZIAŁ 1. WSTEP 1.1. MECHANIZMY SYSTEMÓW WINDOWS 1.1 Mechanizmy systemów Windows Systemy operacyjne firmy Microsoft kryjace się pod nazwa Windows oferuja szeroka gamę mechanizmów komunikacyjnych. Do dyspozycji mamy: Schowek (Clipboard) COM Data Copy DDE File Mapping Mailslots Potoki (Pipes) RPC Windows Sockets W dalszej części przybliżymy kolejno każdy z mechanizmów. 4

6 Rozdział 2 Mechanizmy proste 2.1 Schowek (Clipboard) Na pierwszy rzut oka, możemy być zdziwieni, ale schowek jest właśnie mechanizmem komunikacji między aplikacjami. Obecnie bez jego funkcjonalności nie wyobrażamy sobie pracy z komputerem. Idea działania jest bardzo prosta. W systemie istnieje magazyn do, którego możemy skopiować dane w wybranych przez siebie formatach, zarówno ogólnych jak i własnych. Aplikacja, która chce z nich skorzystać po prostu wybiera format, który zna i obsługuje. Poniższy rysunek właśnie to obrazuje. Rysunek 2.1: Wklejanie arkusza kalkulacyjnego do edytora tekstów Jak już wspomnieliśmy dane moga być w dowolnym formacie. Każdy format jest identyfikowany przez liczbę całkowita, a standardowe (predefiniowane) formaty sa zdefiniowane w pliku nagłówkowym Winuser.h. W przypadku formatów własnych, ich identyfikator zwracany jest podczas rejestracji. Oprócz rejestracji typów danych schowka, większość operacji na schowku wykonuja pojedyncze okna. Przeważnie procedura okna pobiera lub umieszcza informacje jak 5

7 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.1. SCHOWEK (CLIPBOARD) wynik komunikatu WM_COMMAND. Schowek powinien być sterowany poprzez użytkownika, tzn. wszelkie operacje na danych winny odbywać się polecenie użytkownika. Podgląd schowka Rejestracja formatów Aplikacja A Schowek Format F1 Zmiana zawartośći Lista dostępnych formatów Akceptowalny format Aplikacja B Okno aplikacji A Format F2 Dane w wybranym formacie Okno aplikacji B Eksport w formatach Format F3 Kopiuj Wklej Użytkownik Rysunek 2.2: Użycie i działanie schowka W aplikacjach systemu Windows schowek powiazany jest z następujacymi operacjami powiazanymi z aktywnym oknem: kopiowanie / wycinanie zaznaczonego obszaru do schowka wklejanie zawartości schowka w formacie wybieranym automatycznie wklejanie z możliwościa wyboru formatu (jak na rysunku 2.1) W przypadku schowka istnieje również możliwości dołaczenia specjalnej aplikacji do podgladu zawartości. W momencie zmiany zawartości schowka jest ona o tym zawiadamiana Formaty i ich rejestracja Aplikacja kopiujac dane do schowka może umieścić je w kilku formatach. Schowek ma określone standardowe formaty obsługuj ace tekst, grafikę i dźwięk. Pełny ich wykaz można znaleźć na 6

8 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.1. SCHOWEK (CLIPBOARD) stronach MSDN i przytaczanie całego spisu tutaj jest zbędne. W Windows 2000/XP wprowadzono jedynie obsługę UNICODE u oraz jeden typ graficzny. Ciekawszym aspektem jest rejestracja własnych formatów, gdyż większość aplikacji właśnie korzysta z tej możliwości, aby uniknać utraty informacji przy zmianie formatu. Nowe formaty rejestrowane sa przy pomocy funkcji RegisterClipboardFormat. Nowy format identyfikowany jest przez nazwę, po rejestracji przydzielany jest wolny numer identyfikacyjny. W przypadku gdy dwie aplikacje używaja formatu o tej samej nazwie, rejestrowany jest tylko jeden i o ile sa zgodne aplikacje moga wymieniać między soba dane. Aplikacja może również umieścić dane w schowku oznaczajac je wartościa formatu od CF_PRIVATEFIRST do CF_PRIVATELAST. Identyfikatory z wyżej wymienionego przedziału oznaczaja dane prywatne aplikacji i ich typ nie musi być rejestrowany. zajmowana przez dane w formacie prywatnym nie jest zwalniania automatycznie. Pamięć otrzymaniu komunikatu WM_DESTROYCLIPBOARD właściciel danych powinien uwolnić zajmowana pamięć. Podobne zastosowanie ma również przedział identyfikatorów od CF_GDIOBJFIRST do CF_GDIOBJLAST. Powyższy przedział zarezerwowany jest dla formatów obiektów Microsoft Windows Graphics Device Interface (GDI). W tym przypadku nie mamy bezpośredniego wskaźnika na obiekt ale uchwyt zwracany przez funkcje GlobalAlloc z ustawiona flaga GMEM_MOVEABLE. Pamięć zajmowana przez obiekt jest automatycznie uwalniania przy opróżnianiu schowka. Chcac wstawić dane w kilku formatach należy przeprowadzić ta operacji w kolejności malejacej pod katem ilości posiadanej informacji. Formaty w schowku porzadkowane sa według kolejności wstawiania i aplikacja chcaca wstawić obiekt ze schowka przeszukuje listę dostępnych formatów dopóki nie napotka jej znanego. W ostatnich wersjach systemu poszerzono również listę wewnętrznych konwersji między formatami. Dzięki temu, o ile istnieje taka możliwość, odpytujac schowek o dostępne formaty listowane sa również te do których możliwa jest konwersja zaraz po formacie, który wstawiła aplikacja. Dodatkowa cecha schowka jest specjalna, rozszerzona obsługa danych w HTML u, które sa przechowywane w formacie CF_HTML. Służy on do przechowywania fragmentów dokumentów w HTML, który oprócz żadanego przez użytkownika fragmentu zawiera jego otocznie. Aplikacja wstawiajaca dane w tym formacie ma do dyspozycji większa ilość informacji, na przykład o formatowaniu i może sama zdecydować jak wstawić dane. Po Operacje Każda operacja na schowku rozpoczyna się otwarciem go poprzez wywołanie OpenClipboard, a kończy zamknięciem CloseClipboard. Tylko jedna aplikacja może mieć otwarty schowek. Na okno, które otwarło schowek wskazuje wartość zwracana przez GetOpenClipboardWindow. 7

9 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.1. SCHOWEK (CLIPBOARD) Kopiowanie Po otwarciu schowka możemy zaczać z niego korzystać. Proces wstawiania rozpoczyna się od opróżnienia poprzedniej zawartości EmptyClipboard. Wywołanie funkcji powoduje wysłanie komunikatu WM_DESTROYCLIPBOARD do poprzedniego właściciela, usunięcie zawartości schowka i przypisanie okna, które wywołało funkcję jako nowego właściciela. O aktualnego właściciela można zawsze zapytać funkcja GetClipboardWindow. Następnie można już kolejno umieszczać dane w pożadanych formatach, pamiętajac, że kolejność gra rolę. Dodawanie zawartości przeprowadza się funkcja SetClipboardData podajac jako format identyfikator formatu i wskaźnik do danych. Można również nie podawać tego wskaźnika przy określeniu, iż dane w tym formacie generowane sa na żadanie. Wtedy dane sa przygotowywane i wstawiane do schowka dopiero gdy jakaś aplikacja chce wstawić te dane Wklejanie Dostępność wielu formatów tych samych danych w schowku powoduje, że należy przed ich wstawieniem wybrać najbardziej odpowiedni format. Dostępne formaty można uzyskać poprzez kolejne wywołania funkcji EnumClipboardFormats, a stosowanymi metodami wyboru sa: pierwszy rozpoznany format (dlatego kolejność wstawiania jest ważna) przy wykorzystaniu wyżej wspomnianej funkcji wybranie najlepszego dostępnego formatu na podstawie listy priorytetowej GetPriority- ClipboardFormat zapytanie o pojedynczy format IsClipboardFormatAvailable Po określeniu w jakim formacie mamy zamiar uzyskać dane korzystamy z funkcji GetClipboardData podajac jako parametr identyfikator formatu. Jako rezultat otrzymujemy wskaźnik do danych. W tym momencie należy wykonać kopie danych, tak aby w miarę jak najszybciej odblokować obiekt. Okno nie będace właścicielem danych nie powinno zwalniać pamięci zaalokowanej na obiekt Właściciel schowka Jak wspominaliśmy okno po wywołaniu EmptyClipboard staje się właścicielem okna i pozostaje nim dopóki innego okno nie opróżni schowka lub do zamknięcia. Funkcja wysyła do poprzedniego właściciela komunikat WM_DESTROYCLIPBOARD. O ile okno wstawiło dane w formacie, w którym pamięć nie jest zwalniania automatycznie lub posiada dane generowane na żadanie powinno obsłużyć komunikat i wykonać odpowiednie akcje - zwolnić pamięć zajmowana przez dane powiazane ze schowkiem Podglad schowka Schowek ma możliwość dołaczeniabonifikowana aplikacji podgladaj acej aktualna zawartość, która przy każdej zmianie będzie o tym notyfikowana. 8 Aplikacje te tworza łańcuch, więc

10 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.2. DATA COPY ważne jest, aby każda z nich przekazywała informację dalej. przekazać komunikat zwraca funkcja rejestrujaca SetClipboardViewer. Informację o tym gdzie mamy Takie rozwiazanie obliguje jednocześnie aplikacje do naprawiania łańcucha podczas wyrejestrowania się jednego z elementów (funkcja ChangeClipboardChain(okno_zamykane, okno_następne)) okna będace w łańcuchu powinny przekazywać sobie komunikat WM_CHANGECBCHAIN dopóki jedno z nich nie stwierdzi, że to jego następnik jest zamykany. W tym momencie dane okno powinno zaktualizować informacje o własnym następniku (informacja o następniku zamykane okna podawana jest w komunikacie). WM_DRAWCLIPBOARD notyfikujacym o zmianę zawartości. Podobnie spraw ma się w przypadku komunikatu W tym przypadku również należy przekazać komunikat do swego następnika, wcześniej wykonujac pożadane operacje odczytu na schowku Generowanie na żadanie W schowku może zostać umieszczona również informacja, że dane zostana wygenerowane na żadanie. przygotowania. Konieczność takiego rozwiazania może być różna: wielkość danych, czas Stosujac takie rozwiazania, okno (dopóki nie dostanie komunikatu WM_DESTROYCLIPBOARD) musi być gotowe przygotować i udostępnić dane o których umieściło informacje w schowku. Po otrzymaniu komunikatu WM_RENDERFORMAT okno powinno umieścić w schowku za pomoca SetClipboardData dane w żadanym formacie. przypadku otrzymania takie komunikatu nie otwieramy schowka. W W przypadku niszczenia właściciela schowka otrzymuje on komunikat WM_RENDERALLFORMATS po którym powinien umieścić w schowku dane w formatach, które miały być generowane na żadanie, tak aby były dostępne po zamknięciu okna. Jeżeli format nie został umieszczony w schowku, a właściciel nie jest już dostępny to taki format nie będzie widoczny dla oknien sprawdzajacych dostępne formaty Pamięć Wszystkie dane przekazywane do schowka powinny być zapisane w pamięci alokowanej przy użyciu GlobalAlloc z flaga GMEM_MOVEABLE. Po umieszczeniu ich w schowku system staje się właścicielem tych obszarów pamięci i może je samodzielnie zwolnić przy użyciu funkcji przewidzianej dla danego formatu. W samej dokumentacji Microsoftu pozostaja jednak pewne nieścisłości co do zarzadzania pamięcia. Tyczy się to głównie formatów rejestrowanych: prywatnych i GDI. 2.2 Data Copy Data Copy jest prostych mechanizmem pozwalajacym w komunikacie od okna do okna przesłać dane. Okno umieszcza dane w strukturze COPYDATASTRUCT i wysyła je komunikatem WM_COPYDATA. Okno odbierajace komunikat może rozpoznać typ po polu dwdata. Okno wysyłajace musi znać uchwyt do okna do którego chce wysłać komunikat. 9

11 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.3. FILE MAPPING (PAMIEĆ WSPÓŁDZIELONA) 2.3 File Mapping (Pamięć współdzielona) Windowsowy mechanizm o nazwie File Mapping jest odpowiednikiem Unixowej pamięci współdzielonej. Zasada działania polega na udostępnieniu zawartości pliku jako bloku pamięci procesu. Proces za pomoca wskaźnika może czytać i zmieniać zawartość, tak jak w przypadku zmiennych dynamicznych i tak też realizowane sa te operacje. Mechanizm sam nie zwiera synchronizacji, tak więc korzystajac w kilku procesach z tego mechanizmu należy zapewnić synchronizację. Zależnie od nadania nazwy danemu przypisaniu dodaje się określenie nazwany / nienazwany. Sam mechanizm jest stosunkowo wydajny, a ponadto zapewnia pewien poziom bezpieczeństwa, zabezpieczajac przed uszkodzeniem danych do których proces nie powinien mieć dostępu. Mechanizm działa wyłacznie lokalnie, także komunikacja poprzez sieć przy jego użyciu nie jest możliwa. Pamięć wirtualna procesu A File View 1 File View 2 Pamięć fizyczna Pamięć wirtualna procesu B Obiekt File Mapping Plik na dysku File View 1 Rysunek 2.3: Zasada działania File Mapping Powyższy rysunek przedstawia schematycznie sposób realizacji. System tworzy obiekt file mapping, który odpowiada za połaczenie wirtualnej przestrzeni adresowej procesu z zawartościa pliku, natomiast File View jest ta częścia pamięci współdzielonej procesu używanej do dostępu do pliku (można nim manipulować przy użyciu funkcji VirtualProtect. Głównymi zaletami mapowania pliku sa: Szybszy i łatwiejszy dostęp do plików Działanie podobne do pamięci współdzielonej dla wielu aplikacji 10

12 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.3. FILE MAPPING (PAMIEĆ WSPÓŁDZIELONA) Te zalety kształtuja zakres zastosowania mechanizmu. Szczególnie godny polecenia jest tam gdzie konieczny jest szybki dostęp do plików, zarówno sekwencyjny jak i losowy - czyli n.p. wszelkie aplikacje operujace na danych przechowywanych w plikach. Proces nie musi posiadać widoku obejmujacego cały plik, ale także dowolnie wybrany ciagły fragment pliku. Chca mieć dostęp do innych danych niż aktualnie dostępne w File View może utworzyć nowy opcjonalnie zwalniajac wcześniej bieżacy widok. Proces może posiadać wiele widoków. System zwolniony obszar, do którego nie odwołuje się żaden widok może zapisać do pliku i zwolnić pamięć, a ża- dany obszar pliku wczytać, o ile nie jest od dostępny. Przy pomocy File Mapping można uzyskać dostęp do dowolnego pliku łacznie z systemowym plikiem wymiany. Obiekt systemowy zapewnia spójność danych, także wszystkie procesy korzystajace z pliku poprzez widok wskazujacy na ten sam obiekt posiadaja te same dane. Windows NT/2000/XP: Widoki każdego procesu należa do jego przestrzeni adresowej Windows 95/98/Me: Wszystkie widoki należa do współdzielonej przestrzeni adresowej (pomiędzy 2 a 3 GB wirtualnej przestrzeni adresowej, gdzie oprócz widoków jest 16-bitowy stos jak i współdzielone systemowe biblioteki DLL) Obiekt mapowania pliku Mechanizm może udostępnić dowolny plik, jednym wymogiem jest, aby miał do niego wyłaczny i ciagły dostęp do momentu usunięcia mapowania. Wybrany plik należy otworzyć przy użyciu funkcji CreateFile przy zachowaniu poprzednio wspomnianych wymagań. Otwierajac plik należy otworzyć go z takimi samymi atrybutami dostępu z jakimi chce się do niego mieć dostęp z obiektu mapowania. W przeciwnym wypadku może wystapić bład. Otrzymany uchwyt w wyniku działania funkcji będzie parametrem przy wywołaniu CreateFileMapping. Ważne do odnotowania jest, że tworzac obiekt mapowania nie ma konieczności ograniczania rozmiarów dostępnego obszaru pliku, gdyż nie wypływa to na ilość dostępnych zasobów systemowych. Najlepiej więc jako parametry dwmaximumsizehigh i dwmaximumsizelow przy tworzeniu obiektu podać wartość 0. Zasoby systemowe zajmowane sa dopiero przy tworzeniu widoków, ale tutaj dostępny obszar może być dowolnie wybrany z pliku (dowolnie wybrane bloki danych na dysku). W przypadku gdy chcemy jednak udostępnić tylko fragment, należy pamiętać, iż specyfikujemy jedynie udostępniana wielkość, bez offsetu, a więc musimy i tak udostępnić plik od poczatku do końca żadanego fragmentu (uwzględniajac położenie na dysku i rozmieszczenie w klastrach). Jako parametr do funkcji CreateFileMapping podaje się również nazwę dla tworzonego obiektu. Gdy obiekt o takiej nazwie istnieje podejmowana jest próba uzyskania do niego dostępu z żadan a w wywołaniu ochrona (Otwarcie obiektu możliwe jest również przy użyciu OpenFileMapping, ale już na ochronie z jaka został tworzony obiekt). wypadku tworzony jest nowy obiekt. W przeciwnym Pozostawiajac nazwę pusta (null, a nie ) tworzymy nienazwany obiekt, do którego nie będzie się można odwołać przez nazwę. W przypadku Windows XP nazwy musza spełniać wytyczne dotyczace przestrzeni nazw Terminal Services. Sama nazwa może być dowolnym ciagiem znaków poza \, a Windows 95/98/Me dopuszczalny jest również ciag pusty. Maksymalny rozmiar pliku ograniczony jest jedynie miejscem na 11

13 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.4. MAILSLOTS dysku. Zamknięcie obiektu odbywa się w odwrotnej kolejności do otwarcia, a więc najpierw należy zamknać obiekt, a później plik Widoku pliku Uzyskujac wskaźnik na obiekt mapowania po wywołaniu CreateFileMapping możemy utworzyć widok na wybrany fragment przy wykorzystaniu funkcji MapViewOfFileEx (lub MapViewOfFile gdy chcemy mieć widok na cały obszar dostępny w obiekcie) z tymi samymi flagami co poprzedniczkę. Jak już było wspomniane modyfikacja danych w widoku nie powoduje bezpośrednio zapisania zamian na dysku, operacja ta jest obsługiwana przez system. Zapewnione jest tylko, że wszystkie procesu maja dostęp do tych samych danych, tak więc zmiany sa widoczne od razu dla wszystkich współużytkujacych procesów. Można jednak wymusić zapis na dysk poprzez wywołanie FlushViewOfFile. Za pomoca wskaźnika uzyskanego z wywołania funkcji MapViewOfFile* mamy dostęp do wybranego obszaru pliku, identycznie jak w przypadku zmiennej dynamicznej. Zamknięcie widoku wykonuje się poprzez wywołanie UnmapViewOfFile dla pojedynczego widoku. 2.4 Mailslots Mailslot jest mechanizmem jednokierunkowej komunikacji między procesami (IPC). Aplikacje Win32 moga składować dane w mailslotach. Właściciel mailslotu może otrzymywać wiadomość, która jest tam składowana. Wiadomości sa przeważnie wysyłane poprzez sieć do wyspecyfikowanego komputera lub wszystkich komputerów w wyspecyfikowanej domenie. Domena jest grupa stacji roboczych i serwerów, które dziela nazwę grupowa. Zamiast mailslotów, do komunikacji między procesami, można używać nazwanych potoków (named pipes). Nazwane potoki sa prostym sposobem dla procesu dla rozgłoszenia wiadomości do wielu procesów. Podstawowa różnica między nimi jest to, że mailsloty używaja datagramów a nazwane potoki nie. Datagram jest małym pakietem informacji, który jest przesyłany poprzez sieć. Podobnie jak radio czy telewizja, dla datagramów nie sa przesyłane potwierdzenia odbioru; nie ma gwarancji, że datagram doszedł na swoje miejsce. Tak jak góry, duże budynki, lub interferencja sygnału może spowodować stratę sygnału radiowego lub telewizyjnego, tak istnieja rzeczy, które moga przeszkodzić w dotarciu datagramu do odbiorcy. Nazwane potoki sa jak rozmowa telefoniczna. Rozmawiasz tylko w jedna stronę jednak wiesz, że konwersacja jest prowadzona. Kiedy wiadomość jest wysyłana do mailslotu, aplikacja wysyłajaca specyfikuje czy wiadomość ma być wysłana przy użyciu pierwszej klasy czy drugiej klasy. Pierwsza klasa jest zorientowana połaczeniowo i gwarantuje transfer danych dla połaczenia jeden-do-jeden, lub jeden-do-wielu. Wiadomości tej klasy moga być wysłane do 12

14 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.5. POTOKI (PIPES) mailslotu, który został stworzony na serwerze. (a tak nawiasem piszac Windows 95 nie używa wiadomości pierwszej klasy). Druga klasa jest oparta na datagramach i niegwarantowanym transferze danych dla połaczenia jeden-do-jeden, lub jeden-do-wielu. Wiadomości tej klasy moga być przesyłane do mailslotów, które zostały utworzone na dowolnej stacji roboczej lub na kilku stacjach roboczych jeżeli rozmiar wiadomości nie przekracza 400 bajtów. Windows 95/NT implementuje tylko mailsloty drugiej klasy, które sa najbardziej użyteczne do identyfikowania innych komputerów lub serwisów w sieci i do szerokiej identyfikacji serwisów. Windows 95 używa mailslotów dla wiadomości WinPopup. Implementacja mailslotów w Windows NT jest podzbiorem implementacji OS/2 LAN Manager. Mailsloty drugiej klasy dostarczaja bezpołaczeniowego przesyłania wiadomości dla rozgłoszeniowych wiadomości. Dostarczenie wiadomości nie jest zagwarantowane, jednak współczynnik dostarczonych wiadomości w większości sieci jest duży. Jest to bardzo użyteczne dla identyfikacji innych komputerów lub serwisów w sieci. Serwis Computer Browser w Windowsach NT używa mailslotów. Nazwy mailslotów musza posiadać następujace elementy: dwa backslashe na poczatku nazwy, kropkę, backslash po kropce, nazwę mailslot, następnie wystepuje nazwa mailslotu. Przykad: \\.\mailslot\[path]name Aby umieścić wiadomość w mailslocie prces otwiera mailslota porzez jego nazwę. Zapisywanie wiadomości na lokalnym komputerze zdarza się rzadko. Częściej używamy mailslotów na innych kompuaterach, do których adres jest w postaci: \\ComputerName\mailslot\[path]name Aby umieścić wiadomość w każdym mailslocie w domenie z podana nazwa, stosujemy następujac a formę: \\DomainName\mailslot\[path]name 2.5 Potoki (Pipes) Nazwane potoki i mailsloty sa aktualnie zaimplementowane jako systemy plików. W ten sposób, w Rejestrze sa wejścia dla NPFS (Named Pipe File System) i MSFS (Mailslot File System). Jako systemy plików, dziela one podstawowa funkcjonalność, taka jak bezpieczeństwo, z innymi systemami plików. Dodatkowo lokalne procesy moga używać nazwanych potoków i mailslotów z innymi procesami na lokalnym komputerze bez używania komponentów sieciowych. Zdalny dostęp do nazwanych potoków i mailslotów jest osiagalny przez przekierowanie. Nazwane potoki dostarczaja które pozwalaja na dzielenie pamięci poprzez sieć. połaczeniowo-zorientowane przekazywanie wiadomości, Windows NT posiada specjalny interfejs programowania (API), który zwiększa bezpieczeństwo przy używaniu nazwanych potoków. 13

15 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.5. POTOKI (PIPES) Jedna cecha dodana do potoków jest impersonation (personifikacja). Kiedy używamy personifikacji, serwer może zmienić swój identyfikator bezpieczeństwa na taki jaki posiada klient na drugim końcu połaczenia. Dla przykładu przypuśćmy, że serwer bazodanowy używa nazwanych potoków do otrzymywania, czytania i zapisywania żadań od klienta. Kiedy żadanie przychodzi, serwer może personifikować klienta zanim podjęta zostanie próba spełnienia żadania. Dlatego też, jeżeli klient nie ma autoryzacji do wykonania zadania, żadanie zostanie odrzucone Named Pipes Pipe jest sekcja dzielonej pamięci, której proces używa do komunikacji. Nazwane potoki dostarczaja łatwe w dostępie połaczenie jeden-do-jeden, wydajność i zorientowany połaczeniowo transfer danych między dwoma procesami. Potok nazwany może być tworzony między procesami niezwiazanymi z soba, a także może przekazywać informację poprzez sieć. Proces, który tworzy potok nazywany jest pipe server. Proces, który łaczy się z potokiem jest nazywany pipe client. Gdy jeden proces wpisuje informacje do potoku, drugi proces odczytuje stamtad informację. Proces serwera tworzy potok i zarzadza dostępem do niego. Zasoby, które tworza potok sa własnościa procesu serwera i istnieja fizycznie na stacji roboczej, na której uruchomiony został proces. Proces klienta używa protokołów sieciowych aby uzyskać dostęp do zdalnego zasobu potoku. Mimo że, potoki sa zazwyczaj używane dwukierunkowo, potok może być skonfigurowany tak aby pozwalał na komunikację w jednym kierunku, na przykład od serwera do klienta. Powszechnym zastosowaniem nazwanych potoków jest aplikacja klient-serwer bazujaca na SQL. Klient aplikacji SQL może być uruchomiony na komputerze i połaczony z aplikacja serwera poprzez sieć Microsoft. Microsoft SQL Server musi być jednakże postawiony na LAN Manager, Windows NT, lub innym serwerze nazwanych potoków Nazwa potoku Każdy nazwany potok musi posiadać swoja unikalna nazwę, która rozróżnia go od innych potoków. Nazwa potoku ustalana jest podczas tworzenia potoku przy pomocy funkcji Create- NamedPipe. Nazwa potoku otwieranego przez klienta ma następujac a formę: \\ServerName\pipe\PipeName gdzie ServerName jest nazwa zdalnego lub lokalnego komputera. String wyspecyfikowany przez PipeName może zawierać dowolny znak, włacznie z cyframi i znakami specjalnymi. Serwer potoku nie może tworzyć potoku na innym komputerze więc nazwa tworzonego potoku zawiera kropkę zamiast nazwy serwera. \\.\pipe\pipename 14

16 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.6. NETBIOS Synchronizacja Funkcje ReadFile, WriteFile, TransactNamedPipe i ConnectNamedPipe moga być wywoływane synchronicznie lub asynchronicznie. Kiedy jest uruchamiana synchronicznie sterowanie jest zwracane gdy operacja przez nia wykonywana jest skończona. Oznacza to, że watek wywołujacy funkcję zostanie wstrzymany na czas jej wykonania. Może być to kłopotliwe gdy operacja zajmuje dużo czasu. Kiedy funkacja wywoływana jest asynchronicznie, sterowanie zwracane jest natychmiast, nawet wtedy gdy operacja nie została wykonana do końca. Serwera potoku, który obsługuje synchroniczne operacje do komunikowania się z kilkoma klientami, musi stworzyć osobny watek dla każdego klienta, tak aby jeden lub więcej watków mogły działać gdy inne czekaja Anonymous Pipes Potoki anonimowe, zwane również potokami nienazwanymi, umożliwiaja zwiazanym procesom na wymianę informacji przez wpisywanie i odczytywanie z pliku. Typowo anonimowe potoki sa używane do przekierowania standardowego wejścia i wyjścia procesu potomka, dlatego też może wymienić dane z procesem rodzica. Do używania anonimowych potoków, proces rodzica typowo tworzy potok, a później pozwala na dziedziczenie uchwytów do niego przez potomka. Proces rodzica wpisuje dane do potoku, a proces potomny może je odczytać z drugiej strony potoku. Proces rodzica może stworzyć dwóch lub większa ilość potomków, które dziedzicza uchwyty zapisu i odczytu do anonimowego potoku. Procesy te moga używać potoków do komunikowania się między soba, bez przechodzenia przez proces rodzica. Anonimowe potoki nie moga być używane poprzez sieć, ani nie moga być używane między niezwiazanymi procesami. 2.6 NetBIOS NetBIOS (Network Basic Input/Output System) jest standardowym interfejsem programowania w środowisku PC dla tworzenia aplikacji klient-serwer. NetBIOS jest używany jako mechanizm IPC od wprowadzenia tego interfejsu we wczesnych latach 80 tych. Z programistycznego punktu widzenia, interfejsy wyższego poziomu, takie jak potoki nazwane i RPC, sa lepsze w swojej elastyczności i przenośności. Aplikacja klient-serwer używajaca NetBIOS może komunikować się poprzez różne protokoły: NetBEUI (NBF), NWLink NetBIOS (NWNBLink) i NetBIOS over TCP/IP (NetBT). Interfejs NetBIOS dostarcza komendy i wsparcie dla następujacych serwisów: Rejestracja i weryfikacja nazwy sieciowej Ustanawianie i zrywanie sesji Niezawodność przesyłania danych 15

17 ROZDZIAŁ 2. MECHANIZMY PROSTE 2.6. NETBIOS Monitorowanie i zarzadzanie protokołem i adapterem Interfejs NetBIOS wystawia wyraźny zbiór komend, które sa przesyłane przez strukturę znana jako network control block (NCB). Aplikacja może wysyłać komendy NetBIOS ponad dowolnym protokołem, który dostarcza odpowiedni interfejs. 16

18 Rozdział 3 Mechanizmy rozbudowane 3.1 COM (COM+) Component Object Model jest szkieletem dla integrowalnych ze soba komponentów. Komponenty moga być łaczone w większe systemy, komunikujac się wzajemnie poprzez COM. Wzajemne wykorzystanie komponentów napisanych w różnych językach możliwe jest dzięki standardowemu API oraz zgodności binarnej. Kolejnym etapem rozwoju technologii było rozszerzenie go o możliwość używania komponentów, wzajemnej ich komunikacji, w środowisku rozproszonym - Distributed Component Object Model (w skrócie DCOM). DCOM i COM najlepiej traktować wspólnie, gdyż i tak dostarczane sa w jednym wspólnym pakiecie umożliwiajacym pracę w środowisku lokalnym jak i sieciowym. Ponad *COM, które znajduja się w niskich warstwach i wspieraja wzajemna interakcję między komponentami, stworzone zostały technologie służace do osadzania obiektu w obiekcie (ActiveX, OLE) i tworzenia połaczeń (OLE). Dzięki MTS rozszerzono możliwości COM o serwisy enterprise owe, czyli przykładowo transakcyjność i bezpieczeństwo. Późniejsze zintegrowanie MTS z COM em w COM+ oraz uproszczenie wykorzystania mechanizmów dla programisty pozwoliło na lepsza integrację mechanizmu w wizualnych środowiskach programistycznych Microsoftu COM od podszewki Jak wspominaliśmy na komponentach COM wymuszona jest binarna zgodność, niezależnie od wykorzystywanego języka programowania. Dzięki takiemu rozwiazaniu uzyskujemy niezależność od języka programowania i uniwersalność komponentu. Komponent jest widoczny jako zbiór interfejsów, posiadajacych własne zestawy dostępnych metod, reprezentujacych punkty kontaktu pomiędzy klientem a obiektem. Interfejsy, w celu zachowania zgodności, nie powinny się zmieniać. Tzn. chcac rozszerzyć możliwości obiektu należy nowe metody udostępnić za pomoca nowego interfejsu (można utworzyć interfejs dziedziczy po poprzedniej wersji). Dzięki temu możemy swobodnie zmieniać i korzystać z komponentów oferujacych interesujace nas w konkretnym przypadku interfejsy, oferujacych czasami różne inne możliwości, akurat przez nas nie wykorzystywane. 17

19 ROZDZIAŁ 3. MECHANIZMY ROZBUDOWANE 3.1. COM (COM+) Aplikacja kliencka Wskaźnik na interfejs Obiekt Rysunek 3.1: Użycie obiektu COM przez wskaźnik na interfejs Obiekty COM jak i interfejsy opisywane sa przy użyciu Microsoft Interface Definition Language (IDL), będacego rozszerzeniem DCE IDL (Distributed Computing Environment), a identyfikator każdego z nich musi być unikalny. Każdy obiekt COM działa wewnatrz serwera. Pojedynczy serwer może obsługiwać jednocześnie wiele obiektów. Dostęp do każdego z obiektów zapewniony jest na trzy sposoby: 1. Serwer wewnatrz procesu: Klient łaczy się bezpośrednio z biblioteka zawierajac a serwer. Klient i serwer znajduja się w tym samym procesie. wywołanie funkcji. Komunikacja zachodzi poprzez 2. Proxy lokalnego obiektu: Klient łaczy się z serwerem działajacym w innym procesie, ale na tym samym komputerze poprzez mechanizmy IPC (obecnie LRPC). 3. Proxy zdalnego obiektu: Klient łaczy się z serwerem działajacym na zdalnym komputerze. Taki sposób połaczenia został wprowadzony przez DCOM, a do komunikacji wykorzystywany jest DCE RPC. Proces klienta Obiekt procesu Serwer lokalny Proces Lokalnego Serwera stub COM Obiekt loklany Serwer lokalny Aplikacja kliencka Proxy obiektu lokalnego LRPC Proces Zdalnego Serwera COM Proxy obiektu zdalnego RPC stub COM Obiekt zdalny Serwer zdalny Zdalny host Rysunek 3.2: Metody dostępu do obiektu COM 18

20 ROZDZIAŁ 3. MECHANIZMY ROZBUDOWANE 3.1. COM (COM+) O ile pierwszy sposób jest stosunkowo łatwy do realizacji, to dwa następne wymagaja już większego nakładu. Dane musza zostać dodatkowo sformatowane i połaczone w odpowiednim porzadku aby można było je współdzielić (proces ten nazywany jest z angielska mashaling iem). Cały proces realizowany jest poprzez proxy po stronie klienta i stub po stronie serwera dla każdego pojedynczego interfejsu danego komponentu. Podczas nawiazywanie połaczenia najpierw tworzony jest stub, który będzie udostępniał i zarzadzał prawdziwym wskaźnikiem na interfejs. Następnie tworzone jest proxy po stronie klienta, które łaczy się ze stub i udostępnia klientowi wskaźnik do interfejsu. Podczas połaczenia klient wysyła dane do proxy, tutaj sa one poddawane marshalingowi, dalej przesyłane sa do stub, który dokonuje procesu odwrotnego i wykonuje operacje na interfejsie obiektu. Wynik zwracany jest w identyczny sposób, przy czym stub teraz porzadkuje i łaczy dane, a proxy je konwertuje do postaci wymaganej przez klienta. Ważna cecha COM jest nierozróżnialność obiektów. Możemy więc prosić o dostęp do obiektu konkretnego typu bez możliwości wskazania konkretnej jego instancji. W przypadku, gdy istnieje jednak konieczność zachowania stanu i odwołania do tego samego obiektu możemy użyć monikerów (monikers). Istnieje także możliwość powiadamiania klienta o zmianach w używanym przez niego komponencie lub zdarzeniach. Obiekty COM maja również możliwość przechowywania swojego stanu Kompatybilność binarna Wspominaliśmy, że dla komponentów COM wymagana jest kompatybilność binarna, która jest warunkiem koniecznym dla niezależności od języka programowania. Pod pojęciem kompatybilność binarna rozumie się ustandaryzowana postać wirtualnych tablic funkcji (vtables) w pamięci. Klient chcac wykonać metodę obiektu COM wykorzystuje wskaźnik do wpisu w wirtualnej tablicy funkcji. Dodatkowo daje to możliwość zredukowania liczby instancji obiektu COM, gdyż dzięki takiemu rozwiazaniu może być współdzielony Dostępność Wraz z rozwojem technologii COM Microsoft udostępniał nowe wersje bibliotek na swoje systemy operacyjne. Implementacje COM sa również dostępne na część Unix ów. Same biblioteki można było więc dołaczyć do swojego systemu i uzbroić go w możliwość wykorzystania komponentów COM. Stopniowo jednak coraz to nowsze wersje przestały być dostępne na starszych wersjach Windowsów. Na dzień dzisiejszy najnowsza wersja COM+ 1.5 dostępna jest jedynie z Windows XP i Windows.NET Serwer i nie będzie dostępna nawet dla Windows COM w obecnej formie jest tak bardzo rozbudowany i posiada wiele różnorakich aspektów wykorzystania, iż samo ich poznanie zajmuje dużo czasu, a o każdym z nich można swobodnie napisać ksiażkę. Sama technologia zwiazana jest raczej z komponentowa technika programowania aniżeli IPC, aczkolwiek jest swoistym przejawem komunikacji między procesami. Jak wspominaliśmy do komunikacji na niskim poziomie wykorzystywane jest RPC, które opiszemy w dalszej części. 19

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE Budowa i oprogramowanie komputerowych systemów sterowania Laboratorium 4 Metody wymiany danych w systemach automatyki DDE 1 Wprowadzenie do DDE DDE (ang. Dynamic Data Exchange) - protokół wprowadzony w

Bardziej szczegółowo

76.Struktura oprogramowania rozproszonego.

76.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ółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja 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ółowo

Przesyłania danych przez protokół TCP/IP

Przesył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ółowo

5. Model komunikujących się procesów, komunikaty

5. 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ółowo

World Wide Web? rkijanka

World Wide Web? rkijanka World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest

Bardziej szczegółowo

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

IBM 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ółowo

Wprowadzenie. Dariusz Wawrzyniak 1

Wprowadzenie. 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ółowo

Sieci 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 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ółowo

Protokoły sieciowe - TCP/IP

Protokoł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ółowo

Sieci 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 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ółowo

Aplikacja Sieciowa wątki po stronie klienta

Aplikacja 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ółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

MODEL 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ółowo

Middleware wprowadzenie października 2010

Middleware 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ółowo

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

Middleware 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ółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie 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ółowo

TRX API opis funkcji interfejsu

TRX 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ółowo

Klient-Serwer Komunikacja przy pomocy gniazd

Klient-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ółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy 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ółowo

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017 Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy

Bardziej szczegółowo

FAQ: 00000041/PL Data: 09/06/2012. Zastosowanie zmiennych Raw Data Type WinCC v7.0

FAQ: 00000041/PL Data: 09/06/2012. Zastosowanie zmiennych Raw Data Type WinCC v7.0 Zmienne typu Raw Data są typem danych surowych nieprzetworzonych. Ten typ danych daje użytkownikowi możliwość przesyłania do oraz z WinCC dużych ilości danych odpowiednio 208 bajtów dla sterowników serii

Bardziej szczegółowo

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7 I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego

Bardziej szczegółowo

biegle i poprawnie posługuje się terminologią informatyczną,

biegle i poprawnie posługuje się terminologią informatyczną, INFORMATYKA KLASA 1 1. Wymagania na poszczególne oceny: 1) ocenę celującą otrzymuje uczeń, który: samodzielnie wykonuje na komputerze wszystkie zadania z lekcji, wykazuje inicjatywę rozwiązywania konkretnych

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Wywoływanie procedur zdalnych

Wywoł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ółowo

Microsoft Interface Definition Language

Microsoft Interface Definition Language Microsoft Interface Definition Language IDL IDL (Interface Definition Language) kompilowany jest przez MIDL.exe: Tworzy pliki nagłówkowe klas abstrakcyjnych dla zdefiniowanych w pliku *.idl interfejsów

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2 Programowanie Urządzeń Mobilnych Część II: Android Wykład 2 1 Aplikacje w systemie Android Aplikacje tworzone są w języku Java: Skompilowane pliki programów ( dex ) wraz z plikami danych umieszczane w

Bardziej szczegółowo

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

Bardziej szczegółowo

OLE: Pojęcia podstawowe

OLE: Pojęcia podstawowe OLE: Object Linking and Embedding Programowanie składnikowe w modelu COM Jarosław Francik czerwiec 2002 OLE: Pojęcia podstawowe OLE technologia polegająca na tworzeniu złożonych dokumentów Przez pewien

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile

Bardziej szczegółowo

SERWER AKTUALIZACJI UpServ

SERWER AKTUALIZACJI UpServ Wersja 1.12 upserv_pl 11/16 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Budowlanych 66 80-298 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 www.satel.pl SATEL

Bardziej szczegółowo

Instrukcja aktualizacji programu Integra 7

Instrukcja aktualizacji programu Integra 7 Instrukcja aktualizacji programu Integra 7 Aktualizacje programu dostępne są na stronach internetowych Integra Software www.integra.com.pl w Strefie Integra Support dla Klientów posiadających aktywny Abonament

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

KS-ZSA. Mechanizm centralnego zarządzania rolami

KS-ZSA. Mechanizm centralnego zarządzania rolami KS-ZSA Mechanizm centralnego zarządzania rolami 1. Opis funkcjonalności W KS-ZSA zostaje udostępniona funkcji centralnego zarządzania rolami. W samym programie jest możliwość tworzenia centralnej roli

Bardziej szczegółowo

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37 Referencyjny model OSI 3 listopada 2014 Mirosław Juszczak 37 Referencyjny model OSI Międzynarodowa Organizacja Normalizacyjna ISO (International Organization for Standarization) opracowała model referencyjny

Bardziej szczegółowo

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie

Bardziej szczegółowo

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6 Zawartość Wstęp... 1 Instalacja... 2 Konfiguracja... 2 Uruchomienie i praca z raportem... 6 Wstęp Rozwiązanie przygotowane z myślą o użytkownikach którzy potrzebują narzędzie do podziału, rozkładu, rozbiórki

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007) Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007) Copyright 2004 Anica System S.A., Lublin, Poland Poniższy dokument, jak również informacje w nim zawarte są całkowitą własnością

Bardziej szczegółowo

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501) Spis treści Dzień 1 I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501) I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny

Bardziej szczegółowo

SERWER AKTUALIZACJI UpServ

SERWER AKTUALIZACJI UpServ upserv_pl 02/14 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Schuberta 79 80-172 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 info@satel.pl www.satel.pl SATEL

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Wypożyczalnia VIDEO. Technologie obiektowe

Wypożyczalnia VIDEO. Technologie obiektowe Wypożyczalnia VIDEO Jest to program do obsługi wypożyczalni i wypożyczeń klientów. Głównym zadaniem programu jest zarządzanie wypożyczeniami i drukowanie potwierdzenia wypożyczenia oraz naliczenie punktów

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory Poniższa instrukcja opisuje sposób zdalnej instalacji oprogramowania Webroot SecureAnywhere w środowiskach wykorzystujących usługę Active

Bardziej szczegółowo

Programowanie 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 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ółowo

156.17.4.13. Adres IP

156.17.4.13. Adres IP Adres IP 156.17.4.13. Adres komputera w sieci Internet. Każdy komputer przyłączony do sieci ma inny adres IP. Adres ten jest liczbą, która w postaci binarnej zajmuje 4 bajty, czyli 32 bity. W postaci dziesiętnej

Bardziej szczegółowo

Praca w sieci z serwerem

Praca w sieci z serwerem 11 Praca w sieci z serwerem Systemy Windows zostały zaprojektowane do pracy zarówno w sieci równoprawnej, jak i w sieci z serwerem. Sieć klient-serwer oznacza podłączenie pojedynczego użytkownika z pojedynczej

Bardziej szczegółowo

Wywoływanie procedur zdalnych

Wywoł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ółowo

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Deduplikacja danych. Zarządzanie jakością danych podstawowych Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication

Bardziej szczegółowo

Architektura interfejsu użytkownika

Architektura interfejsu użytkownika Uniwersytet Jagielloński Interfejsy graficzne Wykład 3 Architektura interfejsu użytkownika Barbara Strug 2011 Hall of shame Hall of Shame Hall of Fame O czym dzisiaj Model Widok- Kontroler Hierarchia widoków

Bardziej szczegółowo

Dokumentacja techniczna

Dokumentacja techniczna I N F O R M A T Y K A S T O S O W A N A E A I I E A G H Dokumentacja techniczna Mobilny asystent administratora Łukasz Świder Radosław Gabiga Łukasz Podolski Paweł Knap Marec Cabaj Maciej Stygar Aleksander

Bardziej szczegółowo

SERWER AKTUALIZACJI UpServ

SERWER AKTUALIZACJI UpServ Wersja 1.11 upserv_pl 06/16 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Budowlanych 66 80-298 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 www.satel.pl SATEL

Bardziej szczegółowo

Wykład Nr 4. 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Wykład Nr 4. 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia Sieci komputerowe Wykład Nr 4 1. Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia Sieci bezprzewodowe Sieci z bezprzewodowymi punktami dostępu bazują na falach radiowych. Punkt dostępu musi mieć

Bardziej szczegółowo

VinCent Administrator

VinCent Administrator VinCent Administrator Moduł Zarządzania podatnikami Krótka instrukcja obsługi ver. 1.01 Zielona Góra, grudzień 2005 1. Przeznaczenie programu Program VinCent Administrator przeznaczony jest dla administratorów

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Użycie Visual Basic for Applications ("VBA")

Użycie Visual Basic for Applications (VBA) Użycie Visual Basic for Applications ("VBA") Przegląd SEE z modułem VBA Developer SEE używa języka programowania Visual Basic for Applications (VBA) pozwalającego tworzyć krótkie programy zwane "makrami".

Bardziej szczegółowo

Ustalanie dostępu do plików - Windows XP Home/Professional

Ustalanie dostępu do plików - Windows XP Home/Professional Ustalanie dostępu do plików - Windows XP Home/Professional Aby edytować atrybuty dostępu do plikow/ katalogow w systemie plików NTFS wpierw sprawdź czy jest Wyłączone proste udostępnianie czyli przejdź

Bardziej szczegółowo

Forum Client - Spring in Swing

Forum Client - Spring in Swing Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie 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ółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY 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ółowo

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa Instalacja roli kontrolera domeny, Aby zainstalować rolę kontrolera domeny, należy uruchomić Zarządzenie tym serwerem, po czym wybrać przycisk

Bardziej szczegółowo

Warstwy i funkcje modelu ISO/OSI

Warstwy i funkcje modelu ISO/OSI Warstwy i funkcje modelu ISO/OSI Organizacja ISO opracowała Model Referencyjny Połączonych Systemów Otwartych (model OSI RM - Open System Interconection Reference Model) w celu ułatwienia realizacji otwartych

Bardziej szczegółowo

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji. 1 Moduł Modbus TCP Moduł Modbus TCP daje użytkownikowi Systemu Vision możliwość zapisu oraz odczytu rejestrów urządzeń, które obsługują protokół Modbus TCP. Zapewnia on odwzorowanie rejestrów urządzeń

Bardziej szczegółowo

EXSO-CORE - specyfikacja

EXSO-CORE - specyfikacja EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.

Bardziej szczegółowo

Tytuły Wykonawcze. Opis systemu tworzenia dokumentacji TW-1

Tytuły Wykonawcze. Opis systemu tworzenia dokumentacji TW-1 Tytuły Wykonawcze Opis systemu tworzenia dokumentacji TW-1 Program pozwala na tworzenie tytułów wykonawczych według Rozporządzenia Ministra Finansów z dnia 16 maja 2014 r. 1.Główne cechy systemu -ewidencja

Bardziej szczegółowo

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.

Bardziej szczegółowo

Procedura Walidacyjna Interfejs

Procedura Walidacyjna Interfejs Strona: 1 Stron: 7 SPIS TREŚCI: 1. CEL 2. ZAKRES 3. DEFINICJE 4. ODPOWIEDZIALNOŚĆ I UPRAWNIENIA 5. TRYB POSTĘPOWANIA 6. ZAŁĄCZNIKI Podlega aktualizacji X Nie podlega aktualizacji Strona: 2 Stron: 7 1.

Bardziej szczegółowo

Spis treści MONITOR PRACY... 4

Spis treści MONITOR PRACY... 4 Co nowego Spis treści MONITOR PRACY...... 4 Konfiguracja plików... 5 Konfiguracja globalna... 6 Pliki... 6 Projekty... 6 Interfejs użytkownika... 7 Synchronizacja... 7 Typ serwera... 8 Test połączenia...

Bardziej szczegółowo

RPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc

RPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc RPC Remote Procedural Call Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc 1 Wprowadzenie Podstawowe założenia RPC: Program uruchamiany na maszynie A może wywołać procedurę

Bardziej szczegółowo

Robert Barański, AGH, KMIW Writing TDM and TDMS Files in LabVIEW v1.0

Robert Barański, AGH, KMIW Writing TDM and TDMS Files in LabVIEW v1.0 Aby zmniejszyć potrzebę opracowania i utrzymania własnego formatu pliku danych, National Instruments stworzył elastyczne zarządzanie danymi technicznymi (TDM) model danych, który jest standardowo dostępny

Bardziej szczegółowo

Przewodnik Szybki start

Przewodnik Szybki start Przewodnik Szybki start Program Microsoft Access 2013 wygląda inaczej niż wcześniejsze wersje, dlatego przygotowaliśmy ten przewodnik, aby skrócić czas nauki jego obsługi. Zmienianie rozmiaru ekranu lub

Bardziej szczegółowo

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1 Instrukcja obsługi ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1 1 ArtPlayer to proste oprogramowanie umożliwiające odtwarzanie plików video i ich wybór poprzez protokół

Bardziej szczegółowo

System plików warstwa logiczna

System plików warstwa logiczna Dariusz Wawrzyniak Pojęcie u Plik jest abstrakcyjnym obrazem informacji gromadzonej i udostępnianej przez system komputerowy. Plik jest podstawową jednostką logiczną magazynowania informacji w systemie

Bardziej szczegółowo

Zastosowania Robotów Mobilnych

Zastosowania Robotów Mobilnych Zastosowania Robotów Mobilnych Temat: Zapoznanie ze środowiskiem Microsoft Robotics Developer Studio na przykładzie prostych problemów nawigacji. 1) Wstęp: Microsoft Robotics Developer Studio jest popularnym

Bardziej szczegółowo

EuroFirma Sklep Internetowy do programów

EuroFirma Sklep Internetowy do programów EuroFirma Sklep Internetowy do programów humansoft HermesMała Firma humansoft HermesStandard Bielsko-Biała,październik 2008 do obsługi sklepu internetowego Instrukcja modułu Sklep Internetowy do programu

Bardziej szczegółowo

Serwery Statefull i Stateless

Serwery Statefull i Stateless Serwery Statefull i Stateless Wszystkie serwery aplikacji są określone jako stateless podczas projektowania. Te aplikacje nie przetrzymują stałego połączenia z klientem. Wysyłają one pakiety danych na

Bardziej szczegółowo

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja Instytut Telekomunikacji Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska, marzec 2015 Wprowadzenie Ćwiczenie jest wykonywane

Bardziej szczegółowo

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury

Bardziej szczegółowo

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak Wykład 3 / Wykład 4 Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak 1 Wprowadzenie do Modułu 3 CCNA-E Funkcje trzech wyższych warstw modelu OSI W jaki sposób ludzie wykorzystują

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

Tworzenie aplikacji rozproszonej w Sun RPC

Tworzenie 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ółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 30 marca 2015

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 30 marca 2015 ! BSX PRINTER INSTRUKCJA UŻYTKOWNIKA Autor: Karol Wierzchołowski 30 marca 2015 SPIS TREŚCI WSTĘP... 3 INTERFEJS PROGRAMU... 5 KONFIGURACJA PROGRAMU... 6 DRUKOWANIE PARAGONÓW I FAKTUR... 8 REJESTRACJA PROGRAMU...

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia 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ółowo

INFRA. System Connector. Opis systemu

INFRA. System Connector. Opis systemu INFRA System Connector Opis systemu Spis treści Opis składników systemu... 3 Bezpieczeństwo systemu... 4 Bezpieczeństwo komunikacji... 4 Zabezpieczenie dostępu do serwisów... 4 Autoryzacja użytkowników...

Bardziej szczegółowo

Specyfikacja API Runtime BAS 3.0

Specyfikacja API Runtime BAS 3.0 Specyfikacja API Runtime BAS 3.0 Spis treści Wstęp... 4 Informacja o dokumencie... 4 Opis usługi... 4 Typowy sposób wywołania usługi... 5 Udostępniane funkcje... 6 Funkcje liczące... 6 Execute... 6 SafeExecute...

Bardziej szczegółowo

4. Podstawowa konfiguracja

4. Podstawowa konfiguracja 4. Podstawowa konfiguracja Po pierwszym zalogowaniu się do urządzenia należy zweryfikować poprawność licencji. Można to zrobić na jednym z widżetów panelu kontrolnego. Wstępną konfigurację można podzielić

Bardziej szczegółowo

Zdalne wywoływanie procedur RPC

Zdalne 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ółowo

Zdalne wywoływanie procedur RPC

Zdalne 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ółowo

Instrukcja użytkownika. Aplikacja dla WF-Mag

Instrukcja użytkownika. Aplikacja dla WF-Mag Instrukcja użytkownika Aplikacja dla WF-Mag Instrukcja użytkownika Aplikacja dla WF-Mag Wersja 1.0 Warszawa, Kwiecień 2015 Strona 2 z 13 Instrukcja użytkownika Aplikacja dla WF-Mag Spis treści 1. Wstęp...4

Bardziej szczegółowo

1 Moduł Diagnostyki Sieci

1 Moduł Diagnostyki Sieci 1 Moduł Diagnostyki Sieci Moduł Diagnostyki Sieci daje użytkownikowi Systemu Vision możliwość badania dostępności w sieci Ethernet komputera lub innych urządzeń wykorzystujących do połączenia protokoły

Bardziej szczegółowo