320 likes | 472 Views
Specjalizowane Aplikacje w Systemie UNIX. Igor Bokun Krzysztof Zieliński Katedra Informatyki Akademia Górniczo-Hutnicza. Zakres wykładu. Wprowadzenie. Wybrane aspekty RTOS. Aplikacje RT w systemie SOLARIS- SUN MEDIA Center. Specjalizowane aplikacje w systemie Linux.
E N D
Specjalizowane Aplikacje w Systemie UNIX Igor Bokun Krzysztof Zieliński Katedra Informatyki Akademia Górniczo-Hutnicza
Zakres wykładu Wprowadzenie Wybrane aspekty RTOS Aplikacje RT w systemie SOLARIS- SUN MEDIA Center Specjalizowane aplikacje w systemie Linux Aplikacja Abng-poller System Linux Piccolo Posumowanie
Tendencje rozwoju RTOS Systemy Producenci SUN QNX Soft.Sys. RadiSys Mrcoware Sys. Chours Sys. CMU New Mexico Tech. Unv. O\of Arizona Solaris Spring QNX iRMX Lynx OS9 Chorus Chimera RT Mach RT Linux x-Kernel UNIX JavaOS
Rozwój aplikacji Java Desktop OS Entr. Servers Mainframes RTOS Vendors Set-top boxes ScreenPhones Internet TV Car Navigation Industrial Controllers Printers Hi-end Pagers Java AE Personal Java AE SmartCards Java Ring Embedded Java AE Java Cards
Podstawowe cechy RTOS Model wątków Zarządzanie priorytetami Przełączanie kontekstu Zarządzanie pamięcią Urządzenia WE/WY Solaris
Model wątków User Kernel Hardware = Processor = LWP
Zarządzanie procesami Running sleep assign CPU preempt Sleeping in memory Runnable in memory wakeup swap out swap out swap in wakeup Runnable swapped Sleeping swapped
Zarządzanie priorytetami Scheduler classes Run queues Global priority Scheduling order Class-speficic priorities First Highest Real-times priorities System priorities Time-sharing priorities Lowest Last
Czas reakcji aplikacji External event Response to event Application response time Priority task Dispatch latency Interrupt response Interrupt processing Interrupt latency System save or restore registers Driver’s interrupt routine sends message to wake up sleeping process Returns from interrupt Reschedules to run highest priority task Calculates response Processor instruction or system in critical region
Przełączanie kontekstu Internal event Response to event Application response time Priority task Dispatch latency Low-priority process releases resources or provide input for higher priority process Reschedules to run highest priority task Calculates response Dispatch latency około 1 msec Przełączanie wątku kilkaset razy szybsze
Zarządzanie pamięcią Zagwarantowanie ciągłego obszaru obszaru pamięci dla wykonania procesu w pamięci operacyjnej. Memory Locking zapobiega wymianom stron mlock() mlockall() munlock() munlockall()
Sun MediaCenter API MSM Client Media Stream Mngr. RPC Low- level Drivers Media F.S. content CM Client Content Mngr. RPC Video bit streams
Platforma sprzętowa 50 GB SUN Media Center
Scenariusze użycia SMC ATM Fast-E RPC SMC Switch Client workstation MPEG-1 or MPEG-2 Stream Set-top Box RPC SMC Switch Client workstation Set-top Box
Scenariusze użycia SMC Zapamiętanie informacji RT MPEG kompresja ATM Fast-E RPC SMC Switch Client workstation MPEG-1 or MPEG-2 Stream Wizualizacja z opóźnieniem 2 s
Video na żądanie SMC Do 50 strumieni Client workstation Client workstation Client workstation Client workstation Client workstation
Specjalizowane zastosowanie systemu Linux Wykorzystanie systemu Linux do realizacji modułu poller systemu ActiveBadge Aplikacja Abng poller LinuxPiccolo - specjalizowana wersja systemu Systemy multimedialne wrażliwe na lokalizację użytkowników
System Active Badge System Active Badge został zaprojektowany w Olivetti & Oracle Research Laboratory (ORL) w Cambridge. Celem projektu było stworzenie infrastruktury sprzętowej oraz programowej, umożliwiającej realizację aplikacji wrażliwych na lokalizację osób i przedmiotów. Przykładowe zastosowania systemu: Automatyczne otwieranie drzwi w momencie, gdy osoba uprawniona do wejścia do danego pomieszczenia zbliży się do drzwi. Automatyczne sterowanie oświetleniem na podstawie informacji o obecności osób w pomieszczeniu. Teleporting komputerowego środowiska pracy. Przejście osoby do innego pomieszczenia może spowodować przeniesienie środowiska graficznego na najbliższy komputer. Inteligentne rutowanie połączeń telefonicznych.
Elementy sprzętowe systemu Aktywne plakietki noszone przez użytkowników systemu, bądź przytwierdzone do sprzętu Sensory rozmieszczone w pomieszczeniach, odbierające sygnały od plakietek. Komunikacja odbywa się za pośrednictwem podczerwieni.
System Active Badge next generation System Active Badge, który powstał na początku lat dziewięćdziesiątych oparty jest o środowisko programowania rozproszonego ANSAWare. Biorąc pod uwagę rozwój w dziedzinie systemów rozproszonych, a w szczególności wprowadzenie i rozpowszechnienie standardu CORBA, zaistniała konieczność zaprojektowania nowoczesnego następcy systemu Active Badge. Active Badge next generation (ABng) jest rozproszonym, obiektowym systemem opartym o nowoczesną architekturę CORBA, w którym dużą uwagę skupiono na zagadnieniach skalowalności oraz elastyczności.
Moduł ABng poller Jednym z elementów systemu Active Badge next generation jest ABng poller. Pełni on funkcje warstwy pośredniczącej pomiędzy sensorami a pozostałymi obiektami systemu. Jako platformę systemową do implementacji modułu wybrano system Linux.
Linux na platformie PC/104 Architektura PC/104 została opracowana w 1992 roku w odpowiedzi na rosnące zapotrzebowanie na rozwiązanie zgodne ze standardową architekturą PC, dostosowane do zastosowań w tzw. systemach wbudowanych (embedded). • Podstawowe różnice pomiędzy urządzeniami PC/104 a tradycyjnymi PC: • zmniejszone wymiary (3.6”x3.8”) • niewielki pobór mocy (1-2 W na moduł) • inny standard złącza magistralowego, zapewniający większą niezawodność połączeń oraz możliwość łączenia modułów w stos Uruchomienie systemu operacyjnego Linux na komputerach opartych o architekturę PC/104 nie przysparza większych problemów. Ze względu na dostępność kodu źródłowego systemu oraz aplikacji, Linux stanowi bardzo elastyczną, dojrzałą oraz łatwą w rozbudowie platformę dla systemów typu embedded.
Wykorzystanie dysków typu Flash Wykorzystanie NFS jest wygodne w początkowej fazie rozwoju systemu, kiedy występuje częsta aktualizacja plików (np. wskutek rekompilacji programu). Docelowo jednak urządzenie powinno być całkowicie niezależne od zewnętrznych serwisów. pomysł: umieścić obraz jądra systemu oraz root filesystem w pamięci Flash. W przypadku gdy istotna jest miniaturyzacja urządzenia, DiskOnChip firmy M-Systems wydaje się być optymalnym rozwiązaniem. wyzwanie: Ze względu na stosunkowo wysoką cenę dysków typu Flash należy zmodyfikować system Linux, by rozmiar jądra oraz systemu plików, wraz z aplikacjami nie przekroczył 6-8 MB -> LinuxPiccolo.
Proces inicjalizacji systemu problem techniczny: DiskOnChip dostarczany jest wyłącznie ze sterownikami dla systemów DOS, QNX oraz Windows 95. rozwiązanie (tymczasowe?): Uruchomić system pod kontrolą „systemu” DOS. Umieścić w pamięci RAM obraz systemu plików wraz z aplikacjami, a następnie wykorzystując program loadlin rozpocząć inicjalizację systemu Linux. Po otrzymaniu sterowania system Linux stworzy RAM dysk, w którym umieści wprowadzony obraz systemu plików „przekazany” z poziomu DOSa. Podstawową wadą tego rozwiązania jest tryb pracy read-only. W przypadku aplikacji ABng poller, ograniczenie to jest akceptowalne. * w sierpniu 1998 firma M-Systems wprowadziła to beta testów sterowniki DiskOnChip dla systemu Linux
Analiza przedstawionego rozwiązania • znaczne zmniejszenie gabarytów urządzenia • wyeliminowanie konsoli, konfiguracja urządzenia odbywa się poprzez sieć • mniejszy pobór mocy • wyeliminowanie części mechanicznych - zwiększenie niezawodności systemu • duża stabilność systemu Linux, dostępność dojrzałych implementacji standardu CORBA • niska cena
Systemy multimedialne wrażliwe na lokalizację Połączenie rozwijanych w Katedrze Informatyki AGH systemów multimedialnych z infrastrukturą ABng daje możliwości prowadzenia badań nad nowym typem aplikacji: Aplikacji multimedialnych, wrażliwych na lokalizację użytkowników. Przykłady: Rozmieszczone w budynku kamery na bieżąco „śledzą” daną osobę, dostarczając za pośrednictwem sieci komputerowej obraz do centrum monitorowania. Aplikacje „follow me video”, w których sekwencje wideo „podążają” za zmieniającym lokalizację użytkownikiem.