1
2 Zakres wykładu Posumowanie Aplikacja Abng-poller Aplikacje RT w systemie SOLARIS- SUN MEDIA Center Specjalizowane aplikacje w systemie Linux Wybrane aspekty RTOS System Linux Piccolo Wprowadzenie
3 Tendencje rozwoju RTOS UNIX Java OS SystemyProducenci 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
4 Rozwój aplikacji Java Personal Java AE Embedded Java AE Java Cards Desktop OS Entr. Servers Mainframes RTOS Vendors Set-top boxes ScreenPhones Internet TV Car Navigation Industrial Controllers Printers Hi-end Pagers SmartCards Java Ring Java AE
5 Model JavaOS
6 Podstawowe cechy RTOS Model wątków Zarządzanie priorytetami Przełączanie kontekstu Zarządzanie pamięcią Urządzenia WE/WY
7 Model wątków = Processor = LWP Hardware Kernel User
8 Zarządzanie procesami Running Runnable in memory Runnable swapped Sleeping in memory Sleeping swapped sleep swap out wakeup swap out preemptassign CPU swap in
9 Zarządzanie priorytetami Class-speficic priorities Real-times priorities System priorities Time-sharing priorities Scheduler classes Run queues Scheduling order Global priority First Last Highest Lowest
10 Czas reakcji aplikacji Processor instruction or system in critical region 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 Interrupt response Dispatch latency Priority task Interrupt latency Interrupt processing Application response time External event Response to event
11 Przełączanie kontekstu Reschedules to run highest priority task Calculates response Dispatch latency Priority task Application response time Internal event Response to event Low-priority process releases resources or provide input for higher priority process Dispatch latency około 1 msec Przełączanie wątku kilkaset razy szybsze
12 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()
13 Sun MediaCenter API MSM Client CM Client RPC Media Stream Mngr. Content Mngr. Media F.S. Low- level Drivers content Video bit streams
14 Platforma sprzętowa 50 GB SUN Media Center
15 Scenariusze użycia SMC SMC Switch MPEG-1 or MPEG-2 Stream RPC SMC Switch Client workstation RPC Set-top Box Set-top Box ATM Fast-E Client workstation
16 Scenariusze użycia SMC SMC Switch MPEG-1 or MPEG-2 Stream RPC ATM Fast-E Client workstation RT MPEG kompresja Wizualizacja z opóźnieniem 2 s Zapamiętanie informacji
17 Video na żądanie SMC Client workstation Client workstation Client workstation Client workstation Client workstation Do 50 strumieni
18 Interface użytkownika
19 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
20 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.
21 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.
22 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.
23 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.
24 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.
25 Tryb pracy z wykorzystaniem Sieciowego Systemu Plików (NFS)
26 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.
27 Proces inicjalizacji systemu * w sierpniu 1998 firma M-Systems wprowadziła to beta testów sterowniki DiskOnChip dla systemu Linux 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.
28 Proces inicjalizacji systemu - schemat
29 Zarządzanie za pośrednictwem WWW
30 Urządzenie ABng poller
31 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
32 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.