POLITECHNIKA ŁÓDZKA. Wprowadzenie do architektury mainframe: Komputer IBM z800 w Katedrze Informatyki Stosowanej

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

Download "POLITECHNIKA ŁÓDZKA. Wprowadzenie do architektury mainframe: Komputer IBM z800 w Katedrze Informatyki Stosowanej"

Transkrypt

1 POLITECHNIKA ŁÓDZKA DMCS Wprowadzenie do architektury mainframe: Komputer IBM z800 w Katedrze Informatyki Stosowanej Łukasz Papiewski PRACA DYPLOMOWA wykonana pod kierunkiem dr Macieja Szmita Łódź 2010

2 Spis treści Wstęp 4 Cel pracy Układ pracy Podziękowania Mainframe Historia Charakterystyka Procesor Pamięć Dysk Wirtalizacja Mainframe IBM z Administracja mainframem Support Element Instalowanie systemu operacyjnego za pomocą SE Workplace HMC - Hardware Management Console Logowanie do SE System Linux na mainframie Historia Przebieg instalacji Hercules Instalacja MVS 3.8J na emulatorze Hercules Licencja Instalacja Mainframe jako serwer szachowy Przegląd dostępnych serwerów szachowych Pierwsza linia serwera FICS Wersja A. Tridgella serwera FICS Wersja Chessd serwera FICS Analiza bazy danych serwera Chessd Użytkowanie serwera ICS Polecenia użytkownika Polecenia administratora Organizowanie terniejów na serwerze ICS Informacje dodatkowe PGN Ranking szachowy ELO Ranking szachowy Glicko Silniki szachowe Program szachowy - Crafty Program szachowy Stockfish Opis dodatkowych wymaganych programów Polyglot Winboard Dekoder różnicy czasu serwera ICS

3 3 Implementacja Komputery PC jako silniki szachowe Automatyzacja zadań serwera Chessd Implementacja skryptów dla silników szachowych Implementacja strony internetowej serwera Projekt strony w Zend Framework Analiza bazy danych Opracowany moduł chessd Dodatkowe funkcje Testy Test przy pomocy serwera szachowego Testy procesora przy pomocy programu szachowego Zakończenie 84 Załącznik 1. Literatura 85 Załącznik 2. Spis kodów źródłowych 86 Załącznik 3. Spis rysunków 86 Załącznik 4. Spis tablic 87 Załącznik 5. Spis wydruków 87 Załącznik 6. Spis terminów 88 Załącznik 7. Wykaz elementów konsoli HMC Workplace 93 Załącznik 8. Wykaz elementów konfiguracyjnych SE Workplace 97 Załącznik 9. Log z instalacji MVS 3.8J 101 3

4 Wstęp W 2010 r KIS Politechnika Łódzka otrzymała od firmy A. i Z. Maryniak CPU-Service komputer IBM z800. Został on przy współpracy z sekcją mainframe PTI uruchomiony i skonfigurowany do pracy z macierzą dyskową. Niniejsza praca przedstawia opis architektury mainframe, a także przykład wykorzystania tego komputera. Dodatkowo opisano instalację systemu MVS 3.8j na emulatorze Hercules, który użyty był w czasie i przed rozpoczęciem omawianego projektu. Cel pracy Celem pracy była instalacja i konfiguracja komputera z800 w KIS PŁ oraz jego wykorzystanie jako serwera szachowego. Układ pracy Praca podzielona jest na cztery rozdziały: pierwszy dotyczy architektury mainframe oraz sprzętu; drugi analizuje zagadnienia potrzebne do realizacji projektu serwera szachowego; trzeci przedstawia zastosowane rozwiązanie; czwarty prezentuje przeprowadzone testy. Rozdział pierwszy składa się z wstępnej analizy mainframe ów wraz z przedstawieniem aspektów tej architektury, obsługi komputera IBM z800 i dodatkowego sprzętu, instalacji systemu operacyjnego na emulatorze oraz mainframie. Rozdział drugi dotyczy zagadnień związanych z implementacją serwera programów szachowych, jako praktycznego zastosowania i wykorzystanie zdobytej wiedzy o mainframe ach. Wyszczególnione tu zostały istniejące rozwiązania oraz omówione oprogramowanie jakie można wykorzystać. Opisane zostały dostępne serwery szachowe wraz z instalacją. Podjęta została analiza bazy danych serwera chessd wykorzystanego w projekcie. Rozdział trzeci opisuje proces implementacji projektu. Ukazana jest strona internetowa, znajdująca się na serwerze Apache a na komputerze mainframe, zaprogramowana przy pomocy narzędzia Zend. Opracowano moduł dla tego frameworka oparty o wcześniejszą analizę serwera szachowego. Rozdział czwarty prezentuje przeprowadzone testy wydajności mocy procesora opartych na wydajności działania silników szachowych. Podziękowania Serdecznie dziękuję Panom: Zbigniewowi Maryniakowi, prezesowi Mainframe sp. z.o.o. oraz Grzegorzowi Plucińskiemu - przewodniczącemu Sekcji Mainframe PTI za okazaną pomoc i wsparcie podczas realizacji niniejszej pracy. 4

5 Rozdział 1 Mainframe 1.1 Historia (według: [3, 4, 5]) Pierwszy komputer typu mainframe, IBM 701 (de facto pierwszy komputer IBM-a), powstał w roku Posiadał możliwości obliczeniowe w przybliżeniu równe instrukcji na sekundę. Ten historyczny mainframe składał się z kilku żelaznych szafek zawierających urządzenia peryferyjne takie jak: układy zasilania, dyski, czytniki kart, drukarki itp. Główna z nich zawierała układy dokonujące różnorakich obliczeń i była nazywana main frame - stąd też przyjęła się nazwa tego typu maszyn. Następcą linii 700 (opartej na lampach próżniowych) była seria 7000 wykonana w technologii tranzystorowej. W latach sześćdziesiątych istniało wiele różnorakich systemów komputerów dedykowanych dla specyficznych zastosowań. Niektóre były zoptymalizowane np. dla bankowości, inne do rozwiązywania problemów inżynieryjnych, a jeszcze inne pomagały naukowcom w złożonych obliczeniach. W tym czasie około 80 procent kosztów dotyczyło sprzętu i aby efektywnie wykorzystywać zasoby sprzętowe często wymagane było przenoszenie aplikacji na inną architekturę. Z związku z rosnącym zapotrzebowaniem na taką funkcjonalność Gene Amdahl, Fred Brook i Gerry Blaauw zaprojektowali i zaimplementowali architekturę IBM System/ Podstawą dla tej architektury była idea, że specyfikacja działania dowolnego komputera może być przedstawiona w formie trzech operacji: pobierz dane, dokonaj obliczeń, zapisz dane. Owocem tych prac było pojawienie się w 1964 komputera IBM S/360. IBM jako producent komputerów mainframe posiada około 90% udziału rynkowego w sprzedaży (dane z roku 2010). Sama nazwa mainframe odnosi się do urządzeń kompatybilnych z architekturą S/360. Wszystkie następujące po S/360 architektury są wstecznie kompatybilne, co oznacza, że aplikacje napisane dla wcześniejszych modeli mogą nadal bez przeszkód być używane na nowszych. IBM System Z jest obecnie produkowanym mainframem. Jest to seria komputerów architektury Z (z/architecture). Wcześniejsza nazwa tej serii to IBM eserver zseries. Poniżej przedstawiono wykaz architektur komputerów mainframe 2 : System/360, System/370, S/370-XA, ESA/370, ESA/390 (ARCHLVL 1), 1 Numer 360 w IBM System/360 oznaczał 360 stopniowe wykorzystanie tej architektury. System/360 jest zarówno nazwą mainframe a jak i architektury (podobnie jak System/370). S/360 jest dopuszczalnym i często stosowanym skrótem oznaczającym System/360 (podobnie jak i nazwa S/370). 2 Źródło System Z, odnośnik sprawdzony 2010 X. 5

6 z/architecture 1 (ARCHLVL 2), z/architecture 2 (ARCHLVL 3). 1.2 Charakterystyka (według: [11]) Architektura S/360 bazuje na modelu komputera von Neumanna, czyli: procesor jest odpowiedzialny za wykonywanie instrukcji, pamięć zawiera dane, urządzenia wejścia/wyjścia komunikują się z urządzeniami zewnętrznymi Procesor W architekturze S/360 procesor zapewnia integralność danych oraz separację pracy. Integralność danych oznacza, że instrukcja w razie błędnego wykonania będzie odpowiednio obsłużona i ewentualnie poprawiona. Separacja pracy natomiast, że oddzielone zostaną zasoby systemowe od zasobów użytkownika. Poprzedziło to takie późniejsze rozwiązania jak wirtualna pamięć oraz wirtualna przestrzeń adresowania. W specyfikacji S/360 określona jest kolejność, w jakiej mają być wykonywane instrukcje jako NSI (ang. Next Sequential Instruction). Wyjątkami są skok i przerwanie. Statystycznie co piąta instrukcja to skok, dlatego, pomimo prostego modelu, uwzględniono w projekcie procesora dodatkowe mechanizmy optymalizujące. Mainframe y zostały od początku zaprojektowane aby wspierać wielu użytkowników pracujących równocześnie. Wprowadzona została wielozadaniowość. W przypadku gdy jakiś proces czekał na operację wejścia/wyjścia, zostawały zapisywane zasoby procesora i wykonywana następna instrukcja. Technika ta pozwalała na późniejsze wznowienia zaniechanej operacji, tym samym umożliwiając stałą pracę procesora. Wieloprocesorowość została zaprezentowana wraz z architekturą S/370 w roku Wraz z pierwszymi modelami IBM System Z pojawiała się także wieloprocesorowość symetryczna 3, w skrócie SMP (ang. Symmetric Multiprocessing). Polega ona na rozkładzie zadania na kilka dostępnych procesorów. Najważniejszym aspektem jest tutaj współczynnik skalowalności określający jak dobrze ten mechanizm funkcjonuje. Zagadnienie ilustruje wykres 1. 3 SMP (ang. Symmetric Multiprocessing, przetwarzanie symetryczne) - architektura komputerowa, która pozwala na znaczne zwiększenie mocy obliczeniowej systemu komputerowego poprzez wykorzystanie 2 lub więcej procesorów do jednoczesnego wykonywania zadań. 6

7 Rysunek 1. Skalowalność mocy obliczeniowej minframe ów. Wykres trzech wartości: liczby procesów (górna oś odciętych), liczby procesorów (dolna oś odciętych), oraz czasu odpowiedzi systemu (oś rzędnych). Przedstawia wydajność skalowania na mainframie: w przypadku ośmiu procesorów i ośmiu procesów czas odpowiedzi jest porównywalnie identyczny z tym dla jednego procesora i jednego procesu. Wraz z dodawaniem zadań czas odpowiedzi wzrasta liniowo, wraz z dodawaniem kolejnych procesorów liniowo maleje. Symetryczność charakteryzuje tu architekturę dobrze skalowalną. Źródło: [11] Pamięć W trakcie rozwoju architektury mainframe adresowanie pamięci stopniowo zwiększało swoją wartość od jednego do czterech bajtów. Zaimplementowano technikę pamięci wirtualnej oraz stronicowania, zapewniono separację wielu procesów na poziomie przestrzeni adresowania. Jednym z ważniejszych punktów rozwoju mainframe ów było wprowadzenie pamięci cache 4. W odróżnieniu od innych architektur, tutaj system operacyjny nie musiał już implementować żadnej dodatkowej logiki związanej z zarządzaniem tą pamięcią. Takie zagadnienia jak koherencja (pomiędzy procesorami) była ukryta dla programisty i rozwiązywana sprzętowo, co pozwoliło uzyskać lepszą wydajność. 4 Cache (pamięć podręczna) to mechanizm, w którym ostatnio pobierane dane dostępne ze źródła o wysokiej latencji i niższej przepustowości są przechowywane w pamięci o lepszych parametrach. Na współczesnych procesorach są 2 lub 3 poziomy pamięci cache: L1 (zintegrowana z procesorem), a także L2 i L3 (umieszczone w jednym chipie razem z procesorem, lub na płycie głównej). 7

8 Tablica 1. Rozwój pamięci operacyjnej w mainframe ach. Źródło: [11] Architektura Sposób adresowania Przykład zastosowania S/ bitowe adresowanie Model 30 posiadał 64-KB pamięć. pozwala na wykorzystanie 16MB pamięci Mainframe 360/85 w roki 1969 był pierwszą maszyną posiadającą cache S/ bitowe adresowanie Model 158 oraz 168 zaprezentowały pozwala na wykorzystanie 16MB pamięci wieloporcesorowość oraz wirtualną pamięć S/ bitowe adresowanie pozwalające na wykorzystanie Komputery G5 oraz G6 wraz z pamięcią do 32GB 2GB pamięci z/architecture 64-bitowe adresowanie IBM eserver zseries 900 posiada 16EB (ExaByte) od 5GB do 64GB pamięci Dysk Mainframe y używają kanałów wejścia wyjścia (ang. I/O channels) jako rozwiązania alternatywnego dla szyny wejscia/wyjscia (ang. I/O bus). Każdy kanał jest logiczną jednostką, w skład której wchodzi oddzielny procesor. Zarządza transferem danych pomiędzy pamięcią i urządzeniami zewnętrznymi. 1.3 Wirtalizacja Pod koniec roku 1964 rozpoczęte zostały prace przez Cambridg Scientific Center nad systemem umożliwiającym wirtualizację całego mainframe a wraz z procesorem i dyskami, umożliwiając tym samym tworzenie wirtualnych maszyn (ang. Virtual Machine 5, VM). W 1972 pojawił się system SVS (Single Virtual Storage) dostarczający 16MB wirtualnego adresowania podzielonego na wszystkie zadania. Sześć miesięcy później ukazał się MVS (Miltiple Virtual Storage) pozwalający aby każdy program mógł używać 16MB przestrzeni adresowania. Także w tym roku został wydany VM/370 - system operacyjny dostarczany razem z modelami S/370, który dzisiaj wyewoluował do systemu z/vm 6. Następnie IBM wprowadził sprzętową wirtulizację w postaci partycjonowania logicznego (ang. Logical Partition 7, LPAR). Dzięki 5 Wirtualna Maszyna (ang. Virtual Machine) odnosi się przede wszystkich do programowego emulowania architektury. Tutaj autor miał na myśli sprzętową emulację, która jest podklasą typów wirtualizacji. 6 z/vm jest to system stworzony przez studentów z MIT, zaadaptowany i rozwijany przez IBM-a. Pozwala użytkownikowi na pracę w własnej maszynie wirtualnej poprzez współdzielenie fizycznych zasobów mainframe takich jak pamięć dyskowa, pamięć RAM, karty sieciowe oraz procesor. Zasoby te zarządzane są przez zarządcę CP (Control Program). 7 LPAR (ang. Logical PARtition) - podzbiór sprzętu związanego z procesorem i systemem operacyjnym. Zawiera takie wydzielone zasoby jak procesor, pamięć oraz urządzenia I/O. Działa niezależnie od innych LPAR ów które także mogą być wydzielone. 8

9 temu możliwy stał się podział sprzętu na kilkanaście odrębnych logicznych jednostek wraz z przydzielonymi określonymi zasobami procesora, dysku i pamięci. Sytuację taką uwidacznia schemat przedstawiony na rysunku 2. Rysunek 2. Rozkład obciążenia na poszczególne zasoby systemu. Programy mogą w różnym stopniu obciążać procesor, dysk, pamięć. Dzięki sprawnej organizacji zadań i wirtualizacji można w pełni wykorzystać zasoby systemu. Fakt ten staje wyraźnie istotny przy zastosowaniach biznesowych, gdzie jedna maszyna podzielona jest na setki VM, które w różnym stopniu wykorzystują poszczególne zasoby. Na powyższym rysunku wyszczególniono cztery rodzaje zasobów: procesor wejścia/wyjścia, procesor obliczeniowy, dysk oraz pamięć. Ukazany został rozkład obciążenia typu procesor, pamięć, dysk. Źródło: [10] Często spotykanym podejściem wirtualizacji maszyn nie posiadających sprzętowego wspomagania jest programowa emulacja przy pomocy odpowiednich aplikacji typu Virtual Private Server 8. Zalety wirtualizacji 9 : Większe wykorzystanie zasobów pozwala na dynamiczny podział zasobów, dzięki czemu uzyskuje się ich efektywniejsze wykorzystanie, zwłaszcza dla mało przeciążonych urządzeń, które posiadają więcej zasobów niż potrzebują. Mniejsze koszty zarządzania zwiększa efektywność personelu poprzez redukcję fizycznych zasobów, które muszą być obsługiwane. Upraszcza zarządzanie zadaniami poprzez ich automatyzacje, wszystko jest bardziej scentralizowane. Zwiększona elastyczność pozwala włączać zasoby i dynamicznie je konfigurować, co jest bardzo przydatne w rozwiązaniach biznesowych, gdzie potrzeby bardzo szybko się zmieniają. Zwiększone bezpieczeństwo pozwala na separację maszyn od siebie, co nie jest możliwe przy prostych mechanizmach współdzielenia. Dostarcza również kontrolę nad dostępem do danych i urządzeń. Każda wirtualna maszyna może być kompletnie odizolowana od 8 VPS (ang. Virtual Private Server) - jest to podział maszyny, jaką jest serwer, na kilka mniejszych, wirtualnych. VPS umożliwia pełny dostęp do konta root. Do zarządzania VPS-ami najczęściej wykorzystuje się oprogramowanie Xen, VMware, FreeVPS, Virtuozzo, OpenVZ. 9 Według System Z, sprawdzone X

10 głównego systemu i innych wirtualnych maszyn. Jeśli jedna maszyna zawiedzie lub zostanie zaatakowana nie wpływa to na pozostałe maszyny. Wirtualizacja chroni dane i zapewnia komunikację aplikacji tylko ze skonfigurowanymi połączeniami sieciowymi, ustalonymi przez operatora. Większa dostępność pozwala na fizyczne zmiany zasobów sprzętowych bez wiedzy użytkownika. Zwiększona skalowalność partycjonowanie i agregacja wirtualnych zasobów, polegającej na zmniejszaniu i zwiększaniu zasobów dla maszyny. Można skalować zasobami bez zmiany jakichkolwiek zasobów fizycznych. Interoperacyjność i inwestycja w bezpieczeństwo wirtualne zasoby mogą być kompatybilne z interfejsami i protokołami które są niedostępne dla ukrytych fizycznych zasobów. Obecnie komputery tego typu są komputerami najwyższej klasy i wysokiej ceny. Ich scentralizowana właściwość pozwala na uniknięcie dodatkowych kosztów związanych z energią oraz personelem, a także pozwala na sprawne wykorzystanie sprzętu w całości (zobacz Rysunek 2). Poniżej wypunktowano wykaz mainframów IBM serii Z: IBM zseries dla dużych firm, urzędów, 2000 r., IBM zseries 800 tańszy, mainframe klasy podstawowej, 2002 r., IBM zseries 990 następca rozbudowanych modeli z900, IBM zseries następca z800 oraz mniejszych modeli z900 (2004 r.), IBM System z9 Enterprise Class, 2005 r., IBM System z9 Business Class, 2006 r., IBM System z10 Enterprise Class, 2008 r., IBM System z10 Business Class, 2008 r. Specyfikę architektury mainframe mogą ukazywać benchmarki definiowane prze organizację Transaction Processing Performance Council 10 (TPC) dla systemów typu Online Transaction Processing 11 (OLTP). Przekładają się one na jakość usług działalności wykorzystujących dużą i dynamiczną bazę danych, często o znaczeniu narodowym, gdzie klientami są miliony lub miliardy ludzi na świecie (zobacz [8]). Dla przykładu można tu podać: rezerwację biletów lotniczych, przelewy bankowe, handel i wymiana towarowa, giełdy, raporty kredytowe czy serwisy rządowe. 10 Transaction Processing Performance Council (TPC) jest organizacją typu non-profit założoną w 1985 w celu zdefiniowania testów wydajnościowych w dziedzinie przetwarzania danych. Organizacja ta publikuje wyniki testów, które dzięki dobrze zdefiniowanej metodyce są uważane za obiektywne i weryfikowalne. 11 OLTP (ang. Online Transaction Processing) kategoria aplikacji klient-serwer dotyczących baz danych w ramach bieżącego przetwarzania transakcji obejmujących takie zastosowania jak systemy rezerwacji, obsługa punktów sprzedaży, systemy śledzące itp. W systemach tych klient współpracuje z serwerem transakcji, zamiast z serwerem bazy danych. 10

11 1.4 Mainframe IBM z800 W roku 2000 został zaprezentowany wysoce wydajny w porównaniu do poprzednich wersji, system IBM z900. Następnie pojawiła się tańsza wersja z800 oferująca bardzo dobry współczynnik ceny do jakości. Platforma ta została oznaczona numerem Ta seria posiada pięć 64-bitowych jednostek procesora (PUs - Processor Units) w tym jedna do obsługi I/O oraz maksymalnie 3 dedykowane dla Linuksa (Integrated Facility for Linux IFL). Są one zawarte w jednym bądź kliku klastrach procesora o nazwie Central Processing Complex 14 (CPC). Wyposażone są w szynę wejścia/wyjścia o prędkości 6GB/s. Tabela 2 przedstawia różnice w poszczególnych modelach serii 2066 komputera z800. Jednostka MSU jest angielskim skrótem od Milion Service Units, co informuje o milionach równoległych usługach na sekundę, nie wprost przekłada się na miliony instrukcji na sekundę (ang. Milion Instruction Per Second, MIPS). Tablica 2. Wykaz modeli mainframe a zseries 800 (model 2066) 15. Model MIPS MSU CPCs koszt ($) OE1 w/ifl IFL 3, OA , OB , OC , OX , OO , OA , OO , OO , OO , LF ,000 0LF ,000 0LF ,000 0LF , Linux jest rodziną uniksopodobnych systemów operacyjnych opartych na jądrze GNU/Linux. Linux jest jednym z przykładów wolnego i otwartego oprogramowania - jego kod źródłowy może być dowolnie wykorzystywany, modyfikowany i rozpowszechniany 13 IFL (ang. Integrated Facility for Linux) - jest to udostępniona przez firmę IBM, tańsza wersja procesora CPs (prcesora ogólnego przeznaczenia) na który można instalować system operacyjny Linuks. 14 CPC (ang. Central Processing Complex) to główna część mainframe a zajmująca się wykonywaniem operacji - składają się na nią procesory ogólnego zastosowania, procesory specjalistyczne oraz dodatkowy osprzęt m.in. odpowiedzialny za operacje wejścia/wyjścia. 11

12 W Katedrze Informatyki Stosowanej znajduje się mainframe z800 (dostarczony dzięki uprzejmości firmy CPU Service). Ze stanowiska SE (Podrozdział 1.5.1) można odczytać w zakładce z klastrem (CPs), jaka jest specyfikacja danego mainframe a, w tym jaki jest jego model (Wydruk 1). P0022FA Details : Instance Of Information CP Status : Operating CHPID Status : Exceptions Group: CPC IOCDS identifier : A0 IOCDS name linuxy d Activation profile : default Last used profile : not set vi activate Service Status : Disabled Maximum CPs:1 Maximum ICFPs: 0 Lockout disruptive tasks: Yes/No Dual AC power maintance : Fully Redundant Alternate SE Status : Operating Product Information Machine type : model A1 Machine Serial : Faa Macine sequence : faa Plant of manufacture: 83 Manufacturer: IBM CPC Serial : ffaa CPC location : a20b CPC identifier : 00 Wydruk 1. Informacje o klastrze procesorów komputera z800 w KIS. Na podstawie tabeli z dostępnymi modelami tej serii komputerów IBM-a (patrz Tabela 2) można dalej wnioskować o parametrach tej maszyny: moc obliczeniowa 80 MIPS-ów, jeden klaster procesorów, orientacyjny koszt ok. 7000zł. 12

13 Przy obliczaniu wydajności operacji na procesorze w BogoMIPS16 system Linux podaje następujące wartości: dla LPAR 1 oraz dla LPAR2 i LPAR3. Dodatkowym wyposażeniem jest macierz typu 3390 połączona światłowodem ESCON17. Rysunek 3. Widok na IBM z800 z dwoma zamkniętymi laptopami służącymi do administracji. Źródło: opracowanie własne Test macierzy dyskowej W pierwszej kolejności test został wykonany programem dbench. Umożliwiło to określenie jaka jest docelowa orientacyjna prędkość dysku. Jako parametr należało wpisać ilość procesów (przy bardzo dużej ilości procesów dochodziło do zawieszenia programu). 16 BogoMIPS to jednostka testu wydajności procesora, wykonywanego przez jądro systemu operacyjnego Linux podczas jego startu, używany do kalibracji wewnętrznej pętli opóźniającej (ang. busy-loop). Nazwa powstała ze złączenia ang. słowa bogus (nieprawdziwy) i skrótu MIPS. 17 ESCON (ang. Enterprise Systems Connection) - jest łączem z dyskiem lub urządzeniami peryferyjnymi, opartym na łączu światłowodowym, pół dupleksowe, szeregowy interfejs, oryginalne prędkość 10 MB/s, później zwiększona do 17Mbyte/s, maksymalna odległość: 43 kilometry. 13

14 kis081:/home/papi# dbench 999 dbench version Copyright Andrew Tridgell Running for 600 seconds with load /usr/share/dbench/client.txt and minimum warmup clients started MB/sec warmup 94 sec MB/sec warmup 95 sec MB/sec warmup 96 sec MB/sec warmup 97 sec MB/sec warmup 98 sec MB/sec warmup 99 sec MB/sec warmup 101 sec MB/sec warmup 103 sec MB/sec warmup 104 sec MB/sec warmup 105 sec MB/sec warmup 106 sec MB/sec warmup 107 sec MB/sec warmup 108 sec MB/sec warmup 109 sec MB/sec warmup 112 sec MB/sec warmup 113 sec MB/sec warmup 114 sec Program Iozone pozwolił na bardzo szczegółową analizę dysku oraz mechanizmu buforowania. Zasada testów polegała na badaniu szybkości operacji wejścia/wyjścia zależności od wielkości pliku i zapisywanego rekordu. W parametrach należało podać wartość pliku większą od wartości pamięci aby uwzględnić sytuację, kiedy dysk pracuje bez bufora pamięci../iozone -Rab file.wks Tak wykonana komenda dokonuje pomiaru z pominięciem testów dla względnie małych rekordów w porównaniu z całym plikiem (uwidaczniać się to może na wykresach w postaci wartości zerowych w prawym dolnym rogu). Dodać należy, że parametry te są po części związane z systemem operacyjnym, przez co wiele czynników systemowych (sterowniki, obsługa pamięci, procesora) może mieć wpływ na wyniki testów. Wykres wynikowy ukazuje szybkość operacji odczytu na podstawie istniejących plików o różnych rozmiarach. 14

15 Rysunek 4. Prędkość odczytu macierzy dyskowej badanego mainframe a wykonana programem Iozone. Pomiar ukazuje szybkość odczytu rekordu przy pomocy zadanego rekordu. Oś odciętych dolna to poszczególne potęgi liczby dwa będące całkowitym rozmiarem pliku, oś odciętych po prawej stronie reprezentuje rozmiar rekordu, a oś rzędnych prędkość zapisu w kilo bajtach na sekundę. Na podstawie tego pomiaru można stwierdzić, że prędkość macierzy dyskowej wynosi ok 16 MB/s, co świadczy o bardzo słabej, w porównaniu nawet do domowego PC, macierzy dyskowej. Z drugiej strony jednak odpowiednia dystrybucja danych dysku, przy wykorzystaniu pamięci RAM oraz mechanizmów buforowania, pozwala w większości uzyskać bardzo dobre wartości. Gładkość wykresu świadczy o jednakowej wartości niezależnie od rekordu i pliku co w przypadku tego typu testów jest ważne, gdyż obrazuje, że system jest przystosowany do szerokiej gamy zastosowań, a nie wspiera dobrze tylko określony zakres operacji (często systemy są dostosowywane do wąskiego przedziału operacji np. bazodanowych kosztem operacji innego typu, narażając się tym samym na możliwe spadki wydajności i mniejszą uniwersalność). 1.5 Administracja mainframem Support Element (według: [1]) Support Elements (SEs) są laptopami, znajdującymi się za przednią klapą komputera typu mainframe (Rysunek 5). Pierwszy z nich dla odróżnienia nazywany jest Primary SE, drugi pełni rolę urządzenia zastępczego. Na SE można w pełni administrować i konfigurować mainframem. Nazwa programu administracyjnego znajdującego się na każdym z laptopów to Primary Support Element Workplace. Za pośrednictwem tej graficznej aplikacji administruje się mainframem oraz konfiguruje jego procesory. 15

16 Zadaniem SE Workplace jest: zarządzanie odczytem urządzeń peryferyjnych (w tym IPL), konfiguracja I/O, zmiana ustawień i podział LPAR, aktualizowanie mikrokodu. SE Workplace składa się z trzech obszarów: View Area, Task Area oraz Work Area (Rysunek 5). Kolor zielony identyfikuje aktywne połączenie do mainframe, czerwony natomiast, że takowego nie ma lub, że występują jakieś błędy. Na górze jest View Area reprezentująca grupy obiektów, które składają się na system. Task Area znajduje się po prawej stronie i zawiera ikony reprezentujące operacje jakie można wykonywać na obiektach. Work Area w dolnej lewej części wyświetla obiekty lub grupy, postępujące zadania, listy zadań czy pomocnicze informacje. Jest ściśle związana z opcjami w górnym panelu - w zależności od zaznaczonego elementu w View Area zmienia się widok Work Area. Aby wykonać czynność na obiekcie przeciągamy obiekt z pola Work Area na wybraną ikonę z Task Area. Można również to samo wykonać dwukrotnie klikając w pierwszej kolejności na zadanie w Task Area, po czym pojawi się okno wyboru obiektu. 18 CPC Images - wyświetla aktualne skonfigurowane obrazy w klastrze procesora, w zależności od trybu: dla LPAR widoczne będą partycje a dla non-lpar (tryb oparty na systemie z/vm) będzie wyświetlony system. 18 Pełen opis funkcji można znaleźć w literaturze do rozdziału. Spis wszystkich elementów dla omawianej konsoli uwzględniono w załączniku do tej pracy. 16

17 Rysunek 5. Support Element Workplace Źródło: opracowanie własne Dokładnie jedna osoba może wykonywać czynności administracyjne SE. Zdalna administracja jest widoczna na ekranie SE Instalowanie systemu operacyjnego za pomocą SE Workplace Z obszaru Task List należy wybrać CPC Recovery. Zaktualizuje się okno po prawej stronie z wymagnymi funkcjami. Następnie przechodzimy do widoku dostępnych LPAR-ów poprzez kliknięcie dwa razy na ikonie o nazwie Groups i dalej ikonie Images. Kolejnym etapem jest aktywowanie zadania Load from CD-ROM or Server. Można to zrobić klikając na samym zadaniu dwa razy bądź przenosząc ikonę w wybranym LPAR-em do instalacji na ikonę tego zadania. W obu przypadkach ukaże się okno z polami do uzupełnienia dotyczącymi źródła instalacji. Gdy instalator sytemu znajdzie wymagane pliki rozpocznię się właściwa instalacjia systemu (Rysunek 6). Więcej informacji znajduję się w rozdziale z instalacją systemu Linuks (Podrozdział 1.6) 17

18 Rysunek 6. SE Workplace - Instalacja Linuksa z zasobów FTP. Źródło: opracowanie własne HMC - Hardware Management Console (według: [2]) HMC jest komputerem klasy PC wraz z odpowiednim oprogramowaniem, służącym do komunikacji z mainframem. Konsola wykorzystywana jest do podstawowych funkcji związanych z administracją. Komunikacja odbywa się za pośrednictwem sieci LAN oraz głównego stanowiska administracyjnego mainframe a jakim jest wewnętrzny laptop nazwany Primary SE (Rysunek 7). Rysunek 7. HMC - schemat połączeń 18

19 Kiedy wykonywane jest zadanie na HMC19, jest ono przesyłane do SE, stąd dalej inicjowane są zadane operacje konfiguracyjne. HMC umożliwia także bezpośrednie podłączenie się do SE i posiadania szerszego zakresu możliwości administracyjnych. Systemem operacyjnym na stanowisku HMC jest zazwyczaj OS2/Warp dla starszych wersji, bądź Linux dla nowszych. Sam system posiada różne programy a wśród nich HMC Workplace, czyli główny program konfiguracyjny (Rysunek 8). Wraz z kolejnymi wersjami HMC Workplace, zmieniają się graficzne interfejsy tej aplikacji oraz liczba opcji, czy sposoby zarządzania. Opisywana wersja to Istnieje możliwość zalogowania do SE za pośrednictwem wbudowanej opcji wykorzystującej wirtualny pulpit (ang. Virtual Network Computing20, VNC). Rysunek 8. Konsola HMC w systemie OS/2. Zielony kolor oznacza aktywne połączenie. Z panelu Views wybrana jest opcja Console Actions, reprezentowana przez ikony w obszarze roboczym (Console Actions Work Area). W obszarze po prawej stronie jest menu wybierane z listy zadań (ang. Task List) Źródło: opracowanie własne. Po uruchomieniu HMC Workplace ukazuje się okno logowania. Występuje kilka poziomów autoryzacji (Wydruk 2) 19 HMC - Hardware Managment Console jest systemem dostarczającym narzędzia administracyjne do planowania, rozbudowywania i zarządzania systemami komputerowymi mainframe ami IBM-a (definicja z podręcznika elektronicznego str. XIII, odnośnik sprawdzony 31 listopada 2010). 20 VNC (ang. Virtual Network Computing) system przekazywania obrazu z wirtualnego, bądź fizycznego środowiska graficznego. 19

20 Operator OPERATOR PASSWORD Advanced Operator ADVANCED PASSWORD System Programmer SYSPROG PASSWORD Access Administrator ACSADMIN PASSWORD Service Representative SERVICE SERVMODE Wydruk 2. Nazwy, kategorie oraz domyślne hasła użytkowników konsoli HMC. Źródło: [2] Zasada użytkowania interfejsu graficznego (ang. Graphical User Interface 21, GUI) jest taka sama jak dla SE (Podrozdział 1.5.1) Logowanie do SE Jako przykład pracy z HMC zostanie ukazana operacja logowania do SE. Pierwszą czynnością jaką należy wykonać jest poprawne zalogowanie się (z odpowiednim poziomem uprawnień) do HMC. Następnie należy kliknąć na ikonę Defined CPCs. Po tej czynności w obszarze roboczym wyświetlą się zdefiniowane klastry procesorów mainframe a. Nazwa takiego klastra może być przykładowo reprezentowana ciągiem P0022FA. Kolejnym krokiem jest wybranie z widoku Task List elementu CPC Recovery. Zaktualizuje to listę poleceń w obszarze Taks Area. Po przeciągnięciu ikony z klastrem na Single Object Operations wyświetli się monitu z treścią o kontynuowania polecenia (zobacz poniższy wydruk 3). Odpowiedź twierdząca nawiązuje połączenie z SE i uruchamia na nim Primary Support Element Workplace (Podrozdział 1.5.1). About to establish session with single CPC Console. Do you want to continue with this task? Object names : P0022FA Yes/No Wydruk 3. Tekst okna dialogowego. Źródło: opracowanie własne 1.6 System Linux na mainframie (według: [13, 11]) Historia W roku 1999 IBM i SUSE rozpoczęli pracę, efektem której był w pełni kompatybilny i funkcjonalny Suse Linux Enterprise Server dla linii S/390, wprowadzając tym samym pionierską dystrybucję systemu Linux na mainframe a. Pierwszym dużym i liczącym się użytkownikiem tego rozwiązania była Telia - skandynawska organizacja telekomunikacyjna. Na początku były problemy z udostępnianiem sterowników na licencji GPL ale później w pełni to rozwiązano udostępniając binarne poprawki w postaci kodu na tej samej licencji. 21 GUI (ang. Graphical UserInterface) - termin określający graficzny interfejs użytkownika w aplikacji. 22 Lista wszystkich elementów została umieszczony w dodatku. 20

21 Aby możliwe było uruchomienie Linuksa na architekturze S/390 potrzebne były poprawki do samego jądra systemu (ok. 2% dodatkowego lub zmienionego kodu). Dotyczyły one przede wszystkim architektury nowego procesora oraz urządzeń. Zostały także wprowadzone niewielkie modyfikację (ok. 0.5%) takich programów jak glibc, gdb, gcc i strace. Zaraz po wprowadzeniu na rynek Linuksa, IBM wprowadził tańszą wersję procesora GPPU 23 (ang. General Purpose Processor Unit) o nazwie IFL. Specjalnie dla administratorów Linuksa IBM udostępnił alternatywę systemu z/vm o nazwie Virtual Image Facility, która w założeniu miała ułatwić pracę administratorom systemów Unixowych i pochodnych. Zaprzestano dalszego rozwoju tego systemu gdyż z/vm został łatwo zaadoptowany przez tę społeczność. Aż do 2004 roku udziały SUSE były stuprocentowe, dopóki na rynek nie wszedł RedHat wraz ze swoją wersją Linux Enterprise. W tym roku też SUSE zostało przejęte przez Novela. W 2008 udziały RedHata wynosiły 20 procent Przebieg instalacji (według: [13, 9]) W celu rozpoczęcia procesu instalacyjnego trzeba posiadać zmodyfikowaną wersję jądra Linuksa dla architektury mainframe. Architektura jest identyfikowana jako s390 dla 31 bitowej wersji jądra oraz s390x dla 64-bitowej. Wersja 64-bitowa jest wspierana od wersji G7 (Generation 7) systemów mainframe. Jądro dystrybuowane jest w postaci obrazu dla wirtualnego czytnika bądź jako obrazu dla czytnika taśmowego. Wraz z jądrem potrzebny jest plik zawierający podstawowe komendy i strukturę FHS nazywany initrd. Jest to system plików rezydujący przy starcie systemu w RAM-ie, pozwalający na dostęp do powłoki i skonfigurowanie mini-systemu potrzebnego do przygotowania sieci, repozytoriów, konfiguracji i rozpoczęcia właściwego procesu instalacji. Instalację należy rozpocząć z SE jak to zostało pokazane w rozdziale Następnie po wstępnej konfiguracji interfejsu sieciowego i ustaleniu adresu IP (Rysunek 9) można podłączyć się za pośrednictwem protokołu telnet i kontynuwać instalację Linuksa w terminalu za pośrednictwem standardowego dystrybucyjnego instalatora. 23 GPPU (ang. General Purpose Processor Unit). 21

22 Rysunek 9. SE Workplace - Instalacja Linuksa. Źródło: opracowanie własne W trakcie instalacji partycja może być niewidoczna dlatego powinna być odpowiednio sformatowana aby została dalej rozpoznana [13, str. 72]. Na wydruku 4 pokazano przebieg tego procesu. 22

23 /dev # dasdfmt /dev/dasdb Please enter the blocksize of the formatting [4096]: Drive Geometry: Cylinders * 15 Heads = Tracks I am going to format the device /dev/dasdb in the following way: Device number of device : 0x6020 Labelling device : yes Disk label : VOL1 Disk identifier : 0X6020 Extent start (trk no) : 0 Extent end (trk no) : Compatible Disk Layout : yes Blocksize : >> ATTENTION! <<--- All data of that device will be lost. Type "yes" to continue, no will leave the disk untouched: yes Formatting the device. This may take a while (get yourself a coffee). Wydruk 4. Przebieg formatowania macierzy dyskowej mainframe a z800. Na końcu procesu instalacji dokonywany jest ponowny rozruch. Proces uruchomienia systemu następuje po przeniesieniu ikony z danym LPAR-em na akcje Load w Task List. 1.7 Hercules (według: [14, 15]) Hercules jest implementacją architektury lini ESA/390, System/370 oraz z/architecture. Przeznaczony jest do emulacji sprzętu takich mainframe ów jak: System/370, System/390 oraz zseries. Działa pod Linux, Windows i Mac OS X i został wydany na wolnej licencji QPL. Hercules jest emulatorem sprzętu i procesora, nie emuluje natomiast systemu, który musi zostać dostarczony przez użytkownika. Wolnodostępne systemy takie jak OS/360, DOS, DOS/VS, MVS, VM/CMS oraz TSS/370 mogą być instalowane, nowsze takie jak OS/390, z/os 24, VM/ESA 25 i z/vm też są wspierane ale mają legalne restrykcje. Linux/390 jest jest dobrze wspomagany i wiele pracy zostało włożone w sam emulator aby wywindować wydajność pracy tego systemu. Podstawowym wykorzystaniem Herculesa jest emulacja 64-bitowego środowiska dla celów deweloperskich - np. testy kompatybilności kodu lub zgodności programów z SMP (Symmetric 24 z/os to system dla serii Z stworzony i rozwijany z naciskiem na potrzeby jakości usług dla e-biznesu. 25 VM/ESA jest systemem operacyjnym, zaprojektowanym przez studentów MIT we współpracy z programistami i inżynierami z IBM-a, którego zadaniem jest uruchamianie maszyn wirtualnych, na których dopiero instaluje się systemy operacyjne; ideą projektu jest to, aby każdy użytkownik mógł pracować na własnej maszynie wirtualnej, mimo iż wszystko dzieje się w obrębie jednej maszyny fizycznej), odnośnik spr. 26 kwi

24 Multiprocessing). Hercules jest bardzo dobrym środowiskiem do nauki obsługi i działania mainframe ów. Generalnie w postaci konsolowej emuluje on HMC lub SE, na których wykonuję się wszystkie prace związane z zarządzaniem prawdziwym mainframe em. Niektóre komendy odpowiadają czynnością (np. zmiana płyty) inne poleceniom HMC (np. IPL 26 ). Praca na konsoli nie należy do najbardziej przyjaznych użytkownikowi. Aplikacja graficzna odzwierciedlająca interfejs HMC mogłaby tu dość znacząco zwiększyć potencjał dydaktyczny emulatora. Hercules znajduje zastosowaniu w przetwarzaniu programów napisanych stricte dla mainframe a na komputerach x86 wyposażonych np. w procesory Intel lub AMD. Istnieją podobne komercyjne programy. Sam IBM wspominał w Red Bookach 27 o emulatorze Hercules i sposobie korzystania z tej opcji w razie potrzeby kopii zapasowej całego systemu. Następnie wprowadził własnego klona w postaci emulatora zpdt. Wspomnieć należy w tym miejscu o sporach pomiędzy IBM a małą firmą TurboHercules, dotyczącego komercyjnego wykorzystania zmodyfikowanego emulatora [7]. W roku 2010 IBM oskarżył tę firmę o naruszenie 137 patentów, bezprawną próbę tworzenia rynku tanich usług oraz wykorzystania technologii firmy do nieuczciwego zarabiania. Z punktu marketingowego było to dość niefortunna decyzja, gdyż podważyła wcześniejszą dobrą opinię na temat wspierania przez IBM ruchu wolnego oprogramowania (open-source). 1.8 Instalacja MVS 3.8J na emulatorze Hercules MVS jest kolejnym członkiem rodziny systemów wsadowych (OS/360, OS/VS2). Wspierał zarówno przetwarzanie wsadowe (ang. batch) jak i transakcyjne. Nowym elementem w stosunku do poprzedników było wprowadzenie koncepcji wirtualnej przestrzeni adresowej. Został zastąpiony przez OS/ Licencja MVS3.8j jest systemem, którego prawa autorskie należały do IBM-a, ale od niedawna jest udostępniany za darmo i ma na terenie USA ma statut domeny publicznej (ang. public domain). Cytat ze strony hercules.org: The legal status outside the USA, where something like public domain or software without copyright doesn t exist, is ćopyrighted software provided at no charge. (...) But law had been changed over that time, so its not clear if the same legal status applies in your country right now. W polskim systemie prawa autorskiego termin domena publiczna nie występuje. Całość można natomiast zaliczyć jako freeware lub częściowo open-source, co pozwala na instalowanie i wykorzystywanie kodu i bibliotek dla własnych celów. 26 IPL (ang. Initial Program Load) w terminologii mainframe oznacza odczyt bajtów rozruchowych urządzenia np. dysku, taśmy itp. 27 Red Booki są darmowymi (w odróznieniu od Blue Book) książkach elektronicznych publikowanych przez IBM-a i dostępnych poprzez Internet 24

25 1.8.2 Instalacja (według: [6]) Instalacja systemu MVS na emulatorze Hercules składa się z serii wykonywanych skryptów JCL 28 wykonujących operacje na taśmach instalacyjnych. Potrzebne pliki zostały pobrane ze strony Lista wymaganych plików (do pobrania także ze strony cbtape.org): mvsstarter.tgz (6.23 MB) mvsdist.tgz (15.5 MB) installmvs.tgz (429 KB) Struktura katalogów W pierwszej kolejności należy przygotować katalog pod instalację MVS3.8j, określony tu zmienną mvsdir. Następnie dodać podkatalogi: tape na taśmy (urządzenia nr 1442), jcs na skrypty języka JCS oraz dasd, w którym będą znajdować się pliki na dyski. Dodatkowo ustawiono zmienną mvssrc zawierającą adres URL katalogu z rozpakowanymi plikami instalacyjnymi. export mvsdir=/opt/mvs export mvssrc= mkdir $mvsdir; mkdir $mvsdir/tape; mkdir $mvsdir/jcl; mkdir $mvsdir/dasd; Wirtualne dyski Puste dyski generuje się za pomocą polecenia dasdinit: cd $mvsdir/dasd && dasdinit -a -z smp smp001 && dasdinit -a -z mvsres mvsres && dasdinit -a -z work work02 && dasdinit -a -z spool spool1 && dasdinit -a -z page page00 Przełącznik -z włącza kompresję. spowolnić zapis/odczyt i intensywnie obciążać procesor. Zaoszczędzi to 2GB miejsca na dysku, jednak może 28 Job Control Language - język opisu zadań, jest zbiorem wyrażeń (poleceń), które są przekazywane do systemu aby wykonać program podążając według pewnych instrukcji wyjściowych i wejściowych. Takie wyrażenia przekazują systemowi, gdzie znajdują się odpowiednie wejścia i jak należy przetworzyć owo wejście (uruchomienie programu) i co z rezultatem działania programu. Job pozwala na wykonanie zadania (zadań) w tle pracy systemu. 25

26 3350 znajduje się wśród grupy numerów oznaczających urządzenia dyskowe typu CKD 29. Skompresowane taśmy AWS mają rozszerzenie.het zamiast.aws. Obie są kompatybilne z Herculesem. Inicjalizacja dysków polega na zapisaniu w pierwszych bajtach Volume Table of Contents - tabel zawierających informacje o danych: plikach i katalogach (odpowiednik Master Boot Record 30 ). taśmy startowej. Dokonuje się tego za pośrednictwem skryptu JCL, po wcześniejszym wczytaniu Wymagana jest w tym miejscu taśma ibcdasdi.het oraz skrypt języka JCL ibcdasdi.00c, mający za zadanie wykonanie odczytanej instrukcji z tejże taśmy. Dalej wykorzystany jest skrypt konfiguracyjny Herculesa ibcdasdi.cnf z odpowiednio ustawionymi urządzeniami np. czytnikiem taśmowym o numerze 3420, czy czytnikiem kart 1442 służącym do odczytu skryptu JCL. mkdir $mvsdir/tape cd $mvsdir/tape; wget -nc $mvsurl/tape/ibcdasdi.het cd $mvsdir && wget -nc $mvsurl/{ibcdasdi.cnf,ibcdasdi.00c} W pliku konfiguracyjnym przełącznik CNSLPORT ustawiony jest domyślnie na port to do niego będzie można podłączać się terminalem i wydawać polecenia. Tutaj należy wspomnieć, że połączenie najlepiej wykonać przy pomocy programu emulującego terminal IBM 3270, gdyż różni się on nieznacznie od popularnych terminali konsolowych wykorzystujących VT200. Uruchomienie emulatora: cd $mvsdir && hercules -f ibcdasdi.cnf W tym momencie można już za pośrednictwem telnetu łączyć się z portem 3270 localhosta (lub zdalnie, w zależności gdzie znajduje się serwer). telnet localhost 3270 Aby wszystko przebiegało zgodnie z polityką emulatora Hercules należy najpierw połączyć się telnetem, a potem odczytać bajty rozruchowe danego urządzenia. Prawdopodobnie związane jest to z kwestiami bezpieczeństwa lub po prostu tak to zostało zaprojektowane. Po połączeniu konsoli z emulatora Hercules uruchamiamy urządzenie (ipl) spod adresu Jest to czytnik taśm z poprzednio skonfigurowaną taśmą: ipl 0280 W terminalu wyświetli się zapytanie o wejściowe komendy, a dokładniej o ich źródło. Odpowiedzią w tym wypadku jest urządzenie typu 1442 o adresie 00c - skrypt z komendami (poprzedzone ewentualnym klawiszem enter), jak pokazano poniżej: 29 Jeden z dwóch rodzajów dysków wykorzystywany przez Herculesa. CKD z ang. Count Key Data, drugi to FBA z ang. Fixed Block Architecture. 30 MBR (ang. Master Boot Record) główny rekord startowy, czyli umowna struktura zapisana w pierwszym sektorze dysku twardego. Często nazywany też Master Boot Block (pol. główny blok startowy). Zawiera on program rozruchowy oraz główną tablicę partycji (w przypadku dysku twardego dyskietki zwykle nie posiadają tablicy partycji). 26

27 #enter input 1442,00c Efekt polecenia: Connected to device 0:0009 IBC105A DEFINE INPUT DEVICE. DASDI 7.80 HHCTE006A Enter input for console device 0009 input=1442,00c DASDI 7.80 SMP001 JOB INITIALIZE SMP VOLUME MSG TODEV=1052,TOADDR=009 DADEF TODEV=3350,TOADDR=148,IPL=NO,VOLID=SMP001,BYPASS=YES VLD NEWVOLID=SMP001,OWNERID=HERCULES VTOCD STRTADR=1,EXTENT=15 END IBC163A END OF JOB. DASDI 7.80 WORK02 JOB INITIALIZE WORK VOLUME MSG TODEV=1052,TOADDR=009 DADEF TODEV=3350,TOADDR=149,IPL=NO,VOLID=WORK02,BYPASS=YES VLD NEWVOLID=WORK02,OWNERID=HERCULES VTOCD STRTADR=1,EXTENT=15 END IBC163A END OF JOB. DASDI 7.80 MVSRES JOB INITIALIZE MVSRES 3350 VOLUME MSG TODEV=1052,TOADDR=009 DADEF TODEV=3350,TOADDR=14A,IPL=NO,VOLID=MVSRES,BYPASS=YES VLD NEWVOLID=MVSRES,OWNERID=HERCULES VTOCD STRTADR=1,EXTENT=15 END IBC163A END OF JOB. DASDI 7.80 PAGE00 JOB INITIALIZE PAGE VOLUME MSG TODEV=1052,TOADDR=009 DADEF TODEV=3350,TOADDR=14B,IPL=NO,VOLID=PAGE00,BYPASS=YES VLD NEWVOLID=PAGE00,OWNERID=HERCULES VTOCD STRTADR=1,EXTENT=15 27

28 IBC163A END END OF JOB. DASDI 7.80 SPOOL1 JOB INITIALIZE SPOOL VOLUME IBC163A MSG TODEV=1052,TOADDR=009 DADEF TODEV=3350,TOADDR=14C,IPL=NO,VOLID=SPOOL1,BYPASS=YES VLD NEWVOLID=SPOOL1,OWNERID=HERCULES VTOCD STRTADR=1,EXTENT=15 END END OF JOB. Oryginalnie instalator systemu MVS jest udostępniany na taśmach. W celu skonwertowania go do trzech plików typu DADS wykonuje się kilka operacji przy pomocy skryptów JCL (tutaj nie zostało to omówione). Należy skorzystać w tym miejscu z gotowych plików DASD 31, pobierając i kopiując je do odpowiednich miejsc jak poniżej: cd $mvsdir && wget -nc $mvsurl/smp.cnf cd $mvsdir/dasd && wget -nc $mvsurl/dasd/{start1.150,spool0.151, work01.152} Pierwszy plik to system startowy - służący do rozpoczęcia i uruchomienia procesu instalacyjnego, drugi spool jest podręcznym plikiem wymiany (swap), a work miejscem na pliki użytkowników i programy. Po uruchomieniu Herculesa wymagane jest podanie adresu urządzenia, z którego emulator będzie czytać instrukcje rozruchowe. Wykonuje się to za pomocą polecenia IPL (ang. Initial Program Load). Na marginesie, ma to swój odpowiednik w komputerze mainframe w postaci komendy Load w SE (Podrozdział 1.5.1). cd $mvsdir && hercules -f smp.cnf Czytanie bajtów rozruchowych rozpoczyna się od 0 bajta do 23 bajta, czyli łącznie 24B. Dane z pierwszych ośmiu bajtów ustawiają się w rejestrze PSW 32 Herculesa. Dalej spod tego adresu wykonywany jest dalszy proces startowy. Po zakończeniu ostatnie cztery bajty PSW powinny wskazywać na FFFF. W tym momencie należy połączyć się protokołem telnet na port W terminalu, po połączeniu, należy uruchomić program startowy spod urządzenia dyskowego o adresie Urządzenie to jest instalacyjnym obrazem systemu MVS (plik o nazwie start01.150). telnet localhost 3270 ipl DASD (ang. Direct Access Storage Device) - jest to określenie i nazwa dysku, historycznie odwołująca się do faktu szybkiego w odróżnieniu od sekwencyjnego taśmowego, dostępu, dzisiaj określającą po prostu macierze dyskowe mainframe a. 32 Program Status Word - rejestr sprzętowy zawierający stan wykonywania obecnego programu oraz adres instrukcji która obecnie jest wykonywana. 28

29 W konsoli ukaże się informacja dotycząca wpisania komendy po wyrazie input. W przypadku gdy pierwszy raz uruchomiono obraz instalacyjny należy przebudować Link Pack Area - mapowane na dysk miejsce w pamięci zawierające często wykonywane programy systemowe. r 0,clpa Efekt polecenia na terminalu przedstawia poniższy log: Trying Connected to localhost. Escape character is ^]. Hercules version 3.06 built on May :28:14 running on otos.pl (Linux grsec-xxxx.#3 SMP Wed May 28 09:09:25 CEST 2008 i686 Connected to device 0:001F IEA101A SPECIFY SYSTEM PARAMETERS FOR RELEASE VS2 HHCTE006A Enter input for console device 001F r 0,clpa IEF165I // START JES2 IEE351I SMF SYS1.MAN RECORDING NOT BEING USED *00 $HASP426 SPECIFY OPTIONS - HASP-II, VERSION JES2 4.0 Pojawia się informacja od podsystemu JES (ang. Job Entry System) odpowiedzialnego za kolejkowanie zadań i przyjmowanie komend: IEF165I // START JES2 IEE351I SMF SYS1.MAN RECORDING NOT BEING USED *00 $HASP426 SPECIFY OPTIONS - HASP-II, VERSION JES2 4.0 Symbol * oznacza tu znak oczekiwania na odpowiedź, a numer zapytania, na które trzeba odpowiedzieć systemowi, identyfikowany jest następną w kolejności dwucyfrową liczbą. Decyzję trzeba tu dodatkowo potwierdzić. Obie komendy ukazane są poniżej: r 0,format,noreq r 1,y Efekt poleceń: r 0,format,noreq IEE600I REPLY TO 00 IS;SUPPRESSED *01 $HASP436 REPLY Y OR N TO CONFIRM CHECKPOINT RECORD CHANGE r 1,y IEE600I REPLY TO 01 IS;SUPPRESSED $HASP423 SPOOL0 IS BEING FORMATTED IEE041I THE SYSTEM LOG IS NOW ACTIVE 29

30 $HASP160 PRINTER1 INACTIVE - CLASS=AJ $HASP160 PUNCH1 INACTIVE - CLASS=BK $HASP100 INIT ON STCINRDR $HASP373 INIT STARTED $HASP100 INIT ON STCINRDR $HASP373 INIT STARTED $HASP100 INIT ON STCINRDR $HASP373 INIT STARTED $HASP309 INIT 1 INACTIVE ******** C=A $HASP309 INIT 2 INACTIVE ******** C=BA $HASP309 INIT 3 INACTIVE ******** C=CBA $HASP099 ALL AVAILABLE FUNCTIONS COMPLETE Wolumen spool1 jest przeznaczony jako miejsce dla bibliotek dystrybucyjnych. Istnieje potrzeba zarezerwowania tego miejsca jako prywatnego, gdyż domyślnie MVS klasyfikuje wszystkie dodatkowo zamontowane dyski jako publiczne. m 148,vol=(sl,smp001),use=private Log systemowy polecenia: m 148,vol=(sl,smp001),use=private $HASP100 MOUNT ON STCINRDR $HASP099 ALL AVAILABLE FUNCTIONS COMPLETE $HASP373 MOUNT STARTED $HASP395 MOUNT ENDED $HASP150 MOUNT ON PRINTER1 $HASP160 PRINTER1 INACTIVE - CLASS=AJ $HASP250 MOUNT IS PURGED $HASP099 ALL AVAILABLE FUNCTIONS COMPLETE Kolejnym krokiem jest wykonanie skryptu, który zainstaluje biblioteki SMP znajdujące się na dystrybucyjnych taśmach smp4.het oraz zdlib1.het. W pierwszej kolejności trzeba ustawić taśmę zdlib1.het w czytniku (type 3420) o adresie ustawionym w pliku konfiguracyjnym np Dalszą czynnością jest dodanie wymaganej taśmy do katalogu tape oraz skryptu do katalogu jcs: cd $mvsdir/tape && wget $mvsurl/tape/{smp4.het,zdlib1.het} cd $mvsdir/jcl && wget $mvsurl/jcl/smp4p44.jcl Poniżej krok emulacji włożenia karty do czytnika i jej aktywacji za pośrednictwem skryptu JCL: 30

31 devinit 170 tape/zdlib1.het devinit 012 jcl/smp4p44.jcl eof Przebieg tego procesu jak poniżej: HHCPN098I Device 0:0012 initialized $HASP100 SMP4P44 ON READER1 SMP 4.44 from MVS38J $HASP104 SMP4P44 ************************************************************ $HASP104 SMP4P44 * An IPL is required after this job has completed!!! * $HASP104 SMP4P44 ************************************************************ $HASP373 SMP4P44 STARTED - INIT 1 - CLASS A - SYS H158 IEF244I SMP4P44 S1 - UNABLE TO ALLOCATE 1 UNIT(S) AT LEAST 1 OFFLINE UNIT(S) NEEDED. IEF489I SMP4P44-1 UNIT(S) NEEDED FOR I1 IEF247I SMP4P44-182,183,184,170,171 OFFLINE IEF247I SMP4P44-282,283,284,382,383,384,482,483,484,582 NOT ACCESSIBLE IEF247I SMP4P44-583,584,682,683,684,270,271,370,371,470 NOT ACCESSIBLE IEF247I SMP4P44-471,570,571,670,671 NOT ACCESSIBLE Na karcie zdlib1.het znajduje się polecenie, które po odczytaniu wymaga podania w terminalu danych konfiguracyjnych (tu numeru urządzenia). Odpowiedź o wartości 170 identyfikuje wirtualny czytnik taśmowym, w którym znajduję się ta karta. r 2,170 Wyświetli się kilka informacji oraz zapytanie informujące aby włożyć dyskietkę T74172 do stacji 170. *02 IEF238D SMP4P44 - REPLY DEVICE NAME OR CANCEL. r 2,170 IEE600I REPLY TO 02 IS;170 IEC502E K 170,MVS38J,SL,SMP4P44,S2 *IEC501A M 170,T74172,SL,6250 BPI, IEC501A SMP4P44,S2 Poniżej symulacja czynności włożenia woluminu: devinit 170 tape/smp4.het Przebieg poprawnego wykonania: EF234E K 170,T74172,PVT,SMP4P44,S2 IEF471E FOLLOWING RETAINED VOLUMES NO LONGER NEEDED BY SMP4P44 31

32 MVS38J. $HASP395 SMP4P44 ENDED $HASP309 INIT 1 INACTIVE ******** C=A $HASP150 SMP4P44 ON PRINTER1 $HASP160 PRINTER1 INACTIVE - CLASS=AJ $HASP250 SMP4P44 IS PURGED $HASP099 ALL AVAILABLE FUNCTIONS COMPLETE W tym punkcie wymagany jest reset poprzedzony poleceniami zwalniającymi pewne wymagane zasoby: $p jes2 z eod quiesce Pierwsze powyższe polecenie wyłącza podsystem JES, drugie zamyka pliki, a trzecia opróżnia bufory 33. $p jes2 $HASP395 INIT ENDED $HASP395 INIT ENDED $HASP395 INIT ENDED IEE043I A SYSTEM LOG DATA SET HAS BEEN QUEUED TO SYSOUT CLASS A IEE037I LOG NOT ACTIVE CONSOLE IEE142I 01F NOW RECEIVING HARDCOPY IEE043I A SYSTEM LOG DATA SET HAS BEEN QUEUED TO SYSOUT CLASS A IEE037I LOG NOT ACTIVE IEF196I IEF142I JES2 JES2 - STEP WAS EXECUTED - COND CODE IEF196I IEF285I SYS1.PROCLIB K IEF196I IEF285I VOL SER NOS= START IEF196I IEF285I SYS1.HASPCKPT K IEF196I IEF285I VOL SER NOS= SPOOL IEF196I IEF285I SYS1.HASPACE K IEF196I IEF285I VOL SER NOS= SPOOL0. z eod IEE334I HALT EOD SUCCESSFUL quiesce 33 Kompletny log instalacyjny można znaleźć w dodatku 32

33 Rozdział 2 Mainframe jako serwer szachowy ICS jest skrótem od Internet Chess Server (Internetowego Serwera Szachów). Jest to klasa serwerów obsługujących za pośrednictwem udokumentowanego ale nie ustandaryzowanego protokołu ICS grę w szachy wielu użytkowników dokonywaną za pośrednictwem Internetu. Serwery tego typu zaczęły pojawiać się od początku lat osiemdziesiątych. Zrzeszały wielu użytkowników, którzy bezpłatnie mogli się zarejestrować, utworzyć konto, grać, czy obserwować statystyki. W tych czasach pojęcie wolnego oprogramowania (open source 34, free software) jeszcze nie miało jednoznacznej kwestii prawnej. Projekt tworzony przez ogół dla ogółu, z braku regulacji został w końcu przejęty, skomercjalizowany i konsekwentnie płatny (ICC). Chris Petroff wraz z grupą ludzi temu przeciwną zaprogramował (po części na wcześniejszym kodzie) w pełni darmowego ICS-a. Już od 1995 r. każdy mógł grać w szachy bez dodatkowych obligacji. Projekt ten został wydany pod nazwą Free Internet Chess Server (FICS) a jego obecna licencja to GPL. Następnie był rozwijany i utrzymywany przez wolontariuszy jako oprogramowaniem o otwartym kodzie 35. Projekt fics z racji natury wolnego oprogramowania był następnie rozwijany przez wielu niezrzeszonych ze sobą programistów. Powstawało też wiele rozwidleń podstawowego kodu źródłowego. Z braku formalnego w tych czasach, określenia protokołu jakim posługiwał się klient w komunikacji z serwerem, wyklarował się ostatecznie ogólnie uznawany protokół ICS. Był to tekstowy wariant protokołu telnet, służący do komunikacji z ICS-ami (w większości z reguły niezależnie od ich rodzaju). Umożliwiło to tym samym wykorzystanie wielu istniejących odmian aplikacji oraz ustandaryzowało specyfikację projektów. Pomogło w konsolidacji i rozwijaniu dalej kodu serwera. Istniejąca wcześniejsza fragmentacja kodu źle wpłynęła na jego spójności oraz ostateczną możliwość dalszego scalania różnorakich rozwiązań. Doprowadziło to nawet do wieloletniej stagnacji w dalszej historii FICS. Z drugiej strony serwer był już w pełni rozwinięty i oferował o wiele więcej niż zwyczajną grę w szachy przez Internet. Na początku tego stulecia pojawiły się dwie próby dalszego rozwinięcia kodu źródłowego poprzednich wersji: jedna przez Andrew Tridgella oraz druga przez studentów Uniwersytetu w Paraná (projekt chessd). Te dwie wersje, które się wyłoniły, są dzisiaj podstawą serwera ICS. Poniżej wypunktowano wersje serwerów FICS oraz ich orientacyjne lata powstania: Wersja oryginalna FICS 1.0 FICS Otwarte oprogramowanie (ang. open source movement, czyli otwarte źródła) - odłam ruchu wolnego oprogramowania (ang. free software), który proponuje nazwę open source software jako alternatywną dla free software, głównie z przyczyn praktycznych, a nie filozoficznych. 35 Słówko free podkreślało tu, że projekt został zainicjowany jako free software - w skrócie, ruch propagujący rozwój aplikacji przez chętne osoby i uznający taką postać rzeczy za lepszą dla ogółu (programistów, użytkowników) od komercyjnego rozwijania aplikacji. 33

34 FICS FICS 1.2 FICS FICS Wersja poprawiona przez A. Tridgella FICS 2.0 (2002 r.) FICS FICS FICS FICS FICS FICS FICS (2004 r.) Wersja portugalska (oparte na serwerze FICS) Chessd 0.1 John 6 Chessd 0.2 Chrysalis (2006 r.) Chessd 0.3 Chrysalis Chessd Chrysalis (2007 r.) 2.1 Przegląd dostępnych serwerów szachowych Pierwsza linia serwera FICS Oryginalna linia serwera FICS jest dostępna w wersjach od 1.0 do 1.7. Na podstawie tej wersji wyklarował się nieoficjalny protokół ICS, następnie wykorzystywany przede wszystkim jako standard w komunikacji różnorakich klientów. Oryginalna strona projektu jak i sam ICS znajdują się pod adresem freechess.org. Aktualnie (na rok 2010) zainstalowana tam wersja serwera to Na FTP pod tą domeną (ftp.freechess.org) znaleźć można dostępne wersję FICS jak i liczne aplikacje szachowe (jak choćby robofics). Instalacja wersji Aby przystąpić do kompilacji należy dokonać poprawek : usunąć stare linijki kodu dotyczące np. extern fprintf(), 34

35 z pliku Makefile usunąć opcję -lcompact. Przed kompilacją można skonfigurować plik config.h. Dwa najważniejsze parametry w tym pliku to nazwa klienta poczty (np. sendmail) oraz nazwa domyślnego katalogu instalacyjnego. Poniżej znajduje się wydruk serwera po jego uruchomieniu. [papi@turnip /home/fics/fics.dist/fics]$./fics FICS: Initialized on port 5000 at Wed Aug 4, 21:58 CEST. FICS: commands_init() FICS: rating_init() FICS: Can t read ratings data! FICS: wild_init() FICS: book init() 1004 entries in ECO book 1086 entries in NIC book 4038 entries in LONG book FICS: player_array_init() Wydruk 5. Uruchomienie serwera fics po udanej instalacji. W trakcie inicjalizacji serwera ustawiany jest standardowy port 5000, skanowane są pliki tekstowe z komendami, dalej wczytywane dane partii otwierających oraz kolejno aktywowana baza danych graczy. Następnie serwer przechodzi w tryb nasłuchu na otwartym porcie Wersja A. Tridgella serwera FICS Jest to wersja poprawiona i wywodzi się z poprzedniej linii. W całości rozwijana przez Andrew Tridgella. Strona projektu znajduję się na Wersja ta wg autora konsoliduje poprzednie wersje oraz poprawia wcześniejsze błędy. Nie różni się znacznie w funkcjonalności od poprzednich wersji, jednak elementy bazy danych nie są już kompatybilne, gdyż zostały opracowane na podstawie innej struktury. Projekt zaowocował czterema wersjami 2.0, 2.1, 2.2 oraz 2.3. Ta linia serwerów obok serwera chessd jest najczęściej rekomendowana jako typowy FICS. 36 Instalacja Pliki można pobrać ze strony w postaci bądź z CVS-a (komenda jak poniżej). cvs -z5 -d :pserver:cvs@pserver.samba.org:/cvsroot co lasker cd lasker cvs -z5 update -dp 36 Taką rekomendację podał na swojej stronie Tim Mann ( Wg autora lista owych FICS zamyka się na trzech liniach oraz kliku ich modyfikacjach. 35

36 Zastosowano tu dodatkową bazę danych TDB 37 (zmienne konfiguracyjne) oraz dodano skrypt do generowania struktur danych w C. Poniżej standardowa sekwencja instalacyjna podana wraz z instrukcjami instalacyjnymi (plik INSTALL): cd src./configure --prefix=/usr/local/ make make install Poniżej wykaz hierarchii oraz struktury katalogów i plików, ukazanej na podstawie logu instalacyjnego. 37 TDB (ang. Trivial Database) - baza danych, której z jednym z aspektów jest jednoczesna obsługa wielu użytkowników operujących na możliwych tych samych rekordach, wykorzystująca do tego mechanizm wewnętrznego blokowania aby oddzielić nachodzące się zapisy, charakteryzująca się niewielkim rozmiarami kodu. 36

37 make install install -d -m0755 /home/chessd install -d -m0755 /home/chessd/bin install -d -m0755 /home/chessd/lib install -m0755 chessd /home/chessd/bin install -m0755 chessd.so /home/chessd/lib install -m0755 makerank /home/chessd/bin install -m0755 chessd_addplayer /home/chessd/bin install -d -m0755 /home/chessd/players install -d -m0755 /home/chessd/spool install -d -m0755 /home/chessd/data/admin install -d -m0755 /home/chessd/data/book install -d -m0755 /home/chessd/data/help install -d -m0755 /home/chessd/data/usage install -d -m0755 /home/chessd/data/messages install -d -m0755 /home/chessd/data/stats install -d -m0755 /home/chessd/data/boards/wild install -d -m0755 /home/chessd/games/history install -d -m0755 /home/chessd/games/journal install -d -m0755 /home/chessd/games/adjourned install -d -m0755 /home/chessd/data/stats/player_data cp -r./../data/admin/[a-z]* /home/chessd/data/admin cp -r./../data/book/[a-z]* /home/chessd/data/book cp -r./../data/help/[a-z]* /home/chessd/data/help cp -r./../data/usage/[a-z]* /home/chessd/data/usage cp -r./../data/messages/[a-z]* /home/chessd/data/messages perl -e mkdir("/home/chessd/players/$_",0755) for ("a".."z") perl -e mkdir("/home/chessd/games/history/$_",0755) for ("0".."99") perl -e mkdir("/home/chessd/games/journal/$_",0755) for ("a".."z") perl -e mkdir("/home/chessd/data/stats/player_data/$_",0755) for ("a".."z") perl -e mkdir("/home/chessd/games/adjourned/$_",0755) for ("a".."z") Nawet ostatnia wersja projektu (2.2.3) nie jest już taka aktualna i w związku z tym pojawiają się błędy w czasie kompilacji. Wynikają np. z niewspomaganego zdefiniowania danych w plikach nagłówkowych (extern zamiast static). Niekompatybilny z obecną wersja parsera Perl może okazać się plik parsers/genstruct.pl odpowiedzialny za generacje struktur, co tym samym może uniemożliwić dalszą kompilację. Opracowanym rozwiązaniem jest tu zastosowanie wygenerowanych plików wyjściowych z wcześniejszych wersji. 37

38 Przy samej instalacji może wystąpić błąd spowodowany brakującą opcją kaskadowego kopiowania. Należy w takiej sytuacji w odpowiednim miejscu w Makefile zastąpić cp -u frazą cp -u -r. W katalogu z zainstalowanym serwerem znajdują się następujące podkatalogi: bin - przechowuję wykonywalny plik chessd data - zawiera pliki tekstowe i opisy komend games - miejsce na historię gier players - katalog z baza tekstowa statystyk graczy, każdy w oddzielnym podkatalogu spool - miejsce na pocztę, związaną np. z instalacją Uruchomienie serwera Aby uruchomić należy z głównego katalogu wywołać chessd z odpowiednimi parametrami. Domyślnie uruchamia się wykorzystując port root@server:/home/chessd$ bin/chessd -f -p 5000 CHESSD: Initialized on port 5000 Wed Apr 14, 21:32 CEST 2010 CHESSD: Loaded 166 commands (admin=46 normal=120) Wed Apr 14, 21:32 CEST 2010 CHESSD: Can t read ratings data! Wed Apr 14, 21:32 CEST 2010 CHESSD: Loaded books Wersja Chessd serwera FICS Historia Na podstawie zainicjowanego przez brazylijski urząd programu Szachy w szkole, grupa studentów z Publicznego Uniwersytetu w Paraná rozpoczęła pracę nad rozwojem serwera szachowego chessd. W projekcie uwzględnione zostały poprzednie rozwiązania oraz kody źródłowe tego typu wolnodostępnych serwerów, w tym oryginalnej linii FICS. Pierwszym efektem prac był serwer o nazwie kodowej John 6. Jak zapewniano, miał się cechować większą odpornością na błędy. Jednak z powodów praktycznych program nadal nie oferował przyjaznej funkcjonalności i był mało intuicyjny dla docelowego użytkownika (od ucznia szkoły podstawowej wzwyż). Nie spełniał tym samym postawionych wymagań projektowych, co w kolejności wymusiło kolejne zmiany. Pojawiła się idea dodania interfejsu WWW oraz nowoczesnej relacyjne bazy danych. Efektem prac była kolejna wersja o nazwie kodowej Chrysalis, która została wdrożona i służył kilka lat, jako efekt wcześniej zapoczątkowanej inicjatywy rządowej Historia na podstawie pliku README dostarczonego wraz z projektem chessd 38

39 Grupa go rozwijająca po pewnym czasie zaprzestała dalszej pracy z powodu braku środków finansowych. Opis Jak sami autorzy określili, ostateczna wersja chessd jest adaptacją starych projektów dla nowoczesnego środowiska programistycznego. Z uwagi na wykorzystanie relacyjnej bazy danych, prezentuje nowsze podejście w stosunku do poprzednich rozwiązań. Pierwsza stabilna wersją ma numer 0.2, ostania Od wersji 0.3 jest włączone wsparcie dla bazy MySQL 39. Z założenia serwer ma ograniczoną liczbę komend dostępnych z protokołu telnet. Mimo tego serwer nadal jest w większości kompatybilny z protokołem ICS - można z niego tak samo korzystać jak w przypadku innych popularnych serwerów. Wymagana jest wcześniejsza rejestracja z poziomu strony internetowej. Po stronie klienta interfejs webowy dodatkowo umożliwia oglądanie statystyk, komunikację, przeglądanie historii rozgrywek itp. Zaimplementowano także rozwiązania umożliwiające grę w szachy oraz inne dodatkowe funkcje, oferowane wcześniej przez popularne interfejsy użytkownika typu Winboard. Strona techniczna Zmiany wprowadzone w chessd w stosunku do oryginalnej wersji serwer FICS były dość liczne. W większości polegały na podmianie zapytań do bazy danych (w kodzie C) oraz usunięciu niektórych części, które miały się znaleźć w kodzie PHP 40 strony WWW. Dzięki oddzieleniu serwera telnet odbierającego i wysyłającego zapytania, od warstwy prezentującej wyniki i statystyki poszczególnych graczy, całość stała się z punktu programistycznego bardziej przejrzysta. Funkcjonalność związana z administracją i zarządzaniem została zrealizowana jako funkcje PHP oraz zapytania SQL strony internetowej. Sprawiło to, że sam kod serwera stał się bardziej stabilny, spójny i łatwiejszy w dalszym utrzymaniu. wcześniej sposoby zawieszania programu zostały wyeliminowane. Wiele poprzednich błędów, czy znane Wykorzystanie relacyjnej bazy w przeciwieństwie do tekstowej pozwoliło na większą liczbę równoczesnych transakcji, zwiększyło szybkość pobierania i zapisywania rekordów. Umożliwiło także łatwą zmianę struktury danych oraz dodanie nowej funkcjonalności. Dzięki temu możliwa stała się łatwiejsza modyfikacja serwera. Ważna rzeczą jest tu prowadzenie statystyk oraz dokonywania różnorakich porównań graczy, co dzięki bazie stało się bardziej wygodne niż przeszukiwanie plików, czy parsowanie odpowiedzi serwera. We wszystkich wersjach serwerów FICS rozszerzanie programu o nowe komendy dla użytkownika związane jest z ingerowaniem w kod źródłowy języka C. Nową funkcjonalność w projekcie chessd można dodać wstawiając i obsługując odpowiednie formularze na stronie (co jest 39 MySQL - wolnodostępny system zarządzania relacyjnymi bazami danych 40 PHP obiektowy, skryptowy język programowania zaprojektowany do generowania stron internetowych w czasie rzeczywistym. 39

40 prostsze i bardziej funkcjonalne). Wprowadzenie i przeniesienia części kodu w kierunku strony internetowej ukazało nowy kierunek w rozwoju platformy szachowej FICS. Obok poprawionej wersji serwera FICS przez A. Tridgella (Podrozdział 2.1.2) jest to najczęściej rekomendowana opcja. Instalacja serwera ze źródeł Poniżej opisana jest instalacja serwera chessd na systemie Linux. Skorzystano tutaj z wersji Źródła można pobrać ze strony chessd.sourceforge.net. Niezbędne do przeprowadzenia instalacji pakiety: PostgreSQL lub MySQL libdbi >= libdbi-drivers (MySQL lub PostgreSQL) libxml2-dev libltdl3-dev Najważniejszymi zależnościami jest libdbi (czyli API języka C) oraz biblioteki pozwalające na łączenie się z bazą danych. Należy do tego pobrać i zainstalować sterowniki odpowiedniej bazy danych: libdibi-drivers-mysql lub libdbi-drivers-postgres. Poniżej znajduję się sposób na sprawdzenie, bądź zaktualizowanie, bądź zainstalowanie wymaganych pakietów dla wybranych dystrybucji Linux: Dla ArchLinux: #archlinux yaourt -S libdbi libdbi-drivers-postgresql libdbi-drivers-mysql libxml2 Dla Debiana: sudo apt-get install libdbi0 libdbi0-dev libdb-mysql libdb-postgres libxml2-dev libxml2 Przed przystąpieniem do procesu zalecane jest sprawdzenie istnienia wymaganych i opcjonalnych narzędzi programistycznych systemu Linux: GCC pkgconfig libtool gettext Make 40

41 Gdy nie ma pliku configure lub Makefile należy go wygenerować za pośrednictwem programów pakietu autotools: #rm -R automate.cache auxdir -R #mkdir auxdir libtoolize --copy --force #uaktualnienie narzędzia (auxdir/ltmain.sh) aclocal #przetwarzanie pliku.ac autoconf #generacja pliku configure #autoreconf #rekonfiguracja (potrzebne gdy inna wersja) automake #generacja wejściowych plików, Makefile.am automake --add-missing #aktualizacja Powyższa sekwencja jest także przydatna, gdy jest potrzeba zaktualizowania samych plików wejściowych dla autotools takich jak Makefile.am, configure.ac (z czym można się spotkać we wcześniejszych wersjach serwera). Dalej standardowy proces instalacyjny systemu GNU/Linux: configure make #z roota lub sudo make install Przy instalacji może pojawić się błąd związany z referencją w pliku Makefile. W takim wypadku podmienia się tę zmienną ręcznie wyrażeniem../auxdir/mkinstalldirs, jak poniżej: sed -s s/@mkinstalldirs@/..\/auxdir\/mkinstalldirs/ > po/makefile Konfiguracja bazy ją skonfigurować. Dla PostgresSQL: Serwer współpracuje z bazą danych więc przed uruchomieniem należy su postgres createuser chessd -D -P createdb -O chessd chessd psql chessd chessd < create-psql.sql #./sql/dbinstall.sh create #ta komenda powinna zrobić to co powyżej Dla MySQL:./sql/dbinstall.sh -m create W pliku chessd.conf (w katalogu /usr/local/etc lub /etc/ ) znajdują się hasła, które należy zaktualizować. 41

42 Podsumowanie Sam projekt interfejsu graficznego poprzez trudny do utrzymania, wprowadzania poprawek oraz słabo udokumentowany kod (m.in napisany większości w języku portugalskim) jest od 2007 roku nierozwijany. Sami autorzy w dokumentacji projektu Chrysalis przyznają, że jest on niedopracowany od strony nowo wprowadzonego interfejsu graficznego i potrzebna jest nowa propozycja implementacji (z braku dalszych inicjatyw, taki też pozostał). Nowe dystrybucje wraz z nowymi aplikacjami i wersjami wymaganych do uruchomienia programów takich jak PostgreSQL 41, MySQL, Adodb i PHP5 stały się dla chessd niekompatybilne. Niemożliwe stało się uruchomienie strony internetowej projektu na najnowszych dystrybucjach Linuksa. Z małymi poprawkami kodu i zmianami w konfiguracji PHP oraz bibliotek AdoDB autorowi udało się po części uruchomić stronę WWW chessd na bazie PostgreSQL7. Jednak poza widokiem startowym i kilkoma działającymi formularzami interfejs nie oferował zaprojektowanej funkcjonalności. W celu wykorzystania elementów strony zostały opracowane poprawki umożliwiające uruchomienie w oparciu o serwer MySQL. Mimo tego nadal wiele funkcji nie działało z racji błędu w mechanizmie obsługi danych z POST 42. W trakcie używania serwera nie wszystkie standardowe funkcje ICS-a są dostępne, mimo tego, że są wyświetlane w liście komend (polecenie help commands). Ukazuje się wtedy monit, że użytkownik nie nasłuchuje na danym kanale. Dotoczy to wszystkich wersji i związane jest to z tym, że lista komend oraz dokumentacja bazują na wcześniejszych plikach serwera FICS. Nie wszystkie działają spod serwera z racji przeniesienia ich na interfejs WWW. Dodatkowo pojawia się błąd przy wykonywaniu niektórych poleceń (w tym nieaktualnych) objawiający się wyjątkiem serwera przy zwalnianiu pamięci Analiza bazy danych serwera Chessd Tabela UserLogon Tabela UserLogon zawiera aktualne informacje o tym kto jest zalogowany. Zawiera klucz prywatny userloginid oraz referencję do tabeli ChessdUser - userid. Tabela składuje informacje na temat czasów logowania użytkowników oraz ich adresów IP. 41 PostgreSQL to, obok MySQL i Firebird, jeden z trzech najpopularniejszych wolnodostępnych systemów zarządzania relacyjnymi bazami danych. Początkowo opracowywany na Uniwersytecie Kalifornijskim w Berkeley i opublikowany pod nazwą Ingres. W miarę rozwoju i zwiększania funkcjonalności, baza danych otrzymała nazwy Postgres95 i ostatecznie PostgreSQL, aby upamiętnić pierwowzór oraz zaznaczyć zgodność ze standardem SQL. 42 Wprowadzone zminy są udostępnione na serwerze SVN ( a opracowana przez autora wersja dystrybucyjna dla systemu Debian znajduje się w załączniku lub pod adresem Można wykorzystać ten adres w pliku apt.sources Debiana w celu automatcznej instalacji 42

43 mysql> select * from UserLogon; userlogonid userid islogin eventtime fromip whereat :17: :32: :34: Wydruk 6. Tabela UserLogon - przykładowe rekordy. Źródło: opracowanie własne Tabela UserStats Tabela UserStats posiada identyfikator w postaci pola userstatsid. Kolejnym w kolejności polem jest userid, czyli referencja do tabeli ChessdUser określająca zarejestrowanych użytkowników. Relacja ChessdUser do UserStats jest jak jeden do wielu. Statystyki znajdujące się w tabeli UserStats przedstawiają rozgrywane rodzaje meczy, określone przez pole gametypeid, które jest referencją do tabeli GameType, zawierającej 7 wpisów identyfikujących rodzaje gry. Tabela zawiera także kolumny mówiące o liczbie wszystkich wygranych, przegranych oraz zremisowanych meczy (kolejno num, wins, loses, draws) Następna kolumna rating posiada informację o rankingu Glicko - wpisie charakteryzującym siłę gracza (Zobacz rozdział na stronie 59). 43

44 mysql> select * from UserStats; userstatsid userid gametypeid num wins losses draws rating lasttime whenbest best sterr Wydruk 7. Tabela UserStats - przykładowe rekordy. Źródło: opracowanie własne GameType Tabela GameType zawiera identyfikatory rozgrywek. Na serwerze najczęstszym typem jest TYPE BLITZ, który określa mecze od 3 do 11 minut. Do tej tabeli odwołuje się m.in pole gametypeid w tabeli UserStats. 44

45 mysql> select * from GameType; gametypeid name TYPE_UNTIMED 1 TYPE_BLITZ 2 TYPE_STAND 3 TYPE_NONSTANDARD 4 TYPE_WILD 5 TYPE_LIGHT 6 TYPE_BUGHOUSE Wydruk 9. Elementy tabeli GameType serwera Chessd. Źródło: opracowanie własne Move Każdy ruch identyfikowany jest poprzez swój właściwy identyfikator będący kluczem głównym tabeli, identyfikator gry - liczbą określającą pozycję w sekwencji ruchów (moveorder) oraz kolor. Znajduje się tu także pole tekstowe w formacie FEN (ang Forsyth-Edwards Notation) będącego częścią specyfikacji PGN (Podrozdział 2.3.1) i określającego stan figur na szachownicy. 45

46 mysql> describe Move; Field Type Null Key Default Extra moveid int(11) NO PRI NULL auto_increment gameid int(11) YES MUL NULL movorder int(11) YES NULL color int(11) YES NULL fromfile int(11) YES NULL fromrank int(11) YES NULL tofile int(11) YES NULL torank int(11) YES NULL doublepawn int(11) YES NULL movestring varchar(8) YES NULL algstring varchar(8) YES NULL fenpos varchar(64) YES NULL attime int(11) YES NULL tooktime int(11) YES NULL rows in set (0.01 sec) Wydruk 10. Tabela Move - opis pól Dzięki tej tabeli możliwe jest późniejsze wyświetlenie historii rozgrywek i ich analiza. 46

47 mysql> select * from Move limit 5; moveid gameid movorder color fromfile fromrank tofile torank fenpos attime tooktime rnbqkbnr/pppppppp/8/8/3p4/8/ppp1pppp/rnbqkbnr b rnbqkbnr/p1pppppp/1p6/8/3p4/8/ppp1pppp/rnbqkbnr w rnbqkbnr/p1pppppp/1p6/8/3pp3/8/ppp2ppp/rnbqkbnr b rnbqkbnr/p1p1pppp/1p6/3p4/3pp3/8/ppp2ppp/rnbqkbnr w rnbqkbnr/p1p1pppp/1p6/3p4/3p4/8/ppp2ppp/rnbqkbnr b doublepawn movestring algstring P/d2-d4 d4 0 P/b7-b6 b6 0 P/e2-e4 e4 0 P/d7-d5 d5 0 P/e4-d5 exd rows in set (0.00 sec) Wydruk 11. Tabela Move - przykładowe elementy. Źródło: opracowanie własne Kolumna attime jest zapisem daty i czasu w systemie POSIX. tooktime reprezentuje ile sekund było potrzebne na dany ruch. movestring i algstring jest zapisem ruchu. Game Zawiera historię wszystkich rozgrywek oraz informacje z nimi powiązane. 47

48 mysql> describe Game; Field Type Null Key Default Extra gameid int(11) NO PRI NULL auto_increment gametypeid int(11) YES MUL NULL gamestatusid int(11) YES MUL NULL gameresultid int(11) YES MUL NULL whiteplayerid int(11) YES MUL NULL blackplayerid int(11) YES MUL NULL whiterating int(11) YES NULL blackrating int(11) YES NULL winner int(11) YES NULL winittime int(11) YES NULL wincrement int(11) YES NULL binittime int(11) YES NULL bincrement int(11) YES NULL timeofstart int(11) YES NULL wtime int(11) YES NULL btime int(11) YES NULL rated int(11) YES NULL private int(11) YES NULL clockstopped int(11) YES NULL flag_check_time int(11) YES NULL passes int(11) YES NULL numhalfmoves int(11) YES NULL fenstartpos varchar(74) YES NULL whiteplayername varchar(50) YES MUL NULL blackplayername varchar(50) YES MUL NULL adjudicatorname varchar(50) YES NULL adjudicatorid int(11) YES MUL NULL rows in set (0.01 sec) Wydruk 12. Tabela Game. Źródło: opracowanie własne 48

49 2.2 Użytkowanie serwera ICS Polecenia użytkownika Korzystanie z serwera FICS po stronie użytkownika polega na przesyłaniu odpowiednich komend protokołem telnet.na poniższym wydruku przedstawiono spis podstawowych komend wchodzących w skład protokołu ICS. xboard -ics -icshost fics% help commands abort accept addlist adjourn alias allobservers assess backward bell best bname boards bsetup clearmessages clrsquare cshout date decline draw eco examine finger flag flip fmessage forward games getgi getpi goboard handles hbest help history hrank inchannel iset it jkill journal jsave kibitz limits llogons logons ltell mailmoves mailoldmoves mailstored match messages mexamine moretime moves news next observe oldmoves open partner password pause pending play prefresh promote pstat ptell ptime qtell quit rank refresh remote resign revert rmatch say seek set shout showlist simabort simadjourn simallabort simalladjourn simgames simmatch simnext simopen simpass simprev Anglojęzyczne informacje odnośnie każdej z nich uzyskuje się po wpisaniu help z argumentem szukanego słowa Komenda who Komenda who wyświetla dostępnych użytkowników zalogowanych na serwerze. Przy wyświetlaniu listy daszek (^) oznacza grających, gwiazdka (*) administratorów, a plusy (++++) 49

50 gości. Po lewo może znajdować się punktacja wyświetlana dla systemu blitz, czyli uwzględniająca grę od 3 do 10 minut. fics% who 1907^stockfishDell 1783 gnuchessz admin(*)(td) 1814^stockfishXeon 1575 gnuchessotos ----:mamer(*)(td) ++++.GuestUAVA ++++ papi 8 players displayed (of 8). (*) indicates system administrator. Komenda match Wpisując z wiersza poleceń chessd komendę match z parametrem będącym nazwą dostępnego użytkownika (można podać dodatkowe parametry odnośnie rodzaju gry, typie planszy, koloru, czasu) zostanie wysłane zapytania do danego przeciwnika. Po zaakceptowaniu rozpoczyna się właściwa gra. $fics% help match Usage: match user [rated unrated] [Start] [Inc] [Black_Start Black_Inc] [White Black] [board_category board] fics% match stockfishdell You accept the challenge of stockfishdell. Creating: GuestUAVA (0) papi (0) unrated blitz {Game 1 (GuestUAVA vs. papi) Creating unrated blitz match.} Rejestracja Oryginalny serwer FICS ma rejestrację na bazie skrzynki pocztowej. Informacje na temat tego jak wygląda proces rejestracyjny można uzyskać po zalogowaniu się jako guest do ICSa i podaniu komendy help register z poziomu linii komend. Odpowiedzią może być tekst mówiący, że należy wysłać na podany adres wraz z odpowiednim tematem i wiadomością w celu dokonania rejestracji nowego użytkownika. Wiadomość powinna zawierać przede wszystkim unikatowy login, imię, nazwisko oraz typ gracza (komputer lub człowiek). 50

51 fics% help register Registering on FICS: Membership with FICS is completely free. To register on FICS, simply press the Register button in the menu on the left side of our homepage, press the registration form button, complete the registration form and press the send information button. You will need to supply: - your full name. - a handle (the name you will use while on the server). - your address (which may not be a free address such as hotmail). Your address and name will remain confidential, and will only be shared with the FICS administration and yourself. Please remember: You must enter both the First Name and your Family Name fields. The Middle Initial is optional; do not use non-letter characters, such as accents or hooks in the First Name and Family Name. Type [next] to see next page. fics% Wydruk 13. Rejestracja na freechess.org W przypadku serwera chessd rejestracja z założenia odbywa się za pomocą strony internetowej. Komenda game Polecenie game wyświetla bieżące gry. Można je obserwować wpisując observe z nazwą gracza. 51

52 fics% games crafty ---- rybka [ br 2 12] 3:29-2:29 (12-10) W: 46 1 game displayed. fics% Polecenia administratora Standardowa wersja posiada poniższy zestaw komend dla użytkownika typu administrator (istnieją różne poziomy uprawnień): fics% ahelp acheckhelp aconfig addcomment addplayer adjudicate admin adump ahelp anews announce annunreg areload asetadmin asetblitz asetbughouse aset asethandle asetlight asetpasswd asetrealname asetstd asetv asetwild canewsd canewse canewsf canewsi canewsp canewst cnewsd cnewse cnewsf cnewsi cnewsp cnewst ftell hideinfo nuke pose quota raisedead remplayer rerank showcomment Komenda pose Jedną z często wykorzystywanych poleceń jest komenda pose, która niejako pozoruje wykonanie komendy przez innego użytkownika. Przydatna przy wymuszaniu pewnych komend na użytkowniku, umożliwia (zautomatyzowane) wydawania poleceń silnikom szachowym lub innym użytkownikom. Poniższa komenda wykonuje na użytkowniku komendę poszukiwanie chętnych do gry (rozgrywek o długości 1 min z przyrostem czasu równym 0 sekund): pose craftydell seek 1 0 rated pose craftydell seek 2 0 rated Komenda addplayer Komenda przyjmuje cztery parametry: nazwę użytkownika, oraz opis: addplayer stockfishdell lukasz@papiewski.pl 1.8GHZ 1GB 52

53 Komenda asetpasswd Zmienia (dodaje) hasło dla użytkownika. Pierwszym parametrem jest nazwa istniejącego użytkownika, drugim hasło. asetpasswd stockfishdell password Organizowanie terniejów na serwerze ICS Mamer jest programem, za pośrednictwem którego odpowiednio uprawnieni użytkownicy serwera z listy TM (Tourney Manager) mogą organizować turnieje szachowe. Jest programem z uprawnieniami administratora podłączonym zdalnie do serwera ICS. Instalacja Aby umożliwić poprawną pracę bota mamer należy wykonać następujące czynności: na serwerze ICS: dodać użytkownika mamer na serwerze, nadać mu hasło, dodać go do listy TD, nadać prawa administratora i wartości powyżej 10. w katalogu domowy mamera: zaktualizować hasło w pliku mamer.config, dodać w pliku data/managers listę użytkowników typu TM, którzy będą mogli zarządzać z pośrednictwem mamera turniejami na serwerze. Czynności na serwerze należy wykonać z konta superadministratora (uprawnienia o wartości 100). Wymagane komendy jak poniżej: addplayer mamer mamer@mamer.pl mamer asetpasswd mamer password +td mamer asetadmin mamer 10 Poniżej przykładowa sekwencja poleceń konsoli jaką należy wykonać w katalogu domowym mamera: echo "admin" >data/managers sed -i s/ 0/ 75/g players/a/admin 53

54 Mamer po pierwszym połączeniu doda w swoim katalogu players/a/ plik admin z wyzerowanymi uprawnieniami. Dla każdego użytkownika z listy TM należy odpowiednio zmodyfikować uprawnienia (zmiana poszczególnych kolumn na liczby z zakresu 0 100) aby umożliwić im pełen zakres komend dla mamera. Mamer korzysta z możliwości wykonywania poleceń administratora np. komendy pose wymuszającą automatycznie akcję gracza w turnieju Użytkowanie Poniższa sekwencja serwera ICS tworzy turniej, który oznaczony został tu przez mamera numerem jeden. mam create mam stv 1 P 4 mam stv 1 R 3 mam stv 1 T 1 mam open 1 Komenda mam att (Add To Tourney) dodająca użytkownika do otwartego turnieju. mam att gnuchessdell 1 mam att gnuchessdella 1 mam att craftydell 1 mam att craftydella 1 Dodawany użytkownik nie powinien w tym momencie brać udziału w rozgrywce z innym graczem, dlatego przed jego dodaniem zaleca się przerwać wszystkie bieżące gry. Każdy uczestnik turnieju ma ustawioną zmienną, informującą czy w danym turnieju się znajduje. Powoduj to, że nie akceptowane są zaproszenia od użytkowników nie znajdujących się w turnieju, czyli takiej ustawionej zmiennej nie posiadający. Poniżej widnieje statystyka poszczególnych rozgrywek w przeprowadzonym przykładowym turnieju. 54

55 :Tourney Players: Round 1 of 3 : : Name Rating Score Perfrm Upset Results : : 1 +wcrafty [1876] 1.0 [1870] [ 0] +04b : 2 +stockfish [1898] 0.0 [ 0] [ 0] *03w : 3 +craftya [1819] 0.0 [ 0] [ 0] *02b : 4 +crafty [1470] 0.0 [1476] [ 0] -01w : : Average Rating fics% :Tourney Players: Round 3 of 3 : : Name Rating Score Perfrm Upset Results : : 1 +stockfish [1898] 3.0 [2121] [ 0] +03w +02b +04w : 2 +wcrafty [1876] 1.5 [1729] [ 0] +04b -01w =03w : 3 +craftya [1819] 1.5 [1748] [ 28] -01b +04w =02b : 4 +crafty [1470] 0.0 [1464] [ 0] -02w -03b -01b : : Average Rating : Wartość końcowa turnieju naliczana jest na podstawie wzoru (Podrozdział 2.3.2): Perf. Rating = Avg. opp. rating * ((wins-losses)/rounds) gdzie: wins - to liczba reprezentująca wygrane rozgrywki w turnieju losses - liczba z przegranymi rounds - ilość rund Avg. opp. rating - średnia wartość ELO zawodników Opisy wszystkich komend użytkownika mamer można uzyskać po wpisaniu mam help z argumentem będącym szukaną frazą. 55

56 chessd2% : :The index Help File: : : about forfeit manager_commands settourneyvar : addchaos help manager_help showcommands : addtotourney index manager_level showhelpfile : announce join messman shutdown : chaos keep open swiss : close listmanagers performance upset : create listplayers rating user_commands : delete listtourneys setmanagerlevel who : finger listtourneyvars setres withdraw : forfeit loadedusers setstat : Listę rozgrywanych turniejów można uzyskać pow wpisaniu mam lt fics% mam listtourneys (told mamer) fics% :mamer Notes: : No. Rds Sty Time Inc Md Vrnt Rtng Rnge Status Started at Ended at : : 1 3 s 4 0 r r open n/a n/a : 2 0 s 4 0 r r open n/a n/a : 3 3 s 4 0 r r done 11:25 08/09/110 11:51 08/09/110 : 2.3 Informacje dodatkowe PGN PGN jest skrótem Portable Game Notation. Jest notacją używaną do zapisywania przebiegu gry wraz z dodatkowymi informacjami. Na początku pliku PGN, mającego najczęściej rozszerzenie.pgn, znajduje się siedem tagów. Każdy tag rozpoczyna się i kończy nawiasem kwadratowym oraz zawiera identyfikator i wartość. 56

57 [Event "F/S Return Match"] [Site "Belgrade, Serbia Yugoslavia JUG"] [Date " "] [Round "29"] [White "Fischer, Robert J."] [Black "Spassky, Boris V."] [Result "1/2-1/2"] Wydruk 14. Przykładowe siedem tagów formatu PGN. Znajdują się tu informacje o typie i nazwie gry, miejscu, dacie, przeciwnikach i wyniku. Dalej umieszczana jest tekst ruchów. Każdy ruch składa się z numeru, rodzaju piona i przesunięcia. Przesunięcie określane jest na podstawie pozycji na szachownicy. Piony określane są dużymi literami : P - pion, K - król, Q - hetman, R - wieża, B -goniec, N - skoczek. Istnieje możliwość umieszczania komentarzy. 1.d3 b4 2.Nf3 d4 3.b3 e4 4.Ne1 a4 5.bxa4? [5.Nd2 and 6.Nd2-c4+ Nbcxc4 7.b3xc4 with a good game] 5...Nxa4 6.Kd2? Nc3 7.Nxc3 bxc3+ 8.Kd1 f4 9.a3 Rb6 10.a4 Ra6 11.a5 Kd5 12.Qa3 Qb5 13.Qa2+ Ke5 14.Rb1 Rxa5 15.Rxb5 Rxa2 16.Rb1 [to prevent 16...Ra1 mate!] 16...Ra5 17.f3 Ra4 18.fxe4 c4 19.Nf3+ Kd6 20.e5+ Kd5 21.exf6Q Nc5 22.Qf6xd4+ Kc6 23.Nf3-e5 mate. Wydruk 15. Format PGN - zapis przebiegu gry (tu druga historyczna rozgrywka pomiędzy człowiekiem i komputerem : mainframe MANIAC 1 przeciwko szachiście, Los Alamos 1956 r. ) Powyższa zmodyfikowana i dostosowana do potrzeb specyfikacja została wykorzystywana w protokole ICS do określania ruchów w czasie gry Ranking szachowy ELO Ranking szachowy ELO jest metodą obliczania relatywnej siły gry szachistów w punktacji elo. Nazwa ELO pochodzi od nazwiska Arpada Elo amerykańskiego naukowca węgierskiego pochodzenia, którego prace ukształtowały szachowy system rankingowy oparty na naukowych podstawach. Profesor Arpad Elo był szachistą i aktywnym członkiem Federacji Szachowej Stanów Zjednoczonych (USCF 43 ) od chwili jej założenia w 1939 roku. Ocena siły gry szachisty jest zadaniem dość trudnym, ponieważ nie istnieją metody bezwzględnej oceny wartości poszczególnych posunięć w partii szachów. Można jedynie porównać poziom gry dwóch szachistów, biorąc pod uwagę wynik partii pomiędzy nimi. Jeśli zawodnik wygrał partię, należy założyć, że w tej partii zagrał na wyższym poziomie niż jego przeciwnik. 43 Federacja Szachowa Stanów Zjednoczonych (United States Chess Federation, USCF) organizacja zarządzająca rozgrywkami szachowymi w Stanach Zjednoczonych, członek Międzynarodowej Federacji Szachowej (FIDE). 57

58 Jeśli przegrał na niższym. Remis w partii oznacza, że obaj szachiści grali na tym samym poziomie. USCF używała opracowanego przez Kennetha Harknessa liczbowego systemu rankingowego, który umożliwiał szachistom śledzenie własnych postępów w porównaniu z osiągnięciami innych szachistów. System Harknessa był prosty, lecz w niektórych okolicznościach dawał wyniki sprzeczne z intuicyjną oceną siły gry poszczególnych szachistów. Na zamówienie USCF profesor Elo opracował nowy system, oparty na regułach stosowanych w statystyce. Profesor Elo zaproponował model, w którym zmiana rankingu szachisty jest bezpośrednio zależna od rankingów przeciwników i rezultatów partii z nimi rozegranych. Porównanie przed turniejem rankingu zawodnika i jego przeciwników powinno określić oczekiwany rezultat tego zawodnika. Jeśli w turnieju uzyskał wynik lepszy od oczekiwanego, jego ranking powinien wzrosnąć, jeśli gorszy zmaleć. Najistotniejszym pytaniem w tym modelu było: jak różnica rankingów przekłada się na oczekiwany wynik? Do tego wyliczenia Elo zaproponował potraktowanie oczekiwanego wyniku jako zmiennej losowej o rozkładzie normalnym. Centralnym założeniem jest, że wartość średnia z rozkładu normalnego osiągnięć gracza zmienia się w niewielkim stopniu między kolejnymi rozgrywkami. W każdej rozgrywce wartość jest mierzona na podstawie wyniku: jeśli przegrał zakładane jest, że w tym meczu gracz cechował się niższą punktacją; jeśli wygrał to wyższą; jeśli zremisował to taką samą jak przeciwnik. Punktacja względna jest uzależniona od odchylenia standardowego związanego z ilością rozegranych partii. Algorytm ELO mimo dość rozwiniętej teorii cechuje prosta implementacja. W dzisiejszych czasach nie jest to już zaleta, gdyż moc obliczeniowa znacznie wzrosła, jednak w tamtych czasach powszechną praktyką było obliczanie wyniku ELO na kalkulatorze. Dlatego też wprowadzono rozwinięcie rankingu ELO - ranking Glicko. Rankin ELO opiera się na poniższym równaniu: P R = OR (W ins Loses) G (1),gdzie PR oznacza wynik określający siłę gracza (performance rating), OR - punkty przeciwnika (opponent s rating), G - liczba rozegranych partii, Wins - liczba wygranych, Loses - liczba przegranych partii. USCF wprowadziła w życie system zaproponowany przez profesora Elo w 1960 roku. Dość szybko okazało się, że nowy system rankingowy jest znacznie bardziej precyzyjny od dotychczas stosowanego. W 1970 roku Międzynarodowa Federacja Szachowa (FIDE 44 ) wprowadziła system rankingowy oparty na tym samym modelu. W obu systemach nastąpiły pewne zmiany w stosunku do oryginału, skutkiem czego rankingi liczone przez FIDE i USCF dla tych samych szachistów znacznie się różnią. Swoje niezależne systemy rankingowe wprowadziły również 44 Międzynarodowa Federacja Szachowa (fr. Fédération Internationale des Échecs, FIDE) utworzona 20 lipca 1924 roku w Paryżu organizacja międzynarodowa zrzeszająca narodowe związki szachowe z całego świata, w tym Polski Związek Szachowy. Mottem FIDE jest Gens una sumus (łac. Jesteśmy jedną rodziną). Od roku 1995 na czele FIDE stoi Kirsan Ilumżynow, prezydent rosyjskiej republiki autonomicznej Kałmucji. 58

59 inne organizacje, np. Stowarzyszenie Zawodowych Szachistów (PCA) czy Internet Chess Club (ICC). Wszystkie te odmiany są oparte na tym samym modelu, lecz różnią się w szczegółach. W związku z tym określenie ranking ELO szachisty może niekiedy prowadzić do nieporozumień. Przykładowo, amerykański arcymistrz Grigorij Kajdanow w sierpniu 2002 roku miał ranking FIDE 2638 punktów i ranking USCF 2742 punkty (ranking USCF jest średnio o 100 punktów wyższy od rankingu FIDE). W rozgrywkach międzynarodowych powszechnie obowiązującym jest ranking FIDE, dlatego ranking ELO bez określenia konkretnej organizacji domyślnie odnosi się do listy rankingowej FIDE. Poniżej wypunktowano określenia graczy w zależności od punktów ELO stosowane przez USCF: 2400 i powyżej: Senior Master dodać 300 gier powyżej 2200: Original Life Master : National Master : Expert : Class A : Class B : Class C : Class D : Class E : Class F : Class G : Class H : Class I : Class J Ranking szachowy Glicko Punktacja Glicko wyznaczana jest na podstawie algorytmu i wartości początkowej. Obarczona jest błędem odwrotnie proporcjonalnym do ilości rozgrywek. Ranking ten wykorzystywany jest m.in przez serwer szachowy chessd (Podrozdział 2.1.3) oraz wcześniejsze wersje serwerów FICS. Wspomniany błąd umieszczany jest w kolumnie sterr w tabeli UserStats tego serwera, a jego początkowa wartość wynosi

60 2.4 Silniki szachowe Silniki szachowe to programy grające w szachy. Nie posiadają własnego interfejsu graficznego (GUI), lecz komunikują się z zewnętrznymi aplikacjami, które go obsługują. W celu oszacowania siły gry silników szachowych organizuje się pomiędzy nimi turnieje szachowe. W ten sposób staje się możliwe nadanie każdemu z programów rankingu odpowiadającemu jego sile gry. Dodatkowy czynnik decydujący o sprawności silnika stanowi konfiguracja sprzętowa i oprogramowanie zainstalowane na komputerze. Poniższy rysunek przedstawia schemat podłączenia silnika za pośrednictwem jednego z protokołów UCI (ang. Universal Chess Interface) lub CECP (ang. Chess Engine Communication Protocol) do interfejsu, który następnie może dalej komunikować się z serwerem szachowym. Polyglot jest translatorem protokołu UCI nie do końca wspieranego przez Winboarda. Rysunek 10. Schemat połączenia silnika szachowego. Na powyższym schemacie przedstawiony są: gnuchess - popularny opensourcowy program szachowy; Books - książki z bazą standardowych ruchów otwierających w szachach; UCI - Universal Chess Interface; CECP - Chess Engine Communiction Protocol Źródło: opracowanie własne Program szachowy - Crafty Crafty jest programem szachowym napisanym przez profesora Roberta Hyatta. Program pochodzi od silnika Cray Blitz, zwycięzcy Światowych Zawodów Szachowych (WCC, ang. World Computer Chess Championships) w roku 1982 oraz W WCCC w roku 2004 Crafty zajął czwarte miejsce uzyskując tyle samo punktów co silnik Fritz 8 grający na lepszym sprzęcie komputerowym. W 2007 roku w rankingu ELO przeprowadzonym przez SSDF (ang. Swedish Chess Computer Association) crafty miał 34 pozycję z wynikiem Silnik używa do komunikacji CECP (ang. Chess Engine Communication Protocol) i może być używany w połączeniu z popularnymi interfejsami szachowymi takimi jak XBoard lub Arena. 60

61 Program został napisany w ANSI C z dodatkowymi wstawkami asemblerowymi dla niektórych procesorów. Charakteryzuje się dużym zakresem wspieranych architektur. Kod źródłowy jest dostępny ale program jest wyłącznie do użytku niekomercyjnego. Jest to dzisiaj jeden z lepszych w rankingu silników szachowych. Zawiera także funkcję do testowania procesora. Crafty v23.3 (1 cpus) White(1): bench Running benchmark Total nodes: Raw nodes per second: 369,696 Total elapsed time: Wydruk 16. Testowanie procesora programem Crafty. Test ten ukazuje, że 50M gałęzi w drzewie ruchów zostało dokonanych w ok 370k NPS. Crafty, podobnie jak inne silniki szachowe, pozwala na konfigurację wielu podstawowych opcji gry. Jedną z ważniejszych jest opcja ponder pozwalająca na wykorzystywania czasu przeciwnika ponder on (Allows Crafty to think on your time) hash=256m (Increases Crafty s position hash to 256MB) hashp=64m (Increases Crafty s pawn hash to 64MB) egtb (Tells Crafty to use Nalimov Endgame Tables (up to 6-Men)) cache=32m (Increases Crafty s Endgame Table Cache to 32MB) swindle on (Allows Crafty to try to win drawn games (according to Endgame Tables)) mt=2 (Increases Crafty s MaxThreads to 2 for a dual CPU computer) timebook 80 8 (Tells Crafty to think 80% longer on the first move out of book, then decrease the time over the next 8 moves) Wydruk 17. Spis zmiennych konfiguracyjnych programu szachowego Crafty Test wydajności przeprowadzany przez ten program szachowy trwa około kilku minut. W trakcie trwania testu procesor jest wykorzystywany w 100 procentach, natomiast nie ma żadnych znaczących operacji I/O. Przy niepoprawnie skompilowanym programie benchmark 45 może pokazywać 0 NPS. Rozwiązaniem może być wtedy wtedy dodanie lub odjęcie niektórych flag kompilacyjnych. 45 Benchmark, testowanie wzorcowe jest to test wydajności systemu komputerowego: sprzętu lub oprogramowania. 61

62 Nie ma obecnie pakietu dystrybucyjnego na architekturę s390, a próby skompilowania tego programu z parametrami zakończyły się jego nieprawidłowym działaniem w postaci zerowego wyniku testy wydajności. W trakcie kompilacji pod s390 dodane zostały flagi SMP, ustawiona architektura generic oraz uwzględniona opcja TARGET jako system Linux Program szachowy Stockfish Stockfish jest silnikiem na licencji GPL3 rozwijanym przez Tord Romstad, Joona Kiiski i Marco Costalba. Wersja 1.9 wydana w 2010 roku jest dostępna w postaci kodu źródłowego C++ oraz skompilowanych wersji dla Microsoft Windows, Linuksa 32 i 64-bitowego, Mac OS X Snow Leopard 64 bit. Program wykorzystuje protokół UCI - do komunikacji z Xboard/Winboard wymaga translatora tego protokołu, programu polyglot. Ma wbudowane mechanizmy wykorzystujące wieloprocesorowość i może wykorzystywać do ośmiu rdzeni procesora. Maksymalny rozmiar tabel transpozycji (haszującyh) wynosi 8GB. Stockfish implementuje zaawansowany algorytm przeszukiwania - alpha-beta. 46 W różnych rankingach komputerowych Stockfish zajmuje drugie miejsce po komercyjnym programie Rybka Program wywodzi się z innego projektu open source - Glaurang (nie rozwijany od 2008 r.), a dokładniej został wydzielony z wersji 2.1. Komenda bench Poniższy wydruk ukazuje jakie są możliwe konfiguracje wywołania programu w celu przeprowadzenia testów: stockfish bench [time = 60s] [fen positions file = default] [time, depth, perft or node limited = time] [timing file name = none] Hash size określa rozmiar tablicy haszującej w MB, możliwe wartości w granicach od 4 do 1024 threads liczba wątków od 1 do 8 time=60 jest opcjonalne określa wartość parametru time,depth,perft; domyślnie jest to time fen posistons file domyślnie default, plik do pozycji startowej time, depth, perft, node limited różne parametry testów 46 Opracowane na podstawie (chess) 62

63 timing file name plik z określonymi czasami Przykładowo: Test z 4MB haszu i jednym wątkiem i czasem 1 sekunda:./stockfish bench Test na 8 wątkach ograniczony czasem 1s:./stockfish bench default 1GB hash, Test do osiągnięcia głębokości drzewa przeszukiwania równego 30:./stockfish bench default depth 2.5 Opis dodatkowych wymaganych programów Polyglot Polyglot jest uniksowym programem umożliwiającym podłączenie silnika komunikującego się w protokole UCI do popularnych interfejsów graficznych lub ogólnie programów korzystających z protokołu WB (Winboard/Xboard). Argumentem dla polyglota jest plik konfiguracyjny określający program, jego ścieżki i wspierane komendy. Najczęściej taki plik udostępniany jest ze źródłem danego silnika szachowego. 63

64 [PolyGlot] EngineDir =. EngineCommand = stockfish Book = false BookFile = book.bin Log = true LogFile = stockfish.log Resign = true ResignScore = 600 [Engine] Hash = 128 Threads = 1 OwnBook = false Book File = book.bin Use Search Log = false Mobility (Middle Game) = 100 Mobility (Endgame) = 100 Pawn Structure (Middle Game) = 100 Pawn Structure (Endgame) = 100 Passed Pawns (Middle Game) = 100 Wydruk 18. Przykładowy plik konfiguracyjny programu polyglot dla silnika szachowego Stockfish. W swej funkcjonalności posiada także: obsługę ruchów otwierających, wspiera Chess960, ma wbudowaną konwersję PGN do formatu ruchów otwierających, zarządza plikami typu book.bin, rozwiązuje konfilkty (np. zasada 50 ruchów) Winboard WinBoard (skrót WB) jest front-endową aplikacja pozwalającą na graficzne użytkowania dowolnego serwera ICS. Jest to ta sama aplikacja co Xboard (XB), lecz skompilowana pod system Windows. Różnice w użytkowaniu występują w podawaniu flag: po slashu dla WB oraz po myślniku dla XB. Przy podawaniu wartość dla WB trzeba postawić znak = natomiast w XB można dodatkowko podać wartość po spacji. 64

65 xboard - X graphical user interface for chess SYNOPSIS xboard [options] xboard -ics -icshost hostname [options] xboard -ncp [options] pxboard cmail [options] Opcja zp oznacza ZippyMode. Zippy jest wbudowanym w XBoarda (WinBoarda) mechanizmem nadzorującym komunikacje silnik szachowy - ICS. Sekwencja ics icshost wraz z opdpowiednimi parametrami aktywuje połączenie z serwerem Dekoder różnicy czasu serwera ICS Jednym z krytycznych elementów serwerów szachowych jest timeseal decoder. Analizuje on pakiety TCP i oblicza na ich podstawie bezwzględną wartość czasu pomiędzy otrzymanym pakietem z serwera i wysłanym od klient. Program ten jest udostępniany tylko w wersji binarnej ze względów bezpieczeństwa. Aktualnie nie ma wersji pod architekturę s390/s390x. Dlatego też wysoce wiarygodne wyniki pomiarów nie mogą zostać osiągnięte ze względu na mogące występować opóźnienia w transmisji. Wykaz dostępnych wersji orz informacje kontaktowe znajdują się pod adresem 65

66 Rozdział 3 Implementacja Na podstawie serwera FICS (Rozdział 2) oraz wiadomości o mainframe ach (Rozdział 1) został zaimplementowany serwer dla programów szachowych. Serwer ten w obecnej formie jest dostępny pod adresem IP na porcie Można dzięki niemu rejestrować silniki szachowe oraz mierzyć ich wydajność. Rysunek 11. Serwer programów szachowych. Źródło: opracowanie własne Powyżej przedstawiono aplikacje (wymagane lub opcjonalne) potrzebne do zrealizowania serwera programów szchowych na mainframie. Są to m.in system operacyjny Linux (Debian lub Slack390), serwer WWW - Apache, parser PHP, serwer szachowy - Chessd, oraz baza danych (MySQL lub PostrgreSQL). Proces instalacji przebiaga za pośrednictwem HMC (system operacyjny) oraz poprzez zdalne połączenie SSH w terminalu (reszta aplikacji). W związku, że cała platforma jest oparta na architekturze s390, aplikacje które nie były dostępne wraz z dystrybucją Linux musiały zostać skompilowany ze źródeł. Tak było m.in w przypadku serwera chessd (Podrozdział 2.1.3). Należy podkreślić, że rynek aplikacji dla komputera mainframe wraz z wprowadzeniem systemu z/linux bardzo się poszerzył, umożliwiając tym samym realizacje tego projektu. Jednak mimo wprowadzenia pierwszej wersji systemu ok. 10 lat temu, nadal wielu deweloperów aplikacji nie w pełni wspiera architektury s390 (zobacz rozdział Dekoder różnicy czasu serwera ICS). 66

67 3.1 Komputery PC jako silniki szachowe Skonfigurowano i przygotowano do pracy pięć komputerów klasy PC, jako klientów serwera szachowego (wraz z mocą procesora i ilością pamięci RAM): 2 x Compaq GHz, 512MB 2 x Dell GHz, 512 MB 1 x IBM x445 4 x 1.8 GHz, 4GB Zainstalowano na nich systemy operacyjne Linux (Slackware, Gentoo, Debian) oraz Windows (XP). Na każdym skonfigurowano i uruchomiono silnik szachowy (Stockfish, Crafty, Gnuchess, Rybka). Wszystkie Komputery umieszczono w racku. Znajdują się w KIS na ul. Stefanowskiego. Poglądowy schemat połączeń silników wraz z serwerem na mainframie z800 przedstawia rysunek 12. Rysunek 12. Schemat projektu serwera programów szachowych na mainframie w KIS. Po prawej znajduje się rack z pięcioma skonfigurowanymi komputerami (programami szachowymi) podłączonymi do serwera na mainframie (po lewej stroni). Chmura reprezentuje sieć internetową łącząca zewnętrznych klientów z serwerem. Mogą to być użytkownicy bądź silniki szachowe. Źródło: opracowanie własne 3.2 Automatyzacja zadań serwera Chessd W związku z potrzebą automatyzacji zadań na serwerze chessd opracowano dodatkowe skrypty. Poniżej plik telnet.sh mający za zadanie połączenia się z serwerem ICS jako użytkownik typu admin oraz wykonania podskryptu pose-match.sh z dalszymi komendami. Kod 1. telnet.sh 1 s l e e p 2 2 echo roboadmin 3 s l e e p 2 4 echo 49 g9 67

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V. T: Wirtualizacja instalacji serwera Windows. Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V. VirtualBox to

Bardziej szczegółowo

T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox.

T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox. T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox. Wstępna konfiguracja oprogramowania VirtualBox: Program VirtualBox zainstalowany jest w katalogu c:\programy\virtualbox. Po uruchomieniu

Bardziej szczegółowo

Tomasz Greszata - Koszalin

Tomasz Greszata - Koszalin T: Wirtualizacja systemu Linux Ubuntu w maszynie wirtualnej VirtualBox. Zadanie1. Odszukaj w serwisie internetowym dobreprogramy.pl informacje na temat programu Oracle VM VirtualBox. VirtualBox to oprogramowanie

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Etapy uruchamiania systemu 010 2 Systemy operacyjne i sieci komputerowe. Część 010. I. Etapy uruchamiania systemu Windows

Bardziej szczegółowo

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania Spis treści Rozdział 1. Wprowadzenie do programu IBM SPSS Modeler Social Network Analysis.............. 1 IBM SPSS

Bardziej szczegółowo

Wstęp 5 Rozdział 1. SUSE od ręki 13

Wstęp 5 Rozdział 1. SUSE od ręki 13 Wstęp 5 Rozdział 1. SUSE od ręki 13 KDE czy GNOME? 13 Jak uruchomić SUSE Live-CD z interfejsem GNOME? 14 Jak uruchomić SUSE Live-CD z interfejsem KDE? 15 Jak zmienić rozdzielczość ekranu? 16 Jak wyświetlić

Bardziej szczegółowo

Instalacja aplikacji

Instalacja aplikacji 1 Instalacja aplikacji SERTUM... 2 1.1 Pobranie programu z Internetu... 2 1.2 Instalacja programu... 2 1.3 Logowanie... 3 2 Instalacja aplikacji RaportNet... 4 2.1 Pobranie programu z Internetu... 4 2.2

Bardziej szczegółowo

Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych

Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych Cele Część 1: Identyfikacja i praca z kartą sieciową komputera Część 2: Identyfikacja i użycie ikon sieci w obszarze powiadomień

Bardziej szczegółowo

Instrukcja instalacji oprogramowania pixel-fox

Instrukcja instalacji oprogramowania pixel-fox Instrukcja instalacji oprogramowania pixel-fox Aktualizacja 08/2015 V7 (PL) - Subject to change without notice! Wymagania systemu: Aktualne minimalne wymagania systemowe dla program pixel-fox na PC: -

Bardziej szczegółowo

PlantVisor_1.90PL Instrukcja instalacji, konfiguracji oraz obsługi

PlantVisor_1.90PL Instrukcja instalacji, konfiguracji oraz obsługi PlantVisor_1.90PL Instrukcja instalacji, konfiguracji oraz obsługi 1/27 Wymagania sprzętowe dla komputera PC Processor: Pentium 4 2.0 GHz Ram: 512MB Twardy dysk: 20GB (200MB dla instalacji oprogramowania

Bardziej szczegółowo

SKRó CONA INSTRUKCJA OBSŁUGI

SKRó CONA INSTRUKCJA OBSŁUGI SKRó CONA INSTRUKCJA OBSŁUGI dla systemu Windows Vista SPIS TREśCI Rozdział 1: WYMAGANIA SYSTEMOWE...1 Rozdział 2: INSTALACJA OPROGRAMOWANIA DRUKARKI W SYSTEMIE WINDOWS...2 Instalowanie oprogramowania

Bardziej szczegółowo

Przykładowa konfiguracja komunikacji pomiędzy oprogramowaniem Wonderware i Codesys z wykorzystaniem sieci LAN lub modułu GSM

Przykładowa konfiguracja komunikacji pomiędzy oprogramowaniem Wonderware i Codesys z wykorzystaniem sieci LAN lub modułu GSM Przykładowa konfiguracja komunikacji pomiędzy oprogramowaniem Wonderware i Codesys z wykorzystaniem sieci LAN lub modułu GSM Informator Techniczny Wonderware nr 159 07.11.2016 r. SPIS TREŚCI Konfiguracja

Bardziej szczegółowo

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie Strona 1 z 6 Połączenia Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie Uwaga: Przy instalowaniu drukarki podłączonej lokalnie, jeśli dysk CD-ROM Oprogramowanie i dokumentacja

Bardziej szczegółowo

Synchronizator plików (SSC) - dokumentacja

Synchronizator plików (SSC) - dokumentacja SZARP http://www.szarp.org Synchronizator plików (SSC) - dokumentacja Wersja pliku: $Id: ssc.sgml 4420 2007-09-18 11:19:02Z schylek$ > 1. Witamy w programie SSC Synchronizator plików (SZARP Sync Client,

Bardziej szczegółowo

Udostępnianie urządzenia USB w sieci...3. Udostępnianie drukarki USB...5. Tworzenie kopii zapasowej komputera Mac z użyciem funkcji Time Machine...

Udostępnianie urządzenia USB w sieci...3. Udostępnianie drukarki USB...5. Tworzenie kopii zapasowej komputera Mac z użyciem funkcji Time Machine... Funkcje dodatkowe Spis treści Udostępnianie urządzenia USB w sieci...3 Udostępnianie drukarki USB...5 Tworzenie kopii zapasowej komputera Mac z użyciem funkcji Time Machine...6 Aplikacja NETGEAR genie...8

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

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:

Bardziej szczegółowo

oprogramowania F-Secure

oprogramowania F-Secure 1 Procedura wygenerowania paczki instalacyjnej oprogramowania F-Secure Wznowienie oprogramowania F-Secure zaczyna działać automatycznie. Firma F-Secure nie udostępnia paczki instalacyjnej EXE lub MSI do

Bardziej szczegółowo

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB.

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB. Podłączanie i konfiguracja zewnętrznych dysków i pamięci masowych do router ów firmy ASUS. Routery wyposażone w porty USB mają możliwość podłączenia zewnętrznych dysków twardych po przez port USB i udostępniania

Bardziej szczegółowo

Instrukcja instalacji Control Expert 3.0

Instrukcja instalacji Control Expert 3.0 Instrukcja instalacji Control Expert 3.0 Program Control Expert 3.0 jest to program służący do zarządzania urządzeniami kontroli dostępu. Dedykowany jest dla kontrolerów GRx02 i GRx06 oraz rozwiązaniom

Bardziej szczegółowo

Symfonia Produkcja Instrukcja instalacji. Wersja 2013

Symfonia Produkcja Instrukcja instalacji. Wersja 2013 Symfonia Produkcja Instrukcja instalacji Wersja 2013 Windows jest znakiem towarowym firmy Microsoft Corporation. Adobe, Acrobat, Acrobat Reader, Acrobat Distiller są zastrzeżonymi znakami towarowymi firmy

Bardziej szczegółowo

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Cel ćwiczenia: Celem zajęć jest zdobycie doświadczenia i umiejętności instalacji systemu operacyjnego z rodziny Unix bez wykorzystania

Bardziej szczegółowo

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0. Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2 Instrukcja tworzenia bazy danych dla programu AUTOSAT 3 wersja 0.0.4 2z12 1. Wymagania systemowe. Przed rozpoczęciem instalacji

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM

Bardziej szczegółowo

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja 7 Windows Serwer 2003 Instalacja Łódź, styczeń 2012r. SPIS TREŚCI Strona Wstęp... 3 INSTALOWANIE SYSTEMU WINDOWS SERWER 2003 Przygotowanie instalacji serwera..4 1.1. Minimalne wymagania sprzętowe......4

Bardziej szczegółowo

Biuletyn techniczny. CDN OPT!MA 12.0 Drukarki fiskalne w usługach terminalowych. Copyright 2007 COMARCH SA

Biuletyn techniczny. CDN OPT!MA 12.0 Drukarki fiskalne w usługach terminalowych. Copyright 2007 COMARCH SA Biuletyn techniczny CDN OPT!MA 12.0 Drukarki fiskalne w usługach terminalowych Copyright 2007 COMARCH SA 1 Spis treści 1 SPIS TREŚCI... 2 2 DRUKARKI FISKALNE W USŁUGACH TERMINALOWYCH... 3 2.1 2.2 INSTALACJA

Bardziej szczegółowo

NetDrive czyli jak w prosty sposób zarządzać zawartością FTP

NetDrive czyli jak w prosty sposób zarządzać zawartością FTP NetDrive czyli jak w prosty sposób zarządzać zawartością FTP W razie jakichkolwiek wątpliwości, pytań lub uwag odnośnie niniejszego dokumentu proszę o kontakt pod adresem info@lukaszpiec.pl. Można także

Bardziej szczegółowo

PARAGON GPT LOADER. Przewodnik

PARAGON GPT LOADER. Przewodnik PARAGON GPT LOADER Przewodnik Koncepcja produktu Główni odbiorcy Użytkownicy Windows XP Rozmiar dysków 3TB nie jest obsługiwany przez szeroko popularny system Windows XP 32- bitowy. Pomimo, że dwie nowe

Bardziej szczegółowo

Instrukcja szybkiego rozpoczęcia pracy

Instrukcja szybkiego rozpoczęcia pracy Instrukcja szybkiego rozpoczęcia pracy 1 Główne komponenty Program Acronis vmprotect 6.0 zawiera następujące główne komponenty: Acronis vmprotect Windows Agent (oprogramowanie instalowane na komputerze

Bardziej szczegółowo

Program Rejestr zużytych materiałów. Instrukcja obsługi

Program Rejestr zużytych materiałów. Instrukcja obsługi Program Rejestr zużytych materiałów. Instrukcja obsługi Autor: Andrzej Woch Tel. 663 772 789 andrzej@awoch.com www.awoch.com Spis treści Wstęp... 1 Informacje dla administratora i ADO... 1 Uwagi techniczne...

Bardziej szczegółowo

Samsung Universal Print Driver Podręcznik użytkownika

Samsung Universal Print Driver Podręcznik użytkownika Samsung Universal Print Driver Podręcznik użytkownika wyobraź sobie możliwości Copyright 2009 Samsung Electronics Co., Ltd. Wszelkie prawa zastrzeżone. Ten podręcznik administratora dostarczono tylko w

Bardziej szczegółowo

LeftHand Sp. z o. o.

LeftHand Sp. z o. o. LeftHand Sp. z o. o. Producent oprogramowania finansowo-księgowe, handlowego i magazynowego na Windows i Linux Instrukcja rejestracji wersji testowej programu LeftHand Ten dokument ma na celu przeprowadzić

Bardziej szczegółowo

Narzędzie Setup Instrukcja obsługi

Narzędzie Setup Instrukcja obsługi Narzędzie Setup Instrukcja obsługi Copyright 2007 Hewlett-Packard Development Company, L.P. Windows jest zastrzeżonym znakiem towarowym firmy Microsoft Corporation, zarejestrowanym w USA. Informacje zawarte

Bardziej szczegółowo

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r. System FOKUS Instalacja bazy danych MySQL Autor : Piotr Zielonka tel. 601 99-73-79 pomoc@zielonka.info.pl Piotrków Tryb., sierpień 2018r. W wersji 2018.7.0 systemu FoKus wprowadzono funkcje umożliwiające

Bardziej szczegółowo

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG Instrukcja obsługi programu CMS Dla rejestratorów HANBANG 1. Wymagania sprzętowe: Minimalne wymagania sprzętowe: System operacyjny: Windows Serwer 2003 Standard Edition SP2 Baza danych: Mysql5.0 Procesor:

Bardziej szczegółowo

Q E M U. http://www.qemu.com/

Q E M U. http://www.qemu.com/ http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama

Bardziej szczegółowo

UNIFON podręcznik użytkownika

UNIFON podręcznik użytkownika UNIFON podręcznik użytkownika Spis treści: Instrukcja obsługi programu Unifon...2 Instalacja aplikacji Unifon...3 Korzystanie z aplikacji Unifon...6 Test zakończony sukcesem...9 Test zakończony niepowodzeniem...14

Bardziej szczegółowo

DHL CAS ORACLE Wymagania oraz instalacja

DHL CAS ORACLE Wymagania oraz instalacja DHL CAS ORACLE Wymagania oraz instalacja Opis: Niniejszy dokument opisuje wymagania niezbędne do instalacji bazy danych DHL CAS ORACLE. Przedstawia również sam proces instalacji. Przeznaczony jest dla

Bardziej szczegółowo

Laboratorium - Instalacja Virtual PC

Laboratorium - Instalacja Virtual PC 5.0 5.4.1.4 Laboratorium - Instalacja Virtual PC Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium zainstalujesz i skonfigurujesz Tryb XP w Windows 7. Następnie uruchomisz podstawowe

Bardziej szczegółowo

Instrukcja szybkiego rozpoczęcia pracy

Instrukcja szybkiego rozpoczęcia pracy Instrukcja szybkiego rozpoczęcia pracy Spis treści 1 Główne komponenty... 3 2 Obsługiwane systemy operacyjne i środowiska... 4 2.1 Acronis vmprotect 8 Windows Agent... 4 2.2 Acronis vmprotect 8 Virtual

Bardziej szczegółowo

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7 1. Aplikacja do LOGO! 8 i LOGO! 7 1.1. Przegląd funkcji Darmowa aplikacja umożliwia podgląd wartości parametrów procesowych modułu podstawowego LOGO! 8 i LOGO! 7 za pomocą smartfona lub tabletu przez sieć

Bardziej szczegółowo

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator Wspomagamy procesy automatyzacji od 1986 r. Skrócony przewodnik OPROGRAMOWANIE PC MultiCon Emulator Wersja: od v.1.0.0 Do współpracy z rejestratorami serii MultiCon Przed rozpoczęciem użytkowania oprogramowania

Bardziej szczegółowo

VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp

VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp VComNet Podręcznik użytkownika Wstęp VComNet przeznaczony jest do wdrażania aplikacji komunikacyjnych uruchomionych na komputerze PC z systemem Windows z urządzeniami połączonymi poprzez RS485 (RS422/RS232)

Bardziej szczegółowo

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer? Kadry Optivum, Płace Optivum Jak przenieść dane na nowy komputer? Aby kontynuować pracę z programem Kadry Optivum lub Płace Optivum (lub z obydwoma programami pracującymi na wspólnej bazie danych) na nowym

Bardziej szczegółowo

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja Strona 1 z 6 Połączenia Obsługiwane systemy operacyjne Korzystając z dysku CD z oprogramowaniem, można zainstalować oprogramowanie drukarki w następujących systemach operacyjnych: Windows 8.1 Windows Server

Bardziej szczegółowo

Narzędzie konfiguracji rozruchu

Narzędzie konfiguracji rozruchu Narzędzie konfiguracji rozruchu 1. By skorzystać z narzędzia konfiguracji rozruchu na początek konieczne jest utworzenie płyty ratunkowej bądź wykorzystanie narzędzia IT Edition i uruchomienie maszyny

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

System kontroli dostępu ACCO NET Instrukcja instalacji

System kontroli dostępu ACCO NET Instrukcja instalacji System kontroli dostępu ACCO NET Instrukcja instalacji acco_net_i_pl 12/14 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

Bardziej szczegółowo

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer? Kadry Optivum, Płace Optivum Jak przenieść dane na nowy komputer? Aby kontynuować pracę z programem Kadry Optivum lub Płace Optivum (lub z obydwoma programami pracującymi na wspólnej bazie danych) na nowym

Bardziej szczegółowo

Acronis Backup & Recovery 10 Server for Linux. Instrukcja szybkiego rozpoczęcia pracy

Acronis Backup & Recovery 10 Server for Linux. Instrukcja szybkiego rozpoczęcia pracy Acronis Backup & Recovery 10 Server for Linux Instrukcja szybkiego rozpoczęcia pracy W tym dokumencie opisano sposób instalowania programu Acronis Backup & Recovery 10 Server for Linux oraz rozpoczynania

Bardziej szczegółowo

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B

Forte Zarządzanie Produkcją Instalacja i konfiguracja. Wersja B Forte Zarządzanie Produkcją Instalacja i konfiguracja Wersja 2013.1.B Forte Zarządzanie Produkcją - Instalacja i konfiguracja Strona 2 z 13 SPIS TREŚCI 1 Instalacja i konfiguracja Forte Zarządzanie Produkcją...

Bardziej szczegółowo

Seria wielofunkcyjnych serwerów sieciowych USB

Seria wielofunkcyjnych serwerów sieciowych USB Seria wielofunkcyjnych serwerów sieciowych USB Przewodnik szybkiej instalacji Wstęp Niniejszy dokument opisuje kroki instalacji i konfiguracji wielofunkcyjnego serwera sieciowego jako serwera urządzenia

Bardziej szczegółowo

INSTRUKCJA INSTALACJI

INSTRUKCJA INSTALACJI INSTRUKCJA INSTALACJI TcpMDT ver. 7 Aplitop, 2014 C/ Sumatra, 9 E-29190 MÁLAGA (SPAIN) web: www.aplitop.com e-mail: support@aplitop.com Spis treści Instalacja MDT ver. 7... 3 Wymagania systemowe... 3 Menu

Bardziej szczegółowo

NWD-210N Bezprzewodowy adapter USB 802.11n

NWD-210N Bezprzewodowy adapter USB 802.11n NWD-210N Bezprzewodowy adapter USB 802.11n Skrócona instrukcja obsługi Wersja 1.00 11/2007 Edycja 1 Copyright 2006. Wszelkie prawa zastrzeżone. Przegląd NWD210N to adapter sieciowy USB do komputerów osobistych.

Bardziej szczegółowo

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Pracownia internetowa w każdej szkole (edycja Jesień 2007) Instrukcja numer D1/05_03/Z Pracownia internetowa w każdej szkole (edycja Jesień 2007) Opiekun pracowni internetowej cz. 1 Ręczne zakładanie kont użytkowników (D1) Jak ręcznie założyć konto w systemie

Bardziej szczegółowo

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7 5.0 5.3.3.5 Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7 Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz korzystać z narzędzi administracyjnych

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

PC0060. ADAPTER Kabel Easy Copy PC-Link USB 2.0 Proste kopiowanie, bez instalacji. Instrukcja obsługi

PC0060. ADAPTER Kabel Easy Copy PC-Link USB 2.0 Proste kopiowanie, bez instalacji. Instrukcja obsługi PC0060 ADAPTER Kabel Easy Copy PC-Link USB 2.0 Proste kopiowanie, bez instalacji Instrukcja obsługi Rozdział 1 Produkt 1.1 Instrukcja Produkt PC0060 to najlepsze rozwiązanie w zakresie przesyłania danych.

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics wersji 20 przy użyciu licencja sieciowa. Ten dokument

Bardziej szczegółowo

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB.

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB. Podłączanie i konfiguracja zewnętrznych dysków i pamięci masowych do router ów firmy ASUS. Routery wyposażone w porty USB mają możliwość podłączenia zewnętrznych dysków twardych po przez port USB i udostępniania

Bardziej szczegółowo

Administracja serwerami

Administracja serwerami 1. Uruchomienie komputera z płyty instalacyjnej. Włącz komputer; Włóż płytę instalacyjną SUSE Linux Enterprise Server do napędu DVD; Jeśli komputer nie uruchomił się z płyty, zresetuj komputer wciskając

Bardziej szczegółowo

Połączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne?

Połączenia. Instalowanie drukarki lokalnie (Windows) Co to jest drukowanie lokalne? Strona 1 z 6 Połączenia Instalowanie drukarki lokalnie (Windows) Uwaga: Jeśli dysk CD Oprogramowanie i dokumentacja nie obejmuje obsługi danego systemu operacyjnego, należy skorzystać z Kreatora dodawania

Bardziej szczegółowo

Seria wielofunkcyjnych serwerów sieciowych USB

Seria wielofunkcyjnych serwerów sieciowych USB Seria wielofunkcyjnych serwerów sieciowych USB Przewodnik szybkiej instalacji Wstęp Niniejszy dokument opisuje kroki instalacji i konfiguracji wielofunkcyjnego serwera sieciowego jako serwera urządzenia

Bardziej szczegółowo

Instrukcja użytkownika

Instrukcja użytkownika Instrukcja użytkownika Menadżer Licencji Wersja 2013.0.1 Spis treści 1 WPROWADZENIE... 3 2 AKTUALIZACJA SERWISU KLUCZA HASP ORAZ ZDALNEGO SERWISU KLUCZA... 3 3 INSTALACJA... 3 4 MONITOR MENADŻERA LICENCJI...

Bardziej szczegółowo

Instrukcja do oprogramowania ENAP DEC-1

Instrukcja do oprogramowania ENAP DEC-1 Instrukcja do oprogramowania ENAP DEC-1 Do urządzenia DEC-1 dołączone jest oprogramowanie umożliwiające konfigurację urządzenia, rejestrację zdarzeń oraz wizualizację pracy urządzenia oraz poszczególnych

Bardziej szczegółowo

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1 Spis treści Wstęp... xi Wymagania sprzętowe (Virtual PC)... xi Wymagania sprzętowe (fizyczne)... xii Wymagania programowe... xiii Instrukcje instalowania ćwiczeń... xiii Faza 1: Tworzenie maszyn wirtualnych...

Bardziej szczegółowo

Ćwiczenie 10.1. Zmiana sposobu uruchamiania usług

Ćwiczenie 10.1. Zmiana sposobu uruchamiania usług Rozdział 10. Zarządzanie komputerem Ćwiczenia zawarte w tym rozdziale prezentują najważniejsze narzędzia służące do konfigurowania i monitorowania pracy komputera. Ponieważ system Windows XP został opracowany

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

Bardziej szczegółowo

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP System Windows XP umożliwia udostępnianie plików i dokumentów innym użytkownikom komputera oraz innym użytkownikom

Bardziej szczegółowo

SecureDoc Standalone V6.5

SecureDoc Standalone V6.5 SecureDoc Standalone V6.5 Instrukcja instalacji WinMagic Inc. SecureDoc Standalone Instrukcja Instalacji Spis treści Zanim przystąpisz do instalacji... 3 Tworzenie kopii zapasowej... 3 Wymagania systemowe...

Bardziej szczegółowo

Struktura dysku. Dyski podstawowe i dynamiczne

Struktura dysku. Dyski podstawowe i dynamiczne Struktura dysku Dyski podstawowe i dynamiczne System Windows 2000 oferuje dwa rodzaje konfiguracji dysków: dysk podstawowy i dysk dynamiczny. Dysk podstawowy przypomina struktury dyskowe stosowane w systemie

Bardziej szczegółowo

Narzędzie Setup. Instrukcja obsługi

Narzędzie Setup. Instrukcja obsługi Narzędzie Setup Instrukcja obsługi Copyright 2006 Hewlett-Packard Development Company, L.P. Bluetooth jest znakiem towarowym należącym do właściciela i używanym przez firmę Hewlett-Packard Company w ramach

Bardziej szczegółowo

Działanie komputera i sieci komputerowej.

Działanie komputera i sieci komputerowej. Działanie komputera i sieci komputerowej. Gdy włączymy komputer wykonuje on kilka czynności, niezbędnych do rozpoczęcia właściwej pracy. Gdy włączamy komputer 1. Włączenie zasilania 2. Uruchamia

Bardziej szczegółowo

str. 1 Informacja o zmianie treści specyfikacji istotnych warunków zamówienia Oświęcim, dnia r.

str. 1 Informacja o zmianie treści specyfikacji istotnych warunków zamówienia Oświęcim, dnia r. Oświęcim, dnia 16.07. 2015 r. Państwowe Muzeum Auschwitz-Birkenau w Oświęcimiu ul. Więźniów Oświęcimia 20 32-603 Oświęcim Informacja o zmianie treści specyfikacji istotnych warunków zamówienia Modyfikacja

Bardziej szczegółowo

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0 Instrukcja instalacji środowiska testowego na TestingCup 2017 wersja 1.0 Spis treści: 1. Wstęp Błąd! Nie zdefiniowano zakładki. 2. Konfiguracja sprzętowa 2 3. Instalacja bazy danych MySQL 5.7 2 4. Import

Bardziej szczegółowo

podstawowa obsługa panelu administracyjnego

podstawowa obsługa panelu administracyjnego podstawowa obsługa panelu administracyjnego Poniższy dokument opisuje podstawowe czynności i operacje jakie należy wykonać, aby poprawnie zalogować się i administrować środowiskiem maszyn wirtualnych usługi

Bardziej szczegółowo

Instalacja pakietu MS SQL Server 2012 Express Edition with Advanced Service

Instalacja pakietu MS SQL Server 2012 Express Edition with Advanced Service Instalacja pakietu MS SQL Server 2012 Express Edition with Advanced Service SZRBD SQL Server 2012 jest dostępny w darmowej wersji jako Express Edition. W niniejszym materiale zostanie omówiony proces instalacji

Bardziej szczegółowo

Narzędzie Setup Instrukcja obsługi

Narzędzie Setup Instrukcja obsługi Narzędzie Setup Instrukcja obsługi Copyright 2007, 2008 Hewlett-Packard Development Company, L.P. Windows jest zastrzeżonym znakiem towarowym firmy Microsoft Corporation, zarejestrowanym w USA. Informacje

Bardziej szczegółowo

1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7?

1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7? Temat. Architektura systemu Windows 7. 1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7? 3) Do czego służy narzędzie BCD. Edit?

Bardziej szczegółowo

INSTRUKCJA INSTALACJI DRUKARKI. (Dla Windows CP-D70DW/D707DW)

INSTRUKCJA INSTALACJI DRUKARKI. (Dla Windows CP-D70DW/D707DW) INSTRUKCJA INSTALACJI DRUKARKI (Dla Windows CP-D70DW/D707DW) Microsoft, Windows, Windows XP, Windows Vista i Windows 7 są zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych

Bardziej szczegółowo

Narzędzie Setup. Instrukcja obsługi

Narzędzie Setup. Instrukcja obsługi Narzędzie Setup Instrukcja obsługi Copyright 2007 Hewlett-Packard Development Company, L.P. Windows jest zastrzeżonym znakiem towarowym firmy Microsoft Corporation, zarejestrowanym w USA. Informacje zawarte

Bardziej szczegółowo

Estomed2. 1. Wstęp. 2. Instalacja Systemu Estomed2. 2.1. Jak zainstalować Estomed2. Hakon Software sp. z o. o. Podręcznik instalacji

Estomed2. 1. Wstęp. 2. Instalacja Systemu Estomed2. 2.1. Jak zainstalować Estomed2. Hakon Software sp. z o. o. Podręcznik instalacji Hakon Software sp. z o. o. Estomed2 Podręcznik instalacji 1. Wstęp Na wstępie dziękujemy za zakup systemu Estomed. Chcielibyśmy, żeby wiązał się on z uczestnictwem w tworzeniu i rozwoju naszego oprogramowania.

Bardziej szczegółowo

DESKTOP Internal Drive. Przewodnik po instalacji

DESKTOP Internal Drive. Przewodnik po instalacji DESKTOP Internal Drive Przewodnik po instalacji Przewodnik po instalacji Seagate Desktop 2013 Seagate Technology LLC. Wszelkie prawa zastrzeżone. Seagate, Seagate Technology, logo Wave i FreeAgent to znaki

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

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Instrukcja instalacji oprogramowania pixel-fox

Instrukcja instalacji oprogramowania pixel-fox Instrukcja instalacji oprogramowania pixel-fox Aktualizacja 06/2010 V4.03 (PL) - Subject to change without notice! Wymagania systemu: Aktualne minimalne wymagania systemowe dla program pixel-fox na PC:

Bardziej szczegółowo

TRX Konsola dyspozytorska - instrukcja obsługi

TRX Konsola dyspozytorska - instrukcja obsługi TRX Krzysztof Kryński TRX Konsola dyspozytorska - instrukcja obsługi Wersja 1.01 Wrzesień 2015 Copyright TRX TRX ul. Garibaldiego 4 04-078 Warszawa Tel. 22 871 33 33 Fax 22 871 57 30 www.trx.com.pl TRX

Bardziej szczegółowo

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum. Płace Optivum Jak przenieść dane programu Płace Optivum na nowy komputer? Aby kontynuować pracę z programem Płace Optivum na nowym komputerze, należy na starym komputerze wykonać kopię zapasową bazy danych

Bardziej szczegółowo

Biuletyn techniczny. Drukarki fiskalne w usługach terminalowych. Comarch OPT!MA 17.0. Copyright 2007 COMARCH SA

Biuletyn techniczny. Drukarki fiskalne w usługach terminalowych. Comarch OPT!MA 17.0. Copyright 2007 COMARCH SA Biuletyn techniczny Comarch OPT!MA 17.0 Drukarki fiskalne w usługach terminalowych Copyright 2007 COMARCH SA 1 Spis treści 1 SPIS TREŚCI... 2 2 DRUKARKI FISKALNE W USŁUGACH TERMINALOWYCH... 3 2.1 2.2 INSTALACJA

Bardziej szczegółowo

Procedura wdrożeniowa program MERKURY QUATTRO wer. 1.0

Procedura wdrożeniowa program MERKURY QUATTRO wer. 1.0 Syriusz sp. z o.o. Rzeszów, 2009 Procedura wdrożeniowa program MERKURY QUATTRO wer. 1.0 POSTANOWIENIA OGÓLNE Minimalna, sugerowana ilość godzin wdrożenia programu to: bez przenoszenia danych 8 godzin +

Bardziej szczegółowo

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze ABC komputera dla nauczyciela Materiały pomocnicze 1. Czego się nauczysz? Uruchamianie i zamykanie systemu: jak zalogować się do systemu po uruchomieniu komputera, jak tymczasowo zablokować komputer w

Bardziej szczegółowo

9.1.2. Ustawienia personalne

9.1.2. Ustawienia personalne 9.1.2. Ustawienia personalne 9.1. Konfigurowanie systemu Windows Systemy z rodziny Windows umożliwiają tzw. personalizację ustawień interfejsu graficznego poprzez dostosowanie wyglądu pulpitu, menu Start

Bardziej szczegółowo

Program Płatnik 10.01.001. Instrukcja instalacji

Program Płatnik 10.01.001. Instrukcja instalacji Program Płatnik 10.01.001 Instrukcja instalacji S P I S T R E Ś C I 1. Wymagania sprzętowe programu Płatnik... 3 2. Wymagania systemowe programu... 3 3. Instalacja programu - bez serwera SQL... 4 4. Instalacja

Bardziej szczegółowo

INSTRUKCJA INSTALACJI SYSTEMU NA SERWERZE KROK PO KROKU

INSTRUKCJA INSTALACJI SYSTEMU NA SERWERZE KROK PO KROKU INSTRUKCJA INSTALACJI SYSTEMU NA SERWERZE KROK PO KROKU 1 / 10 Co jest potrzebne do instalacji aplikacji wraz z bazą danych: serwer z zainstalowanym systemem operacyjnym Windows, posiadający min. 4 GB

Bardziej szczegółowo

Poradnik korzystania z usługi FTP

Poradnik korzystania z usługi FTP Poradnik korzystania z usługi FTP 1. Wstęp FTP (ang. File Transfer Protocol) to usługa pozwalająca na wymianę plików poprzez Internet w układzie klient-serwer. Po podłączeniu się do serwera za pomocą loginu

Bardziej szczegółowo

Drukarki termosublimacyjne

Drukarki termosublimacyjne INK JET PHOTO IMAGING PREPRESS MEDICAL IMAGING Drukarki termosublimacyjne DS40 DS80 Instrukcja instalacji i ustawienia sterownika drukarki w systemie operacyjnym Windows 2000 i XP Wersja 3.10 Spis treści

Bardziej szczegółowo

Dokument zawiera instrukcję samodzielnej Instalacji Microsoft SQL Server 2008 R2 RTM - Express na potrzeby systemu Sz@rk.

Dokument zawiera instrukcję samodzielnej Instalacji Microsoft SQL Server 2008 R2 RTM - Express na potrzeby systemu Sz@rk. Dokument zawiera instrukcję samodzielnej Instalacji Microsoft SQL Server 2008 R2 RTM - Express na potrzeby systemu Sz@rk. 1. Wstęp Przed zainstalowaniem serwera SQL należy upewnić się czy sprzęt na którym

Bardziej szczegółowo

Konwersja maszyny fizycznej na wirtualną

Konwersja maszyny fizycznej na wirtualną 1 (Pobrane z slow7.pl) Konwersja maszyny fizycznej na wirtualną (odsłona druga). Zadanie to wykonamy przy pomocy narzędzia Paragon Go Virtual. Paragon Go Virtual to rozwiązanie, które pomoże zrealizować

Bardziej szczegółowo