Systemy operacyjne dla telefonów komórkowych Šukasz Potera 6 stycznia 2006 1 Krótki wst p o telefonach komórkowych. Czym s nowoczesne telefony komórkowe? Tak naprawd najnowsze modele Nokii czy Samsungów niewiele ró»ni si sw zªo»ono±ci od komputerów klasy PC. Oprócz podstawowych zada«- jak banalne rozmowy czy wiadomo±ci tekstowe najnowsze telefony posiadaj miliony opcji, w których poªapanie si mo»e zaj naprawd du»o czasu - mo»emy robi zdj cia, nagrywa lmy video, sªucha muzyki. Ka»dy telefon wyposa»ony jest w programy uªatwiaj ce»ycie jego u»ytkownikowi, jak organizer, budzik, kalendarz czy zwykªy notes. Oczywi±cie wszystkie nowoczesne telefony posiadaj gry - bardzo pomocne narz dzie w czasie podró»y poci giem, czy nudnego lmu w kinie. Oprócz tego dochodzi oczywi±cie wymiana danych, mi dzy telefonami, lub telefonem i komputerem PC, obsªuga sieci WAP, pami ci itd.,itp. Sprawne, efektywne i zgodne z oczekiwaniami u»ytkownika dziaªanie tych wszystkich narz dzi jest bardzo istotn spraw. Tak»e widzimy jak wa»n cz ±ci ka»dego telefonu jest jego oprogramowanie - a konkretnie system operacyjny. Zastanówmy si teraz... 2 Czego oczekujemy od systemu operacyjnego dla telefonów komórkowych. Jako system operacyjny rozumiemy zarówno j dro systemu jak i wszystkie aplikacje które s dostarczane z systemem - podobnie jak w przypadku Windowsa:). Nie wiem jak jest w Twoim przypadku ale ja zdecydowanie ªatwiej przyswajam informacje, zawarte w kilku tre±ciwych punktach. Niech ten podrozdziaª ma wªa±nie tak posta. Czego wi c ja oczekuj od systemu operacyjnego? (oprócz oczywi±cie umo»liwienia mi dodzwonienia si gdziekowiek:)): efektywno±ci - chcieliby±my»eby dane dost pne w pami ci telefonu byªy dost pne w krótkim czasie,»eby budzik zadzwoniª o porze na któr go ustawili±my itd. System operacyjny dla telefonów musi by nastawiony na wydajno±, nie chcieliby±my przecie» np. logowa si póª godziny:). niezawodno±ci - oczekujemy»e nie b dziemy musieli rebootowa systemu co godzin bo si zawiesza. No i oczywi±cie rzecz najwa»niejsz jest pewno±»e dane które mamy w pami ci telefonu nie zostan utracone pod»adnym pozorem (no mo»e poza wrzuceniem telefonu do garnka z wrz tkiem co te» si zdarza). kolejn cech jest co± co mo»emy nazwa uªatwianiem pracy programi±cie. System powinien uªatwia tworzenie oprogramowania wolnego od bª dów. (poprzez struktury które obrabiaj bª dy takie jak niski poziom baterii, czy wyczerpanie pami ci). 1
efektywne zarz dzanie pami ci - jest to bardzo wa»ny aspekt dziaªania systemu operacyjnego moim zdaniem. W systemach które dziaªaj bardzo dªugi okres czasu bez reboota od±miecanie pami ci odgrywa znacz c rol. System zarz dzania pami ci powinien zapewni te» brak bª dów wyczerpania si pami ci w czasie dziaªania ró»nych aplikacji. oczywi±cie system musi by odpowiedzialny za wej±cie-wyj±cie - odpowiada za obsªug klawiatury, ekranu dotykowego, ale tak»e za bezpieczne i pewne poª czenie z komputerem, innym telefonem czy internetem. wymagamy tak»e wsparcia dla mi dzynarodowych standardów - takich jak kodowanie Unicode, protokoªy TCP/IP, POP3, SMTP, SMS, MMS, WAP, czy Bluetooth. wa»na jest te» moim zdaniem otwarto± i wsparcie dla j zyka obiektowego jakim jest Java, lecz tak»e dla niezale»nych aplikacji napisanych w innych j zykach. no i na koniec sprawa dla u»ytkowników telefonów komórkowych (a przynajmniej dla mojej mamy, która jest nieocenionym ¹ródªem wiedzy na ten temat) najwa»niejsza - przyjazny interfejs u»ytkownika. Nie chcieliby±my przecie» na przykªad wpisywa komendy callto z linii poleceeby si gdzie± dodzwoni :). 3 Nowoczesny system operacyjny na przykªadzie Symbian OS v9. 3.1 O tym czemu Symbian OS. Wybraªem ten system operacyjny jako przykªad z paru powodów. Po pierwsze jest to system zbudowany absolutnie od pocz tku - nie jest wzorowany ani na»adnym systemie znanym z PC, ani na systemie palmtopowym, mimo to jest bardzo rozwini ty i zªo»ony. Ponadto je»eli jeste± posiadaczem nowego modelu Nokii, Siemensa, Panasonica czy Ericssona to najprawdopodobniej ten tekst dotyczyª b dzie w jakim± stopniu Twojego telefonu komórkowego. Jest to po prostu najpopularniejszy system na rynku europejskim. 3.2 Dwa sªowa o innych systemach operacyjnych. W tym miejscu nale»aªoby wspomnie o innych systemach i napisa dlaczego nie chciaªem napisa czego± wi cej o nich. Najpowa»niejsz konkurencj dla Symbiana jest Palm OS i Windows Mobile. Windowsa nie wybraªem z dwóch powodów. Po pierwsze niewiele ró»ni si od wersji PC-towej - opisywanie go byªoby wi c nudne. Po drugie jest przeznaczony gªównie dla palmtopów. A wiadomo»e zazwyczaj jak co± jest do wszystkiego to jest do niczego:). Drugi zarzut dotyczy te» Palm OS. Palmem nie zaj ªem si te» z innego powodu - jest to rma dziaªaj ca gªównie na rynku ameryka«skim. Firma ta obecnie jest w do± powa»nych tarapatach nansowych. Informacja dla fanów Linuxa - najnowsze wersje Palm OS dziaªaj ju» na j drach linuxowych - mo»e wi c w przyszªo±ci wartoby si jednak zainteresowa tym systemem:). 3.3 Budowa i funkcje Symbian OS v9. Przede wszystkim czym jest Symbian OS? Jest to system stworzony przez rm Symbian Ltd., spadkobiercy Psion's EPOC - rmy, która byªa pionierem na rynku systemów operacyjnych 2
do telefonów komórkowych. Jest on napisany i optymalizowany dla najnowszych telefonów serii G3. Twórcy systemu Symbian OS okre±laj go jako otwarty. Nie jest to jednak system otwarty w takim sensie w jakim my rozumiemy otwarto± - kod systemu nie jest dost pny. Jednak system ten jest otwarty na oprogramowanie pisane z zewn trz - dokumentacja API jest publiczna i ka»dy mo»e rozwija oprogramowanie dla Symbiana. Wa»n rzecz jest»e Symbian oprócz wsparcia dla Javy wspiera te» inne j zyki programowania np. C++ - w zasadzie wi kszo± programów dla Symbiana zostaªa napisana w tym j zyku. Teraz rzecz najwa»niejsza: jak zbudowany jest Symbian OS v9? Jako»e system ten ma budow poziomow to najªatwiej b dzie opisa go w kilku punktach. Oto kolejne warstwy Symbian OS: integracja j dra i sprz tu - ten poziom odpowiada za integracj sprz tu z Symbian OS, lecz tak»e za zarz dzanie energi i za rozwi zywanie sytuacji awaryjnych. W skªad tej warstwy wchodz : oczywi±cie j dro systemu - j dro dziaªa w trybie wielozadaniowym, w czasie rzeczywistym. Dziaªa oczywi±cie w trybie uprzywilejowanym, do jego zada«nale»y zarz dzanie sprz tem, planowanie przydziaªu zada«, zarz dzanie energi, a tak»e alokowanie pami ci dla siebie i procesów u»ytkownika. J dro oferuje te» bibliotek najni»szego poziomu - bibliotek funkcji systemowych, w celu kontrolowanego dost pu u»ytkownika do j dra. kotrolery dla takich urz dze«jak porty DTE, DCE, USB, dla klawiatury, kart SD, ekranu dotykowego, sªuchawek czy Ethernetu. warstwa bazowa - zawiera struktury programistyczne dla innych komponentów Symbian OS. W skªad tej warstwy wchodz : biblioteki niskiego poziomu - dostarczaj narz dzi potrzebnych dla innych komponentów Symbian OS, a tak»e dla aplikacji pisanych przez innych programistów. Zawarte s tu m.in. biblioteka kryptograczna, struktury parsowania XMLa, zarz dzania energi, silniki baz danych, wsparcie dla kodowania znaków itd. system plików - jego zadaniem jest ukrycie przed u»ytkownikiem telefonu komórkowego architektury i struktury katalogów i plików. Odpowiada on te» za obsªug montowanych urz dze«typu karty SD, czy pami ci Flash. serwisy systemu operacyjnego - to jest wªa±nie serce Symbian OS - to tu znajduj si narz dzia niezb dne do zarz dzania multimediami, grak, poª czeniami z internetem, zwykªymi poª czeniami telefonicznymi, szyfrowaniem, czy ª czeniem telefonu z komputerem PC. Zawiera: podsystem wspieraj cy multimedia, który zawiera m.in. wsparcie dla systemu audio - dla strumieni, odtwarzania i zapisywania d¹wi ku, dla kamer video, aparatów, czy OpenGL-a. podsystem odpowiedzialny z szyfrowanie, zawieraj cy moduªy szyfrowania takie jak DES, czy RSA lub RC5, lecz tak»e moduªy odpowiedzialne za identykacj u»ytkownika (oparte na certykatach). podsystem odpowiedzialny za telefoni - ma on zapewnia wsparcie dla standardów poª cze«takich jak: GSM2, GPRS czy synchronizacja ksi»ki telefonicznej (bardzo przydatne gdy zmieniamy telefony, prawda?). 3
podsystem odpowiedzialny za poª czenie z urz dzeniami peryferyjnymi, wspiera m.in. Bluetooth, IrdA, USB, czy zwykªy Serial. system obsªugi graki - zapewnia dzielony dost p do ekranu, klawiatury, zawiera te» obsªug czcionek. Wspiera m.in. anti-aliasing (niestety nie udaªo mi si tego zwrotu przetªumaczy, ale to chyba lepiej). do warstwy serwisów systemu operacyjnego nale»y te» narz dzie odpowiedzialne za poª czenie telefonu z komputerem PC. kolejn warstw s serwisy aplikacji - Symbian zapewnia odpowiednie wsparcie dla wszelkiego rodzaju aplikacji takich jak kalendarz czy ksi»ka telefonu, lecz tak»e dla systemu wiadomo±ci, przegl darek, czy synchronizacji telefonu. Do tej warstwy nale» : system wiadomo±ci - zapewnia wsparcie dla protokoªów wysyªania i odbierania wiadomo±ci wszelkiego rodzaju. Wspiera m.in. SMS, EMS, MMS, POP3, SMTP, czy IMAP4. synchronizacja danych - Symbian OS zawiera system OMA SyncML synchronizacji danych, który wspiera m.in. Bluetooth, USB, HTTP. Do zada«tego systemu nale»y te» dbaªo± o synchronizacj np. kalendarza. Java - mimo»e Symbian OS wspiera te» inne j zyki np. C++, nadal wiod cym jest Java - ta warstwa odpowiada za wykonywalno± i optymalizacj aplikacji napisanych w tym j zyku. Ten poziom ma zapewni kompatybilno± zarówno prostych programów, jak i zaawansowanych projektów korzystaj cych ze wszystkich mo»liwo±ci telefonu. Oczywi±cie to tu dost pny jest interpreter Javy. ostatnia warstwa Symbian OS - dla wielu (w tym mojej mamy) jedyna tak naprawd interesuj ca - struktura interfejsu u»ytkownika - Symbian zapewnia pot»ne ±rodowisko do tworzenia ró»norodnych interfesjów u»ytkownika, ma przy tym zapewni maksymaln kompatybilno± dla twórców aplikacji. W jej skªad wchodz : struktura aplikacji interfejsu u»ytkownika - gªównym zadaniem struktury gracznego interfejsu u»ytkownika jest zapewni pªynno± i przyjazne ±rodowisko (moja mama powiedziaªaby»e ma by prosto i kolorowo). Symbian GUI (Graphical user interface) zapewnia m.in. system okienek i mechanizm pozwalaj cy wygl d pulpitu zmienia i dopasowa do indywidualnych potrzeb (»eby wszystko ªadnie wygl daªo - mama), mechanizmy uªatwiaj ce pisanie i rozmawianie (»eby SMSy si ªatwo pisaªo - równie»). narz dzia interfejsu u»ytkownika - ta strutkura ma zapewni proste i przyjemne korzystanie z narz dzi telefonu - zawiera np. narz dzia do formatowania tekstu, do animacji, sªownik T9 itp.. Przeczytanie wszystkich punktów byªo prawdopodobnie dla Czytelnika trudne i nienajciekawsze, ale wydaj mi si»e pokazaªo i» mimo»e telefon komórkowy ma wymiary dwóch pudeªek od zapaªek to system do niego jest naprawd skomplikowany. Informacje wspomniane przeze mnie o poszczególnych warstwach to tylko ich zarys ogólny. O ka»dej z nich mo»naby napisa oddzielny artykuª. Jak zapewniaj twórcy Symbian OS powy»sze mechanizmy, struktura maj zapewni niezawodno± i efektywno±, wygod i komfort w u»ytkowaniu telefonu, a tak»e (co dla programistów chyba bardziej interesuj ce) ma zapewnia komfort przy tworzeniu aplikacji dla telefonu. Nale»y mie nadziej»e tak wªa±nie jest:). 4
4 Przyszªo± systemów operacyjnych dla telefonów komórkowych. Linux?? W tym krótkim rozdziale chc napisa par zda«o LiPS-sie (Linux Phone Standards), która to organizacja mo»e w najbli»szym czasie wnie± bardzo du»o w rozwój systemów operacyjnych. Nie b d pisaª o technologiach jakie s aktualnie tworzone i testowane przez czªonków tej organizacji. Opowiem tlyko krótko czym jest LiPS i czemu mo»e by to niedªugo bardzo gro¹na konkurencja dla Symbiana. 4.1 O twórcach LiPS LiPS zpstaª stworzony w 2005 roku przez 11 wiod cych w dziedzinie telefonii kompanii, które s zainteresowane wdra»aniem technologii Linuxowej do przeno±nych urz dze«, w tym do telefonów komórkowych. Tych jedenastu zaªo»ycieli to: ARM, Cellon, Esmertec, France Telecom, FSM Labs, Huawei, Jaluna, MIZI Research, MontaVista Software, Open-Plug i PalmSource. S to pot»ne i znane rmy. To jest jeden z powodów dla których Linux ju» niedªugo mo»e zawªadn rynkiem telefonii komórkowej. 4.2 O LiPS-sie Zadanie jakie postawili sobie czªonkowie LiPSa to przyspieszenie wdra»ania systemów linuxowych w±ród urz dze«mobilnyc przez m.in ustandaryzowanie bazy oraz API. Twórcy LiPSa zauwa»yli»e na rynku panuje zapotrzebowanie na open-source-owy system operacyjny oraz»e nale»y upro±ci i standaryzowa tworzenie aplikacji dla telefonów. W tym celu postawili przed sob kilka zada«: jak zapewni wsparcie dla systemó linuxowych w±ród operatorów telefonii komórkowej jak zharmonizowa prace ró»nych grup tworz cych oprogramowanie i systemy linuxowe jak zbudowa wspóln wizj wdra»ania systemu opartego na Linuxie i dost pnego dla szerokiego grona obiorców jak stworzy system dost pny dla masowego odbiorcy a nie tylko dla elitarnych telefonów jak zapewni staªy i pewny rozwój systemu jak zapewni elastyczno± i bezpiecze«stwo systemu opartego na Linuxie jak stworzy testy i certykaty dla tworzonego oprogramowania,»eby byªo ono zgodne ze standardami LiPSa Miejmy nadziej»e LiPSowi uda si stworzy w najbli»szym czasie bezpieczny i stabilny system oparty na Linuxie. Z pewno±ci zyskaliby±my na tym znacznie. Po wi cej informacji na temat LiPSa odsyªam na stron organizacji http://lipsforum.org/. 5