WPAM. W4 Mobilny system operacyjny. Piotr Gawrysiak. pgawrysiak@supermedia.pl



Podobne dokumenty
WPAM. Wstęp do programowania aplikacji mobilnych. Piotr Gawrysiak.

BUDOWA APLIKACJI NA PLATFORMĘ IPHONE/IPAD. dr inż. Marcin Tomana

WPAM. W2 - Krótka historia naturalna najdawniejszych urządzeń mobilnych. Piotr Gawrysiak.

Jądro systemu operacyjnego

Wprowadzenie do systemów operacyjnych

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Podstawowe zagadnienia

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

dr Artur Bartoszewski dr Artur Bartoszewski - Aplikacje mobilne - Wykład

Struktury systemów operacyjnych

System komputerowy. System komputerowy

ochrona w systemie operacyjnym

UX ma znaczenie. O różnych podejściach do projektowania interakcji na mobile.

Systemy Operacyjne. informacje dodatkowe

Installation of EuroCert software for qualified electronic signature

Android, wprowadzenie do SDK

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania

Kompresja pamięci w jądrze Linuksa

Angielski bezpłatne ćwiczenia - gramatyka i słownictwo. Ćwiczenie 4

Systemy Operacyjne. informacje dodatkowe

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

TECHNOLOGIA BLUETOOTH: Wykaz telefonów przetestowanych i polecanych przez RENAULT. Szara linia: Gray line:

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Komputery przemysłowe i systemy wbudowane

Systemy operacyjne. Paweł Pełczyński

Linux Kernel. Wprowadzenie

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

Zdecyduj: Czy to jest rzeczywiście prześladowanie? Czasem coś WYDAJE SIĘ złośliwe, ale wcale takie nie jest.

Stargard Szczecinski i okolice (Polish Edition)

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Wroclaw, plan nowy: Nowe ulice, 1:22500, sygnalizacja swietlna, wysokosc wiaduktow : Debica = City plan (Polish Edition)

Systemy Czasu Rzeczywistego (SCR)

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Wykład 3: Implementacja programów wbudowanych

ERASMUS + : Trail of extinct and active volcanoes, earthquakes through Europe. SURVEY TO STUDENTS.

POSIX ang. Portable Operating System Interface for Unix

Tworzenie sterowników dla FreeBSD. Michał Hajduk

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Pielgrzymka do Ojczyzny: Przemowienia i homilie Ojca Swietego Jana Pawla II (Jan Pawel II-- pierwszy Polak na Stolicy Piotrowej) (Polish Edition)

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Wątki w Android OS. Matt Rutkowski. GynSoft sp. z o.o. matt@gynsoft.net

Sieciowe Systemy Operacyjne

Marzena Kanclerz. Microsoft Channel Executive. Zachowanie ciągłości procesów biznesowych. z Windows Server 2012R2

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

4. Procesy pojęcia podstawowe

Marzec: food, advertising, shopping and services, verb patterns, adjectives and prepositions, complaints - writing

Opis specjalności. Zajęcia obejmować będą również aspekty prawne dotyczące funkcjonowania sieci komputerowych i licencjonowania oprogramowania.

Programowanie aplikacji na urządzenia mobilne

1. Etapy rozwoju systemów komputerowych

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

Matryca funkcjonalności systemu FAMOC

Piotr Orzechowski. Technologie Biznesu Elektronicznego

System MDM Bezpieczeństwo mobilne FAMOC

Warstwy systemu Windows 2000

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 13 ARCHITEKTURA SYSTEMU WINDOWS. Opracował Sławomir Zieliński

WPAM. W5 Android bardzo krótkie wprowadzenie. Piotr Gawrysiak

Progressive Web Apps w kontekście proximity marketingu

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Google Android. Opracował Maciej Ciurlik

Biuletyn techniczny. CDN OPT!MA 8.5 Wskazówki dotyczące instalacji programu. Copyright 2006 COMARCH SA

"Klasyczna" struktura systemu operacyjnego:

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Instrukcja obsługi User s manual

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

PRZEWODNIK PO PRZEDMIOCIE

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

Technologia informacyjna

Zestawienie czasów angielskich

Agenda. Rys historyczny Mobilne systemy operacyjne

Urządzenia mobilne Nowe szanse, nowe zagrożenia FWZQJAEHEPQABIRQS

Zaliczenie przedmiotu:

Komputer i urządzenia z nim współpracujące.

Bądź mobilny. dysponując bezpiecznym dostępem do plików i możliwością samoobsługowego drukowania. Rafał Kruschewski.

LEKCJA TEMAT: Zasada działania komputera.

Powiedz TAK dla mobilności w biznesie wybierając Novell ZENworks Mobile Management!

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Jerzy Kosiński Wyższa Szkoła Policji w Szczytnie

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

System operacyjny komputera Informacje podstawowe

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

MEDIAFLEX PREZENTACJA FIRMY. Mediaflex Sp. z o. o.. ul. Wodna 17, Kraków

Hakin9 Spam Kings FREEDOMTECHNOLOGYSERVICES.CO.UK

OS 4.0. Revolution goes-on. Nowy system dla instrumentów: VIVO S7, S3, S1, SX7, VIVO P7, P3, VIVO H7, H3, H1, COMBO J7

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

Wstęp do informatyki. Świat komputerów. Sprzęt (Hardware) Komputer osobisty (Personal Computer) Cezary Bolek

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

Warszawa, Wytyczne dla projektu Biblioteka GUI

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Przegląd współczesnych systemów operacyjnych

Sztuka Projektowania Aplikacji Mobilnych

Zagadnienia wstępne WSTĘP DO PROGRAMOWANIA APLIKACJI MOBILNYCH DLA SYSTEMU ANDROID

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Transkrypt:

WPAM W4 Mobilny system operacyjny C-BY-SA Piotr Gawrysiak Piotr Gawrysiak pgawrysiak@supermedia.pl Politechnika Warszawska Instytut Informatyki Zakład Systemów Informacyjnych 2012

Software co to znaczy mobilny system operacyjny??? Czy można zastosować system operacyjny przeznaczony dla urządzeń stacjonarnych w urządzeniach mobilnych?

Software co to znaczy mobilny system operacyjny??? Czy można zastosować system operacyjny przeznaczony dla urządzeń stacjonarnych w urządzeniach mobilnych? Oczywiście że można co nie znaczy że będzie to rozwiązanie optymalne

System operacyjny - funkcje Oczywiście funkcjonalność systemu operacyjnego bywa definiowana różnie, podstawowe funkcje zwykle jednak obejmują: - Kernel Zarządzanie procesami Zarządzanie pamięcią Zapewnienie abstrakcji sprzętu (API, HAL) Komunikacja międzyprocesowa Userland System plików Zarządzanie użytkownikami Usługi współdzielone (services) Interfejs użytkownika

Zarządzanie procesami i pamięcią Współczesne systemy operacyjne to zwykle systemy wielozadaniowe (multitasking) zorientowane na wykonywanie monolitycznych aplikacji. To wymaga: Jądra z mechanizmami typu preemptive multitasking (planista czasu CPU, mechanizm wywłaszczania procesów itp.) Dużej ilości pamięci operacyjnej = mechanizm pamięci wirtualnej Pytanie czy urządzenie mobilne wyposażone jest (zwykle) w dużą ilość pamięci operacyjnej? Pytanie pomocnicze czy łatwo w takim urządzeniu

Zarządzanie procesami i pamięcią W większości przypadków w systemach mobilnych będziemy mieć do czynienia z ograniczonymi możliwościami wieloprocesowości. Na przykład - PalmOS

Zarządzanie procesami i pamięcią Oraz Android

Efekty uboczne Oczywiście z punktu widzenia użytkownika operacje przełączania aplikacji powinny odbywać się w taki sam sposób niezależnie od zachodzącego w tle zarządzania zasobami pamięci. Właściwe (tj. dokładnie w tym stanie w jakim została porzucona) odtworzenie stanu aplikacji zależy jednak w większości przypadków od programisty ios (>=6)

Oczywiście można i pooszukiwać Because users are likely to switch among apps frequently, you should make every effort to cut launch time to a minimum, and you should design a launch image that downplays the experience rather than drawing attention to it. Generally, design a launch image that is identical to the first screen of the app. ios Human Interface Guidelines

Ale zaraz Przecież jądra współczesnych mobilnych systemów operacyjnych to (w większości przypadków) klasyczne monolityczne jądra wielozadaniowe? Istotnie, np.: - Android > Linux (2.6 -> 3.5 ->3.8) - ios > BSD - Windows Phone > Win (Windows CE -> Windows NT) - Blackberry 10 > QNX (RTOS) Jednakże, jak brzmi stare przysłowie, Linux is

Wirtualizacja aplikacji W praktyce większość aplikacji jakie działać będą na urządzeniu mobilnym (czy też raczej będą prezentowane użytkownikowi) będzie tworzona w kodzie zarządzanym. Np. Windows Phone 7:

Jeszcze o wielozadaniowości Praktyczna realizacja wielozadaniowości może także sprawiać problemy od strony UI

System plików System plików wydaje się być niezbędnym elementem systemu operacyjnego Czy jednak rzeczywiście??? Implementacja pełnego systemu plików to często same kłopoty: Bezpieczeństwo (kłopoty z izolacją danych, problemy z przypisaniem danych do aplikacji itp.) Wydajność Licencjonowanie technologii (np. FAT / FAT32) Pierwsze mobilne systemy operacyjne (PalmOS/NewtonOS) nie posiadały w ogóle systemu plików w klasycznym tego rozumieniu, składując

Bezpieczeństwo / sandboxing Współczesne mobilne systemy operacyjne często ukrywają zaś system plików przed użytkownikiem Klasyczny przykład ios: mamy tu do dyspozycji dość klasyczny system operacyjny typu POSIX, poszczególne aplikacje działają jednak w wydzielonych sandboxach nie ma możliwości wymiany informacji poprzez system plików (mozliwości wymiany poprzez mechanizm dzielenia danych istnieją, ale ograniczone) Nb. warto zwrócić uwagę iż właściwie

Bezpieczeństwo / sandboxing

Komunikacja międzyprocesowa Oczywiście system operacyjny zapewniać powinien mechanizmy komunikacji międzyprocesowej (co może być realizowane w różny sposób via system plików, binder, pamięć dzieloną etc.) ale z racji faktycznej jednozadaniowości na plan pierwszy wysuwają się mechanizmy dzielenia danych pomiędzy aplikacjami niedziałającymi współbieżnie. Właściwie to nic innego jak przekazywanie parametrów i schowek (clipboard) Może być to implementowane w bardziej (np.

Komunikacja międzyprocesowa

Zarządzanie energią Klasyczny system operacyjny oczywiście także musi zarządzań energią w szczególności zasilaniem urządzeń peryferyjnych. Główna różnica wynikać będzie ze scenariuszy użytkowania. Pytanie jaki jest naturalny stan pracy dla mobilnego i klasycznego systemu operacyjnego? Przykładowe tryby pracy: active, user idle, suspend, (off), (media playback) Oczywiście niezbędny jest system, dzięki któremu aplikacje userspace będą mogły poinformować system operacyjny iż

PM locks Jeśli dopuszczamy możliwość pracy (tj. działania aplikacji w trybie innym niż active to mechanizm PM locks może (powinień ) być dość Wake Lock Description rozbudowany. Np. (Android).: ACQUIRE_CAUSES_WAKEUP FULL_WAKE_LOCK ON_AFTER_RELEASE PARTIAL_WAKE_LOCK SCREEN_BRIGHT_WAKE_LOCK SCREEN_DIM_WAKE_LOCK Normally wake locks don't actually wake the device, they just cause it to remain on once it's already on. Think of the video player app as the normal behavior. Notifications that pop up and want the device to be on are the exception; use this flag to be like them. Wake lock that ensures that the screen and keyboard are on at full brightness. When this wake lock is released, poke the user activity timer so the screen stays on for a little longer. Wake lock that ensures that the CPU is running. The screen might not be on. Wake lock that ensures that the screen is on at full brightness; the keyboard backlight will be allowed to go off. Wake lock that ensures that the screen is on, but the keyboard backlight will be allowed to go off, and the screen backlight will be allowed to go dim. Dodatkowo jeszcze może być potrzebne kontrolowanie urządzeń zewnętrznych (np. WifiLock). Wreszcie co zrobić, jak już system został wyłączony a aplikacja powinna coś zrobić? Do tego też potrzebujemy usługi systemowej

Interfejs użytkownika Dla większości użytkowników jednak to nie funkcjonalne aspekty systemu operacyjnego będą miały znaczenie, a interfejs użytkownika. System operacyjny zapewnia tu sporo: Komponenty ( widgety ) Sposób budowania interfejsu ( layout management ) statyczny lub dynamiczny Mechanizm wyświetlania interfejsu ( compositing engine ) Standardowe elementy interfejsu użytkownika, współdzielone pomiędzy aplikacjami oraz należące do wbudowanych aplikacji systemu ( stock ) Pytanie oczywiście o to, czym jest standardowy komponent

Widgety & HIG & navigation patterns To w dużej mierze decyduje o postrzeganiu systemu operacyjnego jako spójnej całości choć w klasycznym rozumieniu nie jest nawet częścią systemu operacyjnego

Interfejs użytkownika Np.: http://gadgetsteria.com

Rynek mobilnych systemów operacyjnych 2012 90 s??? Penpoint SIBO (16bit) PSION / Teklogix EPOC ER3/ER5 Symbian (PSION / NOKIA) ios (Apple) NewtonO S PalmOS WebOS Android Maemo Meego Mer / Jolla Windows Mobile WP 7 / 7.5 BlackBerry OS to są tylko te najważniejsze WP 8 QNX BADA Tizen

Firmy i ekosystemy

Popularność, fragmentacja

Popularność, fragmentacja

Cdn.