Koniec z amatorszczyzną

Podczas targów Komputer'91 jury konkursu Nowoczesnych Rozwiązań Sprzętu Mikrokomputerowego i Oprogramowania Mi-kroLaur'91 przyznało Panu medal w kategorii oprogramowania i systemowego za ReMix - Wielozadaniowy i wieloprocesorowy system operacjny czasu rzeczywistego. Chętnie dowiemy się czegoś więcej o nagrodzonej pracy.

Podczas targów Komputer'91 jury konkursu Nowoczesnych Rozwiązań Sprzętu Mikrokomputerowego i Oprogramowania Mi-kroLaur'91 przyznało Panu medal w kategorii oprogramowania i systemowego za ReMix - Wielozadaniowy i wieloprocesorowy system operacjny czasu rzeczywistego. Chętnie dowiemy się czegoś więcej o nagrodzonej pracy.

- ReMix przeznaczony jest do wykorzystania w mikrokomputerach specjalizowanych i sterownikach przemysłowych. Architektura takich systemów, wielkość pamięci, zestaw urządzeń wejścia-wyjścia dobierane są stosownie do funkcji, jakie mają one spełniać. Dotyczy to zarówno systemów specjalizowanych, czyli projektowanych z myślą o konkretnym za stosowaniu, jak i uniwersalnych -konfigurowanych w oparciu o typowe bloki sprzętowe. Tworzenie oprogramowania systemów czasu rzeczywistego jest zadaniem trudnym, szczególnie w przypadku konfiguracji wieloprocesorowych. Wynika to z konieczności obsługi wielu asynchronicznie pojawiających się zdarzeń zachodzących w sterowanym procesie technologicznym. Należy przy tym zapewnić krótki czas reakcji systemu na te zdarzenia i właściwą kolejność ich obsługi, zależną od kolejości zgłoszeń i ich priorytetu. Oprogramowanie powinno być efektywne - dobrze wykorzystywać moc obliczeniową procesora i uwzględniać to, że niektóre procesy mog ą być wykonywane współbieżnie. Oprogramowaniu stawia się wysokie wymagania pod względem stopnia niezawodności, powinno ono być także łatwe do testowania i modyfikacji. Wymaga to podziału programu na oddzielnie kompilowane moduły i ustalenia jednolitych zasad komunikacji pomiędzy nimi. Najbardziej zaawansowanym narzędziem ułatwiającym tworzenie efektywnego oprogramowania mikrokomputerów specjalizowanych i sterowników przemysłowych jest wielozadaniowy system operacyjny czasu rzeczywistego. System ten, podobnie jak system operacyjny w komputerach osobistych, jest nadrzędnym programem zarządzającym wszystkimi zasobami mikrokomputera. Musi to być jednak system o strukturze otwartej - dający się łatwo dostosować do konkretnego zastosowania i konfiguracji sprzętu.

- Oczywiście ReMixjest właśnie takim systemem.

- Tak. Pozwala on na przygotowanie i wstępne uruchomienie oprogramowania na mikrokomputerze klasy IBM PC, następnie po przeniesieniu na docelową konfigurację sprzętu, zapewnia środowisko niezbędne do jego wykonania. System pozwala też na podział całego oprogramowania na zadania, czyli zestaw procesów sekwencyjnych, które mogą być wykonywane współbieżnie. W systemie wieloprocesorowym można przypisać zadanie konkretnemu procesorowi,można też tworzyć zadania, które mogą być wykonywane przez dowolny z procesorów. W systemie jednoprocesorowym podział na zadania ułatwia pisanie złożonych programów, a także dzięki wbudowanym w system mechanizmom synchronizacji zadań - umożliwia efektywne wykorzystanie procesora. Zadanie jest zwykle związane z obsługą pewnego bloku sprzętowego lub z określoną funkcją, jaką ma spełniać system. W przypadku rozbudowy konfiguracji sprzętu lub algorytmu sterowania wystarczy modyfikacja niektórych tylko zadań lub dołączenie nowych -bez jakichkolwiek zmian w pozostałej części oprogramowania. Ta cecha oraz jednolity w całym systemie sposób komunikacji między zadaniami, przyspieszają czas uruchamiania oprogramowania tworzonego przez większe zespoły programistów. System ReMix zakłada wykorzystanie języka C jako podstawowego języka do pisania zadań użytkowych. Sam kompilator nie jest częścią systemu. Aktualnie oferowane wersje systemu przystosowane są do współpracy z kompilatorami Turbo C wersja 2.0 lub Turbo C++ wersja 1.0 firmy Borland. ReMix nadaje się do zastosowania w systemach dysponujących nawet niewielkim zapasem mocy obliczeniowej w stosunku do wymagań narzuconych przez algorytmy sterowania i przetwarzania danych. Napisany jest w całości w asemblerze z głęboką optymalizacją kodu programu ze względu na czas wykonania. Zastosowane mechanizmy synchronizacji i przełączania zadań dobrane są pod kątem minimalizacji narzutów systemowych. Pisanie programów użytkowych działających pod kontrolą systemu ReMix jest łatwe. Użytkownik nie operuje na żadnych systemowych strukturach danych i nie musi znać ich formatu. Cała komunikacja z systemem odbywa się przez wywołania funkcji systemowych.

- Czy w walce o medal musiał Pan pokonać silną konkurencję?

- Miałem raczej ułatwione zadanie, bo zajmuje się tym stosunkowo niewiele osób. W II etapie konkursu właściwie nie miałem konkurencji - sześć innych zgłoszonych prac mieściło się w klasie oprogramowania aplikacyjnego.

- Nasi Czytelnicy zapewne chętnie dowiedzieliby się czegoś więcej o samym laureacie tegorocznego MikroLauru

-Jestem elektronikiem, nie informatykiem. Studiowałem na Politechnice Warszawskiej; moja specjalizacja to systemy mikroprocesorowe zarówno od strony sprzętu, jak i oprogramowania. Oprogramowanie czasu rzeczywistego wymaga właśnie przede wszystkim dobrej znajomości zasad funkcjonowania sprzętu, żeby maksymalnie wykorzystać wszystkie jego możliwości.

- A jak zrodził się sam pomysł systemu ReMix?

- Zapotrzebowanie było tu głównym inspiratorem. Na Politechnice Warszawskiej w Instytucie Podstaw Elektroniki realizowane było zlecenie, którego tematem był system filtracji podetekcyjnej. Mówiąc prościej,chodziło o urządzenie współpracujące z radarem i o to, żeby z informacji z radaru wyłowić i wyrzucić wszystko to, co nieistotne (przeloty ptaków, napływające chmury itp.). Nie było takiego gotowego sytemu czasu rzeczywistego, który można by użyć do tego celu. Miałem już wtedy prywatną firmę, zawarłem umowę z PW i na jej zlecenie opracowałem system, który zainstalowany został na sprzęcie danym przez uczelnię.Zdobyłem też prawo do udoskonalania tego oprogramowania. Efektem całości prac nad systemem jest właśnie ta nagroda.

—Ile czasu poświęcił Pan na rozwiązanie tego problemu?

- Od pierwszej instalacji minęło już półtora roku, ale prawdę mówiąc zajmowałem się tym jeszcze wcześniej. Tylko były to wtedy jedynie badania rozpoznawcze, zmierzające do znalezienia odpowiedzi na pytanie, czy coś takiego dałoby się zrobić.

- A co zadecydowało o podjęciu decyzji o zgłoszeniu ReMixa do konkursu MikroLaur?

- Miał on już za sobą trzy udane instalacje. Dla PW, a ściślej dla Przemysłowego Instytutu Telekomunikacji, dla Warszawskich Zakładów Radiowych RAWAR (system automatycznego śledzenia obiektów latających) i trzeci - dla Zakładów Aparatury Elektronicznej Polon (interfejs IEC-625 jako pakiet mikroprocesorowy). W ostatnim zastosowaniu chodziło o system jednoprocesorowy, co dowodzi uniwersalności oprogramowania do systemów mniejszych i większych.

Po tych trzech udanych instalacjach postanowiłem zaprezentować ReMixa na szerszym forum. Było to konieczne, bo użytkowników tego typu systemów nie jest dużo i dotrzeć do nich nie jest łatwo. Pomyślałem, że zamiast ogłaszać się w gazetach lepiej spróbować wystartować w konkursie. Z pełną świadomością postawiłem ReMixa pod ocenę fachowców. Nie byłem tylko pewien, czy wśród sędziów konkursowych znajdzie uznanie taki swoisty system. Jednak spodobał się.

- Czym dla Pana jest ten medal? .

-Jest to przede wszystkim satysfakcja, choć nie jedynie. Zmieniły się czasy i można już przyznać, iż pracuje się dla pieniędzy. Oczekuję, że w ten sposób będę mógł się zorientować, jakie jest faktyczne zapotrzebowanie na tego rodzaju systemy i czy warto kontynuować prace nad udoskonaleniem Re-Mixa. Zdobyty medal jest też miłym podsumowaniem trzech lat pracy.

- Ostatnio Andrzej Piątek reprezentuje zakładElekronikiProfesjonalnej. Co to takiego?

-Jest to prywatna firma. W biznesie wystartowałem zakładając najpierw zakład rzemieślniczy. Współpracowałem z innymi firmami prywatnymi produkującymi sprzęt komputerowy 8-bitowy. Potem zająłem się już pracami programowymi. Jednak nie zatrudniłem zespołu ludzi, który by to robił. Sam włączałem się do prac innych zespołów, zajmując się oprogramowaniem systemowym. Takie rozwiązanie ułatwia opracowanie oprogramowania przez większe zespoły i sprawdza się w praktyce.

—Jakie są Pana najbliższe plany?

- Właśnie jestem w trakcie negocjacji w sprawie następnych uruchomień systemu dla Politechniki Warszawskiej i Przemysłowego Instytutu Telekomunikacji. Mam nadzieję, że umowy zostaną sfinalizowane. Chodzi tym razem o opracowanie nowej wersji systemu wykorzystującego procesor INTEL 80386. Wszystko wskazuje na to, że znowu wejdę w skład zespołu opracowującego większy projekt.

- Kończąc tę ciekawą rozmowę, chcę laureata konkursu MikroLaur'91 namówić na to, by spróbował doradzić innym, co trzeba robić, aby osiągnąć sukces w informatyce.

- Należy wiedzieć, co dzieje się na świecie, bo nie ma sensu powielać tego, co już ktoś zrobił, chyba że będziemy od niego lepsi. Amatorszczyzna w Polsce nie ma już szansy powodzenia. Nastały czasy dla profesjonalistów. Produkt niedopracowany, przy tej ilości oprogramowania dostępnego na rynku, nie przebije się. Profesjonalizm będzie też potrzebny nie tylko przy tworzeniu nowych produktów, ale i przy ich sprzedaży. Prawda jest bowiem taka,że

z tego, iż ma się niezły towar do zaoferowania, wcale nie wynika, że wszyscy od razu będą chcieli go kupić. Mamy bardzo dużo dobrych programistów, śmiało mogących konkurować z kolegami z Zachodu, i nie musimy z tego powodu popadać w żadne kompleksy

- Dziękuję za rozmowę

i w imieniu całej naszej redakcji gratuluję i życzę dalszych, jeszcze większych osiągnięć.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200