Programowanie urz*dze* mobilnych

  • View
    213

  • Download
    0

Embed Size (px)

Text of Programowanie urz*dze* mobilnych

Programowanie urzdze mobilnych

Programowanie urzdze mobilnychPawe Fiderek2011

Wykad 3 Windows Mobile wprowadzenieHistoria systemuPochodzenieRozwj kolejnych wersji

WprowadzeniePodstawowe elementy GUIWprowadzenie do programowania urzdze z systemem Windows Mobile2PUM wykad 3 Pawe Fiderek

3PUM wykad 3 Pawe Fiderek

Windows CE system operacyjny opracowany przez Microsoft jako system dla urzdze przenonych typu PDA (np.: Pocket PC lub Palm) lub jako system wbudowany. Wersja 1.0 bya bardziej rozbudowanym organizerem ni systemem operacyjnym (z punktu widzenia uytkownika.)Windows CE jest zoptymalizowany dla urzdze o minimalnej pamici jdro Windows CE moe by uruchomione nawet w 1 MB pamici. System nie wymaga do pracy dysku twardego, moe by wic system zamknitym, i by umieszczony w pamici ROM. Obsuguje 256 priorytetw wykonywania i korzysta z dziedziczenia priorytetw w razie, przydatnych w sytuacji inwersji priorytetw. Podstawow jednostk wykonywania jest wtek, co umoliwia prostsze zarzdzanie procesami. Windows CE uywany jest take w komputerach pokadowych samochodw wraz z systemem rozpoznawania mowy majcym zapewni bezdotykow obsug systemu operacyjnego.

4PUM wykad 3 Pawe FiderekWindows CE 1.x specyfikacja urzdze na ktrych system mia pracowa :

Wymiary nie wiksze ni 18x10x2.5 cmZasilanie z dwch baterii AAWaga mniejsza ni 500 gKlawiatura QWERTY zawierajca klawisze takie jak SHIFT, CTRL i ALTDotykowy wywietlacz LCD o rozdzielczoci 480x240 pikseli w 4 odcieniach szarociMinimum 4 MB pamici ROMMinimum 2 MB pamici RAMPort podczerwieniPort COM zgodny z RS-232Slot PC Card (PCMCIA)Wbudowana obsuga dwikuProcesor SuperH 3, MIPS 3000 lub MIPS 4000Microsoft nie wypowiedzia si jednoznacznie co oznacza skrt CE, lecz twierdzi, e taka nazwa nie bya celowa. Owiadczy jednak, e CE wyraa moe w sobie wiele koncepcji, takich jak Compact (ang. Kompaktowy), Connectable (ang. cznociowy), Compatible (ang. Kompatybilny). Najczciej jednak nazw tumaczy si jako "Compact Edition" lub "Consumer Electronics".

5PUM wykad 3 Pawe Fiderek

Wygld GUI systemu Windows CE 1.0rdo: Internet.

6PUM wykad 3 Pawe FiderekWersje systemu

1 Windows CE 1.x2 Windows CE HandheldPC 2.x3 Windows CE 2.11 - Palm-Size PC 1.14 Windows CE 2.11 - Palm-Size PC 1.25 Windows CE HandeldPC 2.11 - HandheldPC Professional6 Windows CE HandeldPC 3.x - HandheldPC 20007 Windows CE .net (4.x)8 Windows CE 5.09 Windows CE 6.010 Windows Mobile (i ten system rwnie posiada kilka wersji.)Od wersji 4.0 z systemem zintegrowano .NET Compact Framework. Windows CE 6.0 powsta we wrzeniu 2006 roku. Nazwa kodowa "Yamazaki". M.in. zwikszono przestrze adresow procesu z 32 MB do 1 GB i umoliwiono uruchomienie 32 768 procesw (w porwnaniu z 32 w wersji 5.0).

7PUM wykad 3 Pawe FiderekMicrosoft Windows Mobile

Microsoft Windows Mobile to 32-bitowy system operacyjny przeznaczony dla urzdze typu Pocket PC oraz Smartphone. Windows Mobile nie jest zupenie osobnym systemem, lecz rozszerzeniem Windows CE o dodatkow funkcjonalno, API (ang. Application Programming Interface) oraz Shell.Dostpne wersje Systemu:Windows Mobile 2003Windows Mobile 2003SEWindows Mobile 5.0Windows Mobile 6.0 (64 MB RAM, wywietlacz 3,5 cala)Windows Mobile 6.1 ClassicIstniej wersje przeznaczone dla PocketPC z wbudowanym moduem GSM:Windows Mobile 2003 Premium Phone editionWindows Mobile 2003SE Phone editionWindows Mobile 5.0 (Magneto) Phone editionWindows Mobile 6.0 Phone editionWindows Mobile 6.1 ProfessionalWindows Mobile 6.5 ProfessionalWindows Mobile 6.5.1 Professional (w trakcie rozwoju)Windows Mobile 7 Professional (w trakcie rozwoju)

8PUM wykad 3 Pawe FiderekIstniej rwnie wersje dla smartphone obsugujce ekrany 176x220 oraz 240x320 bez ekranu dotykowego:Smartphone 2002Windows Mobile 2003 for SmartphoneWindows Mobile 2003SE for SmartphoneWindows Mobile 5.0 for SmartphoneWindows Mobile 6.0 for SmartphoneWindows Mobile 6.1 Standard

Wygld GUI systemu Windows Mobile 5.0rdo: Internet.

9PUM wykad 3 Pawe Fiderek.NET Compact Framework

Platforma umoliwiajca uruchamiane aplikacji napisanych w jzykach rodziny .NET, bedaca swego rodzaju maszyn wirtualn (jak np. JVM).

Zatem mona powiedzie, e .Net Framework to maszyna wirtualna udostpniajca biblioteki, odpowiedzialne za nisko-poziomow interakcj z systemem operacyjnym, jzykom zarzdzanym (ang. managed) wysokiego poziomu, np. C#. Kod napisany w C# czy J# jest najpierw kompilowany do poredniego jzyka MSIL (Microsoft Intermediate Language). Wynikiem tego dziaania jest modu zawierajcy instrukcje MSIL. Jedn z przyczyn zastosowania MSIL jest mozliwo wykorzystywania wielu jzykw programowania (VB, C#, J#, JScript, i Visual C++), skd pojawia si konieczno poredniej kompilacji kodu do MSIL. Nastpnie, modu ten zamieniany jest na natywne instrukcje danego systemu operacyjnego CLR (ang. Common Language Runtime). Zatem .Net Framework postrzega powinno si bardziej, jako platform wielojzykow, a nie jak maszyn wirtualn (jak np. maszyna wirtualna Javy) wieloplatformow. Przeprowadzane s obecnie prace nad rozszerzeniem owych piciu wspieranych jzykw programowania do ponad dwudziestu piciu .

10PUM wykad 3 Pawe Fiderek

Architektura .NET Compact Frameworkrdo: Internet

11PUM wykad 3 Pawe FiderekCommon Language Runtime wsplne rodowisko uruchomieniowe. Jego podstawowym zadaniem jest zlokalizowanie, wczytywanie oraz zarzdzanie typami .NET w imieniu uytkownika. CLR zajmuje si niskim poziomem pracy aplikacji np.: automatyczne zarzdzanie pamici, integracj jzykow oraz uatwianie wdroenia ( i wsparcie dla rnego rodzaju wersji ) bibliotek kodu binarnego.

CLR skada si z dwch zasadniczych elementw:

Runtime execution engine - mechanizm wykonawczy rodowiska uruchomieniowego mscoree.dll. Kiedy pakiet ( assembly ) jest wywoywany, automatycznie wczytywany jest mscoree.dll, ktry z kolei wczytuje do pamici potrzebny pakiet. Mechanizm uruchomieniowy jest odpowiedzialny za wykonanie szeregu zada. Pierwszym i najwaniejszym jest okrelenie pooenia pakietu i znalezienie wymaganego typu ( np. klasy, interfejsu, struktury itp. ) w kodzie binarnym przez odczytanie dostarczonych metadanych. Mechanizm wykonawczy kompiluje zasocjowany IL ( Intermediate Language ) do instrukcji specyficznych dla danej platformy.

Biblioteka klas podstawowych. Skada si z kilku oddzielnych pakietw, najwaniejszym jest mscorlib.dll. Zawiera du liczb podstawowych typw, ktre hermetyzuj du rnorodno najczciej spotykanych zada programistycznych. Kade rozwizanie oparte na platformie .NET, zawsze wykorzystuje si ten pakiet i czasem kilka innych .NET ( zarwno oferowanych przez system jak i przygotowanych przez uytkownika ).

Common Language Specification specyfikacja wsplnego jzyka. Jest zbiorem zasad definiujcych podzbir wsplnych typw (dla rnych jzykw), ktry daje pewno, e kod binarny .NET moe zosta bez klejenia wykorzystany przez wszystkie jzyki wsppracujce na platformie .NET.

12PUM wykad 3 Pawe FiderekCommon Type System zbir wbudowanych podstawowych i wsplnych typw. Zawiera peny opis wszystkich moliwych typw danych, obsugiwanych przez rodowisko uruchomieniowe. Zawiera take informacje, o tym, jakie interakcje mog zachodzi midzy nimi, oraz okrela szczegy ich reprezentacji w formie metadanych .NET. Managed Code - Kompilatory zgodne z CLR zamieniaj kod rdowy aplikacji na kod wykonywalny, zapisany w standardowym jzyku porednim MSIL, oraz na metadane informacje na temat kodu wykonywalnego oraz danych wykorzystywanych przez ten kod. Platforma .NET umoliwia pisanie aplikacji w wielu jzykach, ale dziki MC kompilator zamienia wszystkie operacje na typach danych, to jest klasach, strukturach, liczbach cakowitych, acuchach znakw na jzyk MSIL i metadane.W czasie wykonywania aplikacji, CLR tumaczy kod MSIL na kod maszynowy (natywny) procesora, na ktrym wykonywana jest aplikacja. Taka konwersja kodu z MSIL na kod maszynowy daje moliwo zarzdzania wykonywaniem aplikacji, co pozwala unikn wielu problemw std nazwakod zarzdzany.

Garbage Collection .NET Compact Framework zapewnia zwalnianie wszystkich zasobw, z jakich korzysta aplikacja, po jej zakoczeniu. W tym celu wykorzystywany jest mechanizm o nazwie Garbate Collection. Compact Framework decyduje kiedy powinien zosta uruchomiony proces Garbage Collection. Moe on zosta uruchomiony w pojedynczej domenie aplikacji bd te we wszystkich dostpnych. Pozwala to zapobiega sytuacj, gdy jedna aplikacja zuywa zbyt duo pamici w porwnaniu z innymi.

Podstawy dziaania Garbage collection 13PUM wykad 3 Pawe FiderekGarbage collection (zbieranie nieuytkw) to architektura zarzdzania pamici, w ktrej proces zwalniania nieuywanych jej obszarw odbywa si automatycznie. Mechanizm taki stosuje si na przykad w wysokopoziomowych jzykach programowania, przy czym za jego obsug nie odpowiada sam jzyk, lecz wirtualna maszyna.Garbage collection zostao wymylone przez Johna McCarthy'ego okoo roku 1959 do rozwizania problemu rcznego zarzdzania pamici w Lispie. By to pierwszy jzyk obsugujcy ten mechanizm. Przykadowymi jzykami obsugujcymi ten mechanizm s Smalltalk, Python, Ruby, Java, C#. Istnieje co najmniej kilka metod pracy GC.Liczenie odnonikw (reference counting)W tej metodzie kada jednostka zarezerwowanej pamici ma licznik, w ktrym jest zapisana liczba odwoa do tej jednostki.Za kadym razem, kiedy dodajemy odwoanie, zwikszamy licznik we wskazywanej jednostce, a kiedy odwoanie usuwamy, zmniejszamy licznik. Jeli warto licznika osigna zero, to usuwamy wszystkie odnoniki wychodzce z tego obszaru pamici i zwalniamy go.

Metoda ta nie gwarantuje zwolnienia wszystkich niepotrzebnych obszarw w sytuacji, gdy wystpuj tzw. wzajemne (cykliczne) odwoania. Przykadowo, jeli X zawiera wskanik na Y, a Y zawiera wskanik na X (np. s to dwa komunikujce si ze sob obiekty), licznik w adnym z nich nigdy nie osignie zera.

14PUM wykad 3 Pawe FiderekW liczeniu odnonikw dod