Projekt i implementacja rozproszonego

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

Download "Projekt i implementacja rozproszonego"

Transkrypt

1 POLITECHNIKA KRAKOWSKA Wydział Fizyki, Matematyki i Informatyki Stosowanej Informatyka PRACA MAGISTERSKA Projekt i implementacja rozproszonego systemu czasu rzeczywistego Autor: Marcin Szelc Promotor: dr inż. Lech Jamroż

2 KRAKÓW,

3 Za pomoc przy pisaniu pracy oraz udzielenie cennych wskazówek składam serdeczne podziękowania Panu dr inż. Lechowi Jamrożowi Spis treści Wstęp. 4 Cel pracy i założenia. 6 Rozdział I Podstawy systemów rozproszonych i czas rzeczywistego Systemy rozproszone w aspekcie systemów czasu rzeczywistego. 7 Rozdział II Analiza i charakterystyka systemu Zapotrzebowanie przeznaczenie systemu Charakterystyka wykonania poszczególnych zadań. 14 Rozdział III Projektowanie systemu Architektura Projekt rozwiązań cech systemu rozproszonego i czasu rzeczywistego Diagramy UML Diagramy przypadków użycia Diagramy klas Diagramy czynności Operacje wykonywane przez system. 48 Rozdział IV Implementacja rozproszonego systemu czasu rzeczywistego Narzędzia, język programowania i biblioteki użyte do implementacji systemu. _ Implementacja strony serwera Implementacja strony klienta Koordynacja komunikacja Konfiguracja systemu Widoki systemu. 58 Rozdział V Testowanie rozproszonego systemu czasu rzeczywistego Testowanie Testy poprawności logicznej jednostkowe. 65 3

4 5.1.2 Testy wydajnościowe i czasu rzeczywistego Testy tolerancji błędów odporność na awarie sprzętu i sieci. 74 Rozdział VI Podsumowanie Wnioski Podsumowanie 76 Bibliografia. 78 Spis rysunków. 79 Spis kodów źródłowych. 80 Wstęp Wraz z rozwojem technologii rośnie coraz większy nacisk na czas przetwarzania i niezawodność procesów. Większość powstających obecnie dużych systemów to systemy rozproszone. Bardzo często nie są one jednak zoptymalizowane pod kątem wydajności, nacisk kładzie się w nich np. na niezawodność, poprawność działania itp. W systemach czasu rzeczywistego wykonywanie zadań na czas jest priorytetem i jest ważniejsze od dokładności obliczeń. Zaprojektowanie rozproszonego systemu czasu rzeczywistego jest sprawą nie trywialną. Niektóre założenia systemu rozproszonego idą na przekór systemowi czasu rzeczywistego. Oczywiście bardzo wiele zależy od środowiska pracy np. zdecydowanie łatwiej będzie wykonać system przewidywalny pod względem czasowym w środowisku zamkniętym tj. połączony łączami komunikacyjnymi na wyłączność (lokalnymi), niż system, który jest dostępny w sieci internet, gdyż komunikacja połączenia klientserwer może nieść duży narzut czasowy, którego nie można dokładnie określić. Tworzenie systemu czasu rzeczywistego (szczególnie z rygorystycznymi wymaganiami czasowymi), w którym komunikacja pomiędzy węzłami odbywa się z wykorzystanie internetu jest bardzo trudne, wręcz niemożliwe. Sprawa wygląda lepiej w przypadku tworzenia systemu z luźnymi ograniczeniami czasowymi. Bez względu na środowisko, rozmiary takiego systemu, należy dokonać głębokiej analizy każdego projektowanego komponentu, elementów komunikacyjnych. Implementacje należy realizować z wykorzystaniem metod optymalizacji (optymalizację można zacząć przeprowadzać po zakończeniu implementacji i przetestowaniu funkcjonalności, jednak optymalizacja wydajnościowa powinna być w pewnym stopniu przeprowadzana wcześniej), natomiast w końcowej fazie należy przeprowadzić rozległe testy 4

5 funkcjonalne, ze szczególnym uwzględnieniem symulowania niekorzystnych warunków, dzięki czemu będzie można poznać reakcje systemu w krytycznych sytuacjach i otrzymać wstępną odpowiedź czy system w danym stanie w ogóle nadaje się do zastosowania jako system czasu rzeczywistego. Modelowanie komponentów, które wymagają synchronizacji dostępu, będzie wymagało kompromisu czasowego (każda synchronizacja niesie ze sobą narzut czasowy). Dlatego też należy wyizolować najmniejszy fragment operacji, który należy poddać synchronizacji, aby zminimalizować straty. Projektowanie systemu czasu rzeczywistego wiąże się w dużej mierze z optymalizacją systemu pod kątem wydajności jest to kluczowy element takiego systemu. Równie ważne jest szeregowanie zadań, a w przypadku systemu rozproszonego odpowiedni rozdział zadań, podzadań do jednostek przetwarzających. O ile poprawa wydajności poszczególnych elementów może sprowadzać się do testów jednostkowych i optymalizacji fragmentów kodu, o tyle zastosowany algorytm ściśle zależy od wymagań czasowych, środowiska pracy, powinien być więc wypadkową działania całego systemu. Przy projektowaniu systemu należy kłaść duży nacisk na jego elastyczność. Na wstępie został przedstawiony jedynie zarys niektórych aspektów rozproszonych systemów czasu rzeczywistego, więcej tych aspektów oraz szerzej o nich w kolejnych rozdziałach pracy. 5

6 Cel pracy i założenia Celem pracy jest zaprojektowanie i implementacja rozproszonego systemu czasu rzeczywistego, a także zarysowanie problematyki systemów rozproszonych i czasu rzeczywistego w kontekście zderzenia się tych dwóch technologii. Założeniem realizowanego systemu jest przetwarzanie zadań (dostarczanych przez klientów) w czasie rzeczywistym przez system rozproszony. Klient wywołuje serwis obsługi zadań i przesyła zadanie do wykonania. Zadanie jest przesyłane w częściach (klient dokonuje podziału zadania) do serwera będącego w danej chwili dyspozytorem (serwerem centralnym), który dokonuje rozdziału podzadań do serwerów wykonujących (zwanych dalej operacyjnymi lub współpracującymi). Serwery wybierane są na podstawie wykonywanej cyklicznie analizy ich obciążenia oraz priorytetu zadania, żądanego czasu zakończenia zadania (deadline) i szacowanego czasu zakończenia. Wyniki wykonania zadania są przesyłane w częściach do klientów. Biorąc pod uwagę, że implementacja rozproszonego systemu czasu rzeczywistego to problematyka niezmiernie złożona i czasochłonna, system będący tematem niniejszej pracy tworzy namiastkę takiego systemu, daje jednak podwaliny pod dalszą rozbudowę poprzez wydzielenie aspektów strategicznych działania takiego systemu (np. planisty szeregującego zadania, synchronizacji dostępu do danych, synchronizacji czasowej, koordynacji działania). Realizowany system ma możliwość łatwego dołączania nowych zadań, które będzie mógł wykonywać. W realizowanym systemie 6

7 dołączony został moduł matematyczny mnożenia dwóch macierzy o dowolnych rozmiarach ze względu na łatwą skalowalność tego zadania, dzięki czemu można było porównywać wyniki przy różnych rozmiarach macierzy. Również w łatwy sposób można dołączać nowe algorytmy szeregujące zadanie, które mogą być zmieniane podczas działania systemu w zależności od satysfakcji uzyskiwanych czasów wykonania zadania. Rozdział I Podstawy systemów czasu rzeczywistego i systemów rozproszonych 1.1 Systemy rozproszone w aspekcie systemów czasu rzeczywistego. System czasu rzeczywistego jest to system, w którym obsługiwanie zdarzeń powinno być wykonane w ustalonym limicie czasu. Poprawność działania tego systemu zależy nie tylko od poprawności wyników, ale także od dostarczenia tych wyników przed upływem nieprzekraczalnego terminu deadline. W systemach czasu rzeczywistego duży nacisk kładzie się na scenariusze pesymistyczne duże obciążenia zasobów. Kosztem średniej wydajności systemu i mocy obliczeniowej, polepsza się czasy w przypadkach pesymistycznych. Przykłady: komputer sterujący rakietą musi w określonym czasie wyznaczyć jej kurs, odtwarzacz filmów musi zdekodować klatki w określonym i krótkim czasie, zależnym od liczby klatek na sekundę np. dla 50 klatek na sekundę, każda klatka musi być zdefiniowana w czasie nie większym niż 25ms, komputer sterujący różnego typu urządzeniami np. AGD sterowanie pompą w pralce. 7

8 Systemy czasu rzeczywistego stosuje się w następujących dziedzinach: multimedia, telekomunikacja, przemysł, medycyna, astronomia, aeronautyka, robotyka, kontrola i pomiary, urządzenia podwodne. Cechy systemu czasu rzeczywistego: równoległe działanie oddzielnych komponentów systemu, udogodnienie w interakcjach ze sprzętem, gwarantowany czas odpowiedzi, ekstremalna solidność, wydajna implementacja, tolerancja błędów. Podział systemów czasu rzeczywistego ze względu na ograniczenia czasowe: rygorystyczne (hard real time) system, w którym wykonanie zadania w żądanym czasie ma znaczenia dla poprawności funkcjonowania, tj. przekroczenie deadline może spowodować awarie systemu, nieprawidłowe działanie itp. w zależności od specyfiki systemu, a nawet zagrożenie dla ludzi, luźne (soft real time) system, w którym incydentalnie mogą zdarzać się przekroczenia żądanego czasu wykonania bez wpływu na poprawność oraz rezultaty jego działania, mocno rygorystyczne (real real time) jest to system hard real time, w którym dodatkowo czasy żądania wykonania zadania są bardzo małe, bezwzględnie rygorystyczne (firm real time) jest to specyficzny system hard real time, w którym przekroczenie deadline powoduje bezużyteczność otrzymanych wyników, jednak nie powoduje groźnych skutków. 8

9 Algorytmy szeregowania w systemach czasu rzeczywistego EDF (Earliest deadline first) najpierw z najwcześniejszym czasem deadline, LST (Least slack time first) najpierw z najmocniejszym ograniczeniem czasowym, DM (Deadline monotonic) monotoniczne. Parametry algorytmów szeregowania: faza (phase), okres (periodic), trwanie (duration), względne ograniczenie czasowe (relative deadline). Zadania, z którymi należy się zmierzyć podczas projektowania systemu czasu rzeczywistego: zidentyfikowanie zdarzeń, na które system powinien reagować, dla każdego zdarzenia i związanej z nim reakcji należy zidentyfikować wymagania czasowe, zdarzenia i reakcje należy zaprojektować we współbieżnych wątkach, dla każdego zdarzenia i reakcji zaprojektować algorytmy do przeprowadzania koniecznych obliczeń. Algorytmy te powinny być opracowane we wczesnej fazie projektu, aby znać ilość przetwarzania i czas potrzebny do jego realizacji, szeregowanie powinno zapewnić, że procesy będą uruchomione w chwili wystarczającej do spełnienia ograniczeń czasowych, integracja wszystkich modułów. Wartość systemu czasu rzeczywistego określana jest poprzez: przewidywalność i szybkość odpowiedzi na ważne zdarzenia, wysoki poziom planowania, stabilność podczas przejściowego przeładowania w sytuacji przeładowania systemu, gdy nie jest możliwe wykonanie wszystkich zadań na czas, system gwarantuje nie przekroczenie deadline dla krytycznych operacji, w przypadku systemu rozproszonego sieć komunikacyjna musi działać stabilnie. Główne moduły wchodzące w skład systemu czasu rzeczywistego: 9

10 moduł wykonawczy, moduł monitorowania i sterowania, moduł gromadzenia danych o stanach systemu w określonym czasie. Obecnie istnieje kilka systemów operacyjnych czasu rzeczywistego, najważniejsze to: QNX, WxWorks. System rozproszony (distributed system) to zbiór niezależnych węzłów (komputerów) połączonych w jedną, spójną logicznie całość, których zadaniem jest współdziałanie przy wykonywaniu zadań. Połączenie węzłów najczęściej realizowane jest przez sieć komputerową, jednak można wykorzystać również inne, prostsze rozwiązania, np. magistrale systemowe. Cechy systemu rozproszonego: współdzielenie zasobów (resource sharing) zasoby są (mogą być) współdzielone przez wielu użytkowników (klientów), otwartość (openness) możliwość rozbudowy systemu zarówno pod względem sprzętowym, jak i oprogramowania, współbieżność (concurrency) zdolność do przetwarzania wielu zadań jednocześnie, skalowalność (scalability) polega na zachowaniu podobnej wydajności systemu przy zwiększeniu skali systemu (np. liczby procesów, komputerów, itp.), odporność na błędy (fault tolerance) zdolność działania systemu mimo pojawiania się błędów (np. poprzez utrzymywanie nadmiarowego sprzętu), transparentność, przeźroczystość (transparency) postrzeganie systemu przez użytkownika jako całości, a nie poszczególnych składowych. Zadania, z którymi należy się zmierzyć podczas projektowania systemu rozproszonego: projektowanie działania systemu, synchronizacja procesów wykorzystanie koordynatora zarządzającego. Brak centralnego zegara i współdzielonej pamięci (kłopot z określeniem kolejności zdarzeń), planowanie przydziału (schedulling zasobów) przydział zadania do określonego węzła, 10

11 migracja procesów redystrybucja zadań pomiędzy jednostkami należącymi do systemu, dostęp do sekcji krytycznej może być wąskim gardłem, asynchroniczność wykonywanie zadań w niezdefiniowanej kolejności, bezawaryjność obsługa sytuacji wyjątkowych, awarii, elekcja koordynatora w wyniku awarii (np. algorytm Tyrana), bezpieczeństwo danych ochrona dostępu do zasobów. Jednym z najważniejszych aspektów systemu rozproszonego jest problem przydziału zadań do węzłów systemu. Wyróżnia się dwa podejścia do tego problemu: dzielenie obciążania (load sharing) nowe zadanie jest uruchamiane na jednostce najmniej obciążonej w danym momencie. Proces mający za zadanie dzielenie obciążenia wyszukuje najmniej obciążone węzły systemu, równoważenie obciążenia (load balancing) równoważenie obciążenia pomiędzy wszystkie jednostki. Algorytmy dzielenia obciążenia: token ring jednostki wchodzące w skład systemu tworzą logiczny pierścień. Jednostka będąca w danej chwili posiadaczem tokena ma możliwość wysłania do pozostałych węzłów tokena z żądaniem użycia bezczynnej (najmniej obciążonej) jednostki, program robaka (worm program) wyszukiwana jest bezczynna jednostka, po czym alokowane są na niej potrzebne zasoby do wykonania zadania. Tworzony jest potomek tego procesu, który poszukuje następną bezczynną jednostkę. Gdy zostanie znaleziona odpowiednia liczba jednostek do wykonania zadanie, zostaje ono wykonane, system w górę i w dół istnieje jednostka zwana koordynatorem, która przydziela zasoby jednostki do realizacji zadań. Dodatkowo na każdej jednostce istnieje proces szeregujące zadania na danej jednostce. Projektowanie algorytmów równoważenia obciążenia jest nieco trudniejsze w stosunku do algorytmów dzielenia obciążenia. Potrzebne jest tutaj: porównanie obciążenia pojedynczych jednostek szczególnie trudne w systemach heterogenicznych, 11

12 umieszczenie procesu badającego obciążenie w odpowiednim węźle, migracja zadań. Algorytmy load balancing można podzielić na dwie główne kategorie: statyczne zadania są przypisywane do jednostek w momencie ich kompilacji, przed rozpoczęciem wykonywania. Nie występuje tutaj migracja zadań (przenoszenie zadań na inną jednostkę w trakcie wykonywania). Dokładne oszacowanie zachowania aplikacji na etapie kompilacji jest zadaniem trudnym, jednak daje wymierne korzyści wynikające z utraty czasu na dokonanie wyboru jednostki do wykonania danego zadania na etapie działania programu oraz braku potrzeby śledzenia stanu systemu (jego obciążenia) podczas działania. Efektywność tych algorytmów w znacznej mierze zależy od możliwości przewidzenia działania systemu, homogeniczności, wielkości zadań, ilości danych komunikacyjnych, dynamiczne zadania są przydzielane do poszczególnych jednostek podczas działania systemu. Może występować migracja zadań przenoszenia zadania na jednostki mniej obciążone od tych, na których w danej chwili wykonywane jest zadanie. Dynamiczne równoważenie obciążenia daje lepsze rezultaty dla zadań, w których trudno jest dokładnie oszacować czas trwania oraz liczbę danych do komunikacji oraz dla aplikacji, których wymagania systemowe mają wiele parametrów. Ta metoda równoważenia obciążenia ponosi koszty czasowe i zasobowe potrzebne do ciągłej analizy obciążenia systemu. Wśród algorytmów dynamicznych wyróżnia się adaptujące się (dynamiczna i modyfikowana redystrybucja zadań), zcentralizowane (istnieje maszyna zwana koordynatorem, która zarządza przydziałem zasobów), rozproszone (w przydziale zasobów uczestniczy wiele węzłów systemu). Przykłady algorytmów równoważących obciążenie: Bryant a i Finkel a tworzone są pary pomiędzy jednostkami, pomiędzy którymi procesy są migrowane. Jeśli w danej chwili jednostka będąca z daną jednostką, na której wykonywane jest zadanie w parze jest mniej obciążona, to na nią migrowane jest zadanie, Barak a i Shiloh a do utrzymywania stanu obciążenia jednostek w systemie wykorzystywany jest wektor obciążenia, który posiada każda jednostka. Dane te są aktualizowane w określonych odstępach czasu przez jednostki oraz połowa takiego wektora jest odsyłana na losowo wybraną jednostkę, 12

13 symetrycznie inicjowany połączenie dwóch protokołów alokacji zadań inicjowany przez nadawcę i inicjowany przez odbiorcę. W pierwszym przypadku akcja inicjowana jest przez przeciążoną maszynę, która poszukuje jednostki do migracji swojego zadania. W drugiej przypadku inicjatorem jest mało obciążona jednostka, która próbuje uzyskać zadanie od bardziej obciążonej jednostki. Systemy rozproszone w aspekcie systemów czasu rzeczywistego W systemach rozproszonych dąży się do dzielenia obciążenia oraz równoważenia obciążenia. W ogólnym problemie przetwarzania zadań daje to najlepsze pod względem czasowym (w ujęciu całościowym) wykonanie zadań. Jednak w systemach rozproszonych interesuje nas bardziej czas wykonania każdego zadania w ujęciu lokalnym (w obrębie tego zadania). W systemie czasu rzeczywistego zadania mają różne oczekiwane czasy wykonania, różne priorytety, tak więc podczas działania systemu jednostki powinny być obciążone w sposób nierównomierny, aby np. podczas potrzeby wykonania zadania z krytycznymi ograniczeniami czasowymi istniała jednostka, która jest nieobciążona (lub przynajmniej słabo obciążona). Inne przykłady czynników kolidujących ze sobą pomiędzy systemami rozproszonymi, a czasu rzeczywistego: komunikacja sieciowa opóźnienia spowodowane komunikacją negatywny wpływ zarówno dla systemów czasu rzeczywistego jak i rozproszonych szczególnie dla niewielkiej ilości obliczeń w stosunku do ilości danych zadania, zastosowanie koordynatora w systemie rozproszonym staje się wąskim gardłem w systemie czasu rzeczywistego, synchronizacja synchronizacja dostępu do danych (dotyczy również synchronizacji lokalnej współbieżnych wątków) podobnie jak przy komunikacji, wiele węzłów większa możliwość awarii poszczególnych jednostek może to być krytyczne dla pojedynczych zadań (system czasu rzeczywistego), w ujęciu systemu jest to pozytywne, gdyż pojedynczy węzeł ma mały wpływ na cały system (może być łatwo zastąpiony). Pozytywny wpływ systemu rozproszonego na elementy systemu czasu rzeczywistego (straty czasowe): większe możliwości obliczeniowe nwęzłów od pojedynczego, odporność na awarie wiele węzłów, które mogą się zastępować bardzo istotne zarówno w systemach czasu rzeczywistego jak i rozproszonych, 13

14 bardziej stabilne działanie, otrzymywanie rezultatów na czas. Rozdział II Analiza i charakterystyka systemu 2.1 Zapotrzebowanie przeznaczenie systemu Przeznaczenie systemu dotyczy jego wykorzystania do wykonania konkretnych zadań. System powinien być w jak największym stopniu systemem ogólnego przeznaczenia (tj. powinna być łatwa możliwość podłączania modułów po stronie serwera i klienta, dzięki którym możliwe będzie wykonywanie nowych zadań. System w wersji podstawowej powinien zawierać moduł przetwarzający zadanie matematyczne mnożenie dwóch macierzy. System powinien posiadać następujące cechy i spełniać wymogi: wykonywać zadania na czas (zgodnie ze specyfiką systemu czasu rzeczywistego), wykorzystując do osiągnięcia tego celu algorytmy szeregowania globalnego (przydział jednostki do wykonania danego zadania) oraz szeregowania lokalnego (szeregowanie zadań w danym węźle), stabilność system powinien działać stabilnie przy dużym obciążeniu połączeniami i obliczeniami, modyfikować swoje działanie podczas pracy zmiana algorytmu planowania w przypadku nie spełniania wymagań czasowych wykonywanych zadań, odporność na awarie system powinien w miarę wcześnie wykrywać awarie i wykonywać procedury, które spowodują, że awaria pojedynczych węzłów nie zachwieje działania całego systemu, przezroczystość działania dla użytkownika po stronie klienta system powinien być jak pojedyncza jednostka przetwarzająca, dzielenie obciążenia (load share) i równoważenie obciążenia (load balancing). Dzielenie obciążenia jest specyficzne dla systemów czasu rzeczywistego, zwykłe systemy rozproszone raczej wykorzystują równoważenie obciążenia, obsługa sesji klient jest jednoznacznie identyfikowany, jak również pojedyncze operacje składające się na zadanie, których wykonywanie wywołuje w systemie, są identyfikowane w obrębie tego zadania i obsługi tegoż klienta, 14

15 monitorowanie i raportowanie działania system monitoruje obciążenie poszczególnych jednostek, jak również wykonywanie zadań w czasie deadline. 2.2 Charakterystyka wykonania poszczególnych zadań Poniżej zostanie zaprezentowane uruchomienie systemu (serwerów i klienta) w kolejnych krokach. Serwer: uruchomienie serwera (dyspozytora), serwer dyspozytor dokonuje inicjalizacji poszczególnych modułów na podstawie pliku (plików) konfiguracyjnego, uruchomienie kolejnego (kolejnych serwerów) operacyjnych (opcjonalnie możliwość uruchamiania wszystkich serwerów z poziomu serwera głównego), serwery operacyjne wczytują plik konfiguracyjny i inicjalizuje odpowiednie moduły, synchronizacja serwera dyspozytora i serwerów operacyjnych, podczas której dochodzi do wymiany podstawowych parametrów i testów (np. wydajności jednostek procesor, pamięć itp.), synchronizacja zegarów, ustanowienia rezerwowych serwerów centralnych na wypadek awarii lub wyłączenia aktualnie zarządzającego serwera, testowania łącza (przepustowość, zmienność przepustowości) parametry te mogą zmieniać się podczas działania systemu, dlatego potrzebna jest okresowe testowanie, każdy serwer zgłasza dyspozytorowi gotowość działania system jest gotowy do użycia, gdy sam się skonfiguruje, dołączanie kolejnych serwerów może nastąpić w dowolnej chwili. Klient: uruchomienie klienta, klient wczytuje podstawowe parametry inicjalizacji, w tym adres dostępu do usługi (oczywiście istnieje możliwość ustawienia tych parametrów przez użytkownika już podczas działania aplikacji klienta z panelu administracyjnego, 15 na żądanie użytkownika (lub automatycznie) następuje połączenie do serwera,

16 na żądanie użytkownika (lub automatycznie), następuje rozpoczęcie wykonywania zadań (działania systemu). Wykonywanie zadania (zarówno klient jak i serwer są wielowątkowe): zadania i operacje są wczytywane z plików (xml lub properties), fabryki uruchamiają odpowiednie moduły do pobierania zadania, komunikacji z serwerem, odbioru wyników i prezentacji lub zapisu ich rezultatów, klient przesyła kolejne części zadania do serwera dyspozytora lub serwera współpracującego, zadanie wykonane w całości aktualizacja statystyk serwer centralny (oraz konkretni klienci) posiadają statystyki wykonania poszczególnych zadań względem żądanego czasu, algorytmu itp. Scenariusz w przypadku przesłania zadania do systemu serwera dyspozytora: serwer centralny odbiera zadanie i w zależności od deadline oraz priorytetu dokonuje wyboru (algorytm przydziału) serwera operacyjnego, do którego prześle daną część zadania, serwer operacyjny wykonuje zadania (części) i przesyła je do serwera centralnego, który odsyła kolejne części do odpowiedniego klienta. Scenariusz w przypadku przesłania zadania do serwera stacja wybrana na podstawie algorytmu przydziału do wykonania danej części (całości zadania), serwer operacyjny wykonuje operacje i przesyła wyniki bezpośrednio do klienta. Sposób przetwarzania operacji: przydzielenie serwera operacyjnego dla całego zadania klient otrzymuje adres serwera operacyjnego i komunikuje się z nim bezpośrednio w celu wykonania zadania wykorzystywane do mniejszych zadań, zadanie wykonywane przez kilka serwerów klient komunikuje się z serwerem centralnym, który rozporządza przydziałem wykonywania poszczególnych części zadania do serwerów operacyjnych dla średnich i dużych zadań. mix połączenie obu powyższych metod serwer centralny przydziela klientowi serwer operacyjny do wykonania danego zadania. Komunikacja pomiędzy serwerem operacyjnym a klientem jak w pierwszym sposobie, jednak w każdej chwili serwer operacyjny może przydzielić klientowi nowy serwer najbardziej skomplikowana metoda, może dawać bardzo dobre rezultaty dla zadań najdłuższych. 16

17 Zadanie jest to jednostka logiczna składająca się z operacji pojedyncza operacja to funkcja (analogiczna do funkcji w języku programowania) np. dodawanie dwóch macierzy. Operacja jest dzielona np. dla dodawania macierzy częścią operacji będzie dodawanie pojedynczych wierszy. Osoba tworząca plik zadaniowy używa w nim pojęć tj. zadania i operacji, natomiast podział operacji na części jest dokonywana przez moduł funkcjonalny systemu odpowiedzialny za wykonanie danej operacji. Wyniki operacji są składane przez odpowiedzialny za to zadanie moduł klienta. Rozważane sposoby komunikacji: UDP protokół UDP może zostać wykorzystany do zadań wymagających dużej szybkości wykonania, które są mało wrażliwe na częściowe braki wykonania operacji, TCP dla zadań w których ważniejsze jest otrzymanie odpowiednich i kompletnych wyników od szybkości ich otrzymania. TCP z serializacją Java wykorzystanie mechanizmu serializacji zaimplementowanego w standardzie JDK. W systemie użyte zostały sposób trzeci, jednak zważywszy na zaprojektowanie systemu z położeniem dużego nacisku na: projektowanie interfejsów, polimorfizm (dzięki dziedziczeniu), składowanie obiektów, w dość łatwy sposób można zaimplementować i podłączyć do systemu inne sposoby komunikacji. Do zaimplementowania komunikacji poprzez protokół UDP, należałoby tworzyć pakiet z: adresem klienta, nazwą typu operacji, nazwą operacji argumentami, numerem części zadania. W przypadku protokołu TCP, który jest połączeniowy i automatycznie dołącza adres klienta, pole to można było pominąć. Atrybuty zadania (operacji): 17 deadline, priorytet.

18 W wyniku wystąpienia sytuacji anormalnych tj. w przypadku awarii serwera operacyjnego serwer dyspozytor wysyła do klienta informacje o tym, jakie operacje nie zostały wykonane. Klient (aplikacja klienta) decyduje o wysłaniu ponownego żądania wykonania tych operacji lub ignoruje tą informację (w przypadku mniej istotnych operacji, ich niewielkiej ilości na podstawie analizy kosztów i zysków odnośnie wymagań czasowych i jakości działania), klient może wywołać ponowne żądanie w przypadku, gdy uzna, że wyniki zadania są niezbędne do prawidłowego działania systemu. Parametry serwerów: wydajność znana podczas startu systemu niezmienna w czasie działania systemu, obciążenie zmienne podczas działania systemu. Przepustowość łącza zmienna podczas działania systemu na skutek: ogólnego obciążenia sieci, obciążenia sieci przez system zadanie może wymagać względnie niewielkiej ilości obliczeń w stosunku do przesyłanych danych i odwrotnie dużej ilości zadań i małej ilości przesyłanych danych. Algorytm przydziału (system posiada kilka algorytmów przydziału) dokonuje wyboru odpowiedniego serwera operacyjnego do wykonania zadania (lub operacji) na podstawie: typu zadania, parametrów serwera, przepustowości łącza. Wykonywanie powinno odbywać się: z wykorzystaniem load sharing moduł odpowiedzialny za nierównomierne obciążenie serwerów. Oczywiście jest on powiązany z algorytmem przydziału (sercem systemu), bezawaryjnie oprócz wspomnianej wcześniej kontroli zagubionych pakietów system posiada również możliwość reorganizacji serwerów na wypadek awarii, przezroczyście dla klienta klient nie jest świadomy istnienia wielu jednostek, system traktowany jest jako całość. Ogólny podział awarii, które mogą wystąpić podczas działania systemu: 18

19 serwera operacyjnego awaria ta nie powinna w żadnym wypadku powodować poważnych szkód działania systemu, oprócz chwilowych opóźnień czasowych wykonania poszczególnych zadań, serwera dyspozytora awaria ta w skrajnych przypadkach może powodować poważne problemy wykonania poszczególnych zadań (duże opóźnienia czasowe), jednak nie powinna powodować zatrzymania działania systemu, jego załamania. W przypadku wystąpienia awarii system powinien: przeorganizować się poprzez wybór nowego serwera dyspozytora, poinformować klientów o typie awarii (względem poszczególnych zadań i ich priorytetów), w razie potrzeby (żądań klientów) wykonać niewykonane zadania. Bardzo ważne jest informacja dla klientów o stanie awarii, oraz o możliwych opóźnieniach (ich stopniu) w zależności ile zadań uległo zagubieniu na skutek awarii. W wyniku tego klient (aplikacja) będzie miał możliwość podjęcia decyzji o ponownym wykonaniu zadania lub jego zaniechaniu i kontynuowaniu pracy. Rozdział III Projektowanie systemu Projektowanie systemu to najważniejszy element całego przedsięwzięcia. Odpowiednio zaprojektowany system posiada następujące cechy: łatwo modyfikowalny, skalowalny, intuicyjny w obsłudze, Proces projektowania wpływa na wszystkie pozostałe elementy tworzenia systemu tj. jego implementację, testowanie i wdrożenie. Podstawowe składniki systemu będącego tematem niniejszej pracy: biblioteki klasy wspólne dla 3 poniższych składników pracy: narzędzi, serwerów, klientów, narzędzia do tworzenia danych, serwery dyspozytor i współpracujący, Zadaniem serwera współpracującego jest realizacja żądań wykonania zadań przez stacje klientów, ciągła komunikacja z systemem w celu monitorowania działania. 19

20 Zadaniem serwera dyspozytor jest odbieranie żądań od klientów, zarządzanie dzieleniem obciążenia pomiędzy jednostki wchodzące w skład systemu, monitorowanie działanie całego systemu (wszystkich jednostek wchodzących w jego skład). klient(ci) realizacja odczytu zadań do realizacji, tworzenie interfejsu użytkownika, wysyłanie żądań wykonania zadania do systemu oraz prezentacja wyników. Zaprojektowanie odpowiedniego algorytmu przydziału zadań wymaga zdefiniowania charakterystyki zadań. W systemie czasu rzeczywistego taką charakterystykę można przeprowadzić w oparciu o wymagania czasowe. Wymagania te mogą być znane z wyprzedzeniem, więc równie wcześnie można zaprojektować odpowiedni algorytm. Zadanie z ograniczeniami czasowymi zadanie powinno posiadać następujące parametry: czas rozpoczęcia wykonania, czas trwania (szacowany), żądany czas zakończenia (ang. deadline). Czas rozpoczęcia i wymagany czas zakończenia określany jest mianem czasu życia zadania. Stosunek czasu jego wykonania do czasu życia określa jego wymaganie wykonania, którego wartość im bliższa 1, tym większe zapotrzebowanie na procesor. Biorąc pod uwagę, że zadania mogą mieć różne wymagania czasowe, należy w systemie zaprojektować kilka algorytmów szeregowania lokalnego. Odpowiednie algorytmy można statycznie przydzielić do wykonania określonych zadań, bądź zaprojektować mechanizm, systemu, który będzie wykonywał to automatycznie. Przykładami tych algorytmów są: Round Robin algorytm dynamiczny, wykorzystuje wywłaszczanie. Posiada cykliczną kolejkę zadań, w której zadania są umieszczane zgodnie z algorytmem FIFO (First Input First Output). Zadaniom są przydzielane kolejne kwanty czasu procesora, EDF (Earliest Deadline First) algorytm dynamiczny, wywłaszczający. Regularnie aktualizowane są informacje o deadline poszczególnych zadań, LSTF (Least Slack Time First) najpierw zadanie z najmniejszym luźnym czasem (różnica między żądanym, a przewidywanym czasem wykonania), kombinacyjny biorący pod uwagę kilka parametrów z odpowiednimi wagami, np. połączenie algorytmu EDF i LSTF. Lokalne planowanie wątków opiera się na priorytetach. Istnieją dwa główne rodzaje szeregowania: wywłaszczające jeśli zostanie do kolejki dodane nowe zadanie to wywłaszczy ono aktualnie wykonywane w przypadku, gdy posiada wyższy priorytet, 20

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

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

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer Plan prezentacji 1. Cel projektu 2. Cechy systemu 3. Budowa systemu: Agent

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

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

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ferliński Nr albumu: 187386 Praca magisterska na kierunku Informatyka

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

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

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

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

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:

Bardziej szczegółowo

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci UNIX: architektura i implementacja mechanizmów bezpieczeństwa Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci Plan prezentacji: Wprowadzenie do struktury systemów rodziny UNIX

Bardziej szczegółowo

DLA SEKTORA INFORMATYCZNEGO W POLSCE

DLA SEKTORA INFORMATYCZNEGO W POLSCE DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej

Bardziej szczegółowo

Uniwersalny Konwerter Protokołów

Uniwersalny Konwerter Protokołów Uniwersalny Konwerter Protokołów Autor Robert Szolc Promotor dr inż. Tomasz Szczygieł Uniwersalny Konwerter Protokołów Szybki rozwój technologii jaki obserwujemy w ostatnich latach, spowodował że systemy

Bardziej szczegółowo

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny 41 Rodzaje testów i pomiarów aktywnych ZAGADNIENIA - Jak przeprowadzać pomiary aktywne w sieci? - Jak zmierzyć jakość usług sieciowych? - Kto ustanawia standardy dotyczące jakości usług sieciowych? - Jakie

Bardziej szczegółowo

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku. Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).

Bardziej szczegółowo

Metodyka projektowania komputerowych systemów sterowania

Metodyka projektowania komputerowych systemów sterowania Metodyka projektowania komputerowych systemów sterowania Andrzej URBANIAK Metodyka projektowania KSS (1) 1 Projektowanie KSS Analiza wymagań Opracowanie sprzętu Projektowanie systemu Opracowanie oprogramowania

Bardziej szczegółowo

System generacji raportów

System generacji raportów Zalety systemu Czym jest ProReports? prostota instalacji, wieloplatformowość (AIX, Linux, Windows, Solaris), obsługa popularnych formatów (PDF, XLS, RTF, HTML,TXT,XML,CSV), obsługa wielu baz danych, raporty

Bardziej szczegółowo

SYSTEM VILM ZARZĄDZANIE CYKLEM ŻYCIA ŚRODOWISK WIRTUALNYCH. info@prointegra.com.pl tel: +48 (032) 730 00 42

SYSTEM VILM ZARZĄDZANIE CYKLEM ŻYCIA ŚRODOWISK WIRTUALNYCH. info@prointegra.com.pl tel: +48 (032) 730 00 42 SYSTEM VILM ZARZĄDZANIE CYKLEM ŻYCIA ŚRODOWISK WIRTUALNYCH info@prointegra.com.pl tel: +48 (032) 730 00 42 1. WPROWADZENIE... 3 2. KORZYŚCI BIZNESOWE... 4 3. OPIS FUNKCJONALNY VILM... 4 KLUCZOWE FUNKCJE

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Sposób funkcjonowania

Sposób funkcjonowania Stratus Avance został zaprojektowany w sposób, który w przypadku wystąpienia awarii ma zminimalizować czas przestoju i zapobiec utracie danych. Jednocześnie rozwiązanie ma być tanie i łatwe w zarządzaniu.

Bardziej szczegółowo

Referat pracy dyplomowej

Referat pracy dyplomowej Referat pracy dyplomowej Temat pracy: Wdrożenie intranetowej platformy zapewniającej organizację danych w dużej firmie na bazie oprogramowania Microsoft SharePoint Autor: Bartosz Lipiec Promotor: dr inż.

Bardziej szczegółowo

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta Sieci komputerowe 1 Sieci komputerowe 2 Skąd dostać adres? Metody uzyskiwania adresów IP Część sieciowa Jeśli nie jesteśmy dołączeni do Internetu wyssany z palca. W przeciwnym przypadku numer sieci dostajemy

Bardziej szczegółowo

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1 Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:

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

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

Bardziej szczegółowo

Virtual Grid Resource Management System with Virtualization Technology

Virtual Grid Resource Management System with Virtualization Technology Virtual Grid Resource Management System with Virtualization Technology System zarządzania zasobami wirtualnego Gridu z wykorzystaniem technik wirtualizacji Joanna Kosińska Jacek Kosiński Krzysztof Zieliński

Bardziej szczegółowo

Jednolite zarządzanie użytkownikami systemów Windows i Linux

Jednolite zarządzanie użytkownikami systemów Windows i Linux Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Paweł Gliwiński Nr albumu: 168470 Praca magisterska na kierunku Informatyka Jednolite

Bardziej szczegółowo

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej

Bardziej szczegółowo

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Infomatyki Stosowanej Piotr Benetkiewicz Nr albumu: 168455 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Podstawowe zagadnienia

Podstawowe zagadnienia SWB - Systemy operacyjne w systemach wbudowanych - wykład 14 asz 1 Podstawowe zagadnienia System operacyjny System czasu rzeczywistego Systemy wbudowane a system operacyjny Przykłady systemów operacyjnych

Bardziej szczegółowo

Maciej Oleksy Zenon Matuszyk

Maciej Oleksy Zenon Matuszyk Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Dokumentacja projektu QUAIKE Architektura oprogramowania

Dokumentacja projektu QUAIKE Architektura oprogramowania Licencjacka Pracownia Oprogramowania Instytut Informatyki Uniwersytetu Wrocławskiego Jakub Kowalski, Andrzej Pilarczyk, Marek Kembrowski, Bartłomiej Gałkowski Dokumentacja projektu QUAIKE Architektura

Bardziej szczegółowo

Modyfikacja algorytmów retransmisji protokołu TCP.

Modyfikacja algorytmów retransmisji protokołu TCP. Modyfikacja algorytmów retransmisji protokołu TCP. Student Adam Markowski Promotor dr hab. Michał Grabowski Cel pracy Celem pracy było przetestowanie i sprawdzenie przydatności modyfikacji klasycznego

Bardziej szczegółowo

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu. AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...

Bardziej szczegółowo

System zarządzania i monitoringu

System zarządzania i monitoringu Załącznik nr 12 do Opisu przedmiotu zamówienia System zarządzania i monitoringu System zarządzania i monitoringu powinien być zbudowany z odrębnych, dedykowanych modułów oprogramowania, monitorujących:

Bardziej szczegółowo

Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa

Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa dr inż. Mariusz Stawowski mariusz.stawowski@clico.pl Agenda Wprowadzenie Specyficzne

Bardziej szczegółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ www.e-awizo.pl BrainSoft sp. z o. o. ul. Bolesława Chrobrego 14/2 65-052 Zielona Góra tel.68 455 77 44 fax 68 455 77 40 e-mail: biuro@brainsoft.pl

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 4

Podstawy programowania III WYKŁAD 4 Podstawy programowania III WYKŁAD 4 Jan Kazimirski 1 Podstawy UML-a 2 UML UML Unified Modeling Language formalny język modelowania systemu informatycznego. Aktualna wersja 2.3 Stosuje paradygmat obiektowy.

Bardziej szczegółowo

Dokumentacja aplikacji Szachy online

Dokumentacja aplikacji Szachy online Projekt z przedmiotu Technologie Internetowe Autorzy: Jakub Białas i Jarosław Tyma grupa II, Automatyka i Robotyka sem. V, Politechnika Śląska Przedmiot projektu: Aplikacja internetowa w języku Java Dokumentacja

Bardziej szczegółowo

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych

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

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

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

Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler

Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler Planowanie przydziału procesora CPU scheduling Koncepcja szeregowania Koncepcja szeregowania (Basic Concepts) Kryteria szeregowania (Scheduling Criteria) Algorytmy szeregowania (Scheduling Algorithms)

Bardziej szczegółowo

Równoważenie obciążenia w sieci robotów internetowych. Adam Grycner, nr indeksu 209179 Łukasz Kornek, nr indeksu 209145 28 czerwca 2011

Równoważenie obciążenia w sieci robotów internetowych. Adam Grycner, nr indeksu 209179 Łukasz Kornek, nr indeksu 209145 28 czerwca 2011 Równoważenie obciążenia w sieci robotów internetowych Adam Grycner, nr indeksu 209179 Łukasz Kornek, nr indeksu 209145 28 czerwca 2011 SPIS TREŚCI SPIS TREŚCI Spis treści 1 Opis problemu 2 1.1 Obliczanie

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

Optymalizacja Automatycznych Testów Regresywnych

Optymalizacja Automatycznych Testów Regresywnych Optymalizacja Automatycznych Testów Regresywnych W Organizacji Transformującej do Agile Adam Marciszewski adam.marciszewski@tieto.com Agenda Kontekst projektu Typowe podejście Wyzwania Cel Założenia Opis

Bardziej szczegółowo

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA Biuletyn techniczny CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu Copyright 2006 COMARCH SA Spis treści 1 SPIS TREŚCI...2 2 DRIVER ODBC POWODUJĄCY BŁĄD PRZY WYKONYWANIU WYDRUKÓW REPORT WRITER

Bardziej szczegółowo

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie pamięcią w systemie operacyjnym Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

1. Zakres modernizacji Active Directory

1. Zakres modernizacji Active Directory załącznik nr 1 do umowy 1. Zakres modernizacji Active Directory 1.1 Opracowanie szczegółowego projektu wdrożenia. Określenie fizycznych lokalizacji serwerów oraz liczby lokacji Active Directory Określenie

Bardziej szczegółowo

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach)

Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach) Specyfikacja wymagań systemowych (może podlegać edytowaniu na kolejnych etapach) 1. Wstęp: 1.1. Cel. Niniejszy dokument przestawia specyfikację wymagań systemowych (zarówno funkcjonalnych jak i niefunkcjonalnych)

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin HENRYKOWSKI Nr albumu: 158069 Praca magisterska na kierunku Informatyka Archiwizacja

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34 Projektowanie oprogramowania cd. 2/34 Modelowanie CRC Modelowanie CRC (class-responsibility-collaborator) Metoda identyfikowania poszczególnych

Bardziej szczegółowo

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności. Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych

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

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2 Laboratorium Technologie Sieciowe Podstawowe protokoły transportowe stosowane w sieciach IP cz.2 Wprowadzenie Ćwiczenie przedstawia praktyczną stronę następujących zagadnień: połączeniowy i bezpołączeniowy

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

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych. 1 Serwery przetwarzania danych 1.1 Serwery dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych. 1 1.2 Konsola zarządzająca serwerami dostawa, rozmieszczenie i zainstalowanie 1. konsoli

Bardziej szczegółowo

Zasady organizacji projektów informatycznych

Zasady organizacji projektów informatycznych Zasady organizacji projektów informatycznych Systemy informatyczne w zarządzaniu dr hab. inż. Joanna Józefowska, prof. PP Plan Definicja projektu informatycznego Fazy realizacji projektów informatycznych

Bardziej szczegółowo

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław

Bardziej szczegółowo

PROCEDURA ADMINISTROWANIA ORAZ USUWANIA AWARII I BŁĘDÓW W CSIZS

PROCEDURA ADMINISTROWANIA ORAZ USUWANIA AWARII I BŁĘDÓW W CSIZS Załącznik nr 3 do umowy nr 10/DI/PN/2016 PROCEDURA ADMINISTROWANIA ORAZ USUWANIA AWARII I BŁĘDÓW W Rozdział 1. ADMINISTROWANIE 1. Wykonawca, w celu zapewnienia ciągłości funkcjonowania, zobowiązuje się

Bardziej szczegółowo

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Spis treści Wprowadzenie...n...n... 5 Jak korzystać z tej książki?...t... 6 Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Podsumowanie...t...t...15 Rozdział 2. Rozdział

Bardziej szczegółowo

Serwer druku w Windows Server

Serwer druku w Windows Server Serwer druku w Windows Server Ostatnimi czasy coraz większą popularnością cieszą się drukarki sieciowe. Często w domach użytkownicy posiadają więcej niż jedno urządzenie podłączone do sieci, z którego

Bardziej szczegółowo

ECDL ZARZĄDZANIE PROJEKTAMI

ECDL ZARZĄDZANIE PROJEKTAMI ECDL ZARZĄDZANIE PROJEKTAMI EUROPEJSKI CERTYFIKAT UMIEJĘTNOŚCI KOMPUTEROWYCH ZARZĄDZANIE PROJEKTAMI Syllabus v. 1.0 Oficjalna wersja dokumentu jest dostępna w serwisie WWW Polskiego Biura ECDL www.ecdl.pl

Bardziej szczegółowo

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch System Rozproszone Komunikator Dokumentacja Maciej Muszkowski Jakub Narloch Wymagania Zgodnie ze wstępnymi założeniami komunikator musi, realizowad następujące funkcje: 1. Jest oparty o model Peer2Peer,

Bardziej szczegółowo

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA

OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA OPROGRAMOWANIE WSPOMAGAJĄCE ZARZĄDZANIE PROJEKTAMI. PLANOWANIE ZADAŃ I HARMONOGRAMÓW. WYKRESY GANTTA Projekt to metoda na osiągnięcie celów organizacyjnych. Jest to zbiór powiązanych ze sobą, zmierzających

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

koniec punkt zatrzymania przepływów sterowania na diagramie czynności Diagramy czynności opisują dynamikę systemu, graficzne przedstawienie uszeregowania działań obrazuje strumień wykonywanych czynności z ich pomocą modeluje się: - scenariusze przypadków użycia, - procesy

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

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Tworzenie i obsługa wirtualnego laboratorium komputerowego Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego

Bardziej szczegółowo

Rozwiązanie Compuware dynatrace

Rozwiązanie Compuware dynatrace Rozwiązanie Compuware dynatrace COMPUWARE DYNATRACE... 3 2 COMPUWARE DYNATRACE Narzędzie Compuware dynatrace oparte jest o unikatową technologię agentową, która pozwala na dogłębną analizę stanu aplikacji

Bardziej szczegółowo

Koordynacja procesów w środowisku rozproszonym

Koordynacja procesów w środowisku rozproszonym Systemy rozproszone Koordynacja procesów w środowisku rozproszonym System rozproszony jest zbiorem luźno powiązanych ze sobą komputerów połączonych siecią komunikacyjną (Silberschatz). Zasoby zdalne -

Bardziej szczegółowo

HARMONOGRAMOWANIE OPERACYJNE Z OGRANICZENIAMI W IFS APPLICATIONS

HARMONOGRAMOWANIE OPERACYJNE Z OGRANICZENIAMI W IFS APPLICATIONS HARMONOGRAMOWANIE OPERACYJNE Z OGRANICZENIAMI W IFS APPLICATIONS Cele sterowania produkcją Dostosowanie asortymentu i tempa produkcji do spływających na bieżąco zamówień Dostarczanie produktu finalnego

Bardziej szczegółowo

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Wydział Matematyki i Informatyki Instytut Informatyki i

Bardziej szczegółowo

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROGRAMOWALNE STEROWNIKI LOGICZNE PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu

Bardziej szczegółowo

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

Bardziej szczegółowo

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami Struktury sieciowe Struktury sieciowe Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne 15.1 15.2 System rozproszony Motywacja

Bardziej szczegółowo

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe N, Wykład 4: Protokoły TCP/UDP i usługi sieciowe 1 Adres aplikacji: numer portu Protokoły w. łącza danych (np. Ethernet) oraz w. sieciowej (IP) pozwalają tylko na zaadresowanie komputera (interfejsu sieciowego),

Bardziej szczegółowo

Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI

Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI DIAGRAMY INTERAKCJI DIAGRAMY STEROWANIA INTERAKCJĄ Diagramy sterowania interakcją dokumentują logiczne związki między fragmentami interakcji. Podstawowe kategorie pojęciowe diagramów sterowania interakcją

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

1 Moduł Inteligentnego Głośnika 3

1 Moduł Inteligentnego Głośnika 3 Spis treści 1 Moduł Inteligentnego Głośnika 3 1.1 Konfigurowanie Modułu Inteligentnego Głośnika........... 3 1.1.1 Lista elementów Modułu Inteligentnego Głośnika....... 3 1.1.2 Konfigurowanie elementu

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego

Bardziej szczegółowo

VIBcare ZDALNE MONITOROWANIE STANU MASZYN. www.ec-systems.pl

VIBcare ZDALNE MONITOROWANIE STANU MASZYN. www.ec-systems.pl VIBcare ZDALNE MONITOROWANIE STANU MASZYN www.ecsystems.pl ZDALNY NADZÓR DIAGNOSTYCZNY EC SYSTEMS WIEDZA I DOŚWIADCZENIE, KTÓRYM MOŻESZ ZAUFAĆ N owe technologie służące monitorowaniu i diagnostyce urządzeń

Bardziej szczegółowo

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Wrocław, dnia 23.03.2015 r.

ZAPYTANIE OFERTOWE. Zamawiający. Przedmiot zapytania ofertowego. Wrocław, dnia 23.03.2015 r. ZAPYTANIE OFERTOWE Wrocław, dnia 23.03.2015 r. W związku z realizacją przez Nova Telecom spółka z ograniczoną odpowiedzialnością, projektu pn.: Wdrożenie zintegrowanego systemu klasy B2B, umożliwiającego

Bardziej szczegółowo

MASKI SIECIOWE W IPv4

MASKI SIECIOWE W IPv4 MASKI SIECIOWE W IPv4 Maska podsieci wykorzystuje ten sam format i sposób reprezentacji jak adresy IP. Różnica polega na tym, że maska podsieci posiada bity ustawione na 1 dla części określającej adres

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

BMC Control-M Wybrane przypadki zastosowania

BMC Control-M Wybrane przypadki zastosowania Piotr Orlański Mariusz Gajewski CompFort Meridian Polska & BMC Software BMC Control-M Wybrane przypadki zastosowania Warszawa, 11 czerwca 2015 DISASTER RECOVERY Środowisko bankowe Problem: Zorganizowanie

Bardziej szczegółowo