Verkotettu multimedia. Ohjelmistoarkkitehtuuri. Mediavirtojen puskurointi. Multimedian vaikutukset. Selain-ohjelmistoarkkitehtuuri.

Samankaltaiset tiedostot
Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Mediavirtojen puskurointi. Multimedian vaikutukset. Selain-ohjelmistoarkkitehtuuri.

Ohjelmistoarkkitehtuuri

Verkotettu multimedia. Ohjelmistoarkkitehtuurin. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selainohjelmistoarkkitehtuuri

Ohjelmistoarkkitehtuurin

Verkotettu multimedia. Ohjelmistoarkkitehtuuri. Multimedian vaikutukset. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri. Mediavirtojen puskurointi

T Multimediatekniikka

Multimediajärjestelmät

Mediakonvergenssi. Multimediajärjestelmät. Päätelaitteet. Palvelujen jakelu. Päätelaitteet. Multimediatietokoneet

Multimediajärjestelmät

in condition monitoring

Multimediajärjestelmät. Johdanto Päätelaitteet Verkkoteknologiat Palvelut Yhteenveto

Multimediajärjestelmät. Mediakonvergenssi. Palvelujen jakelu. Päätelaitteet. Multimediatietokoneet. Päätelaitteet

Integrointi. Ohjelmistotekniikka kevät 2003

Sovellusarkkitehtuurit

!?)&/&8-"1)#)7#-2-> ! 2-77""8"'+'0%/+-1#""8"'+'0%2/&-1#""8"'+'0%#)&##-8- !?)&/&8-"1)#)17+'%#-7&> ! 1$4##;*""##4($0%7&8+**)70%2-*8+*)0%#&"'+'%1$4##$6$

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

Johdanto. Videoneuvottelu. Järjestelmät. Laitteisto. Monipisteneuvottelut. Ryhmäneuvottelut

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

Tietojärjestelmäarkkitehtuurit

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä

Johdanto. Mitä on multimedia Multimediajärjestelmät Palvelun laatu Synkronointi / orkestrointi Standardit Sovellukset Konvergenssi Arvoketju

Kaikki analogiset järjestelmät digitaalisiksi ja verkkokäyttöisiksi - jo tänään Kustannustekkuutta ja joustavuutta työskentelyyn

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

SAP. Lasse Metso


Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

HOJ J2EE & EJB & SOAP &...

Videoneuvottelu. Johdanto. Järjestelmät. Telepresensce. Laitteisto. Ryhmäneuvottelut

Rich Web Applications in Server-side Java without Plug-ins or JavaScript

Digitaalisen median tekniikat. JSP ja XML

HSMT J2EE & EJB & SOAP &...

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

TURVALLISEN TEKNIIKAN SEMINAARI Laitteiden etähallinta tietoverkkojen välityksellä Jani Järvinen, tuotepäällikkö

9. Muunneltavuuden hallinta

Videoneuvottelu. Johdanto Standardit Tuotteet Internet-puhelut CTI (Computer Telephony Integration) Petri Vuorimaa 1

MHP sovellusten synkronoituminen videokuvaan

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

Mitä on multimedia? Johdanto. Vuorovaikutus. Monta mediaa. Hypermedia. Aika

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Johdanto (luennon sisältö)

KODAK EIM & RIM VIParchive Ratkaisut

XML johdanto, uusimmat standardit ja kehitys

Interfacing Product Data Management System

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Johdanto. Multicast. Unicast. Broadcast. Protokollat. Multicast

S Teletekniikan perusteet

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta MBone

Siirtoformaatit. Johdanto. Yleistä. Sovellusalueet. Eri formaatit. Käyttötarkoitukset

XML, XHTML ja CSS. T Hypermediadokumentin laatiminen. Mikko Pohja

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

Telkkari tulee kännykkään. PacketVideo Finland Jarno Kallio

Käyttöjärjestelmät: prosessit

Digitaalinen Televisio

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

Käyttöliittymien uusi sukupolvi Logicalla Rondo-tuotteessa

Siirtoformaatit. Johdanto Sovellusalueet Vaatimukset Raita- ja oliomalli Reaaliaikainen tiedonsiirto Erilaiset siirtoformaatit Vertailu

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

MHP sovellusten synkronoituminen videokuvaan

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

Laiteriippumaton UI Ajaxilla ja Javalla

13. Luento: Esimerkki: Symbianympäristö. Tommi Mikkonen,

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Johdanto. Agenda. Tuotantoprosessi. Historiallinen kehitys. Konsepti. Tuotantoprosessin vaiheet

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas

W3C-teknologiat ja yhteensopivuus

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Mikä on internet, miten se toimii? Mauri Heinonen

Ohjelmistoarkkitehtuurit. Kevät

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Xlet

7. Palvelun laatu (QoS) Internetissä

7. Palvelun laatu (QoS) Internetissä

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

OSI ja Protokollapino

Agenda. Johdanto Ydin Resurssien hallinta Aktiiviset oliot Dynaaminen muisti Sovellusmalli Laajennokset Yhteenveto

3. Kuljetuskerros 3.1. Kuljetuspalvelu

Juha Peltomäki JAMK/Teknologia

Web-palveluiden toteutus älykortille

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Mac-tietokoneiden hallinta

Hohde Consulting 2004

Järjestelmäarkkitehtuuri (TK081702)

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Pikaintro käyttöjärjestelmiin

Visma Liikkuvan työn ratkaisut

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

6 XML-työkalut 1. 6 XML-työkalut

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

WWW-Sivustojen suunnittelu

Transkriptio:

Ohjelmistoarkkitehtuuri Verkotettu multimedia Johdanto Ohjelmointi + Selainohjelmistoarkkitehtuuri + Hajautetut ohjelmistot Ohjelmistoarkkitehtuurin toteutus + Palvelimet + Verkko + Päätelaitteet Java + JMF + MIDP + MHP XML + X-Smiles Käyttöjärjestelmät Käyttöliittymä Middleware Tietoliikenne Verkotetulla multimedialla tarkoitetaan multimedian sovelluksia ja palveluja, jotka on hajautettu verkkoon Esim. www-palvelut, digitaalinen televisio, WAP Petri Vuorimaa 1 Petri Vuorimaa 2 Multimedian vaikutukset Multimedia sisältää jatkuva-aikaisia mediaelementtejä, jotka on synkronoitu keskenään Media siirretään yleensä mediavirtoina (stream) Virrassa mediaelementin yksiköt (ääninäyte, videokuva ym.) pysyvät järjestyksessä Mediavirrat voidaan synkronoida + Sisäinen synkronointi: isochronous + Mediavirtojen välinen synkronointi: synchronous Mediavirtojen puskurointi Mediavirtoja ei voi koskaan täydellisesti synkronoida Tiedonsiirron viive vaihtelee eli esiintyy huojuntaa Ihminen havaitsee vähäisenkin huojunnan Huojuntaa voidaan vähentää puskuroinnilla Puskurointia tarvitaan useassa eri vaiheessa Petri Vuorimaa 3 Petri Vuorimaa 4 Ohjelmointi Hajautettu multimediajärjestelmä voidaan toteuttaa kahdella eri tavalla: + Asiakas / palvelin + Hajautettu ohjelmisto Selain-ohjelmistoarkkitehtuuri on tyypillinen esimerkki asiakas/palvelin -arkkitehtuurista Hajautettu ohjelmisto tarkoittaa tyypillisesti olioohjelman hajauttamista verkkoon Selain-ohjelmistoarkkitehtuuri Internet ohjelmistot perustuvat asiakas/palvelin - arkkitehtuuriin Tyypillinen asiakasohjelma on www-selain Tyypillinen palvelin on www-palvelin Lisäksi on myös muita palvelimia (tietokanta, video on demand, videoneuvottelu jne.) Lisäksi tarvitaan apupalvelimia (proxyt, hakemistot jne.) Petri Vuorimaa 5 Petri Vuorimaa 6 1

WWW-arkkitehtuuri Realmedia Selain HTTP CGI/ Perl/ Java Tietokanta Ohjauslogiikka SQL RTSP WWWpalvelin Video Realmedia on tyypillinen esimerkki asiakas / palvelin -arkkitehtuurista Järjestelmän avulla voi streamata eri medioita (ääni, video, grafiikka jne.) Järjestelmä koostuu tuotantotyökaluista, palvelimista, välipalvelimista ja asiakasohjelmista Asiakasohjelman perusversiot ovat ilmaisia, mutta muut maksullisia tuotteita Petri Vuorimaa 7 Petri Vuorimaa 8 Realmedia-arkkitehtuuri Hajautetut ohjelmistot Petri Vuorimaa 9 Oliopohjainen ohjelma voidaan hajauttaa usealle eri koneelle Olioiden pitää jotenkin löytää toisensa + Hakemistopalvelu Olioiden metodikutsut ja -vastaukset pitää välittää oikealle koneelle + Object Request Broker (ORB) Kaupallisia ratkaisuja ovat esim. OMG Corba, Microsoft DCOM &.NET sekä Java RMI & Jini Petri Vuorimaa 10 Corba-arkkitehtuuri Komponentit Dynamic invocation interface Client IDL stub ORB interface Dynamic skeleton interface ORB Core Object implementation IDL skeleton Object adapter Asiakas (client) ja hajautettu olio (object implementation) keskustelevat ORB:n välityksellä Rajapinnat on määritelty IDL-kielellä (Interface Desription Language) Normaalisti kutsutaan staattista tynkää (stub), joka välittää kutsun rungon (skeleton) kautta oliolle Toteutus voi olla myös dynaaminen Oliot rekisteröityvät sovittimen (adapter) avulla Petri Vuorimaa 11 Petri Vuorimaa 12 2

Ohjelmistoarkkitehtuurin toteutus Palvelimet Ohjelmistoarkkitehtuurin toteutusta voidaan tarkastella myös järjestelmän komponenttitasolla Multimedialla on vaikutusta sekä palvelimiin, verkkoon että päätelaitteisiin Tehokas toteutus vaatii lisäominaisuuksia ja jopa em. komponenttien täydellistä uudelleen suunnittelua Petri Vuorimaa 13 Palvelimet voidaan jakaa transaktio- (www, tietokanta) ja stream-palvelimiin (video) Transaktio-palvelimen tärkein ominaisuus on skaalattavuus Tarvittaessa tehtävä voidaan jakaa useammalle palvelimelle (replikointi) Videopalvelimissa korostuu reaaliaikaisuus Käytännössä tämä tarkoittaa tehtävien skedulointia Petri Vuorimaa 14 Levyskedulointi Oracle Video Server Video-on-demand -palvelimen kovalevyjen käyttö tulee miettiä tarkkaan Tavallinen tiedostopalvelin pyrkii optimoimaan hakuaikaa ja tilan käyttöä + tällöin haut suoritetaan reiluus-periaatteella Videopalvelimen on pidettävä puskurit sopivan täynnä + reaaliaikaiset skedulointi-algoritmit + tiedostojen järjestys Petri Vuorimaa 15 Petri Vuorimaa 16 Verkko Verkon pitää tukea multimedian siirtoa: + Quality of Service (QoS) + reaaliaikaiset mediavirrat + skaalattavuus Mediavirtoja varten on varattava tietyt resurssit + ATM QoS + IP Intergrated Services + IP Differentiated Services Verkko (jatk.) Verkkoprotokollien on tuettava reaaliaikaisia mediavirtoja + esim. IP Real-Time Protocol (RTP), Real-Time Control Protocol (RTCP) ja Real-Time Streaming Protocol (RTSP) Lisäksi verkon on tuettavia useita yhtäaikaisia käyttäjiä + esim. IP Multicast Petri Vuorimaa 17 Petri Vuorimaa 18 3

Päätelaitteet Päätelaitteen suurin ongelma on rajalliset resurssit: + Prosessoriaika, muisti ja tietoliikenneyhteydet Nykyiset päätelaitteiden käyttöjärjestelmät tukevat vuorovaikutteisia käyttöliittymiä Multimedian tuki on heikompi Reaaliaikaiset käyttöjärjestelmät sopivat paremmin multimedialle Mediavirran käsittelyvaiheet Pakettien vastaanotto Verkkoajurit IP/UDP -protokollat Reaaliaikaiset siirtoprotokollat Koodekki Audio, video ym. ajurit Toisto Petri Vuorimaa 19 Petri Vuorimaa 20 Käyttäjän vuorovaikutus Päätelaite myös seuraa käyttäjän toimenpiteitä + Näppäimistö + Hiiri + Jne. Laitteet aiheuttavat keskeytyksiä Keskeytykset voivat helposti ruuhkautua verkkokeskeytysten ym. kanssa Ohjelmistoarkkitehtuuri Päätelaitteen ohjelmistoarkkitehtuuri voidaan toteuttaa monella eri tavalla + Käyttöjärjestelmä + ajurit + ikkunointi + Selain + Plug-In soittimet + Java + XML-selain Petri Vuorimaa 21 Petri Vuorimaa 22 Käyttöjärjestelmä Selain Soittimet Sovellus Koodekit Mediaprotokollat Selain Java-tulkki ActiveX Ikkunointi Näyttöajurit Käyttöjärjestelmän ydin IP-protokollat Verkkoajurit JavaScript Tyylisivut HTML PlugIns RealMedia VRML Näyttö Laitteisto Verkkokortti Käyttöjärjestelmä Petri Vuorimaa 23 Petri Vuorimaa 24 4

Java Päätelaitteiden konfiguraatiot Personal Computer Java Media Framework Java 2 Platform Standard Edition (J2SE) Digital Television Receiver Multimedia Home Platform (MHP) + JMF 1.0 API & DVB API JDK 1.1.8 Communicator Optional Packages Personal Basis Foundation CDC Mobile Phones Mobile Media API Mobile Information Device Profile (MIDP) CLDC Connected Limited Device Configuration (CLDC) + Hidas prosessori (16/32 bit, 25 MHz) + Vähän muistia (min 192 KB) Connected Device Configuration (CDC) + Nopeampi prosessori (32 bit) + Enemmän muistia (min 2 MB) JVM JVM CVM KVM Operating System Petri Vuorimaa 25 Petri Vuorimaa 26 Java Media Framework JMF Tilakaavio JMF mahdollistaa multimedian Java-sovelluksissa Reaaliaikaiset verkkoprotokollat Multipleksaus Koodekit Toistimet (renderer) Efektit Kaappaus Kontrolli unrealize() deallocate() stop() Unrealized realize() Realizing Realized prefetch() Prefetching Prefetched start() Starting Started Realize Complete Event Prefetch Complete Event Stop Event Petri Vuorimaa 27 Petri Vuorimaa 28 Java MIDP Mobile Information Device Profile (MIDP) Tarkoitettu pienitehoisille kulutuslaitteille + matkapuhelimet ym. Koostuu Java-virtuaalikoneesta ja joukosta ohjelmointirajapintoja (API) Viimeisin versio 2.0 MIDP vaatimukset Minimivaatimukset ovat: + Näyttö 96x54, 1 bit (mv) + 256 KB muistia MIDP-toteutukselle + 8 KB sovellusmuistia + Kaksisuuntainen verkkoyhteys + Audio Petri Vuorimaa 29 Petri Vuorimaa 30 5

MIDP-ohjelmointirajapinnat Peruspaketit (java.lang & java.util) Verkko (javax.microedition.io) Sovellusten elinkaari (javax.microedition.midlet) Datan tallennus (javax.microedition.rms) Käyttöliittymä (javax.microedition.lcdui & javax.microedition.lcdui.game) Sertifikaatit (javax.microedition.pki) Multimedia (java.microedition.media & javax.microedition.media.control) Petri Vuorimaa 31 MIDP-käyttöliittymät MIDlet 1 * Alert List TextBox Form Item Choice Group 1 1 1 * Display Displayable High-Level API Data Field Screen Gauge Low-Level API Image Item String Item Canvas Text Field Petri Vuorimaa 32 Laajennukset Java BluetoothAPI (JSR-82) Java Wireless Messaging API (JSR-120) Java Mobile Media API (JSR-135) Nokia UI API Petri Vuorimaa 33 Mobile Multimedia API Mobile Media (MMAPI) version 1.0 + java.sun.com/products/mmapi Audion, videon ym. jatkuva-aikaisen median tutkia MIPD:hen Alusta riippumaton ohut Java kerros Eri asia kuin JMF Valinnainen paketti MIDP 2.0 sisältää vain audio-osuuden MMAPI:sta Petri Vuorimaa 34 Multimedia Home Platform Application Manager Yksi esimerkki Java-ympäristöistä on digitaalisen television Multimedia Home Platform (MHP) Ympäristö koostuu joukosta Java, JMF, TV, verkko, ym. ohjelmointirajapintoja (API) Sovelluksia kutsutaan nimellä Xlet Xlettejä lähetetään lähetysverkon kautta Data välitetään ns. data- ja objektikarusellin kautta ApplicationManager ohjaa sovelluksia Application manager Set-top box resources caching AIT + code Properties XletContext Object/Data carousel Properties Signal state changes Xlet Petri Vuorimaa 35 Petri Vuorimaa 36 6

XML Merkintäkielien määrittelyyn tarkoitettu metakieli + XML-kieliä voidaan käyttää joko sisällön prosessointiin tai esittämiseen Prosessoinnilla tarkoitetaan esim. XMLmuotoisen sisällön hakua tai suodatusta Esittämisellä tarkoitetaan XML-muotoisen sisällön esittämistä päätelaitteessa Usein käytetään myös Cascading Style Sheets (CSS) -tyylisivuja ja ECMAScript-kieltä Petri Vuorimaa 39 Tärkeimmät prosessointikielet extensible Stylesheet Language Transformations (XSLT) XML datan transformaatiot XML Schema - Datamalli XPath Elementteihin viittaus Petri Vuorimaa 40 Tärkeimmät esityskielet XSL Formatting Objects (XSL FO) Formatointi extensible HyperText Markup Language (XHTML) HTML 4.01 XML muodossa SynchronizedMultimedia Integration Language (SMIL) Synkronoitu multimediakieli Scalable Vector Graphics (SVG) - Vektorigrafiikka X3D 3D grafiikka VoiceXML Puheohjaus Petri Vuorimaa 41 XML-datan käsittely XML-tiedoston parsiminen XSL-tyylisivun parsiminen XML-datan muunnos XSL-tyylisivun mukaisesti Document Object Model (DOM) -tietorakenne Käynnistysaikaisten skriptien suorittaminen Esityskielen asemointimallin rakentaminen Esityskielen renderöinti Tapahtumankäsittely -skriptien suoritus Petri Vuorimaa 42 7

Tärkeimmät XML-komponentit XML-parseri XSL-muunnokset DOM-rajapinta ECMAScript-tulkki XPath-prosessori XML Schema -prosessori CSS asemointi X-Smiles historia X-Smilesin kehitys aloitettiin opiskelijoiden ohjelmistoprojektina 1998 Myöhemmin kehitystyötä on jatkettu tutkimushankkeissa + GO + XML Devices Julkaistu avoimena ohjelmakoodina 2001 + www.x-smiles.org Petri Vuorimaa 43 Petri Vuorimaa 44 X-Smiles arkkitehtuuri Käyttöjärjestelmät GUI Desktop PDA DigiTV Mobile MLFC Specific GUI MLFC Source XSL XHTML SMIL SVG XForms Voice- & tree FO XML ECMAScript Interpreter Browser Core ECMAScript XML Broker Handler Event Broker General Browser Functionality Configuration DOM Interface XML Processing Nykyisissä ohjelmistoarkkitehtuureissa käyttöjärjestelmällä on tärkeä rooli Suuri osa median käsittelystä tehdään käyttöjärjestelmäkutsuilla Sovellus toimii koordinaattorilla Datan kopiointi sovelluksen ja käyttöjärjestelmän välillä on ongelma Käyttöjärjestelmä hallitsee resursseja huonosti XML Parser XSL Transformer Petri Vuorimaa 45 Petri Vuorimaa 46 SymbianOS Reaaliaikaiset käyttöjärjestelmät Application engines Phone book, calendar, photo album, notepad, to-do, pinboard Application framework GUI framework (Avkon, standard Eikon, Uikon) application launching, and graphics Multimedia Images, sounds, graphics Security Cryptography, software Installed applications Games, self-developed applications, utility software Base User librarym kernel, device drivers Messaging SMS, MMS, e-mail, fax Personal area networking Bluetooth, infrared Communication infrastructure TCP/IP stack, WAP stack Telephony HSCSD, GPRS MIDP Java KVM Pieni koko: ylimääräiset ominaisuudet on karsittu Keskeytysten käsittely: ruuhkautuminen estetty Reaaliaikainen skedulointi : suorituksen ajoitus Tehokas muistinhallinta: jaettu muistialue Nopea viestinvälitys: eri tasojen välinen kommunikointi on optimoitu Resurssien varaus: tehtävää ei oteta suoritettavaksi, jos sitä ei pystytä tekemään Petri Vuorimaa 47 Petri Vuorimaa 48 8

Microkernel Käyttöjärjestelmästä saadaan kompaktimpi karsimalla siitä kaikki turhat ominaisuudet + ikkunointi, hajautetut tiedostojärjestelmät ym. Yksi ratkaisu on ns. Microkernel + käyttöjärjestelmän ydin (kernel ) on tehty mahdollisimman pieneksi ja reaaliaikaiseksi + muut ominaisuudet toteutetaan käyttäjäprosesseina + haluttu kokoonpano voidaan kasata eri moduleista Petri Vuorimaa 49 Sulautettu Linux Linux on kiinnostava vaihtoehto myös sulautetuissa päätelaitteissa Ylimääräiset ominaisuudet (esim. X-ikkunointi voidaan karsia pois) ja koko saadaan pieneksi Reaaliaikaisuuden toteuttaminen ytimeen (kernel) on erittäin vaikeaa, mutta ei aina välttämätöntä Esim. digiboksissa laitteisto vastaa videon ja audion käsittelyssä - vuorovaikutteisuus hoidetaan softalla Petri Vuorimaa 50 9